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); } } }