Prepare independent successor playtest with spawn recovery and casualty feedback

This commit is contained in:
2026-09-19 22:12:52 +02:00
parent 61e165ef5b
commit 6cf989a060
266 changed files with 134064 additions and 154 deletions
+4 -1
View File
@@ -31,7 +31,8 @@ struct Life {bool UsedLife=false;};
struct Roster {bool enter=true;Life life;bool CanEnter(int,int){return enter;}Life* Get(int){return &life;}};
struct Catalog {int PrisonerPrefab=1;};
struct Faction {} faction;
struct Mode {bool active=true;int phase=1;Text error;Roster roster;Catalog catalog;Faction* factionPtr=&faction;
struct Controller;
struct Mode {int exhausted=0;void InitialAdmissionExhausted(int,Controller*){exhausted++;}bool active=true;int phase=1;Text error;Roster roster;Catalog catalog;Faction* factionPtr=&faction;
static Mode* current;static Mode* Get(){return current;}bool Active(){return active;}int Phase(){return phase;}
Text PreparationError(){return error;}Roster* Players(){return &roster;}Catalog* Factions(){return &catalog;}Faction* PlayerFaction(){return factionPtr;}};
Mode* Mode::current=nullptr;
@@ -80,7 +81,9 @@ int main(){
assert(!logic.m_Pending.Contains(1)&&!logic.m_AuthorizedPositions.Contains(1));
assert(!mode.roster.life.UsedLife);
}
int previousExhausted=mode.exhausted;
logic.DoSpawn_S(1);
assert(mode.exhausted==previousExhausted+1);
assert(logic.observations==1&&logic.reason==Reason::SPAWN_UNAVAILABLE&&logic.retries==30&&logic.observedBudget==30);
logic.DoSpawn_S(1);assert(logic.observations==1); // removed attempt record
assert(!mode.roster.life.UsedLife);mode.factionPtr=&faction;