dungenore wawa

This commit is contained in:
Ed
2025-05-29 22:14:14 +03:00
parent 7642f49b00
commit 5e6d1d0b3a
13 changed files with 264 additions and 57 deletions

View File

@@ -1,4 +1,3 @@
using Content.Shared.Maps;
using Robust.Shared.Prototypes;
namespace Content.Shared.Procedural.DungeonLayers;
@@ -13,16 +12,10 @@ namespace Content.Shared.Procedural.DungeonLayers;
public partial class OreDunGen : IDunGenLayer
{
/// <summary>
/// This vein can only be generated by replacing the specified entities.
/// If the vein generation should occur on top of existing entities what are we replacing.
/// </summary>
[DataField]
public HashSet<EntProtoId>? EntityMask;
/// <summary>
/// This vein can only be generated on the specified tiles
/// </summary>
[DataField]
public HashSet<ProtoId<ContentTileDefinition>>? TileMask;
public EntProtoId? Replacement;
/// <summary>
/// Entity to spawn.

View File

@@ -0,0 +1,50 @@
using Content.Shared.Maps;
using Robust.Shared.Prototypes;
namespace Content.Shared.Procedural.DungeonLayers;
/// <summary>
/// Generates veins inside of the specified dungeon.
/// </summary>
/// <remarks>
/// Generates on top of existing entities for sanity reasons moreso than performance.
/// </remarks>
[Virtual]
public partial class CP14OreDunGen : IDunGenLayer
{
/// <summary>
/// This vein can only be generated by replacing the specified entities.
/// </summary>
[DataField]
public HashSet<EntProtoId>? EntityMask;
/// <summary>
/// This vein can only be generated on the specified tiles
/// </summary>
[DataField]
public HashSet<ProtoId<ContentTileDefinition>>? TileMask;
/// <summary>
/// Entity to spawn.
/// </summary>
[DataField(required: true)]
public EntProtoId Entity;
/// <summary>
/// Maximum amount of group spawns
/// </summary>
[DataField]
public int Count = 10;
/// <summary>
/// Minimum entities to spawn in one group.
/// </summary>
[DataField]
public int MinGroupSize = 1;
/// <summary>
/// Maximum entities to spawn in one group.
/// </summary>
[DataField]
public int MaxGroupSize = 1;
}