public override int Visit(BonusAttackDependingOnHealthAbility ability)
        {
            if (Target is CardTarget)
            {
                if (((CardTarget)Target).Card.Attack is null)
                {
                    return(-1);
                }
                return(CheckImmunity());
            }

            return(-1);
        }
示例#2
0
        public override int Visit(BonusAttackDependingOnHealthAbility ability)
        {
            //Log(OwnerCard.Name + " used BonusAttackDependingOnHealthAbilit");
            List <CreatureCard> targets = new List <CreatureCard>();

            foreach (CardTarget ct in CardTargets)
            {
                CreatureCard card = (CreatureCard)(GameManager.UserDict[ct.Character].Player.GetCardFromId(ct.CardId, Place.INNER) ?? GameManager.UserDict[ct.Character].Player.GetCardFromId(ct.CardId, Place.OUTER));
                card.Attack.BonusAttack += (int)Math.Ceiling((float)card.Health / (float)ability.myDivisor);
                targets.Add(card);
            }
            foreach (CharacterEnum c in GameManager.UserDict.Keys.ToList())
            {
                AddResponse(c, new CardsModifiedResponse(targets));
            }
            return(0);
        }
示例#3
0
 public override int Visit(BonusAttackDependingOnHealthAbility bonusAttackDependingOnHealthAbility)
 {
     return(0);
 }
示例#4
0
 public abstract int Visit(BonusAttackDependingOnHealthAbility bonusAttackDependingOnHealthAbility);