using Content.Shared.StatusEffectNew.Components;
namespace Content.Shared.StatusEffectNew;
///
/// Keeps permanent status effects from applied
/// for as long as the owning component exists.
///
public sealed partial class PermanentStatusEffectsSystem : EntitySystem
{
[Dependency] private StatusEffectsSystem _statusEffects = default!;
[SubscribeLocalEvent]
private void OnMapInit(Entity ent, ref MapInitEvent args)
{
foreach (var effect in ent.Comp.StatusEffects)
{
_statusEffects.TrySetStatusEffectDuration(ent, effect);
}
}
[SubscribeLocalEvent]
private void OnRemove(Entity ent, ref ComponentRemove args)
{
foreach (var effect in ent.Comp.StatusEffects)
{
_statusEffects.TryRemoveStatusEffect(ent, effect);
}
}
}