Prepare independent successor playtest with spawn recovery and casualty feedback
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user