Difference between revisions of "Random vault (UnNetHack)"

From NetHackWiki
Jump to navigation Jump to search
m (Possible Vaults: Chance to = opportunity; chance of = probability)
m (cat + var)
 
(10 intermediate revisions by 3 users not shown)
Line 1: Line 1:
Random vaults (not to be confused with [[Vault]]s) are a part of the level generation formula introduced in [[UnNetHack]].  
+
'''Random vaults''' are a part of the level generation formula used in [[UnNetHack]]. Despite the name, these are entirely unrelated to the hidden [[vault]]s filled with gold, and are used to create unique rooms that connect normally to the rest of the dungeon.
  
Despite the name, "random vaults" are really "random rooms" and connect to the rest of the dungeon normally.  
+
In the UnNetHack source code, the random vaults are defined in <code>dat/vaults.des</code>. The upcoming release of [[NetHack 3.7.0]] will have a similar feature, called [[themed room]]s.
{{todo|This is still confusing - as evidenced by the [[Talk:Random vault (UnNetHack)|talk page]]...  Also, the article is very unattractive, and someone should fix the vaults left as des files}}
 
  
All rooms in the main branch of the dungeon that are not gold vaults or part of special levels are selected from the list of random vaults.
+
==Description==
 +
Every room that is not a vault or part of a special level and not a vault is selected from the list of random vaults. The "normal random room" has a {{frac|40|41}} chance of being selected; all the others have a {{frac|2050}} chance of being selected. Some of these rooms can be further transformed into [[special room]]s.
  
When selecting what random vault to place, each random vault except the "Normal Random Room" has a 1/2050 chance of being selected. If none are chosen, the vault selected is "Normal Random Room" - which is simply a normal room as you would often find in vanilla and has a 2000/2050 or 40/41 chance of being generated. In addition, some of these vaults (including "Normal Random Room") can be further transformed into [[Special room]]s. When this is possible, it is stated in the description of the individual vault, and follows the normal probabilities for generating special rooms.
+
==Possible vaults==
  
 
+
{|class="prettytable"
 
+
!Name
== Possible Vaults ==
+
!Can be special
 
+
!Size
* Normal Random Room
+
!Map
** Exactly what it says on the tin, this is a normal room. It can be converted into any possible special room. It is also the only one with a unique chance of being generated, (40/41 compared to 1/2050)
+
!Notes
* Fake Delphi
+
|-
** This 11x9 vault looks a bit like the room the oracle is in - a big room with a small room in the center
+
|Normal random room
** Both the room and the subroom are guaranteed to be lit
+
|style="background-color:lightgreen"|Yes
** There is a door to the subroom, with a 25% chance of a second door. Both doors have a chance of being locked and/or trapped and/or secret.
+
|
* Room with a subroom
+
|
** This is just a random room with a random subroom
+
|
** There is a door to the subroom with a chance of being locked and/or trapped and/or secret.
+
* The regular rooms found in vanilla NetHack
* Big room 1
+
* The only one with a unique chance of being generated, (40/41 compared to 1/2050)
** This is a random 30x10 room
+
|-
** It has a 75% of having a random normal room as a subroom. This subroom will have a randomly placed door with a 50% chance of a second door. Both doors have a chance of being locked and/or trapped and/or secret.
+
|Fake Delphi
* lava/ice/pool/tree/fountain room
+
|style="background-color:#FFF68F|Subroom only
** This is a 3x3 room.
+
|11x9
** The center square of the room has an equal chance of being lava, ice, pool, tree, or fountain.
+
|
** Each other square has a 10% chance of being the same as the center square.
+
|
* Big room 2
+
* A big room with a small room in the center, similar to Delphi
** This 10x17 random vault has 2d3 random hostile monsters inside it
+
* Both the room and the subroom are guaranteed to be lit
* thin, long, horizontal room
+
* There is a door to the subroom, with a 25% chance of a second door.
** This 17x3 random vault has 2d3 random hostile monsters inside it
+
* Both doors have a chance of being locked and/or trapped and/or secret.
* thin, long, vertical room
+
|-
** This 3x17 random vault has 2d3 random hostile monsters inside it
+
|room with a subroom
* tiny cage, big monster
+
|style="background-color:#FFF68F|Subroom only
** This 5x5 random vault is just a random room with a 2x2 subroom if it is generated on Dungeon Level 1 or 2
+
|
** If it is generated on level 3 or lower, that subroom also has a random [[M]], [[D]], [[O]], [[Z]], [[T]], or [[H]] and the monster will now be caged in iron bars
+
|
* room with dangerous monster and loot
+
|
** This randomly sized vault contains a random hostile monster [[M]], [[D]], [[O]], [[Z]], [[T]], or [[H]] (100% chance)
+
* A random room with a random subroom
** In addition to that monster, there is a 50% chance of a second hostile monster [[M]], [[D]], [[O]], [[Z]], [[T]], or [[H]], and a 25% chance of a third monster [[M]], [[D]], [[O]], [[Z]], [[T]], or [[H]].
+
|-
** The 25% chance monster is not guaranteed to be hostile.
+
|big room, 1
 +
|style="background-color:pink"|No
 +
|30x10
 +
|
 +
|
 +
* Has a 75% chance of having a random normal room as a subroom
 +
** This subroom will have a randomly placed door with a 50% chance of a second door
 +
** Both doors have a chance of being locked and/or trapped and/or secret.
 +
|-
 +
|lava/ice/pool/tree/fountain room
 +
|style="background-color:pink"|No
 +
|3x3
 +
|
 +
|
 +
* The center square of the room has an equal chance of being lava, ice, pool, tree, or fountain.
 +
* Each other square has a 10% chance of being the same as the center square.
 +
|-
 +
|big room, 2 (max. vertical height)
 +
|style="background-color:pink"|No
 +
|10x17
 +
|
 +
|
 +
* 2d3 random hostile monsters
 +
|-
 +
|thin, long, horizontal room
 +
|style="background-color:pink"|No
 +
|17x3
 +
|
 +
|
 +
* 2d3 random hostile monsters
 +
|-
 +
|thin, long, vertical room
 +
|style="background-color:pink"|No
 +
|3x17
 +
|
 +
|
 +
* 2d3 random hostile monsters
 +
|-
 +
|tiny cage, big monster
 +
|style="background-color:pink"|No
 +
|5x5
 +
|
 +
|
 +
* DL1 or DL2: just a random room with a 2x2 subroom
 +
* Otherwise: subroom also has a random [[M]], [[D]], [[O]], [[Z]], [[T]], or [[H]] and the monster will now be caged in iron bars
 +
|-
 +
|room with dangerous monster and loot
 +
|style="background-color:pink"|No
 +
|
 +
|
 +
|
 +
* Up to 3 monsters from the classes [[M]], [[D]], [[O]], [[Z]], [[T]], or [[H]]
 +
** 100% chance of the first random hostile monster
 +
** 50% chance of a second hostile monster
 +
** 25% chance of a third monster (not guaranteed to be hostile)
 
** These percentages are calculated independently, so there is still a 25% chance, even if the 50% chance fails.
 
** These percentages are calculated independently, so there is still a 25% chance, even if the 50% chance fails.
** In addition to the guaranteed monster and the two possible monsters, there is a 100% chance of a random object. There is an additional 75% chance of a second object, a 50% chance of a third object, a 25% chance of a fourth object (this one will be blessed if it appears), and a 10% chance of a fifth object (this one will be blessed if it appears).
+
* Random object
** As with the monster percentages, these object percentages are calculated independently, so each check takes place, regardless of the success or failure of previous checks.
+
** 100% chance of the first object
* boulder room
+
** 75% chance of a second object
** This otherwise normal room contains 1d6+3 boulders, and 1d4 rolling boulder traps
+
** 50% chance of a third object
* spider nest
+
** 25% chance of a fourth object (this one will be cursed)
** This otherwise normal room contains 3d3 webs
+
** 10% chance of a fifth object (this one will be blessed)
* ice room
+
|-
** This is a normal room, except the floor is replaced by ice
+
!Name
* random cloud/lava/ice/pool/tree room
+
!Can be special
** This is a normal room, except 30% of the tiles are replaced with cloud, lava, ice, pools, or trees (all will be the same type of replacement)
+
!Size
* buried treasure
+
!Map
** This room can take the form of any other special room
+
!Notes
** Buried somewhere in the room is a chest filled with 3d4 random objects
+
|-
* massacre
+
|boulder room
** This is a normal room filled with bodies from some horrific massacre.
+
|style="background-color:pink"|No
** There are 5d5 random corpses from the following list:
+
|
**:'@', "apprentice", "warrior", "ninja", "thug", "hunter", "acolyte", "abbot", "page", "attendant", "neanderthal", "chieftain", "student", "wizard", "valkyrie", "tourist", "samurai", "rogue", "ranger", "priestess", "priest", "monk", "knight", "healer", "cavewoman", "caveman", "barbarian", "archeologist"
+
|
** Each corpse generated has a 90% chance of being the same as the previous corpse generated, so the most likely outcome is multiple instances of a few types
+
|
* statuary
+
* 1d6 + 3 boulders
** This is a normal room with 5d5 random statues
+
* 1d4 rolling boulder traps
** There is a 50% chance each for the existence of 3 statue traps
+
|-
* light source
+
|spider nest
** This is a normal unlit room
+
|style="background-color:pink"|No
** There will be a lit oil lamp sitting in the room (if you get there before it burns out)
+
|
* temple of the gods
+
|
** There are 3 randomly placed altars in this room, one of each alignment
+
|
* Mausoleum
+
* unlit
<pre>
+
* 3d3 webs
LEVEL:"vlt-%04i"
+
|-
FLAGS:rndvault
+
|ice room
ROOM:"rndvault", random, random, random, (5,5) {
+
|style="background-color:pink"|No
  TERRAIN:(1,1) & (2,1) & (3,1) &
+
|
          (1,2) &        (3,2) &
+
|
          (1,3) & (2,3) & (3,3), '-'
+
|
  IF [50%] {
+
* 10% chance of a cold trap
    $mons = MONSTER: { 'M', 'V', 'L', 'Z' }
+
* Floor replaced by ice
    SHUFFLE: $mons
+
|-
    MONSTER:$mons[0],(2,2), hostile
+
|random cloud/lava/ice/pool/tree room
  } ELSE {
+
|style="background-color:pink"|No
    OBJECT:('%', "corpse"), random, montype:'@'
+
|
  }
+
|
 
+
|
  IF [20%] {
+
* 30% of the tiles are replaced with cloud, lava, ice, pools, or trees (all will be the same type of replacement)
    $place = { (2,1), (1,2), (3,2), (2,3) }
+
|-
    SHUFFLE: $place
+
|buried treasure
    TERRAIN: $place[0], 'S'
+
|style="background-color:lightgreen"|Yes
  }
+
|
}
+
|
</pre>
+
|
* big room, 1, random type
+
* Guaranteed buried chest with 3d4 objects
** This 17x10 room will be a larger version of any type of randomly generated room
+
|-
* big room, 2 (max. vertical height), filled with fog
+
|massacre
** This 10x17 normal room has a lot of clouds in it, plus 2d3 random hostile monsters
+
|style="background-color:pink"|No
* very thin, long, horizontal room
+
|
** this 50x3 room has 2d3 random hostile monsters
+
|
* very very thin, long, horizontal room
+
|
** this 70x3 room has 2d3 random hostile monsters
+
* 5d5 random corpses of the following
* L-shaped
+
** @', "apprentice", "warrior", "ninja", "thug", "hunter", "acolyte", "abbot", "page", "attendant", "neanderthal", "chieftain", "student", "wizard", "valkyrie", "tourist", "samurai", "rogue", "ranger", "priestess", "priest", "monk", "knight", "healer", "cavewoman", "caveman", "barbarian", "archeologist", "convict"
 +
* Each corpse generated has a 90% chance of being the same as the previous corpse generated
 +
|-
 +
|statuary
 +
|style="background-color:pink"|No
 +
|
 +
|
 +
|
 +
* 5d5 statues
 +
* 3 statue traps, each with 50% of existing
 +
|-
 +
|light source
 +
|style="background-color:lightgreen"|Yes
 +
|
 +
|
 +
|
 +
* unlit
 +
* guaranteed lit oil lamp
 +
|-
 +
|potentially spooky
 +
|style="background-color:lightgreen"|Yes
 +
|
 +
|
 +
|
 +
* unlit
 +
* if it's night time:
 +
** 100% of first grave
 +
** 20% of second grave
 +
** if DL > 10, there will be a [[&]]
 +
|-
 +
|temple of the gods
 +
|style="background-color:pink"|No
 +
|
 +
|
 +
|
 +
* one altar of each alignment
 +
|-
 +
!Name
 +
!Can be special
 +
!Size
 +
!Map
 +
!Notes
 +
|-
 +
|mausoleum
 +
|style="background-color:pink"|No
 +
|5x5
 +
|
 +
|
 +
* Equal chance of one of the following
 +
** random hostile [[L]], [[M]], [[V]], [[Z]] in the middle
 +
** corpse of a random [[@]]
 +
* 20% of a secret door
 +
** never in a corner
 +
* outer tiles will be solid rock
 +
|-
 +
|big room, 1, random type
 +
|style="background-color:pink"|No
 +
|17x10
 +
|
 +
|
 +
* a larger version of any type of randomly generated room
 +
|-
 +
|big room, 2 (max. vertical height), filled with fog
 +
|style="background-color:pink"|No
 +
|10x17
 +
|
 +
|
 +
* lot of clouds
 +
* 2d3 random hostile monsters
 +
|-
 +
|very thin, long, horizontal room
 +
|style="background-color:pink"|No
 +
|50x5
 +
|
 +
|
 +
* 2d3 random hostile monsters
 +
|-
 +
|very very thin, long, horizontal room
 +
|style="background-color:pink"|No
 +
|70x3
 +
|
 +
|
 +
* 2d3 random hostile monsters
 +
|-
 +
|L-shaped
 +
|style="background-color:lightgreen"|Yes
 +
|
 +
|
 
<div class="ttyscreen"><replacecharsblock rules="ttymap">
 
<div class="ttyscreen"><replacecharsblock rules="ttymap">
 
-----xxx
 
-----xxx
Line 110: Line 251:
 
--------
 
--------
 
</replacecharsblock></div>
 
</replacecharsblock></div>
** This room can exist in any of the 4 possible rotations. It can be turned into any type of special room.
+
|
* L-shaped, big
+
* can exist in any of the 4 possible rotations
 +
|-
 +
|L-shaped, big
 +
|style="background-color:pink"|No
 +
|
 +
|
 
<div class="ttyscreen"><replacecharsblock rules="ttymap">
 
<div class="ttyscreen"><replacecharsblock rules="ttymap">
 
-------xxxxxx
 
-------xxxxxx
Line 126: Line 272:
 
-------------
 
-------------
 
</replacecharsblock></div>
 
</replacecharsblock></div>
** This room can exist in any of the 4 possible rotations. It can be turned into any type of special room.
+
|
* Blocked center
+
* can exist in any of the 4 possible rotations
 +
|-
 +
|Blocked center
 +
|style="background-color:lightgreen"|Yes
 +
|
 +
|
 
<div class="ttyscreen"><replacecharsblock rules="ttymap">
 
<div class="ttyscreen"><replacecharsblock rules="ttymap">
 
-----------
 
-----------
Line 141: Line 292:
 
-----------
 
-----------
 
</replacecharsblock></div>
 
</replacecharsblock></div>
** It is possible for lava to be replaced with either pools or solid rock
+
|
** This room can be turned into any type of special room
+
* 75% chance of replacing lava with one of the following:
* circular, small
+
** solid rock
 +
** pool of water
 +
** crystal ice wall
 +
|-
 +
|Circular, small
 +
|style="background-color:lightgreen"|Yes
 +
|
 +
|
 
<div class="ttyscreen"><replacecharsblock rules="ttymap">
 
<div class="ttyscreen"><replacecharsblock rules="ttymap">
 
xx---xx
 
xx---xx
Line 153: Line 311:
 
xx---xx
 
xx---xx
 
</replacecharsblock></div>
 
</replacecharsblock></div>
** This room can be turned into any type of special room
+
|
* circular, medium
+
|-
 +
|Circular, medium
 +
|style="background-color:lightgreen"|Yes
 +
|
 +
|
 
<div class="ttyscreen"><replacecharsblock rules="ttymap">
 
<div class="ttyscreen"><replacecharsblock rules="ttymap">
 
xx-----xx
 
xx-----xx
Line 166: Line 328:
 
xx-----xx
 
xx-----xx
 
</replacecharsblock></div>
 
</replacecharsblock></div>
** This room can be turned into any type of special room
+
|
* circular, large
+
|-
 +
!Name
 +
!Can be special
 +
!Size
 +
!Map
 +
!Notes
 +
|-
 +
|Circular, big
 +
|style="background-color:lightgreen"|Yes
 +
|
 +
|
 
<div class="ttyscreen"><replacecharsblock rules="ttymap">
 
<div class="ttyscreen"><replacecharsblock rules="ttymap">
 
xxx-----xxx
 
xxx-----xxx
Line 181: Line 353:
 
xxx-----xxx
 
xxx-----xxx
 
</replacecharsblock></div>
 
</replacecharsblock></div>
** This room can be turned into any type of special room
+
|
* T-shaped
+
|-
 +
|T-shaped
 +
|style="background-color:lightgreen"|Yes
 +
|
 +
|
 
<div class="ttyscreen"><replacecharsblock rules="ttymap">
 
<div class="ttyscreen"><replacecharsblock rules="ttymap">
 
xxx-----xxx
 
xxx-----xxx
Line 193: Line 369:
 
-----------
 
-----------
 
</replacecharsblock></div>
 
</replacecharsblock></div>
** This room can exist in any of the 4 possible rotations. It can be turned into any type of special room.
+
|
* S-shaped
+
* Can exist in any of 4 rotations
 +
|-
 +
|S-shaped
 +
|style="background-color:lightgreen"|Yes
 +
|
 +
|
 
<div class="ttyscreen"><replacecharsblock rules="ttymap">
 
<div class="ttyscreen"><replacecharsblock rules="ttymap">
 
-----xxx
 
-----xxx
Line 208: Line 389:
 
xxx-----
 
xxx-----
 
</replacecharsblock></div>
 
</replacecharsblock></div>
** This room can exist in any of the 2 possible rotations. It can be turned into any type of special room.
+
|
* Z-shaped
+
* Can exist in any of 2 rotations
 +
|-
 +
|Z-shaped
 +
|style="background-color:lightgreen"|Yes
 +
|
 +
|
 
<div class="ttyscreen"><replacecharsblock rules="ttymap">
 
<div class="ttyscreen"><replacecharsblock rules="ttymap">
 
xxx-----
 
xxx-----
Line 223: Line 409:
 
-----xxx
 
-----xxx
 
</replacecharsblock></div>
 
</replacecharsblock></div>
** This room can exist in any of the 2 possible rotations. It can be turned into any type of special room.
+
|
* U-shaped
+
* Can exist in any of 2 rotations
 +
|-
 +
|U-shaped
 +
|style="background-color:lightgreen"|Yes
 +
|
 +
|
 
<div class="ttyscreen"><replacecharsblock rules="ttymap">
 
<div class="ttyscreen"><replacecharsblock rules="ttymap">
 
-----xxx-----
 
-----xxx-----
Line 235: Line 426:
 
-------------
 
-------------
 
</replacecharsblock></div>
 
</replacecharsblock></div>
** This room can exist in any of the 2 possible rotations. It can be turned into any type of special room.
+
|
* C-shaped
+
* Can be flipped vertically
 +
|-
 +
|C-shaped
 +
|style="background-color:lightgreen"|Yes
 +
|
 +
|
 
<div class="ttyscreen"><replacecharsblock rules="ttymap">
 
<div class="ttyscreen"><replacecharsblock rules="ttymap">
 
--------
 
--------
Line 249: Line 445:
 
--------
 
--------
 
</replacecharsblock></div>
 
</replacecharsblock></div>
** This room can exist in any of the 2 possible rotations. It can be turned into any type of special room.
+
|
 
+
* Can be flipped horizontally
* Tetris L-shaped
+
|-
 +
|Tetris L-shaped
 +
|style="background-color:lightgreen"|Yes
 +
|
 +
|
 
<div class="ttyscreen"><replacecharsblock rules="ttymap">
 
<div class="ttyscreen"><replacecharsblock rules="ttymap">
 
-----xxx
 
-----xxx
Line 265: Line 465:
 
--------
 
--------
 
</replacecharsblock></div>
 
</replacecharsblock></div>
** This room can exist in any of the 4 possible rotations. It can be turned into any type of special room.
+
|
 
+
* Can exist in any of 4 rotations
* Tetris J-shaped
+
|-
 +
|Tetris J-shaped
 +
|style="background-color:lightgreen"|Yes
 +
|
 +
|
 
<div class="ttyscreen"><replacecharsblock rules="ttymap">
 
<div class="ttyscreen"><replacecharsblock rules="ttymap">
 
xxx-----
 
xxx-----
Line 281: Line 485:
 
--------
 
--------
 
</replacecharsblock></div>
 
</replacecharsblock></div>
** This room can exist in any of the 4 possible rotations. It can be turned into any type of special room.
+
|
 
+
* Can be in any of 4 rotations
* 4-Leaf Clover
+
|-
 +
|Four-leaf clover
 +
|style="background-color:lightgreen"|Yes
 +
|
 +
|
 
<div class="ttyscreen"><replacecharsblock rules="ttymap">
 
<div class="ttyscreen"><replacecharsblock rules="ttymap">
 
-----x-----
 
-----x-----
Line 297: Line 505:
 
-----x-----
 
-----x-----
 
</replacecharsblock></div>
 
</replacecharsblock></div>
**  It can be turned into any type of special room.
+
|
* Watcher in the Water
+
|-
** Not to be confused with the [[Watcher in the Water|monster of the same name]]
+
|Cross
** This room contains 1d3 random pools
+
|style="background-color:lightgreen"|Yes
** If this occurs on level 3 or deeper, it will contain, a [[Giant eel]], [[Electric eel]], or [[Kraken]]
+
|
* room with sessile growths
+
|
** This room contains 4d3 sleeping [[gas spore]]s, [[F]], [[b]], [[j]], and [[P]]
+
<div class="ttyscreen"><replacecharsblock rules="ttymap">
* Pillars
+
xxx-----xxx
<pre>
+
xxx|...|xxx
LEVEL:"vlt-%04i"
+
xxx|...|xxx
FLAGS:rndvault
+
----...----
ROOM:"ordinary", random, random, random, (10, 10) {
+
|.........|
  $terr = terrain: { '-', '-', '-', '-', '-', 'L', 'I', 'P', 'T' }
+
|.........|
  SHUFFLE: $terr
+
|.........|
  FOR $y = 0 TO ((room.height - 3) / 4) {
+
----...----
    FOR $x = 0 TO ((room.width - 3) / 4) {
+
xxx|...|xxx
      TERRAIN:coord(($x * 4) + 2, ($y * 4) + 2), $terr[0]
+
xxx|...|xxx
      TERRAIN:coord(($x * 4) + 3, ($y * 4) + 2), $terr[0]
+
xxx-----xxx
      TERRAIN:coord(($x * 4) + 2, ($y * 4) + 3), $terr[0]
+
</replacecharsblock></div>
      TERRAIN:coord(($x * 4) + 3, ($y * 4) + 3), $terr[0]
+
|
    }
+
|-
  }
+
!Name
}
+
!Can be special
</pre>
+
!Size
* Small, tightly-spaced pillars
+
!Map
<pre>
+
!Notes
LEVEL:"vlt-%04i"
+
|-
FLAGS:rndvault
+
|watcher in the water
ROOM:"ordinary", random, random, random, random {
+
|style="background-color:pink"|No
  IF [ (room.width % 2) == 0 ] { BREAK }
+
|
  IF [ (room.height % 2) == 0 ] { BREAK }
+
|
  $terr = terrain: { '-', '-', '-', '-', '-', 'L', 'I', 'P', 'T', 'C' ,'F' }
+
|
  SHUFFLE: $terr
+
* Not to be confused with the [[Watcher in the Water|monster of the same name]]
  FOR $y = 0 TO ((room.height - 3) / 2) {
+
* This room contains 1d3 random pools
    FOR $x = 0 TO ((room.width - 3) / 2) {
+
* If this occurs on level 3 or deeper, it will contain, a [[Giant eel]], [[Electric eel]], or [[Kraken]]
      TERRAIN:coord(($x * 2) + 1, ($y * 2) + 1), $terr[0]
+
|-
    }
+
|room with sessile growths
  }
+
|style="background-color:pink"|No
}
+
|
</pre>
+
|
* Mirrored obstacles
+
|
<pre>
+
* 4d3 sleeping [[gas spore]]s, [[F]], [[b]], [[j]], and [[P]]
LEVEL:"vlt-%04i"
+
|-
FLAGS:rndvault
+
|Pillars
ROOM:"ordinary", random, random, random, random {
+
|style="background-color:lightgreen"|Yes
  IF [ room.width < 4 ] { BREAK }
+
|10x10
  IF [ room.height < 4 ] { BREAK }
+
|
  $terr = terrain: { '-', '-', '-', '-', '-', 'L', 'I', 'P', 'T', 'C', 'F' }
+
|
  SHUFFLE: $terr
+
*There is a 2x2 pillar with one of the following terrain:
  LOOP [ 1d3 ] {
+
** 50% chance of solid rock
    $x = 1d6 - (1)
+
** 10% chance of lava
    IF [ $x >= room.width ] { $x = (room.width - (1)) }
+
** 10% chance of ice
    $y = 1d6 - (1)
+
** 10% chance of a pool of water
    IF [ $y >= room.height ] { $y = (room.height - (1)) }
+
** 10% chance of trees
    TERRAIN:coord($x, $y), $terr[0]
+
** 10% chance of crystal ice wall
    $mx = room.width - ($x) - (1)
+
|-
    $my = room.height - ($y) - (1)
+
|Small tightly-placed pillars
    TERRAIN:coord($mx, $my), $terr[0]
+
|style="background-color:lightgreen"|Yes
  }
+
|
}
+
|
</pre>
+
|
* Trap room
+
* If the width or height is even, no special terrain
** As the name suggests, this is a room filled with [[trap]]s.
+
* Otherwise, 1x1 pillars with one of the following terrain:
** The number of traps will be equal to 1/4 the area of the room, plus up to an additional 1/3 of the room
+
** 5/12 chance of solid rock
** The traps will be selected from the following list:
+
** 1/12 chance of lava
(pit/spiked pit), land mine, falling rock, (fire/cold trap), (trap door/hole), (arrow/dart)
+
** 1/12 chance of ice
* Underground rivers
+
** 1/12 chance of a pool or water
<pre>
+
** 1/12 chance of tree
LEVEL:"vlt-%04i"
+
** 1/12 chance of crystal ice wall
FLAGS:rndvault
+
** 1/12 chance of cloud
GEOMETRY:random
+
** 1/12 chance or iron bars
MAP
+
|-
 
+
|Mirrored obstacles
 
+
|style="background-color:lightgreen"|Yes
ENDMAP
+
|
$terr = terrain: { ('L', lit), 'P' }
+
|
SHUFFLE:$terr
+
|
SPILL:random, $terr[0], north, 2d4
+
* If the width or height is below 4, no obstacles
</pre>
+
* Otherwise, 1d3 pairs of mirrored obstacles, using one of the following terrain:
* Trapped rust monster, disenchanter, or disintegrator
+
** 5/12 chance of solid rock
** This is a 5x5 room with a 2x2 cage of iron bars in the center. In the cage is a random [[R]]
+
** 1/12 chance of lava
** Other than [[polymorph]], this is the only time that [[disintegrator]]s can appear in UnNetHack (thankfully)
+
** 1/12 chance of ice
* Fern Nursery
+
** 1/12 chance of a pool or water
 +
** 1/12 chance of tree
 +
** 1/12 chance of crystal ice wall
 +
** 1/12 chance of cloud
 +
** 1/12 chance or iron bars
 +
|-
 +
|Trap Room
 +
|style="background-color:pink"|No
 +
|
 +
|
 +
|
 +
* Filled with [[trap]]s.
 +
* The number of traps will be equal to 1/4 the area of the room, plus up to an additional 1/3 of the room
 +
* The traps will be selected from the following list:
 +
** (pit/spiked pit)
 +
** land mine
 +
** falling rock
 +
** (fire/cold trap)
 +
** (trap door/hole)
 +
** (arrow/dart)
 +
|-
 +
|Underground rivers
 +
|style="background-color:pink"|No
 +
|
 +
|
 +
|
 +
* might not count as an actual "room"
 +
* random "globs" of lava or water pools
 +
|-
 +
|Trapped rust monster, disenchanter, or disintegrator
 +
|style="background-color:pink"|No
 +
|5x5
 +
|
 +
|
 +
* Has a 2x2 island of hostile [[R]], surrounded by pools of water
 +
* Other than [[polymorph]], this is the only time that [[disintegrator]]s can appear in UnNetHack (thankfully)
 +
|-
 +
|Fern nursery
 +
|style="background-color:pink"|No
 +
|
 +
|
 +
|
 +
* If DL >= 3:
 
** 25% chance of a [[fern|dungeon fern]]
 
** 25% chance of a [[fern|dungeon fern]]
 
** 50% chance of a [[fern|arctic fern]]
 
** 50% chance of a [[fern|arctic fern]]
 
** 50% chance of a [[fern|blazing fern]]
 
** 50% chance of a [[fern|blazing fern]]
** 50% chance of an [[fern|arctic fern]]
+
** 50% chance of an [[fern|swamp fern]]
* Ozymandias' Tomb
+
|-
<pre>
+
|Ozymandias' Tomb
LEVEL:"vlt-%04i"
+
|style="background-color:pink"|No
FLAGS:rndvault
+
|
GEOMETRY:random
+
|
MAP
+
<div class="ttyscreen"><replacecharsblock rules="ttymap">
 +
1=[[engraving|{{brightred|1}}]]
 +
2=[[engraving|{{brightred|2}}]]
 +
3=[[hole|{{brown|^}}]]
 +
4=[[falling rock trap|{{lightgray|^}}]]
 +
)=[[chest|{{brown|)}}]]
 +
`=[[statue trap|{{white|`}}]]
 +
 
 +
 
 
---------
 
---------
 +
|4.....)|
 +
|..3..3.|
 +
|....3.`|
 +
|....21\|
 
|.......|
 
|.......|
|.......|
+
|4.....4|
|.......|
+
|......`|
|......\|
 
|.......|
 
|.......|
 
|.......|
 
 
---------
 
---------
ENDMAP
+
</replacecharsblock></div>
REGION:(1,1,7,7),lit,"rndvault",filled { }
+
|
ENGRAVING: (6,4), burn, "Look on my works, ye mighty, and despair"
+
* The room is lit
[10%]: ENGRAVING: (5,4), burn, "My name is Ozymandias, king of kings"
+
* [[engraving|{{brightred|1}}]], burned, reads "Look on my works, ye mighty, and despair"  
[50%]: TRAP: "hole", (3,2)
+
* [[engraving|{{brightred|2}}]], burned, 10% chance of existing, reads "My name is Ozymandias, king of kings"
[80%]: TRAP: "hole", (5,3)
+
* Each hole has chance of existing, between 30% to 80%
[30%]: TRAP: "hole", (3,6)
+
* Falling rock traps will be replaced by webs if DL >= 7
[75%]: TRAP: "web", (1,1)
+
* The falling rock tap/web nearest the throne is guaranteed, others have a 75% chance of existing
[75%]: TRAP: "web", (1,6)
+
* The chest is trapped
TRAP: "web", (7,6)
+
* The statue trap near the throne has a statue of a werejackal
CONTAINER:"chest", (7,1), trapped { }
+
* The statue trap near the corner has a statue of an Elvenking
TRAP: "statue", (7,3)
+
|-
TRAP: "statue", (7,7)
 
OBJECT:('`',"statue"),(7,3),montype:('d', "werejackal")
 
OBJECT:('`',"statue"),(7,1),montype:('@', "elvenking")
 
</pre>
 
  
{{stub|Please improve this list. Also, right now the "filled" flag doesn't factor into these descriptions}}
+
!Name
[[Category:UnNetHack]] [[Category:Special rooms]]
+
!Can be special
 +
!Size
 +
!Map
 +
!Notes
 +
|-
 +
|Pacman
 +
|style="background-color:pink"|No
 +
|
 +
|
 +
<div class="ttyscreen"><replacecharsblock rules="ttymap">
 +
--------------------
 +
|....|........|....|
 +
|.--.|.------.|.--.|
 +
|.|..............|.|
 +
|.|.--.|-FF-|.--.|.|
 +
|......|    |......|
 +
|.|.--.|----|.--.|.|
 +
|.|..............|.|
 +
|.--.|.------.|.--.|
 +
|....|........|....|
 +
--------------------
 +
</replacecharsblock></div>
 +
|
 +
* All of these are guaranteed at random positions:
 +
** an [[apple]]
 +
** a [[pear]]
 +
** a [[banana]]
 +
** an [[orange]]
 +
** a [[melon]]
 +
** a [[ghost]] named Inky
 +
** a ghost named Blinky
 +
** a ghost named Pinky
 +
** a ghost named Clyde
 +
|}
 +
{{variant-343}}
 +
[[Category:UnNetHack special rooms]]

Latest revision as of 02:07, 17 February 2024

Random vaults are a part of the level generation formula used in UnNetHack. Despite the name, these are entirely unrelated to the hidden vaults filled with gold, and are used to create unique rooms that connect normally to the rest of the dungeon.

In the UnNetHack source code, the random vaults are defined in dat/vaults.des. The upcoming release of NetHack 3.7.0 will have a similar feature, called themed rooms.

Description

Every room that is not a vault or part of a special level and not a vault is selected from the list of random vaults. The "normal random room" has a 4041 chance of being selected; all the others have a 12050 chance of being selected. Some of these rooms can be further transformed into special rooms.

Possible vaults

Name Can be special Size Map Notes
Normal random room Yes
  • The regular rooms found in vanilla NetHack
  • The only one with a unique chance of being generated, (40/41 compared to 1/2050)
Fake Delphi Subroom only 11x9
  • A big room with a small room in the center, similar to Delphi
  • Both the room and the subroom are guaranteed to be lit
  • There is a door to the subroom, with a 25% chance of a second door.
  • Both doors have a chance of being locked and/or trapped and/or secret.
room with a subroom Subroom only
  • A random room with a random subroom
big room, 1 No 30x10
  • Has a 75% chance of having a random normal room as a subroom
    • This subroom will have a randomly placed door with a 50% chance of a second door
    • Both doors have a chance of being locked and/or trapped and/or secret.
lava/ice/pool/tree/fountain room No 3x3
  • The center square of the room has an equal chance of being lava, ice, pool, tree, or fountain.
  • Each other square has a 10% chance of being the same as the center square.
big room, 2 (max. vertical height) No 10x17
  • 2d3 random hostile monsters
thin, long, horizontal room No 17x3
  • 2d3 random hostile monsters
thin, long, vertical room No 3x17
  • 2d3 random hostile monsters
tiny cage, big monster No 5x5
  • DL1 or DL2: just a random room with a 2x2 subroom
  • Otherwise: subroom also has a random M, D, O, Z, T, or H and the monster will now be caged in iron bars
room with dangerous monster and loot No
  • Up to 3 monsters from the classes M, D, O, Z, T, or H
    • 100% chance of the first random hostile monster
    • 50% chance of a second hostile monster
    • 25% chance of a third monster (not guaranteed to be hostile)
    • These percentages are calculated independently, so there is still a 25% chance, even if the 50% chance fails.
  • Random object
    • 100% chance of the first object
    • 75% chance of a second object
    • 50% chance of a third object
    • 25% chance of a fourth object (this one will be cursed)
    • 10% chance of a fifth object (this one will be blessed)
Name Can be special Size Map Notes
boulder room No
  • 1d6 + 3 boulders
  • 1d4 rolling boulder traps
spider nest No
  • unlit
  • 3d3 webs
ice room No
  • 10% chance of a cold trap
  • Floor replaced by ice
random cloud/lava/ice/pool/tree room No
  • 30% of the tiles are replaced with cloud, lava, ice, pools, or trees (all will be the same type of replacement)
buried treasure Yes
  • Guaranteed buried chest with 3d4 objects
massacre No
  • 5d5 random corpses of the following
    • @', "apprentice", "warrior", "ninja", "thug", "hunter", "acolyte", "abbot", "page", "attendant", "neanderthal", "chieftain", "student", "wizard", "valkyrie", "tourist", "samurai", "rogue", "ranger", "priestess", "priest", "monk", "knight", "healer", "cavewoman", "caveman", "barbarian", "archeologist", "convict"
  • Each corpse generated has a 90% chance of being the same as the previous corpse generated
statuary No
  • 5d5 statues
  • 3 statue traps, each with 50% of existing
light source Yes
  • unlit
  • guaranteed lit oil lamp
potentially spooky Yes
  • unlit
  • if it's night time:
    • 100% of first grave
    • 20% of second grave
    • if DL > 10, there will be a &
temple of the gods No
  • one altar of each alignment
Name Can be special Size Map Notes
mausoleum No 5x5
  • Equal chance of one of the following
    • random hostile L, M, V, Z in the middle
    • corpse of a random @
  • 20% of a secret door
    • never in a corner
  • outer tiles will be solid rock
big room, 1, random type No 17x10
  • a larger version of any type of randomly generated room
big room, 2 (max. vertical height), filled with fog No 10x17
  • lot of clouds
  • 2d3 random hostile monsters
very thin, long, horizontal room No 50x5
  • 2d3 random hostile monsters
very very thin, long, horizontal room No 70x3
  • 2d3 random hostile monsters
L-shaped Yes

-----xxx
|...|xxx
|...|xxx
|...----
|......|
|......|
|......|
--------
  • can exist in any of the 4 possible rotations
L-shaped, big No

-------xxxxxx
|.....|xxxxxx
|.....|xxxxxx
|.....|xxxxxx
|.....|xxxxxx
|.....-------
|...........|
|...........|
|...........|
|...........|
|...........|
-------------
  • can exist in any of the 4 possible rotations
Blocked center Yes

-----------
|.........|
|.........|
|.........|
|...}}}...|
|...}}}...|
|...}}}...|
|.........|
|.........|
|.........|
-----------
  • 75% chance of replacing lava with one of the following:
    • solid rock
    • pool of water
    • crystal ice wall
Circular, small Yes

xx---xx
x--.--x
|-...-|
|.....|
|-...-|
x--.--x
xx---xx
Circular, medium Yes

xx-----xx
x--...--x
|-.....-|
|.......|
|.......|
|.......|
|-.....-|
x--...--x
xx-----xx
Name Can be special Size Map Notes
Circular, big Yes

xxx-----xxx
x---...---x
x-.......-x
|-.......-|
|.........|
|.........|
|.........|
|-.......-|
x-.......-x
x---...---x
xxx-----xxx
T-shaped Yes

xxx-----xxx
xxx|...|xxx
xxx|...|xxx
----...----
|.........|
|.........|
|.........|
-----------
  • Can exist in any of 4 rotations
S-shaped Yes

-----xxx
|...|xxx
|...|xxx
|...----
|......|
|......|
|......|
----...|
xxx|...|
xxx|...|
xxx-----
  • Can exist in any of 2 rotations
Z-shaped Yes

xxx-----
xxx|...|
xxx|...|
----...|
|......|
|......|
|......|
|...----
|...|xxx
|...|xxx
-----xxx
  • Can exist in any of 2 rotations
U-shaped Yes

-----xxx-----
|...|xxx|...|
|...|xxx|...|
|...-----...|
|...........|
|...........|
|...........|
-------------
  • Can be flipped vertically
C-shaped Yes

--------
|......|
|......|
|...----
|...|xxx
|...|xxx
|...----
|......|
|......|
--------
  • Can be flipped horizontally
Tetris L-shaped Yes

-----xxx
|...|xxx
|...|xxx
|...|xxx
|...|xxx
|...|xxx
|...----
|......|
|......|
|......|
--------
  • Can exist in any of 4 rotations
Tetris J-shaped Yes

xxx-----
xxx|...|
xxx|...|
xxx|...|
xxx|...|
xxx|...|
----...|
|......|
|......|
|......|
--------
  • Can be in any of 4 rotations
Four-leaf clover Yes

-----x-----
|...|x|...|
|...---...|
|.........|
---.....---
xx|.....|xx
---.....---
|.........|
|...---...|
|...|x|...|
-----x-----
Cross Yes

xxx-----xxx
xxx|...|xxx
xxx|...|xxx
----...----
|.........|
|.........|
|.........|
----...----
xxx|...|xxx
xxx|...|xxx
xxx-----xxx
Name Can be special Size Map Notes
watcher in the water No
room with sessile growths No
Pillars Yes 10x10
  • There is a 2x2 pillar with one of the following terrain:
    • 50% chance of solid rock
    • 10% chance of lava
    • 10% chance of ice
    • 10% chance of a pool of water
    • 10% chance of trees
    • 10% chance of crystal ice wall
Small tightly-placed pillars Yes
  • If the width or height is even, no special terrain
  • Otherwise, 1x1 pillars with one of the following terrain:
    • 5/12 chance of solid rock
    • 1/12 chance of lava
    • 1/12 chance of ice
    • 1/12 chance of a pool or water
    • 1/12 chance of tree
    • 1/12 chance of crystal ice wall
    • 1/12 chance of cloud
    • 1/12 chance or iron bars
Mirrored obstacles Yes
  • If the width or height is below 4, no obstacles
  • Otherwise, 1d3 pairs of mirrored obstacles, using one of the following terrain:
    • 5/12 chance of solid rock
    • 1/12 chance of lava
    • 1/12 chance of ice
    • 1/12 chance of a pool or water
    • 1/12 chance of tree
    • 1/12 chance of crystal ice wall
    • 1/12 chance of cloud
    • 1/12 chance or iron bars
Trap Room No
  • Filled with traps.
  • The number of traps will be equal to 1/4 the area of the room, plus up to an additional 1/3 of the room
  • The traps will be selected from the following list:
    • (pit/spiked pit)
    • land mine
    • falling rock
    • (fire/cold trap)
    • (trap door/hole)
    • (arrow/dart)
Underground rivers No
  • might not count as an actual "room"
  • random "globs" of lava or water pools
Trapped rust monster, disenchanter, or disintegrator No 5x5
  • Has a 2x2 island of hostile R, surrounded by pools of water
  • Other than polymorph, this is the only time that disintegrators can appear in UnNetHack (thankfully)
Fern nursery No
Ozymandias' Tomb No
---------
|^.....)|
|..^..^.|
|....^.`|
|....21\|
|.......|
|^.....^|
|......`|
---------
  • The room is lit
  • 1, burned, reads "Look on my works, ye mighty, and despair"
  • 2, burned, 10% chance of existing, reads "My name is Ozymandias, king of kings"
  • Each hole has chance of existing, between 30% to 80%
  • Falling rock traps will be replaced by webs if DL >= 7
  • The falling rock tap/web nearest the throne is guaranteed, others have a 75% chance of existing
  • The chest is trapped
  • The statue trap near the throne has a statue of a werejackal
  • The statue trap near the corner has a statue of an Elvenking
Name Can be special Size Map Notes
Pacman No

--------------------
|....|........|....|
|.--.|.------.|.--.|
|.|..............|.|
|.|.--.|-##-|.--.|.|
|......|    |......|
|.|.--.|----|.--.|.|
|.|..............|.|
|.--.|.------.|.--.|
|....|........|....|
--------------------
  • All of these are guaranteed at random positions: