using Content.Shared.Clothing; using Content.Shared.Clothing.Components; using Content.Shared.Eye.Blinding.Components; using Content.Shared.Eye.Blinding.Systems; using Content.Shared.Inventory; using Content.Shared.Tag; using Content.Shared.Eye; using Content.Shared.Sunrise.Eye; using Content.Shared.Sunrise.Clothing.Components; namespace Content.Shared.Sunrise.Eye; public sealed class VisionDarkenerSystem : EntitySystem { [Dependency] private readonly SharedDarkenedVisionSystem _darkenedVision = default!; public override void Initialize() { base.Initialize(); SubscribeLocalEvent(OnGetVisionDarkening); SubscribeLocalEvent>(OnGetVisionDarkening); SubscribeLocalEvent(OnGotEquipped); SubscribeLocalEvent(OnGotUnquipped); } private void OnGetVisionDarkening(Entity ent, ref GetVisionDarkeningEvent args) { args.Strength += ent.Comp.Strength; } private void OnGetVisionDarkening(Entity ent, ref InventoryRelayedEvent args) { args.Args.Strength += ent.Comp.Strength; } private void OnGotEquipped(Entity ent, ref ClothingGotEquippedEvent args) { _darkenedVision.UpdateVisionDarkening(args.Wearer); } private void OnGotUnquipped(Entity ent, ref ClothingGotUnequippedEvent args) { _darkenedVision.UpdateVisionDarkening(args.Wearer); } }