Fix borgs being able to emag themselves (#24748)

* Fix self emagging borgs

* Add popup on self emag failure.

(cherry picked from commit 402051c670a66d08726e0ec16f8fa5735bb0f60f)
This commit is contained in:
Jajsha 2024-02-11 01:23:32 -05:00 committed by Debug
parent eb397058c4
commit c4b8f141e9
No known key found for this signature in database
GPG Key ID: 271270A74EF9C350
2 changed files with 9 additions and 0 deletions

View File

@ -21,6 +21,14 @@ public abstract class SharedSiliconLawSystem : EntitySystem
protected virtual void OnAttemptEmag(EntityUid uid, EmagSiliconLawComponent component, ref OnAttemptEmagEvent args)
{
//prevent self emagging
if (uid == args.UserUid)
{
_popup.PopupClient(Loc.GetString("law-emag-cannot-emag-self"), uid, args.UserUid);
args.Handled = true;
return;
}
if (component.RequireOpenPanel &&
TryComp<WiresPanelComponent>(uid, out var panel) &&
!panel.Open)

View File

@ -34,6 +34,7 @@ laws-owner-spider-clan = Spider Clan members
law-emag-custom = Only {$name} and people they designate as such are {$title}.
law-emag-secrecy = You must maintain the secrecy of any orders given by {$faction} except when doing so would conflict with any previous law.
law-emag-require-panel = The panel must be open to use the EMAG.
law-emag-cannot-emag-self = You cannot use the EMAG on yourself.
laws-ui-menu-title = Laws
laws-ui-law-header = Law {$id}