using Content.Shared.Damage.Systems; using Content.Shared.Weapons.Hitscan.Components; using Content.Shared.Weapons.Hitscan.Events; namespace Content.Shared.Weapons.Hitscan.Systems; public sealed class HitscanStunSystem : EntitySystem { [Dependency] private readonly SharedStaminaSystem _stamina = default!; public override void Initialize() { base.Initialize(); SubscribeLocalEvent(OnHitscanHit); } private void OnHitscanHit(Entity hitscan, ref HitscanRaycastFiredEvent args) { if (args.Data.HitEntity == null) return; _stamina.TakeStaminaDamage(args.Data.HitEntity.Value, hitscan.Comp.StaminaDamage, source: args.Data.Shooter ?? args.Data.Gun); } }