Ejemplo n.º 1
0
        public override EffectOutcome Execute(IDice dice, Combatant combatant)
        {
            int healthBeforeHeal = combatant.CurrentHitPoints;
            var healAmount = (int)Math.Round(dice.Roll(Magnitude) * (1 + ((double)combatant.Wisdom.GetStatModifier() / 9)), MidpointRounding.AwayFromZero);
            combatant.RestoreHealth(healAmount);
            int actualHealAmount = combatant.CurrentHitPoints - healthBeforeHeal;

            return new EffectOutcome()
            {
                Healing = actualHealAmount,
                Description = string.Format("{0} healed for {1} hit points", combatant.Name, actualHealAmount)
            };
        }