Harden participant and map ownership and validate bounded physical flight

This commit is contained in:
2026-09-19 12:17:01 +02:00
parent dfd7cc49e2
commit 4125018d04
120 changed files with 20043 additions and 47 deletions
@@ -166,6 +166,9 @@ class ERR_MortarReadiness
}
if (m_Battery.CountShells() != 27) return ERR_MortarSupplyState.PENDING;
m_Ready = true;
// One physical-ready handoff: HQ already owns/reserves this group, while
// Intel must see its actual late-spawned members after finite stock settles.
mode.RegisterGroup(group);
group.ActivateAI();
foreach (AIAgent readyAgent : agents)
{
@@ -55,7 +55,10 @@ class ERR_MortarSystem
m_Batteries.Insert(battery);
ERR_GameMode mode = ERR_GameMode.Get();
mode.Own(gun);
mode.RegisterGroup(group);
// HQ owns/reserves the finite asset immediately. Publish its physical
// membership to companion consumers only after readiness has completed.
mode.Own(group);
m_HQ.RegisterGroup(group);
m_HQ.ReserveGroup(group);
battery.Audit("DEPLOY", "authored gun and four-person crew; finite ammunition initialization pending");
return true;