Minor fixes to CScriptDoor

This commit is contained in:
Phillip Stephens 2018-05-19 14:14:37 -07:00
parent 5f03362149
commit d2c2af326d
2 changed files with 8 additions and 2 deletions

View File

@ -97,7 +97,7 @@ void CScriptDoor::AcceptScriptMsg(EScriptObjectMessage msg, TUniqueId uid, CStat
{ {
if (TCastToPtr<CScriptDoor> door = mgr.ObjectById(x27c_partner1)) if (TCastToPtr<CScriptDoor> door = mgr.ObjectById(x27c_partner1))
{ {
if (x2a8_26_isOpen) if (!x2a8_26_isOpen)
return; return;
x2a8_30_doClose = true; x2a8_30_doClose = true;
mgr.SendScriptMsg(door, GetUniqueId(), EScriptObjectMessage::Close); mgr.SendScriptMsg(door, GetUniqueId(), EScriptObjectMessage::Close);
@ -147,7 +147,10 @@ void CScriptDoor::AcceptScriptMsg(EScriptObjectMessage msg, TUniqueId uid, CStat
{ {
TUniqueId dock = mgr.GetIdForScript(conn.x8_objId); TUniqueId dock = mgr.GetIdForScript(conn.x8_objId);
if (TCastToConstPtr<CScriptDock> d = mgr.GetObjectById(dock)) if (TCastToConstPtr<CScriptDock> d = mgr.GetObjectById(dock))
{
x282_dockId = d->GetUniqueId(); x282_dockId = d->GetUniqueId();
break;
}
} }
} }
break; break;
@ -335,6 +338,9 @@ u32 CScriptDoor::GetDoorOpenCondition(CStateManager& mgr)
if (destArea < 0 || destArea >= mgr.GetWorld()->GetNumAreas()) if (destArea < 0 || destArea >= mgr.GetWorld()->GetNumAreas())
return 0; return 0;
if (!mgr.GetWorld()->GetAreaAlways(destArea)->IsPostConstructed())
return 1;
if (!mgr.GetWorld()->AreSkyNeedsMet()) if (!mgr.GetWorld()->AreSkyNeedsMet())
return 1; return 1;

2
amuse

@ -1 +1 @@
Subproject commit 1fefba66e7fc96cb6fc1b1b014c365da2e0b7a43 Subproject commit 594fb346e1ffd25f7d387f42716cd77202460c30