using Content.Shared.Clothing; using Content.Shared.Inventory; using Content.Shared.NameModifier.Components; namespace Content.Shared.NameModifier.EntitySystems; public sealed partial class ModifyWearerNameSystem : EntitySystem { [Dependency] private readonly NameModifierSystem _nameMod = default!; public override void Initialize() { base.Initialize(); SubscribeLocalEvent>(OnRefreshNameModifiers); SubscribeLocalEvent(OnGotEquipped); SubscribeLocalEvent(OnGotUnequipped); } private void OnGotEquipped(Entity entity, ref ClothingGotEquippedEvent args) { _nameMod.RefreshNameModifiers(args.Wearer); } private void OnGotUnequipped(Entity entity, ref ClothingGotUnequippedEvent args) { _nameMod.RefreshNameModifiers(args.Wearer); } private void OnRefreshNameModifiers(Entity entity, ref InventoryRelayedEvent args) { args.Args.AddModifier(entity.Comp.LocId, entity.Comp.Priority); } }