Exemplo n.º 1
0
    static public async Task ActAsync(TargetSpaceCtx ctx)
    {
        await ctx.Gather(1, Invader.Explorer);

        await ctx.Gather(1, Invader.Town);

        await ctx.AddStrife();
    }
Exemplo n.º 2
0
    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);
        }
    }
Exemplo n.º 3
0
    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);
        }
    }