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); }
public override int Visit(PDDamageToCreatureSpellAbility ability) { throw new NotImplementedException(); }
public abstract int Visit(PDDamageToCreatureSpellAbility pDDamageToCreatureSpellAbility);
public override int Visit(PDDamageToCreatureSpellAbility pDDamageToCreatureSpellAbility) { return(0); }