Difference between revisions of "Source:NetHack 3.6.0/dat/sokoban.des"

From NetHackWiki
Jump to navigation Jump to search
(Created page with "__MIXEDSYNTAXHIGHLIGHT__ Below is the full text to '''sokoban.des''' from the source code of NetHack 3.6.0. To link to a particular line, wri...")
 
(Make the section links appear at the top in the same manner as the 3.4.3 page)
 
(One intermediate revision by the same user not shown)
Line 2: Line 2:
 
Below is the full text to '''sokoban.des''' from the [[NetHack 3.6.0 source code|source code]] of [[NetHack 3.6.0]]. To link to a particular line, write [[Source:NetHack 3.6.0/dat/sokoban.des#line123|<nowiki>[[Source:NetHack 3.6.0/dat/sokoban.des#line123]]</nowiki>]], for example.
 
Below is the full text to '''sokoban.des''' from the [[NetHack 3.6.0 source code|source code]] of [[NetHack 3.6.0]]. To link to a particular line, write [[Source:NetHack 3.6.0/dat/sokoban.des#line123|<nowiki>[[Source:NetHack 3.6.0/dat/sokoban.des#line123]]</nowiki>]], for example.
  
{{NGPL}}
+
== License ==
 
  <span id="line1">1.    # NetHack 3.6 sokoban.des $NHDT-Date: 1432512784 2015/05/25 00:13:04 $  $NHDT-Branch: master $:$NHDT-Revision: 1.13 $</span>
 
  <span id="line1">1.    # NetHack 3.6 sokoban.des $NHDT-Date: 1432512784 2015/05/25 00:13:04 $  $NHDT-Branch: master $:$NHDT-Revision: 1.13 $</span>
 
  <span id="line2">2.    # Copyright (c) 1998-1999 by Kevin Hugo</span>
 
  <span id="line2">2.    # Copyright (c) 1998-1999 by Kevin Hugo</span>
 
  <span id="line3">3.    # NetHack may be freely redistributed.  See license for details.</span>
 
  <span id="line3">3.    # NetHack may be freely redistributed.  See license for details.</span>
 +
 +
{{NGPL}}
 +
 
  <span id="line4">4.    #</span>
 
  <span id="line4">4.    #</span>
 
  <span id="line5">5.    # In case you haven't played the game Sokoban, you'll learn</span>
 
  <span id="line5">5.    # In case you haven't played the game Sokoban, you'll learn</span>
Line 36: Line 39:
 
  <span id="line32">32.  </span>
 
  <span id="line32">32.  </span>
 
  <span id="line33">33.  </span>
 
  <span id="line33">33.  </span>
 +
== First level ==
 +
=== Variant 1 ===
 
  <span id="line34">34.  ### Bottom (first) level of Sokoban ###</span>
 
  <span id="line34">34.  ### Bottom (first) level of Sokoban ###</span>
 
  <span id="line35">35.  MAZE:"soko4-1",' '</span>
 
  <span id="line35">35.  MAZE:"soko4-1",' '</span>
Line 100: Line 105:
 
  <span id="line96">96.  </span>
 
  <span id="line96">96.  </span>
 
  <span id="line97">97.  </span>
 
  <span id="line97">97.  </span>
 +
 +
=== Variant 2 ===
 
  <span id="line98">98.  MAZE:"soko4-2",' '</span>
 
  <span id="line98">98.  MAZE:"soko4-2",' '</span>
 
  <span id="line99">99.  FLAGS:noteleport,hardfloor,premapped,solidify</span>
 
  <span id="line99">99.  FLAGS:noteleport,hardfloor,premapped,solidify</span>
Line 164: Line 171:
 
  <span id="line160">160.  </span>
 
  <span id="line160">160.  </span>
 
  <span id="line161">161.  </span>
 
  <span id="line161">161.  </span>
 +
 +
== Second level ==
 +
=== Variant 1 ===
 
  <span id="line162">162.  ### Second level ###</span>
 
  <span id="line162">162.  ### Second level ###</span>
 
  <span id="line163">163.  MAZE:"soko3-1",' '</span>
 
  <span id="line163">163.  MAZE:"soko3-1",' '</span>
Line 241: Line 251:
 
  <span id="line237">237.  </span>
 
  <span id="line237">237.  </span>
 
  <span id="line238">238.  </span>
 
  <span id="line238">238.  </span>
 +
 +
=== Variant 2 ===
 
  <span id="line239">239.  MAZE:"soko3-2",' '</span>
 
  <span id="line239">239.  MAZE:"soko3-2",' '</span>
 
  <span id="line240">240.  FLAGS:noteleport,premapped,solidify</span>
 
  <span id="line240">240.  FLAGS:noteleport,premapped,solidify</span>
Line 309: Line 321:
 
  <span id="line305">305.  </span>
 
  <span id="line305">305.  </span>
 
  <span id="line306">306.  </span>
 
  <span id="line306">306.  </span>
 +
 +
== Third level ==
 +
=== Variant 1 ===
 
  <span id="line307">307.  ### Third level ###</span>
 
  <span id="line307">307.  ### Third level ###</span>
 
  <span id="line308">308.  MAZE:"soko2-1",' '</span>
 
  <span id="line308">308.  MAZE:"soko2-1",' '</span>
Line 375: Line 390:
 
  <span id="line371">371.  </span>
 
  <span id="line371">371.  </span>
 
  <span id="line372">372.  </span>
 
  <span id="line372">372.  </span>
 +
 +
=== Variant 2 ===
 
  <span id="line373">373.  MAZE:"soko2-2",' '</span>
 
  <span id="line373">373.  MAZE:"soko2-2",' '</span>
 
  <span id="line374">374.  FLAGS:noteleport,premapped,solidify</span>
 
  <span id="line374">374.  FLAGS:noteleport,premapped,solidify</span>
Line 441: Line 458:
 
  <span id="line437">437.  </span>
 
  <span id="line437">437.  </span>
 
  <span id="line438">438.  </span>
 
  <span id="line438">438.  </span>
 +
 +
== Top level ==
 +
=== Variant 1 ===
 
  <span id="line439">439.  ### Top (last) level of Sokoban ###</span>
 
  <span id="line439">439.  ### Top (last) level of Sokoban ###</span>
 
  <span id="line440">440.  MAZE:"soko1-1",' '</span>
 
  <span id="line440">440.  MAZE:"soko1-1",' '</span>
Line 541: Line 561:
 
  <span id="line537">537.  </span>
 
  <span id="line537">537.  </span>
 
  <span id="line538">538.  </span>
 
  <span id="line538">538.  </span>
 +
 +
=== Variant 2 ===
 
  <span id="line539">539.  MAZE:"soko1-2",' '</span>
 
  <span id="line539">539.  MAZE:"soko1-2",' '</span>
 
  <span id="line540">540.  FLAGS:noteleport,premapped,solidify</span>
 
  <span id="line540">540.  FLAGS:noteleport,premapped,solidify</span>

Latest revision as of 20:23, 29 December 2015

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

License

# NetHack 3.6	sokoban.des	$NHDT-Date: 1432512784 2015/05/25 00:13:04 $  $NHDT-Branch: master $:$NHDT-Revision: 1.13 $
#	Copyright (c) 1998-1999 by Kevin Hugo
# NetHack may be freely redistributed.  See license for details.

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.

#
# In case you haven't played the game Sokoban, you'll learn
# quickly.  This branch isn't particularly difficult, just time
# consuming.  Some players may wish to skip this branch.
#
# The following actions are currently permitted without penalty:
#   Carrying or throwing a boulder already in inventory
#     (player or nonplayer).
#   Teleporting boulders.
#   Digging in the floor.
# The following actions are permitted, but with a luck penalty:
#   Breaking boulders.
#   Stone-to-fleshing boulders.
#   Creating new boulders (e.g., with a scroll of earth).
#   Jumping.
#   Being pulled by a thrown iron ball.
#   Hurtling through the air from Newton's 3rd law.
#   Squeezing past boulders when naked or as a giant.
# These actions are not permitted:
#   Moving diagonally between two boulders and/or walls.
#   Pushing a boulder diagonally.
#   Picking up boulders (player or nonplayer).
#   Digging or walking through walls.
#   Teleporting within levels or between levels of this branch.
#   Using cursed potions of gain level.
#   Escaping a pit/hole (e.g., by flying, levitation, or
#     passing a dexterity check).
#   Bones files are not permitted.

First level

Variant 1

### Bottom (first) level of Sokoban ###
MAZE:"soko4-1",' '
FLAGS:noteleport,hardfloor,premapped,solidify
GEOMETRY:center,center
#12345678901234567890123456789012345678901234567890
MAP
------  ----- 
|....|  |...| 
|....----...| 
|...........| 
|..|-|.|-|..| 
---------|.---
|......|.....|
|..----|.....|
--.|   |.....|
|.|---|.....|
|...........|
|..|---------
----         
ENDMAP
BRANCH:(06,04,06,04),(0,0,0,0)
STAIR:(06,06),up
REGION:(00,00,13,12),lit,"ordinary"
NON_DIGGABLE:(00,00,13,12)
NON_PASSWALL:(00,00,13,12)

# Boulders
OBJECT:('`',"boulder"),(02,02)
OBJECT:('`',"boulder"),(02,03)
#
OBJECT:('`',"boulder"),(10,02)
OBJECT:('`',"boulder"),(09,03)
OBJECT:('`',"boulder"),(10,04)
#
OBJECT:('`',"boulder"),(08,07)
OBJECT:('`',"boulder"),(09,08)
OBJECT:('`',"boulder"),(09,09)
OBJECT:('`',"boulder"),(08,10)
OBJECT:('`',"boulder"),(10,10)

# Traps
TRAP:"pit",(03,06)
TRAP:"pit",(04,06)
TRAP:"pit",(05,06)
TRAP:"pit",(02,08)
TRAP:"pit",(02,09)
TRAP:"pit",(04,10)
TRAP:"pit",(05,10)
TRAP:"pit",(06,10)
TRAP:"pit",(07,10)

# A little help
OBJECT:('?',"earth"),(02,11)
OBJECT:('?',"earth"),(03,11)

# Random objects
OBJECT:'%',random
OBJECT:'%',random
OBJECT:'%',random
OBJECT:'%',random
OBJECT:'=',random
OBJECT:'/',random

Variant 2

MAZE:"soko4-2",' '
FLAGS:noteleport,hardfloor,premapped,solidify
GEOMETRY:center,center
#12345678901234567890123456789012345678901234567890
MAP
-------- ------
|.|....|-|....|
|.|-..........|
|.||....|.....|
|.||....|.....|
|.|-----|.-----
|.|    |......|
|.-----|......|
|.............|
|..|---|......|
----   --------
ENDMAP
BRANCH:(03,01,03,01),(0,0,0,0)
STAIR:(01,01),up
REGION:(00,00,14,10),lit,"ordinary"
NON_DIGGABLE:(00,00,14,10)
NON_PASSWALL:(00,00,14,10)

# Boulders
OBJECT:('`',"boulder"),(05,02)
OBJECT:('`',"boulder"),(06,02)
OBJECT:('`',"boulder"),(06,03)
OBJECT:('`',"boulder"),(07,03)
#
OBJECT:('`',"boulder"),(09,05)
OBJECT:('`',"boulder"),(10,03)
OBJECT:('`',"boulder"),(11,02)
OBJECT:('`',"boulder"),(12,03)
#
OBJECT:('`',"boulder"),(07,08)
OBJECT:('`',"boulder"),(08,08)
OBJECT:('`',"boulder"),(09,08)
OBJECT:('`',"boulder"),(10,08)

# Traps
TRAP:"pit",(01,02)
TRAP:"pit",(01,03)
TRAP:"pit",(01,04)
TRAP:"pit",(01,05)
TRAP:"pit",(01,06)
TRAP:"pit",(01,07)
TRAP:"pit",(03,08)
TRAP:"pit",(04,08)
TRAP:"pit",(05,08)
TRAP:"pit",(06,08)

# A little help
OBJECT:('?',"earth"),(01,09)
OBJECT:('?',"earth"),(02,09)

# Random objects
OBJECT:'%',random
OBJECT:'%',random
OBJECT:'%',random
OBJECT:'%',random
OBJECT:'=',random
OBJECT:'/',random

Second level

Variant 1

### Second level ###
MAZE:"soko3-1",' '
FLAGS:noteleport,premapped,solidify
GEOMETRY:center,center
#12345678901234567890123456789012345678901234567890
MAP
-----------       -----------
|....|....|--     |.........|
|....|......|     |.........|
|.........|--     |.........|
|....|....|       |.........|
|-.---------      |.........|
|....|.....|      |.........|
|....|.....|      |.........|
|..........|      |.........|
|....|.....|---------------+|
|....|......................|
-----------------------------
ENDMAP
STAIR:(11,02),down
STAIR:(23,04),up
DOOR:locked,(27,09)
REGION:(00,00,28,11),lit,"ordinary"
NON_DIGGABLE:(00,00,28,11)
NON_PASSWALL:(00,00,28,11)

# Boulders
OBJECT:('`',"boulder"),(03,02)
OBJECT:('`',"boulder"),(04,02)
#
OBJECT:('`',"boulder"),(06,02)
OBJECT:('`',"boulder"),(06,03)
OBJECT:('`',"boulder"),(07,02)
#
OBJECT:('`',"boulder"),(03,06)
OBJECT:('`',"boulder"),(02,07)
OBJECT:('`',"boulder"),(03,07)
OBJECT:('`',"boulder"),(03,08)
OBJECT:('`',"boulder"),(02,09)
OBJECT:('`',"boulder"),(03,09)
OBJECT:('`',"boulder"),(04,09)
#
OBJECT:('`',"boulder"),(06,07)
OBJECT:('`',"boulder"),(06,09)
OBJECT:('`',"boulder"),(08,07)
OBJECT:('`',"boulder"),(08,10)
OBJECT:('`',"boulder"),(09,08)
OBJECT:('`',"boulder"),(09,09)
OBJECT:('`',"boulder"),(10,07)
OBJECT:('`',"boulder"),(10,10)

# Traps
TRAP:"hole",(12,10)
TRAP:"hole",(13,10)
TRAP:"hole",(14,10)
TRAP:"hole",(15,10)
TRAP:"hole",(16,10)
TRAP:"hole",(17,10)
TRAP:"hole",(18,10)
TRAP:"hole",(19,10)
TRAP:"hole",(20,10)
TRAP:"hole",(21,10)
TRAP:"hole",(22,10)
TRAP:"hole",(23,10)
TRAP:"hole",(24,10)
TRAP:"hole",(25,10)
TRAP:"hole",(26,10)

# Random objects
OBJECT:'%',random
OBJECT:'%',random
OBJECT:'%',random
OBJECT:'%',random
OBJECT:'=',random
OBJECT:'/',random

Variant 2

MAZE:"soko3-2",' '
FLAGS:noteleport,premapped,solidify
GEOMETRY:center,center
#12345678901234567890123456789012345678901234567890
MAP
----          -----------
-|..|-------   |.........|
|..........|   |.........|
|..-----.-.|   |.........|
|..|...|...|   |.........|
|.........-|   |.........|
|.......|..|   |.........|
|.----..--.|   |.........|
|........|.--  |.........|
|.---.-.....------------+|
|...|...-................|
|.........----------------
----|..|..|               
-------               
ENDMAP
STAIR:(03,01),down
STAIR:(20,04),up
DOOR:locked,(24,09)
REGION:(00,00,25,13),lit,"ordinary"
NON_DIGGABLE:(00,00,25,13)
NON_PASSWALL:(00,00,25,13)

# Boulders
OBJECT:('`',"boulder"),(02,03)
OBJECT:('`',"boulder"),(08,03)
OBJECT:('`',"boulder"),(09,04)
OBJECT:('`',"boulder"),(02,05)
OBJECT:('`',"boulder"),(04,05)
OBJECT:('`',"boulder"),(09,05)
OBJECT:('`',"boulder"),(02,06)
OBJECT:('`',"boulder"),(05,06)
OBJECT:('`',"boulder"),(06,07)
OBJECT:('`',"boulder"),(03,08)
OBJECT:('`',"boulder"),(07,08)
OBJECT:('`',"boulder"),(05,09)
OBJECT:('`',"boulder"),(10,09)
OBJECT:('`',"boulder"),(07,10)
OBJECT:('`',"boulder"),(10,10)
OBJECT:('`',"boulder"),(03,11)

# Traps
TRAP:"hole",(12,10)
TRAP:"hole",(13,10)
TRAP:"hole",(14,10)
TRAP:"hole",(15,10)
TRAP:"hole",(16,10)
TRAP:"hole",(17,10)
TRAP:"hole",(18,10)
TRAP:"hole",(19,10)
TRAP:"hole",(20,10)
TRAP:"hole",(21,10)
TRAP:"hole",(22,10)
TRAP:"hole",(23,10)

# Random objects
OBJECT:'%',random
OBJECT:'%',random
OBJECT:'%',random
OBJECT:'%',random
OBJECT:'=',random
OBJECT:'/',random

Third level

Variant 1

### Third level ###
MAZE:"soko2-1",' '
FLAGS:noteleport,premapped,solidify
GEOMETRY:center,center
#12345678901234567890123456789012345678901234567890
MAP
--------------------
|........|...|.....|
|.....-..|.-.|.....|
|..|.....|...|.....|
|-.|..-..|.-.|.....|
|...--.......|.....|
|...|...-...-|.....|
|...|..|...--|.....|
|-..|..|----------+|
|..................|
|...|..|------------
--------            
ENDMAP
STAIR:(06,10),down
STAIR:(16,04),up
DOOR:locked,(18,08)
REGION:(00,00,19,11),lit,"ordinary"
NON_DIGGABLE:(00,00,19,11)
NON_PASSWALL:(00,00,19,11)

# Boulders
OBJECT:('`',"boulder"),(02,02)
OBJECT:('`',"boulder"),(03,02)
#
OBJECT:('`',"boulder"),(05,03)
OBJECT:('`',"boulder"),(07,03)
OBJECT:('`',"boulder"),(07,02)
OBJECT:('`',"boulder"),(08,02)
#
OBJECT:('`',"boulder"),(10,03)
OBJECT:('`',"boulder"),(11,03)
#
OBJECT:('`',"boulder"),(02,07)
OBJECT:('`',"boulder"),(02,08)
OBJECT:('`',"boulder"),(03,09)
#
OBJECT:('`',"boulder"),(05,07)
OBJECT:('`',"boulder"),(06,06)

# Traps
TRAP:"hole",(08,09)
TRAP:"hole",(09,09)
TRAP:"hole",(10,09)
TRAP:"hole",(11,09)
TRAP:"hole",(12,09)
TRAP:"hole",(13,09)
TRAP:"hole",(14,09)
TRAP:"hole",(15,09)
TRAP:"hole",(16,09)
TRAP:"hole",(17,09)

# Random objects
OBJECT:'%',random
OBJECT:'%',random
OBJECT:'%',random
OBJECT:'%',random
OBJECT:'=',random
OBJECT:'/',random

Variant 2

MAZE:"soko2-2",' '
FLAGS:noteleport,premapped,solidify
GEOMETRY:center,center
#12345678901234567890123456789012345678901234567890
MAP
--------          
--|.|....|          
|........|----------
|.-...-..|.|.......|
|...-......|.......|
|.-....|...|.......|
|....-.--.-|.......|
|..........|.......|
|.--...|...|.......|
|....-.|---|.......|
--|....|----------+|
|................|
------------------
ENDMAP
STAIR:(06,11),down
STAIR:(15,06),up
DOOR:locked,(18,10)
REGION:(00,00,19,12),lit,"ordinary"
NON_DIGGABLE:(00,00,19,12)
NON_PASSWALL:(00,00,19,12)

# Boulders
OBJECT:('`',"boulder"),(04,02)
OBJECT:('`',"boulder"),(04,03)
OBJECT:('`',"boulder"),(05,03)
OBJECT:('`',"boulder"),(07,03)
OBJECT:('`',"boulder"),(08,03)
OBJECT:('`',"boulder"),(02,04)
OBJECT:('`',"boulder"),(03,04)
OBJECT:('`',"boulder"),(05,05)
OBJECT:('`',"boulder"),(06,06)
OBJECT:('`',"boulder"),(09,06)
OBJECT:('`',"boulder"),(03,07)
OBJECT:('`',"boulder"),(04,07)
OBJECT:('`',"boulder"),(07,07)
OBJECT:('`',"boulder"),(06,09)
OBJECT:('`',"boulder"),(05,10)
OBJECT:('`',"boulder"),(05,11)

# Traps
TRAP:"hole",(07,11)
TRAP:"hole",(08,11)
TRAP:"hole",(09,11)
TRAP:"hole",(10,11)
TRAP:"hole",(11,11)
TRAP:"hole",(12,11)
TRAP:"hole",(13,11)
TRAP:"hole",(14,11)
TRAP:"hole",(15,11)
TRAP:"hole",(16,11)
TRAP:"hole",(17,11)

# Random objects
OBJECT:'%',random
OBJECT:'%',random
OBJECT:'%',random
OBJECT:'%',random
OBJECT:'=',random
OBJECT:'/',random

Top level

Variant 1

### Top (last) level of Sokoban ###
MAZE:"soko1-1",' '
FLAGS:noteleport,premapped,solidify
GEOMETRY:center,center
#12345678901234567890123456789012345678901234567890
MAP
--------------------------
|........................|
|.......|---------------.|
-------.------         |.|
|...........|         |.|
|...........|         |.|
--------.-----         |.|
|............|         |.|
|............|         |.|
-----.--------   ------|.|
|..........|  --|.....|.|
|..........|  |.+.....|.|
|.........|-  |-|.....|.|
-------.----   |.+.....+.|
|........|     |-|.....|--
|........|     |.+.....|  
|...|-----     --|.....|  
-----            -------  
ENDMAP
$place = { (16,11),(16,13),(16,15) }
SHUFFLE: $place

STAIR:(01,01),down
REGION:(00,00,25,17),lit,"ordinary"
NON_DIGGABLE:(00,00,25,17)
NON_PASSWALL:(00,00,25,17)

# Boulders
OBJECT:('`',"boulder"),(03,05)
OBJECT:('`',"boulder"),(05,05)
OBJECT:('`',"boulder"),(07,05)
OBJECT:('`',"boulder"),(09,05)
OBJECT:('`',"boulder"),(11,05)
#
OBJECT:('`',"boulder"),(04,07)
OBJECT:('`',"boulder"),(04,08)
OBJECT:('`',"boulder"),(06,07)
OBJECT:('`',"boulder"),(09,07)
OBJECT:('`',"boulder"),(11,07)
#
OBJECT:('`',"boulder"),(03,12)
OBJECT:('`',"boulder"),(04,10)
OBJECT:('`',"boulder"),(05,12)
OBJECT:('`',"boulder"),(06,10)
OBJECT:('`',"boulder"),(07,11)
OBJECT:('`',"boulder"),(08,10)
OBJECT:('`',"boulder"),(09,12)
#
OBJECT:('`',"boulder"),(03,14)

# Traps
TRAP:"hole",(08,01)
TRAP:"hole",(09,01)
TRAP:"hole",(10,01)
TRAP:"hole",(11,01)
TRAP:"hole",(12,01)
TRAP:"hole",(13,01)
TRAP:"hole",(14,01)
TRAP:"hole",(15,01)
TRAP:"hole",(16,01)
TRAP:"hole",(17,01)
TRAP:"hole",(18,01)
TRAP:"hole",(19,01)
TRAP:"hole",(20,01)
TRAP:"hole",(21,01)
TRAP:"hole",(22,01)
TRAP:"hole",(23,01)

MONSTER:('m',"giant mimic"), random, m_object "boulder"
MONSTER:('m',"giant mimic"), random, m_object "boulder"

# Random objects
OBJECT:'%',random
OBJECT:'%',random
OBJECT:'%',random
OBJECT:'%',random
OBJECT:'=',random
OBJECT:'/',random

# Rewards
DOOR:locked,(23,13)
DOOR:closed,(17,11)
DOOR:closed,(17,13)
DOOR:closed,(17,15)
REGION:(18,10,22,16),lit,"zoo",filled,irregular
IF [50%] {
OBJECT:('(',"bag of holding"),$place[0]
} ELSE {
OBJECT:('"',"amulet of reflection"),$place[0]
}
ENGRAVING:$place[0],burn,"Elbereth"
OBJECT:('?', "scare monster"),$place[0],cursed

Variant 2

MAZE:"soko1-2",' '
FLAGS:noteleport,premapped,solidify
GEOMETRY:center,center
#12345678901234567890123456789012345678901234567890
MAP
------------------------
|......................|
|..-------------------.|
----.|    -----        |.|
|..|.--  --...|        |.|
|.....|--|....|        |.|
|.....|..|....|        |.|
--....|......--        |.|
|.......|...|   ------|.|
|....|..|...| --|.....|.|
|....|--|...| |.+.....|.|
|.......|..-- |-|.....|.|
----....|.--  |.+.....+.|
---.--.|   |-|.....|--
|.....|   |.+.....|  
|..|..|   --|.....|  
-------     -------  
ENDMAP
$place = { (16,10),(16,12),(16,14) }
SHUFFLE: $place

STAIR:(06,15),down
REGION:(00,00,25,16),lit,"ordinary"
NON_DIGGABLE:(00,00,25,16)
NON_PASSWALL:(00,00,25,16)

# Boulders
OBJECT:('`',"boulder"),(04,04)
OBJECT:('`',"boulder"),(02,06)
OBJECT:('`',"boulder"),(03,06)
OBJECT:('`',"boulder"),(04,07)
OBJECT:('`',"boulder"),(05,07)
OBJECT:('`',"boulder"),(02,08)
OBJECT:('`',"boulder"),(05,08)
OBJECT:('`',"boulder"),(03,09)
OBJECT:('`',"boulder"),(04,09)
OBJECT:('`',"boulder"),(03,10)
OBJECT:('`',"boulder"),(05,10)
OBJECT:('`',"boulder"),(06,12)
#
OBJECT:('`',"boulder"),(07,14)
#
OBJECT:('`',"boulder"),(11,05)
OBJECT:('`',"boulder"),(12,06)
OBJECT:('`',"boulder"),(10,07)
OBJECT:('`',"boulder"),(11,07)
OBJECT:('`',"boulder"),(10,08)
OBJECT:('`',"boulder"),(12,09)
OBJECT:('`',"boulder"),(11,10)

# Traps
TRAP:"hole",(05,01)
TRAP:"hole",(06,01)
TRAP:"hole",(07,01)
TRAP:"hole",(08,01)
TRAP:"hole",(09,01)
TRAP:"hole",(10,01)
TRAP:"hole",(11,01)
TRAP:"hole",(12,01)
TRAP:"hole",(13,01)
TRAP:"hole",(14,01)
TRAP:"hole",(15,01)
TRAP:"hole",(16,01)
TRAP:"hole",(17,01)
TRAP:"hole",(18,01)
TRAP:"hole",(19,01)
TRAP:"hole",(20,01)
TRAP:"hole",(21,01)
TRAP:"hole",(22,01)

MONSTER:('m',"giant mimic"), random, m_object "boulder"
MONSTER:('m',"giant mimic"), random, m_object "boulder"

# Random objects
OBJECT:'%',random
OBJECT:'%',random
OBJECT:'%',random
OBJECT:'%',random
OBJECT:'=',random
OBJECT:'/',random

# Rewards
DOOR:locked,(23,12)
DOOR:closed,(17,10)
DOOR:closed,(17,12)
DOOR:closed,(17,14)
REGION:(18,09,22,15),lit,"zoo",filled,irregular
IF [50%] {
OBJECT:('(',"bag of holding"),$place[0]
} ELSE {
OBJECT:('"',"amulet of reflection"),$place[0]
}
ENGRAVING:$place[0],burn,"Elbereth"
OBJECT:('?', "scare monster"),$place[0],cursed