home *** CD-ROM | disk | FTP | other *** search
/ Frostbyte's 1980s DOS Shareware Collection / floppyshareware.zip / floppyshareware / USCX / SAMPLE01.ZIP / CASTLE.BAS next >
BASIC Source File  |  1982-05-31  |  26KB  |  918 lines

  1. 1000 REM *****************************************************
  2. 1005 REM *                                                   *
  3. 1010 REM * WIZARD'S CASTLE GAME FROM JULY/AUGUST 1980        *
  4. 1015 REM * ISSUE OF RECREATIONAL COMPUTING MAGAZINE          *
  5. 1020 REM * WRITTEN FOR EXIDY SORCERER BY JOSEPH R. POWER     *
  6. 1025 REM * MODIFIED FOR HEATH MICROSOFT BASIC BY J.F.STETSON *
  7. 1030 REM *                                                   *
  8. 1035 REM *****************************************************
  9. 1040 DEFINT A-Z
  10. 1045 DIM C$(34),I$(34),R$(4),W$(8),E$(8)
  11. 1050 DIM L(512),C(3,4),T(8),O(3),R(3)
  12. 1055 DEF FNA(Q)=1+INT(RND(1)*Q)
  13. 1060 DEF FNB(Q)=Q+8*((Q=9)-(Q=0))
  14. 1065 DEF FNC(Q)=-Q*(Q<19)-18*(Q>18)
  15. 1070 DEF FND(Q)=64*(Q-1)+8*(X-1)+Y
  16. 1075 DEF FNE(Q)=Q+100*(Q>99)
  17. 1080 Y$="** PLEASE ANSWER YES OR NO"
  18. 1085 NG=0
  19. 1090 REM
  20. 1095 REM   INITIALIZE ARRAYS
  21. 1100 REM
  22. 1105 NG=NG+1
  23. 1110 Q=RND(1)
  24. 1115 RESTORE
  25. 1120 FOR Q=1 TO 34
  26. 1125 READ C$(Q),I$(Q)
  27. 1130 NEXT Q
  28. 1135 FOR Q=1 TO 512
  29. 1140 L(Q)=101
  30. 1145 NEXT Q
  31. 1150 FOR Q=1 TO 8
  32. 1155 READ W$(Q),E$(Q)
  33. 1160 NEXT Q
  34. 1165 FOR Q=1 TO 4
  35. 1170 READ R$(Q)
  36. 1175 NEXT Q
  37. 1180 IF NG > 1 GOTO 1250
  38. 1185 PRINT CHR$(27);"E"
  39. 1190 GOSUB 5375
  40. 1195 PRINT TAB(16);"* * * THE WIZARD'S CASTLE * * *"
  41. 1200 PRINT
  42. 1205 GOSUB 5375
  43. 1210 PRINT "MANY CYCLES AGO, IN THE KINGDOM OF N'DIC, THE GNOMIC"
  44. 1215 PRINT "WIZARD ZOT FORGED HIS GREAT *ORB OF POWER*. HE SOON"
  45. 1220 PRINT "VANISHED, LEAVING BEHIND HIS VAST SUBTERRANEAN CASTLE"
  46. 1225 PRINT "FILLED WITH ESURIENT MONSTERS, FABULOUS TREASURES, AND"
  47. 1230 PRINT "THE INCREDIBLE *ORB OF ZOT*. FROM THAT TIME HENCE, MANY"
  48. 1235 PRINT "A BOLD YOUTH HAS VENTURED INTO THE WIZARD'S CASTLE. AS"
  49. 1240 PRINT "OF NOW, *NONE* HAS EVER EMERGED VICTORIOUSLY! BEWARE!!"
  50. 1245 PRINT
  51. 1250 X=1 : Y=4
  52. 1255 L(FND(1))=2
  53. 1260 FOR Z=1 TO 7
  54. 1265 FOR Q1=1 TO 2
  55. 1270 Q=104
  56. 1275 GOSUB 5285
  57. 1280 L(FND(Z+1))=103
  58. 1285 NEXT Q1
  59. 1290 NEXT Z
  60. 1295 FOR Z=1 TO 8
  61. 1300 FOR Q=113 TO 124
  62. 1305 GOSUB 5285
  63. 1310 NEXT Q
  64. 1315 FOR Q1=1 TO 3
  65. 1320 FOR Q=105 TO 112
  66. 1325 GOSUB 5285
  67. 1330 NEXT Q
  68. 1335 Q=125
  69. 1340 GOSUB 5285
  70. 1345 NEXT Q1
  71. 1350 NEXT Z
  72. 1355 FOR Q=126 TO 133
  73. 1360 Z=FNA(8)
  74. 1365 GOSUB 5285
  75. 1370 NEXT Q
  76. 1375 Q=101
  77. 1380 FOR A=1 TO 3
  78. 1385 Z=FNA(8)
  79. 1390 GOSUB 5285
  80. 1395 C(A,1)=X
  81. 1400 C(A,2)=Y
  82. 1405 C(A,3)=Z
  83. 1410 C(A,4)=0
  84. 1415 NEXT A
  85. 1420 RC=0
  86. 1425 ST=2
  87. 1430 DX=14
  88. 1435 R$(3)="MAN"
  89. 1440 Q=112+FNA(12)
  90. 1445 Z=FNA(8)
  91. 1450 GOSUB 5285
  92. 1455 R(1)=X
  93. 1460 R(2)=Y
  94. 1465 R(3)=Z
  95. 1470 Q=109
  96. 1475 Z=FNA(8)
  97. 1480 GOSUB 5285
  98. 1485 O(1)=X
  99. 1490 O(2)=Y
  100. 1495 O(3)=Z
  101. 1500 BF=0 : OT=8 : AV=0 : HT=0 : T=1 : VF=0 : LF=0
  102. 1505 TC=0 : GP=60 : RF=0 : OF=0 : BL=0 : IQ=8 : SX=0
  103. 1510 FOR Q=1 TO 8
  104. 1515 T(Q)=0
  105. 1520 NEXT Q
  106. 1525 PRINT CHR$(7);
  107. 1530 PRINT "ALL RIGHT, BOLD ONE."
  108. 1535 PRINT "YOU MAY BE AN ELF, DWARF, MAN, OR HOBBIT."
  109. 1540 GOSUB 5405
  110. 1545 FOR Q=1 TO 4
  111. 1550 IF LEFT$(R$(Q),1)=O$ THEN RC=Q : ST=ST+2*Q : DX=DX-2*Q
  112. 1555 NEXT Q
  113. 1560 PRINT
  114. 1565 OT=OT+4*(RC=1)
  115. 1570 IF RC > 0 THEN R$(3)="HUMAN" : GOTO 1585
  116. 1575 PRINT "** THAT WAS INCORRECT. PLEASE TYPE E, D, M, OR H."
  117. 1580 GOTO 1535
  118. 1585 PRINT "WHICH SEX TO YOU PREFER";
  119. 1590 GOSUB 5415
  120. 1595 IF O$="M" THEN SX=1 : GOTO 1615
  121. 1600 IF O$="F" GOTO 1615
  122. 1605 PRINT "** CUTE ";R$(RC);", REAL CUTE. TRY M OR F."
  123. 1610 GOTO 1585
  124. 1615 PRINT
  125. 1620 PRINT "OK, ";R$(RC);", YOU HAVE THE FOLLOWING ATTRIBUTES :"
  126. 1625 PRINT "STRENGTH =";ST;" INTELLIGENCE =";IQ;" DEXTERITY =";DX
  127. 1630 PRINT "AND";OT;"OTHER POINTS TO ALLOCATE AS YOU WISH."
  128. 1635 PRINT
  129. 1640 Z$="STRENGTH"
  130. 1645 GOSUB 5430
  131. 1650 ST=ST+Q
  132. 1655 IF OT=0 GOTO 1695
  133. 1660 Z$="INTELLIGENCE"
  134. 1665 GOSUB 5430
  135. 1670 IQ=IQ+Q
  136. 1675 IF OT=0 GOTO 1695
  137. 1680 Z$="DEXTERITY"
  138. 1685 GOSUB 5430
  139. 1690 DX=DX+Q
  140. 1695 PRINT "OK, ";R$(RC);", YOU HAVE 60 GOLD PIECES (GP'S)."
  141. 1700 Z$="ARMOR"
  142. 1705 GOSUB 5555
  143. 1710 AV=0 : WV=0 : FL=0 : WC=0
  144. 1715 PRINT "PLATE<30> CHAINMAIL<20> LEATHER<10> NOTHING<0>"
  145. 1720 GOSUB 5405
  146. 1725 IF O$="N" GOTO 1755
  147. 1730 AV=-3*(O$="P")-2*(O$="C")-(O$="L")
  148. 1735 IF AV > 0 GOTO 1755
  149. 1740 PRINT
  150. 1745 PRINT "** ARE YOU A ";R$(RC);" OR ";C$(FNA(12)+12);"?"
  151. 1750 GOTO 1700
  152. 1755 AH=AV*7 : GP=GP-AV*10
  153. 1760 PRINT
  154. 1765 PRINT "OK, BOLD ";R$(RC);", YOU HAVE";GP;"GP'S LEFT."
  155. 1770 Z$="WEAPONS"
  156. 1775 GOSUB 5555
  157. 1780 PRINT "SWORD<30> MACE<20> DAGGER<10> NOTHING<0>"
  158. 1785 GOSUB 5405
  159. 1790 IF O$="N" GOTO 1820
  160. 1795 WV=-3*(O$="S")-2*(O$="M")-(O$="D")
  161. 1800 IF WV > 0 GOTO 1820
  162. 1805 PRINT 
  163. 1810 PRINT "** IS YOUR IQ REALLY";IQ;"?"
  164. 1815 GOTO 1770
  165. 1820 GP=GP-WV*10
  166. 1825 IF GP < 20 GOTO 1855
  167. 1830 PRINT
  168. 1835 PRINT "DO YOU WANT TO BUY A LAMP FOR 20 GP'S";
  169. 1840 GOSUB 5415
  170. 1845 IF O$="Y" THEN LF=1 : GP=GP-20 : GOTO 1855
  171. 1850 IF O$ <> "N" THEN PRINT : PRINT Y$ : PRINT : GOTO 1835
  172. 1855 PRINT
  173. 1860 IF GP < 1 THEN Q=0 : GOTO 1915
  174. 1865 PRINT "OK, ";R$(RC);", YOU HAVE";GP;"GOLD PIECES LEFT."
  175. 1870 PRINT
  176. 1875 INPUT "FLARES COST 1 GP EACH. HOW MANY DO YOU WANT";O$
  177. 1880 Q=VAL(O$)
  178. 1885 PRINT
  179. 1890 IF Q > 0 OR ASC(O$)=48 GOTO 1910
  180. 1895 PRINT "** IF YOU DON'T WANT ANY, JUST TYPE 0 (ZERO)."
  181. 1900 PRINT
  182. 1905 GOTO 1875
  183. 1910 IF Q > GP THEN PRINT "** YOU CAN ONLY AFFORD";GP;"." : PRINT : GOTO 1875
  184. 1915 FL=FL+Q : GP=GP-Q
  185. 1920 X=1 : Y=4 : Z=1
  186. 1925 PRINT "OK, ";R$(RC);", YOU ARE NOW ENTERING THE CASTLE!"
  187. 1930 GOTO 3450
  188. 1935 REM
  189. 1940 REM   MAIN PROCESSING LOOP
  190. 1945 REM
  191. 1950 T=T+1
  192. 1955 IF RF+OF > 0 GOTO 2020
  193. 1960 IF C(1,4) > T(1) THEN T=T+1
  194. 1965 IF C(2,4) > T(3) THEN GP=GP-FNA(5)
  195. 1970 IF GP < 0 THEN GP=0
  196. 1975 IF C(3,4) <= T(5) GOTO 2020
  197. 1980 A=X : B=Y : C=Z
  198. 1985 X=FNA(8) : Y=FNA(8) : Z=FNA(8)
  199. 1990 L(FND(Z))=FNE(L(FND(Z)))+100
  200. 1995 X=A : Y=B : Z=C
  201. 2000 IF L(FND(Z)) <> 1 GOTO 2020
  202. 2005 FOR Q=1 TO 3
  203. 2010 C(Q,4)=-(C(Q,1)=X)*(C(Q,2)=Y)*(C(Q,3)=Z)
  204. 2015 NEXT Q
  205. 2020 IF FNA(5) > 1 GOTO 2165
  206. 2025 PRINT
  207. 2030 PRINT "YOU ";
  208. 2035 Q=FNA(7)+BL
  209. 2040 IF Q > 7 THEN Q=4
  210. 2045 ON Q GOSUB 2125,2065,2115,2055,2135,2145,2155
  211. 2050 GOTO 2165
  212. 2055 PRINT "STEPPED ON A FROG!"
  213. 2060 RETURN
  214. 2065 PRINT "HEAR ";
  215. 2070 ON FNA(4) GOTO 2075,2085,2095,2105
  216. 2075 PRINT "A SCREAM!"
  217. 2080 RETURN
  218. 2085 PRINT "FOOTSTEPS!"
  219. 2090 RETURN
  220. 2095 PRINT "A WUMPUS!"
  221. 2100 RETURN
  222. 2105 PRINT "THUNDER!"
  223. 2110 RETURN
  224. 2115 PRINT "SNEEZED!"
  225. 2120 RETURN
  226. 2125 PRINT "SEE A BAT FLY BY!"
  227. 2130 RETURN
  228. 2135 PRINT "SMELL ";C$(12+FNA(13));" FRYING!"
  229. 2140 RETURN
  230. 2145 PRINT "FEEL LIKE YOU'RE BEING WATCHED!"
  231. 2150 RETURN
  232. 2155 PRINT "HEAR FAINT RUSTLING NOISES!"
  233. 2160 RETURN
  234. 2165 IF BL+T(4) <> 2 GOTO 2185
  235. 2170 PRINT
  236. 2175 PRINT C$(29);" CURES YOUR BLINDNESS!"
  237. 2180 BL=0
  238. 2185 IF BF+T(6) <> 2 GOTO 2205
  239. 2190 PRINT
  240. 2195 PRINT C$(31);" DISSOLVES THE BOOK!"
  241. 2200 BF=0
  242. 2205 PRINT
  243. 2210 LINE INPUT "ENTER YOUR COMMAND : ";O$
  244. 2215 IF LEFT$(O$,2)="DR" GOTO 2870
  245. 2220 O$=LEFT$(O$,1)
  246. 2225 IF O$="N" GOTO 2435
  247. 2230 IF (O$="S") OR (O$="W") OR (O$="E") GOTO 2440
  248. 2235 IF O$="U" GOTO 2465
  249. 2240 IF O$="D" GOTO 2480
  250. 2245 IF O$="M" GOTO 2505
  251. 2250 IF O$="F" THEN ON BL+1 GOTO 2620,2505
  252. 2255 IF O$="L" THEN ON BL+1 GOTO 2750,2505
  253. 2260 IF O$="O" GOTO 2965
  254. 2265 IF O$="G" THEN ON BL+1 GOTO 3185,2505
  255. 2270 IF O$="T" THEN PRINT : ON RF+1 GOTO 3315,3335
  256. 2275 IF O$="Q" GOTO 3390
  257. 2280 IF O$<>"H" GOTO 2420
  258. 2285 PRINT CHR$(27);"E"
  259. 2290 PRINT "*** WIZARD'S CASTLE COMMAND AND INFORMATION SUMMARY ***"
  260. 2295 PRINT
  261. 2300 PRINT "THE FOLLOWING COMMANDS ARE AVAILABLE :"
  262. 2305 PRINT 
  263. 2310 PRINT "H/ELP     N/ORTH    S/OUTH    E/AST     W/EST     U/P"
  264. 2315 PRINT "D/OWN     DR/INK    M/AP      F/LARE    L/AMP     O/PEN"
  265. 2320 PRINT "G/AZE     T/ELEPORT Q/UIT"
  266. 2325 PRINT
  267. 2330 PRINT "THE CONTENTS OF ROOMS ARE AS FOLLOWS :"
  268. 2335 PRINT
  269. 2340 PRINT ". = EMPTY ROOM      B = BOOK            C = CHEST"
  270. 2345 PRINT "D = STAIRS DOWN     E = ENTRANCE/EXIT   F = FLARES"
  271. 2350 PRINT "G = GOLD PIECES     M = MONSTER         O = CRYSTAL ORB"
  272. 2355 PRINT "P = MAGIC POOL      S = SINKHOLE        T = TREASURE"
  273. 2360 PRINT "U = STAIRS UP       V = VENDOR          W = WARP/ORB"
  274. 2365 PRINT
  275. 2370 PRINT "THE BENEFITS OF HAVING TREASURES ARE :"
  276. 2375 PRINT
  277. 2380 PRINT "RUBY RED - AVOID LETHARGY     PALE PEARL - AVOID LEECH"
  278. 2385 PRINT "GREEN GEM - AVOID FORGETTING  OPAL EYE - CURES BLINDNESS"
  279. 2390 PRINT "BLUE FLAME - DISSOLVES BOOKS  NORN STONE - NO BENEFIT"
  280. 2395 PRINT "PALANTIR - NO BENEFIT         SILMARIL - NO BENEFIT"
  281. 2400 PRINT
  282. 2405 PRINT "PRESS RETURN WHEN READY TO RESUME, ";R$(RC);".";
  283. 2410 LINE INPUT "";O$
  284. 2415 GOTO 1950
  285. 2420 PRINT
  286. 2425 PRINT "** SILLY ";R$(RC);", THAT WASN'T A VALID COMMAND!"
  287. 2430 GOTO 1950
  288. 2435 IF L(FND(Z))=2 GOTO 4970
  289. 2440 X=X+(O$="N")-(O$="S")
  290. 2445 Y=Y+(O$="W")-(O$="E")
  291. 2450 X=FNB(X)
  292. 2455 Y=FNB(Y)
  293. 2460 GOTO 3450
  294. 2465 IF L(FND(Z))=3 THEN Z=Z-1 : GOTO 3450
  295. 2470 Z$="UP"
  296. 2475 GOTO 2490
  297. 2480 Z$="DOWN"
  298. 2485 IF L(FND(Z))=4 THEN Z=Z+1 : GOTO 3450
  299. 2490 PRINT
  300. 2495 PRINT "** THERE ARE NO STAIRS GOING ";Z$;" FROM HERE!"
  301. 2500 GOTO 1950
  302. 2505 IF BL <> 1 GOTO 2540
  303. 2510 PRINT
  304. 2515 PRINT "** YOU CAN'T SEE ANYTHING, YOU DUMB ";R$(RC);"!"
  305. 2520 GOTO 1950
  306. 2525 REM
  307. 2530 REM   DISPLAY MAP OF CURRENT CASTLE LEVEL
  308. 2535 REM
  309. 2540 PRINT
  310. 2545 A=X : B=Y
  311. 2550 FOR X=1 TO 8
  312. 2555 FOR Y=1 TO 8
  313. 2560 Q=L(FND(Z))
  314. 2565 IF Q > 99 THEN Q=Q-100 ' LET Q=34 TO HIDE ROOMS
  315. 2570 IF X=A AND Y=B THEN PRINT "<";I$(Q);">  "; : GOTO 2580
  316. 2575 PRINT " ";I$(Q);"   ";
  317. 2580 NEXT Y
  318. 2585 PRINT
  319. 2590 PRINT
  320. 2595 NEXT X
  321. 2600 X=A : Y=B
  322. 2605 GOTO 2725
  323. 2610 PRINT ") LEVEL";Z
  324. 2615 GOTO 1950
  325. 2620 IF FL <> 0 GOTO 2650
  326. 2625 PRINT "** HEY, BRIGHT ONE, YOU'RE OUT OF FLARES!"
  327. 2630 GOTO 1950
  328. 2635 REM
  329. 2640 REM   DISPLAY ADJACENT ROOM CONTENTS WITH FLARE
  330. 2645 REM
  331. 2650 PRINT
  332. 2655 FL=FL-1
  333. 2660 A=X : B=Y
  334. 2665 FOR Q1=A-1 TO A+1
  335. 2670 X=FNB(Q1)
  336. 2675 FOR Q2=B-1 TO B+1
  337. 2680 Y=FNB(Q2)
  338. 2685 Q=FNE(L(FND(Z)))
  339. 2690 L(FND(Z))=Q
  340. 2695 PRINT " ";I$(Q);"   ";
  341. 2700 NEXT Q2
  342. 2705 PRINT
  343. 2710 PRINT
  344. 2715 NEXT Q1
  345. 2720 X=A : Y=B
  346. 2725 GOSUB 5570
  347. 2730 GOTO 1950
  348. 2735 REM
  349. 2740 REM   DISPLAY CONTENTS OF ADJACENT ROOM WITH LAMP
  350. 2745 REM
  351. 2750 IF LF <> 0 GOTO 2770
  352. 2755 PRINT
  353. 2760 PRINT "** YOU DON'T HAVE A LAMP, ";R$(RC);"!"
  354. 2765 GOTO 1950
  355. 2770 PRINT
  356. 2775 PRINT "WHERE DO YOU WANT TO SHINE THE LAMP (N,S,E,W)";
  357. 2780 GOSUB 5415
  358. 2785 A=X : B=Y
  359. 2790 X=FNB(X+(O$="N")-(O$="S"))
  360. 2795 Y=FNB(Y+(O$="W")-(O$="E"))
  361. 2800 IF A-X+B-Y <> 0 GOTO 2820
  362. 2805 PRINT
  363. 2810 PRINT "** THAT'S NOT A DIRECTION, ";R$(RC);"!"
  364. 2815 GOTO 1950
  365. 2820 PRINT
  366. 2825 PRINT "THE LAMP SHINES INTO (";X;",";Y;") LEVEL";Z;"."
  367. 2830 PRINT
  368. 2835 L(FND(Z))=FNE(L(FND(Z)))
  369. 2840 PRINT "THERE YOU WILL FIND ";C$(L(FND(Z)));"."
  370. 2845 X=A : Y=B
  371. 2850 GOTO 1950
  372. 2855 REM
  373. 2860 REM   TAKE A DRINK FROM A POOL
  374. 2865 REM
  375. 2870 IF L(FND(Z))=5 GOTO 2890
  376. 2875 PRINT
  377. 2880 PRINT "** IF YOU WANT A DRINK, FIND A POOL!"
  378. 2885 GOTO 1950
  379. 2890 Q=FNA(8)
  380. 2895 PRINT
  381. 2900 PRINT "YOU TAKE A DRINK AND ";
  382. 2905 IF Q < 7 THEN PRINT "FEEL ";
  383. 2910 ON Q GOTO 2915,2920,2925,2930,2935,2940,2945,2955
  384. 2915 ST=FNC(ST+FNA(3)) : PRINT "STRONGER." : GOTO 1950
  385. 2920 ST=ST-FNA(3) : PRINT "WEAKER." : ON (1-(ST<1)) GOTO 1950,4910
  386. 2925 IQ=FNC(IQ+FNA(3)) : PRINT "SMARTER." : GOTO 1950
  387. 2930 IQ=IQ-FNA(3) : PRINT "DUMBER." : ON (1-(IQ<1)) GOTO 1950,4910
  388. 2935 DX=FNC(DX+FNA(3)) : PRINT "NIMBLER." : GOTO 1950
  389. 2940 DX=DX-FNA(3) : PRINT "CLUMSIER." : ON (1-(DX<1)) GOTO 1950,4910
  390. 2945 Q=FNA(4) : IF Q=RC GOTO 2945
  391. 2950 RC=Q : PRINT "BECOME A ";R$(RC);"." : GOTO 1950
  392. 2955 SX=1-SX : PRINT "TURN INTO A "; : IF SX=0 THEN PRINT "FE";
  393. 2960 PRINT "MALE ";R$(RC);"!" : GOTO 1950
  394. 2965 IF L(FND(Z)) <> 6 GOTO 2985
  395. 2970 PRINT
  396. 2975 PRINT "YOU OPEN THE CHEST AND"
  397. 2980 GOTO 3115
  398. 2985 IF L(FND(Z)) <> 12 GOTO 3005
  399. 2990 PRINT
  400. 2995 PRINT "YOU OPEN THE BOOK AND"
  401. 3000 GOTO 3020
  402. 3005 PRINT
  403. 3010 PRINT "** THE ONLY THING OPENED WAS YOUR BIG MOUTH!"
  404. 3015 GOTO 1950
  405. 3020 ON FNA(6) GOTO 3025,3040,3050,3060,3075,3090
  406. 3025 PRINT "FLASH! OH NO! YOU ARE NOW A BLIND ";R$(RC);"!"
  407. 3030 BL=1
  408. 3035 GOTO 3105
  409. 3040 PRINT "IT'S ANOTHER VOLUME OF ZOT'S POETRY! - YECH!!"
  410. 3045 GOTO 3105
  411. 3050 PRINT "IT'S AN OLD COPY OF PLAY";R$(FNA(4));"!"
  412. 3055 GOTO 3105
  413. 3060 PRINT "IT'S A MANUAL OF DEXTERITY!"
  414. 3065 DX=18
  415. 3070 GOTO 3105
  416. 3075 PRINT "IT'S A MANUAL OF STRENGTH!"
  417. 3080 ST=18
  418. 3085 GOTO 3105
  419. 3090 PRINT "THE BOOK STICKS TO YOUR HANDS -"
  420. 3095 PRINT "NOW YOU ARE UNABLE TO DRAW YOUR WEAPON!"
  421. 3100 BF=1
  422. 3105 L(FND(Z))=1
  423. 3110 GOTO 1950
  424. 3115 ON FNA(4) GOTO 3120,3140,3160,3140
  425. 3120 PRINT "KABOOM! IT EXPLODES!!"
  426. 3125 Q=FNA(6)
  427. 3130 GOSUB 4860
  428. 3135 ON (1-(ST<1)) GOTO 3105,4910
  429. 3140 Q=FNA(1000)
  430. 3145 PRINT "FIND";Q;"GOLD PIECES!"
  431. 3150 GP=GP+Q
  432. 3155 GOTO 3105
  433. 3160 PRINT "GAS!! YOU STAGGER FROM THE ROOM!"
  434. 3165 L(FND(Z))=1
  435. 3170 T=T+20
  436. 3175 O$=MID$("NSEW",FNA(4),1)
  437. 3180 GOTO 2440
  438. 3185 IF L(FND(Z))=11 GOTO 3205
  439. 3190 PRINT
  440. 3195 PRINT "** IT'S HARD TO GAZE WITHOUT AN ORB!"
  441. 3200 GOTO 1950
  442. 3205 PRINT
  443. 3210 PRINT "YOU SEE ";
  444. 3215 ON FNA(6) GOTO 3220,3230,3240,3250,3285,3305
  445. 3220 PRINT "YOURSELF IN A BLOODY HEAP!"
  446. 3225 ST=ST-FNA(2) : ON (1-(ST<1)) GOTO 1950,4910
  447. 3230 PRINT "YOURSELF DRINKING FROM A POOL AND BECOMING ";C$(12+FNA(13));"!"
  448. 3235 GOTO 1950
  449. 3240 PRINT C$(12+FNA(13));" GAZING BACK AT YOU!"
  450. 3245 GOTO 1950
  451. 3250 A=X : B=Y : C=Z
  452. 3255 X=FNA(8) : Y=FNA(8) : Z=FNA(8)
  453. 3260 Q=FNE(L(FND(Z)))
  454. 3265 L(FND(Z))=Q
  455. 3270 PRINT C$(Q);" AT (";X;",";Y;") LEVEL";Z;"."
  456. 3275 X=A : Y=B : Z=C
  457. 3280 GOTO 1950
  458. 3285 A=FNA(8) : B=FNA(8) : C=FNA(8)
  459. 3290 IF FNA(8) < 4 THEN A=O(1) : B=O(2) : C=O(3)
  460. 3295 PRINT "***THE ORB OF ZOT*** AT (";A;",";B;") LEVEL";C;"!"
  461. 3300 GOTO 1950
  462. 3305 PRINT "A SOAP OPERA RERUN!"
  463. 3310 GOTO 1950
  464. 3315 IF RF <> 0 GOTO 3335
  465. 3320 PRINT
  466. 3325 PRINT "** YOU CAN'T TELEPORT WITHOUT THE RUNESTAFF!"
  467. 3330 GOTO 1950
  468. 3335 Z$="X-COORDINATE"
  469. 3340 GOSUB 5485
  470. 3345 X=Q
  471. 3350 Z$="Y-COORDINATE"
  472. 3355 GOSUB 5485
  473. 3360 Y=Q
  474. 3365 Z$="Z-COORDINATE"
  475. 3370 GOSUB 5485
  476. 3375 Z=Q
  477. 3380 O$="T"
  478. 3385 GOTO 3450
  479. 3390 PRINT
  480. 3395 PRINT "DO YOU REALLY WANT TO QUIT NOW";
  481. 3400 GOSUB 5415
  482. 3405 PRINT
  483. 3410 IF O$="Y" GOTO 3425
  484. 3415 PRINT "** THEN DON'T SAY THAT YOU DO!"
  485. 3420 GOTO 1950
  486. 3425 PRINT
  487. 3430 GOTO 5030
  488. 3435 REM
  489. 3440 REM   DISPLAY STATUS INFORMATION
  490. 3445 REM
  491. 3450 PRINT
  492. 3455 IF BL=0 THEN GOSUB 5570 : PRINT
  493. 3460 PRINT "STRENGTH =";ST;" INTELLIGENCE =";IQ;" DEXTERITY =";DX
  494. 3465 PRINT "TREASURES =";TC;" FLARES =";FL;" GOLD PIECES =";GP
  495. 3470 PRINT "WEAPON = ";W$(WV+1);"  ARMOR = ";W$(AV+5);
  496. 3475 IF LF=1 THEN PRINT "  AND A LAMP";
  497. 3480 PRINT
  498. 3485 WC=0
  499. 3490 Q=FNE(L(FND(Z)))
  500. 3495 L(FND(Z))=Q
  501. 3500 Z$="YOU NOW HAVE"
  502. 3505 PRINT
  503. 3510 PRINT "HERE YOU FIND ";C$(Q);"."
  504. 3515 IF (Q<7) OR (Q=11) OR (Q=12) GOTO 1950
  505. 3520 IF Q=7 THEN GP=GP+FNA(10) : PRINT Z$;GP;"." : GOTO 3105
  506. 3525 IF Q=8 THEN FL=FL+FNA(5) : PRINT Z$;FL;"." : GOTO 3105
  507. 3530 IF Q > 9 GOTO 3545
  508. 3535 IF (O(1)=X) AND (O(2)=Y) AND (O(3)=Z) THEN ON (1-(O$="T")) GOTO 2440,5175
  509. 3540 X=FNA(8) : Y=FNA(8) : Z=FNA(8) : GOTO 3450
  510. 3545 IF Q=10 THEN Z=FNB(Z+1) : GOTO 3450
  511. 3550 IF Q <= 25 OR Q >= 34 GOTO 3580
  512. 3555 PRINT
  513. 3560 PRINT "IT'S NOW YOURS!"
  514. 3565 T(Q-25)=1
  515. 3570 TC=TC+1
  516. 3575 GOTO 3105
  517. 3580 A=L(FND(Z))-12
  518. 3585 WC=0
  519. 3590 IF (A<13) OR (VF=1) GOTO 4185
  520. 3595 PRINT
  521. 3600 PRINT "YOU MAY TRADE WITH, ATTACK, OR IGNORE THE VENDOR."
  522. 3605 GOSUB 5405
  523. 3610 IF O$="I" GOTO 1950
  524. 3615 IF O$ <> "A" GOTO 3640
  525. 3620 VF=1
  526. 3625 PRINT
  527. 3630 PRINT "YOU'LL BE SORRY THAT YOU DID THAT!"
  528. 3635 GOTO 4185
  529. 3640 IF O$="T" GOTO 3660
  530. 3645 PRINT
  531. 3650 PRINT "** NICE SHOT, ";R$(RC);"!"
  532. 3655 GOTO 3595
  533. 3660 FOR Q=1 TO 8
  534. 3665 A=FNA(Q*1500)
  535. 3670 IF T(Q)=0 GOTO 3700
  536. 3675 PRINT
  537. 3680 PRINT "DO YOU WANT TO SELL ";C$(Q+25);" FOR";A;"GP'S";
  538. 3685 GOSUB 5415
  539. 3690 IF O$="Y" THEN TC=TC-1 : T(Q)=0 : GP=GP+A : GOTO 3700
  540. 3695 IF O$ <> "N" THEN PRINT Y$ : GOTO 3675
  541. 3700 NEXT Q
  542. 3705 IF GP >= 1000 GOTO 3725
  543. 3710 PRINT
  544. 3715 PRINT "YOU'RE TOO POOR TO TRADE, ";R$(RC);"."
  545. 3720 GOTO 1950
  546. 3725 IF GP < 1250 GOTO 3975
  547. 3730 PRINT
  548. 3735 PRINT "OK, ";R$(RC);", YOU HAVE";GP;"GP'S AND ";W$(AV+5);" ARMOR."
  549. 3740 PRINT
  550. 3745 Z$="ARMOR"
  551. 3750 GOSUB 5555
  552. 3755 PRINT "NOTHING<0> LEATHER<1250> ";
  553. 3760 IF GP > 1499 THEN PRINT "CHAINMAIL<1500> ";
  554. 3765 IF GP > 1999 THEN PRINT "PLATE<2000>";
  555. 3770 PRINT
  556. 3775 GOSUB 5405
  557. 3780 PRINT
  558. 3785 IF O$="N" GOTO 3850
  559. 3790 IF O$="L" THEN GP=GP-1250 : AV=1 : AH=7 : GOTO 3850
  560. 3795 IF O$ <> "C" OR GP >= 1500 GOTO 3810
  561. 3800 PRINT "** YOU HAVEN'T GOT THAT MUCH CASH ON HAND!"
  562. 3805 GOTO 3740
  563. 3810 IF O$="C" THEN GP=GP-1500 : AV=2 : AH=14 : GOTO 3850
  564. 3815 IF O$ <> "P" OR GP >= 2000 GOTO 3830
  565. 3820 PRINT "** YOU CAN'T AFFORD PLATE ARMOR!"
  566. 3825 GOTO 3740
  567. 3830 IF O$="P" THEN GP=GP-2000 : AV=3 : AH=21 : GOTO 3850
  568. 3835 PRINT
  569. 3840 PRINT "** DON'T BE SILLY. CHOOSE A SELECTION."
  570. 3845 GOTO 3770
  571. 3850 IF GP < 1250 GOTO 3975
  572. 3855 PRINT
  573. 3860 PRINT "YOU HAVE";GP;"GP'S LEFT WITH ";W$(WV+1);" IN HAND."
  574. 3865 PRINT
  575. 3870 Z$="WEAPON"
  576. 3875 GOSUB 5555
  577. 3880 PRINT "NOTHING<0> DAGGER<1250> ";
  578. 3885 IF GP > 1499 THEN PRINT "MACE<1500> ";
  579. 3890 IF GP > 1999 THEN PRINT "SWORD<2000>";
  580. 3895 PRINT
  581. 3900 GOSUB 5405
  582. 3905 PRINT
  583. 3910 IF O$="N" GOTO 3975
  584. 3915 IF O$="D" THEN GP=GP-1250 : WV=1 : GOTO 3975
  585. 3920 IF O$ <> "M" OR GP >= 1500 GOTO 3935
  586. 3925 PRINT "** SORRY SIR, I'M AFRAID I DON'T GIVE CREDIT!"
  587. 3930 GOTO 3865
  588. 3935 IF O$="M" THEN GP=GP-1500 : WV=2 : GOTO 3975
  589. 3940 IF O$ <> "S" OR GP >= 2000 GOTO 3960
  590. 3945 PRINT "** YOUR DUNGEON EXPRESS CARD - ";
  591. 3950 PRINT "YOU LEFT HOME WITHOUT IT!"
  592. 3955 GOTO 3865
  593. 3960 IF O$="S" THEN GP=GP-2000 : WV=3 : GOTO 3975
  594. 3965 PRINT "** TRY CHOOSING A SELECTION!"
  595. 3970 GOTO 3895
  596. 3975 IF GP < 1000 GOTO 1950
  597. 3980 Z$="STRENGTH"
  598. 3985 GOSUB 5525
  599. 3990 IF O$ <> "Y" GOTO 4020
  600. 3995 GP=GP-1000
  601. 4000 ST=FNC(ST+FNA(6))
  602. 4005 Q=ST
  603. 4010 GOSUB 5540
  604. 4015 GOTO 3975
  605. 4020 IF O$ <> "N" THEN PRINT Y$ : GOTO 3980
  606. 4025 IF GP < 1000 GOTO 1950
  607. 4030 Z$="INTELLIGENCE"
  608. 4035 GOSUB 5525
  609. 4040 IF O$ <> "Y" GOTO 4070
  610. 4045 GP=GP-1000
  611. 4050 IQ=FNC(IQ+FNA(6))
  612. 4055 Q=IQ
  613. 4060 GOSUB 5540
  614. 4065 GOTO 4025
  615. 4070 IF O$ <> "N" THEN PRINT Y$ : GOTO 4030
  616. 4075 IF GP < 1000 GOTO 1950
  617. 4080 Z$="DEXTERITY"
  618. 4085 GOSUB 5525
  619. 4090 IF O$ <> "Y" GOTO 4120
  620. 4095 GP=GP-1000
  621. 4100 DX=FNC(DX+FNA(6))
  622. 4105 Q=DX
  623. 4110 GOSUB 5540
  624. 4115 GOTO 4075
  625. 4120 IF O$ <> "N" THEN PRINT Y$ : GOTO 4080
  626. 4125 IF (GP<1000) OR (LF=1) GOTO 1950
  627. 4130 PRINT
  628. 4135 PRINT "DO YOU WANT TO BUY A LAMP FOR 1000 GP'S";
  629. 4140 GOSUB 5415
  630. 4145 IF O$ <> "Y" GOTO 4175
  631. 4150 GP=GP-1000
  632. 4155 LF=1
  633. 4160 PRINT
  634. 4165 PRINT "IT'S GUARANTEED TO OUTLIVE YOU!"
  635. 4170 GOTO 1950
  636. 4175 IF O$ <> "N" THEN PRINT Y$ : GOTO 4130
  637. 4180 GOTO 1950
  638. 4185 Q1=1+INT(A/2) : Q2=A+2 : Q3=1
  639. 4190 IF (C(1,4)>T(1)) OR (BL=1) OR (DX<FNA(9)+FNA(9)) GOTO 4700
  640. 4195 PRINT
  641. 4200 PRINT "YOU'RE FACING ";C$(A+12);"!"
  642. 4205 PRINT
  643. 4210 PRINT "YOU MAY ATTACK OR RETREAT."
  644. 4215 IF Q3=1 THEN PRINT "YOU CAN ALSO ATTEMPT A BRIBE."
  645. 4220 IF IQ > 14 THEN PRINT "YOU CAN ALSO CAST A SPELL."
  646. 4225 PRINT
  647. 4230 PRINT "YOUR STRENGTH IS";ST;"AND YOUR DEXTERITY IS";DX;"."
  648. 4235 GOSUB 5405
  649. 4240 IF O$ <> "A" GOTO 4445
  650. 4245 IF WV <> 0 GOTO 4265
  651. 4250 PRINT
  652. 4255 PRINT "** POUNDING ON ";C$(A+12);" WON'T HURT IT!"
  653. 4260 GOTO 4700
  654. 4265 IF BF <> 1 GOTO 4285
  655. 4270 PRINT
  656. 4275 PRINT "** YOU CAN'T BEAT IT TO DEATH WITH A BOOK!"
  657. 4280 GOTO 4700
  658. 4285 IF DX >= FNA(20)+(3*BL) GOTO 4305
  659. 4290 PRINT
  660. 4295 PRINT "YOU MISSED, TOO BAD!"
  661. 4300 GOTO 4700
  662. 4305 Z$=RIGHT$(C$(A+12),LEN(C$(A+12))-2)
  663. 4310 IF LEFT$(Z$,1)=" " THEN Z$=MID$(Z$,2)
  664. 4315 PRINT
  665. 4320 PRINT "YOU HIT THE EVIL ";Z$;"!"
  666. 4325 Q2=Q2-WV
  667. 4330 IF (A <> 9 AND A <> 12) GOTO 4355
  668. 4335 IF FNA(8) <> 1 GOTO 4355
  669. 4340 PRINT
  670. 4345 PRINT "OH NO! YOUR ";W$(WV+1);" BROKE!"
  671. 4350 WV=0
  672. 4355 IF Q2 > 0 GOTO 4700
  673. 4360 PRINT
  674. 4365 MC=MC-1
  675. 4370 PRINT C$(A+12);" LIES DEAD AT YOUR FEET!"
  676. 4375 IF H > T-60 GOTO 4395
  677. 4380 PRINT
  678. 4385 PRINT "YOU SPEND AN HOUR EATING ";C$(A+12);E$(FNA(8));"."
  679. 4390 H=T
  680. 4395 IF X <> R(1) OR Y <> R(2) OR Z <> R(3) THEN ON (1-(A=13)) GOTO 4420,5305
  681. 4400 PRINT
  682. 4405 PRINT "GREAT ZOT! YOU'VE FOUND THE RUNESTAFF!";CHR$(7)
  683. 4410 R(1)=0
  684. 4415 RF=1
  685. 4420 Q=FNA(1000)
  686. 4425 PRINT
  687. 4430 PRINT "YOU NOW GET HIS HOARD OF";Q;"GP'S!"
  688. 4435 GP=GP+Q
  689. 4440 GOTO 3105
  690. 4445 IF O$="R" GOTO 4700
  691. 4450 IF O$ <> "C" GOTO 4595
  692. 4455 IF IQ >= 15 OR Q3 <= 1 GOTO 4475
  693. 4460 PRINT
  694. 4465 PRINT "** YOU CAN'T CAST A SPELL NOW!"
  695. 4470 GOTO 4195
  696. 4475 PRINT
  697. 4480 PRINT "WHICH SPELL (WEB, FIREBALL, DEATHSPELL)";
  698. 4485 GOSUB 5415
  699. 4490 PRINT
  700. 4495 IF O$ <> "W" GOTO 4515
  701. 4500 ST=ST-1
  702. 4505 WC=FNA(8)+1
  703. 4510 ON (1-(ST<1)) GOTO 4700,4910
  704. 4515 IF O$ <> "F" GOTO 4560
  705. 4520 Q=FNA(7)+FNA(7)
  706. 4525 ST=ST-1
  707. 4530 IQ=IQ-1
  708. 4535 IF (IQ < 1) OR (ST < 1) GOTO 4910
  709. 4540 PRINT "IT DOES";Q;"POINTS WORTH OF DAMAGE."
  710. 4545 PRINT
  711. 4550 Q2=Q2-Q
  712. 4555 GOTO 4355
  713. 4560 IF O$="D" GOTO 4580
  714. 4565 PRINT
  715. 4570 PRINT "** TRY ONE OF THE OPTIONS GIVEN."
  716. 4575 GOTO 4195
  717. 4580 PRINT "DEATH . . . ";
  718. 4585 IF IQ < FNA(4)+15 THEN PRINT "YOURS!" : IQ=0 : GOTO 4910
  719. 4590 PRINT "HIS!" : Q2=0 : GOTO 4360
  720. 4595 IF O$="B" AND Q3 <= 1 GOTO 4615
  721. 4600 PRINT
  722. 4605 PRINT "** CHOOSE ONE OF THE OPTIONS LISTED."
  723. 4610 GOTO 4195
  724. 4615 IF TC <> 0 GOTO 4635
  725. 4620 PRINT
  726. 4625 PRINT "ALL I WANT IS YOUR LIFE!"
  727. 4630 GOTO 4700
  728. 4635 Q=FNA(8)
  729. 4640 IF T(Q)=0 GOTO 4635
  730. 4645 PRINT
  731. 4650 PRINT "I WANT ";C$(Q+25);". WILL YOU GIVE IT TO ME";
  732. 4655 GOSUB 5415
  733. 4660 IF O$="N" GOTO 4700
  734. 4665 IF O$ <> "Y" THEN PRINT Y$ : GOTO 4645
  735. 4670 T(Q)=0
  736. 4675 TC=TC-1
  737. 4680 PRINT
  738. 4685 PRINT "OK, JUST DON'T TELL ANYONE ELSE."
  739. 4690 VF=VF+(L(FND(Z))=25)
  740. 4695 GOTO 1950
  741. 4700 Q3=2
  742. 4705 IF WC <= 0 GOTO 4720
  743. 4710 WC=WC-1
  744. 4715 IF WC=0 THEN PRINT : PRINT "THE WEB JUST BROKE!"
  745. 4720 Z$=RIGHT$(C$(A+12),LEN(C$(A+12))-2)
  746. 4725 IF LEFT$(Z$,1)=" " THEN Z$=MID$(Z$,2)
  747. 4730 IF WC <= 0 GOTO 4750
  748. 4735 PRINT
  749. 4740 PRINT "THE ";Z$;" IS STUCK AND CAN'T ATTACK NOW!"
  750. 4745 GOTO 4805
  751. 4750 PRINT
  752. 4755 PRINT "THE ";Z$;" ATTACKS!"
  753. 4760 IF DX < FNA(7)+FNA(7)+FNA(7)+3*BL GOTO 4780
  754. 4765 PRINT
  755. 4770 PRINT "WHAT LUCK, HE MISSED YOU!"
  756. 4775 GOTO 4805
  757. 4780 PRINT
  758. 4785 PRINT "OUCH! HE HIT YOU!"
  759. 4790 Q=Q1
  760. 4795 GOSUB 4860
  761. 4800 IF ST < 1 GOTO 4910
  762. 4805 IF O$ <> "R" GOTO 4195
  763. 4810 PRINT
  764. 4815 PRINT "YOU HAVE ESCAPED!"
  765. 4820 PRINT
  766. 4825 PRINT "DO YOU WANT TO GO NORTH, SOUTH, EAST, OR WEST";
  767. 4830 GOSUB 5415
  768. 4835 IF O$="N" OR O$="S" OR O$="E" OR O$="W" GOTO 2440
  769. 4840 PRINT
  770. 4845 PRINT "** DON'T PRESS YOUR LUCK, ";R$(RC);"!"
  771. 4850 PRINT
  772. 4855 GOTO 4825
  773. 4860 IF AV=0 GOTO 4900
  774. 4865 Q=Q-AV
  775. 4870 AH=AH-AV
  776. 4875 IF Q < 0 THEN AH=AH-Q : Q=0
  777. 4880 IF AH >= 0 GOTO 4900
  778. 4885 AH=0 : AV=0
  779. 4890 PRINT
  780. 4895 PRINT "YOUR ARMOR HAS BEEN DESTROYED . . . GOOD LUCK!"
  781. 4900 ST=ST-Q
  782. 4905 RETURN
  783. 4910 PRINT CHR$(7)
  784. 4915 GOSUB 5375
  785. 4920 PRINT "A NOBLE EFFORT, OH FORMERLY LIVING ";R$(RC);"!"
  786. 4925 PRINT
  787. 4930 PRINT "YOU DIED DUE TO LACK OF ";
  788. 4935 IF ST < 1 THEN PRINT "STRENGTH."
  789. 4940 IF IQ < 1 THEN PRINT "INTELLIGENCE."
  790. 4945 IF DX < 1 THEN PRINT "DEXTERITY."
  791. 4950 PRINT
  792. 4955 Q3=1
  793. 4960 PRINT "AT THE TIME YOU DIED, YOU HAD :"
  794. 4965 GOTO 5055
  795. 4970 Q3=0
  796. 4975 PRINT
  797. 4980 PRINT "YOU LEFT THE CASTLE WITH";
  798. 4985 IF OF=0 THEN PRINT "OUT";
  799. 4990 PRINT " THE ORB OF ZOT."
  800. 4995 PRINT
  801. 5000 IF OF=0 GOTO 5030
  802. 5005 PRINT
  803. 5010 PRINT "AN INCREDIBLY GLORIOUS VICTORY!!"
  804. 5015 PRINT
  805. 5020 PRINT "IN ADDITION, YOU GOT OUT WITH THE FOLLOWING :"
  806. 5025 GOTO 5050
  807. 5030 PRINT
  808. 5035 PRINT "A LESS THAN AWE-INSPIRING DEFEAT."
  809. 5040 PRINT
  810. 5045 PRINT "WHEN YOU LEFT THE CASTLE, YOU HAD :"
  811. 5050 IF Q3=0 THEN PRINT "YOUR MISERABLE LIFE!"
  812. 5055 FOR Q=1 TO 8
  813. 5060 IF T(Q)=1 THEN PRINT C$(Q+25)
  814. 5065 NEXT Q
  815. 5070 PRINT W$(WV+1);" AND ";W$(AV+5);
  816. 5075 IF LF=1 THEN PRINT " AND A LAMP";
  817. 5080 PRINT
  818. 5085 PRINT "YOU ALSO HAD";FL;"FLARES AND";GP;"GOLD PIECES"
  819. 5090 IF RF=1 THEN PRINT "AND THE RUNESTAFF"
  820. 5095 PRINT
  821. 5100 PRINT "AND IT TOOK YOU";T;"TURNS!"
  822. 5105 PRINT
  823. 5110 PRINT "ARE YOU FOOLISH ENOUGH TO WANT TO PLAY AGAIN";
  824. 5115 GOSUB 5415
  825. 5120 PRINT
  826. 5125 IF O$ <> "Y" GOTO 5155
  827. 5130 PRINT "SOME ";R$(RC);"S NEVER LEARN!"
  828. 5135 PRINT
  829. 5140 PRINT "PLEASE BE PATIENT WHILE THE CASTLE IS RESTOCKED."
  830. 5145 PRINT
  831. 5150 GOTO 1105
  832. 5155 IF O$ <> "N" THEN PRINT Y$ : GOTO 5110
  833. 5160 PRINT "MAYBE DUMB ";R$(RC);" IS NOT SO DUMB AFTER ALL!"
  834. 5165 PRINT
  835. 5170 GOTO 5580
  836. 5175 PRINT
  837. 5180 PRINT "GREAT UNMITIGATED ZOT!"
  838. 5185 PRINT
  839. 5190 PRINT "YOU JUST FOUND ***THE ORB OF ZOT***!"
  840. 5195 PRINT
  841. 5200 PRINT "THE RUNESTAFF HAS DISAPPEARED!"
  842. 5205 RF=0
  843. 5210 OF=1
  844. 5215 O(1)=0
  845. 5220 GOTO 3105
  846. 5225 DATA AN EMPTY ROOM,.,THE ENTRANCE,E,STAIRS GOING UP,U
  847. 5230 DATA STAIRS GOING DOWN,D,A POOL,P,A CHEST,C,GOLD PIECES,G
  848. 5235 DATA FLARES,F,A WARP,W,A SINKHOLE,S,A CRYSTAL ORB,O
  849. 5240 DATA A BOOK,B,A KOBOLD,M,AN ORC,M,A WOLF,M,A GOBLIN,M,AN OGRE,M
  850. 5245 DATA A TROLL,M,A BEAR,M,A MINOTAUR,M,A GARGOYLE,M,A CHIMERA,M
  851. 5250 DATA A BALROG,M,A DRAGON,M,A VENDOR,V,THE RUBY RED,T
  852. 5255 DATA THE NORN STONE,T,THE PALE PEARL,T,THE OPAL EYE,T
  853. 5260 DATA THE GREEN GEM,T,THE BLUE FLAME,T,THE PALANTIR,T,THE SILMARIL,T
  854. 5265 DATA X,"?",NO WEAPON," SANDWICH"
  855. 5270 DATA DAGGER," STEW",MACE," SOUP",SWORD," BURGER",NO ARMOR," ROAST"
  856. 5275 DATA LEATHER," FILET",CHAINMAIL," TACO",PLATE," PIE"
  857. 5280 DATA HOBBIT,ELF,MAN,DWARF
  858. 5285 X=FNA(8) : Y=FNA(8)
  859. 5290 IF L(FND(Z)) <> 101 GOTO 5285
  860. 5295 L(FND(Z))=Q
  861. 5300 RETURN
  862. 5305 PRINT
  863. 5310 PRINT "YOU GET ALL HIS WARES :"
  864. 5315 PRINT "PLATE ARMOR"
  865. 5320 AV=3 : AH=21
  866. 5325 PRINT "A SWORD"
  867. 5330 WV=3
  868. 5335 PRINT "A STRENGTH POTION"
  869. 5340 ST=FNC(ST+FNA(6))
  870. 5345 PRINT "AN INTELLIGENCE POTION"
  871. 5350 IQ=FNC(IQ+FNA(6))
  872. 5355 PRINT "A DEXTERITY POTION"
  873. 5360 DX=FNC(DX+FNA(6))
  874. 5365 IF LF=0 THEN PRINT "A LAMP" : LF=1
  875. 5370 GOTO 4420
  876. 5375 FOR Q=1 TO 64
  877. 5380 PRINT "*";
  878. 5385 NEXT Q
  879. 5390 PRINT
  880. 5395 PRINT
  881. 5400 RETURN
  882. 5405 PRINT
  883. 5410 PRINT "YOUR CHOICE";
  884. 5415 INPUT O$
  885. 5420 O$=LEFT$(O$,1)
  886. 5425 RETURN
  887. 5430 PRINT "HOW MANY POINTS DO YOU WISH TO ADD TO YOUR ";Z$;
  888. 5435 INPUT O$
  889. 5440 PRINT
  890. 5445 Q=VAL(O$)
  891. 5450 IF Q=0 AND ASC(O$) <> 48 THEN Q=-1
  892. 5455 IF Q<0 OR Q>OT OR Q<>INT(Q) THEN PRINT "** "; : GOTO 5430
  893. 5460 OT=OT-Q
  894. 5465 RETURN
  895. 5470 INPUT O$
  896. 5475 Q=INT(VAL(O$))
  897. 5480 RETURN
  898. 5485 PRINT
  899. 5490 PRINT Z$;
  900. 5495 INPUT O$
  901. 5500 Q=INT(VAL(O$))
  902. 5505 IF Q > 0 AND Q < 9 THEN RETURN
  903. 5510 PRINT
  904. 5515 PRINT "** TRY A NUMBER FROM 1 TO 8."
  905. 5520 GOTO 5485
  906. 5525 PRINT
  907. 5530 PRINT "DO YOU WANT TO BUY A POTION OF ";Z$;" FOR 1000 GP'S";
  908. 5535 GOTO 5415
  909. 5540 PRINT
  910. 5545 PRINT "YOUR ";Z$;" IS NOW";Q;"."
  911. 5550 RETURN
  912. 5555 PRINT
  913. 5560 PRINT "THESE ARE THE TYPES OF ";Z$;" YOU CAN BUY :"
  914. 5565 RETURN
  915. 5570 PRINT "YOU ARE AT (";X;",";Y;") LEVEL";Z;"."
  916. 5575 RETURN
  917. 5580 END
  918.