New level compiler: des-file changes

This commit is contained in:
Pasi Kallinen
2015-03-17 18:52:49 +02:00
parent 47bb9abace
commit 79eb17a0a7
24 changed files with 4197 additions and 4009 deletions
+271 -267
View File
@@ -35,9 +35,9 @@ ENDMAP
# The shrine to Moloch.
REGION:(01,06,05,14),lit,"temple"
# The Morgues
REGION:(19,01,24,08),unlit,"morgue",filled,true
REGION:(09,14,16,18),unlit,"morgue",filled,true
REGION:(37,09,43,14),unlit,"morgue",filled,true
REGION:(19,01,24,08),unlit,"morgue",filled,irregular
REGION:(09,14,16,18),unlit,"morgue",filled,irregular
REGION:(37,09,43,14),unlit,"morgue",filled,irregular
# Stairs
STAIR:(01,01),down
# Branch location
@@ -60,60 +60,60 @@ NON_DIGGABLE:(00,00,75,19)
# note: no priest(esse)s or monks - maybe Moloch has a *special*
# fate reserved for members of *those* classes.
#
OBJECT:'%',"corpse",random,"archeologist",0
OBJECT:'%',"corpse",random,"archeologist",0
OBJECT:'%',"corpse",random,"barbarian",0
OBJECT:'%',"corpse",random,"barbarian",0
OBJECT:'%',"corpse",random,"caveman",0
OBJECT:'%',"corpse",random,"cavewoman",0
OBJECT:'%',"corpse",random,"healer",0
OBJECT:'%',"corpse",random,"healer",0
OBJECT:'%',"corpse",random,"knight",0
OBJECT:'%',"corpse",random,"knight",0
OBJECT:'%',"corpse",random,"ranger",0
OBJECT:'%',"corpse",random,"ranger",0
OBJECT:'%',"corpse",random,"rogue",0
OBJECT:'%',"corpse",random,"rogue",0
OBJECT:'%',"corpse",random,"samurai",0
OBJECT:'%',"corpse",random,"samurai",0
OBJECT:'%',"corpse",random,"tourist",0
OBJECT:'%',"corpse",random,"tourist",0
OBJECT:'%',"corpse",random,"valkyrie",0
OBJECT:'%',"corpse",random,"valkyrie",0
OBJECT:'%',"corpse",random,"wizard",0
OBJECT:'%',"corpse",random,"wizard",0
OBJECT:('%',"corpse"),random,montype:"archeologist"
OBJECT:('%',"corpse"),random,montype:"archeologist"
OBJECT:('%',"corpse"),random,montype:"barbarian"
OBJECT:('%',"corpse"),random,montype:"barbarian"
OBJECT:('%',"corpse"),random,montype:"caveman"
OBJECT:('%',"corpse"),random,montype:"cavewoman"
OBJECT:('%',"corpse"),random,montype:"healer"
OBJECT:('%',"corpse"),random,montype:"healer"
OBJECT:('%',"corpse"),random,montype:"knight"
OBJECT:('%',"corpse"),random,montype:"knight"
OBJECT:('%',"corpse"),random,montype:"ranger"
OBJECT:('%',"corpse"),random,montype:"ranger"
OBJECT:('%',"corpse"),random,montype:"rogue"
OBJECT:('%',"corpse"),random,montype:"rogue"
OBJECT:('%',"corpse"),random,montype:"samurai"
OBJECT:('%',"corpse"),random,montype:"samurai"
OBJECT:('%',"corpse"),random,montype:"tourist"
OBJECT:('%',"corpse"),random,montype:"tourist"
OBJECT:('%',"corpse"),random,montype:"valkyrie"
OBJECT:('%',"corpse"),random,montype:"valkyrie"
OBJECT:('%',"corpse"),random,montype:"wizard"
OBJECT:('%',"corpse"),random,montype:"wizard"
#
# Some random weapons and armor.
#
OBJECT:'[',random,random
OBJECT:'[',random,random
OBJECT:'[',random,random
OBJECT:'[',random,random
OBJECT:')',random,random
OBJECT:')',random,random
OBJECT:')',random,random
OBJECT:')',random,random
OBJECT:'[',random
OBJECT:'[',random
OBJECT:'[',random
OBJECT:'[',random
OBJECT:')',random
OBJECT:')',random
OBJECT:')',random
OBJECT:')',random
#
# Some random loot.
#
OBJECT:'*',"ruby",random
OBJECT:'*',random,random
OBJECT:'*',random,random
OBJECT:'!',random,random
OBJECT:'!',random,random
OBJECT:'!',random,random
OBJECT:'?',random,random
OBJECT:'?',random,random
OBJECT:'?',random,random
OBJECT:'/',random,random
OBJECT:'/',random,random
OBJECT:'=',random,random
OBJECT:'=',random,random
OBJECT:'+',random,random
OBJECT:'+',random,random
OBJECT:'(',random,random
OBJECT:'(',random,random
OBJECT:'(',random,random
OBJECT:('*',"ruby"),random
OBJECT:'*',random
OBJECT:'*',random
OBJECT:'!',random
OBJECT:'!',random
OBJECT:'!',random
OBJECT:'?',random
OBJECT:'?',random
OBJECT:'?',random
OBJECT:'/',random
OBJECT:'/',random
OBJECT:'=',random
OBJECT:'=',random
OBJECT:'+',random
OBJECT:'+',random
OBJECT:'(',random
OBJECT:'(',random
OBJECT:'(',random
# (Not so) Random traps.
TRAP:"spiked pit", (05,02)
@@ -130,36 +130,36 @@ TRAP:"magic", random
# Random monsters.
# The ghosts.
MONSTER:' ',"ghost",random
MONSTER:' ',"ghost",random
MONSTER:' ',"ghost",random
MONSTER:' ',"ghost",random
MONSTER:' ',"ghost",random
MONSTER:' ',"ghost",random
MONSTER:(' ',"ghost"),random
MONSTER:(' ',"ghost"),random
MONSTER:(' ',"ghost"),random
MONSTER:(' ',"ghost"),random
MONSTER:(' ',"ghost"),random
MONSTER:(' ',"ghost"),random
# Add a few bats for atmosphere.
MONSTER:'B',"vampire bat",random
MONSTER:'B',"vampire bat",random
MONSTER:'B',"vampire bat",random
MONSTER:('B',"vampire bat"),random
MONSTER:('B',"vampire bat"),random
MONSTER:('B',"vampire bat"),random
# And a lich for good measure.
MONSTER:'L',random,random
MONSTER:'L',random
# Some undead nasties for good measure
MONSTER:'V',random,random
MONSTER:'V',random,random
MONSTER:'V',random,random
MONSTER:'Z',random,random
MONSTER:'Z',random,random
MONSTER:'Z',random,random
MONSTER:'Z',random,random
MONSTER:'M',random,random
MONSTER:'M',random,random
MONSTER:'M',random,random
MONSTER:'M',random,random
MONSTER:'V',random
MONSTER:'V',random
MONSTER:'V',random
MONSTER:'Z',random
MONSTER:'Z',random
MONSTER:'Z',random
MONSTER:'Z',random
MONSTER:'M',random
MONSTER:'M',random
MONSTER:'M',random
MONSTER:'M',random
#
# The Juiblex level
#
MAZE:"juiblex",' '
FLAGS:noteleport,shortsighted
INIT_MAP:'.','}',true,true,unlit,false
INIT_MAP:mines,'.','}',true,true,unlit,false
# guarantee at least one open spot to ensure successful stair placement
GEOMETRY:left,bottom
MAP
@@ -169,7 +169,7 @@ MAP
}}}}.}}}
}}}}}}}}
ENDMAP
OBJECT:'`',"boulder",random
OBJECT:('`',"boulder"),random
GEOMETRY:right,top
MAP
}}}}}}}}
@@ -178,7 +178,7 @@ MAP
}}...}}}
}}}}}}}}
ENDMAP
OBJECT:'`',"boulder",random
OBJECT:('`',"boulder"),random
# lair
GEOMETRY:center,center
MAP
@@ -202,8 +202,12 @@ MAP
..}}}}}.}}}}}.}}}}}.}}}}}.}}}}}.}}}}}.}}}}}.}}}}}..
ENDMAP
# Random registers
RANDOM_MONSTERS:'j','b','P','F'
RANDOM_PLACES:(04,02),(46,02),(04,15),(46,15)
$monster = monster: { 'j','b','P','F' }
SHUFFLE: $monster
$place = { (04,02),(46,02),(04,15),(46,15) }
SHUFFLE: $place
# Dungeon description
REGION:(00,00,50,17),unlit,"swamp"
MAZEWALK:(00,09),west
@@ -213,57 +217,57 @@ STAIR:levregion(69,00,79,20),(0,0,50,17),up
BRANCH:levregion(01,00,11,20),(0,0,50,17)
TELEPORT_REGION:levregion(01,00,11,20),(0,0,50,17),up
TELEPORT_REGION:levregion(69,00,79,20),(0,0,50,17),down
FOUNTAIN:place[0]
MONSTER:'m',"giant mimic",place[1],m_feature "fountain"
MONSTER:'m',"giant mimic",place[2],m_feature "fountain"
MONSTER:'m',"giant mimic",place[3],m_feature "fountain"
FOUNTAIN:$place[0]
MONSTER:('m',"giant mimic"),$place[1],m_feature "fountain"
MONSTER:('m',"giant mimic"),$place[2],m_feature "fountain"
MONSTER:('m',"giant mimic"),$place[3],m_feature "fountain"
# The demon of the swamp
MONSTER:'&',"Juiblex",(25,08)
MONSTER:('&',"Juiblex"),(25,08)
# And a couple demons
MONSTER:'i',"lemure",(43,08)
MONSTER:'i',"lemure",(44,08)
MONSTER:'i',"lemure",(45,08)
MONSTER:('i',"lemure"),(43,08)
MONSTER:('i',"lemure"),(44,08)
MONSTER:('i',"lemure"),(45,08)
# Some liquids and gems
OBJECT:'*',random,(43,06)
OBJECT:'*',random,(45,06)
OBJECT:'!',random,(43,09)
OBJECT:'!',random,(44,09)
OBJECT:'!',random,(45,09)
OBJECT:'*',(43,06)
OBJECT:'*',(45,06)
OBJECT:'!',(43,09)
OBJECT:'!',(44,09)
OBJECT:'!',(45,09)
# And lots of blobby monsters
MONSTER:monster[0],random,(25,06)
MONSTER:monster[1],random,(24,07)
MONSTER:monster[2],random,(26,07)
MONSTER:monster[3],random,(23,08)
MONSTER:monster[3],random,(27,08)
MONSTER:monster[2],random,(24,09)
MONSTER:monster[1],random,(26,09)
MONSTER:monster[0],random,(25,10)
MONSTER:'j',random,random
MONSTER:'j',random,random
MONSTER:'j',random,random
MONSTER:'j',random,random
MONSTER:'P',random,random
MONSTER:'P',random,random
MONSTER:'P',random,random
MONSTER:'P',random,random
MONSTER:'b',random,random
MONSTER:'b',random,random
MONSTER:'b',random,random
MONSTER:'F',random,random
MONSTER:'F',random,random
MONSTER:'F',random,random
MONSTER:'m',random,random
MONSTER:'m',random,random
MONSTER:';',"jellyfish",random
MONSTER:';',"jellyfish",random
MONSTER:$monster[0],(25,06)
MONSTER:$monster[1],(24,07)
MONSTER:$monster[2],(26,07)
MONSTER:$monster[3],(23,08)
MONSTER:$monster[3],(27,08)
MONSTER:$monster[2],(24,09)
MONSTER:$monster[1],(26,09)
MONSTER:$monster[0],(25,10)
MONSTER:'j',random
MONSTER:'j',random
MONSTER:'j',random
MONSTER:'j',random
MONSTER:'P',random
MONSTER:'P',random
MONSTER:'P',random
MONSTER:'P',random
MONSTER:'b',random
MONSTER:'b',random
MONSTER:'b',random
MONSTER:'F',random
MONSTER:'F',random
MONSTER:'F',random
MONSTER:'m',random
MONSTER:'m',random
MONSTER:(';',"jellyfish"),random
MONSTER:(';',"jellyfish"),random
# Some random objects
OBJECT:'!',random,random
OBJECT:'!',random,random
OBJECT:'!',random,random
OBJECT:'%',random,random
OBJECT:'%',random,random
OBJECT:'%',random,random
OBJECT:'`',"boulder",random
OBJECT:'!',random
OBJECT:'!',random
OBJECT:'!',random
OBJECT:'%',random
OBJECT:'%',random
OBJECT:'%',random
OBJECT:('`',"boulder"),random
# Some traps
TRAP:"sleep gas",random
TRAP:"sleep gas",random
@@ -305,30 +309,30 @@ STAIR:levregion(01,00,12,20),levregion(20,01,70,20),up
BRANCH:levregion(01,00,12,20),levregion(20,01,70,20)
TELEPORT_REGION:levregion(01,00,12,20),levregion(20,01,70,20)
# Wall "ruins"
OBJECT:'`',"boulder",(19,02)
OBJECT:'`',"boulder",(20,02)
OBJECT:'`',"boulder",(21,02)
OBJECT:'`',"boulder",(36,02)
OBJECT:'`',"boulder",(36,03)
OBJECT:'`',"boulder",(06,04)
OBJECT:'`',"boulder",(05,05)
OBJECT:'`',"boulder",(06,05)
OBJECT:'`',"boulder",(07,05)
OBJECT:'`',"boulder",(39,05)
OBJECT:'`',"boulder",(08,08)
OBJECT:'`',"boulder",(09,08)
OBJECT:'`',"boulder",(10,08)
OBJECT:'`',"boulder",(11,08)
OBJECT:'`',"boulder",(06,10)
OBJECT:'`',"boulder",(05,11)
OBJECT:'`',"boulder",(06,11)
OBJECT:'`',"boulder",(07,11)
OBJECT:'`',"boulder",(21,11)
OBJECT:'`',"boulder",(21,12)
OBJECT:'`',"boulder",(13,13)
OBJECT:'`',"boulder",(14,13)
OBJECT:'`',"boulder",(15,13)
OBJECT:'`',"boulder",(14,14)
OBJECT:('`',"boulder"),(19,02)
OBJECT:('`',"boulder"),(20,02)
OBJECT:('`',"boulder"),(21,02)
OBJECT:('`',"boulder"),(36,02)
OBJECT:('`',"boulder"),(36,03)
OBJECT:('`',"boulder"),(06,04)
OBJECT:('`',"boulder"),(05,05)
OBJECT:('`',"boulder"),(06,05)
OBJECT:('`',"boulder"),(07,05)
OBJECT:('`',"boulder"),(39,05)
OBJECT:('`',"boulder"),(08,08)
OBJECT:('`',"boulder"),(09,08)
OBJECT:('`',"boulder"),(10,08)
OBJECT:('`',"boulder"),(11,08)
OBJECT:('`',"boulder"),(06,10)
OBJECT:('`',"boulder"),(05,11)
OBJECT:('`',"boulder"),(06,11)
OBJECT:('`',"boulder"),(07,11)
OBJECT:('`',"boulder"),(21,11)
OBJECT:('`',"boulder"),(21,12)
OBJECT:('`',"boulder"),(13,13)
OBJECT:('`',"boulder"),(14,13)
OBJECT:('`',"boulder"),(15,13)
OBJECT:('`',"boulder"),(14,14)
# Doors
DOOR:closed,(23,02)
DOOR:open,(31,03)
@@ -361,56 +365,56 @@ TRAP:"fire", random
TRAP:"magic", random
TRAP:"magic", random
# Some random objects
OBJECT:random,random,random
OBJECT:random,random,random
OBJECT:random,random,random
OBJECT:random,random,random
OBJECT:random,random,random
OBJECT:random,random,random
OBJECT:random,random,random
OBJECT:random,random,random
OBJECT:random,random,random
OBJECT:random,random,random
OBJECT:random,random
OBJECT:random,random
OBJECT:random,random
OBJECT:random,random
OBJECT:random,random
OBJECT:random,random
OBJECT:random,random
OBJECT:random,random
OBJECT:random,random
OBJECT:random,random
# The resident nasty
MONSTER:'&',"Orcus",(33,15)
MONSTER:('&',"Orcus"),(33,15)
# And its preferred companions
MONSTER:'Z',"human zombie",(32,15)
MONSTER:' ',"shade",(32,14)
MONSTER:' ',"shade",(32,16)
MONSTER:'V',"vampire",(35,16)
MONSTER:'V',"vampire",(35,14)
MONSTER:'V',"vampire lord",(36,14)
MONSTER:'V',"vampire lord",(36,15)
MONSTER:('Z',"human zombie"),(32,15)
MONSTER:(' ',"shade"),(32,14)
MONSTER:(' ',"shade"),(32,16)
MONSTER:('V',"vampire"),(35,16)
MONSTER:('V',"vampire"),(35,14)
MONSTER:('V',"vampire lord"),(36,14)
MONSTER:('V',"vampire lord"),(36,15)
# Randomly placed companions
MONSTER:'Z',"skeleton",random
MONSTER:'Z',"skeleton",random
MONSTER:'Z',"skeleton",random
MONSTER:'Z',"skeleton",random
MONSTER:'Z',"skeleton",random
MONSTER:' ',"shade",random
MONSTER:' ',"shade",random
MONSTER:' ',"shade",random
MONSTER:' ',"shade",random
MONSTER:'Z',"giant zombie",random
MONSTER:'Z',"giant zombie",random
MONSTER:'Z',"giant zombie",random
MONSTER:'Z',"ettin zombie",random
MONSTER:'Z',"ettin zombie",random
MONSTER:'Z',"ettin zombie",random
MONSTER:'Z',"human zombie",random
MONSTER:'Z',"human zombie",random
MONSTER:'Z',"human zombie",random
MONSTER:'V',"vampire",random
MONSTER:'V',"vampire",random
MONSTER:'V',"vampire",random
MONSTER:'V',"vampire lord",random
MONSTER:'V',"vampire lord",random
MONSTER:('Z',"skeleton"),random
MONSTER:('Z',"skeleton"),random
MONSTER:('Z',"skeleton"),random
MONSTER:('Z',"skeleton"),random
MONSTER:('Z',"skeleton"),random
MONSTER:(' ',"shade"),random
MONSTER:(' ',"shade"),random
MONSTER:(' ',"shade"),random
MONSTER:(' ',"shade"),random
MONSTER:('Z',"giant zombie"),random
MONSTER:('Z',"giant zombie"),random
MONSTER:('Z',"giant zombie"),random
MONSTER:('Z',"ettin zombie"),random
MONSTER:('Z',"ettin zombie"),random
MONSTER:('Z',"ettin zombie"),random
MONSTER:('Z',"human zombie"),random
MONSTER:('Z',"human zombie"),random
MONSTER:('Z',"human zombie"),random
MONSTER:('V',"vampire"),random
MONSTER:('V',"vampire"),random
MONSTER:('V',"vampire"),random
MONSTER:('V',"vampire lord"),random
MONSTER:('V',"vampire lord"),random
# A few more for the party
MONSTER:random,random,random
MONSTER:random,random,random
MONSTER:random,random,random
MONSTER:random,random,random
MONSTER:random,random,random
MONSTER:random,random
MONSTER:random,random
MONSTER:random,random
MONSTER:random,random
MONSTER:random,random
#
# The Asmodeus Level
#
@@ -447,18 +451,18 @@ NON_DIGGABLE:(00,00,20,11)
# Entire main area
REGION:(01,01,20,10),unlit,"ordinary"
# The fellow in residence
MONSTER:'&',"Asmodeus",(12,07)
MONSTER:('&',"Asmodeus"),(12,07)
# Some random weapons and armor.
OBJECT:'[',random,random
OBJECT:'[',random,random
OBJECT:')',random,random
OBJECT:')',random,random
OBJECT:'*',random,random
OBJECT:'!',random,random
OBJECT:'!',random,random
OBJECT:'?',random,random
OBJECT:'?',random,random
OBJECT:'?',random,random
OBJECT:'[',random
OBJECT:'[',random
OBJECT:')',random
OBJECT:')',random
OBJECT:'*',random
OBJECT:'!',random
OBJECT:'!',random
OBJECT:'?',random
OBJECT:'?',random
OBJECT:'?',random
# Some traps.
TRAP:"spiked pit", (05,02)
TRAP:"fire", (08,06)
@@ -468,13 +472,13 @@ TRAP:"fire", random
TRAP:"magic", random
TRAP:"magic", random
# Random monsters.
MONSTER:' ',"ghost",(11,07)
MONSTER:'&',"horned devil",(10,05)
MONSTER:'L',random,random
MONSTER:(' ',"ghost"),(11,07)
MONSTER:('&',"horned devil"),(10,05)
MONSTER:'L',random
# Some Vampires for good measure
MONSTER:'V',random,random
MONSTER:'V',random,random
MONSTER:'V',random,random
MONSTER:'V',random
MONSTER:'V',random
MONSTER:'V',random
# Second part
GEOMETRY:half-right,center
MAP
@@ -488,9 +492,9 @@ MAZEWALK:(32,02),east
# Non diggable walls
NON_DIGGABLE:(00,00,32,04)
DOOR:closed,(32,02)
MONSTER:'&',random,random
MONSTER:'&',random,random
MONSTER:'&',random,random
MONSTER:'&',random
MONSTER:'&',random
MONSTER:'&',random
TRAP:"anti magic", random
TRAP:"fire", random
TRAP:"magic", random
@@ -523,18 +527,18 @@ NON_DIGGABLE:(00,00,46,12)
MAZEWALK:(00,06),west
STAIR:(44,06),down
# The fellow in residence
MONSTER:'&',"Baalzebub",(35,06)
MONSTER:('&',"Baalzebub"),(35,06)
# Some random weapons and armor.
OBJECT:'[',random,random
OBJECT:'[',random,random
OBJECT:')',random,random
OBJECT:')',random,random
OBJECT:'*',random,random
OBJECT:'!',random,random
OBJECT:'!',random,random
OBJECT:'?',random,random
OBJECT:'?',random,random
OBJECT:'?',random,random
OBJECT:'[',random
OBJECT:'[',random
OBJECT:')',random
OBJECT:')',random
OBJECT:'*',random
OBJECT:'!',random
OBJECT:'!',random
OBJECT:'?',random
OBJECT:'?',random
OBJECT:'?',random
# Some traps.
TRAP:"spiked pit", random
TRAP:"fire", random
@@ -544,14 +548,14 @@ TRAP:"fire", random
TRAP:"magic", random
TRAP:"magic", random
# Random monsters.
MONSTER:' ',"ghost",(37,07)
MONSTER:'&',"horned devil",(32,05)
MONSTER:'&',"barbed devil",(38,07)
MONSTER:'L',random,random
MONSTER:(' ',"ghost"),(37,07)
MONSTER:('&',"horned devil"),(32,05)
MONSTER:('&',"barbed devil"),(38,07)
MONSTER:'L',random
# Some Vampires for good measure
MONSTER:'V',random,random
MONSTER:'V',random,random
MONSTER:'V',random,random
MONSTER:'V',random
MONSTER:'V',random
MONSTER:'V',random
#
# The Sanctum Level
#
@@ -582,7 +586,7 @@ MAP
ENDMAP
REGION:(15,07,21,10),lit,"temple"
ALTAR:(18,08),noalign,sanctum
REGION:(41,06,48,11),unlit,"morgue",filled,true
REGION:(41,06,48,11),unlit,"morgue",filled,irregular
# Non diggable walls
NON_DIGGABLE:(00,00,75,19)
# Invisible barrier separating the left & right halves of the level
@@ -635,44 +639,44 @@ TRAP:"anti magic", random
TRAP:"fire", random
TRAP:"magic", random
# Some random objects
OBJECT:'[',random,random
OBJECT:'[',random,random
OBJECT:'[',random,random
OBJECT:'[',random,random
OBJECT:')',random,random
OBJECT:')',random,random
OBJECT:'*',random,random
OBJECT:'!',random,random
OBJECT:'!',random,random
OBJECT:'!',random,random
OBJECT:'!',random,random
OBJECT:'?',random,random
OBJECT:'?',random,random
OBJECT:'?',random,random
OBJECT:'?',random,random
OBJECT:'?',random,random
OBJECT:'[',random
OBJECT:'[',random
OBJECT:'[',random
OBJECT:'[',random
OBJECT:')',random
OBJECT:')',random
OBJECT:'*',random
OBJECT:'!',random
OBJECT:'!',random
OBJECT:'!',random
OBJECT:'!',random
OBJECT:'?',random
OBJECT:'?',random
OBJECT:'?',random
OBJECT:'?',random
OBJECT:'?',random
# Some monsters.
MONSTER:'&',"horned devil",(14,12),hostile
MONSTER:'&',"barbed devil",(18,08),hostile
MONSTER:'&',"erinys",(10,04),hostile
MONSTER:'&',"marilith",(07,09),hostile
MONSTER:'&',"nalfeshnee",(27,08),hostile
MONSTER:('&',"horned devil"),(14,12),hostile
MONSTER:('&',"barbed devil"),(18,08),hostile
MONSTER:('&',"erinys"),(10,04),hostile
MONSTER:('&',"marilith"),(07,09),hostile
MONSTER:('&',"nalfeshnee"),(27,08),hostile
# Moloch's horde
MONSTER:'@',"aligned priest",(20,03),noalign,hostile
MONSTER:'@',"aligned priest",(15,04),noalign,hostile
MONSTER:'@',"aligned priest",(11,05),noalign,hostile
MONSTER:'@',"aligned priest",(11,07),noalign,hostile
MONSTER:'@',"aligned priest",(11,09),noalign,hostile
MONSTER:'@',"aligned priest",(11,12),noalign,hostile
MONSTER:'@',"aligned priest",(15,13),noalign,hostile
MONSTER:'@',"aligned priest",(17,13),noalign,hostile
MONSTER:'@',"aligned priest",(21,13),noalign,hostile
MONSTER:('@',"aligned priest"),(20,03),noalign,hostile
MONSTER:('@',"aligned priest"),(15,04),noalign,hostile
MONSTER:('@',"aligned priest"),(11,05),noalign,hostile
MONSTER:('@',"aligned priest"),(11,07),noalign,hostile
MONSTER:('@',"aligned priest"),(11,09),noalign,hostile
MONSTER:('@',"aligned priest"),(11,12),noalign,hostile
MONSTER:('@',"aligned priest"),(15,13),noalign,hostile
MONSTER:('@',"aligned priest"),(17,13),noalign,hostile
MONSTER:('@',"aligned priest"),(21,13),noalign,hostile
# A few nasties
MONSTER:'L',random,random
MONSTER:'L',random,random
MONSTER:'V',random,random
MONSTER:'V',random,random
MONSTER:'V',random,random
MONSTER:'L',random
MONSTER:'L',random
MONSTER:'V',random
MONSTER:'V',random
MONSTER:'V',random
STAIR:(63,15),up
# Teleporting to this level is allowed after the invocation creates its
# entrance. Force arrival in that case to be on rightmost third of level.