# 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
