Пример #1
0
        public virtual void RecieveDamage(Damage damage, SchoolSpell spellType = SchoolSpell.None)
        {
            var message = string.Format("You {0} have recieved {1} damage",
                Name,
                damage.MagicalDamage + damage.PhysicalDamage);

            HP -= damage.PhysicalDamage;
            HP -= damage.MagicalDamage;

            OnActionPerformed(new ActionPerformedEventArgs(message, ActionType.Fight));
        }
Пример #2
0
        public override void RecieveDamage(Damage damage, SchoolSpell schoolSpell = SchoolSpell.None)
        {
            var mDef = MagicalDefence;

            if (schoolSpell != SchoolSpell.None)
                mDef += (defensiveSpell != null &&
                        (defensiveSpell.CurrentDuration != 0 && defensiveSpell.SchoolSpell == schoolSpell)) ? defensiveSpell.MagicalPower : 0;

            if (defensiveSpell != null)
                defensiveSpell.CurrentDuration -= defensiveSpell.CurrentDuration != 0 ? 1 : 0;

            damage.PhysicalDamage -= pDef;
            damage.MagicalDamage -= mDef;

            base.RecieveDamage(damage);
        }