/// <summary>
/// Prototype data for a parallax.
/// </summary>
-[Prototype("parallax")]
+[Prototype]
public sealed partial class ParallaxPrototype : IPrototype
{
/// <inheritdoc/>
/// <summary>
/// Used for any announcements on the start of a round.
/// </summary>
-[Prototype("roundAnnouncement")]
+[Prototype]
public sealed partial class RoundAnnouncementPrototype : IPrototype
{
[IdDataField]
namespace Content.Server.Atmos.Reactions
{
- [Prototype("gasReaction")]
+ [Prototype]
public sealed partial class GasReactionPrototype : IPrototype
{
[ViewVariables]
namespace Content.Server.Botany;
-[Prototype("seed")]
+[Prototype]
public sealed partial class SeedPrototype : SeedData, IPrototype
{
[IdDataField] public string ID { get; private set; } = default!;
/// Next means the next condition in the list is checked.
/// If the condition doesn't match, the next condition is checked.
/// </summary>
-[Prototype("playerConnectionWhitelist")]
+[Prototype]
public sealed partial class PlayerConnectionWhitelistPrototype : IPrototype
{
[IdDataField]
/// <summary>
/// A round-start setup preset, such as which antagonists to spawn.
/// </summary>
- [Prototype("gamePreset")]
+ [Prototype]
public sealed partial class GamePresetPrototype : IPrototype
{
[IdDataField]
/// <summary>
/// Prototype for a lobby background the game can choose.
/// </summary>
-[Prototype("lobbyBackground")]
+[Prototype]
public sealed partial class LobbyBackgroundPrototype : IPrototype
{
/// <inheritdoc/>
/// <summary>
/// Allows getting a <see cref="IGhostRoleRaffleDecider"/> as prototype.
/// </summary>
-[Prototype("ghostRoleRaffleDecider")]
+[Prototype]
public sealed partial class GhostRoleRaffleDeciderPrototype : IPrototype
{
/// <inheritdoc />
namespace Content.Server.Holiday
{
- [Prototype("holiday")]
+ [Prototype]
public sealed partial class HolidayPrototype : IPrototype
{
[DataField("name")] public string Name { get; private set; } = string.Empty;
/// <summary>
/// Prototype that holds a pool of maps that can be indexed based on the map pool CCVar.
/// </summary>
-[Prototype("gameMapPool"), PublicAPI]
+[Prototype, PublicAPI]
public sealed partial class GameMapPoolPrototype : IPrototype
{
/// <inheritdoc/>
/// Forks should not directly edit existing parts of this class.
/// Make a new partial for your fancy new feature, it'll save you time later.
/// </remarks>
-[Prototype("gameMap"), PublicAPI]
+[Prototype, PublicAPI]
[DebuggerDisplay("GameMapPrototype [{ID} - {MapName}]")]
public sealed partial class GameMapPrototype : IPrototype
{
namespace Content.Server.NPC.Queries.Curves;
-[Prototype("utilityCurvePreset")]
+[Prototype]
public sealed partial class UtilityCurvePresetPrototype : IPrototype
{
[IdDataField] public string ID { get; private set; } = string.Empty;
/// Each query is run in turn to get the final available results.
/// These results are then run through the considerations.
/// </summary>
-[Prototype("utilityQuery")]
+[Prototype]
public sealed partial class UtilityQueryPrototype : IPrototype
{
[IdDataField]
/// wires. Once one of these is initialized, it should be stored in the
/// WiresSystem as a functional wire set.
/// </summary>
-[Prototype("wireLayout")]
+[Prototype]
public sealed partial class WireLayoutPrototype : IPrototype, IInheritingPrototype
{
[IdDataField]
public float Minimum { get; private set; }
}
-[Prototype("noiseChannel")]
+[Prototype]
public sealed partial class NoiseChannelPrototype : NoiseChannelConfig, IPrototype, IInheritingPrototype
{
/// <inheritdoc />
/// This is a prototype for controlling overall world generation.
/// The components included are applied to the map that world generation is configured on.
/// </summary>
-[Prototype("worldgenConfig")]
+[Prototype]
public sealed partial class WorldgenConfigPrototype : IPrototype
{
/// <inheritdoc />
/// Contains a list of access tags that are part of this group.
/// Used by <see cref="AccessComponent"/> to avoid boilerplate.
/// </summary>
-[Prototype("accessGroup")]
+[Prototype]
public sealed partial class AccessGroupPrototype : IPrototype
{
[IdDataField]
/// <summary>
/// Defines a single access level that can be stored on ID cards and checked for.
/// </summary>
- [Prototype("accessLevel")]
+ [Prototype]
public sealed partial class AccessLevelPrototype : IPrototype
{
[ViewVariables]
namespace Content.Shared.Atmos.Prototypes
{
- [Prototype("gas")]
+ [Prototype]
public sealed partial class GasPrototype : IPrototype
{
[DataField("name")] public string Name { get; set; } = "";
/// <summary>
/// Attaches a rules prototype to sound files to play ambience.
/// </summary>
-[Prototype("ambientMusic")]
+[Prototype]
public sealed partial class AmbientMusicPrototype : IPrototype
{
[IdDataField] public string ID { get; private set; } = string.Empty;
namespace Content.Shared.Body.Prototypes;
-[Prototype("body")]
+[Prototype]
public sealed partial class BodyPrototype : IPrototype
{
[IdDataField] public string ID { get; private set; } = default!;
namespace Content.Shared.Body.Prototypes
{
- [Prototype("metabolismGroup")]
+ [Prototype]
public sealed partial class MetabolismGroupPrototype : IPrototype
{
[IdDataField]
namespace Content.Shared.Body.Prototypes
{
- [Prototype("metabolizerType")]
+ [Prototype]
public sealed partial class MetabolizerTypePrototype : IPrototype
{
[IdDataField]
namespace Content.Shared.Chat.Prototypes;
-[Prototype("autoEmote")]
+[Prototype]
public sealed partial class AutoEmotePrototype : IPrototype
{
/// <inheritdoc/>
/// IC emotes (scream, smile, clapping, etc).
/// Entities can activate emotes by chat input, radial or code.
/// </summary>
-[Prototype("emote")]
+[Prototype]
public sealed partial class EmotePrototype : IPrototype
{
[IdDataField]
/// Sounds collection for each <see cref="EmotePrototype"/>.
/// Different entities may use different sounds collections.
/// </summary>
-[Prototype("emoteSounds"), Serializable, NetSerializable]
+[Prototype, Serializable, NetSerializable]
public sealed partial class EmoteSoundsPrototype : IPrototype
{
[IdDataField]
/// <summary>
/// Prototype to store chat typing indicator visuals.
/// </summary>
-[Prototype("typingIndicator")]
+[Prototype]
public sealed partial class TypingIndicatorPrototype : IPrototype
{
[IdDataField]
/// to define which reagents it's able to dispense. Based off of how vending
/// machines define their inventory.
/// </summary>
- [Serializable, NetSerializable, Prototype("reagentDispenserInventory")]
+ [Serializable, NetSerializable, Prototype]
public sealed partial class ReagentDispenserInventoryPrototype : IPrototype
{
[DataField("inventory", customTypeSerializer: typeof(PrototypeIdListSerializer<EntityPrototype>))]
/// <summary>
/// This is a prototype for a method of chemical mixing, to be used by <see cref="ReactionMixerComponent"/>
/// </summary>
-[Prototype("mixingCategory")]
+[Prototype]
public sealed partial class MixingCategoryPrototype : IPrototype
{
/// <inheritdoc/>
/// <summary>
/// Prototype for chemical reaction definitions
/// </summary>
- [Prototype("reaction")]
+ [Prototype]
public sealed partial class ReactionPrototype : IPrototype, IComparable<ReactionPrototype>
{
[ViewVariables]
namespace Content.Shared.Chemistry.Reaction;
-[Prototype("reactiveGroup")]
+[Prototype]
public sealed partial class ReactiveGroupPrototype : IPrototype
{
[IdDataField]
namespace Content.Shared.Chemistry.Reagent
{
- [Prototype("reagent")]
+ [Prototype]
[DataDefinition]
public sealed partial class ReagentPrototype : IPrototype, IInheritingPrototype
{
/// Generally some kind of mid-round minor antag, though you could make it call in scrubber backflow if you wanted to.
/// You wouldn't do that, right?
/// </summary>
-[Prototype("ninjaHackingThreat")]
+[Prototype]
public sealed partial class NinjaHackingThreatPrototype : IPrototype
{
[IdDataField]
namespace Content.Shared.Construction.Prototypes
{
- [Prototype("constructionGraph")]
+ [Prototype]
public sealed partial class ConstructionGraphPrototype : IPrototype, ISerializationHooks
{
private readonly Dictionary<string, ConstructionGraphNode> _nodes = new();
namespace Content.Shared.Construction.Prototypes;
-[Prototype("construction")]
+[Prototype]
public sealed partial class ConstructionPrototype : IPrototype
{
[DataField("conditions")] private List<IConstructionCondition> _conditions = new();
/// and damage groups. Currently this is only used to specify what damage types a <see
/// cref="DamageableComponent"/> should support.
/// </remarks>
- [Prototype("damageContainer")]
+ [Prototype]
[Serializable, NetSerializable]
public sealed partial class DamageContainerPrototype : IPrototype
{
/// These groups can be used to specify supported damage types of a <see cref="DamageContainerPrototype"/>, or
/// to change/get/set damage in a <see cref="DamageableComponent"/>.
/// </remarks>
- [Prototype("damageGroup", 2)]
+ [Prototype(2)]
[Serializable, NetSerializable]
public sealed partial class DamageGroupPrototype : IPrototype
{
/// Done to avoid removing the 'required' tag on the ID and passing around a 'prototype' when we really
/// just want normal data to be deserialized.
/// </remarks>
- [Prototype("damageModifierSet")]
+ [Prototype]
public sealed partial class DamageModifierSetPrototype : DamageModifierSet, IPrototype
{
[ViewVariables]
/// <summary>
/// A single damage type. These types are grouped together in <see cref="DamageGroupPrototype"/>s.
/// </summary>
- [Prototype("damageType")]
+ [Prototype]
public sealed partial class DamageTypePrototype : IPrototype
{
[IdDataField]
/// <summary>
/// Prototype for examinable damage messages.
/// </summary>
-[Prototype("examinableDamage")]
+[Prototype]
public sealed partial class ExaminableDamagePrototype : IPrototype
{
[IdDataField]
namespace Content.Shared.Dataset
{
- [Prototype("dataset")]
+ [Prototype]
public sealed partial class DatasetPrototype : IPrototype
{
[ViewVariables]
namespace Content.Shared.Decals
{
- [Prototype("decal")]
+ [Prototype]
public sealed partial class DecalPrototype : IPrototype, IInheritingPrototype
{
[IdDataField] public string ID { get; private set; } = null!;
public string Description = default!;
}
-[Prototype("sinkPort")]
+[Prototype]
[Serializable, NetSerializable]
public sealed partial class SinkPortPrototype : DevicePortPrototype, IPrototype
{
}
-[Prototype("sourcePort")]
+[Prototype]
[Serializable, NetSerializable]
public sealed partial class SourcePortPrototype : DevicePortPrototype, IPrototype
{
/// <summary>
/// A named device network frequency. Useful for ensuring entity prototypes can communicate with each other.
/// </summary>
-[Prototype("deviceFrequency")]
+[Prototype]
[Serializable, NetSerializable]
public sealed partial class DeviceFrequencyPrototype : IPrototype
{
namespace Content.Shared.EntityList
{
- [Prototype("entityList")]
+ [Prototype]
public sealed partial class EntityListPrototype : IPrototype
{
[ViewVariables]
namespace Content.Shared.EntityList;
-[Prototype("entityLootTable")]
+[Prototype]
public sealed partial class EntityLootTablePrototype : IPrototype
{
[IdDataField]
/// entities is evaluated and stored by the explosion system. Adding or removing a prototype would require updating
/// that map of airtight entities. This could be done, but is just not yet implemented.
/// </remarks>
-[Prototype("explosion")]
+[Prototype]
public sealed partial class ExplosionPrototype : IPrototype
{
[IdDataField]
/// <summary>
/// Allows specifying the settings for a ghost role raffle as a prototype.
/// </summary>
-[Prototype("ghostRoleRaffleSettings")]
+[Prototype]
public sealed partial class GhostRoleRaffleSettingsPrototype : IPrototype
{
/// <inheritdoc />
/// and allow the GridPreloader system to load them in the middle of the round. This is needed for optimization,
/// because loading grids in the middle of a round causes the server to lag.
/// </summary>
-[Prototype("preloadedGrid")]
+[Prototype]
public sealed partial class PreloadedGridPrototype : IPrototype
{
[IdDataField] public string ID { get; private set; } = string.Empty;
namespace Content.Shared.Guidebook;
-[Prototype("guideEntry")]
+[Prototype]
public sealed partial class GuideEntryPrototype : GuideEntry, IPrototype
{
public string ID => Id;
namespace Content.Shared.HUD
{
- [Prototype("hudTheme")]
+ [Prototype]
public sealed partial class HudThemePrototype : IPrototype, IComparable<HudThemePrototype>
{
[DataField("name", required: true)]
}
}
-[Prototype("markingPoints")]
+[Prototype]
public sealed partial class MarkingPointsPrototype : IPrototype
{
[IdDataField] public string ID { get; private set; } = default!;
namespace Content.Shared.Humanoid.Markings
{
- [Prototype("marking")]
+ [Prototype]
public sealed partial class MarkingPrototype : IPrototype
{
[IdDataField]
namespace Content.Shared.Humanoid.Prototypes;
-[Prototype("humanoidProfile")]
+[Prototype]
public sealed partial class HumanoidProfilePrototype : IPrototype
{
[IdDataField]
/// <summary>
/// This is what is used to change a humanoid spawned by RandomHumanoidSystem in Content.Server.
/// </summary>
-[Prototype("randomHumanoidSettings")]
+[Prototype]
public sealed partial class RandomHumanoidSettingsPrototype : IPrototype, IInheritingPrototype
{
[IdDataField] public string ID { get; private set; } = default!;
namespace Content.Shared.Humanoid.Prototypes;
-[Prototype("species")]
+[Prototype]
public sealed partial class SpeciesPrototype : IPrototype
{
/// <summary>
namespace Content.Shared.Inventory;
-[Prototype("inventoryTemplate")]
+[Prototype]
public sealed partial class InventoryTemplatePrototype : IPrototype
{
[IdDataField] public string ID { get; private set; } = string.Empty;
/// <summary>
/// This is a prototype for a category of an item's size.
/// </summary>
-[Prototype("itemSize")]
+[Prototype]
public sealed partial class ItemSizePrototype : IPrototype, IComparable<ItemSizePrototype>
{
/// <inheritdoc/>
/// Materials are read-only storage for the properties of specific materials.
/// Properties should be intrinsic (or at least as much is necessary for game purposes).
/// </summary>
- [Prototype("material")]
+ [Prototype]
public sealed partial class MaterialPrototype : IPrototype, IInheritingPrototype
{
[ViewVariables]
/// <summary>
/// Contains data about this faction's relations with other factions.
/// </summary>
-[Prototype("npcFaction")]
+[Prototype]
public sealed partial class NpcFactionPrototype : IPrototype
{
[ViewVariables]
namespace Content.Shared.NameIdentifier;
-[Prototype("nameIdentifierGroup")]
+[Prototype]
public sealed partial class NameIdentifierGroupPrototype : IPrototype
{
[IdDataField]
namespace Content.Shared.Nutrition;
-[Prototype("flavor")]
+[Prototype]
public sealed partial class FlavorPrototype : IPrototype
{
[IdDataField]
/// <summary>
/// Unique data storage block for different FoodSequence layers
/// </summary>
-[Prototype("foodSequenceElement")]
+[Prototype]
public sealed partial class FoodSequenceElementPrototype : IPrototype
{
[IdDataField] public string ID { get; private set; } = default!;
/// <summary>
/// General data about a group of items, such as icon, description, name. Used for Steal objective
/// </summary>
-[Prototype("stealTargetGroup")]
+[Prototype]
public sealed partial class StealTargetGroupPrototype : IPrototype
{
[IdDataField] public string ID { get; private set; } = default!;
/// <summary>
/// A preset group of biome layers to be used for a <see cref="BiomeComponent"/>
/// </summary>
-[Prototype("biomeTemplate")]
+[Prototype]
public sealed partial class BiomeTemplatePrototype : IPrototype
{
[IdDataField] public string ID { get; private set; } = default!;
/// <summary>
/// Spawns entities inside of the specified area with the minimum specified radius.
/// </summary>
-[Prototype("biomeMarkerLayer")]
+[Prototype]
public sealed partial class BiomeMarkerLayerPrototype : IBiomeMarkerLayer
{
[IdDataField] public string ID { get; private set; } = default!;
/// <summary>
/// Given to a role to specify its ID for role-timer tracking purposes. That's it.
/// </summary>
-[Prototype("playTimeTracker")]
+[Prototype]
public sealed partial class PlayTimeTrackerPrototype : IPrototype
{
[IdDataField] public string ID { get; private set; } = default!;
/// <summary>
/// Corresponds to a set of loadouts for a particular slot.
/// </summary>
-[Prototype("loadoutGroup")]
+[Prototype]
public sealed partial class LoadoutGroupPrototype : IPrototype
{
[IdDataField]
namespace Content.Shared.Procedural;
-[Prototype("dungeonPreset")]
+[Prototype]
public sealed partial class DungeonPresetPrototype : IPrototype
{
[IdDataField] public string ID { get; private set; } = default!;
namespace Content.Shared.Procedural;
-[Prototype("dungeonRoomPack")]
+[Prototype]
public sealed partial class DungeonRoomPackPrototype : IPrototype
{
[IdDataField]
namespace Content.Shared.Procedural;
-[Prototype("dungeonRoom")]
+[Prototype]
public sealed partial class DungeonRoomPrototype : IPrototype
{
[IdDataField] public string ID { get; private set; } = string.Empty;
/// <summary>
/// Spawned inside of a salvage mission.
/// </summary>
-[Prototype("salvageLoot")]
+[Prototype]
public sealed partial class SalvageLootPrototype : IPrototype
{
[IdDataField] public string ID { get; private set; } = default!;
namespace Content.Shared.Procedural;
-[Prototype("salvageDifficulty")]
+[Prototype]
public sealed partial class SalvageDifficultyPrototype : IPrototype
{
[IdDataField] public string ID { get; private set; } = string.Empty;
namespace Content.Shared.Prototypes;
-[Prototype("navMapBlip")]
+[Prototype]
public sealed partial class NavMapBlipPrototype : IPrototype
{
[ViewVariables]
namespace Content.Shared.Radio;
-[Prototype("radioChannel")]
+[Prototype]
public sealed partial class RadioChannelPrototype : IPrototype
{
/// <summary>
/// Every single condition needs to be true for this to be selected.
/// e.g. "choose maintenance audio if 90% of tiles nearby are maintenance tiles"
/// </summary>
-[Prototype("rules")]
+[Prototype]
public sealed partial class RulesPrototype : IPrototype
{
[IdDataField] public string ID { get; private set; } = string.Empty;
/// <summary>
/// Linter-friendly version of weightedRandom for Entity prototypes.
/// </summary>
-[Prototype("weightedRandomEntity")]
+[Prototype]
public sealed partial class WeightedRandomEntityPrototype : IWeightedRandomPrototype
{
[IdDataField]
/// <summary>
/// Random weighting dataset for solutions, able to specify reagents quantity.
/// </summary>
-[Prototype("weightedRandomFillSolution")]
+[Prototype]
public sealed partial class WeightedRandomFillSolutionPrototype : IPrototype
{
[IdDataField] public string ID { get; private set; } = default!;
/// <summary>
/// Linter-friendly version of weightedRandom for Ore prototypes.
/// </summary>
-[Prototype("weightedRandomOre")]
+[Prototype]
public sealed partial class WeightedRandomOrePrototype : IWeightedRandomPrototype
{
[IdDataField]
/// <summary>
/// Generic random weighting dataset to use.
/// </summary>
-[Prototype("weightedRandom")]
+[Prototype]
public sealed partial class WeightedRandomPrototype : IWeightedRandomPrototype
{
[IdDataField]
/// <summary>
/// Linter-friendly version of weightedRandom for Species prototypes.
/// </summary>
-[Prototype("weightedRandomSpecies")]
+[Prototype]
public sealed partial class WeightedRandomSpeciesPrototype : IWeightedRandomPrototype
{
[IdDataField]
/// This is a prototype for a research discipline, a category
/// that governs how <see cref="TechnologyPrototype"/>s are unlocked.
/// </summary>
-[Prototype("techDiscipline")]
+[Prototype]
public sealed partial class TechDisciplinePrototype : IPrototype
{
/// <inheritdoc/>
/// <summary>
/// This is a prototype for a technology that can be unlocked.
/// </summary>
-[Prototype("technology")]
+[Prototype]
public sealed partial class TechnologyPrototype : IPrototype
{
/// <inheritdoc/>
/// <summary>
/// Describes information for a single antag.
/// </summary>
-[Prototype("antag")]
+[Prototype]
[Serializable, NetSerializable]
public sealed partial class AntagPrototype : IPrototype
{
namespace Content.Shared.Roles;
-[Prototype("department")]
+[Prototype]
public sealed partial class DepartmentPrototype : IPrototype
{
[IdDataField]
/// <summary>
/// Describes information for a single job on the station.
/// </summary>
- [Prototype("job")]
+ [Prototype]
public sealed partial class JobPrototype : IPrototype
{
[ViewVariables]
/// <summary>
/// Affects the biome to be used for salvage.
/// </summary>
-[Prototype("salvageBiomeMod")]
+[Prototype]
public sealed partial class SalvageBiomeModPrototype : IPrototype, ISalvageMod
{
[IdDataField] public string ID { get; private set; } = default!;
namespace Content.Shared.Salvage.Expeditions.Modifiers;
-[Prototype("salvageDungeonMod")]
+[Prototype]
public sealed partial class SalvageDungeonModPrototype : IPrototype, IBiomeSpecificMod
{
[IdDataField] public string ID { get; private set; } = default!;
namespace Content.Shared.Salvage.Expeditions;
-[Prototype("salvageFaction")]
+[Prototype]
public sealed partial class SalvageFactionPrototype : IPrototype
{
[IdDataField] public string ID { get; private set; } = default!;
/// <summary>
/// This is a prototype for a law governing the behavior of silicons.
/// </summary>
-[Prototype("siliconLaw")]
+[Prototype]
[Serializable, NetSerializable]
public sealed partial class SiliconLawPrototype : SiliconLaw, IPrototype
{
/// This is a prototype for a <see cref="SiliconLawPrototype"/> list.
/// Cannot be used directly since it is a list of prototype ids rather than List<Siliconlaw>.
/// </summary>
-[Prototype("siliconLawset"), Serializable, NetSerializable]
+[Prototype, Serializable, NetSerializable]
public sealed partial class SiliconLawsetPrototype : IPrototype
{
/// <inheritdoc/>
namespace Content.Shared.Speech
{
- [Prototype("speechSounds")]
+ [Prototype]
public sealed partial class SpeechSoundsPrototype : IPrototype
{
[ViewVariables]
/// Handles replacing speech verbs and other conditional chat modifications like bolding or font type depending
/// on punctuation or by directly overriding the prototype.
/// </summary>
-[Prototype("speechVerb")]
+[Prototype]
public sealed partial class SpeechVerbPrototype : IPrototype
{
[IdDataField] public string ID { get; private set; } = default!;
/// <summary>
/// Maps airlock style names to department ids.
/// </summary>
-[Prototype("airlockDepartments")]
+[Prototype]
public sealed partial class AirlockDepartmentsPrototype : IPrototype
{
[IdDataField]
/// <summary>
/// Adds this node group to <see cref="Content.Server.Spreader.SpreaderSystem"/> for tick updates.
/// </summary>
-[Prototype("edgeSpreader")]
+[Prototype]
public sealed partial class EdgeSpreaderPrototype : IPrototype
{
[IdDataField] public string ID { get; private set; } = string.Empty;
namespace Content.Shared.StatusEffect
{
- [Prototype("statusEffect")]
+ [Prototype]
public sealed partial class StatusEffectPrototype : IPrototype
{
[IdDataField]
/// Mainly used for antags, such as traitors, nukies, and revenants
/// This is separate to the cargo ordering system.
/// </summary>
-[Prototype("currency")]
+[Prototype]
[DataDefinition, Serializable, NetSerializable]
public sealed partial class CurrencyPrototype : IPrototype
{
/// <summary>
/// Defines a set item listing that is available in a store
/// </summary>
-[Prototype("listing")]
+[Prototype]
[Serializable, NetSerializable]
[DataDefinition]
public sealed partial class ListingPrototype : ListingData, IPrototype
/// Defines set of rules for category of discounts -
/// how <see cref="StoreDiscountComponent"/> will be filled by respective system.
/// </summary>
-[Prototype("discountCategory")]
+[Prototype]
[DataDefinition, Serializable, NetSerializable]
public sealed partial class DiscountCategoryPrototype : IPrototype
{
/// <summary>
/// Used to define different categories for a store.
/// </summary>
-[Prototype("storeCategory")]
+[Prototype]
[Serializable, NetSerializable, DataDefinition]
public sealed partial class StoreCategoryPrototype : IPrototype
{
/// <summary>
/// Specifies generic info for initializing a store.
/// </summary>
-[Prototype("storePreset")]
+[Prototype]
[DataDefinition]
public sealed partial class StorePresetPrototype : IPrototype
{
/// <summary>
/// Prototype for a story template that can be filled in with words chosen from <see cref="DatasetPrototype"/>s.
/// </summary>
-[Serializable, Prototype("storyTemplate")]
+[Serializable, Prototype]
public sealed partial class StoryTemplatePrototype : IPrototype
{
/// <summary>
/// <summary>
/// A prototype that defines a set of items and visuals in a specific starter set for the antagonist thief
/// </summary>
-[Prototype("thiefBackpackSet")]
+[Prototype]
public sealed partial class ThiefBackpackSetPrototype : IPrototype
{
[IdDataField] public string ID { get; private set; } = default!;
namespace Content.Shared.VendingMachines
{
- [Serializable, NetSerializable, Prototype("vendingMachineInventory")]
+ [Serializable, NetSerializable, Prototype]
public sealed partial class VendingMachineInventoryPrototype : IPrototype
{
[ViewVariables]
namespace Content.Shared.Weapons.Ranged;
-[Prototype("hitscan")]
+[Prototype]
public sealed partial class HitscanPrototype : IPrototype, IShootable
{
[ViewVariables]
namespace Content.Shared.Weather;
-[Prototype("weather")]
+[Prototype]
public sealed partial class WeatherPrototype : IPrototype
{
[IdDataField] public string ID { get; private set; } = default!;
/// <summary>
/// This is a prototype for...
/// </summary>
-[Prototype("artifactEffect")]
+[Prototype]
[DataDefinition]
public sealed partial class ArtifactEffectPrototype : IPrototype
{
/// <summary>
/// This is a prototype for...
/// </summary>
-[Prototype("artifactTrigger")]
+[Prototype]
[DataDefinition]
public sealed partial class ArtifactTriggerPrototype : IPrototype
{