Pneumatic cannon accuracy buff (#23996)
make thrown item launchers stronger than hands more accurate (cherry picked from commit 5962f6d6e9e8dcb79877eafd7e5d8b2dedcab872)
This commit is contained in:
parent
d92f182514
commit
0fa31b334b
|
|
@ -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<HandsComponent>(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;
|
||||
|
|
|
|||
Loading…
Reference in New Issue