# SCCS Id: @(#)sokoban.des 3.4 1999/03/15 # Copyright (c) 1998-1999 by Kevin Hugo # NetHack may be freely redistributed. See license for details. # # 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. ### Bottom (first) level of Sokoban ### MAZE:"soko4-1",' ' FLAGS:noteleport,hardfloor 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,random OBJECT:'%',random,random OBJECT:'%',random,random OBJECT:'%',random,random OBJECT:'=',random,random OBJECT:'/',random,random MAZE:"soko4-2",' ' FLAGS:noteleport,hardfloor 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,random OBJECT:'%',random,random OBJECT:'%',random,random OBJECT:'%',random,random OBJECT:'=',random,random OBJECT:'/',random,random ### Second level ### MAZE:"soko3-1",' ' FLAGS:noteleport 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,random OBJECT:'%',random,random OBJECT:'%',random,random OBJECT:'%',random,random OBJECT:'=',random,random OBJECT:'/',random,random MAZE:"soko3-2",' ' FLAGS:noteleport 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,random OBJECT:'%',random,random OBJECT:'%',random,random OBJECT:'%',random,random OBJECT:'=',random,random OBJECT:'/',random,random ### Third level ### MAZE:"soko2-1",' ' FLAGS:noteleport 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,random OBJECT:'%',random,random OBJECT:'%',random,random OBJECT:'%',random,random OBJECT:'=',random,random OBJECT:'/',random,random MAZE:"soko2-2",' ' FLAGS:noteleport 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,random OBJECT:'%',random,random OBJECT:'%',random,random OBJECT:'%',random,random OBJECT:'=',random,random OBJECT:'/',random,random ### Top (last) level of Sokoban ### MAZE:"soko1-1",' ' FLAGS:noteleport GEOMETRY:center,center #12345678901234567890123456789012345678901234567890 MAP -------------------------- |........................| |.......|---------------.| -------.------ |.| |...........| |.| |...........| |.| --------.----- |.| |............| |.| |............| |.| -----.-------- ------|.| |..........| --|.....|.| |..........| |.+.....|.| |.........|- |-|.....|.| -------.---- |.+.....+.| |........| |-|.....|-- |........| |.+.....| |...|----- --|.....| ----- ------- ENDMAP RANDOM_PLACES:(16,11),(16,13),(16,15) 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,random OBJECT:'%',random,random OBJECT:'%',random,random OBJECT:'%',random,random OBJECT:'=',random,random OBJECT:'/',random,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,true OBJECT:'(',"bag of holding",place[0] ENGRAVING:place[0],burn,"Elbereth" MAZE:"soko1-2",' ' FLAGS:noteleport GEOMETRY:center,center #12345678901234567890123456789012345678901234567890 MAP ------------------------ |......................| |..-------------------.| ----.| ----- |.| |..|.-- --...| |.| |.....|--|....| |.| |.....|..|....| |.| --....|......-- |.| |.......|...| ------|.| |....|..|...| --|.....|.| |....|--|...| |.+.....|.| |.......|..-- |-|.....|.| ----....|.-- |.+.....+.| ---.--.| |-|.....|-- |.....| |.+.....| |..|..| --|.....| ------- ------- ENDMAP RANDOM_PLACES:(16,10),(16,12),(16,14) 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,random OBJECT:'%',random,random OBJECT:'%',random,random OBJECT:'%',random,random OBJECT:'=',random,random OBJECT:'/',random,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,true OBJECT:'"',"amulet of reflection",place[0] ENGRAVING:place[0],burn,"Elbereth"