using Robust.Shared.Prototypes; using Robust.Shared.Serialization; using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype.List; namespace Content.Shared.Damage.Prototypes { /// /// A damage container which can be used to specify support for various damage types. /// /// /// This is effectively just a list of damage types that can be specified in YAML files using both damage types /// and damage groups. Currently this is only used to specify what damage types a should support. /// [Prototype] [Serializable, NetSerializable] public sealed partial class DamageContainerPrototype : IPrototype { [ViewVariables] [IdDataField] public string ID { get; private set; } = default!; /// /// List of damage groups that are supported by this container. /// [DataField("supportedGroups", customTypeSerializer: typeof(PrototypeIdListSerializer))] public List SupportedGroups = new(); /// /// Partial List of damage types supported by this container. Note that members of the damage groups listed /// in are also supported, but they are not included in this list. /// [DataField("supportedTypes", customTypeSerializer: typeof(PrototypeIdListSerializer))] public List SupportedTypes = new(); } }