1 REM THE RING OF THE INKA
2 REM SIR CLIVE EDITION V21
3 REM A ZX MDR ADVENTURE
4 REM (C) 2021 V. BARTHELD
5 REM & M. WIEDMER

10 PAPER 0: BORDER 0: INK 6: CLEAR 64914
15 GO SUB 9000: GO SUB C: GO TO 100

30 REM AI
31 IF AI THEN RETURN
32 LET AI=I: LET X$=""
33 IF L<474 OR C1=L THEN GO TO 35
34 GO SUB 6700: GO SUB 10*C1+8: LET S=Z: GO SUB 6600: IF U THEN LET C1=U: IF U=489 THEN LET C1=488
35 IF L<480 OR C2=L THEN GO TO 40
36 GO SUB 6700: GO SUB 10*C2+8: LET S=NOT CL: GO SUB 6600: IF U THEN LET C2=U: IF U=485 THEN LET C2=513

40 IF C3D THEN GO TO 60
41 IF C3=L OR RND>.7 THEN GO TO 45
42 GO SUB 6700: GO SUB 10*C3+8: LET S=I: GO SUB 6600: IF U=319 OR U=344 THEN LET U=343
43 IF U THEN LET C3=U
44 IF ABS(C3-L)<=I THEN LET X$="I HEAR CREEPY FOOTSTEPS. "

45 IF C3<>L OR RND>.3 THEN GO TO 60
46 LET T=Z: FOR N=ST TO NGO
47 IF NOT O(N) THEN LET T=T+I: LET R(T)=N: IF T=6 THEN GO TO 49
48 NEXT N: IF T=Z THEN GO TO 60
49 LET OB=R(I+RND*(T-I)): LET O(OB)=556: LET Y$=O$(OB): GO SUB 1560: GO SUB 6300: LET X$=X$+"THAT SHAMAN BASTARD STOLE MY "+Y$+"!"

60 IF (C1=L AND C1<>O(40)) OR (C2=L AND C2<>O(41)) THEN LET X$="A GUARD APPEARS."+(" HE NODS TOWARDS ME." AND CL)
61 LET O(40)=C1: LET O(41)=C2: LET O(19)=C3
62 RETURN

100 REM LOOP
105 GO SUB 30: GO SUB 6700: GO SUB 10*L
110 IF D THEN GO SUB C
115 IF NOT D AND S$<>"" AND S$<>P$ THEN GO SUB C: LOAD *"M";I;S$ CODE: LET U=USR 64949: LET P$=S$
120 LET U=USR 3652
125 LET L$="I AM "+L$: LET T=L: GO SUB 6950: IF LEN I$ THEN LET L$=L$+" I SEE: "+I$
130 IF D AND LEN H$ THEN LET L$=L$+" "+H$
135 GO SUB 6000
140 IF NO+EA+SO+WE+UP+DO THEN LET L$="EXITS:"+(" NORTH," AND NO)+(" EAST," AND EA)+(" SOUTH," AND SO)+(" WEST," AND WE)+(" UP," AND UP)+(" DOWN," AND DO): LET L$=L$(TO LEN L$-1)+".": GO SUB P

200 LET J=J-I: IF J=5 THEN LET L$="I FEEL DRAINED AND VERY WEAK.": GO SUB P
205 GO SUB 30: LET AI=Z: IF LEN X$ THEN LET L$=X$: GO SUB P
210 GO SUB 6700: GO SUB 10*L+8: GO SUB 7200: GO SUB 6400

224 REM TOKEN
226 LET A$="": LET B$=A$: LET V=Z: LET VB=Z: LET OB=Z
228 LET Y$=X$: GO SUB 6300: LET X$=Y$
230 IF NOT LEN X$ THEN GO TO 300
232 FOR N=I TO LEN X$: IF X$(N)=" " THEN LET A$=X$( TO N-I): LET B$=X$(N+I TO ): GO TO 238
234 NEXT N
236 LET A$=X$
238 IF LEN A$>5 THEN LET A$=A$( TO 5)
240 FOR N=I TO VN: IF A$=V$(N, I, TO LEN A$) THEN LET VB=N: LET V=VAL V$(N,2): GO TO 246
242 NEXT N
246 LET Y$=B$: GO SUB 6300: LET B$=Y$
248 IF LEN B$>16 THEN LET B$=B$( TO 16)
250 IF NOT LEN B$ THEN GO TO 270
252 FOR N=I TO ON
254 IF O(N)<Z THEN GO TO 260
256 IF B$<>O$(N, TO LEN B$) THEN GO TO 260
258 IF NOT O(N) OR O(N)=L THEN LET OB=N: GO TO 270
260 NEXT N
262 FOR N=I TO ON AND NOT OB: IF B$=O$(N, TO LEN B$) THEN LET OB=N: GO TO 270
264 NEXT N

270 REM EXEC
275 IF NOT V THEN GO SUB F: GO TO 300
280 GO SUB V

300 REM POST CMD
305 IF J<I THEN LET L$="I DIED FROM EXHAUSTION.": GO SUB P: GO SUB E
310 IF (C1=L OR C2=L) AND NOT CL THEN LET L$="THE GUARD DOES HIS DUTY AND KILLS ME.": GO SUB P: GO SUB E
315 IF L=300 AND O(I) AND NOT FN K(V) THEN LET L$="THE SHIP HIT ME. I DIED INSTANTLY.": GO SUB P: GO SUB E
320 IF L=301 AND O(I)<>-I AND NOT FN K(V) THEN LET L$="THE BOAT LANDED AND THE MEN TOOK ME WITH THEM. I'VE NEVER BEEN SEEN AGAIN.": GO SUB P: GO SUB E
325 IF L=331 AND NOT FR AND NOT FN K(V) THEN LET L$="I WAS CAUGHT, TIED TO A STAKE AND TORTURED TO DEATH!": GO SUB P: GO SUB E
330 IF L=344 AND NOT M THEN LET L$="THE RIVER CARRIES ME TO THE RAPIDS AND I DROWNED TO DEATH.": GO SUB P: GO SUB E
335 IF L=401 AND NOT LA THEN LET L$="I FELL AND BROKE MY NECK.": GO SUB P: GO SUB E
340 IF L=435 AND O(29)=L AND NOT M THEN LET L$="THE SNAKE BIT MY RIGHT LEG. I DIED IN TERRIBLE PAIN.": GO SUB P: GO SUB E
345 IF L=557 AND NOT M THEN LET L$="CONGRATULATIONS! YOU HAVE MASTERED THE QUEST.": GO SUB P: GO SUB E
350 IF PL THEN LET PL=PL-I: IF NOT PL THEN LET O(27)=-I: LET M=I

400 IF M THEN GO TO 100
410 GO TO 200

550 IF NO THEN LET M=I: LET L=NO: RETURN
551 GO TO 810
600 IF EA THEN LET M=I: LET L=EA: RETURN
601 GO TO 810
650 IF SO THEN LET M=I: LET L=SO: RETURN
651 GO TO 810
700 IF WE THEN LET M=I: LET L=WE: RETURN
701 GO TO 810
750 IF UP THEN LET M=I: LET L=UP: RETURN
751 GO TO 810
800 IF DO THEN LET M=I: LET L=DO: RETURN
810 LET L$="I CAN'T GO IN THAT DIRECTION!": GO SUB P: RETURN

850 LET L$="I HAVE WITH ME: ": LET T=Z: GO SUB 6950: IF LEN I$ THEN LET L$=L$+I$: GO TO 860
855 LET L$=L$+"NOTHING AT ALL."
860 GO SUB P: RETURN

900 IF NOT LEN B$ THEN LET M=I: RETURN
902 IF NOT OB THEN GO SUB F: RETURN
904 IF O(OB)<>L AND O(OB) THEN GO SUB F: RETURN
906 IF OB=2 THEN LET L$="A METAL CAN FULL OF FAT, DRIED MEAT AND BERRIES.": GO SUB P: RETURN
908 IF OB=3 THEN LET L$="THICK EXPLORER GLOVES.": GO SUB P: RETURN
910 IF OB=4 THEN LET L$="A VERY SHARP KNIFE!": GO SUB P: RETURN
912 IF OB=5 THEN GO TO 1800
914 IF OB=6 THEN LET L$="A SMITH & WESSON MODEL 640."+(" IT'S EMPTY." AND NOT G): GO SUB P: RETURN
916 IF OB=7 THEN LET L$="THREE CAL .38 PISTOL ROUNDS.": GO SUB P: RETURN
918 IF OB=9 THEN LET L$="A PETROL LAMP. I NEED SOMETHING TO LIGHT IT.": GO SUB P: RETURN
920 IF OB=11 THEN LET L$="IT'S WHAT YOU CAME HERE FOR.": GO SUB P: RETURN
922 IF OB=12 THEN LET L$="SEEMS TO BE A SHABBY UNIFORM.": GO SUB P: RETURN
924 IF OB=13 THEN LET L$="A FOLDING SPADE IN PRETTY GOOD SHAPE.": GO SUB P: RETURN
926 IF OB=15 THEN GO TO 7000
928 IF OB=16 OR OB=24 THEN LET L$="THE STATUE IS ATTACHED TO SOME MECHANICAL CONTRAPTION.": GO SUB P: RETURN
930 IF OB=17 THEN LET L$="GOOD TO START A FIRE.": GO SUB P: RETURN
932 IF OB=19 THEN LET L$="JUDGING BY HIS WEATHERED APPEARANCE, THIS GUY MUST BE AT LEAST 100 YEARS OLD."+(" HE'S DEAD." AND C3D): LET T=556: GO SUB 6950: IF LEN I$ THEN LET L$=L$+" HE IS CARRYING: "+I$
934 IF OB=19 THEN GO SUB P: RETURN
936 IF OB=21 THEN LET L$="CLEAR AND FRESH!": GO SUB P: RETURN
938 IF OB=22 THEN LET L$="PROBABLY ANCESTORS OF A SOUTH AMERICAN INKA TRIBE.": GO SUB P: RETURN
940 IF OB=28 THEN LET L$="SHOULD I GO INSIDE?": GO SUB P: RETURN
942 IF OB=29 OR OB=36 THEN LET L$="A GREEN MAMBA.": GO SUB P: RETURN
944 IF OB=30 THEN GO TO 1500
946 IF OB=37 THEN LET L$="THE OLD MAN IS WEARING A LONG WHITE ROBE.": GO SUB P: RETURN
948 IF OB=40 OR OB=41 THEN LET L$="THAT IS ONE FIERCE LOOKING BASTARD!": GO SUB P: RETURN
950 LET Y$=O$(OB): GO SUB 6300: LET L$="LOOKS LIKE SOME ORDINARY "+Y$+".": GO SUB P
952 RETURN

990 IF OB<>6 THEN GO SUB F: RETURN
992 IF O(7) THEN PRINT "I HAVE NO AMMO.": RETURN
994 LET O(7)=-I: LET G=3: PRINT "OK!": RETURN

1000 REM GO
1002 IF B$="" THEN PRINT "OK!": RETURN
1004 IF D THEN GO SUB 6200: IF U THEN LET L=U: LET M=I: RETURN
1006 IF OB=23 THEN GO TO 1700
1008 LET T=LEN B$: IF T>5 THEN LET B$=B$(TO 5): LET T=5
1010 FOR N=I TO VN: IF B$=V$(N,1,TO T) THEN LET VB=N: LET V=VAL V$(N,2): IF V>=550 AND V<=800 THEN GO TO V
1012 NEXT N
1014 GO SUB 1200
1016 RETURN

1030 IF NOT OB THEN GO SUB F: RETURN
1032 IF O(OB)<>L THEN GO SUB F: RETURN
1034 IF NOT O(6) THEN GO TO 1050
1036 IF O(4) THEN GO SUB F: RETURN
1038 IF OB=19 AND C3D THEN GO SUB F: RETURN
1040 IF OB=19 THEN LET L$="I BEHEAD THE SHAMAN WITH MY MACHETE. WHAT A DISGUSTING VIEW!": LET C3D=I: GO SUB 6900: GO SUB P: RETURN
1042 IF OB=22 THEN LET L$="I SWING MY MACHETE AT ONE NATIVE, CLEAVING HIS SKULL. THEN I GET STRANGLED FROM BEHIND.": GO SUB P: GO SUB E: RETURN
1044 GO SUB F: RETURN

1050 IF NOT OB THEN GO SUB F: RETURN
1052 IF O(OB)<>L THEN GO SUB F: RETURN
1054 IF O(6) THEN GO SUB F: RETURN
1056 IF NOT G THEN PRINT "*CLICK*": RETURN
1058 LET G=G-I
1060 IF NOT OB OR OB=6 THEN PRINT "*BANG*": RETURN
1062 IF OB=19 AND C3D THEN LET G=G+I: GO SUB F: RETURN
1064 IF OB=19 THEN LET L$="MY BULLET HIT THE SHAMAN'S CHEST, ENDING HIS LIFE.": LET C3D=I: GO SUB 6900: GO SUB P: RETURN
1066 IF OB=22 THEN LET L$="I SHOT ONE NATIVE, THEN A SECOND ONE, BUT THEY WERE TOO MANY...": GO SUB P: GO SUB E: RETURN
1068 IF OB=29 THEN PRINT "THE SNAKE IS DEAD.": LET O(OB)=-I: LET O(36)=L: RETURN
1070 IF OB=37 THEN LET L$="I SHOT THE MONK. HE VANISHED IN A FLASH OF LIGHT.": GO SUB P: LET O(OB)=-I: RETURN
1072 IF OB=40 THEN LET L$="HE BLEW UP IN SMOKE.": GO SUB P: LET C1=555: LET O(OB)=C1: RETURN
1074 IF OB=41 THEN LET L$="HE SHATTERED INTO BONES.": GO SUB P: LET C2=555: LET O(OB)=C2: RETURN
1076 LET Y$=O$(OB): GO SUB 6300: LET L$="I SHOT AT THE "+Y$+" WITH NO EFFECT.": GO SUB P
1078 RETURN

1150 PRINT "TIME PASSES.": RETURN

1200 IF NOT OB THEN GO SUB F: RETURN
1205 IF OB=31 AND L=502 THEN LET L=503: LET M=I: RETURN
1210 IF OB=32 AND L=324 THEN LET L=323: LET M=I: RETURN
1215 IF OB=33 AND L=331 THEN LET L=402: LET M=I: RETURN
1220 IF OB=34 AND L=454 THEN LET L=478: LET M=I: RETURN
1225 GO SUB F: RETURN

1400 IF OB<>21 THEN GO SUB F: RETURN
1410 IF L=456 THEN PRINT "AAHHH! THAT'S GOOD!": IF J<81 THEN LET J=81
1420 IF L=456 THEN RETURN
1430 GO SUB F: RETURN

1500 IF D THEN GO SUB 6200: IF U THEN LET O(U)=Z: RETURN
1502 IF NOT OB THEN GO SUB F: RETURN
1504 IF OB=18 AND L=O(10) THEN LET OB=10
1506 IF OB=18 AND L=O(14) THEN LET OB=14
1508 IF L<>O(OB) THEN GO SUB F: RETURN
1510 IF OB=30 THEN LET L$="IT FELL TO DUST. A PAPER APPEARS!": LET O(OB)=-I: LET O(5)=L: GO SUB P: RETURN
1512 IF OB<ST OR OB>ST+NGO THEN GO SUB F: RETURN
1514 IF OB=8 AND L=490 THEN LET RO=Z: LET O(23)=-I
1516 IF OB=4 AND NOT GL THEN LET L$="I CUT MY HANDS ON THE SHARP EDGE AND BLED TO DEATH.": GO SUB P: GO SUB E
1518 LET L$="OK!"
1520 IF OB=16 AND L=485 THEN LET L$=L$+" A WALL MOVES.": LET WA=I
1522 IF OB THEN LET O(OB)=Z
1524 GO SUB P: RETURN

1550 IF D THEN GO SUB 6200: IF U THEN LET O(U)=L: RETURN
1552 IF NOT OB THEN GO SUB F: RETURN
1554 IF O(OB) THEN GO SUB F: RETURN
1556 IF OB=11 AND L=450 THEN LET O(OB)=-I: LET L=557: LET M=I: RETURN
1558 LET O(OB)=L: LET L$="OK!"
1560 IF OB=3 THEN LET GL=Z
1562 IF OB=9 THEN LET LA=Z
1564 IF OB=12 THEN LET CL=Z
1566 IF OB=16 AND L=485 THEN LET L$=L$+" A WALL MOVES.": LET WA=Z
1568 IF NOT AI THEN GO SUB P
1570 RETURN

1600 IF NOT OB THEN GO SUB F: RETURN
1602 IF O(OB) AND L<>O(OB) THEN GO SUB F: RETURN
1604 IF OB<ST OR OB>ST+NGO THEN GO SUB F: RETURN
1606 LET O(OB)=Z: LET L$="OK!"
1608 IF OB=3 THEN LET GL=I
1610 IF OB=11 THEN LET L$="WOOOSH!": LET T=INT (5*RND): LET L=(489 AND T=Z)+(508 AND T=I)+(301 AND T=2)+(324 AND T=3)+(419 AND T=4): LET M=I: PAUSE 100
1612 IF OB=12 THEN LET CL=I
1614 GO SUB P: RETURN

1640 IF OB=4 AND GL THEN LET GL=Z: PRINT "OK!": RETURN
1641 IF OB=12 AND GL THEN LET CL=Z: PRINT "OK!": RETURN
1642 GO SUB F: RETURN

1650 LET L$=""
1655 IF OB=2 AND NOT O(2) THEN LET O(OB)=-I: LET J=J+151: LET L$="I ATE THE DRIED FOOD. TASTED UGLY AS HELL BUT SURELY HELPS TO PULL THROUGH."
1660 IF OB=3 AND NOT O(3) THEN LET J=J+3: LET L$="I CHEWED ON MY GLOVES. YUMMIE!"
1665 IF J>200 THEN LET J=200
1670 IF LEN L$ THEN GO SUB P: RETURN
1675 GO SUB F: RETURN

1700 IF OB=35 THEN PRINT "GOOD TRY! BUT I FAILED.": GO SUB E: RETURN
1705 IF OB<>23 THEN GO TO 1730
1710 IF L=345 THEN LET L=350: LET M=I: RETURN
1715 IF L=350 THEN LET L=345: LET M=I: RETURN
1720 IF L=408 THEN LET L=371: LET M=I: RETURN
1725 IF L=371 THEN LET L=408: LET M=I: RETURN
1730 GO SUB F: RETURN

1750 IF L=319 THEN LET L=320: LET M=I: GO TO 1775
1755 IF L=320 THEN LET L=343: LET M=I: GO TO 1775
1760 IF L=300 OR L=344 THEN GO TO 1775
1765 IF L=456 THEN LET L$="I CAN SEE SOMETHING GLIMMERING AT THE BOTTOM OF THE LAKE.": GO SUB P: RETURN
1770 GO SUB F: RETURN
1775 PRINT "OK! I'M SWIMMING.": PAUSE 50: RETURN

1800 IF NOT OB THEN RETURN
1810 IF OB=5 AND (O(5)=L OR NOT O(5)) THEN LET L$="THE PAPER READS: LET THE BELL RING. OH! IT CRUMBLED TO DUST!": GO SUB P: LET O(OB)=-I: RETURN
1820 IF OB=15 AND NOT O(15) THEN GO TO 7000
1840 GO SUB F: RETURN

1850 IF OB=35 AND L=488 THEN LET M=I: LET L=487: RETURN
1860 IF (B$="WAY" OR B$="UP") AND L=448 THEN LET L=453: LET M=I: RETURN
1870 PRINT "NOTHING HAPPENS!"
1899 RETURN

1900 GO SUB 10*L: IF NOT LEN H$ THEN LET H$="FORTUNE FAVOURS THE BRAVE!"
1905 LET L$=H$: GO SUB P: RETURN

1950 IF L=301 AND O(I) THEN PRINT "THE BOAT RUSHES BY.": LET O(I)=-I: RETURN
1955 IF L=331 THEN PRINT "I HIDE IN THE TENT!": LET M=I: LET L=402: RETURN
1960 PRINT "OK!": RETURN

2000 IF OB=8 AND L=480 AND O(8)=Z THEN IF RND<.6 THEN LET RO=I: PRINT "THE ROPE SURROUNDS THE BRANCH.": LET O(OB)=490: LET O(23)=L: RETURN
2049 GO TO 1550

2060 IF OB=17 THEN PRINT "I STRIKE SOME SPARKS.": RETURN
2065 IF O(9) THEN PRINT "I HAVE NOTHING TO LIGHT!": RETURN
2070 IF OB=9 AND NOT O(9) AND NOT O(17) THEN LET LA=I: PRINT "OK!": RETURN
2075 GO SUB F: RETURN

2250 IF L=498 AND OB=38 AND O(26)=-I THEN LET O(26)=488: LET O(35)=-I: PRINT "I HEAR A RUMBLE.": RETURN
2255 IF L=498 AND OB=38 AND O(26)=488 THEN LET O(26)=-I: LET O(35)=488: PRINT "AGAIN I HEAR A SOFT RUMBLE.": RETURN
2260 IF L=419 AND (OB=24 OR OB=16) THEN LET L$="OK! IT MOVED WITH A CLICKING SOUND.": GO SUB P: LET O(14)=403: RETURN
2265 IF B$="" THEN GO SUB F: RETURN
2270 LET L$="SORRY, BUT I CAN'T DO THAT.": IF OB=24 OR OB=16 OR OB=38 THEN LET L$=L$+".. YET."
2275 GO SUB P: RETURN

2400 IF L=344 THEN LET M=I: LET L$="IT WAS A WILD RIDE, BUT IT WORKED.": GO SUB P: PAUSE 100: LET L=319: RETURN
2405 IF L<>456 THEN GO SUB F: RETURN
2410 LET L$="OK!"
2415 IF O(10) THEN LET L$=L$+" WHILE DIVING TO THE BOTTOM, I CAUGHT THE GLIMMERING THING.": LET O(10)=Z
2420 GO SUB P: RETURN

2450 IF NOT OB THEN GO SUB F: RETURN
2452 IF OB<>25 THEN GO TO 2464
2456 IF O(OB)<>L THEN GO SUB F: RETURN
2458 IF O(14) THEN PRINT "I HAVEN'T GOT THE RIGHT KEY.": RETURN
2460 IF O(12)=-I THEN LET O(12)=L: PRINT "A CLOTH APPEARS.": RETURN
2462 PRINT "THE CHEST IS EMPTY.": RETURN
2464 IF OB<>39 THEN GO SUB F: RETURN
2466 IF NOT O(10) AND GA AND L=489 THEN PRINT "IT'S ALREADY OPEN.": RETURN
2468 IF O(10) AND NOT GA AND L=489 THEN PRINT "I HAVEN'T GOT THE RIGHT KEY.": RETURN
2470 IF NOT O(10) AND NOT GA AND L=489 THEN PRINT "OK!": LET GA=I
2480 RETURN

2500 LET BE=Z
2502 IF L<>323 THEN GO SUB F: RETURN
2504 IF O(37)=-I THEN GO SUB F: RETURN
2506 LET B$=B$+"  "
2508 FOR N=I TO LEN B$-5
2510 IF B$(N TO N+3)="BELL" OR B$(N TO N+3)="RING" THEN LET BE=I
2512 IF B$(N TO N+5)="PLEASE" THEN LET PL=4
2514 NEXT N
2516 IF BE AND PL THEN LET L$="THE MONK WATCHES ME CAREFULLY, STANDS UP AND RINGS A BELL.": GO SUB P: PAUSE 300: LET O(27)=L: LET M=I: RETURN
2518 IF PL THEN LET L$="THE MONK SAYS: PARDON, I DON'T QUITE UNDERSTAND.": GO SUB P: RETURN
2520 IF BE THEN LET L$="THE MONK SAYS: BE MORE POLITE!": GO SUB P: RETURN
2522 LET L$="THE MONK SEEMS TO IGNORE ME.": GO SUB P
2524 RETURN

2550 IF O(13) THEN LET L$="NO USE DIGGING WITH BARE HANDS.": GO SUB P: RETURN
2555 IF L<>372 THEN PRINT "NOTHING HAPPENS.": RETURN
2560 LET DI=DI+I: LET O(34)=L
2565 IF DI=3 THEN PRINT "A CHEST APPEARS.": LET O(25)=L: RETURN
2570 PRINT "GETTING DEEPER.": RETURN

2600 INPUT "REALLY QUIT? ";C$: IF LEN C$<I THEN GO TO 2600
2610 LET C$=C$(I): IF C$="Y" THEN RANDOMIZE USR Z
2620 RETURN

3000 LET L$="ON MY RAFT, DRIFTING ON THE SEA. TO THE EAST LIES MY DESTINATION, THE WEST COAST OF SOUTH AMERICA.": LET S$="SEA": LET H$="GET TO THE SHORE!"
3008 LET NO=300: LET EA=301: LET SO=300: LET WE=300: RETURN
3010 LET L$="NEXT TO MY RAFT ON AMERICA'S BEACH."+(" SUDDENLY I HEAR A MOTOR BOAT APPROACHING VERY FAST! MY RAFT IS NOT VISIBLE." AND O(I)<>-I): LET S$="LAN": LET H$="TAKE COVER!"
3018 LET NO=302: LET EA=303: LET SO=304: RETURN
3020 LET L$="ON THE BEACH, TO THE NORTH OF MY LANDING PLACE.": LET S$="BEA": GO SUB 6810
3028 LET SO=301: IF NOT O(4) THEN LET NO=305
3029 RETURN
3030 LET L$="ON A PLAIN. TO THE NORTH I CAN HEAR A WEIRD WHISPER.": LET S$="PLA": GO SUB 6810
3038 LET WE=301: IF NOT O(4) THEN LET NO=307: LET EA=316: LET SO=308
3039 RETURN
3040 LET L$="ON THE BEACH, TO THE SOUTH OF MY LANDING PLACE.": LET S$="BEA": GO SUB 6810
3048 LET NO=301: IF NOT O(4) THEN LET EA=308: LET SO=310
3049 RETURN
3050 LET L$="ON THE BEACH, TO THE NORTH OF MY LANDING PLACE. I CAN SEE AN ARROW DRAWN IN THE SAND POINTING EAST.": LET S$="BEA"
3058 LET SO=302: LET NO=311: LET EA=306: RETURN
3060 LET L$="AT THE EDGE OF THE JUNGLE. TO THE EAST I CAN HEAR FOREIGN VOICES.": LET S$="JUN": LET H$="VISIT THE TRIBE!"
3068 LET NO=312: LET EA=314: LET SO=307: LET WE=305: RETURN
3070 LET L$="AT THE EDGE OF THE JUNGLE. NATIVE VOICES SOUND FROM THE EAST.": LET S$="JUN"
3078 LET NO=306: LET EA=315: LET SO=303: RETURN
3080 LET L$="AT THE EDGE OF THE JUNGLE.": LET S$="JUN"
3088 LET NO=303: LET EA=317: LET SO=309: LET WE=304: RETURN
3090 LET L$="NEXT TO A LARGE JUNGLE.": LET S$="JUN"
3098 LET NO=308: LET EA=318: LET SO=320: LET WE=310: RETURN
3100 LET L$="ON THE BEACH. I NOTICE THAT IT LEADS AROUND A CORNER.": LET S$="BEA"
3108 LET NO=304: LET EA=309: RETURN
3110 LET L$="ON THE BEACH. TO THE NORTH I CAN HEAR NATIVE CHANTS.": LET S$="BEA"
3118 LET NO=333: LET EA=312: LET SO=305: RETURN
3120 LET L$="NEXT TO THE JUNGLE. TO THE NORTH I NOTICE STRANGE VOICES.": LET S$="JUN"
3128 LET NO=332: LET EA=313: LET SO=306: LET WE=311: RETURN
3130 LET L$="IN THE JUNGLE. TO THE NORTH OPENS A CLEARING. NATIVE VOICES SOUND FROM THERE.": LET S$="JUN"
3138 LET NO=331: LET EA=329: LET SO=314: LET WE=312: RETURN
3140 LET L$="DEEP IN THE JUNGLE. THERE IS AN ARROW CUT IN A TREE POINTING EAST. STRANGE WHISPERS COME FROM THE NORTH.": LET S$="JUN"
3148 LET NO=313: LET EA=328: LET SO=315: LET WE=306: RETURN
3150 LET L$="IN THE JUNGLE WITH TALL TREES AROUND ME.": LET S$="JUN"
3158 LET NO=314: LET EA=327: LET SO=316: LET WE=307: RETURN
3160 LET L$="ON A CLEARING."+(" THERE'S A SKULL SITTING ON A TREE LOOKING SOUTH." AND O(30)=L): LET S$="JUN"
3168 LET NO=315: LET EA=326: LET SO=317: LET WE=303: RETURN
3170 LET L$="IN THE JUNGLE. TO THE NORTH OPENS A CLEARING.": LET S$="JUN"
3178 LET NO=316: LET EA=325: LET SO=318: LET WE=308: RETURN
3180 LET L$="AT THE EDGE OF THE DEEP JUNGLE. TO THE EAST I HEAR THE SOUND OF BELLS. TO THE SOUTH RUSHES A RIVER.": LET S$="JUN"
3188 LET NO=317: LET EA=324: LET SO=319: LET WE=309: RETURN
3190 LET L$="IN THE RIVER.": LET S$="RIV": RETURN
3200 LET L$="ON THE BEACH. THE RIVER FLOWS INTO THE SEA HERE.": LET S$="BEA": LET H$="SWIMMING COULD BE A SHORTCUT."
3208 LET NO=309: LET EA=319: RETURN
3210 LET L$="IN THE JUNGLE. TO THE NORTH I CAN HEAR WATER RUSHING THROUGH THE TREES.": LET S$="JUN"
3218 LET NO=319: LET EA=322: RETURN
3220 LET L$="IN THE JUNGLE. TO THE NORTH IS A CREEK WINDING BETWEEN THE TREES.": LET S$="JUN"
3228 LET NO=319: LET EA=347: LET SO=322: LET WE=321: RETURN
3230 LET L$="IN THE OLD CHURCH."+(" THE SOUND OF THE BELL OPENED A SECRET PASSAGE. I SEE A BRIDGE LEADING EAST." AND O(27)=L): LET S$="INC"
3238 LET WE=324: IF O(27)=L THEN LET EA=345
3239 RETURN
3240 LET L$="IN FRONT OF AN OLD CHURCH. TO THE SOUTH I HEAR A RIVER. THE BELLS "+("STOPPED" AND O(27)=-I)+("ARE" AND O(27)<>-I)+" RINGING.": LET S$="CHU"
3248 LET NO=325: LET SO=319: LET WE=318: RETURN
3250 LET L$="ON THE BANK OF A RIVER FLOWING IN THE EAST.": LET S$="BAN"
3258 LET EA=319: LET NO=326: LET SO=324: LET WE=317: RETURN
3260 LET L$="IN THE DEEP JUNGLE BETWEEN HIGH TREES.": LET S$="JUN"
3268 LET NO=327: LET EA=343: LET SO=325: LET WE=316: RETURN
3270 LET L$="ON A SUNLIT JUNGLE CLEARING.": LET S$="JUN"
3278 LET NO=328: LET EA=342: LET SO=326: LET WE=315: RETURN
3280 LET L$="IN THE DEEP JUNGLE WITH TALL TREES ALL AROUND.": LET S$="JUN"
3288 LET NO=329: LET EA=341: LET SO=327: LET WE=314: RETURN
3290 LET L$="IN THE JUNGLE. I HEAR THE SOUND OF DRUMS FROM THE WEST.": LET S$="JUN"
3298 LET NO=330: LET EA=340: LET SO=328: LET WE=313: RETURN
3300 LET L$="NEAR A CLEARING. I HEAR WEIRD YELLS FROM THE WEST.": LET S$="JUN"
3308 LET NO=337: LET EA=339: LET SO=329: LET WE=331: RETURN
3310 LET L$="IN THE CENTRE OF A NATIVE VILLAGE. THERE ARE PEOPLE BEING TORTURED.": LET S$="VIL": LET H$="THOSE PEOPLE SEEM TO HATE ARMED FOREIGNERS."
3311 LET FR=O(4) AND O(6) AND O(7)
3312 IF FR THEN LET L$=L$+" THE NATIVES ARE VERY FRIENDLY, THEY OFFER ME SHELTER."
3313 IF NOT FR THEN LET L$=L$+" THE NATIVES ARE VERY ANGRY."
3318 LET EA=330: LET NO=336: LET WE=332: LET SO=313: RETURN
3320 LET L$="NEXT TO THE JUNGLE. TO THE EAST I CAN HEAR THE SOUNDS OF A NATIVE TRIBE.": LET S$="JUN"
3328 LET NO=335: LET EA=331: LET SO=312: LET WE=333: RETURN
3330 LET L$="ON THE BEACH. TO THE EAST I HEAR NATIVE CHANTS.": LET S$="BEA"
3338 LET NO=334: LET EA=332: LET SO=311: RETURN
3340 LET L$="ON THE LARGE BEACH.": LET S$="BEA"
3348 LET NO=364: LET EA=335: LET SO=333: RETURN
3350 LET L$="AT THE EDGE OF THE BIG JUNGLE. TO THE SOUTH I HEAR THE MURMUR OF VOICES.": LET S$="JUN"
3358 LET NO=363: LET EA=336: LET SO=332: LET WE=334: RETURN
3360 LET L$="AT THE EDGE OF THE JUNGLE. TO THE SOUTH I RECOGNIZE A VILLAGE, CAMPFIRES AND THE SILHOUETTES OF DANCING PEOPLE.": LET S$="JUN"
3368 LET NO=362: LET EA=337: LET SO=331: LET WE=335: RETURN
3370 LET L$="AT THE EDGE OF THE BIG JUNGLE. TO THE NORTH AND THE EAST ARE ROCKFACES.": LET S$="ROC"
3378 LET WE=336: LET SO=330: RETURN
3390 LET L$="AT THE EDGE OF THE JUNGLE. THE WAY NORTH AND EAST IS BLOCKED BY ROCKFACES.": LET S$="ROC"
3398 LET SO=340: LET WE=330: RETURN
3400 LET L$="AT THE EDGE OF THE JUNGLE.": LET S$="JUN"
3408 LET NO=339: LET EA=356: LET SO=341: LET WE=329: RETURN
3410 LET L$="IN THE DEEP JUNGLE. THERE IS AN ARROW CUT IN A TREE POINTING EAST.": LET S$="JUN"
3418 LET NO=340: LET EA=354: LET SO=342: LET WE=328: RETURN
3420 LET L$="IN THE JUNGLE. TO THE EAST OPENS A SUNBATHED CLEARING. THERE MIGHT BE A RIVER NEARBY.": LET S$="JUN"
3428 LET NO=341: LET EA=353: LET SO=343: LET WE=327: RETURN
3430 LET L$="IN THE JUNGLE. TO THE SOUTH I CAN RECOGNIZE A RIVER.": LET S$="JUN"
3438 LET NO=342: LET EA=352: LET SO=319: LET WE=326: RETURN
3440 LET L$="UP TO MY NECK IN THE RIVER AND IT SEEMS I HAVE NO CHANCE.": LET S$="RIV": LET M=I: RETURN
3450 LET L$="IN FRONT OF A LONG BRIDGE CONNECTING ONE BANK WITH THE OTHER.": LET S$="BRI"
3458 LET WE=324: RETURN
3470 LET L$="IN THE JUNGLE. TO THE NORTH FLOWS A RIVER.": LET S$="JUN"
3478 LET NO=319: LET EA=348: LET SO=347: LET WE=322: RETURN
3480 LET L$="IN THE DEEP JUNGLE.": LET S$="JUN"
3488 LET NO=349: LET EA=382: LET SO=348: LET WE=347: RETURN
3490 LET L$="IN THE JUNGLE AGAIN. TO THE NORTH I SEE A LONG BRIDGE.": LET S$="JUN"
3498 LET NO=350: LET EA=381: LET SO=348: LET WE=319: RETURN
3500 LET L$="IN FRONT OF A LONG BRIDGE.": LET S$="BRI"
3508 LET EA=380: LET SO=349: RETURN
3520 LET L$="ON THE BANK. DANGEROUS RAPIDS RUSH TO THE EAST BUT GET CALMER TO THE SOUTH.": LET S$="BAN": LET H$="DON'T DROWN!"
3528 LET NO=353: LET EA=344: LET SO=319: LET WE=325: RETURN
3530 LET L$="NEXT TO A FUNNY GREEN PLANT. SOMEWHERE RUSHES WATER.": LET S$="JUN"
3538 LET NO=354: LET EA=377: LET SO=352: LET WE=342: RETURN
3540 LET L$="IN THE JUNGLE. I THINK I CAN HEAR A RIVER.": LET S$="JUN"
3548 LET NO=356: LET EA=376: LET SO=353: LET WE=341: RETURN
3560 LET L$="AT THE EDGE OF THE JUNGLE. TO THE NORTH AND EAST RISE ROCKFACES.": LET S$="ROC"
3568 LET SO=354: LET WE=340: RETURN
3580 LET L$="ON A PLAIN.": LET S$="PLA"
3588 LET NO=359: LET EA=373: RETURN
3590 LET L$="RIGHT AT THE JUNGLE'S EDGE.": LET S$="JUN"
3598 LET NO=370: LET WE=360: LET EA=372: LET SO=358: RETURN
3600 LET L$="IN THE JUNGLE.": LET S$="JUN"
3608 LET NO=369: LET EA=359: RETURN
3620 LET L$="AT THE EDGE OF THE JUNGLE. TO THE NORTH AND EAST THERE ARE ROCKFACES.": LET S$="ROC"
3628 LET SO=336: LET WE=363: RETURN
3630 LET L$="ON A GRASSY PLAIN.": LET S$="GPL"
3638 LET NO=457: LET EA=362: LET SO=335: LET WE=364: RETURN
3640 LET L$="ON THE BEACH, BUT THE GROUND BECOMES STONY.": LET S$="BEA"
3648 LET NO=365: LET EA=363: LET SO=334: RETURN
3650 LET L$="ON A PATHWAY. THE WAY NORTH LEADS UPHILL AND TO THE SOUTH THERE IS THE OPEN SEA.": LET S$="PAT"
3658 LET NO=460: LET SO=364: RETURN
3680 LET L$="IN THE DEEP JUNGLE. TO THE WEST AND SOUTH RISE ROCKFACES.": LET S$="JUN":
3688 LET NO=399: LET EA=369: RETURN
3690 LET L$="IN THE JUNGLE.": LET S$="JUN"
3698 LET NO=398: LET EA=370: LET SO=360: LET WE=368: RETURN
3700 LET L$="AT THE JUNGLE'S EDGE. TO THE NORTH FLOWS A RIVER.": LET S$="JUN"
3708 LET NO=344: LET EA=371: LET WE=369: LET SO=359: RETURN
3710 LET L$="IN FRONT OF A BRIDGE LEADING NORTH.": LET S$="BRI"
3718 LET EA=344: LET SO=372: LET WE=370: RETURN
3720 LET L$="ON A SANDY PLAIN. I SEE A WOODEN CROSS.": LET S$="PLA": LET H$="THE GROUND LOOKS QUITE SOFT AROUND HERE."
3728 LET NO=371: LET EA=393: LET SO=373: LET WE=359: RETURN
3730 LET L$="ON A VAST PLAIN.": LET S$="GPL"
3738 LET NO=372: LET EA=392: LET SO=374: LET WE=358: RETURN
3740 LET L$="ON A PLAIN.": LET S$="PLA"
3748 LET NO=373: LET EA=391: RETURN
3760 LET L$="IN A MINING CAMP. TO THE NORTH AND EAST ARE IMPASSABLE ROCKFACES.": LET S$="CAM"
3768 LET SO=377: LET WE=354: RETURN
3770 LET L$="AT THE EDGE OF THE JUNGLE. TO THE EAST AND SOUTH ARE RIVERBANKS.": LET S$="JUN"
3778 LET NO=376: LET EA=344: LET WE=353: LET SO=344: RETURN
3800 LET L$="ON A BANK.": LET S$="BAN"
3808 LET NO=319: LET EA=385: LET SO=381: LET WE=350: RETURN
3810 LET L$="AT THE EDGE OF THE JUNGLE.": LET S$="JUN"
3818 LET EA=384: LET NO=380: LET SO=382: LET WE=349: RETURN
3820 LET L$="IN THE JUNGLE.": LET S$="JUN"
3828 LET NO=381: LET EA=383: LET SO=382: LET WE=348: RETURN
3830 LET L$="IN THE JUNGLE.": LET S$="JUN"
3838 LET NO=384: LET EA=423: LET SO=383: LET WE=382: RETURN
3840 LET L$="IN THE JUNGLE AND RECOGNIZE THE CLEARING TO THE EAST.": LET S$="JUN"
3848 LET NO=385: LET EA=422: LET SO=383: LET WE=381: RETURN
3850 LET L$="NEXT TO THE JUNGLE.": LET S$="JUN"
3858 LET NO=386: LET EA=421: LET SO=384: LET WE=380: RETURN
3860 LET L$="AT THE JUNGLE'S EDGE WITH THE GREAT RAPIDS TO THE NORTH AND WEST.": LET S$="JUN"
3868 LET NO=344: LET EA=420: LET SO=385: LET WE=319: RETURN
3900 LET L$="ON A BANK.": LET S$="BAN"
3908 LET NO=391: LET EA=344: RETURN
3910 LET L$="ON A BANK. THE RIVER IS TO THE EAST.": LET S$="BAN"
3918 LET NO=392: LET WE=374: LET EA=344: LET SO=390: RETURN
3920 LET L$="ON A BANK. THE RIVER IS TO THE EAST.": LET S$="BAN"
3928 LET NO=393: LET EA=344: LET SO=391: LET WE=373: RETURN
3930 LET L$="ON A BANK. THE RIVER FLOWS NORTH-EAST OF ME.": LET S$="BAN"
3938 LET NO=344: LET EA=344: LET SO=392: LET WE=372: RETURN
3980 LET L$="AT THE EDGE OF THE JUNGLE. THE RIVER FLOWS NORTH-EAST OF ME.": LET S$="BAN"
3988 LET NO=344: LET EA=NO: LET SO=369: LET WE=399: RETURN
3990 LET L$="AT THE BORDER OF THE JUNGLE. THERE'S A RIVER TO THE NORTH.": LET S$="JUN"
3998 LET NO=344: LET EA=398: LET SO=368: LET WE=400: RETURN
4000 LET L$="IN THE JUNGLE NEAR THE MOUNTAINS. TO THE WEST LURKS A DARK CAVERN.": LET S$="JUN"
4008 LET NO=404: LET EA=399: LET WE=401: RETURN
4010 LET L$="IN A DARK CAVERN."+(" THE CORNER TO THE WEST LOOKS INTERESTING IN A STRANGE WAY." AND O(14)=-I): LET S$="CAV"
4018 LET NO=403: LET SO=403: LET WE=403: LET EA=400: RETURN
4020 LET L$="IN A TENT."+(" A NATIVE WOMAN HAS APPEARED AND BEGAN CRYING. I BETTER GO." AND NOT O(6)): LET S$="TEN"
4028 LET NO=331: RETURN
4030 LET L$="IN A CORNER OF THE CAVERN.": LET S$="CAV"
4038 LET EA=401: RETURN
4040 LET L$="AT THE JUNGLE'S EDGE. A RIVER FLOWS TO THE EAST AND ROCKS RISE TO THE NORTH.": LET S$="JUN"
4048 LET NO=448: LET EA=344: LET SO=400: RETURN
4080 LET L$="ON A BANK. THE RIVER FLOWS SOUTH-EAST. ALSO I RECOGNIZE A BRIDGE LEADING SOUTH.": LET S$="BRI"
4088 LET NO=444: LET EA=409: LET SO=344: LET WE=SO: RETURN
4090 LET L$="ON A BANK. THE RIVER VANISHES TO THE SOUTH.": LET S$="BAN"
4098 LET NO=443: LET EA=410: LET SO=344: LET WE=408: RETURN
4100 LET L$="NEXT TO AN ARROW POINTING WEST.": LET S$="BAN"
4108 LET NO=442: LET EA=440: LET SO=411: LET WE=409: RETURN
4110 LET L$="ON A BANK. THE RIVER FLOWS SOUTH-EAST.": LET S$="BAN"
4118 LET NO=410: LET EA=439: LET SO=344: LET WE=SO: RETURN
4190 LET L$="IN A VILLAGE RUIN WITH A PATH LEADING SOUTH-EAST. NORTH RUSHES WATER.": LET S$="RUI"
4198 LET NO=344: LET EA=430: LET SO=420: RETURN
4200 LET L$="ON A PATH LEADING NORTH AND SOUTH.": LET S$="PAT"
4208 LET NO=419: LET EA=429: LET SO=421: LET WE=386: RETURN
4210 LET L$="ON AN OLD PATH.": LET S$="PAT"
4218 LET NO=420: LET EA=428: LET SO=422: LET WE=385: RETURN
4220 LET L$="ON AN OLD PATH LEADING NORTH. TO THE SOUTH IT SEEMS TO DISAPPEAR.": LET S$="PAT"
4228 LET NO=421: LET SO=423: LET EA=425: LET WE=384: RETURN
4230 LET L$="IN THE DEEP JUNGLE.": LET S$="JUN"
4238 LET NO=422: LET EA=424: LET SO=423: LET WE=383: RETURN
4240 LET L$="LOST IN THE DEEP AND DANGEROUS JUNGLE.": LET S$="JUN"
4248 LET NO=425: LET EA=473: LET SO=424: LET WE=423: RETURN
4250 LET L$="IN THE JUNGLE. I RECOGNIZE A CLEARING.": LET S$="JUN"
4258 LET NO=428: LET EA=472: LET SO=424: LET WE=422: RETURN
4280 LET L$="IN THE JUNGLE.": LET S$="JUN"
4288 LET NO=429: LET EA=471: LET SO=425: LET WE=421: RETURN
4290 LET L$="AT THE JUNGLE'S EDGE.": LET S$="JUN"
4298 LET NO=430: LET EA=470: LET SO=428: LET WE=420: RETURN
4300 LET L$="NEXT TO AN ANCIENT PATH LEADING NORTH-WEST.": LET S$="PAT"
4308 LET NO=431: LET EA=469: LET SO=429: LET WE=419: RETURN
4310 LET L$="ON A PATH LEADING FROM NORTH TO SOUTH. TO THE WEST IS A RIVER, TO THE EAST RISE STEEP ROCKS.": LET S$="PAT"
4318 LET NO=432: LET SO=430: LET WE=344: RETURN
4320 LET L$="ON A PATH LEADING WEST TO WHERE THE RIVER ENDS.": LET S$="BAN"
4328 LET NO=434: LET SO=431: LET WE=344: RETURN
4340 LET L$="ON A GRASSY PLAIN.": LET S$="GPL"
4348 LET NO=435: LET SO=432: RETURN
4350 LET L$="ON A GRASSY PLAIN."+(" IN FRONT OF ME THERE IS A VERY ANGRY LOOKING SNAKE." AND O(29)<>-I): LET S$="GPL"
4358 LET NO=436: LET SO=434: IF O(29)<>-I THEN LET NO=Z
4359 RETURN
4360 LET L$="ON A SANDY PLAIN. TO THE WEST FLOWS A RIVER.": LET S$="PLA"
4368 LET NO=437: LET SO=435: LET WE=344: RETURN
4370 LET L$="ON A PLAIN WITH A RIVER TO THE WEST.": LET S$="BAN"
4378 LET NO=438: LET SO=436: LET WE=344: RETURN
4380 LET L$="ON A LONELY PLAIN. TO THE WEST FLOWS A RIVER.": LET S$="BAN"
4388 LET NO=439: LET SO=437: LET WE=344: RETURN
4390 LET L$="ON A PLAIN. TO THE EAST RISE STEEP HILLS.": LET S$="PLA"
4398 LET NO=440: LET SO=438: LET WE=411: RETURN
4400 LET L$="IN A ROCKY PLACE.": LET S$="ROC"
4408 LET SO=439: LET WE=410: LET NO=441: RETURN
4410 LET L$="IN A ROCKY PLACE.": LET S$="ROC"
4418 LET SO=440: LET WE=442: RETURN
4420 LET L$="NEXT TO A ROCKFACE.": LET S$="ROC"
4428 LET EA=441: LET SO=410: LET WE=443: RETURN
4430 LET L$="IN A STONY PLACE. STEEP ROCKFACES RISE TO THE NORTH.": LET S$="PLA"
4438 LET WE=444: LET EA=442: LET SO=409: RETURN
4440 LET L$="SOMEWHERE IN NOWHERE.": LET S$="VIE"
4448 LET WE=445: LET SO=408: LET EA=443: RETURN
4450 LET L$="NEXT TO A STREAM LEADING SOUTH.": LET S$="VIE"
4458 LET NO=456: LET WE=446: LET SO=408: LET EA=444: RETURN
4460 LET L$="ON A BANK. THE RIVER FLOWS SOUTH-EAST.": LET S$="BAN"
4468 LET NO=455: LET EA=445: LET SO=344: RETURN
4480 LET L$="NEXT TO THE WATERFALL. ABOVE ME IS A WAY LEADING INTO THE WATERFALL. EAST ROARS A GREAT RIVER.": LET S$="FAL"
4488 LET EA=344: LET SO=404: RETURN
4490 LET L$="AT A PLACE ALMOST SURROUNDED BY ROCKS.": LET S$="ROC"
4498 LET NO=452: LET EA=448: RETURN
4500 LET L$="NEXT TO A GRASSY PLAIN. A MAN IS AWAITING ME. I RECOGNIZE HIM AS MY BOSS."+(" HE SEES THE RING AND IS VERY SATISFIED WITH ME. THE ONLY WORD HE SAYS IS: BRAVO!" AND NOT O(11)): LET S$="VIE": LET H$="GIVE HIM THE RING!"
4508 LET NO=451: RETURN
4510 LET L$="IN THE VAST DESERT.": LET S$="LAV"
4518 LET NO=451: LET SO=450: LET WE=451: LET EA=474: RETURN
4520 LET L$="ON A STONY PLAIN.": LET S$="GPL"
4528 LET NO=475: LET SO=449: LET EA=453: RETURN
4530 LET L$="ON A SMALL PATH. IT DISAPPEARS IN THE WATERFALL TO THE EAST.": LET S$="WAY"
4538 LET EA=454: LET WE=452: RETURN
4540 LET L$="UNDER THE WATERFALL. THERE IS A HOLE IN THE ROCKS.": LET S$="HOL"
4548 LET WE=453: RETURN
4550 LET L$="NEXT TO A PRETTY WATERFALL.": LET S$="WAY"
4558 LET NO=479: LET SO=446: LET EA=456: LET WE=344: RETURN
4560 LET L$="NEXT TO A SMALL LAKE.": LET S$="BEA"
4568 LET WE=455: LET SO=445: RETURN
4570 LET L$="IN THE HILLS.": LET S$="HIL"
4578 LET UP=458: LET SO=363: RETURN
4580 LET L$="ON A PLATFORM.": LET S$="HIL"
4588 LET DO=457: LET NO=459: RETURN
4590 LET L$="IN THE HILLS, NEXT TO A FOREST.": LET S$="HIL"
4598 LET SO=458: LET DO=462: RETURN
4600 LET L$="IN THE HILLS.": LET S$="HIL"
4608 LET NO=461: LET SO=365: RETURN
4610 LET L$="NEXT TO A FOREST.": LET S$="FOR"
4618 LET EA=462: LET SO=460: LET UP=468: RETURN
4620 LET L$="IN A FOREST.": LET S$="FOR"
4628 LET UP=459: LET WE=461: RETURN
4630 LET L$="IN THE MOUNTAINS. TO THE SOUTH EXTENDS THE JUNGLE.": LET S$="VIE"
4638 LET NO=466: LET EA=464: RETURN
4640 LET L$="IN THE MOUNTAINS. NORTH-EAST IS A PYRAMID.": LET S$="PYR"
4648 LET WE=463: LET DO=465: RETURN
4650 LET L$="IN A HOLE.": LET S$="HOL": LET H$="LONG AGO AN EXPLORER FELL IN HERE, BROKE HIS NECK AND LEFT SOMETHING."
4658 LET UP=464: RETURN
4660 LET L$="IN THE MOUNTAINS.": LET S$="ROC"
4668 LET WE=467: LET SO=463: RETURN
4670 LET L$="AT THE MOUNTAIN SUMMIT. NORTH ARE MORE MOUNTAINS, EAST IS A VALLEY, SOUTH A HUGE JUNGLE AND WEST THE SEA.": LET S$="HIL"
4678 LET EA=466: LET WE=468: RETURN
4680 LET L$="IN THE MOUNTAINS.": LET S$="ROC"
4688 LET DO=461: LET EA=467: RETURN
4690 LET L$="IN FRONT OF HUGE ROCKS. TO THE SOUTH I SEE THE JUNGLE.": LET S$="ROC"
4698 LET SO=470: LET WE=430: RETURN
4700 LET L$="AT THE JUNGLE'S EDGE.": LET S$="JUN"
4708 LET SO=471: LET WE=429: LET NO=469: RETURN
4710 LET L$="IN THE JUNGLE. A MAZE OPENS IN FRONT OF ME.": LET S$="JUN"
4718 LET NO=470: LET SO=472: LET WE=428: RETURN
4720 LET L$="IN A MAZE OF BRANCHES. THE WAY TO THE EAST IS BLOCKED.": LET S$="JUN"
4728 LET NO=471: LET SO=473: LET WE=425: RETURN
4730 LET L$="LOST IN A HUGE JUNGLE MAZE.": LET S$="JUN"
4738 LET NO=472: LET SO=473: LET WE=424: RETURN
4740 LET L$="NEXT TO THE ENTRANCE OF A CAVERN.": LET S$="HOL"
4748 LET UP=495: LET WE=451: RETURN
4750 LET L$="IN A VALLEY.": LET S$="GPL"
4758 LET SO=452: LET EA=476: RETURN
4760 LET L$="IN A BLIND ALLEY.": LET S$="LAV"
4768 LET WE=475: RETURN
4780 LET L$="IN A TUNNEL LIT BY TORCHES. SOUTH IS A WATERFALL.": LET S$="TUN"
4788 LET SO=454: LET NO=492: LET EA=480: RETURN
4790 LET L$="NEXT TO THE BOTTOM OF A NICE WATERFALL.": LET S$="FAL"
4798 LET SO=455: LET WE=344: RETURN
4800 LET L$="IN A TUNNEL NEXT TO AN ABYSS. ON THE OTHER SIDE IS A THICK BRANCH.": LET S$="ABY"
4808 LET WE=478: IF RO=I THEN LET EA=490
4809 RETURN
4820 LET L$="ON A PLAIN.": LET S$="PLA"
4828 LET NO=487: LET EA=483: RETURN
4830 LET L$="NEXT TO A TOWER.": LET S$="ENT"
4838 LET EA=484: LET WE=482: RETURN
4840 LET L$="IN A BLIND ALLEY.": LET S$="LAV"
4848 LET WE=483: RETURN
4850 LET L$="IN A CORRIDOR. A LITTLE PLATFORM IS IN THE CORNER.": LET S$="TUN"
4858 LET NO=504: IF WA THEN LET EA=513
4859 RETURN
4860 LET L$="IN A CORRIDOR. A DOOR CLOSES BEHIND ME.": LET S$="TUN"
4868 LET EA=485: RETURN
4870 LET L$="NEXT TO A TEMPLE.": LET S$="ROC": GO SUB 6800
4878 LET NO=502: LET SO=482: RETURN
4880 LET L$="... NO, I RATHER FELL INTO A HOLE.": LET S$="HOL": LET H$="REMEMBER THE CACTUS WITH THE LEVER?"
4888 IF O(26)=488 THEN LET NO=501: LET EA=487: LET WE=489
4889 RETURN
4890 LET L$="NEXT TO A GATE. AN INSCRIPTION SAYS 'GOLDEN GATE OF THE TEMPLE OF THE SUN'."+(" IT'S CLOSED." AND NOT GA): LET S$="GAT": GO SUB 6800
4898 LET NO=500: LET WE=490: IF GA THEN LET EA=488
4899 RETURN
4900 LET L$="IN FRONT OF A DARK CAVERN ENTRANCE.": LET S$="HOL"
4908 LET NO=499: LET SO=480: LET EA=489: RETURN
4920 LET L$="IN A TUNNEL.": LET S$="TUN"
4928 LET NO=495: LET SO=478: RETURN
4950 LET L$="IN A TUNNEL. THERE IS A CROSS HERE.": LET S$="TUN"
4958 LET SO=492: LET UP=496: LET DO=474: RETURN
4960 LET L$="ON THE HILLTOP NORTH OF A CREEK. I HAVE A PRETTY VIEW. TO THE EAST IS A TEMPLE.": LET S$="PYR"
4968 LET DO=495: LET SO=344: RETURN
4970 LET L$="IN A BLIND ALLEY.": LET S$="LAV"
4978 LET EA=498: RETURN
4980 LET L$="IN A DESERT. A LEVER IS PROTRUDING FROM A CACTUS."+(" IT'S PUSHED." AND O(26)=488): LET S$="VIE"
4988 LET WE=497: LET EA=499: RETURN
4990 LET L$="IN THE ENDLESS DESERT.": LET S$="LAV"
4998 LET NO=499: LET SO=490: LET WE=498: LET EA=500: RETURN
5000 LET L$="IN FRONT OF A WALL.": LET S$="GAT"
5008 LET NO=500: LET SO=489: LET WE=499: RETURN
5010 LET L$="IN A YARD.": LET S$="ROC": GO SUB 6800
5018 LET SO=488: LET EA=502: RETURN
5020 LET L$="IN FRONT OF A TOWER.": LET S$="ENT": GO SUB 6800
5028 LET WE=501: LET SO=487: RETURN
5030 LET L$="IN THE INKA TEMPLE.": LET S$="CAT": GO SUB 6800
5038 LET SO=486: LET WE=502: RETURN
5040 LET L$=M$: LET S$="CAT"
5048 LET WE=503: RETURN
5050 LET L$=M$: LET S$="CAT"
5058 LET EA=506: RETURN
5060 LET L$=M$: LET S$="CAT"
5068 LET WE=505: LET DO=513: RETURN
5070 LET L$=M$: LET S$="CAT"
5078 LET EA=508: LET DO=511: RETURN
5080 LET L$="IN A SPLENDID ROOM."+(" I RECOGNIZE THE SOURCE OF ALL THE LIGHT: IT'S THE RING OF THE INKA!" AND O(11))
5085 LET S$="ALT"
5088 LET DO=509: LET WE=507: RETURN
5090 LET L$=M$+" ABOVE ME IS A HOLE.": LET S$="CAT": LET H$="I NEED A ROPE TO GET UP THERE!"
5098 LET SO=510: IF NOT O(8) THEN LET UP=508
5099 RETURN
5100 LET L$=M$: LET S$="CAT":
5108 LET NO=509: LET SO=517: RETURN
5110 LET L$=M$: LET S$="CAT"
5118 LET DO=512: RETURN
5120 LET L$=M$: LET S$="CAT"
5128 LET UP=511: LET DO=515: LET WE=513: RETURN
5130 LET L$=M$: LET S$="CAT"
5138 LET EA=512: LET WE=485: LET UP=506: LET DO=514: RETURN
5140 LET L$=M$: LET S$="CAT"
5148 LET DO=524: LET UP=513: LET EA=515: RETURN
5150 LET L$=M$: LET S$="CAT"
5158 LET UP=512: LET WE=514: LET SO=520: RETURN
5160 LET L$=M$: LET S$="CAT"
5168 LET EA=517: LET DO=519: RETURN
5170 LET L$=M$: LET S$="CAT"
5178 LET NO=510: LET WE=516: LET SO=518: RETURN
5180 LET L$=M$: LET S$="CAT"
5188 LET NO=517: RETURN
5190 LET L$=M$: LET S$="CAT"
5198 LET UP=516: LET WE=520: RETURN
5200 LET L$=M$: LET S$="CAT"
5208 LET NO=515: LET EA=519: LET DO=521: RETURN
5210 LET L$=M$: LET S$="CAT"
5218 LET UP=520: LET DO=522: RETURN
5220 LET L$=M$: LET S$="CAT"
5228 LET SO=523: LET UP=521: RETURN
5230 LET L$=M$: LET S$="CAT"
5238 LET NO=522: LET UP=524: RETURN
5240 LET L$=M$: LET S$="CAT"
5248 LET DO=523: LET UP=514: RETURN
5558 LET L$="IN LIMBO.": RETURN
5568 LET L$="SHAMAN POCKET": RETURN
5578 LET L$="BACK HOME IN A HUGE AUDIENCE HALL WITH THE CROWD CHEERING IN FRONT OF ME.": LET S$="END": RETURN

6000 REM PRINT
6005 PRINT AT 10,Z;
6010 LET B=33: LET A=I
6015 IF PEEK 23689=2 THEN PRINT #Z;AT Z,Z;E$;AT I,7;"PRESS ANY KEY": PAUSE Z: PRINT #Z;AT Z,Z;E$'E$: GO SUB 6400
6020 LET T=LEN L$: IF B>T THEN LET B=T
6025 IF T-A<32 THEN PRINT L$(A TO): RETURN
6030 FOR N=B TO A STEP -1
6035 IF L$(N)<>" " THEN NEXT N
6040 IF N=A-1 THEN PRINT L$(A TO B-1): LET A=B: LET B=B+32: GO TO 6015
6045 PRINT L$(A TO N-I): LET A=N+I: LET B=A+32
6050 GO TO 6015

6100 REM CLS
6105 LET U=USR 64915: PRINT AT 8,Z;E$'"--------------------------------";AT 10,Z;: RETURN

6200 REM STR2D
6210 LET U=Z: FOR N=I TO LEN B$: IF B$(N)>="0" AND B$(N)<="9" THEN LET U=N: NEXT N
6220 IF U THEN LET U=VAL B$(TO U)
6230 RETURN

6300 REM TRIM
6305 IF NOT LEN Y$ THEN RETURN
6310 IF Y$(I)=" " THEN LET Y$=Y$(2 TO ): GO TO 6305
6315 IF NOT LEN Y$ THEN RETURN
6320 IF Y$(LEN Y$)=" " THEN LET Y$=Y$( TO LEN Y$-I): GO TO 6315
6325 RETURN

6400 REM SCRL
6410 LET T=24-PEEK 23689: LET U=USR 3580: LET T=T-I: IF T<I THEN LET T=I
6420 PRINT AT T,Z;: RETURN

6500 REM DIR?
6505 DEF FN K(V)=V=550 OR V=600 OR V=650 OR V=700 OR V=750 OR V=800 OR V=1000 OR V=1200 OR V=1750 OR V=1850 OR V=1950 OR V=2100 OR V=2400

6600 REM RND DIR+SEEK
6605 LET U=Z
6610 FOR N=I TO 6
6615 IF UP THEN LET R(N)=UP: LET UP=Z: NEXT N
6620 IF DO THEN LET R(N)=DO: LET DO=Z: NEXT N
6625 IF NO THEN LET R(N)=NO: LET NO=Z: NEXT N
6630 IF SO THEN LET R(N)=SO: LET SO=Z: NEXT N
6635 IF EA THEN LET R(N)=EA: LET EA=Z: NEXT N
6640 IF WE THEN LET R(N)=WE: LET WE=Z: NEXT N
6645 IF N=I THEN RETURN
6650 IF S=Z THEN GO TO 6665
6655 FOR T=I TO N-I: IF R(T)=L THEN LET U=L: RETURN
6660 NEXT T
6665 LET U=R(I+RND*(N-2))
6670 RETURN

6700 REM CLR
6710 LET NO=Z: LET SO=Z: LET WE=Z: LET EA=Z: LET UP=Z: LET DO=Z: LET S=Z: LET M=Z: LET L$="": LET S$="": LET H$="": RETURN

6800 LET H$="BEWARE THE GUARDS!": RETURN
6810 IF O(4) THEN LET H$="IF ONLY I HAD A MACHETE!"
6820 RETURN

6900 REM DEAD SHAMAN
6910 FOR N=I TO ON: IF O(N)=556 THEN LET O(N)=L
6920 NEXT N: RETURN

6950 REM INV
6955 LET I$="": FOR N=I TO ON: IF T=O(N) THEN LET Y$=O$(N): GO SUB 6300: LET I$=I$+Y$+", "
6960 NEXT N: IF LEN I$ THEN LET I$=I$( TO LEN I$-2)+"."
6965 RETURN

7000 REM MAP
7010 GO SUB C: LOAD *"M";I;"MAP" CODE: LET U=USR 64949: RETURN

7200 REM INPUT
7205 POKE 23658,8
7210 DIM Z$(29): LET K=Z
7215 LET T=24-PEEK 23689: IF T=22 THEN GO SUB 6400

7224 PRINT AT T,K;"{INK 4}>"
7225 LET I$=""
7226 PRINT AT T,K+I;"_ "
7230 BEEP .002,20
7235 LET I$=INKEY$
7240 IF I$="" THEN GO TO 7235
7245 IF CODE I$=13 THEN GO TO 7270
7250 IF CODE I$=12 AND K>0 THEN LET K=K-I: GO TO 7226
7255 IF K>28 THEN GO TO 7235
7260 IF (I$<"0" OR I$>"Z") AND I$<>" " THEN GO TO 7235
7265 PRINT AT T,K+I;"{INK 5}";I$: LET K=K+I: LET Z$(K)=I$: GO TO 7226
7270 LET X$=Z$( TO K): PRINT AT T,1;"{INK 4}";X$;" "
7280 RETURN

8000 REM OBJS
8010 IF NOT D THEN GO TO F
8015 CLS: FOR N=I TO ON: PRINT O$(N);TAB 23;N;TAB 27;O(N): NEXT N: GO TO 8070
8050 REM VERBS
8055 IF NOT D THEN GO TO F
8060 CLS: FOR N=I TO VN: PRINT N;TAB 5;V$(N,I);TAB 15;V$(N,2): NEXT N: GO TO 8070
8070 PAUSE Z: GO SUB C: LET M=I: PRINT AT 10,0;: RETURN

8100 LET D=NOT D: PRINT "DEBUG ";: IF D THEN PRINT "ON": LET P$="": RETURN
8105 PRINT "OFF": RETURN

8200 IF D THEN RETURN
8205 INPUT "ANOTHER GAME? ";X$: IF X$="Y" THEN RUN 15
8210 RANDOMIZE USR Z

8300 REM ERR
8305 IF NOT VB AND NOT OB THEN LET L$="PARDON?": GO SUB P: RETURN
8310 IF NOT VB THEN LET L$="HOW SHOULD I "+A$+" SOMETHING?": GO SUB P: RETURN
8315 IF NOT OB THEN LET L$="WHY "+A$+"?": GO SUB P: RETURN
8320 IF O(OB)<>L AND O(OB)<>Z THEN LET L$="THERE'S NO "+B$+" HERE.": GO SUB P: RETURN
8325 LET L$="HOW SHOULD I "+A$+" A "+B$+"?"
8330 GO SUB P: RETURN

9000 REM INIT
9005 PRINT "{AT 10,5}THE ADVENTURE BEGINS."

9050 RANDOMIZE: LET L=300
9055 LET I=1: LET Z=0: LET AI=Z: LET C=6100: LET C1=486: LET C2=519: LET C3=314: LET C3D=Z: LET CL=Z: LET D=Z: LET DI=Z: LET E=8200: LET F=8300: LET FR=Z: LET G=Z: LET GA=Z: LET GL=Z: LET J=201: LET LA=Z: LET M=Z: LET P=6010: LET PL=Z: LET RO=Z: LET WA=Z
9060 LET P$="": LET E$="{06}{06}": LET M$="IN A MAZE OF CATACOMBS IN THE TEMPLE.": DIM R(6)

9100 RESTORE 9110: LET VN=51: DIM V$(VN,2,5)
9105 FOR N=I TO VN: READ A$: IF LEN A$ THEN LET V$(N,I)=A$: READ V$(N,2): NEXT N
9110 DATA "ASK","2500","CHARG","990","CLIMB","1000","CLOSE","2600","CROSS","1700","DOWN","800","DEBUG","8100","DIG","2550","DIVE","2400","DRAW","2250","DRINK","1400","DROP","1550"
9115 DATA "EAST","600","EAT","1650","ENTER","1200","EXAMI","900","FIGHT","1030","GET","1500","GIVE","1550","GO","1000","HELP","1900","HIDE","1950","INVEN","850","JUMP","1850","KILL","1030"
9120 DATA "LOOK","900","LOAD","990","LIGHT","2060","MOVE","2250","NORTH","550","OBJEC","8000","OPEN","2450","PULL","2250","PUSH","2250","PUT","1550","QUIT","2600","READ","1800","REMOV","1640"
9125 DATA "SOUTH","650","SAY","2500","SHOOT","1050","SWIM","1750","TAKE","1500","THROW","2000","TURN","2250","UP","750","VERBS","8050","WEST","700","WAIT","1150","WALK","1000","WEAR","1600"
9130 DATA ""

9200 LET ON=41: LET ST=2: LET NGO=15
9205 DIM O(ON): DIM O$(ON,16): RESTORE 9215
9210 FOR N=I TO ON: LET O(N)=-I: NEXT N: FOR N=I TO ON: READ A$: IF LEN A$ THEN READ B$,O$(VAL A$): LET O(VAL A$)=VAL B$: NEXT N
9215 DATA "1","300","SHIP APPROACHING","2","465","PEMMICAN","3","0","GLOVES","4","301","MACHETE","5","-1","PAPER","6","402","PISTOL"
9220 DATA "7","380","AMMUNITION","8","419","ROPE","9","360","LANTERN","10","-1","GOLDEN KEY","11","508","RING OF THE INKA"
9225 DATA "12","-1","CLOTH","13","376","SPADE","14","-1","SILVER KEY","15","556","MAP","16","485","STATUE","17","364","FLINTS"
9230 DATA "18","-1","KEY","19","-1","SHAMAN","21","456","WATER","22","331","NATIVES","23","-1","BRIDGE","24","419","OLD STATUE","25","-1","CHEST"
9235 DATA "26","-1","OPEN TRAPDOOR","27","-1","RINGING BELL","28","331","TENTS","29","435","SNAKE"
9240 DATA "30","316","SKULL","31","-1","TOWER","32","-1","CHURCH","33","-1","TENT","34","-1","HOLE","35","488","TRAPDOOR"
9245 DATA "36","-1","DEAD SNAKE","37","323","MONK ON A BANK","38","498","LEVER","39","489","GATE"
9250 DATA "40","486","GHOST GUARD","41","515","SKELETON GUARD"
9255 DATA ""

9260 RETURN

9997 CLEAR 64536: LOAD *"M";1;"MC" CODE: CLEAR 64914: RUN
9998 PRINT PEEK 23730+256*PEEK 23731-PEEK 23653-256*PEEK 23654: STOP
9999 CLEAR: ERASE "M";1;"INKA": SAVE *"M";1;"INKA" LINE 10
