From c5791876731fb2c205ae7c0e7ad2b0adef4395b1 Mon Sep 17 00:00:00 2001 From: SoulSloth <67545203+SoulSloth@users.noreply.github.com> Date: Tue, 28 Jul 2020 02:42:32 -0400 Subject: [PATCH] Moved audio playing for melee to be before damage caculation (#1494) --- .../Weapon/Melee/MeleeWeaponComponent.cs | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/Content.Server/GameObjects/Components/Weapon/Melee/MeleeWeaponComponent.cs b/Content.Server/GameObjects/Components/Weapon/Melee/MeleeWeaponComponent.cs index 76ad68b7ce..8faffa150d 100644 --- a/Content.Server/GameObjects/Components/Weapon/Melee/MeleeWeaponComponent.cs +++ b/Content.Server/GameObjects/Components/Weapon/Melee/MeleeWeaponComponent.cs @@ -100,6 +100,16 @@ namespace Content.Server.GameObjects.Components.Weapon.Melee // This should really be improved. GetEntitiesInArc uses pos instead of bounding boxes. var entities = ArcRayCast(eventArgs.User.Transform.WorldPosition, angle, eventArgs.User); + var audioSystem = EntitySystem.Get(); + if (entities.Count() != 0) + { + audioSystem.PlayFromEntity( _hitSound, entities.First()); + } + else + { + audioSystem.PlayFromEntity("/Audio/Weapons/punchmiss.ogg", eventArgs.User); + } + var hitEntities = new List(); foreach (var entity in entities) { @@ -115,10 +125,6 @@ namespace Content.Server.GameObjects.Components.Weapon.Melee if(!OnHitEntities(hitEntities, eventArgs)) return; - var audioSystem = EntitySystem.Get(); - var emitter = hitEntities.Count == 0 ? eventArgs.User : hitEntities[0]; - audioSystem.PlayFromEntity(hitEntities.Count > 0 ? _hitSound : "/Audio/Weapons/punchmiss.ogg", emitter); - if (Arc != null) { var sys = _entitySystemManager.GetEntitySystem();