protected override void OnSuppress(Enumerations.StatusSuppressionTypes statusSuppressionType) { if (statusSuppressionType == Enumerations.StatusSuppressionTypes.Effects) { EntityAfflicted.SubtractIntAdditionalProperty(Enumerations.AdditionalProperty.ConfusionPercent, ConfusionPercent, false); } }
protected override void OnSuppress(Enumerations.StatusSuppressionTypes statusSuppressionType) { if (statusSuppressionType == Enumerations.StatusSuppressionTypes.Effects) { EntityAfflicted.SetMaxTurns(EntityAfflicted.BaseTurns); //Remove the Immobile property EntityAfflicted.SubtractIntAdditionalProperty(Enumerations.AdditionalProperty.Immobile, 1); } }
protected override void OnEnd() { if (EntityAfflicted.MaxTurns > 0 && EntityAfflicted.MaxTurns < EntityAfflicted.BaseTurns) { EntityAfflicted.SetMaxTurns(EntityAfflicted.BaseTurns); Debug.Log($"{StatusType} set MaxTurns to {EntityAfflicted.BaseTurns} for {EntityAfflicted.Name}"); } //Remove the Immobile property after getting its count EntityAfflicted.SubtractIntAdditionalProperty(Enumerations.AdditionalProperty.Immobile, 1); }
protected sealed override void OnEnd() { base.OnEnd(); //Remove the Invincible AdditionalProperty EntityAfflicted.SubtractIntAdditionalProperty(Enumerations.AdditionalProperty.Invincible, 1); //Unsuppress the statuses it suppressed in this way HandleStatusSuppression(false); EntityAfflicted.AnimManager.PlayAnimation(EntityAfflicted.GetIdleAnim()); HandleStatusImmunities(false); Debug.Log($"{StatusType} has ended on {EntityAfflicted.Name}!"); }
protected override void OnEnd() { EntityAfflicted.SubtractIntAdditionalProperty(Enumerations.AdditionalProperty.ConfusionPercent, ConfusionPercent, false); }