Separate radio defence and harden player and objective lifecycles

This commit is contained in:
2026-09-19 05:33:36 +02:00
parent e5857b6ddf
commit 16f397e581
237 changed files with 29087 additions and 202 deletions
+2 -12
View File
@@ -230,14 +230,14 @@ modded class ERR_GameMode
}
else if (m_ERRSmokeStep == 4)
{
if (!ERR_Check(m_DefenceSince >= 0, "occupied defence timer running")) return;
if (!ERR_Check(DefenceOccupied(), "occupied defence timer running")) return;
ERR_MovePlayer(m_ERRSmokeRadio.Position() + "90 0 0");
m_ERRSmokeStep = 5;
m_ERRSmokeWait = now + 2500;
}
else if (m_ERRSmokeStep == 5)
{
if (!ERR_Check(m_DefenceSince < 0 && Phase() == ERR_Phase.RADIO_DEFENCE, "leaving area resets defence")) return;
if (!ERR_Check(!DefenceOccupied() && Phase() == ERR_Phase.RADIO_DEFENCE, "leaving area resets defence")) return;
ERR_MovePlayer(m_ERRSmokeRadio.Position() + "2 0 0");
m_ERRSmokeStep = 6;
m_ERRSmokeWait = now + 33000;
@@ -358,14 +358,4 @@ modded class ERR_GameMode
}
}
}
// Diagnose inherited teardown failures without changing their behavior.
modded class SCR_BaseItemSupportStationComponent
{
override void OnDelete(IEntity owner)
{
if (owner && !m_EntityCatalogManager)
PrintFormat("ERR TEARDOWN: uninitialized item support station on %1", owner);
super.OnDelete(owner);
}
}
#endif