public static async Task ActAsync(SelfCtx ctx) { // Your presence may count as badlands and beast. int PresenceAsToken(GameState _, Space space) => ctx.Self.Presence.CountOn(space); ctx.GameState.Tokens.RegisterDynamic(PresenceAsToken, TokenType.Badlands, false); ctx.GameState.Tokens.RegisterDynamic(PresenceAsToken, TokenType.Beast, false); // (Decide per presence, per action) ... Not doing this bit exactly, both are always present, but can't be destroyed. // your presence cannot move. // !!! not implemented // if you have 2 plant 3 animal: if (await ctx.YouHave("2 plant,3 animal")) { // 2 fear and ctx.AddFear(2); // 2 damamge in one of your lands. var space = await ctx.Decision(new Select.Space("2 damage", ctx.Self.Presence.Spaces, Present.Always)); if (space != null) { await ctx.Target(space).DamageInvaders(2); } } }
static public async Task Option1(SelfCtx ctx) { // 3 fear ctx.AddFear(3); // Gain 1 energy var spirit = ctx.Self; spirit.Energy++; // Reclaim up to 1 power card from play or your discard pile var cards = spirit.InPlay.Union(spirit.DiscardPile).ToArray(); if (cards.Length == 0) { return; } var card = await spirit.SelectPowerCard("Reclaim card", cards, CardUse.Reclaim, Present.Always); spirit.Reclaim(card); // reclaim it now }