Overview
This file controls how the game controls the area levels, including how the level is built, what rules are allowed on the level, and what monsters/objects can spawn on the level.
This file uses the following files: AutoMap.txt, LevelGroups.txt, LvlMaze.txt, LvlPrest.txt, LvlSub.txt, LvlTypes.txt, LvlWarp.txt, monstats.txt, Objgroup.txt
Data Fields
Name – Defines the unique name pointer for the area level, which is used in other files
Id – Defines the unique numeric ID for the area level, which is used in other files
Pal – Defines which palette file to use for the area level. This uses index values from 0 to 4 to convey Act 1 to Act 5.
Act – Defines the Act number that the area level is a part of. This uses index values from 0 to 4 to convey Act 1 to Act 5.
QuestFlag – Controls what quest record that the player needs to have completed before being allowed to enter this area level, while playing in Classic Mode. Each quest can have multiple quest records, and this field is looking for a specific quest record from a quest.
QuestFlagEx – Controls what quest record that the player needs to have completed before being allowed to enter this area level, while playing in Expansion Mode. Each quest can have multiple quest records, and this field is looking for a specific quest record from a quest.
Code | Description |
0 | Act 1 Prologue Seen |
1 | Den of Evil Complete |
2 | Sisters’ Burial Grounds Complete |
3 | Tools of the Trade Complete |
4 | The Search for Cain Complete |
5 | The Forgotten Tower Complete |
6 | Sisters to the Slaughter Complete |
7 | Act 1 Traversed |
8 | Act 2 Prologue Seen |
9 | Radament’s Lair Complete |
10 | The Horadric Staff Complete |
11 | The Tainted Sun Complete |
12 | The Arcane Sanctuary Complete |
13 | The Summoner Complete |
14 | The Seven Tombs Complete |
15 | Act 2 Traversed |
16 | Act 3 Prologue Seen |
17 | Lam Esen’s Tome Complete |
18 | Khalim’s Will Complete |
19 | Blade of the Old Religion Complete |
20 | The Golden Bird Complete |
21 | The Blackened Temple Complete |
22 | The Guardian Complete |
23 | Act 3 Traversed |
24 | Act 4 Prologue Seen |
25 | The Fallen Angel Complete |
26 | Terror’s End Complete |
27 | The Hellforge Complete |
28 | Act 4 Traversed |
29 | Rogue Warning Complete |
30 | Guard in Town Warning Complete |
31 | Guard in Desert Warning Complete |
32 | Dark Wanderer Seen |
33 | Angel Warning Complete |
34 | Act 5 Prologue Seen |
35 | Siege on Harrogath Complete |
36 | Rescue on Mount Arreat Complete |
37 | Prison of Ice Complete |
38 | Betrayal of Harrogath Complete |
39 | Rite of Passage Complete |
40 | Eve of Destruction Complete |
41 | Respec from Akara Complete |
Layer – Defines a unique numeric ID that is used to identify which Automap data belongs to which area level when saving and loading data from the character save.
SizeX & SizeX(N) & SizeX(H) – Specifies the Length tile size values of an entire area level, which are used for determining how to build the level, for Normal, Nightmare, and Hell Difficulty, respectively.
SizeY & SizeY(N) & SizeY(H) – Specifies the Width tile size values of an entire area level, which are used for determining how to build the level, for Normal, Nightmare, and Hell Difficulty, respectively.
OffsetX & OffsetY – Specifies the location offset coordinates (measured in tile size) for the origin point of the area level in the world.
Depend – Assigns another level to be this area level’s depended level, which controls this area level’s position and how it starts building its tiles. Uses the level “Id” field. If this equals 0, then ignore this.
Teleport – Controls the functionality of the Sorceress Teleport skill and the Assassin Dragon Flight skill on the area level
Code | Description |
0 | Teleport is disabled on the area level |
1 | Teleport is enabled on the area level |
2 | Teleport is enabled on the area level but adheres to the collision of the rooms |
Rain – Boolean Field. If equals 1, then allow rain to play its effects on the area level. If the level is part of Act 5, then it will snow on the area level, instead of rain. If equals 0, then it will never rain on the area level.
Mud – Boolean Field. If equals 1, then random bubbles will animate on the tiles that are flagged as water tiles. If equals 0, then ignore this.
NoPer – Boolean Field. If equals 1, then allow the use of display option of Perspective Mode while the player is in the level. If equals 0, then disable the option of Perspective Mode and force the player to use Orthographic Mode while the player is in the level.
LOSDraw – Boolean field. If equals 1, then the level will check the player’s line of sight before drawing monsters. If equals 0, then ignore this.
FloorFilter – Boolean field. If equals 1 and if the floor’s layer in the area level equals 1, then draw the floor tiles with a linear texture sampler. If equals 0, then draw the floor tiles with a nearest texture sampler.
BlankScreen – Boolean field. If equals 1, then draw the area level screen. If equals 0, then do not draw the area level screen, meaning that the level will be a blank screen.
DrawEdges – Boolean field. If equals 1, then draw the areas in levels that are not covered by floor tiles. If equals 0, then ignore this.
DrlgType – Determines the type of Dynamic Random Level Generation used for building and handling different elements of the area level. Uses a numeric code to handle which type of DRLG is used.
Code | Description |
0 | None |
1 | Maze |
2 | Preset |
3 | Outdoor |
LevelType – Defines the Level Type used for this area level. Uses the Level Type’s ID, which is determined by what order it is defined in the LvlType.txt file.
SubType – Controls the group of tile substitutions for the area level (see LvlSub.txt). There are defined sub types to choose from.
Code | Description |
-1 | None |
0 | Border Cliffs |
1 | Border Middle |
2 | Border Corner |
3 | Border General |
4 | Border Wild Waypoint |
5 | Border Wild Shrine |
6 | Border Wild Themes |
7 | Border Desert Waypoint |
8 | Border Desert Shrine |
9 | Border Desert Themes |
10 | Siege Dirt |
11 | Siege Snow |
12 | Barricade |
13 | Broken Barricade |
SubTheme – Controls which theme number to use in a Level Substitution (See LvlSub.txt). The allowed values are 0 to 4, which convey which “Prob#”, “Trials#”, and “Max#” field to use from the LvlSub.txt file. If this equals -1, then there is no sub theme for the area level.
SubWaypoint – Controls the level substitutions for adding waypoints in the area level (see LvlSub.txt). This uses a defined sub type to choose from (See “SubType”). This will depend on the room having a waypoint tile.
SubShrine – Controls the level substitutions for adding shrines in the area level (see LvlSub.txt). This uses a defined sub type to choose from (See “SubType”). This will depend on the room allowing for a shrine to spawn.
Vis0 (to Vis7) – Defines the visibility of other area levels involved with this area level, allowing for travel functionalities between levels. This uses the “Id” field of another defined area level to link with this area level. If this equals 0, then no area level is specified.
Warp0 (to Warp7) – Uses the “Id” field from LevelWarp.txt, which defines which Level Warp to use when exiting the area level. This is connected with the definition of the related “Vis#” field. If this equals -1, then no Level Warp is specified which should also mean that the related “Vis#” field is not defined.
Intensity – Controls the intensity value of the area level’s ambient colors. This affects brightness of the room’s RGB colors. Uses a value between 0 and 128. If all these related fields equal 0, then the game ignores setting the area level’s ambient colors.
Red – Controls the red value of the area level’s ambient colors. Uses a value between 0 and 255.
Green – Controls the green value of the area level’s ambient colors. Uses a value between 0 and 255.
Blue – Controls the blue value of the area level’s ambient colors. Uses a value between 0 and 255.
Portal – Boolean Field. If equals 1, then this area level will be flagged as a portal level, which is saved in the player’s information and can be used for keeping track of the player’s portal functionalities. If equals 0, then ignore this.
Position – Boolean Field. If equals 1, then enable special casing for positioning the player on the area level. This can mean that the player could spawn on a different location on the area level, depending on the level room’s position type. An example can be when the player spawns in a town when loading the game, or using a waypoint, or using a town portal. If equals 0, then ignore this.
SaveMonsters – Boolean Field. If equals 1, then the game will save the monsters in the area level, such as when all players leave the area level. If equals 0, then monsters will not be saved and will be removed. This is usually disabled for areas where monsters do not spawn.
Quest – Controls what quest record is attached to monsters that spawn in this area level. This is used for specific quests handling lists of monsters in the area level.
Code | Description |
0 | Act 1 Prologue Seen |
1 | Den of Evil Complete |
2 | Sisters’ Burial Grounds Complete |
3 | Tools of the Trade Complete |
4 | The Search for Cain Complete |
5 | The Forgotten Tower Complete |
6 | Sisters to the Slaughter Complete |
7 | Act 1 Traversed |
8 | Act 2 Prologue Seen |
9 | Radament’s Lair Complete |
10 | The Horadric Staff Complete |
11 | The Tainted Sun Complete |
12 | The Arcane Sanctuary Complete |
13 | The Summoner Complete |
14 | The Seven Tombs Complete |
15 | Act 2 Traversed |
16 | Act 3 Prologue Seen |
17 | Lam Esen’s Tome Complete |
18 | Khalim’s Will Complete |
19 | Blade of the Old Religion Complete |
20 | The Golden Bird Complete |
21 | The Blackened Temple Complete |
22 | The Guardian Complete |
23 | Act 3 Traversed |
24 | Act 4 Prologue Seen |
25 | The Fallen Angel Complete |
26 | Terror’s End Complete |
27 | The Hellforge Complete |
28 | Act 4 Traversed |
29 | Rogue Warning Complete |
30 | Guard in Town Warning Complete |
31 | Guard in Desert Warning Complete |
32 | Dark Wanderer Seen |
33 | Angel Warning Complete |
34 | Act 5 Prologue Seen |
35 | Siege on Harrogath Complete |
36 | Rescue on Mount Arreat Complete |
37 | Prison of Ice Complete |
38 | Betrayal of Harrogath Complete |
39 | Rite of Passage Complete |
40 | Eve of Destruction Complete |
41 | Respec from Akara Complete |
WarpDist – Defines the minimum pixel distance from a Level Warp that a monster is allowed to spawn near. Tile distance values are converted to game pixel distance values by multiplying the tile distance value by 160 / 32, where 160 is the width of pixels of a tile.
MonLvl & MonLvl(N) & MonLvl(H) – Controls the overall monster level for the area level for Normal, Nightmare, and Hell Difficulty, respectively. This is for Classic mode only. This can affect the highest item level allowed to drop in this area level.
MonLvlEx & MonLvlEx(N) & MonLvlEx(H) – Controls the overall monster level for the area level for Normal, Nightmare, and Hell Difficulty, respectively. This is for Expansion mode only. This can affect the highest item level allowed to drop in this area level.
MonDen & MonDen(N) & MonDen(H) – Controls the monster density on the area level for Normal, Nightmare, and Hell Difficulty, respectively. This is a random value out of 100000, which will determine whether to spawn or not spawn a monster pack in the room of the area level. If this value equals 0, then no random monsters will populate on the area level.
MonUMin & MonUMin(N) & MonUMin(H) – Defines the minimum number of Unique Monsters that can spawn in the area level for Normal, Nightmare, and Hell Difficulty, respectively. This field depends on the related “MonDen” field being defined.
MonUMax & MonUMax(N) & MonUMax(H) – Defines the maximum number of Unique Monsters that can spawn in the area level for Normal, Nightmare, and Hell Difficulty, respectively. This field depends on the related “MonDen” field being defined. Each room in the area level will attempt to spawn a Unique Monster with a 5/100 random chance, and this field’s value will cap the number of successful attempts for the entire area level.
MonWndr – Boolean Field. If equals 1, then allow Wandering Monsters to spawn on this area level (see wanderingmon.txt). This field depends on the related “MonDen” field being defined. If equals 0, then ignore this.
MonSpcWalk – Defines a distance value, used to handle monster pathing AI when the level has certain pathing blockers, such as jail bars or rivers. In these cases, monsters will walk randomly until a player is located within this distance value or when the monsters find a possible path to target the player. If this equals 0, then ignore this field.
NumMon – Controls the number of different monsters randomly spawn in the area level. The maximum value is 13. This controls the number of random selections from the 25 related “mon#” and “umon#” fields or “nmmon#” fields, depending on the game difficulty.
mon1 (to mon25) – Defines which monsters can spawn on the area level for Normal Difficulty. Uses the monster “Id” field from the monstats.txt file.
rangedspawn – Boolean Field. If equals 1, then for the first monster, try to pick a ranged type. If equals 0, then ignore this.
nmon1 (to nmon25) – Defines which monsters can spawn on the area level for Nightmare Difficulty and Hell Difficulty. Uses the monster “Id” field from the monstats.txt file.
umon1 (to umon25) – Defines which monsters can spawn as Unique monsters on this area level for Normal Difficulty. Uses the monster “Id” field from the monstats.txt file.
cmon1 (to cmon4) – Defines which Critter monsters can spawn on the area level. Uses the monster “Id” field from the monstats.txt file. Critter monsters are determined by the “critter” field from the monstats2.txt file.
cpct1 (to cpct4) – Controls the percent chance (out of 100) to spawn a Critter monster on the area level.
camt1 (to camt4) – Controls the amount of Critter monsters to spawn on the area level after they succeeded their random spawn chance from the related “cpct#” field.
Themes – Controls the type of theme when building a level room. This value is a summation of possible values to build a bit mask for determining which themes to use when building a level room. For example, a value of 60 means that the area level can have the following themes: 32, 16, 8, 4.
Code | Description |
0 | No Theme |
1 | Object Empty Theme (no objects spawn) |
2 | Barrel Theme (create random barrel objects) |
4 | Shrine Theme |
8 | Treasure Theme (create random items) |
16 | Armor Stand Theme |
32 | Weapon Rack Theme |
SoundEnv – Uses the “Index” field from SoundEnviron.txt, which controls what music is played while the player is in the area level
Waypoint – Defines the unique numeric ID for the Waypoint in the area level. If this value is greater than or equal to 255, then ignore this field.
LevelName – String Field. Used for displaying the name of the area level, such as when in the UI when the Automap is being viewed.
LevelWarp – String Field. Used displaying the entrance name of the area level on Level Warp tiles that link to this area level. For example, when the player mouse hovers over a tile to warp to the area level, then this string is displayed.
LevelEntry – String Field. Used for displaying the UI popup title string when the player enters the area level.
ObjGrp0 (to ObjGrp7) – Uses a numeric ID to define which possible Object Groups to spawn in this area level (See objgroup.txt). The game will go through each of these fields, so there can be more than 1 Object Group used in an area level. If this value equals 0, then ignore this.
ObjPrb0 (to ObjPrb7) – Determines the random chance (out of 100) for each Object Group to spawn in the area level. This field depends on the related “ObjGrp#” field being defined.
LevelGroup – Defines what group this level belongs to. Used for condensing level names in desecrated (terror) zones messaging. See LevelGroups.txt.