Firelocks are no longer pryable by hand if they are powered (#29221)

This commit is contained in:
nikthechampiongr
2024-06-22 17:49:50 +00:00
committed by GitHub
parent 061445ef6e
commit 6aced66406
3 changed files with 24 additions and 3 deletions

View File

@@ -21,6 +21,7 @@ public abstract class SharedFirelockSystem : EntitySystem
// Access/Prying
SubscribeLocalEvent<FirelockComponent, BeforeDoorOpenedEvent>(OnBeforeDoorOpened);
SubscribeLocalEvent<FirelockComponent, BeforePryEvent>(OnBeforePry);
SubscribeLocalEvent<FirelockComponent, GetPryTimeModifierEvent>(OnDoorGetPryTimeModifier);
SubscribeLocalEvent<FirelockComponent, PriedEvent>(OnAfterPried);
@@ -60,6 +61,14 @@ public abstract class SharedFirelockSystem : EntitySystem
WarnPlayer((uid, component), args.User.Value);
}
private void OnBeforePry(EntityUid uid, FirelockComponent component, ref BeforePryEvent args)
{
if (args.Cancelled || !component.Powered || args.StrongPry || args.PryPowered)
return;
args.Cancelled = true;
}
private void OnDoorGetPryTimeModifier(EntityUid uid, FirelockComponent component, ref GetPryTimeModifierEvent args)
{
WarnPlayer((uid, component), args.User);