Source:NetHack 3.4.3/dat/sokoban.des
Jump to navigation
Jump to search
Below is the full text to dat/sokoban.des from NetHack 3.4.3. To link to a particular line, write {{sourcecode|sokoban.des|123}}, for example.
This file describes the various layouts of Sokoban.
Contents
License
1. # SCCS Id: @(#)sokoban.des 3.4 1999/03/15 2. # Copyright (c) 1998-1999 by Kevin Hugo 3. # 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.
4. # 5. # In case you haven't played the game Sokoban, you'll learn 6. # quickly. This branch isn't particularly difficult, just time 7. # consuming. Some players may wish to skip this branch. 8. # 9. # The following actions are currently permitted without penalty: 10. # Carrying or throwing a boulder already in inventory 11. # (player or nonplayer). 12. # Teleporting boulders. 13. # Digging in the floor. 14. # The following actions are permitted, but with a luck penalty: 15. # Breaking boulders. 16. # Stone-to-fleshing boulders. 17. # Creating new boulders (e.g., with a scroll of earth). 18. # Jumping. 19. # Being pulled by a thrown iron ball. 20. # Hurtling through the air from Newton's 3rd law. 21. # Squeezing past boulders when naked or as a giant. 22. # These actions are not permitted: 23. # Moving diagonally between two boulders and/or walls. 24. # Pushing a boulder diagonally. 25. # Picking up boulders (player or nonplayer). 26. # Digging or walking through walls. 27. # Teleporting within levels or between levels of this branch. 28. # Using cursed potions of gain level. 29. # Escaping a pit/hole (e.g., by flying, levitation, or 30. # passing a dexterity check). 31. # Bones files are not permitted. 32. 33.
First level
Variant 1
34. ### Bottom (first) level of Sokoban ### 35. MAZE:"soko4-1",' ' 36. FLAGS:noteleport,hardfloor 37. GEOMETRY:center,center 38. #12345678901234567890123456789012345678901234567890 39. MAP 40. ------ ----- 41. |....| |...| 42. |....----...| 43. |...........| 44. |..|-|.|-|..| 45. ---------|.--- 46. |......|.....| 47. |..----|.....| 48. --.| |.....| 49. |.|---|.....| 50. |...........| 51. |..|--------- 52. ---- 53. ENDMAP 54. BRANCH:(06,04,06,04),(0,0,0,0) 55. STAIR:(06,06),up 56. REGION:(00,00,13,12),lit,"ordinary" 57. NON_DIGGABLE:(00,00,13,12) 58. NON_PASSWALL:(00,00,13,12) 59. 60. # Boulders 61. OBJECT:'`',"boulder",(02,02) 62. OBJECT:'`',"boulder",(02,03) 63. # 64. OBJECT:'`',"boulder",(10,02) 65. OBJECT:'`',"boulder",(09,03) 66. OBJECT:'`',"boulder",(10,04) 67. # 68. OBJECT:'`',"boulder",(08,07) 69. OBJECT:'`',"boulder",(09,08) 70. OBJECT:'`',"boulder",(09,09) 71. OBJECT:'`',"boulder",(08,10) 72. OBJECT:'`',"boulder",(10,10) 73. 74. # Traps 75. TRAP:"pit",(03,06) 76. TRAP:"pit",(04,06) 77. TRAP:"pit",(05,06) 78. TRAP:"pit",(02,08) 79. TRAP:"pit",(02,09) 80. TRAP:"pit",(04,10) 81. TRAP:"pit",(05,10) 82. TRAP:"pit",(06,10) 83. TRAP:"pit",(07,10) 84. 85. # A little help 86. OBJECT:'?',"earth",(02,11) 87. OBJECT:'?',"earth",(03,11) 88. 89. # Random objects 90. OBJECT:'%',random,random 91. OBJECT:'%',random,random 92. OBJECT:'%',random,random 93. OBJECT:'%',random,random 94. OBJECT:'=',random,random 95. OBJECT:'/',random,random 96. 97.
Variant 2
98. MAZE:"soko4-2",' ' 99. FLAGS:noteleport,hardfloor 100. GEOMETRY:center,center 101. #12345678901234567890123456789012345678901234567890 102. MAP 103. -------- ------ 104. |.|....|-|....| 105. |.|-..........| 106. |.||....|.....| 107. |.||....|.....| 108. |.|-----|.----- 109. |.| |......| 110. |.-----|......| 111. |.............| 112. |..|---|......| 113. ---- -------- 114. ENDMAP 115. BRANCH:(03,01,03,01),(0,0,0,0) 116. STAIR:(01,01),up 117. REGION:(00,00,14,10),lit,"ordinary" 118. NON_DIGGABLE:(00,00,14,10) 119. NON_PASSWALL:(00,00,14,10) 120. 121. # Boulders 122. OBJECT:'`',"boulder",(05,02) 123. OBJECT:'`',"boulder",(06,02) 124. OBJECT:'`',"boulder",(06,03) 125. OBJECT:'`',"boulder",(07,03) 126. # 127. OBJECT:'`',"boulder",(09,05) 128. OBJECT:'`',"boulder",(10,03) 129. OBJECT:'`',"boulder",(11,02) 130. OBJECT:'`',"boulder",(12,03) 131. # 132. OBJECT:'`',"boulder",(07,08) 133. OBJECT:'`',"boulder",(08,08) 134. OBJECT:'`',"boulder",(09,08) 135. OBJECT:'`',"boulder",(10,08) 136. 137. # Traps 138. TRAP:"pit",(01,02) 139. TRAP:"pit",(01,03) 140. TRAP:"pit",(01,04) 141. TRAP:"pit",(01,05) 142. TRAP:"pit",(01,06) 143. TRAP:"pit",(01,07) 144. TRAP:"pit",(03,08) 145. TRAP:"pit",(04,08) 146. TRAP:"pit",(05,08) 147. TRAP:"pit",(06,08) 148. 149. # A little help 150. OBJECT:'?',"earth",(01,09) 151. OBJECT:'?',"earth",(02,09) 152. 153. # Random objects 154. OBJECT:'%',random,random 155. OBJECT:'%',random,random 156. OBJECT:'%',random,random 157. OBJECT:'%',random,random 158. OBJECT:'=',random,random 159. OBJECT:'/',random,random 160. 161.
Second level
Variant 1
162. ### Second level ### 163. MAZE:"soko3-1",' ' 164. FLAGS:noteleport 165. GEOMETRY:center,center 166. #12345678901234567890123456789012345678901234567890 167. MAP 168. ----------- ----------- 169. |....|....|-- |.........| 170. |....|......| |.........| 171. |.........|-- |.........| 172. |....|....| |.........| 173. |-.--------- |.........| 174. |....|.....| |.........| 175. |....|.....| |.........| 176. |..........| |.........| 177. |....|.....|---------------+| 178. |....|......................| 179. ----------------------------- 180. ENDMAP 181. STAIR:(11,02),down 182. STAIR:(23,04),up 183. DOOR:locked,(27,09) 184. REGION:(00,00,28,11),lit,"ordinary" 185. NON_DIGGABLE:(00,00,28,11) 186. NON_PASSWALL:(00,00,28,11) 187. 188. # Boulders 189. OBJECT:'`',"boulder",(03,02) 190. OBJECT:'`',"boulder",(04,02) 191. # 192. OBJECT:'`',"boulder",(06,02) 193. OBJECT:'`',"boulder",(06,03) 194. OBJECT:'`',"boulder",(07,02) 195. # 196. OBJECT:'`',"boulder",(03,06) 197. OBJECT:'`',"boulder",(02,07) 198. OBJECT:'`',"boulder",(03,07) 199. OBJECT:'`',"boulder",(03,08) 200. OBJECT:'`',"boulder",(02,09) 201. OBJECT:'`',"boulder",(03,09) 202. OBJECT:'`',"boulder",(04,09) 203. # 204. OBJECT:'`',"boulder",(06,07) 205. OBJECT:'`',"boulder",(06,09) 206. OBJECT:'`',"boulder",(08,07) 207. OBJECT:'`',"boulder",(08,10) 208. OBJECT:'`',"boulder",(09,08) 209. OBJECT:'`',"boulder",(09,09) 210. OBJECT:'`',"boulder",(10,07) 211. OBJECT:'`',"boulder",(10,10) 212. 213. # Traps 214. TRAP:"hole",(12,10) 215. TRAP:"hole",(13,10) 216. TRAP:"hole",(14,10) 217. TRAP:"hole",(15,10) 218. TRAP:"hole",(16,10) 219. TRAP:"hole",(17,10) 220. TRAP:"hole",(18,10) 221. TRAP:"hole",(19,10) 222. TRAP:"hole",(20,10) 223. TRAP:"hole",(21,10) 224. TRAP:"hole",(22,10) 225. TRAP:"hole",(23,10) 226. TRAP:"hole",(24,10) 227. TRAP:"hole",(25,10) 228. TRAP:"hole",(26,10) 229. 230. # Random objects 231. OBJECT:'%',random,random 232. OBJECT:'%',random,random 233. OBJECT:'%',random,random 234. OBJECT:'%',random,random 235. OBJECT:'=',random,random 236. OBJECT:'/',random,random 237. 238.
Variant 2
239. MAZE:"soko3-2",' ' 240. FLAGS:noteleport 241. GEOMETRY:center,center 242. #12345678901234567890123456789012345678901234567890 243. MAP 244. ---- ----------- 245. -|..|------- |.........| 246. |..........| |.........| 247. |..-----.-.| |.........| 248. |..|...|...| |.........| 249. |.........-| |.........| 250. |.......|..| |.........| 251. |.----..--.| |.........| 252. |........|.-- |.........| 253. |.---.-.....------------+| 254. |...|...-................| 255. |.........---------------- 256. ----|..|..| 257. ------- 258. ENDMAP 259. STAIR:(03,01),down 260. STAIR:(20,04),up 261. DOOR:locked,(24,09) 262. REGION:(00,00,25,13),lit,"ordinary" 263. NON_DIGGABLE:(00,00,25,13) 264. NON_PASSWALL:(00,00,25,13) 265. 266. # Boulders 267. OBJECT:'`',"boulder",(02,03) 268. OBJECT:'`',"boulder",(08,03) 269. OBJECT:'`',"boulder",(09,04) 270. OBJECT:'`',"boulder",(02,05) 271. OBJECT:'`',"boulder",(04,05) 272. OBJECT:'`',"boulder",(09,05) 273. OBJECT:'`',"boulder",(02,06) 274. OBJECT:'`',"boulder",(05,06) 275. OBJECT:'`',"boulder",(06,07) 276. OBJECT:'`',"boulder",(03,08) 277. OBJECT:'`',"boulder",(07,08) 278. OBJECT:'`',"boulder",(05,09) 279. OBJECT:'`',"boulder",(10,09) 280. OBJECT:'`',"boulder",(07,10) 281. OBJECT:'`',"boulder",(10,10) 282. OBJECT:'`',"boulder",(03,11) 283. 284. # Traps 285. TRAP:"hole",(12,10) 286. TRAP:"hole",(13,10) 287. TRAP:"hole",(14,10) 288. TRAP:"hole",(15,10) 289. TRAP:"hole",(16,10) 290. TRAP:"hole",(17,10) 291. TRAP:"hole",(18,10) 292. TRAP:"hole",(19,10) 293. TRAP:"hole",(20,10) 294. TRAP:"hole",(21,10) 295. TRAP:"hole",(22,10) 296. TRAP:"hole",(23,10) 297. 298. # Random objects 299. OBJECT:'%',random,random 300. OBJECT:'%',random,random 301. OBJECT:'%',random,random 302. OBJECT:'%',random,random 303. OBJECT:'=',random,random 304. OBJECT:'/',random,random 305. 306.
Third level
Variant 1
307. ### Third level ### 308. MAZE:"soko2-1",' ' 309. FLAGS:noteleport 310. GEOMETRY:center,center 311. #12345678901234567890123456789012345678901234567890 312. MAP 313. -------------------- 314. |........|...|.....| 315. |.....-..|.-.|.....| 316. |..|.....|...|.....| 317. |-.|..-..|.-.|.....| 318. |...--.......|.....| 319. |...|...-...-|.....| 320. |...|..|...--|.....| 321. |-..|..|----------+| 322. |..................| 323. |...|..|------------ 324. -------- 325. ENDMAP 326. STAIR:(06,10),down 327. STAIR:(16,04),up 328. DOOR:locked,(18,08) 329. REGION:(00,00,19,11),lit,"ordinary" 330. NON_DIGGABLE:(00,00,19,11) 331. NON_PASSWALL:(00,00,19,11) 332. 333. # Boulders 334. OBJECT:'`',"boulder",(02,02) 335. OBJECT:'`',"boulder",(03,02) 336. # 337. OBJECT:'`',"boulder",(05,03) 338. OBJECT:'`',"boulder",(07,03) 339. OBJECT:'`',"boulder",(07,02) 340. OBJECT:'`',"boulder",(08,02) 341. # 342. OBJECT:'`',"boulder",(10,03) 343. OBJECT:'`',"boulder",(11,03) 344. # 345. OBJECT:'`',"boulder",(02,07) 346. OBJECT:'`',"boulder",(02,08) 347. OBJECT:'`',"boulder",(03,09) 348. # 349. OBJECT:'`',"boulder",(05,07) 350. OBJECT:'`',"boulder",(06,06) 351. 352. # Traps 353. TRAP:"hole",(08,09) 354. TRAP:"hole",(09,09) 355. TRAP:"hole",(10,09) 356. TRAP:"hole",(11,09) 357. TRAP:"hole",(12,09) 358. TRAP:"hole",(13,09) 359. TRAP:"hole",(14,09) 360. TRAP:"hole",(15,09) 361. TRAP:"hole",(16,09) 362. TRAP:"hole",(17,09) 363. 364. # Random objects 365. OBJECT:'%',random,random 366. OBJECT:'%',random,random 367. OBJECT:'%',random,random 368. OBJECT:'%',random,random 369. OBJECT:'=',random,random 370. OBJECT:'/',random,random 371. 372.
Variant 2
373. MAZE:"soko2-2",' ' 374. FLAGS:noteleport 375. GEOMETRY:center,center 376. #12345678901234567890123456789012345678901234567890 377. MAP 378. -------- 379. --|.|....| 380. |........|---------- 381. |.-...-..|.|.......| 382. |...-......|.......| 383. |.-....|...|.......| 384. |....-.--.-|.......| 385. |..........|.......| 386. |.--...|...|.......| 387. |....-.|---|.......| 388. --|....|----------+| 389. |................| 390. ------------------ 391. ENDMAP 392. STAIR:(06,11),down 393. STAIR:(15,06),up 394. DOOR:locked,(18,10) 395. REGION:(00,00,19,12),lit,"ordinary" 396. NON_DIGGABLE:(00,00,19,12) 397. NON_PASSWALL:(00,00,19,12) 398. 399. # Boulders 400. OBJECT:'`',"boulder",(04,02) 401. OBJECT:'`',"boulder",(04,03) 402. OBJECT:'`',"boulder",(05,03) 403. OBJECT:'`',"boulder",(07,03) 404. OBJECT:'`',"boulder",(08,03) 405. OBJECT:'`',"boulder",(02,04) 406. OBJECT:'`',"boulder",(03,04) 407. OBJECT:'`',"boulder",(05,05) 408. OBJECT:'`',"boulder",(06,06) 409. OBJECT:'`',"boulder",(09,06) 410. OBJECT:'`',"boulder",(03,07) 411. OBJECT:'`',"boulder",(04,07) 412. OBJECT:'`',"boulder",(07,07) 413. OBJECT:'`',"boulder",(06,09) 414. OBJECT:'`',"boulder",(05,10) 415. OBJECT:'`',"boulder",(05,11) 416. 417. # Traps 418. TRAP:"hole",(07,11) 419. TRAP:"hole",(08,11) 420. TRAP:"hole",(09,11) 421. TRAP:"hole",(10,11) 422. TRAP:"hole",(11,11) 423. TRAP:"hole",(12,11) 424. TRAP:"hole",(13,11) 425. TRAP:"hole",(14,11) 426. TRAP:"hole",(15,11) 427. TRAP:"hole",(16,11) 428. TRAP:"hole",(17,11) 429. 430. # Random objects 431. OBJECT:'%',random,random 432. OBJECT:'%',random,random 433. OBJECT:'%',random,random 434. OBJECT:'%',random,random 435. OBJECT:'=',random,random 436. OBJECT:'/',random,random 437. 438.
Top level
Variant 1
439. ### Top (last) level of Sokoban ### 440. MAZE:"soko1-1",' ' 441. FLAGS:noteleport 442. GEOMETRY:center,center 443. #12345678901234567890123456789012345678901234567890 444. MAP 445. -------------------------- 446. |........................| 447. |.......|---------------.| 448. -------.------ |.| 449. |...........| |.| 450. |...........| |.| 451. --------.----- |.| 452. |............| |.| 453. |............| |.| 454. -----.-------- ------|.| 455. |..........| --|.....|.| 456. |..........| |.+.....|.| 457. |.........|- |-|.....|.| 458. -------.---- |.+.....+.| 459. |........| |-|.....|-- 460. |........| |.+.....| 461. |...|----- --|.....| 462. ----- ------- 463. ENDMAP 464. RANDOM_PLACES:(16,11),(16,13),(16,15) 465. STAIR:(01,01),down 466. REGION:(00,00,25,17),lit,"ordinary" 467. NON_DIGGABLE:(00,00,25,17) 468. NON_PASSWALL:(00,00,25,17) 469. 470. # Boulders 471. OBJECT:'`',"boulder",(03,05) 472. OBJECT:'`',"boulder",(05,05) 473. OBJECT:'`',"boulder",(07,05) 474. OBJECT:'`',"boulder",(09,05) 475. OBJECT:'`',"boulder",(11,05) 476. # 477. OBJECT:'`',"boulder",(04,07) 478. OBJECT:'`',"boulder",(04,08) 479. OBJECT:'`',"boulder",(06,07) 480. OBJECT:'`',"boulder",(09,07) 481. OBJECT:'`',"boulder",(11,07) 482. # 483. OBJECT:'`',"boulder",(03,12) 484. OBJECT:'`',"boulder",(04,10) 485. OBJECT:'`',"boulder",(05,12) 486. OBJECT:'`',"boulder",(06,10) 487. OBJECT:'`',"boulder",(07,11) 488. OBJECT:'`',"boulder",(08,10) 489. OBJECT:'`',"boulder",(09,12) 490. # 491. OBJECT:'`',"boulder",(03,14) 492. 493. # Traps 494. TRAP:"hole",(08,01) 495. TRAP:"hole",(09,01) 496. TRAP:"hole",(10,01) 497. TRAP:"hole",(11,01) 498. TRAP:"hole",(12,01) 499. TRAP:"hole",(13,01) 500. TRAP:"hole",(14,01) 501. TRAP:"hole",(15,01) 502. TRAP:"hole",(16,01) 503. TRAP:"hole",(17,01) 504. TRAP:"hole",(18,01) 505. TRAP:"hole",(19,01) 506. TRAP:"hole",(20,01) 507. TRAP:"hole",(21,01) 508. TRAP:"hole",(22,01) 509. TRAP:"hole",(23,01) 510. 511. MONSTER:'m',"giant mimic", random, m_object "boulder" 512. MONSTER:'m',"giant mimic", random, m_object "boulder" 513. 514. # Random objects 515. OBJECT:'%',random,random 516. OBJECT:'%',random,random 517. OBJECT:'%',random,random 518. OBJECT:'%',random,random 519. OBJECT:'=',random,random 520. OBJECT:'/',random,random 521. 522. # Rewards 523. DOOR:locked,(23,13) 524. DOOR:closed,(17,11) 525. DOOR:closed,(17,13) 526. DOOR:closed,(17,15) 527. REGION:(18,10,22,16),lit,"zoo",filled,true 528. OBJECT:'(',"bag of holding",place[0] 529. ENGRAVING:place[0],burn,"Elbereth" 530. 531.
Variant 2
532. MAZE:"soko1-2",' ' 533. FLAGS:noteleport 534. GEOMETRY:center,center 535. #12345678901234567890123456789012345678901234567890 536. MAP 537. ------------------------ 538. |......................| 539. |..-------------------.| 540. ----.| ----- |.| 541. |..|.-- --...| |.| 542. |.....|--|....| |.| 543. |.....|..|....| |.| 544. --....|......-- |.| 545. |.......|...| ------|.| 546. |....|..|...| --|.....|.| 547. |....|--|...| |.+.....|.| 548. |.......|..-- |-|.....|.| 549. ----....|.-- |.+.....+.| 550. ---.--.| |-|.....|-- 551. |.....| |.+.....| 552. |..|..| --|.....| 553. ------- ------- 554. ENDMAP 555. RANDOM_PLACES:(16,10),(16,12),(16,14) 556. STAIR:(06,15),down 557. REGION:(00,00,25,16),lit,"ordinary" 558. NON_DIGGABLE:(00,00,25,16) 559. NON_PASSWALL:(00,00,25,16) 560. 561. # Boulders 562. OBJECT:'`',"boulder",(04,04) 563. OBJECT:'`',"boulder",(02,06) 564. OBJECT:'`',"boulder",(03,06) 565. OBJECT:'`',"boulder",(04,07) 566. OBJECT:'`',"boulder",(05,07) 567. OBJECT:'`',"boulder",(02,08) 568. OBJECT:'`',"boulder",(05,08) 569. OBJECT:'`',"boulder",(03,09) 570. OBJECT:'`',"boulder",(04,09) 571. OBJECT:'`',"boulder",(03,10) 572. OBJECT:'`',"boulder",(05,10) 573. OBJECT:'`',"boulder",(06,12) 574. # 575. OBJECT:'`',"boulder",(07,14) 576. # 577. OBJECT:'`',"boulder",(11,05) 578. OBJECT:'`',"boulder",(12,06) 579. OBJECT:'`',"boulder",(10,07) 580. OBJECT:'`',"boulder",(11,07) 581. OBJECT:'`',"boulder",(10,08) 582. OBJECT:'`',"boulder",(12,09) 583. OBJECT:'`',"boulder",(11,10) 584. 585. # Traps 586. TRAP:"hole",(05,01) 587. TRAP:"hole",(06,01) 588. TRAP:"hole",(07,01) 589. TRAP:"hole",(08,01) 590. TRAP:"hole",(09,01) 591. TRAP:"hole",(10,01) 592. TRAP:"hole",(11,01) 593. TRAP:"hole",(12,01) 594. TRAP:"hole",(13,01) 595. TRAP:"hole",(14,01) 596. TRAP:"hole",(15,01) 597. TRAP:"hole",(16,01) 598. TRAP:"hole",(17,01) 599. TRAP:"hole",(18,01) 600. TRAP:"hole",(19,01) 601. TRAP:"hole",(20,01) 602. TRAP:"hole",(21,01) 603. TRAP:"hole",(22,01) 604. 605. MONSTER:'m',"giant mimic", random, m_object "boulder" 606. MONSTER:'m',"giant mimic", random, m_object "boulder" 607. 608. # Random objects 609. OBJECT:'%',random,random 610. OBJECT:'%',random,random 611. OBJECT:'%',random,random 612. OBJECT:'%',random,random 613. OBJECT:'=',random,random 614. OBJECT:'/',random,random 615. 616. # Rewards 617. DOOR:locked,(23,12) 618. DOOR:closed,(17,10) 619. DOOR:closed,(17,12) 620. DOOR:closed,(17,14) 621. REGION:(18,09,22,15),lit,"zoo",filled,true 622. OBJECT:'"',"amulet of reflection",place[0] 623. ENGRAVING:place[0],burn,"Elbereth"