using Content.Shared.Weapons.Ranged.Events;
using Content.Shared.Weapons.Ranged.Systems;
using Content.Shared.Weapons.Reflect;
+using Content.Shared.Damage.Components;
using Robust.Shared.Audio;
using Robust.Shared.Map;
using Robust.Shared.Physics;
break;
var result = rayCastResults[0];
+
+ // Checks if the laser should pass over unless targeted by its user
+ foreach (var collide in rayCastResults)
+ {
+ if (collide.HitEntity != gun.Target &&
+ CompOrNull<RequireProjectileTargetComponent>(collide.HitEntity)?.Active == true)
+ {
+ continue;
+ }
+
+ result = collide;
+ break;
+ }
+
var hit = result.HitEntity;
lastHit = hit;