29 lines
1.0 KiB
C#
29 lines
1.0 KiB
C#
using Content.Shared.Procedural;
|
|
using Robust.Shared.Prototypes;
|
|
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype;
|
|
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype.List;
|
|
|
|
namespace Content.Shared.Salvage.Expeditions.Modifiers;
|
|
|
|
[Prototype("salvageDungeonMod")]
|
|
public sealed class SalvageDungeonMod : IPrototype, IBiomeSpecificMod
|
|
{
|
|
[IdDataField] public string ID { get; } = default!;
|
|
|
|
[DataField("desc")] public string Description { get; } = string.Empty;
|
|
|
|
/// <inheridoc/>
|
|
[DataField("cost")]
|
|
public float Cost { get; } = 0f;
|
|
|
|
/// <inheridoc/>
|
|
[DataField("biomes", customTypeSerializer: typeof(PrototypeIdListSerializer<SalvageBiomeMod>))]
|
|
public List<string>? Biomes { get; } = null;
|
|
|
|
/// <summary>
|
|
/// The config to use for spawning the dungeon.
|
|
/// </summary>
|
|
[DataField("proto", customTypeSerializer: typeof(PrototypeIdSerializer<DungeonConfigPrototype>), required: true)]
|
|
public string Proto = string.Empty;
|
|
}
|