Add clothing equipped/unequipped events (#27155)

* Added ClothingGotEquipped/ClothingGotUnequipped events

* Better version

* Implemented in a few places

* More implementations

* Add ClothingDidEquipped/ClothingDidUnequipped events
This commit is contained in:
Tayrtahn
2024-04-21 11:00:50 -04:00
committed by GitHub
parent 84c3d225ca
commit 50631f430d
13 changed files with 113 additions and 114 deletions

View File

@@ -1,6 +1,6 @@
using Content.Server.Actions;
using Content.Shared.Clothing;
using Content.Shared.Inventory;
using Content.Shared.Inventory.Events;
namespace Content.Server.VoiceMask;
@@ -12,13 +12,9 @@ public sealed partial class VoiceMaskSystem
private const string MaskSlot = "mask";
private void OnEquip(EntityUid uid, VoiceMaskerComponent component, GotEquippedEvent args)
private void OnEquip(EntityUid uid, VoiceMaskerComponent component, ClothingGotEquippedEvent args)
{
var user = args.Equipee;
// have to be wearing the mask to use it, duh.
if (!_inventory.TryGetSlotEntity(user, MaskSlot, out var maskEntity) || maskEntity != uid)
return;
var user = args.Wearer;
var comp = EnsureComp<VoiceMaskComponent>(user);
comp.VoiceName = component.LastSetName;
comp.SpeechVerb = component.LastSpeechVerb;
@@ -26,9 +22,9 @@ public sealed partial class VoiceMaskSystem
_actions.AddAction(user, ref component.ActionEntity, component.Action, uid);
}
private void OnUnequip(EntityUid uid, VoiceMaskerComponent compnent, GotUnequippedEvent args)
private void OnUnequip(EntityUid uid, VoiceMaskerComponent compnent, ClothingGotUnequippedEvent args)
{
RemComp<VoiceMaskComponent>(args.Equipee);
RemComp<VoiceMaskComponent>(args.Wearer);
}
private VoiceMaskerComponent? TryGetMask(EntityUid user)