From a63b64a46a02233e4deac3e7f8f307150bf00daf Mon Sep 17 00:00:00 2001 From: Flipp Syder <76629141+vulppine@users.noreply.github.com> Date: Fri, 27 May 2022 18:52:26 -0700 Subject: [PATCH] Mousetrap fixes/tweaks (#8484) * fixes issues with mousetraps, adds activation popup * sure * me when i scroll up a bit in discord --- Content.Server/Mousetrap/MousetrapSystem.cs | 10 +++++++++- Resources/Locale/en-US/mousetraps/mousetraps.ftl | 2 ++ 2 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 Resources/Locale/en-US/mousetraps/mousetraps.ftl diff --git a/Content.Server/Mousetrap/MousetrapSystem.cs b/Content.Server/Mousetrap/MousetrapSystem.cs index 449e5f1d2b..bfa78e7a5d 100644 --- a/Content.Server/Mousetrap/MousetrapSystem.cs +++ b/Content.Server/Mousetrap/MousetrapSystem.cs @@ -1,9 +1,11 @@ using Content.Server.Damage.Systems; using Content.Server.Explosion.EntitySystems; +using Content.Server.Popups; using Content.Shared.Interaction.Events; using Content.Shared.Inventory; using Content.Shared.Mousetrap; using Content.Shared.StepTrigger; +using Robust.Shared.Player; namespace Content.Server.Mousetrap; @@ -11,6 +13,7 @@ public sealed class MousetrapSystem : EntitySystem { [Dependency] private readonly InventorySystem _inventorySystem = default!; [Dependency] private readonly TriggerSystem _triggerSystem = default!; + [Dependency] private readonly PopupSystem _popupSystem = default!; public override void Initialize() { @@ -23,6 +26,11 @@ public sealed class MousetrapSystem : EntitySystem private void OnUseInHand(EntityUid uid, MousetrapComponent component, UseInHandEvent args) { component.IsActive = !component.IsActive; + _popupSystem.PopupEntity(component.IsActive + ? Loc.GetString("mousetrap-on-activate") + : Loc.GetString("mousetrap-on-deactivate"), + uid, + Filter.Entities(args.User)); UpdateVisuals(uid); } @@ -50,7 +58,7 @@ public sealed class MousetrapSystem : EntitySystem } } - if (TryComp(args.Tripper, out PhysicsComponent? physics)) + if (TryComp(args.Tripper, out PhysicsComponent? physics) && physics.Mass != 0) { // The idea here is inverse, // Small - big damage, diff --git a/Resources/Locale/en-US/mousetraps/mousetraps.ftl b/Resources/Locale/en-US/mousetraps/mousetraps.ftl new file mode 100644 index 0000000000..2b0bae59bb --- /dev/null +++ b/Resources/Locale/en-US/mousetraps/mousetraps.ftl @@ -0,0 +1,2 @@ +mousetrap-on-activate = The mousetrap was activated. +mousetrap-on-deactivate = The mousetrap was deactivated.