protected override void OnPhaseCycleStart()
 {
     if (IsSuppressed(Enumerations.StatusSuppressionTypes.Effects) == false)
     {
         EntityAfflicted.TakeDamage(Enumerations.Elements.Poison, PoisonDamage, true);
     }
     ProgressTurnCount();
 }
 protected override void OnPhaseCycleStart()
 {
     //Don't damage the BattleEntity if it's Invincible
     //NOTE: Find a way to route this damage through the damage calculation
     if (EntityAfflicted.EntityProperties.GetAdditionalProperty <bool>(Enumerations.AdditionalProperty.Invincible) == false)
     {
         EntityAfflicted.TakeDamage(Enumerations.Elements.Poison, PoisonDamage, true);
     }
     IncrementTurns();
 }
Exemple #3
0
        protected sealed override void OnEnd()
        {
            base.OnEnd();

            //The entity takes 1 Ice damage when Frozen ends
            //Don't damage the BattleEntity if it's Invincible
            //NOTE: Find a way to route this damage through the damage calculation
            if (EntityAfflicted.EntityProperties.GetAdditionalProperty <bool>(Enumerations.AdditionalProperty.Invincible) == false)
            {
                EntityAfflicted.TakeDamage(Enumerations.Elements.Ice, IceDamage, true);
            }
        }
        protected override void OnPhaseCycleStart()
        {
            //The entity takes 1 Ice damage when Frozen ends due to turn count
            //Check if it's Effects suppressed first
            if (IsSuppressed(Enumerations.StatusSuppressionTypes.Effects) == false)
            {
                //If it's not infinite and not suppressed by turn count, we must be incrementing the turns
                if (IsInfinite == false && IsSuppressed(Enumerations.StatusSuppressionTypes.TurnCount) == false)
                {
                    int lastTurn = TurnsPassed + 1;

                    //If we're about to end the status, damage the entity
                    if (lastTurn >= TotalDuration)
                    {
                        EntityAfflicted.TakeDamage(Enumerations.Elements.Ice, IceDamage, true);
                    }
                }
            }

            base.OnPhaseCycleStart();
        }