From a8f8426eed4621656d138b2445769a59b13d1276 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=BAlio=20C=C3=A9sar=20Ueti?= <52474532+Mirino97@users.noreply.github.com> Date: Tue, 21 Jun 2022 21:54:28 -0300 Subject: [PATCH] Fixes Esword not changing hit sound and sharpComp. (#9005) Co-authored-by: Kara --- .../EnergySword/Components/EnergySwordComponent.cs | 6 ++++++ .../Weapon/Melee/EnergySword/EnergySwordSystem.cs | 13 +++++++++++++ .../Entities/Objects/Weapons/Melee/e_sword.yml | 3 +-- 3 files changed, 20 insertions(+), 2 deletions(-) diff --git a/Content.Server/Weapon/Melee/EnergySword/Components/EnergySwordComponent.cs b/Content.Server/Weapon/Melee/EnergySword/Components/EnergySwordComponent.cs index 2f11c73661..ed358cc28e 100644 --- a/Content.Server/Weapon/Melee/EnergySword/Components/EnergySwordComponent.cs +++ b/Content.Server/Weapon/Melee/EnergySword/Components/EnergySwordComponent.cs @@ -24,6 +24,12 @@ namespace Content.Server.Weapon.Melee.EnergySword [DataField("deActivateSound")] public SoundSpecifier DeActivateSound { get; set; } = new SoundPathSpecifier("/Audio/Weapons/ebladeoff.ogg"); + [DataField("onHitOn")] + public SoundSpecifier OnHitOn { get; set; } = new SoundPathSpecifier("/Audio/Weapons/eblade1.ogg"); + + [DataField("onHitOff")] + public SoundSpecifier OnHitOff { get; set; } = new SoundPathSpecifier("/Audio/Weapons/genhit1.ogg"); + [DataField("colorOptions")] public List ColorOptions = new() { diff --git a/Content.Server/Weapon/Melee/EnergySword/EnergySwordSystem.cs b/Content.Server/Weapon/Melee/EnergySword/EnergySwordSystem.cs index aa675681a1..8f55b2359e 100644 --- a/Content.Server/Weapon/Melee/EnergySword/EnergySwordSystem.cs +++ b/Content.Server/Weapon/Melee/EnergySword/EnergySwordSystem.cs @@ -6,6 +6,9 @@ using Content.Shared.Light.Component; using Content.Shared.Toggleable; using Content.Shared.Tools.Components; using Content.Server.CombatMode.Disarm; +using Content.Server.Kitchen.Components; +using Content.Server.Weapon.Melee.Components; +using Content.Shared.Sound; using Robust.Shared.Audio; using Robust.Shared.Player; using Robust.Shared.Random; @@ -74,6 +77,11 @@ namespace Content.Server.Weapon.Melee.EnergySword malus.Malus -= comp.litDisarmMalus; } + if(TryComp(comp.Owner, out var weaponComp)) + weaponComp.HitSound = comp.OnHitOff; + + RemComp(comp.Owner); + SoundSystem.Play(comp.DeActivateSound.GetSound(), Filter.Pvs(comp.Owner, entityManager: EntityManager), comp.Owner); comp.Activated = false; @@ -89,6 +97,11 @@ namespace Content.Server.Weapon.Melee.EnergySword item.Size = 9999; } + EnsureComp(comp.Owner); + + if(TryComp(comp.Owner, out var weaponComp)) + weaponComp.HitSound = comp.OnHitOn; + SoundSystem.Play(comp.ActivateSound.GetSound(), Filter.Pvs(comp.Owner, entityManager: EntityManager), comp.Owner); if (TryComp(comp.Owner, out var malus)) diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Melee/e_sword.yml b/Resources/Prototypes/Entities/Objects/Weapons/Melee/e_sword.yml index 848b95003a..3c5a12ef66 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Melee/e_sword.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Melee/e_sword.yml @@ -11,7 +11,6 @@ Heat: 12.5 Blunt: -7 litDisarmMalus: 0.6 - - type: Sharp - type: Sprite sprite: Objects/Weapons/Melee/e_sword.rsi layers: @@ -23,7 +22,7 @@ map: [ "blade" ] - type: MeleeWeapon hitSound: - path: /Audio/Weapons/eblade1.ogg + path: /Audio/Weapons/genhit1.ogg damage: types: Blunt: 7