using Content.Shared.Mind.Components; using Content.Shared.NPC; namespace Content.Shared.SSDIndicator; /// /// Handle changing player SSD indicator status /// public sealed class SSDIndicatorSystem : EntitySystem { public override void Initialize() { SubscribeLocalEvent(OnInit); SubscribeLocalEvent(OnMindAdded); SubscribeLocalEvent(OnMindRemoved); } private void OnInit(EntityUid uid, SSDIndicatorComponent component, ComponentInit args) { if (HasComp(uid)) return; component.IsSSD = !HasComp(uid); } private void OnMindAdded(EntityUid uid, SSDIndicatorComponent component, MindAddedMessage args) { component.IsSSD = false; Dirty(uid, component); } private void OnMindRemoved(EntityUid uid, SSDIndicatorComponent component, MindRemovedMessage args) { if (HasComp(uid)) return; component.IsSSD = true; Dirty(uid, component); } }