diff --git a/Content.Server/Administration/AdminManager.cs b/Content.Server/Administration/AdminManager.cs
index 7085525d2f..f3d6c3703f 100644
--- a/Content.Server/Administration/AdminManager.cs
+++ b/Content.Server/Administration/AdminManager.cs
@@ -490,6 +490,11 @@ namespace Content.Server.Administration
return GetAdminData(session)?.CanAdminMenu() ?? false;
}
+ public bool CanAdminReloadPrototypes(IPlayerSession session)
+ {
+ return GetAdminData(session)?.CanAdminReloadPrototypes() ?? false;
+ }
+
private void SendPermsChangedEvent(IPlayerSession session)
{
var flags = GetAdminData(session)?.Flags;
diff --git a/Content.Server/Atmos/Reactions/GasReactionPrototype.cs b/Content.Server/Atmos/Reactions/GasReactionPrototype.cs
index 8e4e6718a4..6805f8f2d2 100644
--- a/Content.Server/Atmos/Reactions/GasReactionPrototype.cs
+++ b/Content.Server/Atmos/Reactions/GasReactionPrototype.cs
@@ -23,7 +23,7 @@ namespace Content.Server.Atmos.Reactions
}
[Prototype("gasReaction")]
- public class GasReactionPrototype : IPrototype, IIndexedPrototype
+ public class GasReactionPrototype : IPrototype
{
public string ID { get; private set; }
diff --git a/Content.Server/Botany/Seed.cs b/Content.Server/Botany/Seed.cs
index 56240adf5c..020fedfa67 100644
--- a/Content.Server/Botany/Seed.cs
+++ b/Content.Server/Botany/Seed.cs
@@ -66,7 +66,7 @@ namespace Content.Server.Botany
}
[Prototype("seed")]
- public class Seed : IPrototype, IIndexedPrototype, IExposeData
+ public class Seed : IPrototype, IExposeData
{
private const string SeedPrototype = "SeedBase";
diff --git a/Content.Server/GameObjects/Components/BarSign/BarSignPrototype.cs b/Content.Server/GameObjects/Components/BarSign/BarSignPrototype.cs
index 7026d7b8b5..79e2d7903d 100644
--- a/Content.Server/GameObjects/Components/BarSign/BarSignPrototype.cs
+++ b/Content.Server/GameObjects/Components/BarSign/BarSignPrototype.cs
@@ -6,7 +6,7 @@ using YamlDotNet.RepresentationModel;
namespace Content.Server.GameObjects.Components.BarSign
{
[Prototype("barSign")]
- public class BarSignPrototype : IPrototype, IIndexedPrototype
+ public class BarSignPrototype : IPrototype
{
public string ID { get; private set; }
public string Icon { get; private set; }
diff --git a/Content.Server/Holiday/HolidayPrototype.cs b/Content.Server/Holiday/HolidayPrototype.cs
index 6843d4eef8..49750e717c 100644
--- a/Content.Server/Holiday/HolidayPrototype.cs
+++ b/Content.Server/Holiday/HolidayPrototype.cs
@@ -12,7 +12,7 @@ using YamlDotNet.RepresentationModel;
namespace Content.Server.Holiday
{
[Prototype("holiday")]
- public class HolidayPrototype : IPrototype, IIndexedPrototype
+ public class HolidayPrototype : IPrototype
{
[ViewVariables] public string Name { get; private set; } = string.Empty;
[ViewVariables] public string ID { get; private set; } = string.Empty;
diff --git a/Content.Server/Objectives/ObjectivePrototype.cs b/Content.Server/Objectives/ObjectivePrototype.cs
index 4472f4274b..712f098e43 100644
--- a/Content.Server/Objectives/ObjectivePrototype.cs
+++ b/Content.Server/Objectives/ObjectivePrototype.cs
@@ -10,7 +10,7 @@ using YamlDotNet.RepresentationModel;
namespace Content.Server.Objectives
{
[Prototype("objective")]
- public class ObjectivePrototype : IPrototype, IIndexedPrototype
+ public class ObjectivePrototype : IPrototype
{
[ViewVariables]
public string ID { get; private set; }
diff --git a/Content.Shared/Access/AccessLevelPrototype.cs b/Content.Shared/Access/AccessLevelPrototype.cs
index 9e042701ae..fec1477147 100644
--- a/Content.Shared/Access/AccessLevelPrototype.cs
+++ b/Content.Shared/Access/AccessLevelPrototype.cs
@@ -9,7 +9,7 @@ namespace Content.Shared.Access
/// Defines a single access level that can be stored on ID cards and checked for.
///
[Prototype("accessLevel")]
- public class AccessLevelPrototype : IPrototype, IIndexedPrototype
+ public class AccessLevelPrototype : IPrototype
{
public void LoadFrom(YamlMappingNode mapping)
{
diff --git a/Content.Shared/Actions/BaseActionPrototype.cs b/Content.Shared/Actions/BaseActionPrototype.cs
index 2cfd90b624..3279258d49 100644
--- a/Content.Shared/Actions/BaseActionPrototype.cs
+++ b/Content.Shared/Actions/BaseActionPrototype.cs
@@ -15,6 +15,8 @@ namespace Content.Shared.Actions
///
public abstract class BaseActionPrototype : IPrototype
{
+ public string ID { get; private set; }
+
///
/// Icon representing this action in the UI.
///
@@ -89,7 +91,11 @@ namespace Content.Shared.Actions
var serializer = YamlObjectSerializer.NewReader(mapping);
serializer.DataReadFunction("name", string.Empty,
- s => Name = FormattedMessage.FromMarkup(s));
+ s =>
+ {
+ ID = s;
+ Name = FormattedMessage.FromMarkup(s);
+ });
serializer.DataReadFunction("description", string.Empty,
s => Description = FormattedMessage.FromMarkup(s));
diff --git a/Content.Shared/Administration/AdminData.cs b/Content.Shared/Administration/AdminData.cs
index 8c56f901ed..a0727efc67 100644
--- a/Content.Shared/Administration/AdminData.cs
+++ b/Content.Shared/Administration/AdminData.cs
@@ -64,5 +64,10 @@ namespace Content.Shared.Administration
{
return HasFlag(AdminFlags.Admin);
}
+
+ public bool CanAdminReloadPrototypes()
+ {
+ return HasFlag(AdminFlags.Host);
+ }
}
}
diff --git a/Content.Shared/Alert/AlertOrderPrototype.cs b/Content.Shared/Alert/AlertOrderPrototype.cs
index 18cf2eb617..7e2393efe9 100644
--- a/Content.Shared/Alert/AlertOrderPrototype.cs
+++ b/Content.Shared/Alert/AlertOrderPrototype.cs
@@ -12,23 +12,29 @@ namespace Content.Shared.Alert
[Prototype("alertOrder")]
public class AlertOrderPrototype : IPrototype, IComparer
{
+ public string ID { get; private set; }
+
private readonly Dictionary _typeToIdx = new();
private readonly Dictionary _categoryToIdx = new();
public void LoadFrom(YamlMappingNode mapping)
{
+ var serializer = YamlObjectSerializer.NewReader(mapping);
+
+ serializer.DataField(this, x => x.ID, "id", string.Empty);
+
if (!mapping.TryGetNode("order", out YamlSequenceNode orderMapping)) return;
- int i = 0;
+ var i = 0;
foreach (var entryYaml in orderMapping)
{
var orderEntry = (YamlMappingNode) entryYaml;
- var serializer = YamlObjectSerializer.NewReader(orderEntry);
- if (serializer.TryReadDataField("category", out AlertCategory alertCategory))
+ var orderSerializer = YamlObjectSerializer.NewReader(orderEntry);
+ if (orderSerializer.TryReadDataField("category", out AlertCategory alertCategory))
{
_categoryToIdx[alertCategory] = i++;
}
- else if (serializer.TryReadDataField("alertType", out AlertType alertType))
+ else if (orderSerializer.TryReadDataField("alertType", out AlertType alertType))
{
_typeToIdx[alertType] = i++;
}
diff --git a/Content.Shared/Alert/AlertPrototype.cs b/Content.Shared/Alert/AlertPrototype.cs
index e2af7906b0..465f1c5d92 100644
--- a/Content.Shared/Alert/AlertPrototype.cs
+++ b/Content.Shared/Alert/AlertPrototype.cs
@@ -17,6 +17,8 @@ namespace Content.Shared.Alert
[Prototype("alert")]
public class AlertPrototype : IPrototype
{
+ public string ID { get; private set; }
+
///
/// Type of alert, no 2 alert prototypes should have the same one.
///
@@ -94,7 +96,11 @@ namespace Content.Shared.Alert
serializer.DataField(ref _minSeverity, "minSeverity", (short) 1);
serializer.DataReadFunction("name", string.Empty,
- s => Name = FormattedMessage.FromMarkup(s));
+ s =>
+ {
+ ID = s;
+ Name = FormattedMessage.FromMarkup(s);
+ });
serializer.DataReadFunction("description", string.Empty,
s => Description = FormattedMessage.FromMarkup(s));
diff --git a/Content.Shared/Atmos/GasPrototype.cs b/Content.Shared/Atmos/GasPrototype.cs
index 1878f6a9b0..421d6a115b 100644
--- a/Content.Shared/Atmos/GasPrototype.cs
+++ b/Content.Shared/Atmos/GasPrototype.cs
@@ -5,7 +5,7 @@ using YamlDotNet.RepresentationModel;
namespace Content.Shared.Atmos
{
[Prototype("gas")]
- public class GasPrototype : IPrototype, IIndexedPrototype
+ public class GasPrototype : IPrototype
{
public string Name { get; private set; }
diff --git a/Content.Shared/Audio/SoundCollectionPrototype.cs b/Content.Shared/Audio/SoundCollectionPrototype.cs
index e4918bf518..a742ca1fbf 100644
--- a/Content.Shared/Audio/SoundCollectionPrototype.cs
+++ b/Content.Shared/Audio/SoundCollectionPrototype.cs
@@ -6,7 +6,7 @@ using YamlDotNet.RepresentationModel;
namespace Content.Shared.Audio
{
[Prototype("soundCollection")]
- public sealed class SoundCollectionPrototype : IPrototype, IIndexedPrototype
+ public sealed class SoundCollectionPrototype : IPrototype
{
public string ID { get; private set; }
public IReadOnlyList PickFiles { get; private set; }
diff --git a/Content.Shared/Chemistry/ReactionPrototype.cs b/Content.Shared/Chemistry/ReactionPrototype.cs
index fa6b8280f1..558f5012c4 100644
--- a/Content.Shared/Chemistry/ReactionPrototype.cs
+++ b/Content.Shared/Chemistry/ReactionPrototype.cs
@@ -14,7 +14,7 @@ namespace Content.Shared.Chemistry
/// Prototype for chemical reaction definitions
///
[Prototype("reaction")]
- public class ReactionPrototype : IPrototype, IIndexedPrototype
+ public class ReactionPrototype : IPrototype
{
private string _id = default!;
private string _name = default!;
diff --git a/Content.Shared/Chemistry/ReagentPrototype.cs b/Content.Shared/Chemistry/ReagentPrototype.cs
index 2773f8df5d..ab09269656 100644
--- a/Content.Shared/Chemistry/ReagentPrototype.cs
+++ b/Content.Shared/Chemistry/ReagentPrototype.cs
@@ -15,7 +15,7 @@ using YamlDotNet.RepresentationModel;
namespace Content.Shared.Chemistry
{
[Prototype("reagent")]
- public class ReagentPrototype : IPrototype, IIndexedPrototype
+ public class ReagentPrototype : IPrototype
{
[Dependency] private readonly IModuleManager _moduleManager = default!;
diff --git a/Content.Shared/Construction/ConstructionGraphPrototype.cs b/Content.Shared/Construction/ConstructionGraphPrototype.cs
index 857dff7bdb..ccc8e541a3 100644
--- a/Content.Shared/Construction/ConstructionGraphPrototype.cs
+++ b/Content.Shared/Construction/ConstructionGraphPrototype.cs
@@ -10,7 +10,7 @@ using YamlDotNet.RepresentationModel;
namespace Content.Shared.Construction
{
[Prototype("constructionGraph")]
- public class ConstructionGraphPrototype : IPrototype, IIndexedPrototype
+ public class ConstructionGraphPrototype : IPrototype
{
private readonly Dictionary _nodes = new();
private readonly Dictionary, ConstructionGraphNode[]> _paths = new();
diff --git a/Content.Shared/Construction/ConstructionPrototype.cs b/Content.Shared/Construction/ConstructionPrototype.cs
index 17d88a7f9e..542c4adfbc 100644
--- a/Content.Shared/Construction/ConstructionPrototype.cs
+++ b/Content.Shared/Construction/ConstructionPrototype.cs
@@ -7,7 +7,7 @@ using YamlDotNet.RepresentationModel;
namespace Content.Shared.Construction
{
[Prototype("construction")]
- public class ConstructionPrototype : IPrototype, IIndexedPrototype
+ public class ConstructionPrototype : IPrototype
{
private List _conditions;
diff --git a/Content.Shared/Damage/DamageContainer/DamageContainerPrototype.cs b/Content.Shared/Damage/DamageContainer/DamageContainerPrototype.cs
index b43f800ec9..abc3069266 100644
--- a/Content.Shared/Damage/DamageContainer/DamageContainerPrototype.cs
+++ b/Content.Shared/Damage/DamageContainer/DamageContainerPrototype.cs
@@ -12,7 +12,7 @@ namespace Content.Shared.Damage.DamageContainer
///
[Prototype("damageContainer")]
[Serializable, NetSerializable]
- public class DamageContainerPrototype : IPrototype, IIndexedPrototype
+ public class DamageContainerPrototype : IPrototype
{
private bool _supportAll;
private HashSet _supportedClasses;
diff --git a/Content.Shared/Damage/ResistanceSet/ResistanceSetPrototype.cs b/Content.Shared/Damage/ResistanceSet/ResistanceSetPrototype.cs
index 821723053f..108b45e4a1 100644
--- a/Content.Shared/Damage/ResistanceSet/ResistanceSetPrototype.cs
+++ b/Content.Shared/Damage/ResistanceSet/ResistanceSetPrototype.cs
@@ -12,7 +12,7 @@ namespace Content.Shared.Damage.ResistanceSet
///
[Prototype("resistanceSet")]
[Serializable, NetSerializable]
- public class ResistanceSetPrototype : IPrototype, IIndexedPrototype
+ public class ResistanceSetPrototype : IPrototype
{
private Dictionary _coefficients;
private Dictionary _flatReductions;
diff --git a/Content.Shared/GameObjects/Components/Body/Preset/BodyPresetPrototype.cs b/Content.Shared/GameObjects/Components/Body/Preset/BodyPresetPrototype.cs
index 6c7a0e1126..29e623e521 100644
--- a/Content.Shared/GameObjects/Components/Body/Preset/BodyPresetPrototype.cs
+++ b/Content.Shared/GameObjects/Components/Body/Preset/BodyPresetPrototype.cs
@@ -13,7 +13,7 @@ namespace Content.Shared.GameObjects.Components.Body.Preset
///
[Prototype("bodyPreset")]
[Serializable, NetSerializable]
- public class BodyPresetPrototype : IPrototype, IIndexedPrototype
+ public class BodyPresetPrototype : IPrototype
{
private string _id;
private string _name;
diff --git a/Content.Shared/GameObjects/Components/Body/Template/BodyTemplatePrototype.cs b/Content.Shared/GameObjects/Components/Body/Template/BodyTemplatePrototype.cs
index d1da8c8766..dd661952b7 100644
--- a/Content.Shared/GameObjects/Components/Body/Template/BodyTemplatePrototype.cs
+++ b/Content.Shared/GameObjects/Components/Body/Template/BodyTemplatePrototype.cs
@@ -14,7 +14,7 @@ namespace Content.Shared.GameObjects.Components.Body.Template
///
[Prototype("bodyTemplate")]
[Serializable, NetSerializable]
- public class BodyTemplatePrototype : IPrototype, IIndexedPrototype
+ public class BodyTemplatePrototype : IPrototype
{
private string _id;
private string _name;
diff --git a/Content.Shared/GameObjects/Components/Chemistry/ReagentDispenser/ReagentDispenserInventoryPrototype.cs b/Content.Shared/GameObjects/Components/Chemistry/ReagentDispenser/ReagentDispenserInventoryPrototype.cs
index aa95bfe187..56f8841269 100644
--- a/Content.Shared/GameObjects/Components/Chemistry/ReagentDispenser/ReagentDispenserInventoryPrototype.cs
+++ b/Content.Shared/GameObjects/Components/Chemistry/ReagentDispenser/ReagentDispenserInventoryPrototype.cs
@@ -13,7 +13,7 @@ namespace Content.Shared.GameObjects.Components.Chemistry.ReagentDispenser
/// machines define their inventory.
///
[Serializable, NetSerializable, Prototype("reagentDispenserInventory")]
- public class ReagentDispenserInventoryPrototype : IPrototype, IIndexedPrototype
+ public class ReagentDispenserInventoryPrototype : IPrototype
{
private string _id;
private List _inventory;
diff --git a/Content.Shared/GameObjects/Components/SharedCrayonComponent.cs b/Content.Shared/GameObjects/Components/SharedCrayonComponent.cs
index d7286dc701..17c44fdfc5 100644
--- a/Content.Shared/GameObjects/Components/SharedCrayonComponent.cs
+++ b/Content.Shared/GameObjects/Components/SharedCrayonComponent.cs
@@ -73,6 +73,8 @@ namespace Content.Shared.GameObjects.Components
[Serializable, NetSerializable, Prototype("crayonDecal")]
public class CrayonDecalPrototype : IPrototype
{
+ public string ID { get; private set; }
+
private string _spritePath;
public string SpritePath => _spritePath;
@@ -83,6 +85,7 @@ namespace Content.Shared.GameObjects.Components
{
var serializer = YamlObjectSerializer.NewReader(mapping);
+ serializer.DataField(this, x => x.ID, "id", string.Empty);
serializer.DataField(ref _spritePath, "spritePath", "");
serializer.DataField(ref _decals, "decals", new List());
}
diff --git a/Content.Shared/GameObjects/Components/Weapons/Melee/MeleeWeaponAnimationPrototype.cs b/Content.Shared/GameObjects/Components/Weapons/Melee/MeleeWeaponAnimationPrototype.cs
index 6150e3c173..dec76db0df 100644
--- a/Content.Shared/GameObjects/Components/Weapons/Melee/MeleeWeaponAnimationPrototype.cs
+++ b/Content.Shared/GameObjects/Components/Weapons/Melee/MeleeWeaponAnimationPrototype.cs
@@ -8,7 +8,7 @@ using YamlDotNet.RepresentationModel;
namespace Content.Shared.GameObjects.Components.Weapons.Melee
{
[Prototype("MeleeWeaponAnimation")]
- public sealed class MeleeWeaponAnimationPrototype : IPrototype, IIndexedPrototype
+ public sealed class MeleeWeaponAnimationPrototype : IPrototype
{
private string _prototype;
private string _state;
@@ -19,7 +19,7 @@ namespace Content.Shared.GameObjects.Components.Weapons.Melee
private float _speed;
private float _width;
private WeaponArcType _arcType;
-
+
[ViewVariables] public string ID => _id;
[ViewVariables] public string State => _state;
[ViewVariables] public string Prototype => _prototype;
diff --git a/Content.Shared/Maps/ContentTileDefinition.cs b/Content.Shared/Maps/ContentTileDefinition.cs
index 5954d55321..959fe20082 100644
--- a/Content.Shared/Maps/ContentTileDefinition.cs
+++ b/Content.Shared/Maps/ContentTileDefinition.cs
@@ -10,9 +10,9 @@ namespace Content.Shared.Maps
{
[UsedImplicitly]
[Prototype("tile")]
- public sealed class ContentTileDefinition : IPrototype, IIndexedPrototype, ITileDefinition
+ public sealed class ContentTileDefinition : IPrototype, ITileDefinition
{
- string IIndexedPrototype.ID => Name;
+ string IPrototype.ID => Name;
public string Name { get; private set; }
public ushort TileId { get; private set; }
diff --git a/Content.Shared/Materials/Material.cs b/Content.Shared/Materials/Material.cs
index 0c9e7b2f87..f5ec67062f 100644
--- a/Content.Shared/Materials/Material.cs
+++ b/Content.Shared/Materials/Material.cs
@@ -112,7 +112,7 @@ namespace Content.Shared.Materials
}
[Prototype("material")]
- public class MaterialPrototype : IPrototype, IIndexedPrototype
+ public class MaterialPrototype : IPrototype
{
public string ID { get; private set; }
diff --git a/Content.Shared/Prototypes/Cargo/CargoProductPrototype.cs b/Content.Shared/Prototypes/Cargo/CargoProductPrototype.cs
index b30e04f9d3..d3c98cc623 100644
--- a/Content.Shared/Prototypes/Cargo/CargoProductPrototype.cs
+++ b/Content.Shared/Prototypes/Cargo/CargoProductPrototype.cs
@@ -9,7 +9,7 @@ using YamlDotNet.RepresentationModel;
namespace Content.Shared.Prototypes.Cargo
{
[NetSerializable, Serializable, Prototype("cargoProduct")]
- public class CargoProductPrototype : IPrototype, IIndexedPrototype
+ public class CargoProductPrototype : IPrototype
{
private string _id;
private string _name;
diff --git a/Content.Shared/Prototypes/DatasetPrototype.cs b/Content.Shared/Prototypes/DatasetPrototype.cs
index 849800fb93..0da4e4c236 100644
--- a/Content.Shared/Prototypes/DatasetPrototype.cs
+++ b/Content.Shared/Prototypes/DatasetPrototype.cs
@@ -6,7 +6,7 @@ using YamlDotNet.RepresentationModel;
namespace Content.Shared.Prototypes
{
[Prototype("dataset")]
- public class DatasetPrototype : IPrototype, IIndexedPrototype
+ public class DatasetPrototype : IPrototype
{
private string _id;
public string ID => _id;
diff --git a/Content.Shared/Prototypes/Kitchen/MicrowaveMealRecipePrototype.cs b/Content.Shared/Prototypes/Kitchen/MicrowaveMealRecipePrototype.cs
index d0c6d44357..94748203d0 100644
--- a/Content.Shared/Prototypes/Kitchen/MicrowaveMealRecipePrototype.cs
+++ b/Content.Shared/Prototypes/Kitchen/MicrowaveMealRecipePrototype.cs
@@ -9,20 +9,17 @@ namespace Content.Shared.Prototypes.Kitchen
///
/// A recipe for space microwaves.
///
-
[Prototype("microwaveMealRecipe")]
-
- public class FoodRecipePrototype : IPrototype, IIndexedPrototype
+ public class FoodRecipePrototype : IPrototype
{
-
private string _id;
private string _name;
private string _result;
private int _cookTime;
-
+
private Dictionary _ingsReagents;
private Dictionary _ingsSolids;
-
+
public string Name => Loc.GetString(_name);
public string ID => _id;
public string Result => _result;
@@ -30,7 +27,6 @@ namespace Content.Shared.Prototypes.Kitchen
public IReadOnlyDictionary IngredientsReagents => _ingsReagents;
public IReadOnlyDictionary IngredientsSolids => _ingsSolids;
-
public void LoadFrom(YamlMappingNode mapping)
{
var serializer = YamlObjectSerializer.NewReader(mapping);
@@ -42,6 +38,5 @@ namespace Content.Shared.Prototypes.Kitchen
serializer.DataField(ref _ingsSolids, "solids", new Dictionary());
serializer.DataField(ref _cookTime, "time", 5);
}
-
}
}
diff --git a/Content.Shared/Prototypes/PDA/UplinkStoreListingPrototype.cs b/Content.Shared/Prototypes/PDA/UplinkStoreListingPrototype.cs
index a00d5ff666..52e54482ed 100644
--- a/Content.Shared/Prototypes/PDA/UplinkStoreListingPrototype.cs
+++ b/Content.Shared/Prototypes/PDA/UplinkStoreListingPrototype.cs
@@ -6,9 +6,8 @@ using YamlDotNet.RepresentationModel;
namespace Content.Shared.Prototypes.PDA
{
[Prototype("uplinkListing")]
- public class UplinkStoreListingPrototype : IPrototype, IIndexedPrototype
+ public class UplinkStoreListingPrototype : IPrototype
{
-
private string _id;
private string _itemId;
private int _price;
@@ -23,6 +22,7 @@ namespace Content.Shared.Prototypes.PDA
public UplinkCategory Category => _category;
public string Description => _desc;
public string ListingName => _name;
+
public void LoadFrom(YamlMappingNode mapping)
{
var serializer = YamlObjectSerializer.NewReader(mapping);
@@ -32,7 +32,6 @@ namespace Content.Shared.Prototypes.PDA
serializer.DataField(ref _category, "category", UplinkCategory.Utility);
serializer.DataField(ref _desc, "description", string.Empty);
serializer.DataField(ref _name, "listingName", string.Empty);
-
}
}
}
diff --git a/Content.Shared/Prototypes/Tag/TagPrototype.cs b/Content.Shared/Prototypes/Tag/TagPrototype.cs
index 046e46b11d..23cb70786c 100644
--- a/Content.Shared/Prototypes/Tag/TagPrototype.cs
+++ b/Content.Shared/Prototypes/Tag/TagPrototype.cs
@@ -12,7 +12,7 @@ namespace Content.Shared.Prototypes.Tag
/// gets saved in TagComponent.
///
[Prototype("Tag")]
- public class TagPrototype : IPrototype, IIndexedPrototype
+ public class TagPrototype : IPrototype
{
public string ID { get; [UsedImplicitly] private set; } = default!;
diff --git a/Content.Shared/Research/LatheRecipePrototype.cs b/Content.Shared/Research/LatheRecipePrototype.cs
index 3c1cb8cdf6..f36b4fa025 100644
--- a/Content.Shared/Research/LatheRecipePrototype.cs
+++ b/Content.Shared/Research/LatheRecipePrototype.cs
@@ -10,7 +10,7 @@ using YamlDotNet.RepresentationModel;
namespace Content.Shared.Research
{
[NetSerializable, Serializable, Prototype("latheRecipe")]
- public class LatheRecipePrototype : IPrototype, IIndexedPrototype
+ public class LatheRecipePrototype : IPrototype
{
private string _name;
private string _id;
diff --git a/Content.Shared/Research/TechnologyPrototype.cs b/Content.Shared/Research/TechnologyPrototype.cs
index 38c51f9aad..4d3b74699a 100644
--- a/Content.Shared/Research/TechnologyPrototype.cs
+++ b/Content.Shared/Research/TechnologyPrototype.cs
@@ -9,7 +9,7 @@ using YamlDotNet.RepresentationModel;
namespace Content.Shared.Research
{
[NetSerializable, Serializable, Prototype("technology")]
- public class TechnologyPrototype : IPrototype, IIndexedPrototype
+ public class TechnologyPrototype : IPrototype
{
private string _name;
private string _id;
diff --git a/Content.Shared/Roles/AntagPrototype.cs b/Content.Shared/Roles/AntagPrototype.cs
index caa0776fca..26f271f144 100644
--- a/Content.Shared/Roles/AntagPrototype.cs
+++ b/Content.Shared/Roles/AntagPrototype.cs
@@ -9,7 +9,7 @@ namespace Content.Shared.Roles
/// Describes information for a single antag.
///
[Prototype("antag")]
- public class AntagPrototype : IPrototype, IIndexedPrototype
+ public class AntagPrototype : IPrototype
{
public string ID { get; private set; }
diff --git a/Content.Shared/Roles/JobPrototype.cs b/Content.Shared/Roles/JobPrototype.cs
index 08bf12e340..59331dedbd 100644
--- a/Content.Shared/Roles/JobPrototype.cs
+++ b/Content.Shared/Roles/JobPrototype.cs
@@ -11,7 +11,7 @@ namespace Content.Shared.Roles
/// Describes information for a single job on the station.
///
[Prototype("job")]
- public class JobPrototype : IPrototype, IIndexedPrototype
+ public class JobPrototype : IPrototype
{
public string ID { get; private set; }
diff --git a/Content.Shared/Roles/StartingGearPrototype.cs b/Content.Shared/Roles/StartingGearPrototype.cs
index 567a66f181..23b2a7450f 100644
--- a/Content.Shared/Roles/StartingGearPrototype.cs
+++ b/Content.Shared/Roles/StartingGearPrototype.cs
@@ -12,7 +12,7 @@ using static Content.Shared.GameObjects.Components.Inventory.EquipmentSlotDefine
namespace Content.Shared.Roles
{
[Prototype("startingGear")]
- public class StartingGearPrototype : IPrototype, IIndexedPrototype
+ public class StartingGearPrototype : IPrototype
{
private string _id = default!;
private Dictionary _equipment = default!;
diff --git a/Content.Shared/VendingMachines/VendingMachineInventoryPrototype.cs b/Content.Shared/VendingMachines/VendingMachineInventoryPrototype.cs
index 4b3f7063f4..b4274390ec 100644
--- a/Content.Shared/VendingMachines/VendingMachineInventoryPrototype.cs
+++ b/Content.Shared/VendingMachines/VendingMachineInventoryPrototype.cs
@@ -7,7 +7,7 @@ using YamlDotNet.RepresentationModel;
namespace Content.Shared.VendingMachines
{
[Serializable, NetSerializable, Prototype("vendingMachineInventory")]
- public class VendingMachineInventoryPrototype : IPrototype, IIndexedPrototype
+ public class VendingMachineInventoryPrototype : IPrototype
{
private string _id;
private string _name;
diff --git a/Content.Tests/Server/GameObjects/Components/Mobs/ServerAlertsComponentTests.cs b/Content.Tests/Server/GameObjects/Components/Mobs/ServerAlertsComponentTests.cs
index 6139717185..42cf459a1b 100644
--- a/Content.Tests/Server/GameObjects/Components/Mobs/ServerAlertsComponentTests.cs
+++ b/Content.Tests/Server/GameObjects/Components/Mobs/ServerAlertsComponentTests.cs
@@ -15,11 +15,13 @@ namespace Content.Tests.Server.GameObjects.Components.Mobs
{
const string PROTOTYPES = @"
- type: alert
+ name: AlertLowPressure
alertType: LowPressure
category: Pressure
icon: /Textures/Interface/Alerts/Pressure/lowpressure.png
- type: alert
+ name: AlertHighPressure
alertType: HighPressure
category: Pressure
icon: /Textures/Interface/Alerts/Pressure/highpressure.png
diff --git a/Content.Tests/Shared/Alert/AlertManagerTests.cs b/Content.Tests/Shared/Alert/AlertManagerTests.cs
index 2e9f79cbb5..796b71c432 100644
--- a/Content.Tests/Shared/Alert/AlertManagerTests.cs
+++ b/Content.Tests/Shared/Alert/AlertManagerTests.cs
@@ -12,10 +12,12 @@ namespace Content.Tests.Shared.Alert
{
const string PROTOTYPES = @"
- type: alert
+ name: AlertLowPressure
alertType: LowPressure
icon: /Textures/Interface/Alerts/Pressure/lowpressure.png
- type: alert
+ name: AlertHighPressure
alertType: HighPressure
icon: /Textures/Interface/Alerts/Pressure/highpressure.png
";
diff --git a/Content.Tests/Shared/Alert/AlertOrderPrototypeTests.cs b/Content.Tests/Shared/Alert/AlertOrderPrototypeTests.cs
index c39ef83b31..dca7c0d2c8 100644
--- a/Content.Tests/Shared/Alert/AlertOrderPrototypeTests.cs
+++ b/Content.Tests/Shared/Alert/AlertOrderPrototypeTests.cs
@@ -23,39 +23,49 @@ namespace Content.Tests.Shared.Alert
- category: Temperature
- type: alert
+ name: AlertLowPressure
category: Pressure
alertType: LowPressure
- type: alert
+ name: AlertOverfed
category: Hunger
alertType: Overfed
- type: alert
+ name: AlertHighPressure
category: Pressure
alertType: HighPressure
- type: alert
+ name: AlertPeckish
category: Hunger
alertType: Peckish
- type: alert
+ name: AlertStun
alertType: Stun
- type: alert
+ name: AlertHandcuffed
alertType: Handcuffed
- type: alert
+ name: AlertHot
category: Temperature
alertType: Hot
- type: alert
+ name: AlertCold
category: Temperature
alertType: Cold
- type: alert
+ name: AlertWeightless
alertType: Weightless
- type: alert
+ name: AlertPilotingShuttle
alertType: PilotingShuttle
";
diff --git a/Resources/Prototypes/Alerts/alerts.yml b/Resources/Prototypes/Alerts/alerts.yml
index 1c2450b7c8..25a751d10f 100644
--- a/Resources/Prototypes/Alerts/alerts.yml
+++ b/Resources/Prototypes/Alerts/alerts.yml
@@ -2,6 +2,7 @@
# Defines ordering in alert tab, higher up = higher in tab.
# List below can contain alert type or category, if both are present the id will take precedence.
# If item is not in list it will go at the bottom (ties broken by alert type enum value)
+ id: BaseAlertOrder
order:
- category: Health
- alertType: Fire
@@ -197,35 +198,35 @@
- type: alert
alertType: Debug1
icon: /Textures/Interface/Alerts/Human/human1.png
- name: Debug
+ name: Debug1
description: Debug
- type: alert
alertType: Debug2
icon: /Textures/Interface/Alerts/Human/human2.png
- name: Debug
+ name: Debug2
description: Debug
- type: alert
alertType: Debug3
icon: /Textures/Interface/Alerts/Human/human3.png
- name: Debug
+ name: Debug3
description: Debug
- type: alert
alertType: Debug4
icon: /Textures/Interface/Alerts/Human/human4.png
- name: Debug
+ name: Debug4
description: Debug
- type: alert
alertType: Debug5
icon: /Textures/Interface/Alerts/Human/human5.png
- name: Debug
+ name: Debug5
description: Debug
- type: alert
alertType: Debug6
icon: /Textures/Interface/Alerts/Human/human6.png
- name: Debug
+ name: Debug6
description: Debug
diff --git a/Resources/Prototypes/Catalog/crayon_decals.yml b/Resources/Prototypes/Catalog/crayon_decals.yml
index bc0fa8b4a7..b5f04bf6bc 100644
--- a/Resources/Prototypes/Catalog/crayon_decals.yml
+++ b/Resources/Prototypes/Catalog/crayon_decals.yml
@@ -1,4 +1,5 @@
- type: crayonDecal
+ id: BaseDecals
spritePath: "Constructible/Misc/crayondecals.rsi"
decals:
- 0