using Content.Shared.Eye.Blinding.Systems; using Content.Shared.StatusEffectNew; namespace Content.Shared._Offbrand.StatusEffects; public sealed class BlindnessStatusEffectSystem : EntitySystem { [Dependency] private readonly BlindableSystem _blindable = default!; public override void Initialize() { base.Initialize(); SubscribeLocalEvent(OnStatusEffectApplied); SubscribeLocalEvent(OnStatusEffectRemoved); SubscribeLocalEvent>(OnCanSeeAttempt); } private void OnStatusEffectApplied(Entity ent, ref StatusEffectAppliedEvent args) { _blindable.UpdateIsBlind(args.Target); } private void OnStatusEffectRemoved(Entity ent, ref StatusEffectRemovedEvent args) { _blindable.UpdateIsBlind(args.Target); } private void OnCanSeeAttempt(Entity ent, ref StatusEffectRelayedEvent args) { args.Args.Cancel(); } }