Exemple #1
0
            protected override void OnRespondCard(Card card)
            {
                if(selected.Count == 2)
                    throw new BadUsageException();
                if(card.Owner != RequestedPlayer)
                    throw new BadCardException();
                card.AssertInHand();

                if(selected.Contains(card))
                    throw new BadCardException();
                selected.Add(card);
                if(selected.Count == 2)
                {
                    Game.GameCycle.PushTempHandler(new TargetPlayerResponseHandler(this));
                    End();
                }
            }
Exemple #2
0
            protected override void OnRespondCard(Card card)
            {
                if(card.Owner != RequestedPlayer)
                    throw new BadCardException();
                card.AssertInHand();

                if(selected.Contains(card))
                    throw new BadCardException();
                selected.Add(card);
                if(selected.Count == 2)
                {
                    parent.OnUsedAbility();
                    foreach(Card c in selected)
                        Game.GameTable.PlayerDiscardCard(c);
                    RequestedPlayer.ModifyLifePoints(1);
                    End();
                }
            }
Exemple #3
0
            protected override void OnRespondCard(Card extraCard)
            {
                if(extraCard.Owner != RequestedPlayer)
                    throw new BadCardException();

                if(extraCard == parent)
                    throw new BadCardException();

                extraCard.AssertInHand();

                if(card != parent)
                    parent.OnPlayVirtually(card, extraCard);
                else
                    parent.OnPlay(extraCard);
                End();
            }
Exemple #4
0
            protected override void OnRespondCard(Card card)
            {
                if(card.Owner != RequestedPlayer)
                    throw new BadCardException();

                card.AssertInHand();

                if(card.Color != CardColor.Blue)
                    throw new BadCardException();

                parent.abilityUses++;
                parent.OnUsedAbility();
                Game.GameTable.PlayerDiscardCard(card);
                Game.GameTable.PlayerDrawFromDeck(RequestedPlayer, 2);
                End();
            }