Пример #1
0
        public void BackFistStrike(Card card)
        {
            card.cardType = Card.CardType.OneShot;

            var target = GameBoard.cardClickedArray;
            if (target.Count > 1)
            {
                MessageBox.Show("Select only one target to perform Back-Fist Strike. \n No select target default's to the Villain.");
                Hero currentPlayer = (Hero)GameEngine.getCurrentPlayer();
                currentPlayer.hand.Add(card);
                currentPlayer.graveyard.Remove(card);
                GameEngine.playerPlayedCard = false;
            }
            else if (target.Count == 1)
            {
                var villainMinions = GameEngine.getVillain().getMinions();
                var environMinions = GameEngine.getEnvironment().getMinions();

                Boolean minBool = false;

                List<Minion> minionsToAttack = null;

                foreach (Minion min in villainMinions)
                {
                    if (min.minionName.Equals(((Card)target[0]).getName()))
                    {
                        minionsToAttack.Add(min);
                        minBool = true;
                    }
                }

                foreach (Minion min in environMinions)
                {
                    if (min.minionName.Equals(((Card)target[0]).getName()))
                    {
                        minionsToAttack.Add(min);
                        minBool = true;
                    }
                }

                if (minBool)
                {
                    List<Targetable> targets = new List<Targetable>();
                    targets.AddRange(minionsToAttack);
                    DamageEffects.DealDamage(this, targets , 4, DamageEffects.DamageType.Melee);
                    card.SendToGraveyard(this, cardsOnField);
                }
                else MessageBox.Show("Please select an appropriate card.");
            }
            else
            {
                DamageEffects.DealDamage(this, new List<Targetable>(){ GameEngine.getVillain()}, 4, DamageEffects.DamageType.Melee);
                card.SendToGraveyard(this, cardsOnField);
            }
        }
Пример #2
0
 void PunishTheWeakPower(Card card, object[] args)
 {
     DamageEffects.damageDealtHandlers.Remove(PunishTheWeak_Damage_Handler);
     card.SendToGraveyard(this, cardsOnField);
 }
Пример #3
0
 void HakaOfRestoration_Continuation(int numDiscardedCards, Card card)
 {
     lifeTotal += numDiscardedCards;
     card.SendToGraveyard(this, cardsOnField);
 }
Пример #4
0
 void EnduringIntercessionPower(Card sender, object[] args)
 {
     sender.SendToGraveyard(this, cardsOnField);
 }
Пример #5
0
 public void VitalitySurge(Card card)
 {
     card.cardType = Card.CardType.OneShot;
     HealEffects.healHero(this, 2);
     card.SendToGraveyard(this, cardsOnField);
     CardDrawingEffects.DrawCards(1, this);
 }
Пример #6
0
        public void Rampage(Card card)
        {
            card.cardType = Card.CardType.OneShot;
            Villain villain = GameEngine.getVillain();
            GameEnvironment environ = GameEngine.getEnvironment();
            var heroes = new List<Targetable>();
            heroes.AddRange(GameEngine.getHeroes());

            DamageEffects.DealDamage(this, heroes, 2, DamageEffects.DamageType.Melee);
            DamageEffects.DealDamage(this, GameEngine.getNonHeroTargets(), 5, DamageEffects.DamageType.Melee);
            card.SendToGraveyard(this, cardsOnField);
        }
Пример #7
0
 public object[] GroundPound(Card card)
 {
     DialogResult result = MessageBox.Show("Click OK to destroy this card. Click Cancel to discard 2 cards", "Ground Pound", MessageBoxButtons.OKCancel);
     if (result == DialogResult.OK) {
         card.SendToGraveyard(this, hand);//might be cards on field instead of hand
         return null;
     } else {
         DiscardedAction discardContinuation= GroundPound_Continuation;
         StartPhaseStarted+= GroundPound_StartPhaseStarted;
         return new object[] { discardContinuation, GameEngine.ForcedEffect.DiscardCurrentPlayer, 2, card };
     }
 }
Пример #8
0
        public void BolsterAllies(Card card)
        {
            card.cardType = Card.CardType.OneShot;

            foreach (Hero player in GameEngine.getHeroes())
            {
                player.drawPhase(1);
            }
            card.SendToGraveyard(this, cardsOnField);
        }