User Tools

Site Tools


dungeons

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

dungeons [2015/09/04 09:53] (current)
anarch16sync created
Line 1: Line 1:
 +====== Dungeons ======
 +----
 +===== Overview =====
 +----
 +{{http://​docs.runicgames.com/​w/​images/​thumb/​4/​49/​LevelOrganization.png/​300px-LevelOrganization.png}}
  
 +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. ​
 +{{ http://​docs.runicgames.com/​w/​images/​thumb/​7/​77/​DungeonPic.jpg/​600px-DungeonPic.jpg |The Dungeon editing window as seen in the editor. }}
 +
 +Dungeon data looks like this:
 +<​code>​
 +[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]
 +</​code>​
 +
 +
 +===== Properties =====
 +----
 +==== Dungeon Properties ====
 +
 +^ NAME ^ TYPE ^ DESCRIPTION |
 +|NAME|(STRING) | The name of the dungeon. ​ [[Warper Object|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|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:​
 +<​code>​
 +[MUST_BE_COMPLETED_OR_ACTIVE]
 + <​STRING>​QUEST:​A1-GOTOTOWN_TALKTOREGENT
 + <​STRING>​QUEST:​RANDOMPEOPLE
 +[/​MUST_BE_COMPLETED_OR_ACTIVE]
 +</​code>​
 +
 +> String list format for MUST_BE_COMPLETED
 +<​code>​
 +[MUST_BE_COMPLETED]
 + <​STRING>​QUEST:​A1-STARTOFGAME
 +[/​MUST_BE_COMPLETED]
 +</​code>​
 +
 +=== 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|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 =====
 +[[http://​docs.runicgames.com/​wiki/​Dungeons |Dungeons - Rucic Wiki]]
dungeons.txt · Last modified: 2015/09/04 09:53 by anarch16sync