Add voice locks to various hidden syndicate items (#39310)

This commit is contained in:
beck-thompson
2025-08-10 11:10:13 -07:00
committed by GitHub
parent 80299e863a
commit 80375370f8
36 changed files with 366 additions and 97 deletions

View File

@@ -0,0 +1,30 @@
using Content.Shared.Item.ItemToggle;
using Content.Shared.Lock;
using Content.Shared.Trigger.Components.Triggers;
namespace Content.Shared.SecretLocks;
public sealed partial class SharedVoiceTriggerLockSystem : EntitySystem
{
[Dependency] private readonly ItemToggleSystem _toggle = default!;
public override void Initialize()
{
base.Initialize();
SubscribeLocalEvent<VoiceTriggerLockComponent, LockToggledEvent>(OnLockToggled);
}
private void OnLockToggled(Entity<VoiceTriggerLockComponent> ent, ref LockToggledEvent args)
{
if (!TryComp<TriggerOnVoiceComponent>(ent.Owner, out var triggerComp))
return;
triggerComp.ShowVerbs = !args.Locked;
triggerComp.ShowExamine = !args.Locked;
_toggle.TryDeactivate(ent.Owner, null, true, false);
Dirty(ent.Owner, triggerComp);
}
}