using Content.Shared.Trigger.Components.Triggers; using Content.Shared.Weapons.Hitscan.Events; namespace Content.Shared.Trigger.Systems; public sealed class TriggerOnHitscanSystem : TriggerOnXSystem { public override void Initialize() { base.Initialize(); SubscribeLocalEvent(OnHit); SubscribeLocalEvent(OnFired); } private void OnHit(Entity ent, ref HitscanRaycastFiredEvent args) { if (args.Data.HitEntity == null) return; Trigger.Trigger(ent.Owner, args.Data.HitEntity, ent.Comp.KeyOut); } private void OnFired(Entity ent, ref HitscanRaycastFiredEvent args) { Trigger.Trigger(ent.Owner, args.Data.Shooter, ent.Comp.KeyOut); } }