From 892d6b425d23a6ce5a273f5ecf514d592a371bd7 Mon Sep 17 00:00:00 2001 From: Clyybber Date: Wed, 3 Jun 2020 17:06:14 +0200 Subject: [PATCH] Fix #1016 (#1068) --- .../Weapon/Ranged/Hitscan/HitscanWeaponComponent.cs | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/Content.Server/GameObjects/Components/Weapon/Ranged/Hitscan/HitscanWeaponComponent.cs b/Content.Server/GameObjects/Components/Weapon/Ranged/Hitscan/HitscanWeaponComponent.cs index 1e6d7aa95c..1fbdf0e5d6 100644 --- a/Content.Server/GameObjects/Components/Weapon/Ranged/Hitscan/HitscanWeaponComponent.cs +++ b/Content.Server/GameObjects/Components/Weapon/Ranged/Hitscan/HitscanWeaponComponent.cs @@ -100,7 +100,11 @@ namespace Content.Server.GameObjects.Components.Weapon.Ranged.Hitscan if (rayCastResults.Count >= 1) { Hit(rayCastResults[0], energyModifier, user); - AfterEffects(user, rayCastResults[0], angle, energyModifier); + AfterEffects(user, rayCastResults[0].Distance, angle, energyModifier); + } + else + { + AfterEffects(user, MaxLength, angle, energyModifier); } } @@ -114,17 +118,16 @@ namespace Content.Server.GameObjects.Components.Weapon.Ranged.Hitscan } } - protected virtual void AfterEffects(IEntity user, RayCastResults ray, Angle angle, float energyModifier) + protected virtual void AfterEffects(IEntity user, float distance, Angle angle, float energyModifier) { var time = IoCManager.Resolve().CurTime; - var dist = ray.Distance; - var offset = angle.ToVec() * dist / 2; + var offset = angle.ToVec() * distance / 2; var message = new EffectSystemMessage { EffectSprite = _spritename, Born = time, DeathTime = time + TimeSpan.FromSeconds(1), - Size = new Vector2(dist, 1f), + Size = new Vector2(distance, 1f), Coordinates = user.Transform.GridPosition.Translated(offset), //Rotated from east facing Rotation = (float) angle.Theta,