Add configurable anonymous site markers and record Workshop 117
continuous-integration/drone/push Build is passing
continuous-integration/drone/push Build is passing
This commit is contained in:
@@ -26,7 +26,7 @@ template<class T> struct Array:std::vector<T>{void Insert(T v){this->push_back(v
|
||||
template<class T> struct Set:std::set<T>{bool Contains(T v){return this->count(v);}void Insert(T v){this->insert(v);}int Count(){return this->size();}};
|
||||
namespace Replication { bool server=true; bool IsServer(){return server;} }
|
||||
struct Number {int n;string ToString(){return std::to_string(n);}};
|
||||
struct Settings {Number Get(string key){return {key=="aiIntelChancePercent"?60:15};}};
|
||||
struct Settings {Number Get(string key){return {key=="aiIntelChancePercent"?60:(key=="showAllSites"?0:15)};}};
|
||||
struct Intel {int starts=0;bool canStart=true;bool BeginReroll(){starts++;return canStart;}string RerollStatus(){return "batch status";}};
|
||||
struct Journal {int Sequence(){return 0;}void Read(int,Array<string>&,int&) {}};
|
||||
struct HQ {struct Journal journal;static HQ* Cast(HQ* h){return h;}string Status(){return "hq";}struct Journal* Journal(){return &journal;}};
|
||||
@@ -40,7 +40,7 @@ struct Ledger {Set<IEntity> m_Spent;
|
||||
};
|
||||
int main(){
|
||||
Admin admin;Mode mode;Array<string> replies;Intel intel;mode.intel=&intel;
|
||||
assert(admin.Extension(&mode,"intel show",replies));assert(replies.size()==2&&replies[0]=="aiIntelChancePercent=60"&&replies[1]=="intelRevealChancePercent=15"&&intel.starts==0);
|
||||
assert(admin.Extension(&mode,"intel show",replies));assert(replies.size()==3&&replies[0]=="aiIntelChancePercent=60"&&replies[1]=="showAllSites=0"&&replies[2]=="intelRevealChancePercent=15"&&intel.starts==0);
|
||||
replies.clear();assert(admin.Extension(&mode,"intel reroll show",replies));assert(intel.starts==0&&replies.size()==1&&replies[0]=="batch status");
|
||||
replies.clear();assert(admin.Extension(&mode,"intel reroll",replies));assert(intel.starts==1&&replies.size()==1);
|
||||
intel.canStart=false;replies.clear();assert(admin.Extension(&mode,"intel reroll",replies));assert(intel.starts==2&&replies.size()==2&&replies[1]=="batch status");
|
||||
|
||||
Reference in New Issue
Block a user