using Content.Server._CP14.MagicSpellStorage.Components; using Content.Shared.Clothing; using Content.Shared.Hands; namespace Content.Server._CP14.MagicSpellStorage; public sealed partial class CP14SpellStorageSystem { private void InitializeAccess() { SubscribeLocalEvent(OnEquippedHand); SubscribeLocalEvent(OnClothingEquipped); SubscribeLocalEvent(OnClothingUnequipped); } private void OnEquippedHand(Entity ent, ref GotEquippedHandEvent args) { if (!TryComp(ent, out var spellStorage)) return; TryGrantAccess((ent, spellStorage), args.User); } private void OnClothingEquipped(Entity ent, ref ClothingGotEquippedEvent args) { ent.Comp.Wearing = true; if (!TryComp(ent, out var spellStorage)) return; TryGrantAccess((ent, spellStorage), args.Wearer); } private void OnClothingUnequipped(Entity ent, ref ClothingGotUnequippedEvent args) { ent.Comp.Wearing = false; _actions.RemoveProvidedActions(args.Wearer, ent); } }