public static async Task ActAsync(TargetSpaceCtx ctx) { // 2 damage. int damage = 2; // defend 8. int defend = 8; bool hasBonus = await ctx.YouHave("2 earth,2 plant"); if (hasBonus) { // +2 damage. damage += 2; // +2 defend. defend += 2; } await ctx.DamageInvaders(damage); ctx.Defend(defend); // add 1 wilds. await ctx.Wilds.Add(1); // isolate target land ctx.Isolate(); // if you have 2 earth, 2 plant: if (hasBonus) { // Add 1 badland. await ctx.Badlands.Add(1); } }
public static async Task ActAsync(TargetSpaceCtx ctx) { // 1 fear. ctx.AddFear(1); // 2 damamge. await ctx.DamageInvaders(2); // Isolate target land. ctx.Isolate(); // After invaders / dahan are Moved into target land, Destroy them. ctx.GameState.Tokens.TokenAdded.ForRound.Add(async(args) => { if (args.Space == ctx.Space && args.Token.Class.IsOneOf(Invader.Explorer, Invader.Town, Invader.City, TokenType.Dahan) ) { await args.GameState.Tokens[args.Space].Destroy(args.Token, args.Count); } }); // if you have 2 moon, 4 water, 2 earth: if (await ctx.YouHave("2 moon,4 water,2 earth")) { // +4 damamge, await ctx.DamageInvaders(4); // Add 1 badland. await ctx.Badlands.Add(1); // Add 1 wilds await ctx.Wilds.Add(1); } }
static public async Task ActAsync(TargetSpaceCtx ctx) { // Gather or Push 1 Explorer. await ctx.SelectActionOption(Cmd.GatherUpToNExplorers(1), Cmd.PushUpToNExplorers(1)); // Isolate target land. ctx.Isolate(); }
static public Task ActAsync(TargetSpaceCtx ctx) { // Isolate target land. ctx.Isolate(); // Each Invader does -1 Damage. ctx.ModifyRavage(cfg => cfg.DamageFromAttacker = (attacker) => attacker.FullHealth + (attacker.Class.Category == TokenCategory.Invader ? -1 : 0)); return(Task.CompletedTask); }
static public Task ActAsync(TargetSpaceCtx ctx) { // 2 fear if Invaders are present. if (ctx.HasInvaders) { ctx.AddFear(2); } // Isolate target land. ctx.Isolate(); return(Task.CompletedTask); }
static public async Task ActAsync(TargetSpaceCtx ctx) { // Gather up to 1 Blight await ctx.GatherUpTo(1, TokenType.Blight); // Isolate target land. ctx.Isolate(); // When blight is added to target land, it doesn't cascade. ctx.GameState.ModifyBlightAddedEffect.ForRound.Add(x => { if (x.Space == ctx.Space) { x.Cascade = false; } }); }
public static async Task ActAsync(TargetSpaceCtx ctx) { // Gather 5 town, 5 dahan, 5 beast, and 15 explorer. await ctx.Gatherer .AddGroup(5, Invader.Town) .AddGroup(5, TokenType.Dahan) .AddGroup(5, TokenType.Beast) .AddGroup(15, Invader.Explorer) .GatherN(); // if you have 2 sun, 3 air, 2 plant: if (await ctx.YouHave("2 sun,3 air,2 plant")) { // invaders skip all actions in target land. ctx.SkipAllInvaderActions(); // Isolate target land. ctx.Isolate(); } }