* simple modifiers * modifier tag filtering * Update CP14DemiplanSystem.Generation.cs * Update rocks.yml * move loot to modifier * move enemies to modificators * fix filtering * modifier rariry * reward and difficulty limits * rebalance and optimize calculation * Update test.yml * wizden PR copy * move all alchemy reagents to modifiers
51 lines
1.2 KiB
C#
51 lines
1.2 KiB
C#
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 OreDunGen : 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;
|
|
}
|