From: GreyMario Date: Sat, 13 Jan 2024 07:29:19 +0000 (-0800) Subject: Pneumatic cannon accuracy buff (#23996) X-Git-Url: https://git.smokeofanarchy.ru/gitweb.cgi?a=commitdiff_plain;h=5962f6d6e9e8dcb79877eafd7e5d8b2dedcab872;p=space-station-14.git Pneumatic cannon accuracy buff (#23996) make thrown item launchers stronger than hands more accurate --- diff --git a/Content.Shared/Throwing/ThrowingSystem.cs b/Content.Shared/Throwing/ThrowingSystem.cs index a4c95ec5e3..e631546411 100644 --- a/Content.Shared/Throwing/ThrowingSystem.cs +++ b/Content.Shared/Throwing/ThrowingSystem.cs @@ -2,6 +2,8 @@ using System.Numerics; using Content.Shared.Administration.Logs; using Content.Shared.Database; using Content.Shared.Gravity; +using Content.Shared.Hands.Components; +using Content.Shared.Hands.EntitySystems; using Content.Shared.Interaction; using Content.Shared.Projectiles; using Content.Shared.Tag; @@ -118,7 +120,11 @@ public sealed class ThrowingSystem : EntitySystem // Estimate time to arrival so we can apply OnGround status and slow it much faster. var time = direction.Length() / strength; comp.ThrownTime = _gameTiming.CurTime; - comp.LandTime = time < FlyTime ? default : comp.ThrownTime + TimeSpan.FromSeconds(time - FlyTime); + // did we launch this with something stronger than our hands? + if (TryComp(comp.Thrower, out var hands) && strength > hands.ThrowForceMultiplier) + comp.LandTime = comp.ThrownTime + TimeSpan.FromSeconds(time); + else + comp.LandTime = time < FlyTime ? default : comp.ThrownTime + TimeSpan.FromSeconds(time - FlyTime); comp.PlayLandSound = playSound; ThrowingAngleComponent? throwingAngle = null;