QtCraft API C++ classes QML types Handbook

QcDungeonSettings Struct

Dungeons of the terrain generator ("dungeons" in worldgen/terrain.json, decision E-522): a room of wall/moss blocks deep underground with a spawner of a weighted kind and chests with loot, and corridors carved from it to caves within reach, lined where they border cave or earth and lit sparsely outside the spawner's spawn area. More...

Header: #include <common/content/worldgen/QcDungeonDefinition.h>

Public Types

struct Mob

Public Variables

int attempts
double chance
QString chest
int corridors
bool enabled
QString light
int lightDistance
int lightSpacing
QString lootTable
double maxCaveShare
int maxChests
int maxLength
int maxSize
int maxY
int minChests
int minSize
int minY
QList<QcDungeonSettings::Mob> mobs
QString moss
double mossChance
int reach
int regionSize
QString spawner
QString wall

Static Public Members

const int maxCorridorLength
const int maxRegionSize
const int maxRoomSize

Detailed Description

Server side only.

Member Variable Documentation

int QcDungeonSettings::attempts

Places tried per region; a place where caves take more than maxCaveShare of the room is refused.

double QcDungeonSettings::chance

Chance that a region gets a dungeon ("chance", 0 to 1).

QString QcDungeonSettings::chest

Chest block placed along the room's walls ("chest").

int QcDungeonSettings::corridors

Corridors: at most corridors, each at most maxLength cells long, to caves found within reach cells of the room's wall (straight, or with one bend).

bool QcDungeonSettings::enabled

No "dungeons" object, or "enabled": false: none.

QString QcDungeonSettings::light

A wall light every lightSpacing cells of a corridor, only where it is at least lightDistance cells (taxicab) from every cell of the spawner's spawn area.

int QcDungeonSettings::lightDistance

Smallest taxicab distance in cells of a light from the spawn area ("lightDistance").

int QcDungeonSettings::lightSpacing

Corridor cells between two lights ("lightSpacing").

QString QcDungeonSettings::lootTable

Loot table that fills the chests ("lootTable").

double QcDungeonSettings::maxCaveShare

Largest share of the room's cells that may be cave ("maxCaveShare", 0 to 1).

const int QcDungeonSettings::maxCorridorLength

Largest accepted maxLength, reach, lightSpacing and lightDistance.

int QcDungeonSettings::maxLength

Longest corridor in cells ("maxLength").

const int QcDungeonSettings::maxRegionSize

Largest accepted regionSize.

const int QcDungeonSettings::maxRoomSize

Largest accepted room size (minSize, maxSize).

QList<QcDungeonSettings::Mob> QcDungeonSettings::mobs

Mob kinds the spawner's kind is picked from by weight ("mobs"); at least one.

QString QcDungeonSettings::moss

Block mixed into the walls by mossChance ("moss"; defaults to wall).

double QcDungeonSettings::mossChance

Share of moss among the wall blocks (the floor twice as much).

int QcDungeonSettings::reach

Distance in cells from the room's wall within which caves are searched ("reach").

int QcDungeonSettings::regionSize

One dungeon at most per square region of this many blocks, with chance.

QString QcDungeonSettings::spawner

Spawner block in the room ("spawner").

QString QcDungeonSettings::wall

Block of the room's walls, floor and ceiling and of the corridor lining ("wall").