The dungeon is entirely made with catalog Data, AKA JSONs.
The dungeon is a list of areas chosen randomly, connecting to each other. There can not be a loop or a split path in the dungeon, so each area cannot have more than 2 connections.
The dungeon uses an AreaTable to make the path. Consider an Area Table as a group of Areas that should randomly spawn at a certain depth of the dungeon.
If you want to add your Area to the Greenland Dungeon from the game, you need to find the AreaTable from the game data and copy it, then edit it to add your custom Area. We use a different table so find the one where you want to add your area.
If you want to create your own dungeon, you must Create your own AreaTable. You can copy-paste the data from the proto and edit them.
It is recommended to have a different AreaTable so you can specify your dungeon path. It's best to at least have an Area Table for Start Area, one for the End Area, and one for the area(s) in between.
AreaTable Is a List of Drops. You can add Drops for each area you want in this table.
Set the fields for each Drops (Area) :
bpGeneratorIdContainer:
exitConnection: For each connection in the Area, if it can be an exit, add its index to the list.
entranceConnection:
For each connection in the Area, if it can be an entrance add its index to the list.
maxCreature : The maximum number of creatures to spawn in this area when a dungeon spawns. To have a creature in the Area, the area needs to have CreatureSpawner in the prefab. Note: The number of creature spawners in the area can be higher, then it will spawn the number chosen and randomly pick a creature spawner for each creature that needs to be spawned. If the number is higher than the creature spawner then it will only spawn a creature for each creature spawner (which will result in fewer creatures than expected).
probabilityWeight : A weight to change the probability of this area being chosen.
Note that to have different lengths with level parameters you need to set an AreaCollectionDungeon for each star you want.