Ejemplo n.º 1
0
        /// <summary>
        /// Creates an instance of an AppliedStatusEffect from the given StatusEffect.
        /// </summary>
        /// <param name="applicator">The CombatEntity applying this instance of the AppliedStatusEffect.</param>
        /// <param name="statusEffect">The base to use for the AppliedStatusEffect.</param>
        /// <returns>Returns an instance of an AppliedStatusEffect that keeps track of a StatusEffect on a CombatEntity.</returns>
        private AppliedStatusEffect CreateAppliedStatus(CombatEntity applicator, CombatEntity recipient, StatusEffect statusEffect)
        {
            var appliedStatus = new AppliedStatusEffect();

            appliedStatus.BaseStatus       = statusEffect;
            appliedStatus.CumulativeDamage = DamageCalculator.GetDamage(applicator, statusEffect);
            appliedStatus.CumulativeHeal   = DamageCalculator.GetHeal(applicator, statusEffect);
            appliedStatus.CumulativeHeal  += DamageCalculator.GetPercentageHeal(recipient.Resources.MaxHealth, statusEffect.PercentHealPerTurn);

            appliedStatus.CurrentStacks = 1;
            appliedStatus.Duration      = statusEffect.Duration;

            return(appliedStatus);
        }
Ejemplo n.º 2
0
 /// <summary>
 /// Removes an AppliedStatusEffect from a CombatEntity, removing all the beneficial and detrimental effects.
 /// </summary>
 /// <param name="entity">The CombatEntity to remove the StatusEffect from.</param>
 /// <param name="appliedStatusEffect">The AppliedStatusEffect type to remove from the CombatEntity.</param>
 /// <returns>Returns true if removal was successful. Returns false if no StatusEffect was found or
 /// removal failed.</returns>
 public bool Remove(CombatEntity entity, AppliedStatusEffect appliedStatusEffect)
 {
     return(Remove(entity, appliedStatusEffect.BaseStatus));
 }
 public bool Remove(CombatEntity entity, AppliedStatusEffect appliedStatusEffect)
 {
     return(true);
 }