static public Task ActionAsync(TargetSpaceCtx ctx) { return(ctx.SelectActionOption( new SpaceAction("Push 1 town", ctx => ctx.Push(1, Invader.Town)).Matches(x => x.Tokens.Has(Invader.Town)), new SpaceAction("Push 3 dahan", ctx => ctx.PushDahan(3)).Matches(x => x.Dahan.Any) )); }
static public async Task ActAsync(TargetSpaceCtx ctx) { // For each adjacent land with your presence, 1 Damage to a different Invader. int count = ctx.Space.Adjacent.Count(s => ctx.Target(s).Presence.IsHere); await ctx.Apply1DamageToDifferentInvaders(count); // Push 2 dahan await ctx.PushDahan(2); }
static public async Task ActAsync(TargetSpaceCtx ctx) { // push 2 dahan await ctx.PushDahan(2); await ctx.SelectActionOption( new SpaceAction("2 Damage per wilds", ctx => ctx.DamageInvaders(2 * ctx.Wilds)).Matches(x => ctx.Tokens.Wilds.Any), new SpaceAction("Add 1 wilds", ctx => ctx.Wilds.Add(1)) ); }
static public async Task ActAsync(TargetSpaceCtx ctx) { // Add 1 strife await ctx.AddStrife(); // Push 1 dahan await ctx.PushDahan(1); // Each remaining Dahan take 1 damage await ctx.Apply1DamageToEachDahan(); }
static public async Task ActAsync(TargetSpaceCtx ctx) { // 1 fear ctx.AddFear(1); // destroy 1 town await ctx.Invaders.Destroy(1, Invader.Town); // push 1 dahan await ctx.PushDahan(1); }
public static async Task ActAsync(TargetSpaceCtx ctx) { // add 1 badland. await ctx.Badlands.Add(1); // Push all dahan. await ctx.PushDahan(ctx.Dahan.Count); // 1 damage to each invader. // if the original land is your sacredsite, +1 Damage to each invader int damageToEach = ctx.Presence.IsSelfSacredSite ? 2: 1; // !!! not correct if they use a range extender await ctx.DamageEachInvader(damageToEach); // if you have 2 sun 3 fire 3 earh: Repeat this power }