#	SCCS Id: @(#)dungeon.def	3.4	1996/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" (15, 3)
ALIGNMENT:	unaligned
BRANCH:		"The Gnomish Mines" @ (2, 2)
%REINCARNATION LEVEL:		"rogue" "R" @ (11, 0)
LEVEL:		"oracle" "O" @ (8, 2)
LEVALIGN:	neutral
CHAINBRANCH:	"Sokoban" "oracle" + (-1, 0) up
RNDLEVEL:	"bigrm" "B" @ (6, 2) 40 5
CHAINBRANCH:	"The Quest" "oracle" + (3, 0) portal
BRANCH:		"Fort Ludios" @ (11, 2) portal
RNDLEVEL:	"medusa" "none" @ (-3, 2) 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" (10, 2)
DESCRIPTION:	mazelike
DESCRIPTION:	hellish
ALIGNMENT:	noalign
BRANCH:		"Vlad's Tower" @ (4, 1) up
LEVEL:		"valley" "V" @ (1, 0)
LEVEL:		"sanctum" "none" @ (-1, 0)
LEVEL:		"juiblex" "J" @ (2, 1)
LEVEL:		"baalz" "B" @ (4, 1)
LEVEL:		"asmodeus" "A" @ (2, 4)
LEVEL:		"wizard1" "none" @ (6, 1)
CHAINLEVEL:	"wizard2" "X" "wizard1" + (1, 0)
CHAINLEVEL:	"wizard3" "Y" "wizard1" + (2, 0)
#LEVEL:		"orcus" "O" @ (4, 4)
#LEVEL:		"fakewiz1" "F" @ (6,4)
#LEVEL:		"fakewiz2" "G" @ (6,4)

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

#
#	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:		"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)
