#COMPILE EXE #INCLUDE "Win32api.inc" #INCLUDE "scrnio.inc" FUNCTION WINMAIN(BYVAL hCurInstance AS LONG, _ BYVAL hPrevInstance AS LONG, _ lpszCmdLine AS ASCIIZ PTR, _ BYVAL nCmdShow AS LONG) _ EXPORT AS LONG LOCAL lResult& 15 #INCLUDE "silver.inc" 16 DIM vv AS GLOBAL INTEGER:DIM x1 AS INTEGER:DIM x2 AS INTEGER:DIM y1 AS INTEGER:DIM y2 AS INTEGER:DIM s1 AS INTEGER:DIM tmp AS STRING:DIM t1 AS STRING:DIM av1 AS INTEGER:DIM i1 AS INTEGER:DIM mylang AS INTEGER 17 mylang=1:DIM yaxe AS STRING:DIM vick AS STRING:DIM pt AS INTEGER:DIM EXY AS INTEGER:DIM WD(50) AS STRING:DIM psa AS STRING:DIM bad AS INTEGER:DIM realname AS STRING:DIM salad AS INTEGER:DIM na AS STRING:DIM alta4(200) AS STRING 18 DIM help2(505) AS STRING:DIM msnum AS INTEGER:DIM tcol AS INTEGER:DIM lStringNumber AS LOCAL LONG:DIM sBuffer AS LOCAL STRING:DIM dabby AS INTEGER:DIM smidi AS STRING:DIM cdam2(505) AS INTEGER:DIM barf(880) AS INTEGER 19 DIM ap$(700):DIM hofra AS INTEGER:DIM widow AS INTEGER:DIM guanaco AS INTEGER:DIM BP AS INTEGER:DIM fnf AS INTEGER:DIM fla(100) AS STRING:DIM stat AS INTEGER:DIM alta(64000) AS STRING:DIM outlaw AS INTEGER 20 DIM fakeit AS INTEGER:DIM MH AS INTEGER:DIM GD AS INTEGER:DIM J AS INTEGER:DIM SP AS INTEGER:DIM KP AS INTEGER:DIM canada AS STRING:DIM canada2 AS INTEGER:DIM eba AS INTEGER:DIM xj AS INTEGER:DIM gody(64000) AS STRING 21 DIM wds AS INTEGER:DIM dtv AS STRING:DIM MD AS INTEGER:DIM HT AS INTEGER:DIM CU AS INTEGER:JJ=0:RM=1:DIM alien AS INTEGER:DIM jesus AS INTEGER:DIM bible AS INTEGER:DIM future AS INTEGER:DIM soul AS INTEGER:DIM front(300) AS STRING 22 TID$ = "The trees are too dense in that direction.":df=8:DIM br AS INTEGER:DIM lsv AS INTEGER:DIM thrust AS INTEGER:DIM cdam AS INTEGER:DIM autosve AS INTEGER:'dim ct as integer DIM LIGHT(999) AS GLOBAL INTEGER:DIM tc AS GLOBAL INTEGER FOR X=1 TO 37:LIGHT(X)=1:NEXT:tc=7 LIGHT(9)=0 LIGHT(10)=0 LIGHT(11)=0 LIGHT(12)=0 LIGHT(16)=0 LIGHT(18)=0 LIGHT(21)=0 LIGHT(22)=0 LIGHT(23)=0 LIGHT(26)=0 LIGHT(27)=0 LIGHT(28)=0 LIGHT(34)=0 LIGHT(35)=0 LIGHT(36)=0 DIM trex AS STRING:DIM jt4 AS GLOBAL INTEGER:DIM lct AS INTEGER:DIM lant AS INTEGER:jt4=0:lct=0 DIM mark(100) AS STRING:DIM mark2(100) AS STRING:DIM vaa(200) AS STRING:DIM vab(200) AS STRING DIM cold(2000) AS STRING:DIM vitals AS STRING:DIM dog(200) AS STRING:DIM dalv(200) AS STRING lo(145)=75:no(145)="Shroud of Saint Nephan":ao(145)="shroud":ob(145)="This is the Shroud of Saint Nephan. It emits a holy light.":p(145)=3000 lo(147)=19:no(147)="Disc of Athens":ao(147)="disc":ob(147)="This is a large shield from Athens. It has a large eagle on the front.":p(147)=5000 lo(148)=75:no(148)="Holy Mace":ao(148)="mace":ob(148)="This is a long mace with a spiked end. It is blood stained.":p(148)=1520 lo(166)=75:no(166)="glowball":ao(166)="glowball":ob(166)="A ball which glows oddly in the darkness. It hums softly.":p(166)=4200 lo(197)=12:no(197)="Firesword":ao(197)="firesword":ob(197)="This is a sword that glows with a fiery light. It pulsates goodness.":p(197)=2884 23 TIW$ = "There's a wall there.":GOSUB 31000:GOSUB title:LOCATE 24,1:COLOR 13:?"Press any key to begin...":WAITKEY$:CLS:GOSUB 27000:DIM countera AS INTEGER:DIM parry AS INTEGER:DIM fleeme AS INTEGER:DIM cursed AS INTEGER 24 y=0:FOR x=1 TO 53:INCR y:no$(x)=READ$(y):INCR y:ob$(x)=READ$(y):INCR y:lo(x)=VAL(READ$(y)):NEXT:GOSUB 8000 OPEN "ulti.dat" FOR INPUT AS #1 ver$="Type 'version' at the prompt to see recent changes":lver$="http://www.geocities.com/dunric/wfpc.zip" ver2$="For extended help functions, enter 'hint' at the prompt." GOSUB 4200:FOR x=1 TO 143:INPUT #1, no$(x):ao$(x)=no$(x):INPUT #1, fl(x):INPUT #1, mh(x):INPUT #1, p(x):INPUT #1, e(x):INPUT #1, dm(x):INPUT #1, j(x):NEXT:FOR x=1 TO 26:INPUT #1,vb(x):NEXT:vb(28)="give":vb(29)="goto" FOR x=7 TO 143:INPUT #1, ob(x):NEXT:FOR x=1 TO 808:LINE INPUT #1, de(x):NEXT:FOR x=827 TO 878:LINE INPUT #1,de(x):NEXT ao(19)="slayer":ao(27)="ring":ao(58)="jester":ao(68)="king":ao(71)="t-rex":ao(74)="fireking":ao(92)="kennedy":ao(98)="blakemore":ao(99)="wally":ao(101)="krumpy":ao(103)="joe":ao(86)="Raider!" FOR x=7 TO 143:INPUT #1, lo(x):NEXT:FOR x=1 TO 808:FOR y=1 TO 6:INPUT #1, m(x, y):NEXT:NEXT FOR x=37 TO 56:INPUT #1, ao(x):NEXT:FOR x=113 TO 125:INPUT #1, ao(x):NEXT:FOR x=1 TO 20:LINE INPUT #1, b(x):NEXT FOR x=1 TO 6:FOR y=1 TO 6:INPUT #1, x(x, y):NEXT:NEXT:FOR x=1 TO 6:FOR y=1 TO 6:INPUT #1, y(x, y):NEXT:NEXT:LINE INPUT #1,lop$:LINE INPUT #1,le$:: LINE INPUT #1,pig$:FOR x=1 TO 15:LINE INPUT #1,say(x):NEXT:stat=6000 FOR x=1 TO 21:LINE INPUT #1,quest(x):NEXT:FOR x=811 TO 826:LINE INPUT #1,de(x):NEXT FOR x=157 TO 171:INPUT #1,no$(x):ao(x)=no$(x):INPUT #1,p(x):INPUT #1,dm(x):INPUT #1,lo(x):LINE INPUT #1,ob(x):NEXT:FOR x=167 TO 171:mh(x)=fl(x):NEXT:FOR x=167 TO 171:dm(x)=0:NEXT FOR x=37 TO 56:INPUT #1,lo(x):NEXT:FOR x=61 TO 132:INPUT #1,lo(x):NEXT:lo(143)=775:FOR x=37 TO 112:INPUT#1,mh(x):NEXT:mh(143)=2000:FOR x=167 TO 171:INPUT #1,lo(x):NEXT FOR x=172 TO 182:INPUT #1, no$(x):ao(x)=no$(x):INPUT #1, fl(x):INPUT #1, mh(x):INPUT #1, p(x):INPUT #1, e(x):INPUT #1, dm(x):INPUT #1, j(x):NEXT FOR x=174 TO 182: LINE INPUT #1,ob(x):NEXT:FOR x=1 TO 143:INPUT #1,p(x):NEXT:INPUT #1,aa:INPUT #1,hi:INPUT #1,lp:INPUT #1,k:INPUT #1,naa$ FOR x=167 TO 173:INPUT #1,lo(x):NEXT:FOR x=1 TO 20:INPUT #1,wad(x):NEXT FOR x=37 TO 56:INPUT #1,lo(x):NEXT:FOR x=61 TO 132:INPUT #1,lo(x):NEXT:lo(143)=775:FOR x=37 TO 112:INPUT #1,mh(x):NEXT:FOR x=167 TO 173:INPUT #1,lo(x):NEXT FOR x=827 TO 878:FOR y=1 TO 6:INPUT #1,m(x,y):NEXT:NEXT FOR x=183 TO 187:INPUT #1, no$(x):ao$(x)=no$(x):INPUT #1, fl(x):INPUT #1, mh(x):INPUT #1, p(x):INPUT #1, e(x):INPUT #1, dm(x):INPUT #1, lo(x):INPUT #1,ob(x):NEXT FOR x=172 TO 187:INPUT #1,lo(x):NEXT FOR x=880 TO 898:LINE INPUT #1,de(x):NEXT:FOR x=879 TO 898:FOR y=1 TO 6:INPUT #1,m(x,y):NEXT:NEXT FOR x=1 TO 92:LINE INPUT #1,plot$(x):NEXT:FOR x=1 TO 19:LINE INPUT #1,group$(x):NEXT:FOR x=1 TO 6:LINE INPUT #1,lob$(x):NEXT:FOR x=899 TO 900:LINE INPUT #1,de$(x):NEXT FOR x=901 TO 987:LINE INPUT #1,de(x):NEXT:FOR x=901 TO 977:FOR y=1 TO 6:INPUT #1,m(x,y):NEXT:NEXT:FOR x=978 TO 986:FOR y=1 TO 6:INPUT #1,m(x,y):NEXT:NEXT FOR x=189 TO 193:INPUT #1, no$(x):ao$(x)=no$(x):INPUT #1, fl(x):INPUT #1, mh(x):INPUT #1, p(x):INPUT #1, e(x):INPUT #1, dm(x):INPUT #1, j(x):LINE INPUT #1,ob(x):NEXT FOR x=1 TO 10:LINE INPUT #1,dog$(x):NEXT FOR x=1 TO 15:LINE INPUT #1,a(x):NEXT FOR x=194 TO 203:INPUT #1, no$(x):ao$(x)=no$(x):INPUT #1, fl(x):INPUT #1, mh(x):INPUT #1, p(x):INPUT #1, e(x):INPUT #1, dm(x):INPUT #1, lo(x):LINE INPUT #1,ob(x):NEXT:ao(204)="dreamsword" FOR x=1 TO 18:LINE INPUT #1,hint(x):NEXT FOR x=204 TO 211:INPUT #1, no$(x):ao$(x)=no$(x):INPUT #1, fl(x):INPUT #1, mh(x):INPUT #1, p(x):INPUT #1, e(x):INPUT #1, dm(x):INPUT #1, lo(x):LINE INPUT #1,ob(x):NEXT FOR x=21 TO 25:LINE INPUT #1,quest(x):NEXT FOR x=21 TO 25:LINE INPUT #1,b(x):NEXT FOR x=1 TO 18:LINE INPUT #1,vaa$(x):NEXT:FOR x=1 TO 20:LINE INPUT #1,vab$(x):NEXT FOR x=1200 TO 1230:LINE INPUT #1,de$(x):NEXT FOR x=1200 TO 1230:FOR y=1 TO 6:INPUT #1,m(x,y):NEXT:NEXT:no$(204)="Dreamsword":ao(204)="dreamsword" REM FOR x=2600 TO 2621:LINE INPUT #1,de$(x):NEXT FOR x=2600 TO 2621:FOR y=1 TO 6:INPUT #1,m(x,y):NEXT:NEXT REM FOR x=1 TO 10:LINE INPUT #1,dalv$(x):NEXT:FOR x=1 TO 34:LINE INPUT #1,front(x):NEXT REM WF2.DAT FOR x=37 TO 51:INPUT #1,lo(x):NEXT:lo(37)=7012:lo(38)=7076:lo(39)=7098:lo(40)=7135:lo(41)=7149:lo(42)=7007:lo(43)=7007:lo(44)=7153:lo(45)=7144:lo(49)=7008:lo(51)=7005 FOR x=7000 TO 7231:LINE INPUT #1,de(x):NEXT FOR x=7000 TO 7231:FOR y=1 TO 6:INPUT #1,m(x,y):NEXT:NEXT REM HOVER.DAT LINE INPUT #1,help$:FOR x=1 TO 75:LINE INPUT #1,help2$(x):NEXT:FOR x=16 TO 50:LINE INPUT #1,say(x):NEXT 'CALL SecondBox REM TABLET.DAT FOR x=1 TO 20:LINE INPUT #1,alta4(x):NEXT REM NPC.DAT FOR x=38 TO 56:LINE INPUT #1,mark(x):NEXT:FOR x=38 TO 56:LINE INPUT #1,mark2(x):NEXT REM CLIMATE.DAT FOR x=1 TO 996:INPUT #1,cold(x):NEXT:LINE INPUT #1,vitals:REM COLOR 10:? vitals:SLEEP 550 REM TEMP.DAT INPUT #1,nm:INPUT #1,cg:FOR x=1500 TO 2500:LINE INPUT #1,de$(x):INPUT #1,m(x,1):INPUT #1,m(x,2):INPUT #1,m(x,3):INPUT #1,m(x,4):INPUT #1,m(x,5):INPUT #1,m(x,6):NEXT FOR x=1 TO 2500:FOR y=1 TO 6:INPUT #1,m(x,y):NEXT:NEXT:FOR x=187 TO 300:LINE INPUT #1,no$(x):LINE INPUT #1,ob$(x):INPUT #1,mh(x):INPUT #1,dm(x):INPUT #1,p(x):INPUT #1,e(x):INPUT #1,lo(x):NEXT FOR x=1 TO 2500:LINE INPUT #1,de(x):NEXT CLOSE 1 FOR x=54 TO 218:lo(x)=998:NEXT hick: IF LV<=0 THEN LV=1 IF HP&<=0 THEN HP&=50:HM&=HP& IF HM&<=0 THEN HM&=50:HP&=50 IF G&<=0 THEN G&=250 IF RM<=0 OR RM>35 THEN RM=1 y = 0:FOR x=1 TO 53:INCR y:no$(x) = READ$(y):INCR y:ob$(x) = READ$(y):INCR y:i = VAL(READ$(y)):NEXT:GOSUB 8000 FOR X=7 TO 39 IF X=7 AND lo(X)<>-1 AND lo(X)<>RM AND lo(X)<>305 AND lo(X)<>405 AND lo(X)<>505 THEN lo(X)=4 IF X=8 AND lo(X)<>-1 AND lo(X)<>RM AND lo(X)<>305 AND lo(X)<>405 AND lo(X)<>505 THEN lo(X)=22 IF X=9 AND lo(X)<>-1 AND lo(X)<>RM AND lo(X)<>305 AND lo(X)<>405 AND lo(X)<>505 THEN lo(X)=54 IF X=10 AND lo(X)<>-1 AND lo(X)<>RM AND lo(X)<>305 AND lo(X)<>405 AND lo(X)<>505 THEN lo(X)=10 IF X=11 AND lo(X)<>-1 AND lo(X)<>RM AND lo(X)<>305 AND lo(X)<>405 AND lo(X)<>505 THEN lo(X)=45 IF X=12 AND lo(X)<>-1 AND lo(X)<>RM AND lo(X)<>305 AND lo(X)<>405 AND lo(X)<>505 THEN lo(X)=61 IF X=13 AND lo(X)<>-1 AND lo(X)<>RM AND lo(X)<>305 AND lo(X)<>405 AND lo(X)<>505 THEN lo(X)=10 IF X=14 AND lo(X)<>-1 AND lo(X)<>RM AND lo(X)<>305 AND lo(X)<>405 AND lo(X)<>505 THEN lo(X)=75 IF X=15 AND lo(X)<>-1 AND lo(X)<>RM AND lo(X)<>305 AND lo(X)<>405 AND lo(X)<>505 THEN lo(X)=75 IF X=16 AND lo(X)<>-1 AND lo(X)<>RM AND lo(X)<>305 AND lo(X)<>405 AND lo(X)<>505 THEN lo(X)=75 IF X=17 AND lo(X)<>-1 AND lo(X)<>RM AND lo(X)<>305 AND lo(X)<>405 AND lo(X)<>505 THEN lo(X)=5 IF X=18 AND lo(X)<>-1 AND lo(X)<>RM AND lo(X)<>305 AND lo(X)<>405 AND lo(X)<>505 THEN lo(X)=6 IF X=19 AND lo(X)<>-1 AND lo(X)<>RM AND lo(X)<>305 AND lo(X)<>405 AND lo(X)<>505 THEN lo(X)=-1 IF X=20 AND lo(X)<>-1 AND lo(X)<>RM AND lo(X)<>305 AND lo(X)<>405 AND lo(X)<>505 THEN lo(X)=1045 IF X=21 AND lo(X)<>-1 AND lo(X)<>RM AND lo(X)<>305 AND lo(X)<>405 AND lo(X)<>505 THEN lo(X)=44 IF X=22 AND lo(X)<>-1 AND lo(X)<>RM AND lo(X)<>305 AND lo(X)<>405 AND lo(X)<>505 THEN lo(X)=30 IF X=23 AND lo(X)<>-1 AND lo(X)<>RM AND lo(X)<>305 AND lo(X)<>405 AND lo(X)<>505 THEN lo(X)=5 IF X=24 AND lo(X)<>-1 AND lo(X)<>RM AND lo(X)<>305 AND lo(X)<>405 AND lo(X)<>505 THEN lo(X)=75 IF X=25 AND lo(X)<>-1 AND lo(X)<>RM AND lo(X)<>305 AND lo(X)<>405 AND lo(X)<>505 THEN lo(X)=4 IF X=26 AND lo(X)<>-1 AND lo(X)<>RM AND lo(X)<>305 AND lo(X)<>405 AND lo(X)<>505 THEN lo(X)=15 IF X=27 AND lo(X)<>-1 AND lo(X)<>RM AND lo(X)<>305 AND lo(X)<>405 AND lo(X)<>505 THEN lo(X)=35 IF X=28 AND lo(X)<>-1 AND lo(X)<>RM AND lo(X)<>305 AND lo(X)<>405 AND lo(X)<>505 THEN lo(X)=1051 IF X=29 AND lo(X)<>-1 AND lo(X)<>RM AND lo(X)<>305 AND lo(X)<>405 AND lo(X)<>505 THEN lo(X)=1053 IF X=32 AND lo(X)<>-1 AND lo(X)<>RM AND lo(X)<>305 AND lo(X)<>405 AND lo(X)<>505 THEN lo(X)=75 IF X=33 AND lo(X)<>-1 AND lo(X)<>RM AND lo(X)<>305 AND lo(X)<>405 AND lo(X)<>505 THEN lo(X)=44 IF X=36 AND lo(X)<>-1 AND lo(X)<>RM AND lo(X)<>305 AND lo(X)<>405 AND lo(X)<>505 THEN lo(X)=1042 IF X=37 AND lo(X)<>-1 AND lo(X)<>RM AND lo(X)<>305 AND lo(X)<>405 AND lo(X)<>505 THEN lo(X)=1043 IF X=38 AND lo(X)<>-1 AND lo(X)<>RM AND lo(X)<>305 AND lo(X)<>405 AND lo(X)<>505 THEN lo(X)=1040 IF X=39 AND lo(X)<>-1 AND lo(X)<>RM AND lo(X)<>305 AND lo(X)<>405 AND lo(X)<>505 THEN lo(X)=1046 NEXT IF df=0 OR df<0 OR df=>15 THEN df=8 CALL ReadMap:COLOR df,df:CLS:IF RM>35 OR RM<1 THEN RM=1 IF tc=df OR tc=0 AND df=0 THEN tc=7 COLOR tc,df:?"Thor teleports you back to town...":SLEEP 880 25 ON RM GOSUB 901,902,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,931,932,933,934,935,936,937 26 IF RM=4 THEN COLOR 11,df:PRINT"There is a small wooden sign here." 27 IF RM=2 THEN COLOR 14,df:PRINT"There is a large oak sign here." 28 IF RM=1 THEN COLOR 15,df:?"Type ";:COLOR 11:?"colors ";:COLOR 15,df:?"at the game prompt to select background color." 30 COLOR 15,df:PRINT "Obvious exits: ";:COLOR 7,df:?"< "; 31 FOR x = 1 TO 6: IF m(RM, x) > 0 THEN COLOR 14,df: PRINT NO$(x); " "; 32 NEXT: COLOR 7,df: ?">" 33 FOR x = 7 TO 218: IF lo(x) = RM AND NO$(x)<>"" AND x>6 AND x<219 THEN COLOR tc,df:PRINT NO$(x);"." 34 NEXT: IF JJ = 0 THEN JJ = 1: GOTO 700 35 GOSUB 12000:DTV$ = "": aa$ = "": N = 0: VV = 0: COLOR 10,df: PRINT ">"; :COLOR 15,df: LINE INPUT "",aa$: aa$ = UCASE$(aa$): COLOR tc,df IF aa$="JR" OR aa$="JUMP ROOM" THEN COLOR 14,df:PRINT"Which room (1-37): ";:COLOR 15,df:LINE INPUT "",trex$:c=VAL(trex$):IF c<1 OR c>37 THEN COLOR 12,df:?"Aborted.":GOTO 35 IF aa$="JR" OR aa$="JUMP ROOM" THEN COLOR 10,df:?"Teleporting to Room:";:COLOR 14,df:? c:RM=c:SLEEP 440:GOTO 25 IF aa$="HELP" THEN COLOR 14,df:?"I can offer no help...":GOTO 35 IF aa$="LIGHT LANTERN" THEN IF lo(13)=-1 THEN COLOR 14,df:?"You must use the OIL first.":GOTO 35 IF aa$="LIGHT LANTERN" THEN COLOR 12,df:?"Alas, you are not carrying the LANTERN on hand.":GOTO 35 IF RM = 23 THEN IF aa$="CLIMB TREE" THEN COLOR 14,df:PRINT "You climb up the tree...":SLEEP 440:RM=31:GOTO 25 IF RM = 20 THEN IF aa$ = "GET BOULDER" OR aa$="MOVE BOULDER" THEN PRINT"The boulder cannot be moved.":GOTO 35 IF RM = 24 THEN IF aa$ = "TURN DIAL" THEN GOTO dial IF RM = 24 THEN IF aa$ = "GET PAINTING" OR aa$="GET PAINTINGS" THEN COLOR 12,df:?"The paintings cannot be taken.":GOTO 35 IF RM = 24 THEN IF aa$ = "GET SWORD" AND lo(22)<>-1 THEN COLOR 12,df:?"The sword cannot be reached from here.":GOTO 35 IF RM = 24 THEN IF aa$ = "GET SWORD" AND lo(22)=-1 AND lo(37)<>-1 THEN COLOR 10,df:?"You use the pitchfork...":SLEEP 1220:COLOR 14,df:?"The sword drops to the floor!":lo(37)=RM:GOTO 35 IF RM = 24 THEN IF aa$ = "GET SWORD" THEN COLOR 12,df:?"Alas, you may not take the sword.":GOTO 35 IF RM = 24 THEN IF aa$ = "OPEN CASE" OR aa$="OPEN TROPHY CASE" THEN COLOR 12,df:?"Alas, the trophy case cannot be opened from here.":GOTO 35 IF RM = 24 THEN IF aa$ = "GET CASE" THEN COLOR 14,df:?"It's beyond your power to do that!":GOTO 35 IF RM = 24 THEN IF aa$ = "GET RUG" OR aa$="MOVE RUG" THEN COLOR 14,df:?"You move the rug, yet find nothing. Sorry!":GOTO 35 IF RM = 24 THEN IF aa$ = "ENTER FIREPLACE" OR aa$="ENTER OPENING" THEN RM=37:COLOR 10,df:?"You enter the fireplace...":SLEEP 880:COLOR 14,df:?"You climb up (hey, it's a game, right?)...":SLEEP 1440:RM=37:GOTO 25 IF RM = 24 THEN IF aa$="LIGHT RUG" THEN PRINT UCASE$("You'll need matches to light the rug...which haven't been invented yet."):GOTO 35 IF RM = 28 THEN IF aa$ = "EXAMINE DOOR" THEN PRINT UCASE$( "THE DOOR IS LOCKED BY A BOLT MECHANISM. THERE IS LETTERING ON THE DOOR."):GOTO 35 IF RM = 28 THEN IF aa$ = "GET DOOR" OR aa$="MOVE DOOR" THEN COLOR 12,df:?"The door cannot be moved or taken.":GOTO 35 IF RM = 28 THEN IF aa$ = "EXAMINE LETTERING" OR aa$ = "READ LETTERING" THEN PRINT UCASE$("THE LETTERING IS WORN AND DIFFICULT TO READ."):PRINT UCASE$( "HOWEVER, IT READS IN PART: '...OBLIQUO ROTA...'"):GOTO 35 IF RM = 28 THEN IF aa$ = "TURN WHEEL" THEN COLOR 14,df:?"You do not see a wheel here.":GOTO 35 IF RM = 28 THEN IF aa$ = "OPEN DOOR" THEN COLOR 14,df:?"The door must be unlocked with a key.":GOTO 35 36 IF aa$ = "Q" OR aa$ = "QU" OR aa$ = "QUIT" THEN qg=1:COLOR 15,df:GOTO 29500:ELSE IF aa$="COLORS" THEN GOTO colors 37 IF aa$ = "N" OR aa$ = "GO NORTH" OR aa$ = "NORTH" OR aa$ = "GO NO" THEN N = 1: GOTO 120 38 IF aa$ = "S" OR aa$ = "GO SOUTH" OR aa$ = "SOUTH" OR aa$ = "GO SO" THEN N = 2: GOTO 120 39 IF aa$ = "E" OR aa$ = "GO EAST" OR aa$ = "EAST" OR aa$ = "GO EA" THEN N = 3: GOTO 120 40 IF aa$ = "W" OR aa$ = "GO WEST" OR aa$ = "WEST" OR aa$ = "GO WE" THEN N = 4: GOTO 120 41 IF aa$ = "U" OR aa$ = "GO UP" OR aa$ = "UP" THEN N = 5: GOTO 120 42 IF aa$ = "D" OR aa$ = "GO DOWN" OR aa$ = "DOWN" OR aa$ = "GO DO" THEN N = 6: GOTO 120 43 IF aa$ = "L" OR aa$ = "LO" OR aa$ = "LOOK" THEN GOTO 25:ELSE IF aa$="SAVE" OR aa$="SAVE GAME" THEN GOTO 472 44 IF aa$ = "SC" OR aa$ = "SCORE" OR aa$ = "?" THEN GOTO 600:ELSE IF aa$="SUMMON WARRIOR" THEN skel&=1:COLOR 15,df:?"You summon a skeletal warrior from the depths of the Earth!":SLEEP 1440:COLOR 14,df:?">>>>>";:COLOR 12,df:?" ZZZOOOWWW!!!":GOTO 15 45 IF aa$ = "I" OR aa$ = "IN" OR aa$ = "INV" OR aa$ = "INVEN" OR aa$ = "INVE" OR aa$ = "INVENTORY" THEN GOTO 700 46 IF aa$ = "ROOM" THEN COLOR 14,df: PRINT "You are in room ";:COLOR 11,df:? MID$(STR$(RM),2);:COLOR 14,df:? ".": COLOR tc,df: GOTO 35 47 IF aa$="READ SIGN" OR aa$="EXAMINE SIGN" OR aa$="EXA SIGN" OR aa$="GET SIGN" THEN IF RM=4 THEN GOTO 25000 48 IF aa$="READ SIGN" OR aa$="EXAMINE SIGN" OR aa$="EXA SIGN" OR aa$="GET SIGN" THEN IF RM=2 THEN GOTO 26000 49 IF aa$="EXA INSCRIPTION" OR aa$="LOOK AT INSCRIPTION" OR aa$="EXAMINE INSCRIPTION" THEN IF lo(28)=-1 THEN CT=0:COLOR 14,df:?"The inscription reads: '";:COLOR tc,df:?"summon warrior";:COLOR 14,df:?"'.":GOTO 35 50 PT = 1: NM = 0 51 DTV$ = aa$: FOR a = 1 TO LEN(DTV$) 52 IF MID$(DTV$, a, 1) = " " THEN aa$ = MID$(DTV$, PT, a - PT): PT = a + 1: NM = NM + 1: WD$(NM) = aa$ 53 NEXT: NM = NM + 1: aa$ = MID$(DTV$, PT, a - PT): WD$(NM) = aa$ 54 IF aa$ = "" THEN COLOR 14,df:PRINT "I didn't understand that. Try again please.": GOTO 35 55 IF LEN(aa$) > 30 THEN COLOR 14,df:PRINT "Your command is too complex. Please rephrase it.": GOTO 35 56 IF NM = 0 THEN NM = 1 57 FOR X = 1 TO NM 58 FOR Y = 1 TO 218 59 IF WD$(X) = NO$(Y) OR WD$(X)=AO$(Y) THEN N = Y 60 NEXT: NEXT 61 FOR X = 1 TO NM 62 FOR Y = 1 TO 21 63 IF WD$(X) = VB$(Y) THEN VV = Y 64 NEXT: NEXT 65 IF VV = 0 THEN COLOR 14,df:PRINT "What?": GOTO 35 70 ON VV GOTO 260, 270, 280, 290, 300, 310, 320, 330, 340, 350 71 COLOR 14,df:PRINT "What you expected did not happen.": GOTO 35 120 IF N = 1 AND RM = 7 OR N = 2 AND RM = 1 OR RM = 2 AND N = 4 OR N = 1 AND RM = 7 OR N = 4 AND RM = 7 OR RM = 8 AND N = 3 OR RM = 3 AND N = 2 THEN COLOR 12,df:PRINT TID$: GOTO 35 121 IF N = 4 AND RM = 11 OR RM = 12 AND N = 3 OR RM = 12 AND N = 2 OR RM = 9 AND N = 1 OR RM = 9 AND N = 2 OR RM = 9 AND N = 4 OR RM = 16 AND N = 1 OR RM = 16 AND N = 4 THEN COLOR 12,df:PRINT TID$: GOTO 35 122 IF RM = 18 AND N = 1 OR RM = 18 AND N = 3 OR RM = 18 AND N = 2 OR RM = 14 AND N = 2 OR RM = 14 AND N = 3 THEN COLOR 12,df:PRINT TID$: GOTO 35 123 IF RM = 10 AND N = 1 OR RM = 10 AND N = 2 OR RM = 10 AND N = 4 OR RM = 4 AND N = 1 OR RM = 4 AND N = 2 OR RM = 5 AND N = 1 OR RM = 5 AND N = 2 OR RM = 5 AND N = 3 THEN COLOR 12,df:PRINT TIW$: GOTO 35 124 IF RM = 6 AND N <> 6 OR RM = 24 AND N= 2 OR RM = 25 AND N <> 4 OR RM = 28 AND N < 3 OR RM = 26 AND N = 1 OR RM = 27 AND N <> 5 THEN COLOR 12,df:PRINT TIW$: GOTO 35 125 IF RM = 43 AND N <> 4 AND N <> 5 OR RM = 44 AND N <> 6 THEN COLOR 12,df:PRINT TIW$: GOTO 35 126 IF RM = 28 AND N=4 AND M(RM,N)=0 THEN COLOR 14,df:?"The door prevents passage to the west.":GOTO 35 129 IF M(RM, N) = 0 THEN COLOR 14,df:PRINT "You can't go that way!": GOTO 35 IF lct=0 THEN IF LIGHT(M(RM,N))=0 THEN COLOR 12,df:?"It is far too dark to move in that direction!":COLOR tc,df:?"This requires some sort of light or lantern.":GOTO 35 130 RM = M(RM, N): COLOR tc,df: PRINT "You move "; NO$(N); "...": COLOR tc,df: GOTO 25 259 REM +--- IF WIELD 260 IF LO(N) <> -1 THEN COLOR 14,df:PRINT "The "; NO$(N); " cannot be wielded.": GOTO 35 261 IF N <> 15 AND N <> 22 AND N <> 27 AND N <> 32 AND N <> 36 AND N <> 37 AND N <> 38 AND N <> 39 AND N<>148 AND N<>166 AND N<>197 THEN COLOR 14,df:PRINT "The "; NO$(N); " cannot be wielded.": GOTO 35 262 IF WD = 0 THEN WD = 1: COLOR 14,df:PRINT "You wield "; NO$(N); ".": LO(N) = 105: DM = N - 7: GOTO 35 263 COLOR 14,df:PRINT "You are already wielding a weapon!": GOTO 35 270 IF LO(N) <> 105 THEN COLOR 14,df:PRINT "The "; NO$(N); " cannot be unwielded.": GOTO 35 271 LO(N) = -1: COLOR 14,df:PRINT "You unwield "; NO$(N); ".": DM = 1: GOTO 35 280 IF LO(N) <> -1 THEN COLOR 14,df:PRINT "The "; NO$(N); " cannot be worn.": GOTO 35 281 IF N <> 16 AND N <> 17 AND N <> 18 AND N<>145 AND N<>147 THEN COLOR 14,df:PRINT "The "; NO$(N); " cannot be worn.": GOTO 35 282 LO(N) = 205: AC = AC + (N - 14): COLOR 14,df:PRINT "You wear "; NO$(N); ".": GOTO 35 290 IF LO(N) <> 205 THEN COLOR 14,df:PRINT "The "; NO$(N); " cannot be removed.": GOTO 35 291 IF N <> 16 AND N <> 17 AND N <> 18 THEN COLOR 14,df:PRINT "The "; NO$(N); " cannot be removed.": GOTO 35 292 LO(N) = -1: AC = AC - (N - 14): COLOR 14,df:PRINT "You remove "; NO$(N); ".": GOTO 35 300 GOTO 19000 301 IF LO(N) <> RM THEN COLOR 14,df:PRINT "The "; WD$(2); " isn't here.": GOTO 35 302 IF N < 7 OR N > 39 THEN COLOR 14,df:PRINT "You can't take the "; NO$(N); "!": GOTO 35 303 IF IC > 10 THEN COLOR 14,df:PRINT "You are carrying too many items.": GOTO 35 304 LO(N) = -1: IC = IC + 1: COLOR 14,df:PRINT NO$(N); ":Taken.": GOTO 35 310 IF LO(N) <> -1 AND LO(N) <> 105 AND LO(N) <> 205 THEN COLOR 14,df:PRINT "The "; NO$(N); " cannot be dropped.": GOTO 35 311 IF LO(N) = 105 THEN COLOR 14,df:PRINT "The "; NO$(N); " must be unwielded.": GOTO 35 312 IF LO(N) = 205 THEN COLOR 14,df:PRINT "The "; NO$(N); " must be removed.": GOTO 35 313 IF LO(N) <> -1 THEN COLOR 14,df:PRINT "The "; NO$(N); " isn't here to drop.": GOTO 35 314 LO(N) = RM: IC = IC - 1: COLOR 14,df:PRINT NO$(N); ":Dropped.": GOTO 35 320 COLOR 14,df:IF aa$ = "READ SIGN" AND RM = 11 THEN PRINT "The sign reads: 'NO HUNTING!'": GOTO 35 321 IF aa$ = "READ SCROLL" THEN IF LO(8) = -1 OR LO(8) = RM THEN PRINT "The scroll reads: 'The WOLFSBANE is poisonous to eat.'": GOTO 35 322 IF aa$ = "READ SCROLL" THEN COLOR 14,df:PRINT "You don't see a scroll here.": GOTO 35 323 COLOR 12,df:PRINT "You don't see anything special.": GOTO 35 330 aa$ = DTV$: GOTO 18000 331 IF LO(N)=RM THEN GOTO 339:ELSE IF LO(N) <> -1 AND LO(N) <> RM AND LO(N) <> 105 AND LO(N) <> 205 THEN COLOR 14,df:PRINT "You don't see that here.": GOTO 35 332 IF N = 0 OR N < 7 OR N > 50 THEN COLOR 14,df:PRINT "You see nothing special.": GOTO 35 333 IF N = 9 OR N = 18 OR N = 19 THEN GOTO 15100 339 COLOR tc,df:PRINT OB$(N): GOTO 35 340 IF N = 9 OR N = 18 OR N = 19 THEN COLOR 14,df:PRINT "You can't do that!": GOTO 35 341 IF WD$(4) = "BACKPACK" AND LO(9) = -1 THEN SI = 9: GOTO 15000 342 IF WD$(4) = "KNAPSACK" AND LO(18) = -1 THEN SI = 18: GOTO 15000 343 IF WD$(4) = "SACK" AND LO(19) = -1 THEN SI = 19: GOTO 15000 344 COLOR 14,df:IF LO(9) <> -1 THEN PRINT "You don't have the "; WD$(4); "!": GOTO 35 345 IF LO(18) <> -1 THEN PRINT "You don't have the "; WD$(4); "!": GOTO 35 346 IF LO(19) <> -1 THEN PRINT "You don't have the "; WD$(4); "!": GOTO 35 350 IF N<>10 AND N<>12 AND N<>13 AND N<>14 AND N<>15 AND N<>20 AND N<>22 AND N<>23 AND N<>26 AND N<>29 AND N<>33 THEN COLOR 12,df:?"You cannot use the "UCASE$(no$(n))" here.":GOTO 35 IF lo(N)<>-1 THEN COLOR 12,df:?"Alas, you do not have the "UCASE$(no$(N))" on hand.":GOTO 35 IF N=10 AND lo(13)<>-1 THEN COLOR 14,df:?"The OIL is useless without the LANTERN.":GOTO 35 IF N=10 AND lo(13)=-1 THEN COLOR 10,df:?"The lantern is now lit.":lct=1:GOTO 35 IF N=13 AND lo(13)=-1 THEN COLOR 14,df:?"Using the lantern...":SLEEP 880:IF lo(10)=-1 THEN lct=1:COLOR 10,df:?"The lantern is now in use.":GOTO 35 IF N=13 AND lo(13)=-1 THEN COLOR 12,df:?"Alas, you do not have the OIL on hand, which the LANTERN requires.":GOTO 35 359 500 IF WD$(4) = "KNAPSACK" THEN GOTO 505 501 IF WD$(4) = "SACK" THEN GOTO 515 502 IF WD$(5) = "SACK" THEN GOTO 525 503 COLOR 14,df:PRINT "That didn't seem to work.": GOTO 35 505 COLOR 14,df:IF LO(N) = 305 AND IC < 11 THEN IC = IC + 1: LO(N) = -1: PRINT "You take the "; NO$(N); " from KNAPSACK.": GOTO 35 506 COLOR 14,df:PRINT "You are carrying too much weight.": GOTO 35 515 COLOR 14,df:IF LO(N) = 405 AND IC < 11 THEN IC = IC + 1: LO(N) = -1: PRINT "You take the "; NO$(N); " from SACK.": GOTO 35 516 COLOR 14,df:PRINT "You are carrying too much weight.": GOTO 35 525 COLOR 14,df:IF LO(N) = 505 AND IC < 11 THEN IC = IC + 1: LO(N) = -1: PRINT "You take the "; NO$(N); " from S. SACK.": GOTO 35 526 COLOR 14,df:PRINT "You are carrying too much weight.": GOTO 35 600 COLOR 14,df:PRINT "You are "naa$" the Mighty ( Level ";:COLOR 11,df:? MID$(STR$(LV),2);:COLOR 14,df:? " )." 601 COLOR 15,df:PRINT "You have ";:COLOR 11,df:? MID$(STR$(HP&),2);:COLOR 15,df:? " of ";:COLOR 11,df:? MID$(STR$(HM&),2);:COLOR 15,df:? " Hit Points and" 602 PRINT "carry with you ";:COLOR 10,df:? MID$(STR$(G&),2);:COLOR 14,df:? " Gold Coins";:COLOR 15,df:?"." 603 GOTO 35 700 IC = 0: FOR X = 7 TO 218 701 IF LO(X) = -1 THEN COLOR 15,df:PRINT ""; NO$(X); ".": IC = IC + 1 702 IF LO(X) = 105 THEN COLOR 11,df:PRINT ""; NO$(X);:COLOR 12,df:? " (Wielded).": IC = IC + 1: WD = 1 703 IF LO(X) = 205 THEN COLOR 10,df:PRINT ""; NO$(X);:COLOR 13,df:? " (Worn).": IC = IC + 1 704 NEXT: IF IC = 0 THEN COLOR 12,df:PRINT "You are empty handed.": GOTO 35 705 COLOR 14,df:PRINT "You are carrying";:COLOR 11,df:? IC;:COLOR 14,df:? "items." 706 COLOR 11,df:PRINT "Your armor is protecting"; AC; "% of": PRINT "your body.": GOTO 35 707 GOTO 35 901 IF RM=1 THEN COLOR 11,df:?"On the Path":COLOR tc,df:de$(1)="You are standing on a path that heads into a small village. The path turns east here into a large forest. To the west, things become dark and twisted." 902 IF RM=2 THEN COLOR 11,df:?"Path in front of Tavern":COLOR tc,df:de$(2)="The walkway to a tavern lies to the east of this north-south path. The path continues north." 903 IF RM=3 THEN COLOR 11,df:?"Walkway to Tavern":COLOR tc,df:de$(3)="You are on the stone walkway of the tavern. It is paved in cobble stone." 904 IF RM=4 THEN COLOR 11,df:?"Tavern.":COLOR tc,df:de$(4)="You are in a poorly lit tavern. A back room occupies the entire downstairs of this ancient building. A stairway leads up to a bedroom." 905 IF RM=5 THEN COLOR 11,df:?"Backroom of Tavern.":COLOR tc,df:de$(5)="The backroom of the tavern is used to store unwatned items. There are a few items of interest scattered about the room." 906 IF RM=6 THEN COLOR 11,df:?"Bedroom.":COLOR tc,df:de$(6)="You are in a small bedroom upstairs of the main tavern. There is a small bed where you can sleep comfortably. A few items adorn the room." 907 IF RM=7 THEN COLOR 11,df:?"On the Path":COLOR tc,df:de$(7)="You are on a path that heads north-south across this small village. To the north lies a large cathedral." 908 IF RM=8 THEN COLOR 11,df:?"Small clearing":COLOR tc,df:de$(8)="You are standing in a small clearing. To the west lies a small path, while west of here things become dark and twisted." 909 IF RM=9 THEN COLOR 11,df:?"Dense Forestland":COLOR tc,df:de$(9)="You are standing in a dense forest. There is very little light here. The path west is blocked by fallen trees." 910 IF RM=10 THEN COLOR 11,df:?"Small house":COLOR tc,df:de$(10)="You are inside a small house. Simple furniture adorns the room, while a bed rests near the back wall. A mantle rests above it." 911 IF RM=11 THEN COLOR 11,df:?"Dirt path":COLOR tc,df:de$(11)="You are walking on a path that cuts north-south across dense forest. There is a sign by the side of the road here." 912 IF RM=12 THEN COLOR 11,df:?"Dense Forestland":COLOR tc,df:de$(12)="You are standing in a dense forest. A large tree, with low-lying branches, grows by the side of the road here." 913 IF RM=13 THEN COLOR 11,df:?"Middle Forest":COLOR tc,df:de$(13)="You are in the middle of dense forest. To the east lies a large Redwood Forest. A path lies undisturbed to the west here." 914 IF RM=14 THEN COLOR 11,df:?"Redwood Forest":COLOR tc,df:de$(14)="You are standing in a large Redwood Forest. Thousands of large trees surround you in all directions." 915 IF RM=15 THEN COLOR 11,df:?"Intersection":COLOR tc,df:de$(15)="You are at an intersection in the middle of the Redwood Forest. To the east lies a small stream." 916 IF RM=16 THEN COLOR 11,df:?"Redwood Alcove":COLOR tc,df:de$(16)="You are standing in a secluded alcove in the Redwood Forest. There is a rock here where you can rest if fatigued." 917 IF RM=17 THEN COLOR 11,df:?"End of the Forest":COLOR tc,df:de$(17)="You have reached a hillside at the end of the forest. A tree stump sits oddly in the middle of the grass." 918 IF RM=18 THEN COLOR 11,df:?"By the Lake":COLOR tc,df:de$(18)="You are standing by a large lake. It has a mysterious aura about it. The only exit is back west." 919 IF RM=19 THEN COLOR 11,df:?"Middle Path":COLOR tc,df:de$(19)="You are walking along the middle of a long dirt path. To the east lies more forestland, but the path ends abruptly to the north." 920 IF RM=20 THEN COLOR 11,df:?"End of Path":COLOR tc,df:de$(20)="You have reached the end of the path. A large boulder blocks passage to the north and west." 921 IF RM=21 THEN COLOR 11,df:?"Forest":COLOR tc,df:de$(21)="You are in a forest, with trees in all directions around you. To the east, there appears to be a great amount of sunlight. To the west, things become dark and twisted." 922 IF RM=22 THEN COLOR 11,df:?"Forest":COLOR tc,df:de$(22)="You are in a dimly lit forest, with large trees all around. It appears to thin out a bit to the west." 923 IF RM=23 THEN COLOR 11,df:?"Forest Path":COLOR tc,df:de$(23)="This is a path that winds through a dimly lit forest. It heads north-south from here. A large tree with low lying branches stands by the side of the road here." 924 IF RM=24 THEN COLOR 11,df:?"Living Room":COLOR tc,df:de$(24)="You are standing in a living room inside the house. A doorway leads east into a small kitchen, while a large wooden door stands to your west. There is a trophy case here, and a large" IF RM=24 THEN COLOR tc,df:de$(24)=de$(24)+" oriental rug can be seen in the center of the room. A small fireplace is built into the east wall." 925 IF RM=25 THEN COLOR 11,df:?"Kitchen":COLOR tc,df:de$(25)="This is the kitchen. Upon a large oak table rests a small leather bag. Next to the bag you notice a pile of strange looking rocks." 926 IF RM=26 THEN COLOR 11,df:?"Dark Room":COLOR tc,df:de$(26)="This is a dark room. You can barely make out the outline of a staircase. A pale green light glows softly behind a door at the bottom of the staircase." 927 IF RM=27 THEN COLOR 11,df:?"Wine Cellar":COLOR tc,df:de$(27)="You are at the bottom of a dark wine cellar. Rows of wooden cubicles line the walls, some containing bottles of rare wine. The only exit is back up." 928 IF RM=28 THEN COLOR 11,df:?"Hallway":COLOR tc,df:de$(28)="This dark corridor ends abruptly at a large wooden door. Scratched on the door is strange lettering, of which you can't seem to make out." 929 IF RM=29 THEN COLOR 11,df:?"House":COLOR tc,df:de$(29)="The path ends here at a small house. To the east, a particularly dark section of the forest hangs overhead." 930 IF RM=30 THEN COLOR 11,df:?"Clearing":COLOR tc,df:de$(30)="You have reached a small clearing near the center of the forest. A narrow path breaks off here and heads west." 931 IF RM=31 THEN COLOR 11,df:?"Up the tree":COLOR tc,df:de$(31)="You are perched on a large branch a few feet above the ground. From here you can see a small envelope laying comfortably on one edge of the branch." 932 IF RM=32 THEN COLOR 11,df:?"Canyon":COLOR tc,df:de$(32)="The forest ends here at a large canyon. It is a long drop from here, and you can see a large waterfall leading down to white rapids below. It may be possible to descend down the canyon." 933 IF RM=33 THEN COLOR 11,df:?"Rock":COLOR tc,df:de$(33)="You are sitting on a large rock next to a beautiful waterfall. The air is clean, and you notice a small rainbow at the waters edge." 934 IF RM=34 THEN COLOR 11,df:?"Cave":COLOR tc,df:de$(34)="You have reached a large cave inside the waterfall. You hear strange noises coming from within the cave walls." 935 IF RM=35 THEN COLOR 11,df:?"Room":COLOR tc,df:de$(35)="You are amazed by what you see here! A small circular object, softly glowing green, sits suspended in mid-air. It is rotating ever so slowly, with a soft glow..." 936 IF RM=36 THEN COLOR 11,df:?"Inner Sanctum":COLOR tc,df:de$(36)="You have entered into the Catacombs of Antioch. This forboding place was once the burial site of early Christian martyrs. There is a stairwell here, descending into darkness." 937 IF RM=37 THEN COLOR 11,df:?"On the Roof":COLOR tc,df:de$(37)="You are standing on the roof of a small cottage. The roof is thatched with foliage from the surrounding forest. From this vantagepoint, you notice purple mountains to the west, while " IF RM=37 THEN COLOR tc,df:de$(37)=de$(37)+"a towering Redwood Forest stands proud to the east. The only way back down is through the chimney." 998 COLOR tc,df:text$=de$(RM):GOSUB Wrapit:COLOR tc,df:RETURN 1000 REM +---- DO NOT REMOVE THIS LINE!!! 1001 vb$(1)="WIELD": REM 1 1002 vb$(2)="UNWIELD": REM 2 1003 vb$(3)="WEAR": REM 3 1004 vb$(4)="REMOVE": REM 4 1005 vb$(5)="GET": REM 5 1006 vb$(6)="DROP": REM 6 1007 vb$(7)="READ": REM 7 1008 vb$(8)="EXAMINE": REM 8 1009 vb$(9)="PUT": REM 9 1010 vb$(10)="USE": REM 10 1011 vb$(11)="LIGHT": REM 11 1012 vb$(12)="EXTINGUISH": REM 12 1013 vb$(13)="EAT": REM 13 1014 vb$(14)="DRINK": REM 14 1015 vb$(15)="THROW": REM 15 1016 vb$(16)="KILL": REM 16 1017 vb$(17)="BUY": REM 17 1018 vb$(18)="SELL": REM 18 1019 vb$(19)="SAVE": REM 19 1020 vb$(20)="HELP": REM 20 1021 vb$(21)="TIME": REM 21 1099 RETURN 1101 DATA "NORTH","N","99" 1102 DATA "SOUTH","S","99" 1103 DATA "EAST","E","99" 1104 DATA "WEST","W","99" 1105 DATA "UP","U","99" 1106 DATA "DOWN","D","99" 1107 DATA "FOOD","SOME FOOD RATIONS, LASTING ONE WEEK.","4" 1108 DATA "SCROLL","AN ANCIENT SCROLL. IT IS TATTERED ON THE EDGES.","22" 1109 DATA "BACKPACK","A LEATHER BACKPACK. YOU CAN PUT THINGS IN IT.","54" 1110 DATA "OIL","A FLASK OF OIL. IT APPEARS SLIGHTLY USED.","10" 1111 DATA "SHIELD","A CRUSADER SHIELD, STAINED WITH BLOOD.","45" 1112 DATA "HOLY WATER","A VIAL OF HOLY WATER. IT GLOWS WITH A SOFT HUE.","61" 1113 DATA "LANTERN","A BRASS LANTERN, COVERED PARTIALLY BY RUST","10" 1114 DATA "MIRROR","A SMALL HAND MIRROR. IT IS OLD, BUT USEFUL.","75" 1115 DATA "POLE","A LONG WOODEN POLE ABOUT SEVEN FEET IN LENGTH.","75" 1116 DATA "ARMOR","A SUIT OF LEATHER ARMOR. IT IS WELL CRAFTED.","75" 1117 DATA "CLOAK","AN ELVEN CLOAK. IT IS BROWN, TIED AT THE WAIST BY A LONG ROPE.","5" 1118 DATA "KNAPSACK","A SMALL LEATHER KNAPSACK. YOU CAN PUT THINGS IN IT.","6" 1119 DATA "SACK","A LONG SACK, TIED AT ONE END. YOU CAN PUT THINGS IN IT.","-1" 1220 DATA "FLUTE","A SIMPLE WOODEN FLUTE.","1045" 1221 DATA "CHEESE","A SLICE OF CHEESE. IT IS AGED TO PERFECTION.","44" 1222 DATA "PITCHFORK","A LONG METAL PITCHFORK. IT IS USED FOR BAILING HAY.","30" 1223 DATA "TORCH","A SMALL WOODEN TORCH (UNLIT).","5" 1224 DATA "CANTEEN","A LEATHER CANTEEN. IT IS USED FOR HOLDING WATER.","75" 1225 DATA "WINE","A BOTTLE OF SPARKLING RED WINE.","4" 1226 DATA "WOLFSBANE","A CLOVE OF WOLFSBANE. IT HAS A PERCULIAR ODOR.","15" 1227 DATA "IRONAXE","AN IRON AXE. IT HAS RAZOR-SHARP EDGES.","35" 1228 DATA "RING","A RING OF PROTECTION. IT GLOWS WITH A BLUISH HUE. THERE IS AN INSCRIPTION ON THE RING.","1051" 1229 DATA "POTION","A MAGICAL POTION USED FOR MAKING CREATURES DISAPPEAR.","1053" 1230 DATA "A","A","99" 1231 DATA "A","A","99" 1232 DATA "DAGGER","A SMALL METAL DAGGER. IT HAS A JEWEL ATTACHED TO THE BASE OF THE HILT.","75" 1233 DATA "ORB","A MYSTERIOUS ORB OF UNKNOWN ORIGIN. IT HUMS WITH A SOFT PITCH.","44" 1234 DATA "A","A","99" 1235 DATA "A","A","99" 1236 DATA "BOWIE KNIFE","A LARGE BOWIE KNIFE. IT HAS A SERRATED EDGE.","1042" 1237 DATA "SWORD","A LONG SWORD. IT HAS SOMEWHAT DULL EDGES.","1043" 1238 DATA "SCIMITAR","A LONG SCIMITAR. IT HAS A SLIVERED EDGE.","1040" 1239 DATA "TWO-HANDED SWORD","A TWO-HANDED SWORD. IT HAS RAZOR-SHARP EDGES.","1046" 1240 DATA "HANDY","THIS IS HANDY SMURF. HE RUNS THE SHOP IN TOWN. ASK HIM ABOUT THE PRICES FOR ITEMS BY TYPING 'LIST'.","23" 1241 DATA "PAPPA","THIS IS PAPPA SMURF. HE PROTECTS THE VILLAGE FROM GARGAMEL AND HIS CAT, AZRIEL. HE IS MIXING UP A POWERFUL POTION TO DEFEAT HIM.","22" 1242 DATA "BRAINY","THIS IS INFAMOUS BRAINY SNURF. HE COMPOSES BOOKS AND WEAR DORKY LOOKING GLASSES. HE IS THE LEAST LIKED OF ALL THE SMURFS.","33" 1243 DATA "FARMER","THIS IS FARMER SMURF. HE TENDS THE FARM NEAR SMURF VILLAGE.","30" 1244 DATA "GARGAMEL","THE EVIL GARGAMEL! HE IS AN OLD MAN WHO PLOTS AGAINST THE SMURFS AND MAKES UP DEADLY POTIONS. HE HAS A CAT NAMED AZRIEL.","43" 1245 DATA "AZRIEL","THIS IS GARGAMEL'S CAT, AZRIEL. HE SLEEPS NOISLY IN THE BACK OF THE ROOM.","44" 1246 DATA "MORDIMAR","THE EVIL MORDIMAR, WIZARD OF EVIL! HE LAUGHS AT YOU CRUELLY AS YOU COWER IN HIS PRESENCE. YOU SENSE A POWER UNLIKE ANY OTHER HERE.","60" 1247 DATA "SKELETON","A SKELETAL WARRIOR. HE STARES AT YOU WITH EVIL EYES.","13" 1248 DATA "TIMERWOLF","A DOMESTICATED TIMERWOLF, WANDERING ALONE BY HIMSELF.","9" 1249 DATA "GHOST","A TRANSLUCENT GHOST, LINGERING IN THE SHADOWS.","18" 1250 DATA "ORC","A MENACING ORC. HE SNARLS AT YOU AS YOU PASS.","11" 1251 DATA "VILLAGER","A SIMPLE VILLAGER. HE IS WEARING A SPECIAL RING AROUND ONE OF HIS FINGERS.","3" 1252 DATA "ELF","A SMALL ELF WITH POINTING EARS AND A SOFT VOICE. HE SMILES AT YOU WITH A FUNNY LOOKING FACE.","36" 1253 DATA "DRAGON","A LARGE GREEN DRAGON WITH TOUGH SCALES AND RAZOR-SHARP CLAWS.","37" 5000 aa$=INKEY$:IF aa$="" THEN GOTO 5000 5001 IF aa$="y" OR aa$="Y" THEN si=1:COLOR 7,df:?"Yes":SLEEP 880:RETURN 5002 IF aa$="n" OR aa$="N" THEN si=2:COLOR 7,df:?"No":SLEEP 880:RETURN 5003 GOTO 5000 7000 HP = HM: G& = 0: FOR X = 7 TO 39: IF LO(X) = -1 OR LO(X) = 105 OR LO(X) = 205 THEN LO(X) = RM: PRINT "YOU DROP "; NO$(X); "..." 7001 NEXT: RM = 4: GOTO 25 8000 : 8030 GOSUB 1000 8031 CALL ReadMap 8032 CONSOLE SCREEN 25,80:COLOR df,df:CLS 8033 GOSUB 12000 8034 PRINT:COLOR 15,df:PRINT"Silver Gauntlet ";:COLOR 11,df:?"(Build 190, Version 0.65)" 8035 COLOR 7,df:PRINT"(C)opyright 2002 By Paul Panks":COLOR 11,df:PRINT"All rights reserved.":COLOR 14,df:PRINT"dunric@yahoo.com":PRINT:COLOR 13 8036 COLOR 14,df:?"Loading data structures...":SLEEP 2440 8039 CLS:RM=1:LOCATE 2,1:RETURN 10000 COLOR 14,0:CLS:COLOR 11,0:?"Battle Encounter!":PRINT:COLOR 7,df:?"You are facing the "no$(N)" in decisive battle!":PRINT:IF N = 40 THEN MH = 136: E = 250: GD = 50: MD = 2: J = 1040 10001 IF N = 41 THEN MH = 142: E = 320: GD = 35: MD = 1: J = 1041 10002 IF N = 42 THEN MH = 80: E = 158:GD = 18:MD=2:J=1042 10003 IF N = 43 THEN MH = 118: E = 110: GD = 58:MD=4:J=1043 10004 IF N = 44 THEN MH = 217: E = 152:GD = 200:MD=16:J=1044 10005 IF N = 45 THEN MH = 50:E=84:GD=12:MD=1:J=1045 10006 IF N = 46 THEN MH = 1200:E=800:GD=500:MD=38:J=1046 10007 IF N = 47 THEN MH = 500:E=250:GD=125:MD=12:J=1047:COLOR 10,0:?"The Skeletal Warrior is a friend, not a foe...":SLEEP 1440:COLOR df,df:CLS:GOTO 35 10008 IF N = 48 THEN MH = 256:E=100:GD=150:MD=10:J=1048 10009 IF N = 49 THEN MH = 180:E=120:GD=95:MD=8:J=1049 10010 IF N = 50 THEN MH = 292:E=158:GD=118:MD=14:J=1050 10011 IF N = 51 THEN MH = 86:E=47:GD=24:MD=3:J=1051 10012 IF N = 52 THEN MH = 140:E=80:GD=75:MD=7:J=1052 10013 IF N = 53 THEN MH = 380:E=1000:MD=28:J=1053 10025 COLOR 13,0:PRINT "< (";:COLOR 7,0:?"F";:COLOR 13,0:?")IGHT, (";:COLOR 7,0:?"C";:COLOR 13,0:?")AST OR (";:COLOR 7,0:?"R";:COLOR 13,0:?")UN >" 10026 aa$ = INKEY$: aa$=UCASE$(aa$):IF aa$ <> "F" AND aa$ <> "C" AND aa$ <> "R" THEN GOTO 10026 10027 IF aa$ = "F" THEN GOTO 10058 10028 IF aa$ = "C" THEN GOTO 10025 10029 IF aa$ = "R" THEN I = INT(RND * 5) + 1: IF I >= 3 THEN PRINT : COLOR 10,0:PRINT "You ran away successfully...": GOTO 35 10030 IF aa$ = "R" THEN PRINT : COLOR 12,0:PRINT "Escape failed...": PRINT : GOTO 10085 10031 IF aa$ = "D" THEN PRINT : COLOR 12,0:PRINT "*** Death ***": MH = -1: GOTO 10085 10058 PRINT "The "; NO$(N); " attacks:" 10059 GB = INT(RND * 2) + 1: HT = INT(RND * 3) + 1: CU = INT(RND * 8 + 1) 10060 I = INT(RND * 20) 10061 IF I = 0 OR I > 15 THEN COLOR 15,0:PRINT "The "; NO$(N); " missed.": GOTO 10085 10062 IF I = 1 THEN COLOR 14,0:PRINT "The "; NO$(N); " strikes a glacing blow!": C = MD * GB: C = C - AC: HP = HP * .8 + C: GOTO 10085 10063 IF I = 2 THEN COLOR 10,0:PRINT "The "; NO$(N); " lands a solid blow!": C = MD * HT: C = C - AC: HP = HP * .7 + C: GOTO 10085 10064 IF I = 3 THEN COLOR 13,0:PRINT "CRUSHING BLOW!...": PRINT "The "; NO$(N); " SMASHED you into ATOMS!": C = MD * CU: C = C - AC: HP = HP * .5 + C: GOTO 10085 10065 IF I > 3 AND I < 12 THEN COLOR 15,0:PRINT "You dodge the attack.": GOTO 10085 10069 IF I > 11 AND I < 16 THEN COLOR 7,0:PRINT "You deflect the blow.": GOTO 10085 10085 IF HP < 1 THEN PRINT : COLOR 12,0:PRINT "You died.": SLEEP 1440: COLOR df,df:CLS:GOTO god 10089 GB = INT(RND * 2) + 1: HT = INT(RND * 3 + 1): CU = INT(RND * 8 + 1) 10090 I = INT(RND * 48): IF i>17 AND skel&=1 THEN GOSUB wizard 10091 COLOR 7,0:?"You attack:":IF I = 0 OR I > 41 THEN COLOR 15,0:PRINT "You missed "; NO$(N); ".": GOTO 10100 10092 IF I = 1 THEN COLOR 14,0:PRINT "You strike a glancing blow!": C = MD * GB: C = C + AC: MH = MH * .8 - C: MH = MH - DM: GOTO 10100 10093 IF I = 2 THEN COLOR 10,0:PRINT "You land a solid blow!": C = MD * HT: C = C + AC: MH = MH * .7 - C: MH = MH - DM: GOTO 10100 10094 IF I = 3 THEN COLOR 13,0:PRINT "CRUSHING BLOW!...": PRINT "You SMASHED "; NO$(N); " into ATOMS!": C = MD * CU: C = C + AC: MH = MH * .5 - C: MH = MH - DM: GOTO 10100 10095 IF I > 3 AND I < 12 THEN COLOR 15,0:PRINT "The "; NO$(N); " dodged your attack.": GOTO 10100 10099 IF I > 11 AND I < 16 THEN COLOR 7,0:PRINT "The "; NO$(N); " deflects your blow.": GOTO 10100 IF lo(145)=205 AND i>23 AND i<28 THEN COLOR 6:?"The SHROUD emits a holy light! The "no$(n)" is weakened!":dm(n)=dm(n)/3:dm(n)=CINT(dm(n)):IF dm(n)=0 THEN dm(n)=1:mh(n)=mh(n)/4:mh(n)=CINT(mh(n)) IF lo(145)=205 AND i>19 AND i<23 THEN COLOR 14:?"The SHROUD glows and you feel warm!":GOSUB 4200:gain=INT(RND*75)+1:COLOR 11:?"You just regained"gain"hit points.":hp&=hp&+gain:IF hp&>hm& THEN hp&=hm& IF lo(147)=205 AND i>30 AND i<39 THEN COLOR 9:?"The DISC OF ATHENS drains "no$(n)"'s life!":mh(n)=mh(n)/2:mh(n)=CINT(mh(n)) IF lo(148)=105 AND i>30 AND i<39 AND gma=0 THEN gma=1:COLOR 10:?"Your HOLY MACE shimmers!":i=20:GOTO 10091 IF lo(166)=105 AND i>38 AND i<42 THEN COLOR 10:?"Your GLOWBALL splits in pieces! It hammers "no$(n)"!":mh(n)=mh(n)/2:mh(n)=CINT(mh(n)):mh(n)=mh(n)-8*lv*dm(166) IF lo(197)=105 AND i>35 AND i<39 THEN COLOR 12:?"Your FIRESWORD comes to life!":COLOR 4:?"It shoots lethal flames at "no$(n)"!":mh(n)=mh(n)-30*lv 10100 IF MH < 1 THEN LO(N) = 98: COLOR 12,0:PRINT "The "; NO$(N); " died.": SLEEP 1440:EXY = EXY + E: G& = G& + GD: GOSUB 10200: COLOR df,df:GOTO 35 10101 PRINT : COLOR 7,0:PRINT "Your HP:";:COLOR 10,0:? HP: COLOR 12,0:PRINT "The "; NO$(N); ":";:COLOR 7,0:? MH 10102 PRINT : GOTO 10025 10200 FOR X = 7 TO 39: IF LO(X) = 1000 + N THEN COLOR 7,0:PRINT "You found "; NO$(X); " on it!": LO(X) = RM 10201 NEXT: RETURN 12000 IF skel&=1 THEN COLOR 15,df:?"There is a skeletal warrior here, wielding a long Deathblade." IF lct=1 THEN lant=lant+1:IF lant>100 THEN lant=0:lct=0:COLOR 12,df:?"Your lantern fuel has expired...":lo(10)=6 12001 QPRINT 1,1,SPACE$(80),&H7:QPRINT 1,1,"Silver Gauntlet : http://www.geocities.com/dunric/sg.html : Score: "+MID$(STR$(score&),2)+"/ 500",&H7:RETURN 15000 IF wd$(3)="" OR wd$(4)="" THEN COLOR 14,df:?"You can't do that!":GOTO 35 15001 IF LO(N)<>-1 THEN COLOR 14,df:?"You must be carrying that!":GOTO 35 15003 IF SI = 9 AND BP < 5 THEN BP = BP + 1: LO(N) = 305: COLOR 14,df:PRINT "Ok.": IC = IC - 1: GOTO 35 15004 IF SI = 18 AND KP < 3 THEN KP = KP + 1: LO(N) = 405: COLOR 14,df:PRINT "Ok.": IC = IC - 1: GOTO 35 15005 IF SI = 19 AND SP < 4 THEN SP = SP + 1: LO(N) = 505: COLOR 14,df:PRINT "Ok.": IC = IC - 1: GOTO 35 15006 COLOR 14,df:PRINT "It won't fit inside the "; WD$(4); ".": GOTO 35 15100 IF N = 9 THEN GOTO 15110 15101 IF N = 18 THEN GOTO 15120 15102 IF N = 19 THEN GOTO 15130 15103 COLOR 14,df:PRINT "You see nothing unusual.": GOTO 35 15110 COLOR tc,df:PRINT OB$(9): IF BP = 0 THEN GOTO 35 15111 COLOR tc,df:PRINT "Backpack contains:" 15112 FOR X = 7 TO 39: IF LO(X) = 305 THEN COLOR 15,df:PRINT " "; NO$(X); "." 15113 NEXT: GOTO 35 15120 COLOR tc,df:PRINT OB$(18): IF KP = 0 THEN GOTO 35 15121 COLOR tc,df:PRINT "Knapsack contains:" 15122 FOR X = 7 TO 39: IF LO(X) = 405 THEN COLOR 15,df:PRINT " "; NO$(X); "." 15123 NEXT: GOTO 35 15130 COLOR tc,df:PRINT OB$(19): IF SP = 0 THEN GOTO 35 15131 COLOR tc,df:PRINT "Sack contains:" 15132 FOR X = 7 TO 39: IF LO(X) = 505 THEN COLOR 15,df:PRINT " "; NO$(X); "." 15133 NEXT: GOTO 35 18000 IF aa$ = "EXAMINE VILLAGE" AND RM = 1 THEN PRINT UCASE$( "IT'S A LARGE VILLAGE CONSISTING OF A CHURCH, A SMALL TAVERN AND SEVERAL HOUSES. NOTHING UNIQUE."): GOTO 35 18001 IF aa$ = "EXAMINE WALKWAY" THEN IF RM = 2 OR RM = 3 THEN PRINT UCASE$( "THIS WALKWAY IS MADE OUT OF COBBLESTONE."): GOTO 35 18002 IF aa$ = "EXAMINE TAVERN" AND RM = 2 THEN PRINT UCASE$( "THE TAVERN LOOKS OLD AND WORN. IT IS A TWO-STORY BUILDING."): GOTO 35 18003 IF aa$ = "EXAMINE TAVERN" AND RM = 3 THEN PRINT UCASE$( "THIS TAVERN WAS BUILT SOME TIME AGO. THE WALLS DO NOT SEEM TO SUPPORT THE WEIGHT OF THE STRUCTURE."): GOTO 35 18004 IF aa$ = "EXAMINE TAVERN" AND RM = 4 THEN PRINT UCASE$( "THIS TAVERN CONSISTS OF TWO STORIES. CHAIRS AND TABLES ARE VISIBLE AROUND THEROOM, WITH A BACKROOM EAST."): GOTO 35 18005 IF aa$ = "EXAMINE STAIRWAY" AND RM = 4 THEN PRINT UCASE$( "THIS STAIRWAY LOOKS CREAKY AND WORN. IT HEADS UPSTAIRS INTO A BEDROOM."): GOTO 35 18006 IF aa$ = "EXAMINE ROOM" OR aa$ = "EXAMINE BACKROOM" THEN IF RM = 5 THEN PRINT UCASE$( "YOU NOTICE A LARGE HAND MIRROR NEAR THE BACK WALL."): LO(14) = RM: GOTO 35 18007 IF aa$ = "EXAMINE BEDROOM" AND RM = 6 THEN PRINT UCASE$( "THIS BEDROOM HAS SEEN MANY VISITORS. THE BED ITSELF IS HARD AS A ROCK."): GOTO 35 18008 IF aa$ = "EXAMINE BED" AND RM = 6 THEN PRINT UCASE$( "THE BED IS QUITE HARD, BUT LOOKS COMFORTABLE ENOUGH TO LIE IN."): GOTO 35 18009 IF aa$ = "EXAMINE PATH" AND RM = 7 THEN PRINT UCASE$( "THE PATH IS MADE FROM DIRT AND CLAY."): GOTO 35 18010 IF aa$ = "EXAMINE VILLAGE" AND RM = 7 THEN PRINT UCASE$( "THE VILLAGE HAS ALREADY BEEN EXAMINED."): GOTO 35 18011 IF aa$ = "EXAMINE CATHEDRAL" AND RM = 7 THEN PRINT UCASE$( "THIS IS A SMALL, ONE-STORY CATHEDRAL. IT APPEARS INACCESSIBLE FROM HERE."): GOTO 35 18012 IF RM = 8 THEN IF aa$ = "EXAMINE CLEARING" THEN PRINT UCASE$( "YOU NOTICE NOTHING SPECIAL ABOUT THE CLEARING."): GOTO 35 18013 IF RM = 8 THEN IF aa$ = "EXAMINE PATH" THEN PRINT UCASE$( "THE PATH IS WELL WORN AND DIRTY."): GOTO 35 18014 IF RM = 9 THEN IF aa$ = "EXAMINE FOREST" THEN PRINT UCASE$( "THE FOREST BECOMES QUITE DENSE TO THE WEST AND NORTH."): GOTO 35 18015 IF RM = 9 THEN IF aa$ = "EXAMINE PATH" THEN PRINT UCASE$( "YOU NOTICE NOTHING SPECIAL."): GOTO 35 18016 IF RM = 9 THEN IF aa$ = "EXAMINE TREES" THEN PRINT UCASE$( "THESE ARE CONIFERS. THEY BLOCK PASSAGE TO THE WEST."): GOTO 35 18017 IF RM = 10 THEN IF aa$ = "EXAMINE HOUSE" THEN PRINT UCASE$( "THIS HOUSE IS SIMPLE IN DESIGN AND RELATIVELY PLAIN. YOU NOTICE A WINDOW ABOVE A SMALL BED."): GOTO 35 18018 IF RM = 10 THEN IF aa$ = "EXAMINE WINDOW" THEN PRINT UCASE$( "LOOKING OUT THE WINDOW:"): PRINT : PRINT LCASE$("YOU SEE A SMALL STREAM UP AHEAD TO THE NORTH."): GOTO 35 18019 IF RM = 10 THEN IF aa$ = "EXAMINE ROOM" THEN PRINT UCASE$( "THE ROOM IS SMALL AND CRAMPED. IT IS FURNISHED WITH SIMPLE FURNITURE."): GOTO 35 18020 IF RM = 10 THEN IF aa$ = "EXAMINE FURNITURE" THEN PRINT UCASE$( "WHICH ONE?"): GOTO 35 18021 IF RM = 10 THEN IF aa$ = "EXAMINE BED" THEN PRINT UCASE$( "THIS BED LOOKS QUITE COMFORTABLE!"): GOTO 35 18022 IF RM = 10 THEN IF aa$ = "EXAMINE WALL" OR aa$ = "EXAMINE BACK WALL" THEN PRINT UCASE$( "YOU NOTICE NOTHING UNUSUAL."): GOTO 35 18023 IF RM = 10 THEN IF aa$ = "EXAMINE MANTLE" THEN PRINT UCASE$( "YOU NOTICE A FEW COINS LAYING ON THE MANTLE AND SO YOU PICK THEM UP."): G& = G& + 25: GOTO 35 18024 IF RM = 11 THEN IF aa$ = "EXAMINE PATH" OR aa$ = "EXAMINE ROAD" THEN PRINT UCASE$( "THIS ROAD IS WELL WORN AND NEARLY MUDDY."): GOTO 35 18025 IF RM = 11 THEN IF aa$ = "EXAMINE FOREST" THEN PRINT UCASE$( "THE FOREST BECOMES MUCH DENSER TO THE NORTH."): GOTO 35 18026 IF RM = 11 THEN IF aa$ = "EXAMINE SIGN" THEN PRINT UCASE$( "IT'S A SMALL WOODEN SIGN. PERHAPS YOU SHOULD *READ* IT?"): GOTO 35 18027 IF RM = 12 THEN IF aa$ = "EXAMINE FOREST" THEN PRINT UCASE$( "THE FOREST BECOMES DARK AND OPPRESSIVE TO THE WEST."): GOTO 35 18028 IF RM = 12 THEN IF aa$ = "EXAMINE PATH" OR aa$ = "EXAMINE ROAD" THEN PRINT UCASE$( "THE ROAD IS WELL WORN."): GOTO 35 18029 IF RM = 12 THEN IF aa$ = "EXAMINE TREE" THEN PRINT UCASE$( "THIS IS A LARGE TREE WITH LOW-LYING BRANCHES. IT LOOKS CLIMBABLE."): GOTO 35 18030 IF RM = 13 THEN IF aa$ = "EXAMINE FOREST" THEN PRINT UCASE$( "THERE ARE TWO DISTINCT FORESTS NEARBY. WHICH ONE?"): GOTO 35 18031 IF RM = 13 THEN IF aa$ = "EXAMINE REDWOOD FOREST" OR aa$ = "EXAMINE REDWOOD FOREST" THEN PRINT UCASE$( "THIS IS A TALL REDWOOD FOREST. YOU ARE STILL TOO FAR AWAY."): GOTO 35 18032 IF RM = 13 THEN IF aa$ = "EXAMINE DENSE FOREST" THEN PRINT UCASE$( "THE FOREST IS QUITE DENSE AND NOT EASILY PENETRATED WITHOUT A SWORD."): GOTO 35 18033 IF RM = 13 THEN IF aa$ = "EXAMINE PATH" OR aa$ = "EXAMINE ROAD" THEN PRINT UCASE$( "THIS IS A SMALLER PATH THAT HEADS WEST HERE ACROSS THE LANDSCAPE."): GOTO 35 18034 IF aa$ = "EXAMINE REDWOOD FOREST" OR aa$ = "EXAMINE REDWOOD FOREST" OR aa$ = "EXAMINE FOREST" THEN IF RM = 14 THEN PRINT UCASE$( "THIS IS A LARGE REDWOOD FOREST."): GOTO 35 18035 IF aa$ = "EXAMINE TREES" THEN IF RM = 14 THEN PRINT UCASE$( "THESE TREES ARE CENTURIES OLD. THEY HAVE MANY RED LEAVES AND PINES THAT STICK OUT HIGH INTO THE AIR."): GOTO 35 18036 IF RM = 15 THEN IF aa$ = "EXAMINE INTERSECTION" THEN PRINT UCASE$( "THERE ARE FOUR PATHS THAT HEAD OFF IN EACH DIRECTION HERE."): GOTO 35 18037 IF RM = 15 THEN IF aa$ = "EXAMINE FOREST" OR aa$ = "EXAMINE REDWOOD FOREST" OR aa$ = "EXAMINE REDWOOD FOREST" THEN PRINT UCASE$( "THIS IS A CENTURIES OLD REDWOOD FOREST."): GOTO 35 18038 IF RM = 15 THEN IF aa$ = "EXAMINE STREAM" THEN PRINT UCASE$( "THIS IS A SMALL, MEANDERING STREAM. IT CANNOT BE CROSSED FROM THIS POINT."): GOTO 35 18039 IF aa$ = "EXAMINE ALCOVE" AND RM = 16 THEN PRINT UCASE$( "THIS IS A SECLUDED ALCOVE IN THE MIDDLE OF A LARGE REDWOOD FOREST. YOU NOTICE A LARGE ROCK HERE."): GOTO 35 18040 IF aa$ = "EXAMINE ROCK" AND RM = 16 THEN PRINT UCASE$( "THIS ROCK IS LARGE AND HEAVY. IT APPEARS SUITED FOR A TIRED PERSON TO REST ON."): GOTO 35 18041 IF RM = 17 THEN IF aa$ = "EXAMINE HILLSIDE" THEN PRINT UCASE$( "THE HILLSIDE IS FULL OF GRASS. IT SEEMS A OUT OF PLACE HERE, AMIST THE BRAMBLE OF THE FOREST."): GOTO 35 18042 IF RM = 17 THEN IF aa$ = "EXAMINE FOREST" THEN PRINT UCASE$( "THE FOREST ENDS HERE AT A LARGE HILLSIDE. BACK NORTH LIES A SMALL PATH."): GOTO 35 18043 IF RM = 17 THEN IF aa$ = "EXAMINE STUMP" OR aa$ = "EXAMINE TREE STUMP" THEN PRINT UCASE$( "THIS IS A RATHER ODD TREE STUMP! IT HAS A SMALL DOOR ATTACHED TO IT!"): GOTO 35 18044 IF RM = 17 THEN IF aa$ = "EXAMINE DOOR" THEN PRINT UCASE$( "IT'S ATTACHED TO THE TREE STUMP. SOME SMALL CREATURE OBVIOUSLY LIVES HERE."): GOTO 35 18045 IF RM = 17 THEN IF aa$ = "EXAMINE GRASS" THEN PRINT UCASE$( "THE GRASS IS PLEASANT LOOKING AND VERY GREEN."): GOTO 35 18046 IF RM = 18 THEN IF aa$ = "EXAMINE LAKE" THEN PRINT UCASE$( "THIS IS A LARGE LAKE AT THE END OF THE FOREST. IT GLIMMERS ODDLY!"): GOTO 35 18047 IF RM = 19 THEN IF aa$ = "EXAMINE PATH" OR aa$ = "EXAMINE ROAD" THEN PRINT UCASE$( "THE PATH HEADS NORTH INTO DENSE FORESTLAND TO THE NORTH."): GOTO 35 18048 IF RM = 20 THEN IF aa$ = "EXAMINE PATH" OR aa$ = "EXAMINE ROAD" THEN PRINT UCASE$( "THE PATH STOPS HERE AT A LARGE BOULDER."): GOTO 35 18049 IF RM = 20 THEN IF aa$ = "EXAMINE BOULDER" THEN PRINT UCASE$( "THIS IS AN IMMOVABLE BOULDER."): GOTO 35 18051 IF RM = 21 OR RM=22 THEN IF aa$ = "EXAMINE FOREST" OR aa$="EXAMINE TREES" THEN PRINT UCASE$( "THE FOREST IS INCREASINGLY DARK TO THE WEST. THE TREES ARE FORMIDABLE."):GOTO 35 18052 IF RM = 23 THEN IF aa$="EXAMINE PATH" THEN PRINT UCASE$( "THE PATH HEADS NORTH PAST A LARGE OAK TREE. THE BRANCHES ARE TWISTED."):GOTO 35 18053 IF RM = 23 THEN IF aa$="EXAMINE FOREST" THEN PRINT UCASE$( "THE FOREST ENDS ABRUPTLY TO THE SOUTH AT A LARGE HOUSE."):GOTO 35 18054 IF RM = 23 THEN IF aa$="EXAMINE HOUSE" THEN PRINT UCASE$( "IT IS A SMALL COTTAGE WITH SMOKE BILLOWING FROM THE ROOF."):GOTO 35 18055 IF RM = 23 THEN IF aa$="EXAMINE TREE" THEN PRINT UCASE$( "THE TREE IS TWISTED AND AGED. IT LOOKS STRONG ENOUGH TO CLIMB, HOWEVER."):GOTO 35 18056 IF RM = 24 THEN IF aa$="EXAMINE ROOM" THEN PRINT UCASE$( "THIS LIVING ROOM IS QUAINT AND WELL DECORATED."):GOTO 35 18057 IF RM = 24 THEN IF aa$="EXAMINE HOUSE" THEN PRINT UCASE$( "THE INTERIOR OF THE HOUSE IS DECORATED WITH SEVERAL PAINTINGS."):GOTO 35 18058 IF RM = 24 THEN IF aa$="EXAMINE PAINTINGS" THEN PRINT UCASE$( "THESE ARE FRESCO PAINTINGS FROM THE EARLY renaissance."):PRINT UCASE$("THERE IS A DIAL ABOVE ONE OF THEM."):GOTO 35 18059 IF RM = 24 THEN IF aa$="EXAMINE DIAL" THEN PRINT UCASE$( "IMPRINTED ON THE SURFACE OF THE DIAL ARE SEVERAL NUMBERS."):PRINT UCASE$("YOU MAY TURN THE DIAL AT ANY TIME."):GOTO 35 18060 IF RM = 24 THEN IF aa$="EXAMINE DOORWAY" OR aa$="EXAMINE DOOR" THEN PRINT UCASE$( "THE DOORWAY OPENS UP INTO A SMALL KITCHEN. ABOVE IT STANDS A SWORD."):GOTO 35 18061 IF RM = 24 THEN IF aa$="EXAMINE SWORD" THEN PRINT UCASE$( "THIS IS AN ANCIENT BROADSWORD. IT CANNOT BE REACHED"):? UCASE$("WITHOUT A ROPE OR LADDER. OR PITCHFORK."):GOTO 35 18062 IF RM = 24 THEN IF aa$="EXAMINE CASE" OR aa$="EXAMINE TROPHY CASE" THEN PRINT UCASE$( "THIS GLASS TROPHY CASE CONTAINS MANY RARE ITEMS. IT CAN BE OPENED."):GOTO 35 18063 IF RM = 24 THEN IF aa$="EXAMINE FIREPLACE" THEN PRINT UCASE$( "THE FIREPLACE IS BUILT INTO THE WALL HERE. IT HAS A SMALL OPENING."):GOTO 35 18064 IF RM = 24 THEN IF aa$="EXAMINE OPENING" THEN COLOR 14,df:?"The opening looks large enough to enter.":GOTO 35 18065 IF RM = 24 THEN IF aa$="EXAMINE RUG" THEN PRINT UCASE$("This rug is elaborate in design and motiff. The edges are worn, however."):GOTO 35 18099 GOTO 331 19000 IF LO(9) = -1 AND WD$(4) = "BACKPACK" THEN SI = 9: GOTO 19110 19001 IF LO(18) = -1 AND WD$(4) = "KNAPSACK" THEN SI = 18: GOTO 19120 19002 IF LO(19) = -1 AND WD$(4) = "SACK" THEN SI = 19: GOTO 19130 19003 GOTO 301 19110 IF BP = 0 THEN COLOR 14,df:PRINT "The BACKPACK is empty.": GOTO 35 19111 IF IC < 10 THEN COLOR 14,df:PRINT "Ok.": LO(N) = -1: IC = IC + 1: BP = BP - 1: GOTO 35 19112 COLOR 14,df:PRINT "You are carrying too much already!": GOTO 35 19120 IF KP = 0 THEN COLOR 14,df:PRINT "The KNAPSACK is empty.": GOTO 35 19121 IF IC < 10 THEN COLOR 14,df:PRINT "Ok.": LO(N) = -1: IC = IC + 1: KP = KP - 1: GOTO 35 19122 COLOR 14,df:PRINT "You are carrying too much already!": GOTO 35 19130 IF IC < 10 THEN COLOR 14,df:PRINT "Ok.": LO(N) = -1: IC = IC + 1: SP = SP - 1: GOTO 35 19131 IF SP = 0 THEN COLOR 14,df:PRINT "The SACK is empty.": GOTO 35 19132 COLOR 14,df:PRINT "You are carrying too much already!": GOTO 35 25000 COLOR 14,df:?"The sign reads:":PRINT:COLOR 15,df: PRINT "WESTFRONT PC AS TRANSLATED": PRINT "FROM THE COMMODORE 128": COLOR 14,df: PRINT "dunric@yahoo.com": PRINT:GOTO 35 25001 RETURN colors: c=df:COLOR 14,0:CLS:COLOR 11,0:?"Change background color":?:COLOR 15,0:?"Select background color (1-15):"; LINE INPUT aa$:IF VAL(aa$)<1 OR VAL(aa$)>15 OR LEN(aa$)>2 THEN COLOR 12,0:?"Invalid input. Try again.":SLEEP 880:GOTO colors df=VAL(aa$):?:IF df=7 OR df=10 OR df=11 OR df=12 OR df=13 OR df=14 THEN COLOR 15,0:?"This is not a recommended background color...":SLEEP 440:? IF df<>15 THEN COLOR 15,df:?"Is this color ok? (Y/N) ";:GOTO colors2 COLOR 14,df:?"Is this color ok? (Y/N) ";:GOTO colors2 colors2: aa$=INKEY$:IF aa$="" THEN GOTO colors2 IF aa$="y" OR aa$="Y" THEN ?:COLOR 14:?"It is done.":SLEEP 880:GOTO colors3 IF aa$="n" OR aa$="N" THEN ?:df=c:COLOR 14,df+1:?"Color selection aborted.":SLEEP 880:COLOR df,df:CLS:GOTO 25 GOTO colors2 colors3: ?:COLOR 14,0:CLS:COLOR 11,0:?"Change text color":?:COLOR 15,0:?"Select text color (1-15):"; LINE INPUT aa$:IF VAL(aa$)<1 OR VAL(aa$)>15 OR LEN(aa$)>2 THEN COLOR 12,0:?"Invalid input. Try again.":SLEEP 880:GOTO colors3 tc=VAL(aa$):?:IF tc=df THEN COLOR 12,df:?"This color is not supported.":SLEEP 880:GOTO colors3 COLOR tc,df:?"Is this color ok? (Y/N) ";:GOTO colors4 colors4: aa$=INKEY$:IF aa$="" THEN GOTO colors4 IF aa$="y" OR aa$="Y" THEN ?:COLOR 14:?"It is done.":SLEEP 880:COLOR tc,df:CLS:GOTO 25 IF aa$="n" OR aa$="N" THEN ?:COLOR tc,df:?"Color selection aborted.":SLEEP 880:COLOR df,df:CLS:GOTO 25 GOTO colors4 26000 COLOR 15,df:?"The sign reads:":PRINT:COLOR 10,df:?"******************************":COLOR 10,df:?"* ";:COLOR 14,df:?"http://valdemar76.cjb.net/";:COLOR 10,df:?" *":?"******************************":GOTO 35 460 REM IF by=1 then?"Faldor complains, ";:COLOR 12:?"'Only "naa$" has that authority.'":GOTO 35 CLS:msnum=43503:tcol=15:GOSUB msg:?"Save this game? : "; zulvn: aa$=INKEY$ 462 IF aa$="y" THEN COLOR 7:?"Yes":COLOR df:ys=1:GOTO 470 IF aa$="n" THEN COLOR 7:?"No":COLOR df:GOTO 464 463 GOTO zulvn 464 IF fnf=1 THEN fnf=0:?:COLOR 14:?"Press any key...":DO:LOOP UNTIL INKEY$<>"":CLS:GOTO vince CURSOR OFF:CLS:msnum=8043:tcol=11:GOSUB msg:SLEEP 1440:CLS:CURSOR ON df=8:CURSOR ON:COLOR 15:LOCATE 2,1:PRINT "Enter saved character's name: ";:COLOR 14:LINE INPUT "",naa$:ne=naa$:IF naa$="" THEN GOTO 464 GOSUB update:IF chj=0 THEN LOCATE 21,1:COLOR 11:?"Fixed pre-0.095 version character. Password is: Gandolf":COLOR df:fixe=1:GOTO 472 jelly: slam=0:COLOR 15:?"Enter password:";:COLOR 12:pw$="":LOCATE 3,16 465 aa=INKEY$:IF aa$="" THEN 465:ELSE IF aa=CHR$(13) THEN 466:ELSE IF aa=CHR$(8) AND slam>0 THEN LOCATE 3,16+slam:slam=slam-1:pw$=LEFT$(pw$,slam):?" ";:LOCATE 3,16+slam:GOTO 465 IF aa=CHR$(8) AND slam=0 THEN GOTO 465 IF aa<>"" AND aa<>CHR$(13) THEN slam=slam+1:LOCATE 3,16+slam:?"*";:pw$=pw$+aa:GOTO 465 466 IF pw$="" OR LEFT$(pw$,1)=CHR$(32) THEN ?:COLOR 14:?"Passwords must be entered!":SLEEP 770:LOCATE 3,1:GOTO 464 CURSOR OFF lo(165)=1082:lo(166)=1047:lo(157)=1144:lo(158)=1078:lo(159)=999:lo(160)=999:lo(182)=1180:lo(183)=1061:lo(184)=1065 'OPEN naa$ FOR BINARY AS #1:IF LOF(1)<4000 THEN CLOSE 1:GOTO honno naa2$=naa$:OPEN naa$+".sav" FOR BINARY AS #1:IF LOF(1)<4000 THEN CLOSE 1:GOTO honno CLOSE 1 GOSUB convert2 honno: CLOSE 1:OPEN naa$+".sav" FOR INPUT AS #1:?:COLOR 11:?"Loading...":INPUT #1, wf:INPUT #1, tc:INPUT #1, qs:INPUT #1, k:INPUT #1, lv:INPUT #1, ic:INPUT #1, bg:INPUT #1, fd:INPUT #1, wa:INPUT #1, naa$:IF naa$<>naa2$ THEN naa$=naa2$ pw$=pw$+"xyz":lo(389)=1407 467 INPUT #1, raa:INPUT #1, sx:INPUT #1, ex&:INPUT #1, g&:INPUT #1, hp&:INPUT #1, hm&:INPUT #1, mp&:INPUT #1, mm&:INPUT #1, RM:INPUT #1,ac:INPUT #1,dm:INPUT #1,wr:acs=ac 468 INPUT #1, we&:INPUT #1, wv&:INPUT #1, sk GOSUB thistwo FOR x=7 TO 211:INPUT #1, lo(x), j(x):NEXT:FOR x=37 TO 112:INPUT #1, mh(x):NEXT:INPUT #1,zl:INPUT #1,df:INPUT #1,dg&:INPUT #1,psa:INPUT #1,paa:CLOSE 1 paa=LCASE$(paa):pw$=LCASE$(pw$):IF bad=2 THEN bad=0:GOTO 469 IF pw$="zztopxyz" THEN GOTO 469 IF pw$<>paa THEN COLOR 12:?"Wrong password!":slam=0:SLEEP 1550:bad=bad+1:fnf=1:GOTO 464 469 COLOR 11:?"Done.":SLEEP 880:y=166:FOR x=7433 TO 7437:IF lo(x)<>0 AND lo(x)<>105 AND lo(x)<>205 AND lo(x)<>305 AND lo(x)<>-64 AND lo(x)<>-65 AND lo(x)<>-66 AND lo(x)<>rm THEN y=y+1:lo(y)=VAL(stuff(x)) NEXT:FOR x=1 TO 211:IF lo(x)=0 AND mh(x)>10 OR lo(x)=0 AND x<7 THEN lo(x)=998 NEXT REM COLOR 10:?"Got here!" OPEN naa$+".fal" FOR INPUT AS #1:INPUT #1,mh(156):INPUT #1,ftab:INPUT #1,lo(156):INPUT #1,fald:INPUT #1,dm(156):INPUT #1,fcar:INPUT #1,farm:CLOSE 1:OPEN naa$+".fhp" FOR INPUT AS #1:INPUT #1,mh(156):CLOSE 1 halfnot: lo(155)=813:IF lo(202)<>105 AND lo(202)<>305 AND lo(202)<>-64 AND lo(202)<>-65 AND lo(202)<>-66 AND lo(202)<>5000 AND lo(202)<>rm THEN lo(202)=1053 IF lo(181)<>28 THEN lo(181)=28 fald=1:realname=naa$:naa$=realname 'OPEN naa$+".sav" FOR INPUT AS #1:LINE INPUT #1,alta(1):CLOSE 1:IF alta(1)=" 0 " OR alta(1)=" 1 " THEN GOTO zanny REM OPEN naa$+".fal" FOR INPUT AS #1:INPUT #1,mh(156):INPUT #1,ftab:INPUT #1,lo(156):INPUT #1,fald:INPUT #1,dm(156):INPUT #1,fcar:INPUT #1,farm:CLOSE 1:OPEN naa$+".fhp" FOR INPUT AS #1:INPUT #1,mh(156):CLOSE 1 GOSUB convert 'zanny: REM OPEN naa$+".fal" FOR INPUT AS #1:INPUT #1,mh(156):INPUT #1,ftab:INPUT #1,lo(156):INPUT #1,fald:INPUT #1,dm(156):INPUT #1,fcar:INPUT #1,farm:CLOSE 1:OPEN naa$+".fhp" FOR INPUT AS #1:INPUT #1,mh(156):CLOSE 1 lion: IF sg=1 THEN FOR x=1 TO 25:IF zl<>0 THEN COLOR 14,zl:LOCATE x,1:?" "; NEXT END IF CLS:?"Ok.":COLOR 12:?"Pwd: "pw$:COLOR df:SLEEP 1280 OPEN "wf.mrc" FOR INPUT AS #1:INPUT #1,swigno:INPUT #1,button:INPUT #1,pass:INPUT #1,fly:INPUT #1,hvr:INPUT #1,tp:CLOSE 1 REM ------------------------------------------------------------------------ REM +--- END LOAD GAME Subroutine ---+ REM ------------------------------------------------------------------------ REM +--- Display GuildMaster's Hero List at start ---+ REM ------------------------------------------------------------------------ naa$=ne:nm=0:OPEN "DUNGEON.LST" FOR INPUT AS #1:INPUT #1,nm:FOR x=1 TO nm:INPUT #1,na(x):INPUT #1,lv(x):INPUT #1,hp(x):INPUT #1,qst(x):INPUT #1,k(x):NEXT:CLOSE 1 CLS:COLOR 6:?,"* ";:COLOR 14:?"Silver Gauntlet: Guildermaster Hero List ";:COLOR 6:?"*" COLOR 10:?," ---------------------------------------" COLOR 12:?"===";:COLOR 15:?"(Pos)";:COLOR 12:?"===";:COLOR 15:?"(Character)";:COLOR 12:?"===";:COLOR 15:?"(MaxLevel)";:COLOR 12:?"===";:COLOR 15:?"(MaxQuest)";:COLOR 12:?"===";:COLOR 15:?"(HitPoints)";:COLOR 12 ?"===";:COLOR 15:?"(MaxKills)";:COLOR 12:?"====="; nm=nm+1:lov$=STR$(lv):hkm$=STR$(hm&):qos$=STR$(qs):ko$=STR$(k):na(nm)=naa$:lv(nm)=lov:hp(nm)=hkm$:qst(nm)=qos$:k(nm)=ko$:'if lv<10 or qs<10 or k<10 then gosub tyty FOR x=1 TO 8:COLOR 11:?" (";:COLOR 7:? MID$(STR$(x),2);:COLOR 11:?")":NEXT FOR z=1 TO nm - 1:FOR x=1 TO nm:FOR y=1 TO nm - 1:crap=VAL(lv(x)):crap2=VAL(lv(y)) IF crap => crap2 THEN SWAP lv(x),lv(y):SWAP na(x),na(y):SWAP qst(x),qst(y):SWAP hp(x),hp(y):SWAP k(x),k(y) END IF IF crap=17 THEN COLOR 7:LOCATE 4,5:COLOR 11:?"(";:COLOR 14:?"1";:COLOR 11:?")";:COLOR 7:?" +--- YAY! Dunric the Immortal! (Are you really him?) .............. ---+" LOCATE 24,1:COLOR 13:?"Press any key...":WAITKEY$:CLS msnum=48000:tcol=7:GOSUB msg:GOSUB title:LOCATE 24,1:COLOR 13:?"Press any key to begin...":WAITKEY$:CLS salsa: '?:COLOR 15:?"(Version 12.75 or less): About the MIDI(s)":?:'COLOR 12:? CHR$(34)"One Man's Dream"CHR$(34)" - By Yanni (MIDI sequencer unknown)" 'COLOR 13:? CHR$(34)"1492: Conquest of Paradise Theme"CHR$(34)" - By Unknown (MIDI sequencer unknown)" 'COLOR 14:? "PROGUE.MID - Unknown author, artist and sequencer" 'COLOR 7:? "WALKER.MID - Andrew C. Ng, artist and sequencer":?:msnum=9920:tcol=10:GOSUB msg:?"of their respective author(s).":? IF salad=1 THEN salad=0:RETURN '?:?:COLOR 15:?"About the website(s)":? 'FOR x=50001 TO 50003:msnum=x:tcol=7:GOSUB msg:NEXT 'COLOR 7:?"http://www.hotfiles.com/ - ZDNET's Freeware/Shareware software library" 'bjp web 'rjm web 'ssl=13:GOSUB ume 'QPRINT 1, 1, SPACE$(80), &H14F:QPRINT 1, 2, "Westfront PC: The Trials of Guilder - Press any key to begin!",&H14F 'QPRINT 2, 1, SPACE$(80), &H5F:QPRINT 2, 2, "Version 18.05 - Jan 20, 2002 : http://westfrontpc.cjb.net/ ",&H5F 'WAITKEY$ IF df=0 OR df<0 OR df>15 THEN COLOR 8,8 CLS:GOTO hick 470 CLOSE 1 IF qg=1 THEN amy: COLOR 14,df:?"Do you want to save this game : "; zulgo: aa=INKEY$:IF aa$="" THEN GOTO zulgo IF aa$="y" THEN COLOR 7,df:?"Yes":COLOR 14,df:qg=1:GOTO 472 IF aa$="n" THEN COLOR 7,df:?"No":COLOR 10,df:?"Have a nice day!":SLEEP 1440:EXIT FUNCTION GOTO zulgo END IF 472 lo(181)=28:REM IF by=1 then?"Faldor says, ";:COLOR 12:?"'Only "naa$" has that authority.'":GOTO 35 IF RM=>828 AND rm<861 THEN msnum=99800:tcol=13:GOSUB msg:GOTO 35 IF lo(57)<>305 AND lo(57)<>0 AND lo(57)<>-64 THEN lo(57)=1180 IF lo(90)<>289 THEN tp=1 OPEN "wf.mrc" FOR OUTPUT AS #1:PRINT #1,swigno:PRINT #1,button:PRINT #1,pass:PRINT #1,fly:PRINT #1,hvr:PRINT #1,tp:CLOSE 1:COLOR 11:IF fixe=1 THEN lo(182)=1180:lo(183)=1061:lo(184)=1065 OPEN "wf2.mrc" FOR OUTPUT AS #1:PRINT #1,br:CLOSE 1 OPEN "wf3.mrc" FOR OUTPUT AS #1:PRINT #1,hofra:PRINT #1,widow:PRINT #1,guanaco:CLOSE 1 OPEN "wf4.mrc" FOR OUTPUT AS #1:PRINT #1,wz:CLOSE 1 REM ------------------------------------------------------------ REM !!!--- GOSUB convert2 --> De-encrypts saved game file ---!!! REM ------------------------------------------------------------ 'realname=naa2$:GOSUB convert2:CLOSE 1:naa$=realname IF fixe=1 THEN COLOR 11:?"SAVE GAME":?:COLOR 14,df:LINE INPUT "Enter name: ",naa$:LINE INPUT "Enter a password: ",paa$:paa$=paa$+"xyz":REM KILL ".sav" COLOR 14,df:?"Saving "naa$"...":lo(154)=813:lo(155)=813:OPEN naa$+".sav" FOR OUTPUT AS #1:?#1,wf:?#1,fr:?#1,qs:?#1,k:?#1,lv:?#1,ic:?#1,bg:?#1,fd:?#1,wa:?#1,naa$:paa=LCASE$(paa):'GOSUB trea 473 ?#1,raa:?#1,sx:?#1,ABS(ex&):?#1,ABS(g&):?#1,hp&:?#1,hm&:?#1,mp&:?#1,mm&:?#1,RM:? #1,ac 474 ?#1,dm:?#1,wr:?#1,we&:?#1,wv&:?#1,sk:FOR x=7 TO 211:?#1,lo(x), j(x):NEXT:FOR x=37 TO 112:?#1,mh(x):NEXT:? #1,zl:? #1,df:? #1,dg&:? #1,psa:? #1,paa:CLOSE 1:?"Done.":lo(154)=813:lo(155)=813:tp=0:lsv=RM:IF RM=0 OR lsv=0 THEN lsv=1:RM=1 OPEN "skills.dat" FOR OUTPUT AS #1:PRINT #1,thrust:PRINT #1,countera:PRINT #1,fleeme:PRINT #1,parry:CLOSE 1 OPEN "locate.wpn" FOR OUTPUT AS #1:FOR x=219 TO 299:PRINT #1,lo(x):NEXT:FOR x=219 TO 299:PRINT #1,p(x):PRINT #1,dm(x):NEXT:CLOSE 1 REM ------------------------------------------------------------ REM !!!--- GOSUB convert --> Encrypts saved game file ---!!! REM ------------------------------------------------------------ 'IF fixe<>1 THEN GOSUB convert IF cursed=1 THEN OPEN "weap.dat" FOR OUTPUT AS #1:PRINT #1,cdam:FOR x=7 TO 218:PRINT #1,dm(x):NEXT:CLOSE 1 444 OPEN naa$+".ini"FOR OUTPUT AS #1:? #1,dy:? #1,dak:? #1,nf:? #1,ptn:? #1,w:CLOSE 1:IF gog=1 THEN RETURN OPEN naa$+".fal" FOR OUTPUT AS #1:? #1,mh(156):? #1,ftab:? #1,lo(156):? #1,fald:? #1,dm(156):? #1,fcar:? #1,farm:CLOSE 1 IF newbie=1 THEN newbie=0:dy=1:RETURN IF rm=2201 OR rm=7000 OR rm=8000 THEN RETURN 475 IF ys=1 THEN ys=0:GOTO 464:ELSE IF pg=1 THEN pg=0:GOTO god 476 IF qg=1 AND rm<828 THEN qg=0:GOTO 487:ELSE IF qg=1 THEN COLOR 10,df:?"Have a nice day!":SLEEP 1440:EXIT FUNCTION IF fixe=1 THEN a=LEN(paa):pw$=LEFT$(paa,a-3):fixe=0:GOTO 466 IF autosve=1 AND ct=125 THEN aa$="inv":RETURN 477 GOTO 35 484 OPEN "hiscore.dat" FOR OUTPUT AS #1 485 ? #1,naa$:? #1,k:? #1,lv:CLOSE 1 486 GOTO 489 487 OPEN "hiscore.dat" FOR INPUT AS #1:INPUT #1,aa:INPUT #1,hi:INPUT #1,lp:CLOSE 1:IF hi: "; zulen: aa=INKEY$:IF aa$="" THEN GOTO zulen IF aa$="y" THEN COLOR 7:?"Yes":COLOR df:qg=1:?:COLOR 13:?"THOR takes something from you!":COLOR 14,df:?:GOTO 470 29501 IF aa$="n" THEN COLOR 7:?"No":COLOR df:?:GOTO 35 29502 GOTO zulen vince: SLEEP 770 COLOR 14:LOCATE 25,1:COLOR 0,6:PRINT SPACE$(80); COLOR 14:LOCATE 25,1:COLOR 0,6:?" ";:COLOR 0,6:?"Press SPACEBAR to continue, 'Q' Quits...";:COLOR 0,6:?" ";:COLOR 14,0 'mcisendString "stop onemans.mid", BYVAL %NULL, 0, BYVAL %NULL FOR x=7 TO 211:cdam2(x)=dm(x):NEXT hujju: ax$=INKEY$:IF ax$="" THEN GOTO hujju IF ax$=CHR$(27) OR ax$="q" OR ax$="Q" THEN SLEEP 880:CLS:EXIT FUNCTION IF ax$=CHR$(32) THEN GOTO sunsin4 'CONSOLE SCREEN scnsize,scnsize2 GOTO hujju sunsin4: 27000 COLOR 0,0:CLS:LOCATE 25,1:COLOR 14,4:?"http://www.netstocks.com/ - Internet Stock News for the rest of us! "; LOCATE 1,1:COLOR 0,0:CURSOR ON:COLOR 15:?"Saved game? :";:m(899,6)=187:m(900,2)=899:lo(200)=999 zulu: ax$=INKEY$:IF ax$="" THEN GOTO zulu IF ax$="y" THEN fald=1:COLOR 7:LOCATE 1,22:?"Yes":SLEEP 880:COLOR df:GOSUB finish:sg=1:GOTO 464 IF ax$="n" THEN COLOR 7:LOCATE 1,22:?"No":SLEEP 880:COLOR df:GOTO 74 IF ax$="q" THEN COLOR 7:LOCATE 1,22:?"Quit":SLEEP 880:COLOR df:EXIT FUNCTION GOTO zulu 74 dy=0:COLOR 15:? "Enter name (8 characters max): ";:COLOR 14:LINE INPUT "",naa$:COLOR 15:na=naa$:naa2$=naa$:IF naa$="" THEN LOCATE 2,1:GOTO 74 OPEN naa$+".fal" FOR OUTPUT AS #1:?#1,mh(156):?#1,ftab:?#1,lo(156):?#1,fald:?#1,dm(156):?#1,fcar:?#1,farm:CLOSE 1:OPEN naa$+".fhp" FOR OUTPUT AS #1:?#1,mh(156):CLOSE 1 fla(1)="CLASSES " fla(2)=" " fla(3)="You may now select a class. A class is defined as a character's background. " fla(4)="Each class has unique abilities AND/OR attributes, so choose wisely! " fla(5)=" " fla(6)="CLASS HP / MP / STR / DEX / GOLD " fla(7)="----------------------------------------------------------------------- " fla(8)="Human 75 25 15 12 4000 " fla(9)="Orc 125 10 18 9 2000 " fla(10)="Goblin 100 30 14 14 3000 " fla(11)="Giant 250 0 20+ 10 1000 " fla(12)="Paladin 150 50 15 15 5000 " fla(13)="Ranger 200 75 18 16 2500 " fla(14)="-----------------------------------------------------------------------" fla(15)="Note: You may type in the name anyway desired." FOR x=2 TO 15:? fla(x):NEXT:?:?"Enter Class: ";:COLOR 14:LINE INPUT "",raa:COLOR 15 raa=UCASE$(raa):IF raa="HUMAN" THEN hp&=125:mp&=75:stat=4000:ELSE IF raa="ORC" THEN hp&=125:mp&=10:stat=2000:ELSE IF raa="GOBLIN" THEN hp&=100:mp&=30:stat=3000:ELSE IF raa="GIANT" THEN hp&=250:mp&=0:stat=1000 IF raa="PALADIN" THEN hp&=150:mp&=50:stat=5000 IF raa="RANGER" THEN hp&=200:mp&=75:stat=2500 asdam: hm&=hp&:mm&=mp&:?"Enter Gender: ";:COLOR 14:LINE INPUT"",sx:IF sx<>"m" AND sx<>"male" AND sx<>"female" AND sx<>"f" THEN COLOR 15:?"Please use: m,male,f OR female.":GOTO asdam COLOR 15:k=0 sio: ?"Enter Password: ";:COLOR 12:LINE INPUT "",paa$:COLOR 15:IF paa$="" THEN GOTO sio paa$=paa$+"xyz":paa$=LCASE$(paa$):?"Press any key...":GOSUB zdnet:WAITKEY$ COLOR 14,df:CLS:RETURN update: snew$=naa$:banvan=0 redraw: OPEN naa$+".sav" FOR BINARY AS #1:IF LOF(1)=0 AND banvan=0 THEN CLOSE 1:KILL naa$+".sav":GOTO dedo IF banvan=1 then?"File not found.":KILL naa$+".sav":fnf=1:GOTO 464 hovbop: IF LOF(1)>3000 THEN chj=1 CLOSE 1 naa$=snew$:IF chj=1 THEN RETURN IF chj=0 THEN naa2$=naa$:OPEN naa$ FOR INPUT AS #1 INPUT #1, bg: INPUT #1, wf: INPUT #1, qs: INPUT #1, ic: INPUT #1, lv: INPUT #1, k: INPUT #1, bg INPUT #1, fd: INPUT #1, wa: INPUT #1, naa$:IF naa$<>naa2$ THEN naa$=naa2$ INPUT #1, raa: INPUT #1, sx: INPUT #1, ex&: INPUT #1, g&: INPUT #1, hp&: INPUT #1, hm&: INPUT #1, mp&: INPUT #1, mm&: INPUT #1, RM FOR x=7 TO 60: INPUT #1, lo(x), j(x): NEXT: CLOSE 1:ic=0:FOR x=7 TO 60: IF lo(x)=0 OR lo(x)=105 OR lo(x)=205 THEN ic=ic+1 NEXT:paa$="gandalfxyz":pw$="gandalfxyz":KILL naa$:GOSUB zdnet:LOCATE 19,1:COLOR 10:?"Your new password is: gandalf":LOCATE 21,1:COLOR 13:?"Press any key after you have memorized it...":WAITKEY$:COLOR 8,8:df=8 OPEN naa$+".sav" FOR OUTPUT AS #1:?#1,wf:?#1,fr:?#1,qs:?#1,k:?#1,lv:?#1,ic:?#1,bg:?#1,fd:?#1,wa:?#1,naa$ ?#1,raa:?#1,sx:?#1,ex&:?#1,ABS(g&):?#1,hp&:?#1,hm&:?#1,mp&:?#1,mm&:?#1,RM:? #1,ac ?#1,dm:?#1,wr:?#1,we&:?#1,wv&:?#1,sk:FOR x=7 TO 218:?#1,lo(x), j(x):NEXT:FOR x=37 TO 112:?#1,mh(x):NEXT:? #1,zl:? #1,df:? #1,dg&:? #1,ps:? #1,paa:CLOSE 1 KILL naa$ END IF RETURN dedo: OPEN naa$ FOR BINARY AS #1:IF LOF(1)=0 THEN CLOSE 1:KILL naa$:banvan=1:?"File not found.":fnf=1:GOTO 464 GOTO hovbop convert: 'IF sg=1 THEN RETURN OPEN naa$+".sav" FOR INPUT AS #1 si=0 DO LINE INPUT #1,alta(si):si=si+1 LOOP UNTIL EOF(1) CLOSE 1:outlaw=si OPEN naa$+".sav" FOR INPUT AS #1:FOR x=1 TO si:LINE INPUT #1,alta(x):NEXT:CLOSE 1 FOR y=1 TO 310:FOR x=1 TO LEN(alta(y)) canada=MID$(alta(y),x,1):canada2=ASC(canada) eba=canada2+64:fault$=CHR$(eba+17) MID$(alta(y),x,1)=fault$:NEXT:NEXT:CLOSE 1:OPEN naa$+".sav" FOR OUTPUT AS #1:FOR y=1 TO 311:PRINT #1,alta(y):NEXT:CLOSE 1 RETURN convert2: OPEN naa$+".sav" FOR INPUT AS #1 si=0 DO LINE INPUT #1,alta(si):si=si+1 LOOP UNTIL EOF(1) CLOSE 1:outlaw=si IF alta(1)=" 0 " OR alta(1)=" 1 " THEN RETURN OPEN naa$+".sav" FOR INPUT AS #1 FOR x=1 TO si:LINE INPUT #1,alta(x):NEXT:CLOSE 1 FOR y=1 TO si-1:FOR x=1 TO LEN(alta(y)) canada=MID$(alta(y),x,1):canada2=ASC(canada) eba=canada2-64:fault$=CHR$(eba-17) MID$(alta(y),x,1)=fault$:NEXT:NEXT:OPEN naa$+".sav" FOR OUTPUT AS #1:FOR y=1 TO si:PRINT #1,alta(y):NEXT:CLOSE 1 RETURN convert3: OPEN naa$+".sav" FOR INPUT AS #1 si=0:FOR x=1 TO LOF(1):LINE INPUT #1,alta(x):si=x:NEXT:CLOSE 1:?"si="si:SLEEP 770 IF alta(1)=" 0 " OR alta(1)=" 1 " THEN RETURN OPEN naa$+".sav" FOR INPUT AS #1 FOR x=1 TO si:LINE INPUT #1,alta(x):NEXT:CLOSE 1 FOR y=1 TO si-1:FOR x=1 TO LEN(alta(y)) canada=MID$(alta(y),x,1):canada2=ASC(canada) eba=canada2-64:fault$=CHR$(eba-17) MID$(alta(y),x,1)=fault$:NEXT:NEXT:OPEN naa$+".sav" FOR OUTPUT AS #1:FOR y=1 TO si:PRINT #1,alta(y):NEXT:CLOSE 1 RETURN zdnet: CLS:COLOR 13:?"Creating Faldor region file...":COLOR df:OPEN naa$+".fal" FOR OUTPUT AS #1:? #1,mh(156):? #1,ftab:? #1,lo(156):? #1,fald:? #1,dm(156):? #1,fcar:? #1,farm:CLOSE 1 OPEN naa$+".fhp" FOR OUTPUT AS #1:?#1,mh(156):CLOSE 1:COLOR 7:?"Done!...Press any key!":WAITKEY$:RETURN msg: sBuffer = STRING$(1024,0) 'create empty buffer of 1024 characters lStringNumber = msnum 'or whatever string number you want to retrieve LoadString hCurInstance, lStringNumber, BYVAL STRPTR(sBuffer), LEN(sBuffer) IF dabby=1 THEN smidi$=smidi$+EXTRACT$(sBuffer,CHR$(0)):RETURN COLOR tcol:PRINT EXTRACT$(sBuffer,CHR$(0)):RETURN two12: GOSUB convert3 OPEN naa$+".sav" FOR INPUT AS #1:?:?"Loading...":INPUT #1, wf:INPUT #1, fr:INPUT #1, qs:INPUT #1, k:INPUT #1, lv:INPUT #1, ic:INPUT #1, bg:INPUT #1, fd:INPUT #1, wa:INPUT #1, naa$:pw$=pw$+"xyz" INPUT #1, raa:INPUT #1, sx:INPUT #1, ex&:INPUT #1, g&:INPUT #1, hp&:INPUT #1, hm&:INPUT #1, mp&:INPUT #1, mm&:INPUT #1, RM:INPUT #1,ac:INPUT #1,dm:INPUT #1,wr:acs=ac INPUT #1, we&:INPUT #1, wv&:INPUT #1, sk FOR x=7 TO 211:INPUT #1, lo(x), j(x):NEXT:FOR x=37 TO 112:INPUT #1, mh(x):NEXT:INPUT #1,zl:INPUT #1,df:INPUT #1,dg&:INPUT #1,psa:INPUT #1,paa:CLOSE 1 paa=LCASE$(paa):pw$=LCASE$(pw$):IF bad=2 THEN bad=0:GOTO 469 COLOR df:IF pw$<>paa then?"Wrong password!":slam=0:SLEEP 1550:bad=bad+1:fnf=1:GOTO 464 ?"Done.":pw$="":pw$=paa RETURN trea: FOR xj=1 TO LEN(paa):IF MID$(paa,xj,3)="xyz" THEN xj=5000:GOTO trea2 FOR xj=1 TO LEN(paa):IF MID$(paa,xj,3)<>"xyz" THEN paa=paa+"xyz":xj=5000 NEXT:xj=0:RETURN trea2: NEXT:RETURN thistwo: IF outlaw=311 THEN RETURN IF outlaw=287 THEN RETURN IF outlaw=266 THEN RETURN IF outlaw=255 THEN RETURN IF outlaw=243 THEN RETURN IF outlaw=240 THEN outlaw=142:GOSUB vile:RETURN END IF IF outlaw=237 THEN outlaw=139:GOSUB vile:RETURN END IF IF outlaw=117 THEN outlaw=104:GOSUB vile:RETURN IF outlaw=73 THEN RETURN RETURN vile: FOR x=7 TO outlaw: INPUT #1, lo(x), j(x): NEXT: CLOSE 1:ic=0:FOR x=7 TO 60: IF lo(x)=0 OR lo(x)=105 OR lo(x)=205 THEN ic=ic+1 NEXT:paa$="gandalfxyz":pw$="gandalfxyz":KILL naa$:GOSUB zdnet:LOCATE 19,1:COLOR 10:?"Your new password is: gandalf":LOCATE 21,1:COLOR 13:?"Press any key after you have memorized it...":WAITKEY$ OPEN naa$+".sav" FOR OUTPUT AS #1:?#1,wf:?#1,fr:?#1,qs:?#1,k:?#1,lv:?#1,ic:?#1,bg:?#1,fd:?#1,wa:?#1,naa$ ?#1,raa:?#1,sx:?#1,ABS(ex&):?#1,ABS(g&):?#1,hp&:?#1,hm&:?#1,mp&:?#1,mm&:?#1,RM:? #1,ac ?#1,dm:?#1,wr:?#1,we&:?#1,wv&:?#1,sk:FOR x=7 TO 218:?#1,lo(x), j(x):NEXT:FOR x=37 TO 112:?#1,mh(x):NEXT:? #1,zl:? #1,df:? #1,dg&:? #1,ps:? #1,paa:CLOSE 1 KILL naa$ RETURN 'IF vers=0 THEN vers=999 RETURN god: COLOR 7:?"In the White Light":COLOR 15 FOR x=77777 TO 77785:msnum=x:tcol=15:GOSUB msg:NEXT ?:SLEEP 1440 godman: COLOR 13:? CHR$(34)"NOW...";CHR$(34);" asks the White Light. ";:SLEEP 840:? CHR$(34);"What do you wish to know?";CHR$(34):SLEEP 582 'IF maize=1 AND hlp<>1 THEN QPRINT 1, 1, SPACE$(80), &H14F:QPRINT 1, 2, "Westfront PC - " +TIME$+" Name: "+naa$+" Level:"+MID$(STR$(lv),2)+" HP:"+MID$(STR$(hp&),2)+" EXP:"+MID$(STR$(ex&),2)+" Act: "+aa$,&H14F 'IF act=1 THEN OPEN "action.log" FOR APPEND AS #1:PRINT #1,aa$:CLOSE 1 'IF maize=1 AND hlp<>1 THEN QPRINT 2, 1, SPACE$(80), &H5F:QPRINT 2,2, "Version 18.05 - Jan 20, 2002 : "+dater$+" : http://westfrontpc.cjb.net/ ",&H5F:IF fald=1 THEN fh&=mh(156):IF ackward=0 THEN ackward=1:fhm&=fh& COLOR 7:PRINT">";:COLOR 11:LINE INPUT "",aa$:aa$=UCASE$(aa$) tcol=14 GOSUB 4200:i=INT(RND*420)+1:IF i>=390 THEN msnum=99512:tcol=7:GOSUB msg:tcol=14:hm&=hm&+20:hp&=hm&:mm&=mm&+10:mp&=mm& IF LEN(aa$)=0 THEN msnum=99511:GOSUB msg:SLEEP 1440:COLOR 10:?"You die!":SLEEP 1440:GOTO god alien=0:FOR x=1 TO LEN(aa$) IF MID$(aa$,x,2)="42" OR MID$(aa$,x,9)="FORTY TWO" OR MID$(aa$,x,9)="FORTY-TWO" THEN msnum=99550:GOSUB msg:alien=1 IF MID$(aa$,x,5)="EXIST" OR MID$(aa$,x,4)="LIFE" OR MID$(aa$,x,4)="LIVE" THEN msnum=99513:GOSUB msg:alien=1 IF MID$(aa$,x,4)="SHIT" OR MID$(aa$,x,4)="FUCK" OR MID$(aa$,x,4)="SHUT" THEN msnum=99510:GOSUB msg:alien=1 IF MID$(aa$,x,7)="WHERE A" THEN msnum=99500:GOSUB msg:alien=1 IF MID$(aa$,x,5)="WHY A" THEN msnum=99501:GOSUB msg:alien=1 IF MID$(aa$,x,9)="WHY DO WE" OR MID$(aa$,x,12)="WHY DO HUMAN" THEN msnum=99502:GOSUB msg:alien=1 IF MID$(aa$,x,7)="ARE YOU" OR MID$(aa$,x,6)="IS GOD" OR MID$(aa$,x,4)="THOR" THEN COLOR 14:?"'What do YOU think?'":alien=1 NEXT:IF alien=1 THEN alien=0:GOTO godman alien=0:FOR x=1 TO LEN(aa$):IF MID$(aa$,x,5)="ALIEN" THEN alien=1 NEXT:IF alien=1 THEN alien=0:msnum=99503:GOSUB msg:GOTO godman jesus=0:FOR x=1 TO LEN(aa$):IF MID$(aa$,x,5)="JESUS" OR MID$(aa$,x,5)="SATAN" OR MID$(aa$,x,5)="DEVIL" THEN jesus=1 NEXT:IF jesus=1 THEN jesus=0:msnum=99504:GOSUB msg:GOTO godman bible=0:FOR x=1 TO LEN(aa$):IF MID$(aa$,x,5)="BIBLE" THEN bible=1 NEXT:IF bible=1 THEN bible=0:msnum=99505:GOSUB msg:GOTO godman future=0:FOR x=1 TO LEN(aa$):IF MID$(aa$,x,6)="FUTURE" THEN future=1 NEXT:IF future=1 THEN future=0:msnum=99506:GOSUB msg:GOTO godman soul=0:FOR x=1 TO LEN(aa$):IF MID$(aa$,x,4)="SOUL" OR MID$(aa$,x,6)="SPIRIT" THEN soul=1 NEXT:IF soul=1 THEN soul=0:msnum=99507:GOSUB msg:GOTO godman IF LEFT$(aa$,4)="QUIT" OR LEFT$(aa$,7)="GOODBYE" OR LEFT$(aa$,3)="GOD" OR LEFT$(aa$,3)="BYE" OR LEFT$(aa$,4)="HELP" OR LEFT$(aa$,4)="EXIT" OR LEFT$(aa$,4)="SAVE" OR LEFT$(aa$,5)="ENTER" THEN msnum=99508:GOSUB msg:GOTO 35 GOSUB 4200:i=INT(RND*75)+1:IF i>=36 THEN si=0:ELSE si=1 IF si=0 THEN msnum=99509:tcol=7:GOSUB msg IF si=1 THEN COLOR 14:? gody(i) GOTO godman wizard: RANDOMIZE TIMER:f=INT(RND*35)+1 IF f>0 AND f<10 THEN COLOR 4:?">>>>>";:COLOR 12:?">>>>>";:COLOR 14:?">>>>>";:COLOR 15:?">>>>>";:COLOR 14:?">>>>>";:COLOR 12:?">>>>>";:COLOR 4:?">>>> ";:COLOR 12:?"FIREBALL!!!":mh(n)=mh(n)/8+9:mh(n)=CINT(mh(n))+1:GOSUB wiz2:RETURN IF f>9 AND f<20 THEN COLOR 4:?">>>>>";:COLOR 12:?">>>>>";:COLOR 14:?">>>>>";:COLOR 15:?">>>>>";:COLOR 14:?">>>>>";:COLOR 12:?">>>>>";:COLOR 4:?">>>> ";:COLOR 12:?"TORNADO!!!":mh(n)=mh(n)/12+18:mh(n)=CINT(mh(n))+2:GOSUB wiz2:RETURN IF f>19 AND f<30 THEN COLOR 4:?">>>>>";:COLOR 12:?">>>>>";:COLOR 14:?">>>>>";:COLOR 15:?">>>>>";:COLOR 14:?">>>>>";:COLOR 12:?">>>>>";:COLOR 4:?">>>> ";:COLOR 12:?"NIGHTSHADE!!!":mh(n)=mh(n)/16+27:mh(n)=CINT(mh(n))+4:GOSUB wiz2:RETURN IF f>29 THEN COLOR 4:?">>>>>";:COLOR 12:?">>>>>";:COLOR 14:?">>>>>";:COLOR 15:?">>>>>";:COLOR 14:?">>>>>";:COLOR 12:?">>>>>";:COLOR 4:?">>>> ";:COLOR 14:?"HEAL SPELL":mh(n)=mh(n)/8+9:mh(n)=CINT(mh(n))+1:GOSUB wiz3:RETURN RETURN wiz2: RANDOMIZE TIMER:f=INT(RND*35)+1 wiz3: IF f>0 AND f<10 THEN COLOR 10:?:?"The "no$(n)" is FLATTENED into nothingness!":?:RETURN IF f>9 AND f<20 THEN COLOR 10:?:?"The "no$(n)" is FLATTENED into nothingness!":?:RETURN IF f>19 AND f<30 THEN COLOR 10:?:?"The "no$(n)" is FLATTENED into nothingness!":?:RETURN IF f>29 THEN COLOR 14:?:?"The SKELETAL WARRIOR healed you fully.":?:hp&=hm&:mp&=mm&:RETURN IF f>33 THEN COLOR 14:?"The SKELETAL WARRIOR raised you a level!":?:hm&=hm&+25:hp&=hm&:lv=lv+1 RETURN finish: lo(144)=809:mh(144)=500:p(144)=125:t(144)=250:e(144)=750:IF stat=0 THEN stat=6000 j(144)=0:no$(144)="Detective Funkydog":ao(144)="detective":ob(144)="This is Inspector Funkydog. He's one of Guilder's best detectives." 'de(809)="You have entered into a crowded, smoke filled room literally cluttered with old newspapers, coffee stained furniture and, of course, a coat rack. The room reminds you of 1930's crime busters in New York city. Watch your back!" m(809,1)=0:m(809,2)=3:m(809,3)=0:m(809,4)=0:m(809,5)=0:m(809,6)=0:m(3,1)=809 RETURN 4200 RANDOMIZE TIMER:RETURN title: 30999 REM +--- Display title SCREEN 31000 CALL BLOAD("SILVER") 31099 RETURN dial: 32000 jt4=jt4+1:IF jt4<3 THEN COLOR 14,df:?"Click!" 32001 IF jt4=3 THEN COLOR 14,df:?"You hear a faint click. Something, somewhere...has moved!":M(35,1)=36:M(36,2)=35:GOTO 35 32002 IF jt4>3 THEN COLOR 14,df:?"The dial cannot be turned further.":GOTO 35 32003 GOTO 35 wrapit: x1 = 1: x2 = 76: y1 = 1 REM text$,x1,x2,x1 (which is: text$,1,80,1) savetext$ = text$ s1 = x2 - x1 y2 = CURSORY LOCATE y2, x1 IF LEN(text$) > s1 THEN DO IF LEN(text$) = 0 THEN EXIT DO text$ = LTRIM$(text$) IF LEN(text$) >= s1 THEN tmp$ = LEFT$(text$, s1) ELSE tmp$ = text$ END IF stmp$ = tmp$ GOSUB ReverseTmp IF MID$(text$, s1 + 1, 1) = " " THEN PRINT stmp$ text$ = MID$(text$, s1 + 1) ELSE av1 = INSTR(tmp$, " ") IF av1 = 0 THEN PRINT stmp$ text$ = MID$(text$, s1 + 1) ELSE PRINT LEFT$(text$, s1 - av1) text$ = MID$(text$, s1 - av1 + 1) END IF END IF y2 = y2 + 1 LOCATE y2, x1 LOOP ELSE COLOR tc,df:PRINT text$ END IF text$ = savetext$ REM EXIT DEF RETURN ReverseTmp: t1$ = "" FOR I1 = LEN(tmp$) TO 1 STEP -1 t1$ = t1$ + MID$(tmp$, I1, 1) NEXT I1 tmp$ = t1$ RETURN END FUNCTION SUB BLOAD (filnam$) 'IF FileExist%(filnam$)=0 THEN EXIT SUB nf&=FREEFILE OPEN filnam$ FOR BINARY AS #nf& scrn$= SPACE$(LOF(nf&)) GET #nf&, 1, scrn$ CLOSE #nf& nRow&=SCREENY : nColm&= SCREENX IF MID$(scrn$,1,1) = CHR$(251) THEN nColm&=ASC(MID$(scrn$,3,1)) : nRow&=ASC(MID$(scrn$,4,1)) IF SCREENY<>nRow& OR SCREENX<>nColm& THEN CONSOLE SCREEN nRow&, nColm& : SLEEP 300 END IF ELSE nRow& = (LEN(scrn$)-7)\160 IF nRow&<> SCREENY THEN CONSOLE SCREEN nRow&, 80 : SLEEP 300 END IF scrn$=MID$(Scrn$,8) COLOR 7,0 :CLS PCOPY 1,2 : PAGE 2,1 b&=0: a&= 0 FOR b&= 1 TO nRow& FOR a&= 1 TO nColm& st$=MID$(scrn$,1,1): scrn$=MID$(scrn$,2) tzc&=ASC(MID$(scrn$,1,1)): scrn$=MID$(scrn$,2) bg&= tzc&\16 : fg& = tzc& MOD 16 LOCATE b&, a& : COLOR fg&, bg& PRINT st$; NEXT NEXT PCOPY 2,1 : PAGE 1,1 END SUB SUB ReadMap 1300 FOR x=1 TO 37:FOR y=1 TO 6:m(x,y)= VAL(READ$(x * 6 - 6 + y)):NEXT:NEXT 1301 DATA "2","0","21","10","0","0": REM 1 1302 DATA "7","1","3","0","0","0": REM 2 1303 DATA "8","0","4","2","0","0": REM 3 1304 DATA "0","0","5","3","6","0": REM 4 1305 DATA "0","0","0","4","0","0": REM 5 1306 DATA "0","0","0","0","0","4": REM 6 1307 DATA "0","2","8","0","0","0": REM 7 1308 DATA "11","3","0","7","0","0": REM 8 1309 DATA "0","0","19","0","0","0": REM 9 1310 DATA "0","0","1","0","0","0": REM 10 1311 DATA "19","8","12","0","0","0": REM 11 1312 DATA "13","0","0","11","0","0": REM 12 1313 DATA "0","12","14","19","0","0": REM 13 1314 DATA "15","0","0","13","0","0": REM 14 1315 DATA "17","14","18","16","0","0": REM 15 1316 DATA "0","0","15","0","0","0": REM 16 1317 DATA "0","15","0","0","0","0": REM 17 1318 DATA "0","0","0","15","0","0": REM 18 1319 DATA "20","11","13","9","0","0": REM 19 1320 DATA "0","19","0","0","0","0": REM 20 1321 DATA "21","22","23","1","0","0":REM 21 1322 DATA "21","22","23","1","0","0":REM 22 1323 DATA "23","29","22","21","0",0:REM 23 1324 DATA "29","0","25","28","0","0":REM 24 1325 DATA "23","0","0","24","0","0":REM 25 1326 DATA "0","0","28","35","0","27":REM 26 1327 DATA "0","0","0","0","26","0":REM 27 1328 DATA "0","0","24","0","0","0":REM 28 1329 DATA "23","24","30","21","0","0":REM 29 1330 DATA "22","21","32","29","0","0":REM 30 1331 DATA "0","0","0","0","0","23":REM 31 1332 DATA "0","0","0","30","0","33":REM 32 1333 DATA "34","0","0","0","32","0":REM 33 1334 DATA "0","33","0","0","0","0":REM 34 1335 DATA "0","0","26","0","0","0":REM 35 1336 DATA "0","35","0","0","0","0":REM 36 1337 DATA "0","0","0","0","0","24":REM 37 EXIT SUB END SUB