Add anger-scaled Sarka hunter waves every ten minutes

This commit is contained in:
2026-10-16 16:36:38 +02:00
parent ae9aaafaae
commit a66aca35bf
14 changed files with 332 additions and 20 deletions
+3 -3
View File
@@ -27,7 +27,7 @@ template<class... T>string Format(string s,T...){return s;}
struct ERR_HQWatchEntry{bool Closed=false;int Fit=3;float ObservedAt=-1;};
struct Watch{std::map<string,ERR_HQWatchEntry*> entries;ERR_HQWatchEntry* Find(string s){return entries[s];}};
struct ERR_HQ{struct Watch watch;struct Watch* Watch(){return &watch;}static void Event(string,string){}};
struct ERR_HunterVehicle{bool Motorbike=false,ReserveCovered=false,Released=false;float LaunchedAt=0;string Source;};
struct ERR_HunterVehicle{bool Motorbike=false,Sarka=false,ReserveCovered=false,Released=false;float LaunchedAt=0;string Source;};
struct ERR_HunterFleetRules{
'''+rules+r'''
};
@@ -52,8 +52,8 @@ int main(){
assert(!ERR_HunterFleetRules::ReserveDue(4,3,1,0,960000,959999));
assert(ERR_HunterFleetRules::ReserveDue(4,3,1,1,960000,960000));
Service s;ERR_HQ hq;ERR_HunterVehicle a,b,c,bike;a.Source="a";b.Source="b";c.Source="c";
bike.Source="bike";bike.Motorbike=true;s.m_Hunters={&a,&b,&c,&bike};
Service s;ERR_HQ hq;ERR_HunterVehicle a,b,c,bike,sarka;a.Source="a";b.Source="b";c.Source="c";
bike.Source="bike";bike.Motorbike=true;sarka.Sarka=true;sarka.Source="sarka";s.m_Hunters={&sarka,&a,&b,&c,&bike};assert(s.Deployed()==3);
a.Released=true;assert(s.AvailableToHQ(&hq,100)==3); // physical loss alone reveals nothing
assert(!s.ReserveSource(&hq,479999));
assert(s.ReserveSource(&hq,480000)==&a); // absence of a first check-in has a bounded deadline