}
[Prototype("guideEntry")]
-public sealed class GuideEntryPrototype : GuideEntry, IPrototype
+public sealed partial class GuideEntryPrototype : GuideEntry, IPrototype
{
public string ID => Id;
}
using Content.Server.Botany.Systems;
using Content.Shared.Atmos;
using Content.Shared.Chemistry.Reagent;
+using Robust.Shared.Audio;
using Robust.Shared.Prototypes;
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype;
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype.List;
using Robust.Shared.Utility;
-using Robust.Shared.Audio;
namespace Content.Server.Botany;
[Prototype("seed")]
-public sealed class SeedPrototype : SeedData, IPrototype
+public sealed partial class SeedPrototype : SeedData, IPrototype
{
[IdDataField] public string ID { get; private init; } = default!;
}
}
[Prototype("noiseChannel")]
-public sealed class NoiseChannelPrototype : NoiseChannelConfig, IPrototype, IInheritingPrototype
+public sealed partial class NoiseChannelPrototype : NoiseChannelConfig, IPrototype, IInheritingPrototype
{
/// <inheritdoc />
[ParentDataField(typeof(AbstractPrototypeIdArraySerializer<EntityPrototype>))]
/// Soundtrack that's visible on the jukebox list.
/// </summary>
[Prototype]
-public sealed class JukeboxPrototype : IPrototype
+public sealed partial class JukeboxPrototype : IPrototype
{
[IdDataField]
public string ID { get; } = string.Empty;
/// just want normal data to be deserialized.
/// </remarks>
[Prototype("damageModifierSet")]
- public sealed class DamageModifierSetPrototype : DamageModifierSet, IPrototype
+ public sealed partial class DamageModifierSetPrototype : DamageModifierSet, IPrototype
{
[ViewVariables]
[IdDataField]
[Prototype("sinkPort")]
[Serializable, NetSerializable]
-public sealed class SinkPortPrototype : DevicePortPrototype, IPrototype
+public sealed partial class SinkPortPrototype : DevicePortPrototype, IPrototype
{
}
[Prototype("sourcePort")]
[Serializable, NetSerializable]
-public sealed class SourcePortPrototype : DevicePortPrototype, IPrototype
+public sealed partial class SourcePortPrototype : DevicePortPrototype, IPrototype
{
/// <summary>
/// This is a set of sink ports that this source port will attempt to link to when using the
/// Stores a group of loadout effects in a prototype for re-use.
/// </summary>
[Prototype]
-public sealed class LoadoutEffectGroupPrototype : IPrototype
+public sealed partial class LoadoutEffectGroupPrototype : IPrototype
{
[IdDataField]
public string ID { get; } = string.Empty;
/// Corresponds to a set of loadouts for a particular slot.
/// </summary>
[Prototype("loadoutGroup")]
-public sealed class LoadoutGroupPrototype : IPrototype
+public sealed partial class LoadoutGroupPrototype : IPrototype
{
[IdDataField]
public string ID { get; } = string.Empty;
/// Individual loadout item to be applied.
/// </summary>
[Prototype]
-public sealed class LoadoutPrototype : IPrototype
+public sealed partial class LoadoutPrototype : IPrototype
{
[IdDataField]
public string ID { get; } = string.Empty;
/// Corresponds to a Job / Antag prototype and specifies loadouts
/// </summary>
[Prototype]
-public sealed class RoleLoadoutPrototype : IPrototype
+public sealed partial class RoleLoadoutPrototype : IPrototype
{
/*
* Separate to JobPrototype / AntagPrototype as they are turning into messy god classes.
/// Contains the parameters for a RCD construction / operation
/// </summary>
[Prototype("rcd")]
-public sealed class RCDPrototype : IPrototype
+public sealed partial class RCDPrototype : IPrototype
{
[IdDataField]
public string ID { get; private set; } = default!;
public int Cost { get; private set; } = 1;
/// <summary>
- /// The length of the operation
+ /// The length of the operation
/// </summary>
[DataField, ViewVariables(VVAccess.ReadOnly)]
public float Delay { get; private set; } = 1f;
public CollisionGroup CollisionMask { get; private set; } = CollisionGroup.None;
/// <summary>
- /// Specifies a set of custom collision bounds for determining whether the entity prototype will fit into a target tile
+ /// Specifies a set of custom collision bounds for determining whether the entity prototype will fit into a target tile
/// </summary>
/// <remarks>
/// Should be set assuming that the entity faces south.
private Box2? _collisionBounds = null;
/// <summary>
- /// The polygon shape associated with the prototype CollisionBounds (if set)
+ /// The polygon shape associated with the prototype CollisionBounds (if set)
/// </summary>
[ViewVariables(VVAccess.ReadOnly)]
public PolygonShape? CollisionPolygon { get; private set; } = null;
namespace Content.Shared.Salvage;
[Prototype]
-public sealed class SalvageMapPrototype : IPrototype
+public sealed partial class SalvageMapPrototype : IPrototype
{
[ViewVariables] [IdDataField] public string ID { get; } = default!;
/// </summary>
[Prototype("siliconLaw")]
[Serializable, NetSerializable]
-public sealed class SiliconLawPrototype : SiliconLaw, IPrototype
+public sealed partial class SiliconLawPrototype : SiliconLaw, IPrototype
{
/// <inheritdoc/>
[IdDataField]
/// Maps airlock style names to department ids.
/// </summary>
[Prototype("airlockDepartments")]
-public sealed class AirlockDepartmentsPrototype : IPrototype
+public sealed partial class AirlockDepartmentsPrototype : IPrototype
{
[IdDataField]
public string ID { get; private set; } = default!;
/// <see cref="StatusIconData"/> but in new convenient prototype form!
/// </summary>
[Prototype("statusIcon")]
-public sealed class StatusIconPrototype : StatusIconData, IPrototype, IInheritingPrototype
+public sealed partial class StatusIconPrototype : StatusIconData, IPrototype, IInheritingPrototype
{
/// <inheritdoc />
[ParentDataField(typeof(AbstractPrototypeIdArraySerializer<StatusIconPrototype>))]