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