private void OnMuzzleFlash(MuzzleFlashEvent args)
{
- CreateEffect(GetEntity(args.Uid), args);
+ var gunUid = GetEntity(args.Uid);
+
+ CreateEffect(gunUid, args, gunUid);
}
private void OnHitscan(HitscanEvent ev)
PopupSystem.PopupEntity(message, uid.Value, user.Value);
}
- protected override void CreateEffect(EntityUid gunUid, MuzzleFlashEvent message, EntityUid? user = null)
+ protected override void CreateEffect(EntityUid gunUid, MuzzleFlashEvent message, EntityUid? tracked = null)
{
if (!Timing.IsFirstTimePredicted)
return;
// TODO: Check to see why invalid entities are firing effects.
if (gunUid == EntityUid.Invalid)
{
- Log.Debug($"Invalid Entity sent MuzzleFlashEvent (proto: {message.Prototype}, user: {user})");
+ Log.Debug($"Invalid Entity sent MuzzleFlashEvent (proto: {message.Prototype}, gun: {ToPrettyString(gunUid)})");
return;
}
var ent = Spawn(message.Prototype, coordinates);
TransformSystem.SetWorldRotationNoLerp(ent, message.Angle);
- if (user != null)
+ if (tracked != null)
{
var track = EnsureComp<TrackUserComponent>(ent);
- track.User = user;
+ track.User = tracked;
track.Offset = Vector2.UnitX / 2f;
}
return;
var ev = new MuzzleFlashEvent(GetNetEntity(gun), sprite, worldAngle);
- CreateEffect(gun, ev, user);
+ CreateEffect(gun, ev, gun);
}
public void CauseImpulse(EntityCoordinates fromCoordinates, EntityCoordinates toCoordinates, EntityUid user, PhysicsComponent userPhysics)