User Tools

Site Tools


Sidebar

dungeons

Dungeons


Overview


Dungeons are the culmination of all the various level data in the game. Every area in the game is part of some dungeon. Dungeons contain strata which define the characteristics of the individual levels within the dungeon. The Dungeon editing window as seen in the editor.

Dungeon data looks like this:

[DUNGEON]
	<STRING>NAME:Catacombs
	<BOOL>VOLATILE:0
	<BOOL>BOTTOMLESS:0
	<TRANSLATE>DISPLAYNAME:Catacombs
	<INTEGER>PLAYER_LVL_MATCH_MIN:6
	<INTEGER>PLAYER_LVL_MATCH_MAX:9
	<STRING>PARENT_DUNGEON:TheTempleSteppes
	[STRATA0]
		<STRING>RULESET:media/layouts/catacomb/defiledcrypt_rules.template
		<INTEGER>FLOORS:1
		<STRING>MONSTERSPAWNCLASS:CATACOMBS_UNDEAD
		<FLOAT>MONSTERS_PER_METER_MIN:.010
		<FLOAT>MONSTERS_PER_METER_MAX:.010
		<STRING>CHAMPIONSPAWNCLASS:CHAMPION_CATACOMBS
		<STRING>PROPSPAWNCLASS:NONE
		<STRING>CREEPSPAWNCLASS:MINECREEPS
		<FLOAT>CREEPS_PER_METER_MIN:.002
		<FLOAT>CREEPS_PER_METER_MAX:.002
	[/STRATA0]
	[STRATA1]
		<STRING>RULESET:media/layouts/catacomb/defiledcryptbossroom_rules.template
		<STRING>MONSTERSPAWNCLASS:CATACOMBS_UNDEAD
		<FLOAT>MONSTERS_PER_METER_MIN:.014
		<FLOAT>MONSTERS_PER_METER_MAX:.015
		<STRING>CHAMPIONSPAWNCLASS:CHAMPION_CATACOMBS
		<STRING>PROPSPAWNCLASS:NONE
		<BOOL>ALLOW_PORTALS:0
	[/STRATA1]
[/DUNGEON]

Properties


Dungeon Properties

NAME TYPE DESCRIPTION
NAME(STRING) The name of the dungeon. Warpers and things will find the dungeon go to do based on this name.
DISPLAYNAME(TRANSLATE) The name as it appears in game
PARENT_DUNGEON(STRING) This dungeons' parent (if you leave this dungeon, you will go to the parent dungeon
PARENT_DUNGEON(STRING) If a player creates a town portal in this dungeon, it will go to this town.
PLAYER_LVL_MATCH_MIN(INTEGER) The lowest the dungeon will go when trying to match the dungeon level to the player's level
PLAYER_LVL_MATCH_MAX (INTEGER) The highest the dungeon will go when trying to match the dungeon level to the player's level
PLAYER_LVL_MATCH_OFFSET(INTEGER) An offset which can be used to skew the player level matching one way or another. (If the player is level 10 and the dungeon level range is [8 - 12], an offset of 1 will make the dungeon level 11 instead of 10.
MONSTER_LVL_MULT(FLOAT) Multiplier on for the monster level in this dungeon. If the dungeon starts at level 10 and you specify a multiplier of 2.0, the monsters on the first level will be level 20.
VOLATILE(BOOL) If true, the dungeon will re-roll and populate if the player leaves and comes back
BOTTOMLESS(BOOL) If true, will use the DUNGEON specified in the last stratum as a pool of strata from which to keep picking as the player descends. Making the dungeon bottomless.

Dungeon Strata Properties

NAME TYPE DESCRIPTION
RULESET(STRING) The path to the rule set to use for this stratum.
FLOORS(INTEGER) The number of floors
NAME_OVERRIDE(TRANSLATE) An override for the display name. If not set, the display name will be the dungeon name plus the depth.
WEIGHT(INTEGER) The roll weight for this stratum if it's being picked randomly in a random dungeon
CAMERAMULT(FLOAT) A camera distance multiplier for the level (you can push or pull the camera from the default camera distance)
ANGLEOFFSET(FLOAT) An offset for the angle of the camera. You can rotate the camera around a bit from the default.
MONSTER_LVL_MIN(INTEGER) Minimum monster level on the stratum
MONSTER_LVL_MAX(INTEGER) Maximum monster level on the stratum.
ALLOW_PORTALS(BOOL) if true, players can use town portals on this stratum.
ALLOW_PET_RETURN(BOOL) if true, pets are allowed to be sent back to town on this stratum.
IS_TOWN(BOOL) if true, this stratum is a town.
DONT_STORE(BOOL) If true, the game will not keep history of the stratum. If the player leaves and returns, the level will be reset. (NOTE: this is ALWAYS the case in multiplayer, levels never store)
NO_RANDOM_QUESTS(BOOL) If true, no random quests wont pick this stratum when generating new quests.
CINEMATIC(STRING) Cinematic to play before entering this level (Old, TL1 style 'cinematic.' this may or may not be how this is done in TL2. Hopefully this will get updated once that is known)
MUST_BE_COMPLETED_OR_ACTIVE(LIST OF STRINGS) List of quest names. Upon reaching this dungeon, the player will be given these quests if they don't currently have them and haven't completed them.
MUST_BE_COMPLETED(LIST OF STRINGS) List of quest names. upon reaching this dungeon, the player complete these quests if they haven't completed them.
String list format for MUST_BE_COMPLETED_OR_ACTIVE:
[MUST_BE_COMPLETED_OR_ACTIVE]
	<STRING>QUEST:A1-GOTOTOWN_TALKTOREGENT
	<STRING>QUEST:RANDOMPEOPLE
[/MUST_BE_COMPLETED_OR_ACTIVE]
String list format for MUST_BE_COMPLETED
[MUST_BE_COMPLETED]
	<STRING>QUEST:A1-STARTOFGAME
[/MUST_BE_COMPLETED]

Spawn Class properties

When a level is rolled, after all the layouts are assembled and baked, the game goes through and does a population pass based on the spawn class data specified for the strata. The population count can be controlled by unit per meter or by a static count of units. Per-meter will based the population off the total pathable area of the level (which can sometimes be wildly different between loads depending on how the level layouts are made). So, the population count will be a value rolled between MIN and MAX times the total pathable area.

NAME TYPE DESCRIPTION
Monster spawn & Secondary Monster spawn
MONSTERSPAWNCLASS (STRING) Monster spawn class to use when populating this level.
MONSTERSPAWNCLASSRANDOMIZED (BOOL) Sets the monster spawn class to be randomized*.
MONSTERS_PER_METER_MIN (FLOAT) Min range for monsters per meter population.
MONSTERS_PER_METER_MAX (FLOAT) Max range for monsters per meter population.
MONSTER_MIN (FLOAT) Min range for static count population
MONSTER_MAX (FLOAT) Max range for static count population
Champion spawn
CHAMPIONSPAWNCLASS (STRING) Champion spawn class to use when populating this level.
CHAMPIONSPAWNCLASSRANDOMIZED (BOOL) Sets the champion spawn class to be randomized*.
CHAMPIONS_PER_METER_MIN (FLOAT) Min range for champion per meter population.
CHAMPIONS_PER_METER_MAX (FLOAT) Max range for champion per meter population.
CHAMPIONS_MIN (FLOAT) Min range for static count population
CHAMPIONS_MAX (FLOAT) Max range for static count population
Props spawn
PROPSPAWNCLASS (STRING) Props spawn class to use when populating this level. (used for breakables)
PROPSPAWNCLASSRANDOMIZED (BOOL) Sets the props spawn class to be randomized*.
PROPS_PER_METER_MIN (FLOAT) Min range for props per meter population.
PROPS_PER_METER_MAX (FLOAT) Max range for props per meter population.
PROPS_MIN (FLOAT) Min range for static count population
PROPS_MAX (FLOAT) Max range for static count population
NPC spawn
NPCSPAWNCLASS (STRING) NPC spawn class to use when populating this level. (used for travelling merchants)
NPCSPAWNCLASSRANDOMIZED (BOOL) Sets the NPC spawn class to be randomized*.
NPCS_PER_METER_MIN (FLOAT) Min range for NPCs per meter population.
NPCS_PER_METER_MAX (FLOAT) Max range for NPCs per meter population.
NPCS_MIN (FLOAT) Min range for static count population
NPCS_MAX (FLOAT) Max range for static count population
Creeps spawn
CREEPSPAWNCLASS (STRING) Creep spawn class to use when populating this stratum. (used for ambient rats, frogs, snakes, etc.)
CREEPSPAWNCLASSRANDOMIZED (BOOL) Sets the creeps spawn class to be randomized*.
CREEPS_PER_METER_MIN (FLOAT) Min range for creeps per meter population.
CREEPS_PER_METER_MAX (FLOAT) Max range for creeps per meter population.
CREEPS_MIN (FLOAT) Min range for static count population
CREEPS_MAX (FLOAT) Max range for static count population
Gold spawn
GOLD_PER_METER_MIN (FLOAT) Min range for gold per meter population.
GOLD_PER_METER_MAX (FLOAT) Max range for gold per meter population.
GOLD_MIN (FLOAT) Min range for static count population
GOLD_MAX (FLOAT) Max range for static count population
Fish spawn & Rare Fish spawn
FISHSPAWNCLASS (STRING) Spawn class to use for fishing loot on this stratum
FISHSPAWNCLASSRANDOMIZED (BOOL) Sets the fish spawn class to be randomized*.
Quest Spawn Classes
QUESTMONSTERSPAWNCLASS (STRING) Spawn class to use when generating “Kill X monster” random quests.
QUESTMONSTERSPAWNCLASSRANDOMIZED (BOOL) Sets the quest monster spawn class to be randomized*.
QUESTITEMSPAWNCLASS (STRING) Spawn class to use when generating “Collect X item” random quests.
QUESTITEMSPAWNCLASS (BOOL) Sets the quest item spawn class to be randomized*.
QUESTCHAMPIONSPAWNCLASS (STRING) Spawn class to use when generating “Kill X champion” random quests.
QUESTCHAMPIONSPAWNCLASSRANDOMIZED (BOOL) Sets the quest champion spawn class to be randomized*.

* If the spawn class is marked to be “RANDOMIZED,” the game will grab the spawn class specified and grab all the spawn classes referenced inside that spawn class, pick one, then use that spawn class to do the population. This is how we do the random dungeons at the end of TL1 (and presumable will use someplace in TL2)


References

dungeons.txt · Last modified: 2015/09/04 09:53 by anarch16sync