Example #1
0
    public void RemoveStatusEffect(ActorEffect statusEffect, bool deferUpdates)
    {
        statusEffect.OnExpire();

        if (statusEffect.effectType == EffectType.BUFF || statusEffect.effectType == EffectType.DEBUFF)
        {
            buffEffects.Remove((StatBonusBuffEffect)statusEffect);
        }
        else
        {
            statusEffects.Remove(statusEffect);

            if (GetStatusEffect(statusEffect.effectType) == null)
            {
                actorTags.Remove(statusEffect.StatusTag);
            }
        }

        if (!deferUpdates)
        {
            Data.UpdateActorData();
        }
    }