示例#1
0
        public override int Visit(DealTotDamageToTotTargetsSpellAbility spell)
        {
            // Handle player targets
            List <PlayerMod> modPlayers = new List <PlayerMod>();

            foreach (PlayerTarget t in PlayerTargets)
            {
                GameManager.UserDict[t.Character].Player.Health -= spell.DamageToDeal;
                modPlayers.Add(new PlayerMod(GameManager.UserDict[t.Character].Player));
            }

            // 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.DamageToDeal;
                modCards.Add(card);
            }

            // Prepare responses
            foreach (CharacterEnum ch in GameManager.UserDict.Keys.ToList())
            {
                if (modCards.Any())
                {
                    AddResponse(ch, new CardsModifiedResponse(modCards));
                }
                if (modPlayers.Any())
                {
                    AddResponse(ch, new PlayerModifiedResponse(modPlayers));
                }
            }
            return(0);
        }
 public override int Visit(DealTotDamageToTotTargetsSpellAbility spellAbility)
 {
     if (Target.Character != Owner)
     {
         return(CheckImmunity());
     }
     return(-1);
 }
示例#3
0
 public override int Visit(DealTotDamageToTotTargetsSpellAbility ability)
 {
     throw new NotImplementedException();
 }
示例#4
0
 public abstract int Visit(DealTotDamageToTotTargetsSpellAbility dealTotDamageToTotTargetsSpellAbility);
 public override int Visit(DealTotDamageToTotTargetsSpellAbility dealTotDamageToTotTargetsSpellAbility)
 {
     return(0);
 }