Example #1
0
 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)
                ));
 }
Example #2
0
    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);
    }
Example #3
0
    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
    }