* DungeonData rework Back to fields, serializes better, just make new layers dumby. * wawawewa * Fix this * Fixes * Port the work over * wawawewa * zoom * Kinda workin * Adjust wawa * Unloading work * Ore + entitytable fixes Iterate every dungeon not just last. * Big shot * wawawewa * Fixes * true * Fixes # Conflicts: # Content.Server/Procedural/DungeonJob/DungeonJob.cs * wawawewa * Fixes * Fix * Lot of work * wawawewa * Fixing * eh? * a * Fix a heap of stuff * Better ignored check * Reserve tile changes * biome * changes * wawawewa * Fixes & snow * Shadow fixes * wawawewa * smol * Add layer API * More work * wawawewa * Preloads and running again * wawawewa * Modified * Replacements and command * Runtime support * werk * Fix expeds + dungeon alltiles * reh --------- Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
32 lines
942 B
C#
32 lines
942 B
C#
using Content.Shared.Maps;
|
|
using Robust.Shared.Noise;
|
|
using Robust.Shared.Prototypes;
|
|
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype.List;
|
|
|
|
namespace Content.Shared.Procedural.DungeonLayers;
|
|
|
|
/// <summary>
|
|
/// Samples noise to spawn the specified entity
|
|
/// </summary>
|
|
public sealed partial class SampleEntityDunGen : IDunGenLayer
|
|
{
|
|
/// <summary>
|
|
/// Reserve any tiles we update.
|
|
/// </summary>
|
|
[DataField]
|
|
public bool ReserveTiles = true;
|
|
|
|
[DataField(customTypeSerializer:typeof(PrototypeIdListSerializer<ContentTileDefinition>))]
|
|
public List<string> AllowedTiles { get; private set; } = new();
|
|
|
|
[DataField] public FastNoiseLite Noise { get; private set; } = new(0);
|
|
|
|
[DataField]
|
|
public float Threshold { get; private set; } = 0.5f;
|
|
|
|
[DataField] public bool Invert { get; private set; } = false;
|
|
|
|
[DataField]
|
|
public List<EntProtoId> Entities = new();
|
|
}
|