Exemplo n.º 1
0
 public override async Task DestroyPresenceApi(SpiritPresence presence, Space space, GameState gs, DestoryPresenceCause actionType)
 {
     if (actionType != DestoryPresenceCause.SpiritPower)
     {
         await gs.Tokens[space].Disease.Add(1);
     }
     await base.DestroyPresenceApi(presence, space, gs, actionType);
 }
Exemplo n.º 2
0
        public override async Task DestroyPresenceApi(SpiritPresence presence, Space space, GameState gs, DestoryPresenceCause actionType)
        {
            await base.DestroyPresenceApi(presence, space, gs, actionType);

            // Destroying Volcano presence, causes damage to Dahan and invaders
            await gs.DahanOn(space).ApplyDamage(1);

            await gs.Invaders.On(space).UserSelectedDamage(1, spirit);
        }
        public async Task DestroyPresenceApi(SpiritPresence presence, Space space, GameState gs, DestoryPresenceCause actionType)
        {
            if (space == this.protectedSpace)
            {
                var dst = await spirit.Action.Decision(new Select.Space("Instead of destroying, push presence to:", space.Adjacent, Present.Done));

                if (dst != null)
                {
                    presence.Move(space, dst, gs);
                    return;
                }
            }
            await originalBehavior.DestroyPresenceApi(presence, space, gs, actionType);
        }
Exemplo n.º 4
0
    public Spirit(SpiritPresence presence, params PowerCard[] initialCards)
    {
        Presence = presence;
        Presence.TrackRevealed.ForGame.Add(Presence_TrackRevealed);

        foreach (var card in initialCards)
        {
            AddCardToHand(card);
        }

        Action = new ActionGateway();

        decks.Add(new SpiritDeck {
            Icon = Img.Deck_Hand, PowerCards = Hand
        });
        decks.Add(new SpiritDeck {
            Icon = Img.Deck_Played, PowerCards = InPlay
        });
        decks.Add(new SpiritDeck {
            Icon = Img.Deck_Discarded, PowerCards = DiscardPile
        });
    }
Exemplo n.º 5
0
 public Range1DahanDefend1(Spirit spirit)
 {
     this.presence = spirit.Presence;
 }
Exemplo n.º 6
0
 public EarthsVitality(Spirit spirit)
 {
     presence = spirit.Presence;
 }
Exemplo n.º 7
0
 public virtual Task DestroyPresenceApi(SpiritPresence presence, Space space, GameState gs, DestoryPresenceCause actionType)
 {
     presence.RemoveFrom_NoCheck(space, gs);
     ++presence.Destroyed;
     return(Task.CompletedTask);
 }
Exemplo n.º 8
0
 public ConfigurableSpirit(SpiritPresence presence) : base(presence)
 {
 }