Source:NetHack 3.6.1/dat/gehennom.des

From NetHackWiki
(Redirected from Gehennom.des)
Jump to: navigation, search

Below is the full text to gehennom.des from the source code of NetHack 3.6.1. To link to a particular line, write [[Source:NetHack 3.6.1/dat/gehennom.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.

  1.  # NetHack 3.6	gehennom.des	$NHDT-Date: 1432512783 2015/05/25 00:13:03 $  $NHDT-Branch: master $:$NHDT-Revision: 1.13 $
  2.  #	Copyright (c) 1989 by Jean-Christophe Collet
  3.  #	Copyright (c) 1992 by M. Stephenson and Izchak Miller
  4.  # NetHack may be freely redistributed.  See license for details.
  5.  #
  6.  
  7.  MAZE: "valley", ' '
  8.  FLAGS: noteleport,hardfloor,nommap
  9.  GEOMETRY:center,center
  10.  MAP
  11.  ----------------------------------------------------------------------------
  12.  |...S.|..|.....|  |.....-|      |................|   |...............| |...|
  13.  |---|.|.--.---.|  |......--- ----..........-----.-----....---........---.-.|
  14.  |   |.|.|..| |.| --........| |.............|   |.......---| |-...........--|
  15.  |   |...S..| |.| |.......-----.......------|   |--------..---......------- |
  16.  |----------- |.| |-......| |....|...-- |...-----................----       |
  17.  |.....S....---.| |.......| |....|...|  |..............-----------          |
  18.  |.....|.|......| |.....--- |......---  |....---.......|                    |
  19.  |.....|.|------| |....--   --....-- |-------- ----....---------------      |
  20.  |.....|--......---BBB-|     |...--  |.......|    |..................|      |
  21.  |..........||........-|    --...|   |.......|    |...||.............|      |
  22.  |.....|...-||-........------....|   |.......---- |...||.............--     |
  23.  |.....|--......---...........--------..........| |.......---------...--    |
  24.  |.....| |------| |--.......--|   |..B......----- -----....| |.|  |....---  |
  25.  |.....| |......--| ------..| |----..B......|       |.--------.-- |-.....---|
  26.  |------ |........|  |.|....| |.....----BBBB---------...........---.........|
  27.  |       |........|  |...|..| |.....|  |-.............--------...........---|
  28.  |       --.....-----------.| |....-----.....----------     |.........----  |
  29.  |        |..|..B...........| |.|..........|.|              |.|........|    |
  30.  ----------------------------------------------------------------------------
  31.  ENDMAP
  32.  
  33.  # Make the path somewhat unpredictable
  34.  # If you get "lucky", you may have to go through all three graveyards.
  35.  IF [50%] {
  36.     TERRAIN:line (50,8),(53,8), '-'
  37.     TERRAIN:line (40,8),(43,8), 'B'
  38.  }
  39.  IF [50%] {
  40.     TERRAIN:(27,12),'|'
  41.     TERRAIN:line (27,3),(29,3), 'B'
  42.     TERRAIN:(28,2), '-'
  43.  }
  44.  IF [50%] {
  45.     TERRAIN:line (16,10),(16,11),'|'
  46.     TERRAIN:line (9,13),(14,13), 'B'
  47.  }
  48.  
  49.  
  50.  # Dungeon Description
  51.  # The shrine to Moloch.
  52.  REGION:(01,06,05,14),lit,"temple"
  53.  # The Morgues
  54.  REGION:(19,01,24,08),unlit,"morgue",filled,irregular
  55.  REGION:(09,14,16,18),unlit,"morgue",filled,irregular
  56.  REGION:(37,09,43,14),unlit,"morgue",filled,irregular
  57.  # Stairs
  58.  STAIR:(01,01),down
  59.  # Branch location
  60.  BRANCH:(66,17,66,17),(0,0,0,0)
  61.  TELEPORT_REGION:(58,09,72,18),(0,0,0,0),down
  62.  
  63.  # Secret Doors
  64.  DOOR:locked,(04,01)
  65.  DOOR:locked,(08,04)
  66.  DOOR:locked,(06,06)
  67.  
  68.  # The altar of Moloch.
  69.  ALTAR:(03,10),noalign,shrine
  70.  
  71.  # Non diggable walls - everywhere!
  72.  NON_DIGGABLE:(00,00,75,19)
  73.  
  74.  # Objects
  75.  # **LOTS** of dead bodies (all human).
  76.  # note: no priest(esse)s or monks - maybe Moloch has a *special*
  77.  #       fate reserved for members of *those* classes.
  78.  #
  79.  OBJECT:('%',"corpse"),random,montype:"archeologist"
  80.  OBJECT:('%',"corpse"),random,montype:"archeologist"
  81.  OBJECT:('%',"corpse"),random,montype:"barbarian"
  82.  OBJECT:('%',"corpse"),random,montype:"barbarian"
  83.  OBJECT:('%',"corpse"),random,montype:"caveman"
  84.  OBJECT:('%',"corpse"),random,montype:"cavewoman"
  85.  OBJECT:('%',"corpse"),random,montype:"healer"
  86.  OBJECT:('%',"corpse"),random,montype:"healer"
  87.  OBJECT:('%',"corpse"),random,montype:"knight"
  88.  OBJECT:('%',"corpse"),random,montype:"knight"
  89.  OBJECT:('%',"corpse"),random,montype:"ranger"
  90.  OBJECT:('%',"corpse"),random,montype:"ranger"
  91.  OBJECT:('%',"corpse"),random,montype:"rogue"
  92.  OBJECT:('%',"corpse"),random,montype:"rogue"
  93.  OBJECT:('%',"corpse"),random,montype:"samurai"
  94.  OBJECT:('%',"corpse"),random,montype:"samurai"
  95.  OBJECT:('%',"corpse"),random,montype:"tourist"
  96.  OBJECT:('%',"corpse"),random,montype:"tourist"
  97.  OBJECT:('%',"corpse"),random,montype:"valkyrie"
  98.  OBJECT:('%',"corpse"),random,montype:"valkyrie"
  99.  OBJECT:('%',"corpse"),random,montype:"wizard"
  100.  OBJECT:('%',"corpse"),random,montype:"wizard"
  101.  #
  102.  # Some random weapons and armor.
  103.  #
  104.  OBJECT:'[',random
  105.  OBJECT:'[',random
  106.  OBJECT:'[',random
  107.  OBJECT:'[',random
  108.  OBJECT:')',random
  109.  OBJECT:')',random
  110.  OBJECT:')',random
  111.  OBJECT:')',random
  112.  #
  113.  # Some random loot.
  114.  #
  115.  OBJECT:('*',"ruby"),random
  116.  OBJECT:'*',random
  117.  OBJECT:'*',random
  118.  OBJECT:'!',random
  119.  OBJECT:'!',random
  120.  OBJECT:'!',random
  121.  OBJECT:'?',random
  122.  OBJECT:'?',random
  123.  OBJECT:'?',random
  124.  OBJECT:'/',random
  125.  OBJECT:'/',random
  126.  OBJECT:'=',random
  127.  OBJECT:'=',random
  128.  OBJECT:'+',random
  129.  OBJECT:'+',random
  130.  OBJECT:'(',random
  131.  OBJECT:'(',random
  132.  OBJECT:'(',random
  133.  
  134.  # (Not so) Random traps.
  135.  TRAP:"spiked pit", (05,02)
  136.  TRAP:"spiked pit", (14,05)
  137.  TRAP:"sleep gas", (03,01)
  138.  TRAP:"board", (21,12)
  139.  TRAP:"board", random
  140.  TRAP:"dart", (60,01)
  141.  TRAP:"dart", (26,17)
  142.  TRAP:"anti magic", random
  143.  TRAP:"anti magic", random
  144.  TRAP:"magic", random
  145.  TRAP:"magic", random
  146.  
  147.  # Random monsters.
  148.  # The ghosts.
  149.  MONSTER:(' ',"ghost"),random
  150.  MONSTER:(' ',"ghost"),random
  151.  MONSTER:(' ',"ghost"),random
  152.  MONSTER:(' ',"ghost"),random
  153.  MONSTER:(' ',"ghost"),random
  154.  MONSTER:(' ',"ghost"),random
  155.  # Add a few bats for atmosphere.
  156.  MONSTER:('B',"vampire bat"),random
  157.  MONSTER:('B',"vampire bat"),random
  158.  MONSTER:('B',"vampire bat"),random
  159.  # And a lich for good measure.
  160.  MONSTER:'L',random
  161.  # Some undead nasties for good measure
  162.  MONSTER:'V',random
  163.  MONSTER:'V',random
  164.  MONSTER:'V',random
  165.  MONSTER:'Z',random
  166.  MONSTER:'Z',random
  167.  MONSTER:'Z',random
  168.  MONSTER:'Z',random
  169.  MONSTER:'M',random
  170.  MONSTER:'M',random
  171.  MONSTER:'M',random
  172.  MONSTER:'M',random
  173.  #
  174.  # The Juiblex level
  175.  #
  176.  MAZE:"juiblex",' '
  177.  FLAGS:noteleport,shortsighted
  178.  INIT_MAP:mines,'.','}',true,true,unlit,false
  179.  # guarantee at least one open spot to ensure successful stair placement
  180.  GEOMETRY:left,bottom
  181.  MAP
  182.  xxxxxxxx
  183.  xx...xxx
  184.  xxx...xx
  185.  xxxx.xxx
  186.  xxxxxxxx
  187.  ENDMAP
  188.  OBJECT:('`',"boulder"),random
  189.  GEOMETRY:right,top
  190.  MAP
  191.  xxxxxxxx
  192.  xxxx.xxx
  193.  xxx...xx
  194.  xx...xxx
  195.  xxxxxxxx
  196.  ENDMAP
  197.  OBJECT:('`',"boulder"),random
  198.  # lair
  199.  GEOMETRY:center,center
  200.  MAP
  201.  xx}}}}}x}}}}}x}}}}}x}}}}}x}}}}}x}}}}}x}}}}}x}}}}}xx
  202.  x}}}.}}}}}..}}}..}}}}}..}}}..}}}}}..}}}..}}}}}.}}}x
  203.  }}}...}}..}}.}.}}.}}.}}}...}}}.}}}..}}}..}}}}...}}}
  204.  x}}}.}}.}}}.}}.}}.}}...}}.}}.....}}.....}....}.}}}x
  205.  xx}}}..}}}.}}.}}.}}..}}.....}}.}}}.}}.}}}}}}}}}}}xx
  206.  x}}}..}}}}}.}}.}}.}}...}}}}}.....}}.}}}}}}.....}}}x
  207.  }}}..}}...}}..}}.}}}.}}}...}}}.}}}.}.}}}}..P.P..}}}
  208.  }}.}}}}...}}}}}.}...}}}..P..}}}.}.}}}.}}}}.....}}}}
  209.  }.}}}}.}}.}..}.}}}}}}}..P.P..}}}.}}}.}}..}}...}}}}x
  210.  x}}}}.}}}}....}}}}}.}}}..P..}}}.}}}}.}}..}}...}}}.}
  211.  }}}}..}}.}}..}}}}...}}}}...}}}.}}}}}.}}}}.}}}}}}.}}
  212.  }}}...}}...}}}..}}}}}}}}}}}}.....}}}}.}}...}..}.}}}
  213.  x}}}..}}.}}}}....}}..}}}..}}.....}}}}.}}}.}....}}}x
  214.  xx}}}.}}}}..}}..}}..}}..}}..}}.}}}..}.}..}}}..}}}xx
  215.  x}}}.}}}}....}}}}..}}....}}}}}}}...}}}....}}}}.}}}x
  216.  }}}...}}}....}}}..}}}....}}}..}}...}}}....}}}...}}}
  217.  x}}}.}}}}}..}}}..}}}}}..}}}..}}}}}..}}}..}}}}}.}}}x
  218.  xx}}}}}x}}}}}x}}}}}x}}}}}x}}}}}x}}}}}x}}}}}x}}}}}xx
  219.  ENDMAP
  220.  # Random registers
  221.  $monster = monster: { 'j','b','P','F' }
  222.  SHUFFLE: $monster
  223.  
  224.  $place = { (04,02),(46,02),(04,15),(46,15) }
  225.  SHUFFLE: $place
  226.  
  227.  # Dungeon description
  228.  REGION:(00,00,50,17),unlit,"swamp"
  229.  MAZEWALK:(00,09),west
  230.  MAZEWALK:(50,08),east
  231.  STAIR:levregion(01,00,11,20),(0,0,50,17),down
  232.  STAIR:levregion(69,00,79,20),(0,0,50,17),up
  233.  BRANCH:levregion(01,00,11,20),(0,0,50,17)
  234.  TELEPORT_REGION:levregion(01,00,11,20),(0,0,50,17),up
  235.  TELEPORT_REGION:levregion(69,00,79,20),(0,0,50,17),down
  236.  FOUNTAIN:$place[0]
  237.  MONSTER:('m',"giant mimic"),$place[1],m_feature "fountain"
  238.  MONSTER:('m',"giant mimic"),$place[2],m_feature "fountain"
  239.  MONSTER:('m',"giant mimic"),$place[3],m_feature "fountain"
  240.  # The demon of the swamp
  241.  MONSTER:('&',"Juiblex"),(25,08)
  242.  # And a couple demons
  243.  MONSTER:('i',"lemure"),(43,08)
  244.  MONSTER:('i',"lemure"),(44,08)
  245.  MONSTER:('i',"lemure"),(45,08)
  246.  # Some liquids and gems
  247.  OBJECT:'*',(43,06)
  248.  OBJECT:'*',(45,06)
  249.  OBJECT:'!',(43,09)
  250.  OBJECT:'!',(44,09)
  251.  OBJECT:'!',(45,09)
  252.  # And lots of blobby monsters
  253.  MONSTER:$monster[0],(25,06)
  254.  MONSTER:$monster[1],(24,07)
  255.  MONSTER:$monster[2],(26,07)
  256.  MONSTER:$monster[3],(23,08)
  257.  MONSTER:$monster[3],(27,08)
  258.  MONSTER:$monster[2],(24,09)
  259.  MONSTER:$monster[1],(26,09)
  260.  MONSTER:$monster[0],(25,10)
  261.  MONSTER:'j',random
  262.  MONSTER:'j',random
  263.  MONSTER:'j',random
  264.  MONSTER:'j',random
  265.  MONSTER:'P',random
  266.  MONSTER:'P',random
  267.  MONSTER:'P',random
  268.  MONSTER:'P',random
  269.  MONSTER:'b',random
  270.  MONSTER:'b',random
  271.  MONSTER:'b',random
  272.  MONSTER:'F',random
  273.  MONSTER:'F',random
  274.  MONSTER:'F',random
  275.  MONSTER:'m',random
  276.  MONSTER:'m',random
  277.  MONSTER:(';',"jellyfish"),random
  278.  MONSTER:(';',"jellyfish"),random
  279.  # Some random objects
  280.  OBJECT:'!',random
  281.  OBJECT:'!',random
  282.  OBJECT:'!',random
  283.  OBJECT:'%',random
  284.  OBJECT:'%',random
  285.  OBJECT:'%',random
  286.  OBJECT:('`',"boulder"),random
  287.  # Some traps
  288.  TRAP:"sleep gas",random
  289.  TRAP:"sleep gas",random
  290.  TRAP:"anti magic",random
  291.  TRAP:"anti magic",random
  292.  TRAP:"magic",random
  293.  TRAP:"magic",random
  294.  #
  295.  # The Orcus Level
  296.  #
  297.  MAZE:"orcus",random
  298.  FLAGS: noteleport,shortsighted
  299.  GEOMETRY:right,center
  300.  # A ghost town
  301.  MAP
  302.  .|....|....|....|..............|....|........
  303.  .|....|....|....|..............|....|........
  304.  .|....|....|....|--...-+-------|.............
  305.  .|....|....|....|..............+.............
  306.  .|.........|....|..............|....|........
  307.  .--+-...-+----+--....-------...--------.-+---
  308.  .....................|.....|.................
  309.  .....................|.....|.................
  310.  .--+----....-+---....|.....|...----------+---
  311.  .|....|....|....|....---+---...|......|......
  312.  .|.........|....|..............|......|......
  313.  .----...---------.....-----....+......|......
  314.  .|........................|....|......|......
  315.  .----------+-...--+--|....|....----------+---
  316.  .|....|..............|....+....|.............
  317.  .|....+.......|......|....|....|.............
  318.  .|....|.......|......|....|....|.............
  319.  ENDMAP
  320.  MAZEWALK:(00,06),west
  321.  # Entire main area
  322.  REGION:(01,00,44,16),unlit,"ordinary"
  323.  STAIR:(33,15),down
  324.  STAIR:levregion(01,00,12,20),levregion(20,01,70,20),up
  325.  BRANCH:levregion(01,00,12,20),levregion(20,01,70,20)
  326.  TELEPORT_REGION:levregion(01,00,12,20),levregion(20,01,70,20)
  327.  # Wall "ruins"
  328.  OBJECT:('`',"boulder"),(19,02)
  329.  OBJECT:('`',"boulder"),(20,02)
  330.  OBJECT:('`',"boulder"),(21,02)
  331.  OBJECT:('`',"boulder"),(36,02)
  332.  OBJECT:('`',"boulder"),(36,03)
  333.  OBJECT:('`',"boulder"),(06,04)
  334.  OBJECT:('`',"boulder"),(05,05)
  335.  OBJECT:('`',"boulder"),(06,05)
  336.  OBJECT:('`',"boulder"),(07,05)
  337.  OBJECT:('`',"boulder"),(39,05)
  338.  OBJECT:('`',"boulder"),(08,08)
  339.  OBJECT:('`',"boulder"),(09,08)
  340.  OBJECT:('`',"boulder"),(10,08)
  341.  OBJECT:('`',"boulder"),(11,08)
  342.  OBJECT:('`',"boulder"),(06,10)
  343.  OBJECT:('`',"boulder"),(05,11)
  344.  OBJECT:('`',"boulder"),(06,11)
  345.  OBJECT:('`',"boulder"),(07,11)
  346.  OBJECT:('`',"boulder"),(21,11)
  347.  OBJECT:('`',"boulder"),(21,12)
  348.  OBJECT:('`',"boulder"),(13,13)
  349.  OBJECT:('`',"boulder"),(14,13)
  350.  OBJECT:('`',"boulder"),(15,13)
  351.  OBJECT:('`',"boulder"),(14,14)
  352.  # Doors
  353.  DOOR:closed,(23,02)
  354.  DOOR:open,(31,03)
  355.  DOOR:nodoor,(03,05)
  356.  DOOR:closed,(09,05)
  357.  DOOR:closed,(14,05)
  358.  DOOR:closed,(41,05)
  359.  DOOR:open,(03,08)
  360.  DOOR:nodoor,(13,08)
  361.  DOOR:open,(41,08)
  362.  DOOR:closed,(24,09)
  363.  DOOR:closed,(31,11)
  364.  DOOR:open,(11,13)
  365.  DOOR:closed,(18,13)
  366.  DOOR:closed,(41,13)
  367.  DOOR:open,(26,14)
  368.  DOOR:closed,(06,15)
  369.  # Special rooms
  370.  ALTAR:(24,07),noalign,sanctum
  371.  REGION:(22,12,25,16),unlit,"morgue"
  372.  REGION:(32,09,37,12),lit,"shop"
  373.  REGION:(12,00,15,04),lit,"shop"
  374.  # Some traps.
  375.  TRAP:"spiked pit", random
  376.  TRAP:"sleep gas", random
  377.  TRAP:"anti magic", random
  378.  TRAP:"fire", random
  379.  TRAP:"fire", random
  380.  TRAP:"fire", random
  381.  TRAP:"magic", random
  382.  TRAP:"magic", random
  383.  # Some random objects
  384.  OBJECT:random,random
  385.  OBJECT:random,random
  386.  OBJECT:random,random
  387.  OBJECT:random,random
  388.  OBJECT:random,random
  389.  OBJECT:random,random
  390.  OBJECT:random,random
  391.  OBJECT:random,random
  392.  OBJECT:random,random
  393.  OBJECT:random,random
  394.  # The resident nasty
  395.  MONSTER:('&',"Orcus"),(33,15)
  396.  # And its preferred companions
  397.  MONSTER:('Z',"human zombie"),(32,15)
  398.  MONSTER:(' ',"shade"),(32,14)
  399.  MONSTER:(' ',"shade"),(32,16)
  400.  MONSTER:('V',"vampire"),(35,16)
  401.  MONSTER:('V',"vampire"),(35,14)
  402.  MONSTER:('V',"vampire lord"),(36,14)
  403.  MONSTER:('V',"vampire lord"),(36,15)
  404.  # Randomly placed companions
  405.  MONSTER:('Z',"skeleton"),random
  406.  MONSTER:('Z',"skeleton"),random
  407.  MONSTER:('Z',"skeleton"),random
  408.  MONSTER:('Z',"skeleton"),random
  409.  MONSTER:('Z',"skeleton"),random
  410.  MONSTER:(' ',"shade"),random
  411.  MONSTER:(' ',"shade"),random
  412.  MONSTER:(' ',"shade"),random
  413.  MONSTER:(' ',"shade"),random
  414.  MONSTER:('Z',"giant zombie"),random
  415.  MONSTER:('Z',"giant zombie"),random
  416.  MONSTER:('Z',"giant zombie"),random
  417.  MONSTER:('Z',"ettin zombie"),random
  418.  MONSTER:('Z',"ettin zombie"),random
  419.  MONSTER:('Z',"ettin zombie"),random
  420.  MONSTER:('Z',"human zombie"),random
  421.  MONSTER:('Z',"human zombie"),random
  422.  MONSTER:('Z',"human zombie"),random
  423.  MONSTER:('V',"vampire"),random
  424.  MONSTER:('V',"vampire"),random
  425.  MONSTER:('V',"vampire"),random
  426.  MONSTER:('V',"vampire lord"),random
  427.  MONSTER:('V',"vampire lord"),random
  428.  # A few more for the party
  429.  MONSTER:random,random
  430.  MONSTER:random,random
  431.  MONSTER:random,random
  432.  MONSTER:random,random
  433.  MONSTER:random,random
  434.  #
  435.  # The Asmodeus Level
  436.  #
  437.  MAZE:"asmodeus",random
  438.  FLAGS: noteleport
  439.  # First part
  440.  GEOMETRY:half-left,center
  441.  MAP
  442.  ---------------------
  443.  |.............|.....|
  444.  |.............S.....|
  445.  |---+------------...|
  446.  |.....|.........|-+--
  447.  |..---|.........|....
  448.  |..|..S.........|....
  449.  |..|..|.........|....
  450.  |..|..|.........|-+--
  451.  |..|..-----------...|
  452.  |..S..........|.....|
  453.  ---------------------
  454.  ENDMAP
  455.  STAIR:levregion(01,00,6,20),levregion(6,1,70,16),up
  456.  BRANCH:levregion(01,00,6,20),levregion(6,1,70,16)
  457.  TELEPORT_REGION:levregion(01,00,6,20),levregion(6,1,70,16)
  458.  
  459.  # Doors
  460.  DOOR:closed,(04,03)
  461.  DOOR:locked,(18,04)
  462.  DOOR:closed,(18,08)
  463.  #
  464.  STAIR:(13,07),down
  465.  # Non diggable walls
  466.  NON_DIGGABLE:(00,00,20,11)
  467.  # Entire main area
  468.  REGION:(01,01,20,10),unlit,"ordinary"
  469.  # The fellow in residence
  470.  MONSTER:('&',"Asmodeus"),(12,07)
  471.  # Some random weapons and armor.
  472.  OBJECT:'[',random
  473.  OBJECT:'[',random
  474.  OBJECT:')',random
  475.  OBJECT:')',random
  476.  OBJECT:'*',random
  477.  OBJECT:'!',random
  478.  OBJECT:'!',random
  479.  OBJECT:'?',random
  480.  OBJECT:'?',random
  481.  OBJECT:'?',random
  482.  # Some traps.
  483.  TRAP:"spiked pit", (05,02)
  484.  TRAP:"fire", (08,06)
  485.  TRAP:"sleep gas", random
  486.  TRAP:"anti magic", random
  487.  TRAP:"fire", random
  488.  TRAP:"magic", random
  489.  TRAP:"magic", random
  490.  # Random monsters.
  491.  MONSTER:(' ',"ghost"),(11,07)
  492.  MONSTER:('&',"horned devil"),(10,05)
  493.  MONSTER:'L',random
  494.  # Some Vampires for good measure
  495.  MONSTER:'V',random
  496.  MONSTER:'V',random
  497.  MONSTER:'V',random
  498.  # Second part
  499.  GEOMETRY:half-right,center
  500.  MAP
  501.  ---------------------------------
  502.  ................................|
  503.  ................................+
  504.  ................................|
  505.  ---------------------------------
  506.  ENDMAP
  507.  MAZEWALK:(32,02),east
  508.  # Non diggable walls
  509.  NON_DIGGABLE:(00,00,32,04)
  510.  DOOR:closed,(32,02)
  511.  MONSTER:'&',random
  512.  MONSTER:'&',random
  513.  MONSTER:'&',random
  514.  TRAP:"anti magic", random
  515.  TRAP:"fire", random
  516.  TRAP:"magic", random
  517.  
  518.  #
  519.  # The Baalzebub level
  520.  #
  521.  MAZE:"baalz",' '
  522.  FLAGS: noteleport,corrmaze
  523.  GEOMETRY:right,center
  524.  # the two pools are fakes used to mark spots which need special wall fixups
  525.  # the two iron bars are eyes and spots to their left will be made diggable
  526.  MAP
  527.  -------------------------------------------------
  528.  |                   ----               ----      
  529.  |          ----     |     -----------  |         
  530.  | ------      |  ---------|.........|--P         
  531.  | F....|  -------|...........--------------      
  532.  ---....|--|..................S............|----  
  533.  +...--....S..----------------|............S...|  
  534.  ---....|--|..................|............|----  
  535.  | F....|  -------|...........-----S--------      
  536.  | ------      |  ---------|.........|--P         
  537.  |          ----     |     -----------  |         
  538.  |                   ----               ----      
  539.  -------------------------------------------------
  540.  ENDMAP
  541.  STAIR:levregion(01,00,15,20),levregion(15,1,70,16),up
  542.  BRANCH:levregion(01,00,15,20),levregion(15,1,70,16)
  543.  TELEPORT_REGION:levregion(01,00,15,20),levregion(15,1,70,16)
  544.  # this actually leaves the farthest right column diggable
  545.  NON_DIGGABLE:(00,00,47,12)
  546.  MAZEWALK:(00,06),west
  547.  STAIR:(44,06),down
  548.  DOOR:locked,(00,06)
  549.  IF [50%] {
  550.     TERRAIN:(34,08),'-'
  551.     TERRAIN:(34,04),'S'
  552.     TERRAIN:(29,05),'|'
  553.     TERRAIN:(29,07),'S'
  554.  }
  555.  # The fellow in residence
  556.  MONSTER:('&',"Baalzebub"),(35,06)
  557.  # Some random weapons and armor.
  558.  OBJECT:'[',random
  559.  OBJECT:'[',random
  560.  OBJECT:')',random
  561.  OBJECT:')',random
  562.  OBJECT:'*',random
  563.  OBJECT:'!',random
  564.  OBJECT:'!',random
  565.  OBJECT:'?',random
  566.  OBJECT:'?',random
  567.  OBJECT:'?',random
  568.  # Some traps.
  569.  TRAP:"spiked pit", random
  570.  TRAP:"fire", random
  571.  TRAP:"sleep gas", random
  572.  TRAP:"anti magic", random
  573.  TRAP:"fire", random
  574.  TRAP:"magic", random
  575.  TRAP:"magic", random
  576.  # Random monsters.
  577.  MONSTER:(' ',"ghost"),(37,07)
  578.  MONSTER:('&',"horned devil"),(32,05)
  579.  MONSTER:('&',"barbed devil"),(38,07)
  580.  MONSTER:'L',random
  581.  # Some Vampires for good measure
  582.  MONSTER:'V',random
  583.  MONSTER:'V',random
  584.  MONSTER:'V',random
  585.  #
  586.  # The Sanctum Level
  587.  #
  588.  MAZE:"sanctum", ' '
  589.  FLAGS: noteleport,hardfloor,nommap
  590.  # This is outside the main map, below, so we must do it before adding
  591.  # that map and anchoring coordinates to it. This extends the invisible
  592.  # barrier up to the top row, which falls outside the drawn map.
  593.  NON_PASSWALL:(39,00,41,00)
  594.  GEOMETRY:center,center
  595.  MAP
  596.  ----------------------------------------------------------------------------
  597.  |             --------------                                               |
  598.  |             |............|             -------                           |
  599.  |       -------............-----         |.....|                           |
  600.  |       |......................|        --.....|            ---------      |
  601.  |    ----......................---------|......----         |.......|      |
  602.  |    |........---------..........|......+.........|     ------+---..|      |
  603.  |  ---........|.......|..........--S----|.........|     |........|..|      |
  604.  |  |..........|.......|.............|   |.........-------..----------      |
  605.  |  |..........|.......|..........----   |..........|....|..|......|        |
  606.  |  |..........|.......|..........|      --.......----+---S---S--..|        |
  607.  |  |..........---------..........|       |.......|.............|..|        |
  608.  |  ---...........................|       -----+-------S---------S---       |
  609.  |    |...........................|          |...| |......|    |....|--     |
  610.  |    ----.....................----          |...---....---  ---......|     |
  611.  |       |.....................|             |..........|    |.....----     |
  612.  |       -------...........-----             --...-------    |.....|        |
  613.  |             |...........|                  |...|          |.....|        |
  614.  |             -------------                  -----          -------        |
  615.  ----------------------------------------------------------------------------
  616.  ENDMAP
  617.  REGION:(15,07,21,10),lit,"temple"
  618.  ALTAR:(18,08),noalign,sanctum
  619.  REGION:(41,06,48,11),unlit,"morgue",filled,irregular
  620.  # Non diggable walls
  621.  NON_DIGGABLE:(00,00,75,19)
  622.  # Invisible barrier separating the left & right halves of the level
  623.  NON_PASSWALL:(37,00,39,19)
  624.  # Doors
  625.  DOOR:closed,(40,06)
  626.  DOOR:locked,(62,06)
  627.  DOOR:closed,(46,12)
  628.  DOOR:closed,(53,10)
  629.  # Surround the temple with fire
  630.  TRAP:"fire",(13,05)
  631.  TRAP:"fire",(14,05)
  632.  TRAP:"fire",(15,05)
  633.  TRAP:"fire",(16,05)
  634.  TRAP:"fire",(17,05)
  635.  TRAP:"fire",(18,05)
  636.  TRAP:"fire",(19,05)
  637.  TRAP:"fire",(20,05)
  638.  TRAP:"fire",(21,05)
  639.  TRAP:"fire",(22,05)
  640.  TRAP:"fire",(23,05)
  641.  TRAP:"fire",(13,12)
  642.  TRAP:"fire",(14,12)
  643.  TRAP:"fire",(15,12)
  644.  TRAP:"fire",(16,12)
  645.  TRAP:"fire",(17,12)
  646.  TRAP:"fire",(18,12)
  647.  TRAP:"fire",(19,12)
  648.  TRAP:"fire",(20,12)
  649.  TRAP:"fire",(21,12)
  650.  TRAP:"fire",(22,12)
  651.  TRAP:"fire",(23,12)
  652.  TRAP:"fire",(13,06)
  653.  TRAP:"fire",(13,07)
  654.  TRAP:"fire",(13,08)
  655.  TRAP:"fire",(13,09)
  656.  TRAP:"fire",(13,10)
  657.  TRAP:"fire",(13,11)
  658.  TRAP:"fire",(23,06)
  659.  TRAP:"fire",(23,07)
  660.  TRAP:"fire",(23,08)
  661.  TRAP:"fire",(23,09)
  662.  TRAP:"fire",(23,10)
  663.  TRAP:"fire",(23,11)
  664.  # Some traps.
  665.  TRAP:"spiked pit", random
  666.  TRAP:"fire", random
  667.  TRAP:"sleep gas", random
  668.  TRAP:"anti magic", random
  669.  TRAP:"fire", random
  670.  TRAP:"magic", random
  671.  # Some random objects
  672.  OBJECT:'[',random
  673.  OBJECT:'[',random
  674.  OBJECT:'[',random
  675.  OBJECT:'[',random
  676.  OBJECT:')',random
  677.  OBJECT:')',random
  678.  OBJECT:'*',random
  679.  OBJECT:'!',random
  680.  OBJECT:'!',random
  681.  OBJECT:'!',random
  682.  OBJECT:'!',random
  683.  OBJECT:'?',random
  684.  OBJECT:'?',random
  685.  OBJECT:'?',random
  686.  OBJECT:'?',random
  687.  OBJECT:'?',random
  688.  # Some monsters.
  689.  MONSTER:('&',"horned devil"),(14,12),hostile
  690.  MONSTER:('&',"barbed devil"),(18,08),hostile
  691.  MONSTER:('&',"erinys"),(10,04),hostile
  692.  MONSTER:('&',"marilith"),(07,09),hostile
  693.  MONSTER:('&',"nalfeshnee"),(27,08),hostile
  694.  # Moloch's horde
  695.  MONSTER:('@',"aligned priest"),(20,03),noalign,hostile
  696.  MONSTER:('@',"aligned priest"),(15,04),noalign,hostile
  697.  MONSTER:('@',"aligned priest"),(11,05),noalign,hostile
  698.  MONSTER:('@',"aligned priest"),(11,07),noalign,hostile
  699.  MONSTER:('@',"aligned priest"),(11,09),noalign,hostile
  700.  MONSTER:('@',"aligned priest"),(11,12),noalign,hostile
  701.  MONSTER:('@',"aligned priest"),(15,13),noalign,hostile
  702.  MONSTER:('@',"aligned priest"),(17,13),noalign,hostile
  703.  MONSTER:('@',"aligned priest"),(21,13),noalign,hostile
  704.  # A few nasties
  705.  MONSTER:'L',random
  706.  MONSTER:'L',random
  707.  MONSTER:'V',random
  708.  MONSTER:'V',random
  709.  MONSTER:'V',random
  710.  STAIR:(63,15),up
  711.  # Teleporting to this level is allowed after the invocation creates its
  712.  # entrance.  Force arrival in that case to be on rightmost third of level.
  713.  TELEPORT_REGION:levregion(54,1,79,18),(0,0,0,0),down