#	SCCS Id: @(#)dungeon.def	3.3	96/03/10
#	Copyright (c) 1990-95 by M. Stephenson
# NetHack may be freely redistributed.  See license for details.
#
#	The dungeon description file for the "standard" 3.1 NetHack.
#
#	Note:	The order of the definition of dungeons in this file
#		reflects in their order of creation in the real dungeon.
#		The "Main" branch must *always* be first.
#		Also note that the order of the dungeons in this file
#		determines the order in which branch levels are assigned.
#		If two dungeons have overlapping ranges for their entry
#		points, then you should list the dungeon with the _least_
#		number of choices for its branch level _first_.
#

DUNGEON:	"The Dungeons of Doom" "D" (25, 5)
ALIGNMENT:	unaligned
BRANCH:		"The Gnomish Mines" @ (2, 3)
%REINCARNATION LEVEL:		"rogue" "R" @ (15, 4)
LEVEL:		"oracle" "O" @ (5, 5)
LEVALIGN:	neutral
CHAINBRANCH:	"Sokoban" "oracle" + (1, 0) up
RNDLEVEL:	"bigrm" "B" @ (10, 3) 40 5
CHAINBRANCH:	"The Quest" "oracle" + (6, 2) portal
BRANCH:		"Fort Ludios" @ (18, 4) portal
RNDLEVEL:	"medusa" "none" @ (-5, 4) 2
LEVALIGN:	chaotic
LEVEL:		"castle" "none" @ (-1, 0)
CHAINBRANCH:	"Gehennom" "castle" + (0, 0) no_down
BRANCH:		"The Elemental Planes" @ (1, 0) no_down up

#
#	Gehennom
#
#	Now re-worked for 3.1, hell is hopefully going to be a little
#	less boring.  Also, in 3.1, the tower is not considered as a
#	part of hell, but is set up as a separate dungeon.
#
#	Gehennom is no longer considered "hellish" as a complete dungeon.
#	That is, fire resistance is no longer a condition for survival in
#	it.  However, Gehennom, and the special levels in it in particular,
#	is abundant with fire traps.  As a result, fire resistance is still
#	a prudent survival strategy in Gehennom.
#
#	Note:	Gehennom *must* be the second dungeon defined so that
#		monsters can properly migrate here under certain
#		circumstances.
#
DUNGEON:	"Gehennom" "G" (20, 5)
DESCRIPTION:	mazelike
DESCRIPTION:	hellish
ALIGNMENT:	noalign
BRANCH:		"Vlad's Tower" @ (9, 5) up
LEVEL:		"valley" "V" @ (1, 0)
LEVEL:		"sanctum" "none" @ (-1, 0)
LEVEL:		"juiblex" "J" @ (4, 4)
LEVEL:		"baalz" "B" @ (6, 4)
LEVEL:		"asmodeus" "A" @ (2, 6)
LEVEL:		"wizard1" "none" @ (11, 6)
CHAINLEVEL:	"wizard2" "X" "wizard1" + (1, 0)
CHAINLEVEL:	"wizard3" "Y" "wizard1" + (2, 0)
LEVEL:		"orcus" "O" @ (10, 6)
LEVEL:		"fakewiz1" "F" @ (-6,4)
LEVEL:		"fakewiz2" "G" @ (-6,4)

#
#	The Mines of the Gnomes of Zurich.
#
DUNGEON:	"The Gnomish Mines" "M" (8, 2)
ALIGNMENT:	lawful
DESCRIPTION:	mazelike
# LEVEL:	"minetown" "T" @ (3, 2)
RNDLEVEL:	"minetn" "T" @ (3, 2) 2
LEVELDESC:	town
# LEVEL:	"mine_end" "E" @ (-1, 0)
RNDLEVEL:	"minend" "E" @ (-1, 0) 2

#
#	The Questdungeon
#
#	This is a proto-dungeon.  The level file names will be prepended with
#	the first letter of the character name during initialization.
#	A special "x-fill" level must be defined in the levels description
#	file.  It will be used for all levels not defined explicitly below.
#
DUNGEON:	"The Quest" "Q" (5, 2)
LEVEL:	"x-strt" "none" @ (1, 1)
LEVEL:	"x-loca" "L" @ (3, 1)
LEVEL:	"x-goal" "none" @ (-1, 0)

#
# Sokoban
#
DUNGEON:		"Sokoban" "none" (4, 0)
DESCRIPTION:    mazelike
ALIGNMENT:      neutral
ENTRY:          -1
RNDLEVEL:		"soko1" "none" @ (1, 0) 2
RNDLEVEL:		"soko2" "none" @ (2, 0) 2
RNDLEVEL:		"soko3" "none" @ (3, 0) 2
RNDLEVEL:		"soko4" "none" @ (4, 0) 2

#
#	The Central Vault of Croesus.
#
DUNGEON:	"Fort Ludios" "K" (1, 0)
DESCRIPTION:	mazelike
ALIGNMENT:	unaligned
LEVEL:		"knox" "K" @ (-1, 0)
#
#	Vlad's Tower
#
#	It has been removed from Gehennom, and it is surrounded by stone.
#	Must not allow bones files for its top level.
#
DUNGEON:	"Vlad's Tower" "T" (3, 0)
PROTOFILE:	"tower"
DESCRIPTION:	mazelike
ALIGNMENT:	chaotic
ENTRY:		-1
LEVEL:		"tower1" "none" @ (1, 0)

#
#	The Endgame levels
#
#	Enter on 2nd level from bottom; 1st (from bottom) is a
#	placeholder for surface level, and should be unreachable.
#	[Note: the name "dummy" is checked for in init_dungeons().]
#
DUNGEON:	"The Elemental Planes" "E" (6, 0)
DESCRIPTION:	mazelike
ALIGNMENT:	unaligned
ENTRY:		-2
LEVEL:		"astral" "none" @ (1, 0)
LEVEL:		"water"  "none" @ (2, 0)
LEVEL:		"fire"   "none" @ (3, 0)
LEVEL:		"air"    "none" @ (4, 0)
LEVEL:		"earth"  "none" @ (5, 0)
LEVEL:		"dummy"  "none" @ (6, 0)
