From 3abbfcbc2382ccba1f59dbfe5c5794c65bb19a38 Mon Sep 17 00:00:00 2001 From: Joonas Rikkonen Date: Mon, 9 Apr 2018 15:22:42 +0300 Subject: [PATCH] Railguns cannot be fired without aiming. Closes #364 --- .../BarotraumaShared/Content/Items/Weapons/railgun.xml | 2 +- .../Source/Items/Components/Machines/Controller.cs | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/Barotrauma/BarotraumaShared/Content/Items/Weapons/railgun.xml b/Barotrauma/BarotraumaShared/Content/Items/Weapons/railgun.xml index abbd6718c..7200610b4 100644 --- a/Barotrauma/BarotraumaShared/Content/Items/Weapons/railgun.xml +++ b/Barotrauma/BarotraumaShared/Content/Items/Weapons/railgun.xml @@ -40,7 +40,7 @@ - + diff --git a/Barotrauma/BarotraumaShared/Source/Items/Components/Machines/Controller.cs b/Barotrauma/BarotraumaShared/Source/Items/Components/Machines/Controller.cs index 0cf2ede66..9c7dd768c 100644 --- a/Barotrauma/BarotraumaShared/Source/Items/Components/Machines/Controller.cs +++ b/Barotrauma/BarotraumaShared/Source/Items/Components/Machines/Controller.cs @@ -39,6 +39,12 @@ namespace Barotrauma.Items.Components set { userPos = value; } } + [Serialize(false, true)] + public bool RequireAimToUse + { + get; set; + } + public Controller(Item item, XElement element) : base(item, element) { @@ -160,6 +166,8 @@ namespace Barotrauma.Items.Components return false; } + if (RequireAimToUse && !activator.IsKeyDown(InputType.Aim)) return false; + item.SendSignal(0, "1", "trigger_out", character); ApplyStatusEffects(ActionType.OnUse, 1.0f, activator);