Improve AI garrisons, player recovery and mission administration

This commit is contained in:
2026-09-24 22:12:45 +02:00
parent 1b1a8b5173
commit 2551d171b3
115 changed files with 3622 additions and 547 deletions
+4 -4
View File
@@ -237,13 +237,13 @@ int main(){
assert(!merged.IngestBody(&body,4002)&&merged.ConfirmedLosses()==4); // replay or different observer
status.MessageId=3;status.ObservedAt=5000;assert(merged.Ingest(&status,5000)&&known->Closed);
assert(!merged.RequestDue("patrol-1",999999));
assert(merged.IdentifiedBodies()==4&&merged.Aggression()==1&&merged.HunterTarget()==1);
assert(merged.IdentifiedBodies()==4&&merged.Aggression()==1&&merged.HunterTarget()==4);
for(int bodies=0;bodies<=300;bodies++){
assert(ERR_HQWatchRules::Aggression(bodies)==std::min(30,bodies/3));
assert(ERR_HQWatchRules::Hunters(ERR_HQWatchRules::Aggression(bodies))==std::min(15,(bodies/3+1)/2));
assert(ERR_HQWatchRules::Hunters(ERR_HQWatchRules::Aggression(bodies))==3+(std::min(30,bodies/3)*12+29)/30);
}
assert(ERR_HQWatchRules::Aggression(-10)==0&&ERR_HQWatchRules::Hunters(-10)==0);
merged.Clear();assert(merged.IdentifiedBodies()==0&&merged.HunterTarget()==0);
assert(ERR_HQWatchRules::Aggression(-10)==0&&ERR_HQWatchRules::Hunters(-10)==3);
merged.Clear();assert(merged.IdentifiedBodies()==0&&merged.HunterTarget()==3);
// Exercise the actual HQ delivered-intake method and actual Report.Snapshot, including corpse deletion.
HQDelivery intake;ERR_HQReport local;local.CasualtySourceId="deleted-during-uplink";
local.CasualtyStrength=1;local.CasualtySlot=0;local.Target=&local;local.MessageId=501;