diff --git a/Content.Server/Bible/BibleSystem.cs b/Content.Server/Bible/BibleSystem.cs index 76efe3290b..d9033a0f94 100644 --- a/Content.Server/Bible/BibleSystem.cs +++ b/Content.Server/Bible/BibleSystem.cs @@ -84,7 +84,7 @@ namespace Content.Server.Bible } summonableComp.AlreadySummoned = false; _popupSystem.PopupEntity(Loc.GetString("bible-summon-respawn-ready", ("book", uid)), uid, PopupType.Medium); - _audio.PlayPvs("/Audio/Effects/radpulse9.ogg", uid, AudioParams.Default.WithVolume(-4f)); + _audio.PlayPvs(summonableComp.SummonSound, uid); // Clean up the accumulator and respawn tracking component summonableComp.Accumulator = 0; _remQueue.Enqueue(uid); @@ -126,7 +126,7 @@ namespace Content.Server.Bible var selfFailMessage = Loc.GetString(component.LocPrefix + "-heal-fail-self", ("target", Identity.Entity(args.Target.Value, EntityManager)), ("bible", uid)); _popupSystem.PopupEntity(selfFailMessage, args.User, args.User, PopupType.MediumCaution); - _audio.PlayPvs("/Audio/Effects/hit_kick.ogg", args.User); + _audio.PlayPvs(component.BibleHitSound, args.User); _damageableSystem.TryChangeDamage(args.Target.Value, component.DamageOnFail, true, origin: uid); _delay.TryResetDelay((uid, useDelay)); return; diff --git a/Content.Server/Bible/Components/BibleComponent.cs b/Content.Server/Bible/Components/BibleComponent.cs index b7dc3db8e3..7f4af569e5 100644 --- a/Content.Server/Bible/Components/BibleComponent.cs +++ b/Content.Server/Bible/Components/BibleComponent.cs @@ -1,11 +1,23 @@ using Content.Shared.Damage; using Robust.Shared.Audio; +using Robust.Shared.Prototypes; namespace Content.Server.Bible.Components { [RegisterComponent] public sealed partial class BibleComponent : Component { + /// + /// Default sound when bible hits somebody. + /// + private static readonly ProtoId DefaultBibleHit = new("BibleHit"); + + /// + /// Sound to play when bible hits somebody. + /// + [DataField] + public SoundSpecifier BibleHitSound = new SoundCollectionSpecifier(DefaultBibleHit, AudioParams.Default.WithVolume(-4f)); + /// /// Damage that will be healed on a success /// diff --git a/Content.Server/Bible/Components/SummonableComponent.cs b/Content.Server/Bible/Components/SummonableComponent.cs index 62f536d5d6..fa180c932e 100644 --- a/Content.Server/Bible/Components/SummonableComponent.cs +++ b/Content.Server/Bible/Components/SummonableComponent.cs @@ -1,3 +1,4 @@ +using Robust.Shared.Audio; using Robust.Shared.Prototypes; using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype; @@ -9,6 +10,17 @@ namespace Content.Server.Bible.Components [RegisterComponent] public sealed partial class SummonableComponent : Component { + /// + /// Default sound to play when entity is summoned. + /// + private static readonly ProtoId DefaultSummonSound = new("Summon"); + + /// + /// Sound to play when entity is summoned. + /// + [DataField] + public SoundSpecifier SummonSound = new SoundCollectionSpecifier(DefaultSummonSound, AudioParams.Default.WithVolume(-4f)); + /// /// Used for a special item only the Chaplain can summon. Usually a mob, but supports regular items too. /// diff --git a/Resources/Prototypes/SoundCollections/bible.yml b/Resources/Prototypes/SoundCollections/bible.yml new file mode 100644 index 0000000000..90075881cb --- /dev/null +++ b/Resources/Prototypes/SoundCollections/bible.yml @@ -0,0 +1,9 @@ +- type: soundCollection + id: Summon + files: + - /Audio/Effects/radpulse9.ogg + +- type: soundCollection + id: BibleHit + files: + - /Audio/Effects/hit_kick.ogg