Quite a bit of special case code for something so inconsequential. Tweak the baalz level layout a little to make it be a bit more interesting, and perform custom wallification on it so that the beetle layout becomes clearly visible. It looks great with DECgraphics (and presumably IBMgraphics). It's recognizeable but not as interesting with ordinary ascii because corner walls use '-' or '|' so don't join up nicely. It looks a little weird with tiles; the square aspect ratio of individual tiles makes it end up being very elongated compared to character cell map it was designed for. As far as the level layout goes, the pair of secret doors into Baalzebub's chamber have been give a random alternative. The two right-most accessible columns were diggable--I don't know whether that was intentional; it's been reduced to one right-most column. The middle pair of legs were asymmetrical; this fixes that. The beetle also now has eyes and an entry door in its mouth.
714 lines
21 KiB
Plaintext
714 lines
21 KiB
Plaintext
# NetHack 3.6 gehennom.des $NHDT-Date: 1432512783 2015/05/25 00:13:03 $ $NHDT-Branch: master $:$NHDT-Revision: 1.13 $
|
|
# Copyright (c) 1989 by Jean-Christophe Collet
|
|
# Copyright (c) 1992 by M. Stephenson and Izchak Miller
|
|
# NetHack may be freely redistributed. See license for details.
|
|
#
|
|
|
|
MAZE: "valley", ' '
|
|
FLAGS: noteleport,hardfloor,nommap
|
|
GEOMETRY:center,center
|
|
MAP
|
|
----------------------------------------------------------------------------
|
|
|...S.|..|.....| |.....-| |................| |...............| |...|
|
|
|---|.|.--.---.| |......--- ----..........-----.-----....---........---.-.|
|
|
| |.|.|..| |.| --........| |.............| |.......---| |-...........--|
|
|
| |...S..| |.| |.......-----.......------| |--------..---......------- |
|
|
|----------- |.| |-......| |....|...-- |...-----................---- |
|
|
|.....S....---.| |.......| |....|...| |..............----------- |
|
|
|.....|.|......| |.....--- |......--- |....---.......| |
|
|
|.....|.|------| |....-- --....-- |-------- ----....--------------- |
|
|
|.....|--......---BBB-| |...-- |.......| |..................| |
|
|
|..........||........-| --...| |.......| |...||.............| |
|
|
|.....|...-||-........------....| |.......---- |...||.............-- |
|
|
|.....|--......---...........--------..........| |.......---------...-- |
|
|
|.....| |------| |--.......--| |..B......----- -----....| |.| |....--- |
|
|
|.....| |......--| ------..| |----..B......| |.--------.-- |-.....---|
|
|
|------ |........| |.|....| |.....----BBBB---------...........---.........|
|
|
| |........| |...|..| |.....| |-.............--------...........---|
|
|
| --.....-----------.| |....-----.....---------- |.........---- |
|
|
| |..|..B...........| |.|..........|.| |.|........| |
|
|
----------------------------------------------------------------------------
|
|
ENDMAP
|
|
|
|
# Make the path somewhat unpredictable
|
|
# If you get "lucky", you may have to go through all three graveyards.
|
|
IF [50%] {
|
|
TERRAIN:line (50,8),(53,8), '-'
|
|
TERRAIN:line (40,8),(43,8), 'B'
|
|
}
|
|
IF [50%] {
|
|
TERRAIN:(27,12),'|'
|
|
TERRAIN:line (27,3),(29,3), 'B'
|
|
TERRAIN:(28,2), '-'
|
|
}
|
|
IF [50%] {
|
|
TERRAIN:line (16,10),(16,11),'|'
|
|
TERRAIN:line (9,13),(14,13), 'B'
|
|
}
|
|
|
|
|
|
# Dungeon Description
|
|
# The shrine to Moloch.
|
|
REGION:(01,06,05,14),lit,"temple"
|
|
# The Morgues
|
|
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
|
|
BRANCH:(66,17,66,17),(0,0,0,0)
|
|
TELEPORT_REGION:(58,09,72,18),(0,0,0,0),down
|
|
|
|
# Secret Doors
|
|
DOOR:locked,(04,01)
|
|
DOOR:locked,(08,04)
|
|
DOOR:locked,(06,06)
|
|
|
|
# The altar of Moloch.
|
|
ALTAR:(03,10),noalign,shrine
|
|
|
|
# Non diggable walls - everywhere!
|
|
NON_DIGGABLE:(00,00,75,19)
|
|
|
|
# Objects
|
|
# **LOTS** of dead bodies (all human).
|
|
# note: no priest(esse)s or monks - maybe Moloch has a *special*
|
|
# fate reserved for members of *those* classes.
|
|
#
|
|
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
|
|
OBJECT:'[',random
|
|
OBJECT:'[',random
|
|
OBJECT:'[',random
|
|
OBJECT:')',random
|
|
OBJECT:')',random
|
|
OBJECT:')',random
|
|
OBJECT:')',random
|
|
#
|
|
# Some random loot.
|
|
#
|
|
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)
|
|
TRAP:"spiked pit", (14,05)
|
|
TRAP:"sleep gas", (03,01)
|
|
TRAP:"board", (21,12)
|
|
TRAP:"board", random
|
|
TRAP:"dart", (60,01)
|
|
TRAP:"dart", (26,17)
|
|
TRAP:"anti magic", random
|
|
TRAP:"anti magic", random
|
|
TRAP:"magic", random
|
|
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
|
|
# Add a few bats for atmosphere.
|
|
MONSTER:('B',"vampire bat"),random
|
|
MONSTER:('B',"vampire bat"),random
|
|
MONSTER:('B',"vampire bat"),random
|
|
# And a lich for good measure.
|
|
MONSTER:'L',random
|
|
# Some undead nasties for good measure
|
|
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:mines,'.','}',true,true,unlit,false
|
|
# guarantee at least one open spot to ensure successful stair placement
|
|
GEOMETRY:left,bottom
|
|
MAP
|
|
xxxxxxxx
|
|
xx...xxx
|
|
xxx...xx
|
|
xxxx.xxx
|
|
xxxxxxxx
|
|
ENDMAP
|
|
OBJECT:('`',"boulder"),random
|
|
GEOMETRY:right,top
|
|
MAP
|
|
xxxxxxxx
|
|
xxxx.xxx
|
|
xxx...xx
|
|
xx...xxx
|
|
xxxxxxxx
|
|
ENDMAP
|
|
OBJECT:('`',"boulder"),random
|
|
# lair
|
|
GEOMETRY:center,center
|
|
MAP
|
|
xx}}}}}x}}}}}x}}}}}x}}}}}x}}}}}x}}}}}x}}}}}x}}}}}xx
|
|
x}}}.}}}}}..}}}..}}}}}..}}}..}}}}}..}}}..}}}}}.}}}x
|
|
}}}...}}..}}.}.}}.}}.}}}...}}}.}}}..}}}..}}}}...}}}
|
|
x}}}.}}.}}}.}}.}}.}}...}}.}}.....}}.....}....}.}}}x
|
|
xx}}}..}}}.}}.}}.}}..}}.....}}.}}}.}}.}}}}}}}}}}}xx
|
|
x}}}..}}}}}.}}.}}.}}...}}}}}.....}}.}}}}}}.....}}}x
|
|
}}}..}}...}}..}}.}}}.}}}...}}}.}}}.}.}}}}..P.P..}}}
|
|
}}.}}}}...}}}}}.}...}}}..P..}}}.}.}}}.}}}}.....}}}}
|
|
}.}}}}.}}.}..}.}}}}}}}..P.P..}}}.}}}.}}..}}...}}}}x
|
|
x}}}}.}}}}....}}}}}.}}}..P..}}}.}}}}.}}..}}...}}}.}
|
|
}}}}..}}.}}..}}}}...}}}}...}}}.}}}}}.}}}}.}}}}}}.}}
|
|
}}}...}}...}}}..}}}}}}}}}}}}.....}}}}.}}...}..}.}}}
|
|
x}}}..}}.}}}}....}}..}}}..}}.....}}}}.}}}.}....}}}x
|
|
xx}}}.}}}}..}}..}}..}}..}}..}}.}}}..}.}..}}}..}}}xx
|
|
x}}}.}}}}....}}}}..}}....}}}}}}}...}}}....}}}}.}}}x
|
|
}}}...}}}....}}}..}}}....}}}..}}...}}}....}}}...}}}
|
|
x}}}.}}}}}..}}}..}}}}}..}}}..}}}}}..}}}..}}}}}.}}}x
|
|
xx}}}}}x}}}}}x}}}}}x}}}}}x}}}}}x}}}}}x}}}}}x}}}}}xx
|
|
ENDMAP
|
|
# Random registers
|
|
$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
|
|
MAZEWALK:(50,08),east
|
|
STAIR:levregion(01,00,11,20),(0,0,50,17),down
|
|
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"
|
|
# The demon of the swamp
|
|
MONSTER:('&',"Juiblex"),(25,08)
|
|
# And a couple demons
|
|
MONSTER:('i',"lemure"),(43,08)
|
|
MONSTER:('i',"lemure"),(44,08)
|
|
MONSTER:('i',"lemure"),(45,08)
|
|
# Some liquids and gems
|
|
OBJECT:'*',(43,06)
|
|
OBJECT:'*',(45,06)
|
|
OBJECT:'!',(43,09)
|
|
OBJECT:'!',(44,09)
|
|
OBJECT:'!',(45,09)
|
|
# And lots of blobby monsters
|
|
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
|
|
OBJECT:'!',random
|
|
OBJECT:'!',random
|
|
OBJECT:'%',random
|
|
OBJECT:'%',random
|
|
OBJECT:'%',random
|
|
OBJECT:('`',"boulder"),random
|
|
# Some traps
|
|
TRAP:"sleep gas",random
|
|
TRAP:"sleep gas",random
|
|
TRAP:"anti magic",random
|
|
TRAP:"anti magic",random
|
|
TRAP:"magic",random
|
|
TRAP:"magic",random
|
|
#
|
|
# The Orcus Level
|
|
#
|
|
MAZE:"orcus",random
|
|
FLAGS: noteleport,shortsighted
|
|
GEOMETRY:right,center
|
|
# A ghost town
|
|
MAP
|
|
.|....|....|....|..............|....|........
|
|
.|....|....|....|..............|....|........
|
|
.|....|....|....|--...-+-------|.............
|
|
.|....|....|....|..............+.............
|
|
.|.........|....|..............|....|........
|
|
.--+-...-+----+--....-------...--------.-+---
|
|
.....................|.....|.................
|
|
.....................|.....|.................
|
|
.--+----....-+---....|.....|...----------+---
|
|
.|....|....|....|....---+---...|......|......
|
|
.|.........|....|..............|......|......
|
|
.----...---------.....-----....+......|......
|
|
.|........................|....|......|......
|
|
.----------+-...--+--|....|....----------+---
|
|
.|....|..............|....+....|.............
|
|
.|....+.......|......|....|....|.............
|
|
.|....|.......|......|....|....|.............
|
|
ENDMAP
|
|
MAZEWALK:(00,06),west
|
|
# Entire main area
|
|
REGION:(01,00,44,16),unlit,"ordinary"
|
|
STAIR:(33,15),down
|
|
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)
|
|
# Doors
|
|
DOOR:closed,(23,02)
|
|
DOOR:open,(31,03)
|
|
DOOR:nodoor,(03,05)
|
|
DOOR:closed,(09,05)
|
|
DOOR:closed,(14,05)
|
|
DOOR:closed,(41,05)
|
|
DOOR:open,(03,08)
|
|
DOOR:nodoor,(13,08)
|
|
DOOR:open,(41,08)
|
|
DOOR:closed,(24,09)
|
|
DOOR:closed,(31,11)
|
|
DOOR:open,(11,13)
|
|
DOOR:closed,(18,13)
|
|
DOOR:closed,(41,13)
|
|
DOOR:open,(26,14)
|
|
DOOR:closed,(06,15)
|
|
# Special rooms
|
|
ALTAR:(24,07),noalign,sanctum
|
|
REGION:(22,12,25,16),unlit,"morgue"
|
|
REGION:(32,09,37,12),lit,"shop"
|
|
REGION:(12,00,15,04),lit,"shop"
|
|
# Some traps.
|
|
TRAP:"spiked pit", random
|
|
TRAP:"sleep gas", random
|
|
TRAP:"anti magic", random
|
|
TRAP:"fire", random
|
|
TRAP:"fire", random
|
|
TRAP:"fire", random
|
|
TRAP:"magic", 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
|
|
# The resident nasty
|
|
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)
|
|
# 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
|
|
# A few more for the party
|
|
MONSTER:random,random
|
|
MONSTER:random,random
|
|
MONSTER:random,random
|
|
MONSTER:random,random
|
|
MONSTER:random,random
|
|
#
|
|
# The Asmodeus Level
|
|
#
|
|
MAZE:"asmodeus",random
|
|
FLAGS: noteleport
|
|
# First part
|
|
GEOMETRY:half-left,center
|
|
MAP
|
|
---------------------
|
|
|.............|.....|
|
|
|.............S.....|
|
|
|---+------------...|
|
|
|.....|.........|-+--
|
|
|..---|.........|....
|
|
|..|..S.........|....
|
|
|..|..|.........|....
|
|
|..|..|.........|-+--
|
|
|..|..-----------...|
|
|
|..S..........|.....|
|
|
---------------------
|
|
ENDMAP
|
|
STAIR:levregion(01,00,6,20),levregion(6,1,70,16),up
|
|
BRANCH:levregion(01,00,6,20),levregion(6,1,70,16)
|
|
TELEPORT_REGION:levregion(01,00,6,20),levregion(6,1,70,16)
|
|
|
|
# Doors
|
|
DOOR:closed,(04,03)
|
|
DOOR:locked,(18,04)
|
|
DOOR:closed,(18,08)
|
|
#
|
|
STAIR:(13,07),down
|
|
# Non diggable walls
|
|
NON_DIGGABLE:(00,00,20,11)
|
|
# Entire main area
|
|
REGION:(01,01,20,10),unlit,"ordinary"
|
|
# The fellow in residence
|
|
MONSTER:('&',"Asmodeus"),(12,07)
|
|
# Some random weapons and armor.
|
|
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)
|
|
TRAP:"sleep gas", random
|
|
TRAP:"anti magic", random
|
|
TRAP:"fire", random
|
|
TRAP:"magic", random
|
|
TRAP:"magic", random
|
|
# Random monsters.
|
|
MONSTER:(' ',"ghost"),(11,07)
|
|
MONSTER:('&',"horned devil"),(10,05)
|
|
MONSTER:'L',random
|
|
# Some Vampires for good measure
|
|
MONSTER:'V',random
|
|
MONSTER:'V',random
|
|
MONSTER:'V',random
|
|
# Second part
|
|
GEOMETRY:half-right,center
|
|
MAP
|
|
---------------------------------
|
|
................................|
|
|
................................+
|
|
................................|
|
|
---------------------------------
|
|
ENDMAP
|
|
MAZEWALK:(32,02),east
|
|
# Non diggable walls
|
|
NON_DIGGABLE:(00,00,32,04)
|
|
DOOR:closed,(32,02)
|
|
MONSTER:'&',random
|
|
MONSTER:'&',random
|
|
MONSTER:'&',random
|
|
TRAP:"anti magic", random
|
|
TRAP:"fire", random
|
|
TRAP:"magic", random
|
|
|
|
#
|
|
# The Baalzebub level
|
|
#
|
|
MAZE:"baalz",' '
|
|
FLAGS: noteleport,corrmaze
|
|
GEOMETRY:right,center
|
|
# the two pools are fakes used to mark spots which need special wall fixups
|
|
# the two iron bars are eyes and spots to their left will be made diggable
|
|
MAP
|
|
-------------------------------------------------
|
|
| ---- ----
|
|
| ---- | ----------- |
|
|
| ------ | ---------|.........|--P
|
|
| F....| -------|...........--------------
|
|
---....|--|..................S............|----
|
|
+...--....S..----------------|............S...|
|
|
---....|--|..................|............|----
|
|
| F....| -------|...........-----S--------
|
|
| ------ | ---------|.........|--P
|
|
| ---- | ----------- |
|
|
| ---- ----
|
|
-------------------------------------------------
|
|
ENDMAP
|
|
STAIR:levregion(01,00,15,20),levregion(15,1,70,16),up
|
|
BRANCH:levregion(01,00,15,20),levregion(15,1,70,16)
|
|
TELEPORT_REGION:levregion(01,00,15,20),levregion(15,1,70,16)
|
|
# this actually leaves the farthest right column diggable
|
|
NON_DIGGABLE:(00,00,47,12)
|
|
MAZEWALK:(00,06),west
|
|
STAIR:(44,06),down
|
|
DOOR:locked,(00,06)
|
|
IF [50%] {
|
|
TERRAIN:(34,08),'-'
|
|
TERRAIN:(34,04),'S'
|
|
TERRAIN:(29,05),'|'
|
|
TERRAIN:(29,07),'S'
|
|
}
|
|
# The fellow in residence
|
|
MONSTER:('&',"Baalzebub"),(35,06)
|
|
# Some random weapons and armor.
|
|
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
|
|
TRAP:"sleep gas", random
|
|
TRAP:"anti magic", random
|
|
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
|
|
# Some Vampires for good measure
|
|
MONSTER:'V',random
|
|
MONSTER:'V',random
|
|
MONSTER:'V',random
|
|
#
|
|
# The Sanctum Level
|
|
#
|
|
MAZE:"sanctum", ' '
|
|
FLAGS: noteleport,hardfloor,nommap
|
|
# This is outside the main map, below, so we must do it before adding
|
|
# that map and anchoring coordinates to it. This extends the invisible
|
|
# barrier up to the top row, which falls outside the drawn map.
|
|
NON_PASSWALL:(39,00,41,00)
|
|
GEOMETRY:center,center
|
|
MAP
|
|
----------------------------------------------------------------------------
|
|
| -------------- |
|
|
| |............| ------- |
|
|
| -------............----- |.....| |
|
|
| |......................| --.....| --------- |
|
|
| ----......................---------|......---- |.......| |
|
|
| |........---------..........|......+.........| ------+---..| |
|
|
| ---........|.......|..........--S----|.........| |........|..| |
|
|
| |..........|.......|.............| |.........-------..---------- |
|
|
| |..........|.......|..........---- |..........|....|..|......| |
|
|
| |..........|.......|..........| --.......----+---S---S--..| |
|
|
| |..........---------..........| |.......|.............|..| |
|
|
| ---...........................| -----+-------S---------S--- |
|
|
| |...........................| |...| |......| |....|-- |
|
|
| ----.....................---- |...---....--- ---......| |
|
|
| |.....................| |..........| |.....---- |
|
|
| -------...........----- --...------- |.....| |
|
|
| |...........| |...| |.....| |
|
|
| ------------- ----- ------- |
|
|
----------------------------------------------------------------------------
|
|
ENDMAP
|
|
REGION:(15,07,21,10),lit,"temple"
|
|
ALTAR:(18,08),noalign,sanctum
|
|
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
|
|
NON_PASSWALL:(37,00,39,19)
|
|
# Doors
|
|
DOOR:closed,(40,06)
|
|
DOOR:locked,(62,06)
|
|
DOOR:closed,(46,12)
|
|
DOOR:closed,(53,10)
|
|
# Surround the temple with fire
|
|
TRAP:"fire",(13,05)
|
|
TRAP:"fire",(14,05)
|
|
TRAP:"fire",(15,05)
|
|
TRAP:"fire",(16,05)
|
|
TRAP:"fire",(17,05)
|
|
TRAP:"fire",(18,05)
|
|
TRAP:"fire",(19,05)
|
|
TRAP:"fire",(20,05)
|
|
TRAP:"fire",(21,05)
|
|
TRAP:"fire",(22,05)
|
|
TRAP:"fire",(23,05)
|
|
TRAP:"fire",(13,12)
|
|
TRAP:"fire",(14,12)
|
|
TRAP:"fire",(15,12)
|
|
TRAP:"fire",(16,12)
|
|
TRAP:"fire",(17,12)
|
|
TRAP:"fire",(18,12)
|
|
TRAP:"fire",(19,12)
|
|
TRAP:"fire",(20,12)
|
|
TRAP:"fire",(21,12)
|
|
TRAP:"fire",(22,12)
|
|
TRAP:"fire",(23,12)
|
|
TRAP:"fire",(13,06)
|
|
TRAP:"fire",(13,07)
|
|
TRAP:"fire",(13,08)
|
|
TRAP:"fire",(13,09)
|
|
TRAP:"fire",(13,10)
|
|
TRAP:"fire",(13,11)
|
|
TRAP:"fire",(23,06)
|
|
TRAP:"fire",(23,07)
|
|
TRAP:"fire",(23,08)
|
|
TRAP:"fire",(23,09)
|
|
TRAP:"fire",(23,10)
|
|
TRAP:"fire",(23,11)
|
|
# Some traps.
|
|
TRAP:"spiked pit", random
|
|
TRAP:"fire", random
|
|
TRAP:"sleep gas", random
|
|
TRAP:"anti magic", random
|
|
TRAP:"fire", random
|
|
TRAP:"magic", random
|
|
# Some random objects
|
|
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
|
|
# 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
|
|
# A few nasties
|
|
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.
|
|
TELEPORT_REGION:levregion(54,1,79,18),(0,0,0,0),down
|