From 66f64bc9523228e338071dc530926a4ff99dac92 Mon Sep 17 00:00:00 2001
From: "Mr. 27" <45323883+Dutch-VanDerLinde@users.noreply.github.com>
Date: Thu, 31 Jul 2025 09:22:33 -0400
Subject: [PATCH] Allow EmoteSoundsPrototype to have parents (#38890)
* inital
* Update Content.Shared/Chat/Prototypes/EmoteSoundsPrototype.cs
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
* ProtoId
* Unneeded
* Update Content.Shared/Chat/Prototypes/EmoteSoundsPrototype.cs
* Update Content.Shared/Chat/Prototypes/EmoteSoundsPrototype.cs
---------
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
---
.../Chat/Prototypes/EmoteSoundsPrototype.cs | 19 ++++++++++++++-----
1 file changed, 14 insertions(+), 5 deletions(-)
diff --git a/Content.Shared/Chat/Prototypes/EmoteSoundsPrototype.cs b/Content.Shared/Chat/Prototypes/EmoteSoundsPrototype.cs
index 4364e13d84..0138009ef9 100644
--- a/Content.Shared/Chat/Prototypes/EmoteSoundsPrototype.cs
+++ b/Content.Shared/Chat/Prototypes/EmoteSoundsPrototype.cs
@@ -1,7 +1,6 @@
using Robust.Shared.Audio;
using Robust.Shared.Prototypes;
-using Robust.Shared.Serialization;
-using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype.Dictionary;
+using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype.Array;
namespace Content.Shared.Chat.Prototypes;
@@ -10,11 +9,20 @@ namespace Content.Shared.Chat.Prototypes;
/// Different entities may use different sounds collections.
///
[Prototype]
-public sealed partial class EmoteSoundsPrototype : IPrototype
+public sealed partial class EmoteSoundsPrototype : IPrototype, IInheritingPrototype
{
[IdDataField]
public string ID { get; private set; } = default!;
+ ///
+ [ParentDataField(typeof(AbstractPrototypeIdArraySerializer))]
+ public string[]? Parents { get; private set; }
+
+ ///
+ [AbstractDataField]
+ [NeverPushInheritance]
+ public bool Abstract { get; }
+
///
/// Optional fallback sound that will play if collection
/// doesn't have specific sound for this emote id.
@@ -32,6 +40,7 @@ public sealed partial class EmoteSoundsPrototype : IPrototype
///
/// Collection of emote prototypes and their sounds.
///
- [DataField("sounds", customTypeSerializer: typeof(PrototypeIdDictionarySerializer))]
- public Dictionary Sounds = new();
+ [DataField]
+ [AlwaysPushInheritance]
+ public Dictionary, SoundSpecifier> Sounds = new();
}
--
2.51.2