static public async Task ActAsync(TargetSpaceCtx ctx) { await ctx.Gather(1, Invader.Explorer); await ctx.Gather(1, Invader.Town); await ctx.AddStrife(); }
static public async Task ActAsymc(TargetSpaceCtx ctx) { // 1 fear if invaders are present. if (ctx.HasInvaders) { ctx.AddFear(1); } var beastSources = ctx.Adjacent.Where(s => ctx.Target(s).Beasts.Any).ToArray(); // If you can gather 1 beast, if (beastSources.Length > 0) { // do so, await ctx.Gather(1, TokenType.Beast); // then push 1 explorer. await ctx.Push(1, Invader.Explorer); } else { // othersie, add 1 beast await ctx.Beasts.Add(1); } }
static public async Task ActAsync(TargetSpaceCtx ctx) { // You may Gather 1 dahan await ctx.GatherUpToNDahan(1); // If the Terro Level is 2 or lower if (ctx.GameState.Fear.TerrorLevel <= 2) { // Gather 1 town await ctx.Gather(1, Invader.Town); // And the first ravage in target land becomes a build there instead. FirstRavageBecomesABuild(ctx); } }