Files
jakub 6a667d8deb Capture current mission, AI, map and administration development
Include the current addon, terrain integrations, tools, regression tests and recorded development evidence.
2026-10-13 22:52:53 +02:00

31 lines
1.9 KiB
Diff

--- a/addons/core/Scripts/Game/ERR/10_AI/ERR_HQ.c
+++ b/addons/core/Scripts/Game/ERR/10_AI/ERR_HQ.c
@@ -628,7 +628,7 @@
// Logistics owners retain their exact tokens until their own submitted
// inventory operations settle. Removing that quarantine here is unsafe.
if (unit.PendingConvoyOrder) unit.CancelPending();
- ReleaseRecovery(group);
+ unit.ReservedForSupport = false;
return true;
}
return false;
--- a/tests/test_convoy_survivors.py
+++ b/tests/test_convoy_survivors.py
@@ -24,7 +24,6 @@
# On the baseline the new helper is absent and never called; execute the old
# release methods unchanged so the red control fails a gameplay assertion.
retain=translate(body(hq,'bool ReleaseConvoySurvivors(')) if 'bool ReleaseConvoySurvivors(' in hq.read_text() else 'bool ReleaseConvoySurvivors(SCR_AIGroup*){return false;}'
-recovery=translate(body(ROOT/'addons/core/Scripts/Game/ERR/10_AI/ERR_BodyRecovery.c','void ReleaseRecovery('))
claims=translate(body(hq,'void ReleaseLogistics('))
eligible=translate(body(hq,'bool Eligible(ERR_GameMode mode)')).replace('bool survivor;','bool survivor=false;')
vehicle=translate(body(ai/'ERR_ConvoyService.c','void Release(ERR_GameMode mode)'))
@@ -54,7 +53,7 @@
};
struct ERR_HQ{bool m_Stopping=false;ERR_GameMode*m_Mode=nullptr;Array<ERR_HQUnit*>m_Units;int unregistrations=0,registrations=0,equipmentStops=0;
void UnregisterGroup(SCR_AIGroup*g){unregistrations++;equipmentStops++;for(auto u:m_Units)if(u->Group==g){u->Group=nullptr;u->Utility=nullptr;u->reports=false;}}
-'''+recovery+claims+retain+r'''
+'''+claims+retain+r'''
};
struct VehicleOwner{bool Released=false,Registered=true;void*InterceptOrder=nullptr;SCR_AIGroup*Group=nullptr;void*Entity=this;struct{bool Held=true;}Combat;int SupplyToken=101;bool SupplyHeld=true;int clears=0,intercepts=0;
void ClearIntercept(void*){intercepts++;}void ClearOrder(){clears++;}