using Content.Shared.Maps; // Upstream#33105
using Robust.Shared.Prototypes;
namespace Content.Shared.Procedural.DungeonLayers;
///
/// Generates veins inside of the specified dungeon.
///
///
/// Generates on top of existing entities for sanity reasons moreso than performance.
///
[Virtual]
public partial class OreDunGen : IDunGenLayer
{
// Upstream#33105: OreDunGen replacement (Thank you, TheShuEd!)
///
/// This vein can only be generated by replacing the specified entities.
///
[DataField]
public HashSet? EntityMask;
///
/// This vein can only be generated on the specified tiles
///
[DataField]
public HashSet>? TileMask;
// End Upstream#33105: OreDunGen replacement (Thank you, TheShuEd!)
///
/// Entity to spawn.
///
[DataField(required: true)]
public EntProtoId Entity;
///
/// Maximum amount of group spawns
///
[DataField]
public int Count = 10;
///
/// Minimum entities to spawn in one group.
///
[DataField]
public int MinGroupSize = 1;
///
/// Maximum entities to spawn in one group.
///
[DataField]
public int MaxGroupSize = 1;
}