コード例 #1
0
        void player_CardsDiscarding(object sender, CardsDiscardEventArgs e)
        {
            if (!e.Cards.Contains(this.PhysicalCard) || e.GetAction(TypeClass.Herbalist) != null || e.HandledBy.Contains(this) ||
                (e.FromLocation != DeckLocation.InPlay && e.FromLocation != DeckLocation.SetAside && e.FromLocation != DeckLocation.InPlayAndSetAside))
            {
                return;
            }

            if (e.Cards.Any(c => (c.Category & Cards.Category.Treasure) == Cards.Category.Treasure))
            {
                e.AddAction(TypeClass.Herbalist, new CardsDiscardAction(sender as Player, this, "Put a Treasure on your deck", player_Action, false));
            }
        }
コード例 #2
0
        void player_CardsDiscarding(object sender, CardsDiscardEventArgs e)
        {
            if (!e.Cards.Contains(this.PhysicalCard) || e.GetAction(TypeClass.Alchemist) != null ||
                (e.FromLocation != DeckLocation.InPlay && e.FromLocation != DeckLocation.SetAside && e.FromLocation != DeckLocation.InPlayAndSetAside))
            {
                return;
            }

            if (e.Cards.Any(c => c.CardType == TypeClass.Potion))
            {
                e.AddAction(TypeClass.Alchemist, new CardsDiscardAction(sender as Player, this, String.Format("Put {0} on your deck", this.PhysicalCard), player_Action, false));
            }
        }
コード例 #3
0
        void player_CardsDiscarding(object sender, CardsDiscardEventArgs e)
        {
            if (e.FromLocation != DeckLocation.InPlay && e.FromLocation != DeckLocation.SetAside && e.FromLocation != DeckLocation.InPlayAndSetAside)
            {
                return;
            }

            if (e.HandledBy.Contains(this))
            {
                return;
            }

            if (e.Cards.Contains(this._SetAsideCardInPlay))
            {
                e.AddAction(TypeClass.Prince, this._SetAsideCardInPlay.CardType, new CardsDiscardAction(sender as Player, this, String.Format("Set aside {0}", this._SetAsideCardInPlay), player_DiscardAction, true)
                {
                    Data = this._SetAsideCardInPlay
                });
            }
            else
            {
            }
        }