Source:NetHack 3.6.0/dat/mines.des

From NetHackWiki
Jump to navigation Jump to search

Below is the full text to mines.des from the source code of NetHack 3.6.0. To link to a particular line, write [[Source:NetHack 3.6.0/dat/mines.des#line123]], for example.

The NetHack General Public License applies to screenshots, source code and other content from NetHack.

This content was modified from the original NetHack source code distribution (by splitting up NetHack content between wiki pages, and possibly further editing). See the page history for a list of who changed it, and on what dates.

# NetHack 3.6	mines.des	$NHDT-Date: 1432512783 2015/05/25 00:13:03 $  $NHDT-Branch: master $:$NHDT-Revision: 1.25 $
#	Copyright (c) 1989-95 by Jean-Christophe Collet
#	Copyright (c) 1991-95 by M. Stephenson
# NetHack may be freely redistributed.  See license for details.
#

#	The "fill" level for the mines.
#
#	This level is used to fill out any levels not occupied by
#	specific levels as defined below.
#
MAZE: "minefill" , ' '
INIT_MAP: mines, '.' , ' ' , true , true , random , true
NOMAP
#
STAIR: random, up
STAIR: random, down
#
OBJECT: '*', random
OBJECT: '*', random
OBJECT: '*', random
OBJECT: '(', random
OBJECT: random, random
OBJECT: random, random
OBJECT: random, random
#
MONSTER: ('G', "gnome"), random
MONSTER: ('G', "gnome"), random
MONSTER: ('G', "gnome"), random
MONSTER: ('G', "gnome"), random
MONSTER: ('G', "gnome"), random
MONSTER: ('G', "gnome"), random
MONSTER: ('G', "gnome"), random
MONSTER: ('G', "gnome lord"), random
MONSTER: ('h', "dwarf"), random
MONSTER: ('h', "dwarf"), random
MONSTER: 'G', random
MONSTER: 'G', random
MONSTER: 'h', random
#
TRAP: random, random
TRAP: random, random
TRAP: random, random
TRAP: random, random
TRAP: random, random
TRAP: random, random


# A tragic accident has occurred in Frontier Town....
# 
# Minetown variant 1
# Orcish Town - a variant of Frontier Town that has been
# overrun by orcs.  Note the barricades (iron bars).
#
LEVEL: "minetn-1"
FLAGS:mazelevel
INIT_MAP:mines,'.',' ',true,true,random,true
GEOMETRY:center,center
MAP
.....................................
.----------------F------------------.
.|.................................|.
.|.-------------......------------.|.
.|.|...|...|...|......|..|...|...|.|.
.F.|...|...|...|......|..|...|...|.|.
.|.|...|...|...|......|..|...|...|.F.
.|.|...|...|----......------------.|.
.|.---------.......................|.
.|.................................|.
.|.---------.....--...--...........|.
.|.|...|...|----.|.....|.---------.|.
.|.|...|...|...|.|.....|.|..|....|.|.
.|.|...|...|...|.|.....|.|..|....|.|.
.|.|...|...|...|.|.....|.|..|....|.|.
.|.-------------.-------.---------.|.
.|.................................F.
.-----------F------------F----------.
.....................................
ENDMAP

# Don't let the player fall into his likely death
TELEPORT_REGION:levregion(01,01,20,19),levregion(20,00,70,19)
REGION:(00,00,36,16),lit,"ordinary"
STAIR:levregion(01,03,20,19),(00,00,36,15),up
STAIR:levregion(61,03,75,19),(00,00,36,15),down

# shame we can't make polluted fountains
FOUNTAIN:(16,09)
FOUNTAIN:(25,09)

# the altar's defiled; useful for BUC but never coaligned
ALTAR:(20,13),noalign,shrine

# set up the shop doors; could be broken down
DOOR:random,(5,8)
DOOR:random,(9,8)
DOOR:random,(13,7)
DOOR:random,(22,5)
DOOR:random,(27,7)
DOOR:random,(31,7)
DOOR:random,(5,10)
DOOR:random,(9,10)
DOOR:random,(15,13)
DOOR:random,(25,13)
DOOR:random,(31,11)

# knock a few holes in the shop interior walls
REPLACE_TERRAIN:(07,04,11,06),'|','.',18%
REPLACE_TERRAIN:(25,04,29,06),'|','.',18%
REPLACE_TERRAIN:(07,12,11,14),'|','.',18%
REPLACE_TERRAIN:(28,12,28,14),'|','.',33%

# One spot each in most shops...
$place = { (05,04),(09,05),(13,04),(26,04),(31,05),(30,14),(05,14),(10,13),(26,14),(27,13) }
SHUFFLE:$place

# scatter some bodies
OBJECT:('%',"corpse"),(20,12),montype:"aligned priest"
OBJECT:('%',"corpse"),$place[0],montype:"shopkeeper"
OBJECT:('%',"corpse"),$place[1],montype:"shopkeeper"
OBJECT:('%',"corpse"),$place[2],montype:"shopkeeper"
OBJECT:('%',"corpse"),$place[3],montype:"shopkeeper"
OBJECT:('%',"corpse"),$place[4],montype:"shopkeeper"
OBJECT:('%',"corpse"),random,montype:"watchman"
OBJECT:('%',"corpse"),random,montype:"watchman"
OBJECT:('%',"corpse"),random,montype:"watchman"
OBJECT:('%',"corpse"),random,montype:"watchman"
OBJECT:('%',"corpse"),random,montype:"watch captain"

# Rubble!
LOOP [9 + 2d5] {
[90%]: OBJECT:('`',"boulder"),random
OBJECT:('*',"rock"),random
}

# Guarantee 7 candles since we won't have Izchak available
OBJECT:('(',"wax candle"),$place[0],quantity:1d2
OBJECT:('(',"wax candle"),$place[1],quantity:2d2
OBJECT:('(',"wax candle"),$place[2],quantity:1d2
OBJECT:('(',"tallow candle"),$place[3],quantity:1d3
OBJECT:('(',"tallow candle"),$place[2],quantity:1d2
OBJECT:('(',"tallow candle"),$place[0],quantity:1d2

# go ahead and leave a lamp next to one corpse to be suggestive
# and some empty wands...
OBJECT:('(',"oil lamp"),$place[2]
OBJECT:('/',"striking"),$place[1],uncursed,0
OBJECT:('/',"striking"),$place[3],uncursed,0
OBJECT:('/',"striking"),$place[4],uncursed,0
OBJECT:('/',"magic missile"),$place[4],uncursed,0
OBJECT:('/',"magic missile"),$place[0],uncursed,0

# the Orcish Army

$inside = selection: floodfill(18,8)
$near_temple = selection: filter(fillrect(17,8, 23,14), $inside)

LOOP [5 + 1d10] {
IF [50%] {
MONSTER: ('o', "orc-captain"), rndcoord($inside), hostile
} ELSE {
IF [80%] {
MONSTER: ('o', "Uruk-hai"), rndcoord($inside), hostile
} ELSE {
MONSTER: ('o', "Mordor orc"), rndcoord($inside), hostile
}
}
}
# shamans can be hanging out in/near the temple
LOOP [2d3] {
MONSTER: ('o', "orc shaman"), rndcoord($near_temple), hostile
}
# these are not such a big deal
# to run into outside the bars
LOOP [9 + 2d5] {
IF [90%] {
MONSTER: ('o', "hill orc"), random, hostile
} ELSE {
MONSTER: ('o', "goblin"), random, hostile
}
}

# Hack to force full-level wallification
NOMAP
WALLIFY


# Minetown variant 2
# "Town Square"
#
LEVEL: "minetn-2"
ROOM: "ordinary" , lit, (3,3), (center,center), (31,15) {
FOUNTAIN: (17, 5)
FOUNTAIN: (13, 8)

[75%]: SUBROOM: "ordinary", random, (2,0), (2,2) {
ROOMDOOR: false, closed, west, random
}

[75%]: SUBROOM: "ordinary", unlit, (5,0), (2,2) {
ROOMDOOR: false, closed, south, random
}

[75%]: SUBROOM: "ordinary", random, (8,0), (2,2) {
ROOMDOOR: false, closed, east, random
}

[75%]: SUBROOM: "ordinary", lit, (16,0), (2,2) {
ROOMDOOR: false, closed, west, random
}

[75%]: SUBROOM: "ordinary", unlit, (19,0), (2,2) {
ROOMDOOR: false, closed, south, random
}

[75%]: SUBROOM: "ordinary", random, (22,0), (2,2) {
ROOMDOOR: false, locked, south, random
MONSTER: ('G', "gnome"), random
}

[75%]: SUBROOM: "ordinary", unlit, (25,0), (2,2) {
ROOMDOOR: false, closed, east, random
}

[75%]: SUBROOM: "ordinary", lit, (2,5), (2,2) {
ROOMDOOR: false, closed, north, random
}

[75%]: SUBROOM: "ordinary", lit, (5,5), (2,2) {
ROOMDOOR: false, closed, south, random
}

[75%]: SUBROOM: "ordinary", random, (8,5), (2,2) {
ROOMDOOR: false, locked, north, random
MONSTER: ('G', "gnome"), random
}

SUBROOM: "shop" [90%] , lit, (2,10), (4,3) {
ROOMDOOR: false, closed, west, random
}

SUBROOM: "tool shop" [90%], lit, (23,10), (4,3) {
ROOMDOOR: false, closed, east, random
}

SUBROOM: "food shop" [90%], lit, (24,5), (3,4) {
ROOMDOOR: false, closed, north, random
}

SUBROOM: "candle shop", lit, (11,10), (4,3) {
ROOMDOOR: false, closed, east, random
}

[75%]: SUBROOM: "ordinary", unlit, (7,10), (3,3) {
ROOMDOOR: false, locked, north, random
MONSTER: ('G', "gnome"), random
}

SUBROOM: "temple", lit, (19,5), (4,4) {
ROOMDOOR: false, closed, north, random
ALTAR:(02,02),align[0],shrine
MONSTER: ('G', "gnomish wizard"), random
MONSTER: ('G', "gnomish wizard"), random
}

[75%]: SUBROOM: "ordinary", lit, (18,10), (4,3) {
ROOMDOOR: false, locked, west, random
MONSTER: ('G', "gnome lord"), random
}

# The Town Watch
MONSTER: ('@', "watchman"), random, peaceful
MONSTER: ('@', "watchman"), random, peaceful
MONSTER: ('@', "watchman"), random, peaceful
MONSTER: ('@', "watchman"), random, peaceful
MONSTER: ('@', "watch captain"), random, peaceful

}

ROOM: "ordinary" , random, random, random, random {
STAIR: random, up
}

ROOM: "ordinary" , random, random, random, random {
STAIR: random, down
TRAP: random, random
MONSTER: ('G', "gnome"), random
MONSTER: ('G', "gnome"), random
}

ROOM: "ordinary" , random, random, random, random {
MONSTER: ('h', "dwarf"), random
}

ROOM: "ordinary" , random, random, random, random {
TRAP: random, random
MONSTER: ('G', "gnome"), random
}

RANDOM_CORRIDORS


# Minetown variant 3 by Kelly Bailey
# "Alley Town"
#
LEVEL: "minetn-3"
ROOM: "ordinary",lit,(3,3),(center,center),(31,15) {
FOUNTAIN:(01,06)
FOUNTAIN:(29,13)

SUBROOM:"ordinary",random,(2,2),(2,2) {
ROOMDOOR: false,closed,south,random
}

SUBROOM:"tool shop" [30%], lit,(5,3),(2,3) {
ROOMDOOR: false,closed,south,random
}

SUBROOM:"ordinary",random,(2,10),(2,3) {
ROOMDOOR: false, locked, north, random
MONSTER: 'G',random
}

SUBROOM:"ordinary",random,(5,9),(2,2) {
ROOMDOOR: false,closed,north,random
}

SUBROOM:"temple",lit,(10,2),(3,4) {
ROOMDOOR: false,closed,east,random
ALTAR:(1,1),align[0],shrine
MONSTER: ('G', "gnomish wizard"), random
MONSTER: ('G', "gnomish wizard"), random
}

SUBROOM:"ordinary",random,(11,7),(2,2) {
ROOMDOOR: false,closed,west,random
}

SUBROOM:"shop",lit,(10,10),(3,3) {
ROOMDOOR:false,closed,west,random
}

SUBROOM:"ordinary",random,(14,8),(2,2) {
ROOMDOOR:false,locked,north,random
MONSTER: 'G',random
}

SUBROOM:"ordinary",random,(14,11),(2,2) {
ROOMDOOR:false,closed,south,random
}

SUBROOM:"tool shop" [40%],lit,(17,10),(3,3) {
ROOMDOOR:false,closed,north,random
}

SUBROOM:"ordinary",random,(21,11),(2,2) {
ROOMDOOR:false,locked,east,random
MONSTER:'G',random
}

SUBROOM:"food shop" [90%],lit,(26,8),(3,2) {
ROOMDOOR:false,closed,west,random
}

SUBROOM:"ordinary",random,(16,2),(2,2) {
ROOMDOOR:false,closed,west,random
}

SUBROOM:"ordinary",random,(19,2),(2,2) {
ROOMDOOR:false,closed,north,random
}

SUBROOM:"wand shop" [30%],lit,(19,5),(3,2) {
ROOMDOOR:false,closed,west,random
}

SUBROOM: "candle shop",lit,(25,2),(3,3) {
ROOMDOOR:false,closed,south,random
}

MONSTER: ('@', "watchman"), random, peaceful
MONSTER: ('@', "watchman"), random, peaceful
MONSTER: ('@', "watchman"), random, peaceful
MONSTER: ('@', "watchman"), random, peaceful
MONSTER: ('@', "watch captain"), random, peaceful

}

ROOM: "ordinary", random, random, random, random {
STAIR: random, up
}

ROOM: "ordinary" , random, random, random, random {
STAIR: random, down
TRAP: random, random
MONSTER: ('G', "gnome"), random
MONSTER: ('G', "gnome"), random
}

ROOM: "ordinary" , random, random, random, random {
MONSTER: ('h', "dwarf"), random
}

ROOM: "ordinary" , random, random, random, random {
TRAP: random, random
MONSTER: ('G', "gnome"), random
}

RANDOM_CORRIDORS


# Minetown variant 4 by Kelly Bailey
# "College Town"
#
LEVEL: "minetn-4"
ROOM: "ordinary",lit,(3,3),(center,center),(30,15) {
FOUNTAIN:(08,07)
FOUNTAIN:(18,07)

SUBROOM:"book shop",lit,(4,2),(3,3) {
ROOMDOOR: false,closed,south,random
}

SUBROOM:"ordinary",random,(8,2),(2,2) {
ROOMDOOR: false,closed,south,random
}

SUBROOM:"temple",lit,(11,3),(5,4) {
ROOMDOOR: false,closed,south,random
ALTAR:(2,1),align[0],shrine
MONSTER: ('G', "gnomish wizard"), random
MONSTER: ('G', "gnomish wizard"), random
}

SUBROOM:"ordinary",random,(19,2),(2,2) {
ROOMDOOR: false,closed,south,random
MONSTER: 'G', random
}

SUBROOM:"candle shop",lit,(22,2),(3,3) {
ROOMDOOR:false,closed,south,random
}

SUBROOM:"ordinary",random,(26,2),(2,2) {
ROOMDOOR:false,locked,east,random
MONSTER: 'G',random
}

SUBROOM:"tool shop" [90%],lit,(4,10),(3,3) {
ROOMDOOR:false,closed,north,random
}

SUBROOM:"ordinary",random,(8,11),(2,2) {
ROOMDOOR:false,locked,south,random
MONSTER: ('k',"kobold shaman"),random
MONSTER: ('k',"kobold shaman"),random
MONSTER: ('f',"kitten"),random
MONSTER: 'f',random
}

SUBROOM:"food shop" [90%],lit,(11,11),(3,2) {
ROOMDOOR:false,closed,east,random
}

SUBROOM:"ordinary",random,(17,11),(2,2) {
ROOMDOOR:false,closed,west,random
}

SUBROOM:"ordinary",random,(20,10),(2,2) {
ROOMDOOR:false,locked,north,random
MONSTER:'G',random
}

SUBROOM:"shop" [90%],lit,(23,10),(3,3) {
ROOMDOOR:false,closed,north,random
}

MONSTER: ('@', "watchman"), random, peaceful
MONSTER: ('@', "watchman"), random, peaceful
MONSTER: ('@', "watchman"), random, peaceful
MONSTER: ('@', "watchman"), random, peaceful
MONSTER: ('@', "watch captain"), random, peaceful

}

ROOM: "ordinary" , random, random, random, random {
STAIR: random, up
}

ROOM: "ordinary" , random, random, random, random {
STAIR: random, down
TRAP: random, random
MONSTER: ('G', "gnome"), random
MONSTER: ('G', "gnome"), random
}

ROOM: "ordinary" , random, random, random, random {
MONSTER: ('h', "dwarf"), random
}

ROOM: "ordinary" , random, random, random, random {
TRAP: random, random
MONSTER: ('G', "gnome"), random
}

RANDOM_CORRIDORS


# "Grotto Town" by Kelly Bailey
#
MAZE: "minetn-5",' '
GEOMETRY:center,center
MAP
-----         ---------                                                    
|...---  ------.......--    -------                       ---------------  
|.....----.........--..|    |.....|          -------      |.............|  
--..-....-.----------..|    |.....|          |.....|     --+---+--.----+-  
--.--.....----     ----    |.....|  ------  --....----  |..-...--.-.+..|  
---.........----  -----   ---+---  |..+.|   ---..-..----..---+-..---..|  
----.-....|..----...--    |.|    |..|.|    ---+-.....-+--........--+-  
-----..|....-.....---- |.|    |..|.------......--................|  
------ |..|.............---.--   ----.+..|-.......--..--------+--..--  
|....| --......---...........-----  |.|..|-...{....---|.........|..--  
|....|  |........-...-...........----.|..|--.......|  |.........|...|  
---+--------....-------...---......--.-------....---- -----------...|  
------.---...--...--..-..--...-..---...|.--..-...-....------- |.......--  
|..|-.........-..---..-..---.....--....|........---...-|....| |.-------   
|..+...............-+---+-----..--..........--....--...+....| |.|...S.    
-----.....{....----...............-...........--...-...-|....| |.|...|     
|..............-- --+--.---------.........--..-........------- |.--+-------
-+-----.........| |...|.|....|  --.......------...|....---------.....|....|
|...| --..------- |...|.+....|   ---...---    --..|...--......-...{..+..-+|
|...|  ----       ------|....|     -----       -----.....----........|..|.|
-----                   ------                     -------  ---------------
ENDMAP

IF [75%] {
IF [50%] {
TERRAIN:line (25,8),(25,9), '|'
} ELSE {
TERRAIN:line (16,13),(17,13), '-'
}
}
IF [75%] {
IF [50%] {
TERRAIN:line (36,10),(36,11), '|'
} ELSE {
TERRAIN:line (32,15),(33,15), '-'
}
}
IF [50%] {
TERRAIN:fillrect (21,4,22,5), '.'
TERRAIN:line (14,9),(14,10), '|'
}
IF [50%] {
TERRAIN:(46,13), '|'
TERRAIN:line (43,5),(47,5), '-'
TERRAIN:line (42,6),(46,6), '.'
TERRAIN:line (46,7),(47,7), '.'
}
[50%]: TERRAIN:fillrect (69,11,71,11), '-'

STAIR:(01,01),up
STAIR:(46,03),down
FOUNTAIN:(50,09)
FOUNTAIN:(10,15)
FOUNTAIN:(66,18)

REGION:(00,00,74,20),unlit,"ordinary"
REGION:(09,13,11,17),lit,"ordinary"
REGION:(08,14,12,16),lit,"ordinary"
REGION:(49,07,51,11),lit,"ordinary"
REGION:(48,08,52,10),lit,"ordinary"
REGION:(64,17,68,19),lit,"ordinary"
REGION:(37,13,39,17),lit,"ordinary"
REGION:(36,14,40,17),lit,"ordinary"
REGION:(59,02,72,10),lit,"ordinary"

MONSTER: ('@', "watchman"), random, peaceful
MONSTER: ('@', "watchman"), random, peaceful
MONSTER: ('@', "watchman"), random, peaceful
MONSTER: ('@', "watchman"), random, peaceful
MONSTER: ('@', "watch captain"), random, peaceful
MONSTER: ('G', "gnome"), random
MONSTER: ('G', "gnome"), random
MONSTER: ('G', "gnome"), random
MONSTER: ('G', "gnome"), random
MONSTER: ('G', "gnome"), random
MONSTER: ('G', "gnome"), random
MONSTER: ('G', "gnome lord"), random
MONSTER: ('G', "gnome lord"), random
MONSTER: ('h', "dwarf"), random
MONSTER: ('h', "dwarf"), random
MONSTER: ('h', "dwarf"), random

# The shops
REGION:(25,17,28,19),lit,"candle shop"
DOOR:closed,(24,18)
REGION:(59,9,67,10),lit,"shop"
DOOR:closed,(66,08)
REGION:(57,13,60,15),lit,"tool shop"
DOOR:closed,(56,14)
REGION:(05,09,08,10),lit,"food shop"
DOOR:closed,(07,11)
# Gnome homes
DOOR:closed,(04,14)
DOOR:locked,(01,17)
MONSTER: ('G', "gnomish wizard"), (02,19)
DOOR:locked,(20,16)
MONSTER: 'G', (20,18)
DOOR:random,(21,14)
DOOR:random,(25,14)
DOOR:random,(42,08)
DOOR:locked,(40,05)
MONSTER: 'G', (38,07)
DOOR:random,(59,03)
DOOR:random,(58,06)
DOOR:random,(63,03)
DOOR:random,(63,05)
DOOR:locked,(71,03)
DOOR:locked,(71,06)
DOOR:closed,(69,04)
DOOR:closed,(67,16)
MONSTER: ('G', "gnomish wizard"), (67,14)
OBJECT: '=', (70,14)
DOOR:locked,(69,18)
MONSTER: ('G', "gnome lord"), (71,19)
DOOR:locked,(73,18)
OBJECT: ('(', "chest"), (73,19)
DOOR:locked,(50,06)
OBJECT: '(', (50,03)
OBJECT: ('`', "statue"), (38,15), montype:"gnome king", 1
# Temple
REGION:(29,02,33,04),lit,"temple"
DOOR:closed,(31,05)
ALTAR:(31,03),align[0],shrine


# "Bustling Town" by Kelly Bailey
#
MAZE: "minetn-6",' '
FLAGS: inaccessibles
INIT_MAP:mines,'.','-',true,true,lit,true
GEOMETRY:center,top
MAP
.-----................----------------.-
.|...|................|...|..|...|...|..
.|...+..--+--.........|...|..|...|...|..
.|...|..|...|..-----..|...|..|-+---+--..
.-----..|...|--|...|..--+---+-.........|
........|...|..|...+.............-----..
........-----..|...|......--+-...|...|..
.----...|...|+------..{...|..|...+...|..
.|..+...|...|.............|..|...|...|..
.|..|...|...|-+-.....---+-------------.|
.----...--+--..|..-+-|..................
...|........|..|..|..|----....---------.
...|..T.....----..|..|...+....|......|-.
...|-....{........|..|...|....+......|-.
...--..-....T.....--------....|......|-.
.......--.....................----------
ENDMAP

REGION:(00,00,38,15),lit,"ordinary"
STAIR:levregion(01,03,20,19),(0,0,39,15),up
STAIR:levregion(61,03,75,19),(0,0,39,15),down
FOUNTAIN:(22,07)
FOUNTAIN:(09,13)
REGION:(13,5,14,6),unlit,"ordinary"
REGION:(9,7,11,9),lit,"candle shop"
REGION:(16,4,18,6),lit,"tool shop"
REGION:(23,1,25,3),lit,"shop"
REGION:(22,12,24,13),lit,"food shop"
REGION:(31,12,36,14),lit,"temple"
ALTAR:(35,13),align[0],shrine

DOOR:closed,(5,2)
DOOR:locked,(4,8)
DOOR:closed,(10,2)
DOOR:closed,(10,10)
DOOR:locked,(13,7)
DOOR:locked,(14,9)
DOOR:closed,(19,5)
DOOR:closed,(19,10)
DOOR:closed,(24,4)
DOOR:closed,(24,9)
DOOR:closed,(25,12)
DOOR:closed,(28,4)
DOOR:locked,(28,6)
DOOR:closed,(30,13)
DOOR:closed,(31,3)
DOOR:closed,(35,3)
DOOR:closed,(33,7)

MONSTER: ('G', "gnome"), random
MONSTER: ('G', "gnome"), random
MONSTER: ('G', "gnome"), random
MONSTER: ('G', "gnome"), random
MONSTER: ('G', "gnome"), random
MONSTER: ('G', "gnome"), random
MONSTER: ('G', "gnome"), (14,6)
MONSTER: ('G', "gnome lord"), (14,5)
MONSTER: ('G', "gnome"), (27,8)
MONSTER: ('G', "gnome lord"), random
MONSTER: ('G', "gnome lord"), random
MONSTER: ('h', "dwarf"), random
MONSTER: ('h', "dwarf"), random
MONSTER: ('h', "dwarf"), random
MONSTER: ('@', "watchman"), random, peaceful
MONSTER: ('@', "watchman"), random, peaceful
MONSTER: ('@', "watchman"), random, peaceful
MONSTER: ('@', "watch captain"), random, peaceful
MONSTER: ('@', "watch captain"), random, peaceful


# "Bazaar Town" by Kelly Bailey
#
LEVEL: "minetn-7"
ROOM: "ordinary" , lit, (3,3), (center,center), (30,15) {
FOUNTAIN: (12, 07)
FOUNTAIN: (11, 13)

[75%]: SUBROOM: "ordinary", random, (2,2), (4,2) {
ROOMDOOR: false, closed, south, random
}

[75%]: SUBROOM: "ordinary", random, (7,2), (2,2) {
ROOMDOOR: false, closed, north, random
}

[75%]: SUBROOM: "ordinary", random, (7,5), (2,2) {
ROOMDOOR: false, closed, south, random
}

[75%]: SUBROOM: "ordinary", lit, (10,2), (3,4) {
MONSTER:('G',"gnome"),random
MONSTER:('Y',"monkey"),random
MONSTER:('Y',"monkey"),random
MONSTER:('Y',"monkey"),random
ROOMDOOR: false, closed, south, random
}

[75%]: SUBROOM: "ordinary", random, (14,2), (4,2) {
ROOMDOOR: false, closed, south, 0
MONSTER: 'n', random
}

[75%]: SUBROOM: "ordinary", random, (16,5), (2,2) {
ROOMDOOR: false, closed, south, random
}

[75%]: SUBROOM: "ordinary", unlit, (19,2), (2,2) {
ROOMDOOR: false, locked, east, random
MONSTER: ('G',"gnome king"),random
}

SUBROOM: "food shop" [50%], lit, (19,5), (2,3) {
ROOMDOOR: false, closed, south, random
}

[75%]: SUBROOM: "ordinary", random, (2,7), (2,2) {
ROOMDOOR: false, closed, east, random
}

SUBROOM: "tool shop" [50%], lit, (2,10), (2,3) {
ROOMDOOR: false, closed, south, random
}

SUBROOM: "candle shop", lit, (5,10),(3,3) {
ROOMDOOR: false, closed, north, random
}

[75%]: SUBROOM: "ordinary", random, (11,10), (2,2) {
ROOMDOOR: false, locked, west, random
MONSTER: 'G',random
}

SUBROOM: "shop" [60%], lit, (14,10), (2,3) {
ROOMDOOR: false, closed, north, random
}

[75%]: SUBROOM: "ordinary", random, (17,11), (4,2) {
ROOMDOOR: false, closed, north, random
}

[75%]: SUBROOM: "ordinary", random, (22,11), (2,2) {
ROOMDOOR: false, closed, south, random
SINK: (00,00)
}

SUBROOM: "food shop" [50%], lit, (25,11), (3,2) {
ROOMDOOR: false, closed, east, random
}

SUBROOM: "tool shop" [30%], lit, (25,2), (3,3) {
ROOMDOOR: false, closed, west, random
}

SUBROOM: "temple", lit, (24,6), (4,4) {
ROOMDOOR: false, closed, west, random
ALTAR:(02,01),align[0],shrine
MONSTER: ('G', "gnomish wizard"), random
MONSTER: ('G', "gnomish wizard"), random
}

MONSTER: ('@', "watchman"), random, peaceful
MONSTER: ('@', "watchman"), random, peaceful
MONSTER: ('@', "watchman"), random, peaceful
MONSTER: ('@', "watchman"), random, peaceful
MONSTER: ('@', "watch captain"), random, peaceful
MONSTER:('G',"gnome"),random
MONSTER:('G',"gnome"),random
MONSTER:('G',"gnome"),random
MONSTER:('G',"gnome lord"),random
MONSTER:('Y',"monkey"),random
MONSTER:('Y',"monkey"),random

}

ROOM: "ordinary" , random, random, random, random {
STAIR: random, up
}

ROOM: "ordinary" , random, random, random, random {
STAIR: random, down
TRAP: random, random
MONSTER: ('G', "gnome"), random
MONSTER: ('G', "gnome"), random
}

ROOM: "ordinary" , random, random, random, random {
MONSTER: ('h', "dwarf"), random
}

ROOM: "ordinary" , random, random, random, random {
TRAP: random, random
MONSTER: ('G', "gnome"), random
}

RANDOM_CORRIDORS


# Mine end level variant 1
# "Mimic of the Mines"
#
MAZE: "minend-1", ' '
GEOMETRY:center,center
#1234567890123456789012345678901234567890123456789012345678901234567890
MAP
------------------------------------------------------------------   ------
|                        |.......|     |.......-...|       |.....|.       |
|    ---------        ----.......-------...........|       ---...-S-      |
|    |.......|        |..........................-S-      --.......|      |
|    |......-------   ---........................|.       |.......--      |
|    |..--........-----..........................|.       -.-..----       |
|    --..--.-----........-.....................---        --..--          |
|     --..--..| -----------..................---.----------..--           |
|      |...--.|    |..S...S..............---................--            |
|     ----..-----  ------------........--- ------------...---             |
|     |.........--            ----------              ---...-- -----      |
|    --.....---..--                           --------  --...---...--     |
| ----..-..-- --..---------------------      --......--  ---........|     |
|--....-----   --..-..................---    |........|    |.......--     |
|.......|       --......................S..  --......--    ---..----      |
|--.--.--        ----.................---     ------..------...--         |
| |....S..          |...............-..|         ..S...........|          |
--------            --------------------           ------------------------
ENDMAP

# Dungeon Description
$place = { (08,16),(13,07),(21,08),(41,14),(50,04),(50,16),(66,01) }
SHUFFLE: $place

REGION:(26,01,32,01),unlit,"ordinary",filled,irregular
REGION:(20,08,21,08),unlit,"ordinary"
REGION:(23,08,25,08),unlit,"ordinary"
# Secret doors
DOOR:locked,(07,16)
DOOR:locked,(22,08)
DOOR:locked,(26,08)
DOOR:locked,(40,14)
DOOR:locked,(50,03)
DOOR:locked,(51,16)
DOOR:locked,(66,02)
# Stairs
STAIR:(36,04),up
# Non diggable walls
NON_DIGGABLE:(00,00,74,17)
# Niches
# Note: $place[6] empty
OBJECT:('*',"diamond"),$place[0]
OBJECT:('*',"emerald"),$place[0]
OBJECT:('*',"worthless piece of violet glass"),$place[0]
MONSTER:'m',$place[0], m_object "luckstone"
OBJECT:('*',"worthless piece of white glass"),$place[1]
OBJECT:('*',"emerald"),$place[1]
OBJECT:('*',"amethyst"),$place[1]
MONSTER:'m',$place[1], m_object "loadstone"
OBJECT:('*',"diamond"),$place[2]
OBJECT:('*',"worthless piece of green glass"),$place[2]
OBJECT:('*',"amethyst"),$place[2]
MONSTER:'m',$place[2], m_object "flint"
OBJECT:('*',"worthless piece of white glass"),$place[3]
OBJECT:('*',"emerald"),$place[3]
OBJECT:('*',"worthless piece of violet glass"),$place[3]
MONSTER:'m',$place[3], m_object "touchstone"
OBJECT:('*',"worthless piece of red glass"),$place[4]
OBJECT:('*',"ruby"),$place[4]
OBJECT:('*',"loadstone"),$place[4]
OBJECT:('*',"ruby"),$place[5]
OBJECT:('*',"worthless piece of red glass"),$place[5]
OBJECT:('*',"luckstone"),$place[5]
# Random objects
OBJECT:'*',random
OBJECT:'*',random
OBJECT:'*',random
OBJECT:'*',random
OBJECT:'*',random
OBJECT:'*',random
OBJECT:'*',random
OBJECT:'(',random
OBJECT:'(',random
OBJECT:random,random
OBJECT:random,random
OBJECT:random,random
# Random traps
TRAP:random,random
TRAP:random,random
TRAP:random,random
TRAP:random,random
TRAP:random,random
TRAP:random,random
# Random monsters
MONSTER:('G',"gnome king"),random
MONSTER:('G',"gnome lord"),random
MONSTER:('G',"gnome lord"),random
MONSTER:('G',"gnome lord"),random
MONSTER:('G',"gnomish wizard"),random
MONSTER:('G',"gnomish wizard"),random
MONSTER:('G',"gnome"),random
MONSTER:('G',"gnome"),random
MONSTER:('G',"gnome"),random
MONSTER:('G',"gnome"),random
MONSTER:('G',"gnome"),random
MONSTER:('G',"gnome"),random
MONSTER:('G',"gnome"),random
MONSTER:('G',"gnome"),random
MONSTER:('G',"gnome"),random
MONSTER:('h',"hobbit"),random
MONSTER:('h',"hobbit"),random
MONSTER:('h',"dwarf"),random
MONSTER:('h',"dwarf"),random
MONSTER:('h',"dwarf"),random
MONSTER:'h',random


# Mine end level variant 2
# "Gnome King's Wine Cellar"
#
MAZE: "minend-2", ' '
GEOMETRY:center,center
MAP
---------------------------------------------------------------------------
|...................................................|                     |
|.|---------S--.--|...|--------------------------|..|                     |
|.||---|   |.||-| |...|..........................|..|                     |
|.||...| |-|.|.|---...|.............................|                ..   |
|.||...|-|.....|....|-|..........................|..|.               ..   |
|.||.....|-S|..|....|............................|..|..                   |
|.||--|..|..|..|-|..|----------------------------|..|-.                   |
|.|   |..|..|....|..................................|...                  |
|.|   |..|..|----|..-----------------------------|..|....                 |
|.|---|..|--|.......|----------------------------|..|.....                |
|...........|----.--|......................|     |..|.......              |
|-----------|...|.| |------------------|.|.|-----|..|.....|..             |
|-----------|.{.|.|--------------------|.|..........|.....|....           |
|...............|.S......................|-------------..-----...         |
|.--------------|.|--------------------|.|.........................       |
|.................|                    |.....................|........    |
---------------------------------------------------------------------------
ENDMAP

IF [50%] {
TERRAIN:(55,14),'-'
TERRAIN:(56,14),'-'
TERRAIN:(61,15),'|'
TERRAIN:(52,5), 'S'
DOOR:locked, (52,5)
}
IF [50%] {
TERRAIN:(18,1), '|'
TERRAIN:rect (7,12, 8,13), '.'
}
IF [50%] {
TERRAIN:(49,4), '|'
TERRAIN:(21,5), '.'
}
IF [50%] {
IF [50%] {
TERRAIN:(22,1), '|'
} ELSE {
TERRAIN:(50,7), '-'
TERRAIN:(51,7), '-'
}
}


# Dungeon Description
FOUNTAIN:(14,13)
REGION:(23,03,48,06),lit,"ordinary"
REGION:(21,06,22,06),lit,"ordinary"
REGION:(14,04,14,04),unlit,"ordinary"
REGION:(10,05,14,08),unlit,"ordinary"
REGION:(10,09,11,09),unlit,"ordinary"
REGION:(15,08,16,08),unlit,"ordinary"
# Secret doors
DOOR:locked,(12,02)
DOOR:locked,(11,06)
# Stairs
STAIR:(36,04),up
# Non diggable walls
NON_DIGGABLE:(00,00,52,17)
NON_DIGGABLE:(53,00,74,00)
NON_DIGGABLE:(53,17,74,17)
NON_DIGGABLE:(74,01,74,16)
NON_DIGGABLE:(53,07,55,07)
NON_DIGGABLE:(53,14,61,14)
# The Gnome King's wine cellar.
# the Trespassers sign is a long-running joke
ENGRAVING:(12,03),engrave,"You are now entering the Gnome King's wine cellar."
ENGRAVING:(12,04),engrave,"Trespassers will be persecuted!"
OBJECT:('!',"booze"),(10,07)
OBJECT:('!',"booze"),(10,07)
OBJECT:'!',(10,07)
OBJECT:('!',"booze"),(10,08)
OBJECT:('!',"booze"),(10,08)
OBJECT:'!',(10,08)
OBJECT:('!',"booze"),(10,09)
OBJECT:('!',"booze"),(10,09)
OBJECT:('!',"object detection"),(10,09)
# Objects
# The Treasure chamber...
OBJECT:('*',"diamond"),(69,04)
OBJECT:'*',(69,04)
OBJECT:('*',"diamond"),(69,04)
OBJECT:'*',(69,04)
OBJECT:('*',"emerald"),(70,04)
OBJECT:'*',(70,04)
OBJECT:('*',"emerald"),(70,04)
OBJECT:'*',(70,04)
OBJECT:('*',"emerald"),(69,05)
OBJECT:'*',(69,05)
OBJECT:('*',"ruby"),(69,05)
OBJECT:'*',(69,05)
OBJECT:('*',"ruby"),(70,05)
OBJECT:('*',"amethyst"),(70,05)
OBJECT:'*',(70,05)
OBJECT:('*',"amethyst"),(70,05)
OBJECT:('*',"luckstone"),(70,05)
# Scattered gems...
OBJECT:'*',random
OBJECT:'*',random
OBJECT:'*',random
OBJECT:'*',random
OBJECT:'*',random
OBJECT:'*',random
OBJECT:'*',random
OBJECT:'(',random
OBJECT:'(',random
OBJECT:random,random
OBJECT:random,random
OBJECT:random,random
# Random traps
TRAP:random,random
TRAP:random,random
TRAP:random,random
TRAP:random,random
TRAP:random,random
TRAP:random,random
# Random monsters.
MONSTER:('G',"gnome king"),random
MONSTER:('G',"gnome lord"),random
MONSTER:('G',"gnome lord"),random
MONSTER:('G',"gnome lord"),random
MONSTER:('G',"gnomish wizard"),random
MONSTER:('G',"gnomish wizard"),random
MONSTER:('G',"gnome"),random
MONSTER:('G',"gnome"),random
MONSTER:('G',"gnome"),random
MONSTER:('G',"gnome"),random
MONSTER:('G',"gnome"),random
MONSTER:('G',"gnome"),random
MONSTER:('G',"gnome"),random
MONSTER:('G',"gnome"),random
MONSTER:('G',"gnome"),random
MONSTER:('h',"hobbit"),random
MONSTER:('h',"hobbit"),random
MONSTER:('h',"dwarf"),random
MONSTER:('h',"dwarf"),random
MONSTER:('h',"dwarf"),random
MONSTER:'h',random


# "Catacombs" by Kelly Bailey
# Relies on some very specific behavior of MAZEWALK.
#
MAZE:"minend-3",'-'
FLAGS:nommap
GEOMETRY:center,bottom
MAP
- - - - - - - - - - -- -- - - . - - - - - - - - - -- - - -- - - - - . - - |
------...---------.-----------...-----.-------.-------     ----------------|
- - - - - - - - - - - . - - - . - - - - - - - - - - -- - -- - . - - - - - |
------------.---------...-------------------------.---   ------------------|
- - - - - - - - - - . . - - --- - . - - - - - - - - -- -- - - - - |.....| |
--.---------------.......------------------------------- ----------|.....S-|
- - - - |.. ..| - ....... . - - - - |.........| - - - --- - - - - |.....| |
----.----|.....|------.......--------|.........|--------------.------------|
- - - - |..{..| - - -.... . --- - -.S.........S - - - - - - - - - - - - - |
---------|.....|--.---...------------|.........|---------------------------|
- - - - |.. ..| - - - . - - - - - - |.........| - --- . - - - - - - - - - |
----------------------...-------.---------------------...------------------|
---..| - - - - - - - - . --- - - - - - - - - - - - - - . - - --- - - --- - |
-.S..|----.-------.------- ---------.-----------------...----- -----.-------
---..| - - - - - - - -- - - -- . - - - - - . - - - . - . - - -- -- - - - -- 
-.S..|--------.---.---       -...---------------...{.---------   ---------  
--|. - - - - - - - -- - - - -- . - - - --- - - - . . - - - - -- - - - - - - 
ENDMAP

$place = { (1,15),(68,6),(1,13) }
SHUFFLE: $place

NON_DIGGABLE:(67,3,73,7)
NON_DIGGABLE:(0,12,2,16)
FOUNTAIN:(12,08)
FOUNTAIN:(51,15)
REGION:(0,0,75,16),unlit,"ordinary"
REGION:(38,6,46,10),lit,"ordinary"
DOOR:closed,(37,8)
DOOR:closed,(47,8)
DOOR:closed,(73,5)
DOOR:closed,(2,15)
MAZEWALK:(36,8),west
STAIR:(42,8),up
WALLIFY

# Objects
OBJECT:('*',"diamond"),random
OBJECT:'*',random
OBJECT:('*',"diamond"),random
OBJECT:'*',random
OBJECT:('*',"emerald"),random
OBJECT:'*',random
OBJECT:('*',"emerald"),random
OBJECT:'*',random
OBJECT:('*',"emerald"),random
OBJECT:'*',random
OBJECT:('*',"ruby"),random
OBJECT:'*',random
OBJECT:('*',"ruby"),random
OBJECT:('*',"amethyst"),random
OBJECT:'*',random
OBJECT:('*',"amethyst"),random
OBJECT:('*',"luckstone"),$place[0]
OBJECT:('*',"flint"),$place[1]
OBJECT:'?',random
OBJECT:'?',random
OBJECT:'?',random
OBJECT:'?',random
OBJECT:'?',random
OBJECT:'+',random
OBJECT:'+',random
OBJECT:'+',random
OBJECT:'+',random
OBJECT:random,random
OBJECT:random,random
OBJECT:random,random
TRAP:random,random
TRAP:random,random
TRAP:random,random
TRAP:random,random
TRAP:random,random
TRAP:random,random
TRAP:random,random
# One-time annoyance factor
TRAP:"level teleport",$place[0]
TRAP:"level teleport",$place[1]
MONSTER:'M',random
MONSTER:'M',random
MONSTER:'M',random
MONSTER:'M',random
MONSTER:'M',random
MONSTER:('M',"ettin mummy"),random
MONSTER:'V',random
MONSTER:'Z',random
MONSTER:'Z',random
MONSTER:'Z',random
MONSTER:'Z',random
MONSTER:'Z',random
MONSTER:'V',random
MONSTER:'e',random
MONSTER:'e',random
MONSTER:'e',random
MONSTER:'e',random


# end mines.des