protected sealed override void OnSuspend()
        {
            base.OnSuspend();

            //Remove Invincibility and don't do anything else to avoid Suspending/Resuming conflicts with other StatusEffects
            EntityAfflicted.EntityProperties.RemoveAdditionalProperty(Enumerations.AdditionalProperty.Invincible);

            EntityAfflicted.AnimManager.PlayAnimation(EntityAfflicted.GetIdleAnim());
        }
        protected sealed override void OnEnd()
        {
            base.OnEnd();

            //Remove the NegativeStatusImmune and Invincible MiscProperties
            EntityAfflicted.EntityProperties.RemoveAdditionalProperty(Enumerations.AdditionalProperty.NegativeStatusImmune);
            EntityAfflicted.EntityProperties.RemoveAdditionalProperty(Enumerations.AdditionalProperty.Invincible);

            //Resume all of the entity's Negative StatusEffects
            EntityAfflicted.SuspendOrResumeAlignmentStatuses(false, StatusAlignments.Negative, StatusType);

            EntityAfflicted.AnimManager.PlayAnimation(EntityAfflicted.GetIdleAnim());

            Debug.Log($"{StatusType} has ended and Resumed all negative StatusEffects on {EntityAfflicted.Name}!");
        }
예제 #3
0
        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}!");
        }