예제 #1
0
        public override int Visit(PDDamageToCreatureSpellAbility spell)
        {
            // Handle Card targets
            List <CreatureCard> modCards = new List <CreatureCard>();

            foreach (CardTarget t in CardTargets)
            {
                CreatureCard card = (CreatureCard)(GameManager.UserDict[t.Character].Player.GetCardFromId(t.CardId, Place.INNER) ?? (GameManager.UserDict[t.Character].Player.GetCardFromId(t.CardId, Place.OUTER)));
                card.Health -= spell.PDDamage;
                if (card.Health > 0)
                {
                    card.PoisonDamage += spell.PDDamage;
                }
                modCards.Add(card);
            }

            // Prepare responses
            foreach (CharacterEnum ch in GameManager.UserDict.Keys.ToList())
            {
                if (modCards.Any())
                {
                    AddResponse(ch, new CardsModifiedResponse(modCards));
                }
            }
            return(0);
        }
 public override int Visit(PDDamageToCreatureSpellAbility spellAbility)
 {
     if (Target is CardTarget)
     {
         return(CheckImmunity());
     }
     return(-1);
 }
예제 #3
0
 public override int Visit(PDDamageToCreatureSpellAbility ability)
 {
     throw new NotImplementedException();
 }
예제 #4
0
 public abstract int Visit(PDDamageToCreatureSpellAbility pDDamageToCreatureSpellAbility);
 public override int Visit(PDDamageToCreatureSpellAbility pDDamageToCreatureSpellAbility)
 {
     return(0);
 }