0 'CLUB 100 Library - 415/939-1246 BBS, 937-5039 NEWSLETTER, 932-8856 VOICE 1 POWERCONT:DEFINTA-Z:MAXFILES=2:CLS:CALL16959:GOSUB301:CLS:CALL17001:PRINT" LEGACY: Reign of the Sorceress ";:CALL17006:PRINT" If you enjoy playing this fascinating game, send $10.00 to:":PRINTTAB(11)"Stan Adermann 3 PRINTTAB(11)"20 SE 2nd St.":PRINTTAB(11)"Gwinner, ND 58040":PRINT"Or at least pass it on to someone else.":CALL17001:PRINT" Press any key. ":GOSUB310:CALL17006:GOTO125 5 GOSUB168:CLEAR750,HIMEM:ONERRORGOTO318:CLEAR500,HIMEM:GOSUB314:CLS:GOSUB27:GOSUB41 6 IFFRE(0)<400THENGOSUB312:CLEAR500,HIMEM:GOSUB314 7 GOSUB310:X=RX:Y=RY:GOSUB35:IFE(8)=1THENGOSUB280:GOTO6 8 IFW$="u"ANDE(6)=1THENLV=LV-1:GOSUB124:GOTO22ELSEIFW$="u"ANDE(6)=0THEN6 9 IFW$="d"ANDE(7)=1THENGOSUB268:LV=LV+1:GOSUB124:GOTO22ELSEIFW$="d"ANDE(7)=0THEN6 10 IFW$="q"THENCALL16964:CLS:GOSUB312:MENU 11 IFW$="c"THENGOSUB212:GOSUB115 12 IFW$="s"THENGOSUB252 13 IFW$="r"THENGOSUB260 14 IFW$CHR$(31)THEN6 15 IFW$=CHR$(28)THENDI=DI+1:IFDI>4THENDI=DI-4 16 IFW$=CHR$(29)THENDI=DI-1:IFDI<1THENDI=DI+4 17 IFW$=CHR$(30)ANDE(DI)=1THENRX=RX-(DI=2)+(DI=4):RY=RY-(DI=3)+(DI=1)ELSEIFW$=CHR$(30)ANDE(DI)=0THEN6 18 IFW$<>CHR$(31)THEN22 19 DR=DI-2:IFDR<1THENDR=DR+4 20 IFE(DR)<>1THEN6 21 RX=RX-(DR=2)+(DR=4):RY=RY-(DR=3)+(DR=1) 22 GOSUB44:GOSUB27:IFRND(1)>.75-FI%(5)*.1THENGOSUB45:GOTO6 23 PM=PM+1-FI%(1)*1:IFPM>HI-FI%(1)*20THENPM=HI-FI%(1)*20 24 HF=HF-1:IFHF<0THEN113 25 HP=HP+1-FI%(7)*1:IFHP>HMTHENHP=HM 26 GOTO6 27 RESTORE28:READA,B,C,D,E,H:X=RX:Y=RY:LINE(A,A)-(B,B),1,B 28 DATA0,63,16,47,24,6,21,42,13,3,24,39,9,2,26,37,7,2,27,36,6,1,28,35,5,1,28,35,4,1,28,35,4,1,29,34,4,1:GOSUB35 29 IFE(DI-1)=1THENLINE(A,C)-(C,C):LINE-(C,D):LINE-(A,D)ELSELINE(A,A)-(C,C):LINE-(C,D):LINE-(A,B) 30 IFE(DI+1)=1THENLINE(B,C)-(D,C):LINE-(D,D):LINE-(B,D)ELSELINE(B,A)-(D,C):LINE-(D,D):LINE-(B,B) 31 IFE(6)=1THENLINE(31-H,31)-(31-H,31-E):LINE(32+H,31)-(32+H,31-E):LINE(31-H,31-(E/3))-(32+H,31-(E*2/3)),1,B 32 IFE(7)=1THENLINE(31-H,32)-(31-H,32+E):LINE(32+H,32)-(32+H,32+E):LINE(31-H,32+(E/3))-(32+H,32+(E*2/3)),1,B 33 IFC=29ANDD=34THENLINE(C,C)-(D,D),1,B:GOSUB40:RETURN 34 IFE(DI)=1THENA=C:B=D:READC,D,E,H:X=X-(DI=2)+(DI=4):Y=Y-(DI=3)+(DI=1):GOSUB35:GOTO29ELSELINE(C,C)-(D,D),1,B:GOSUB40:RETURN 35 G=ASC(MID$(MA$,X+1+Y*10,1)):FORF=1TO4:E(F)=0:G=G/2:IFG<>INT(G)THENG=INT(G):E(F)=1 36 NEXTF:E(0)=E(4):E(5)=E(1):G=G/2:IFG<>INT(G)THENG=INT(G):E(6)=1ELSEE(6)=0 37 G=G/2:IFG<>INT(G)THENG=INT(G):E(7)=1ELSEE(7)=0 38 G=G/2:G=INT(G):G=G/2:IFG<>INT(G)THENG=INT(G):E(8)=1ELSEE(8)=0 39 RETURN 40 PRINT@11,LEFT$(N$,28):PRINT@51,"Level:"INT(XP/100)+1"HM:"HM" HP:"HP:PRINT@91,"Gold:"GO"Food:"INT(HF)"MP:"PM:RETURN 41 CALL17001:GOSUB279:PRINT@132,"˜)Move forward ™)Move back":PRINT@172,"›)Turn left š)Turn right":PRINT@212,"U)Move up D)Move down":PRINT@252,"C)Cast spell R)Rest":PRINT@292,"Q)Quit or Save S)Status":CALL17006:RETURN 44 PRINT@0," ":FORER=1TO6:PRINT" ":NEXTER:PRINT" ";:RETURN 45 MF=1:IFRND(1)*100>HITHENW$="w":GOTO49 46 GOSUB279:PRINT@131,"You hear a creature":PRINT@171,"approaching. Do you wish to":PRINT@211,"A)Attack H)Hide":PRINT@251,"W)Wait 48 GOSUB310:IFINSTR("ahw",W$)=0THEN48 49 MN=INT(RND(1)*2+1)+(LV-1)*2 50 RESTORE116:FORA=1TOMN:MN$="":READMN$,MW,MA,MS,MQ,MI,MC,C:NEXT:RESTORE123:FORD=1TOC:FORB=1TO5:READLI$(B):NEXT:NEXT:MP=LV*50:IFMN=21THENMP=1000:GOTO68 52 IFW$="a"THEN68 53 GOSUB279:PRINT@131,"A "MN$" comes":PRINT@171,"into view.":IFW$="w"OR(RND(1)"b"THEN67 63 GOSUB279:IFGOMQTHENPRINT@131,"You attack first."ELSEPRINT@131,"The creature attacks first.":GOTO106 69 PRINT@171,"Press a key.":GOSUB310 70 CALL17006:GOSUB40:CALL17001:GOSUB279:PRINT@131,"Select your attack:":PRINT@171,"T)Thrust P)Parry":PRINT@211,"C)Cast spell":PRINT@251,"S)Surrender and offer gold 72 GOSUB310:IFINSTR("tpcs",W$)=0THEN72 73 GOSUB279:IFW$="t"THENPRINT@131,"Target?-1 "LI$(1):B=2:FORA=171TO291STEP40:PRINT@A," "B;LI$(B):B=B+1:NEXTAELSE76 74 GOSUB310:IFW$<"1"ORW$>"5"THEN74 75 W=VAL(W$):TT=1 76 IFW$="p"THENW=INT(RND(1)*5)+1:TT=1ELSETT=0 77 IFW$="c"THENGOSUB212:GOTO83 78 IFW$<>"s"THEN81 79 IFINT(RND(1)*100)>HIANDGO>0THENGOSUB279:PRINT@131,"The creature takes all of":PRINT@171,"your gold, strikes you":PRINT@211,"soundly, and leaves.":PRINT@251,"Press a key. 80 IFINT(RND(0)*100)>HIANDGO>0THENHP=HP-INT(RND(1)*HP):GO=0:GOSUB310:GOTO115ELSECLS:CALL17006:PRINT"The monster laughs gleefully and strikesyou dead. You have lost.":GOSUB306:KILL"a!!!1.do":MENU 81 A1=HQ+HS+HW*10+(XP/100+1)*30+FI%(2)*50*(XP/100+1)-50*TT+50:D2=MQ+MC/2+MA*10+LV*30+(6-W)*5:IFA1D2THENPRINT@131,"You hit the "MN$:FL=1ELSEFL=0:PRINT@131,"You missed the "MN$ 83 DM=(HW*INT(RND(1)*10+1)+(INT(RND(1)*HS+1))*(6-W)/5)-(FI%(3)*40):RD=INT(RND(1)*MC/2):IFRD>DMTHEN83 84 MP=MP+(RD-DM)*FL:IFMP>0THEN89 85 IFLV*100>XPTHENXP=XP+MI 86 IFMN=21THEN265 87 PRINT@171,"You have slain the":PRINT@211,MN$:GO=GO+INT(RND(1)*MI/2):IFRND(1)<.5THENHF=HF+INT(RND(1)*MC):IFHF>255THENHF=255 88 PRINT@251,"Press a key.":GOSUB310:GOTO115 89 IFMN<>21ANDMP<10*LVTHENPRINT@171,"The monster falls to its":PRINT@211,"knees and offers you a potion":PRINT@251,"in return for its life.":PRINT@291,"A)Accept potion K)Kill"ELSE107 90 GOSUB310:IFINSTR("ak",W$)=0THEN90 91 IFW$="k"THENMP=0:D2=0:GOTO82 92 P=INT(RND(1)*7)+1:RESTORE121:FORA=1TOP:READP$:NEXTA:GOSUB279:IFRND(1)*100+1100THENHS=100 97 HQ=HQ-4*LV*(P=2):IFHQ>100THENHQ=100 98 HI=HI-4*LV*(P=3):IFHI>100THENHI=100 99 HC=HC-4*LV*(P=4):HP=HP-40*(P=4):IFHC>100THENHC=100 100 IFP=5THENHF=HF\2 101 IFP=6THENHP=HM 102 IFP=7THENHP=HP\2 103 HM=HC*10:IFLV*100>XPTHENXP=XP+10 104 IFRND(0)*100+1>=HITHENGOSUB279:PRINT@131,"The creature gave you a":PRINT@171,"potion of "P$".":PRINT@211,"Press a key.":GOSUB310 105 GOSUB124:GOTO115 106 PRINT@171,"Press a key.":GOSUB310 107 IFMF>0AND(FI%(6)<>1ORMN=21)THENGOSUB279:PRINT@131,"The monster casts a fireball":HP=HP-INT(RND(1)*.5*HP):MF=MF-1 108 MT=INT(RND(1)*5+1):D2=HQ+HC/2+HA*10+(XP/100+1)*30+(6-MT)*5+TT*50:A1=MQ+MW*10+MS+LV*50+25:IFA1D2THENPRINT@131,"The "MN$" hit you":FL=1ELSEFL=0:PRINT@131,"The "MN$" missed you 110 DM=INT((MW*INT(RND(1)*10+1)+INT(RND(1)*MS+1))*(6-MT)/5) 111 RD=INT(RND(1)*HC/2):IFRD>DMTHEN111 112 HP=HP+(RD-DM)*FL:IFHP>0THEN70 113 CLS:CALL17006:PRINT"You have been slain. The sorceress still holds her vicelike grip over the land. All hope is lost...":PRINT@210,"until the next time.":GOSUB306:KILL"a!!!1.do":MENU 115 CALL17006:CLS:GOSUB27:GOSUB41:RETURN 116 DATAzombie,1,1,10,10,10,40,1,skeleton,2,1,15,30,15,10,2,troll,3,1,25,25,25,25,1,fighter,4,3,40,30,10,20,1,goblin,5,4,37,37,37,39,1,blob,5,5,50,33,33,34,3,gargoyle,7,6,45,45,30,60,4,mummy,5,8,60,30,45,45,1,ogre,8,8,60,70,20,50,1,orc,8,9,50,80,40 117 DATA30,2,golem,8,8,100,50,40,100,1,werewolf,9,8,100,100,10,80,5,ninja,11,12,80,100,60,100,2,centaur,12,11,100,100,20,100,7,minotaur,13,13,100,100,100,100,2,medusa,15,13,100,100,100,100,1,dragon,17,12,100 118 DATA100,100,100,6,vampire,13,16,100,100,100,100,1,devil,18,18,100,100,100,100,4,demon,17,17,100,100,100,100,4,sorceress,35,30,100,100,100,100,1 119 DATAhands,dagger,mace,axe,bow,short sword,long sword,magic staff,crystal sword 120 DATAcloth,leather,studded leather,mail,bonded mail,partial plate,full plate,mithril,crystal 121 DATAstrength,quickness,intelligence,constitution,munchies,healing,poison 122 DATAspells,striking,damage,hiding,battles,magic stop,healing,speed 123 DATAhead,chest,groin,arms,legs,crown,torso,shield arm,sword arm,legs,nucleus,dna,ectoplasm,endoplasm,pseudopod,head,body,wings,arms,legs,head,throat,body,forelegs,hind legs,head,throat,body,wings,legs,head,manbody,horsebody,arms,legs 124 OPEN"a!!!2.do"FORINPUTAS1:FORA=1TOLV:MA$="":INPUT#1,MA$:NEXTA:CLOSE:OPEN"a!!!1.do"FORINPUTAS1:INPUT#1,N$,SE$,RA$:CLOSE:RETURN 125 X=VAL(RIGHT$(TIME$,2))*VAL(MID$(TIME$,5,1)):CLS:FORA=1TOX:B=RND(1):NEXTA:ONERRORGOTO130:OPEN"a!!!2.do"FORINPUTAS1:CLOSE1:PRINT"Do you wish to create a new maze?(y/n) 127 PRINT"Note: There is already a maze created, and to create a new one will take approximately fifteen minutes. 128 GOSUB310:IFW$<>"y"ANDW$<>"n"THEN128 129 CLS:IFW$<>"y"THEN5 130 GOSUB269:LINE(0,0)-(63,63),1,B:PRINT@218,"Please Wait...":CALL17001:PRINT@61," LEGACY ":PRINT@93," Reign of the Sorceress ":CALL17006:OPEN"a!!!2.do"FOROUTPUTAS1:FX=INT(RND(1)*10):FY=INT(RND(1)*10):FORLV=1TO10:PRINT@303,LV;:SX=FX:SY=FY 132 FX=INT(RND(1)*10):FY=INT(RND(1)*10):X=INT(RND(1)*10):Y=INT(RND(1)*10):MA$="":MA$=STRING$(100,64):RC=0 133 GOSUB134:GOTO143 134 B=0:IFY=0THENWA%(0)=0:GOTO136 135 IFASC(MID$(MA$,(Y-1)*10+X+1,1))<>64THENWA%(0)=0ELSEWA%(0)=1:B=B+1 136 IFX=0THENWA%(3)=0:GOTO138 137 IFASC(MID$(MA$,Y*10+X,1))<>64THENWA%(3)=0ELSEWA%(3)=1:B=B+1 138 IFX=9THENWA%(1)=0:GOTO140 139 IFASC(MID$(MA$,X+2+Y*10,1))<>64THENWA%(1)=0ELSEWA%(1)=1:B=B+1 140 IFY=9THENWA%(2)=0:GOTO142 141 IFASC(MID$(MA$,X+1+10*(Y+1),1))<>64THENWA%(2)=0ELSEWA%(2)=1:B=B+1 142 RETURN 143 IFB=0THEN152 144 D=INT(RND(1)*B)+1:C=0:B=-1 145 B=B+1:IFWA%(B)=0THEN145 146 C=C+1:IFC=DTHEND=BELSE145 147 IFD=0THENMID$(MA$,1+X+Y*10)=CHR$(ASC(MID$(MA$,1+X+Y*10,1))+1):Y=Y-1:MID$(MA$,1+X+Y*10)=CHR$(ASC(MID$(MA$,1+X+Y*10,1))+4) 148 IFD=1THENMID$(MA$,1+X+Y*10)=CHR$(ASC(MID$(MA$,1+X+Y*10,1))+2):X=X+1:MID$(MA$,1+X+Y*10)=CHR$(ASC(MID$(MA$,1+X+Y*10,1))+8) 149 IFD=2THENMID$(MA$,1+X+Y*10)=CHR$(ASC(MID$(MA$,1+X+Y*10,1))+4):Y=Y+1:MID$(MA$,1+X+Y*10)=CHR$(ASC(MID$(MA$,1+X+Y*10,1))+1) 150 IFD=3THENMID$(MA$,1+X+Y*10)=CHR$(ASC(MID$(MA$,1+X+Y*10,1))+8):X=X-1:MID$(MA$,1+X+Y*10)=CHR$(ASC(MID$(MA$,1+X+Y*10,1))+2) 151 RC=RC+1:PRINT@263,RC:IFRC<99THEN133ELSE162 152 C=ASC(MID$(MA$,1+X+Y*10,1)):FORB=1TO4:C=C/2:IFC<>INT(C)THENC=INT(C):O%(B)=1ELSEO%(B)=0 153 NEXTB:FORDI=1TO4:IFO%(DI)=0THENNEXTDI 154 IFDI=1THENY=Y-1 155 IFDI=2THENX=X+1 156 IFDI=3THENY=Y+1 157 IFDI=4THENX=X-1 158 C=ASC(MID$(MA$,1+X+Y*10,1)):FORB=1TO4:C=C/2:IFC<>INT(C)THENC=INT(C):O%(B)=1ELSEO%(B)=0 159 NEXTB:GOSUB134:IFB=0THENDI=DI+2ELSE144 160 DI=DI+1:IFDI>4THENDI=DI-4 161 IFO%(DI)=0THEN160ELSE154 162 IFLV>4THEN166ELSEFORZV=1TO7 163 QX=INT(RND(1)*9):QY=INT(RND(1)*9):IFMID$(MA$,1+QX+QY*10,1)<"€"THENMID$(MA$,1+QX+QY*10)=CHR$(ASC(MID$(MA$,1+QX+QY*10,1))+128)ELSE163 165 NEXT 166 IFLV>1THENMID$(MA$,1+SX+SY*10)=CHR$(ASC(MID$(MA$,1+SX+SY*10,1))+16) 167 MID$(MA$,1+FX+FY*10)=CHR$(ASC(MID$(MA$,1+FX+FY*10,1))+32):PRINT#1,MA$:NEXTLV:CLOSE:CLEAR500,HIMEM:GOTO5 168 ONERRORGOTO171:OPEN"a!!!1.do"FORINPUTAS1:CLOSE1:CLS:PRINT"Do you wish to make a new character?[y/n]"; 169 GOSUB310:IFW$<>"n"ANDW$<>"y"THEN169 170 CLS:IFW$<>"y"THENRETURN 171 CLS:CALL17001:PRINT" LEGACY: Reign of the Sorceress ";:PRINT@53," Name:":CALL17006:PRINTTAB(10)"Sex[M/F]:":PRINTTAB(9)"Race[1-3]:":PRINTTAB(20)"1 Human":PRINTTAB(20)"2 Elven":PRINTTAB(20)"3 Dwarf":N$=" 173 GOSUB310:IFW$=CHR$(13)THEN176 174 IF(W$=CHR$(29)ORW$=CHR$(8))ANDLEN(N$)<>0THENZ$=LEFT$(N$,LEN(N$)-1):N$=Z$ELSEN$=N$+W$ 175 PRINT@59,N$" ":GOTO173 176 PRINT@53," Name:":CALL17001:PRINT@89," Sex[M/F]:":CALL17006 177 GOSUB310:IFW$<>"m"ANDW$<>"f"THEN177 178 IFW$="m"THENSE$="Male"ELSESE$="Female 179 PRINT@89," Sex[M/F]:"+SE$:CALL17001:PRINT@128," Race[1-3]:":CALL17006 180 GOSUB310:IFVAL(W$)<1ORVAL(W$)>3THEN180 181 IFW$="1"THENRA$="Human 182 IFW$="2"THENRA$="Elven 183 IFW$="3"THENRA$="Dwarf 184 PRINT@128," Race[1-3]:"+RA$:FORA=1TO3:PRINT" ":NEXT:CALL17001:PRINT@172,"?Correct[Y/N]? 185 GOSUB310:IFW$<>"y"ANDW$<>"n"THEN185 186 IFW$="n"THEN171 187 CLS:CALL17001:PRINT" LEGACY: Reign of the Sorceress ";:CALL17006:PRINT" Points to be distributed: 100":CALL17001:PRINT@89," Strength:":CALL17006:PRINTTAB(9)"Quickness:":PRINTTAB(6)"Intelligence:":PRINTTAB(6)"Constitution: 189 PRINTTAB(15)"[10--40]":PT=100:S$=" 190 GOSUB310:IF(ASC(W$)<48ORASC(W$)>57)THEN190 191 S$=S$+W$:PRINT@99,S$:IFLEN(S$)<2THEN190 192 PRINT@89," Strength:":CALL17001:PRINT@128," Quickness:":S=VAL(S$):S$="":PT=PT-S:CALL17006:PRINT@70,PT 193 GOSUB310:IF(ASC(W$)<48ORASC(W$)>57)THEN193 194 S$=S$+W$:PRINT@139,S$:IFLEN(S$)<2THEN193 195 PRINT@128," Quickness:":CALL17001:PRINT@165," Intelligence:":Q=VAL(S$):S$="":PT=PT-Q:CALL17006:PRINT@70,PT 196 GOSUB310:IF(ASC(W$)<48ORASC(W$)>57)THEN196 197 S$=S$+W$:PRINT@179,S$:IFLEN(S$)<2THEN196 198 PRINT@165," Intelligence:":CALL17001:PRINT@205," Constitution:":I=VAL(S$):S$="":PT=PT-I:CALL17006:PRINT@70,PT 199 GOSUB310:IF(ASC(W$)<48ORASC(W$)>57)THEN199 200 S$=S$+W$:PRINT@219,S$:IFLEN(S$)<2THEN199 201 PRINT@205," Constitution:":C=VAL(S$):S$="":PT=PT-C:PRINT@70,PT:CALL17001:PRINT@252,"?Correct[Y/N]? 202 IFS>40ORQ>40ORI>40ORC>40ORS<10ORQ<10ORI<10ORC<10ORPT<>0THENPRINT@240," Points incorrectly distributed. Press a key. "ELSE204 203 IFINKEY$=""THEN203ELSE187 204 GOSUB310:IFW$<>"y"ANDW$<>"n"THEN204 205 IFW$="n"THEN187 206 IFSE$="Male"THENS=S+5ELSEI=I+5 207 IFRA$="Human"THENI=I+5 208 IFRA$="Elven"THENQ=Q+5 209 IFRA$="Dwarf"THENC=C+5 210 PM=I:OPEN"ram:a!!!1.do"FOROUTPUTAS1:PRINT#1,N$:PRINT#1,SE$:PRINT#1,RA$:PRINT#1,S;Q;I;C;2;1;255;0;C*10;C*10;100;0;PM;0;0;1;2:CLOSE:CALL17006:RETURN 212 GOSUB279:PRINT@131,"M)Move ring F)Fireball":PRINT@171,"C)Create Food U)Up level":PRINT@211,"H)Heal T)Teleport":PRINT@251,"S)Slow monster D)Down level":PRINT@291,"G)Generate Map K)Kill 214 GOSUB310:SP=INSTR("mchsgfutdk",W$):IFSP=0THEN214 215 GOSUB279:IFSP<>6ANDMN=21THENPRINT@131,"Spell failed--press a key.":GOSUB310:GOTO251 216 IFSP*10>PMTHENPRINT@131,"Not enough magic points.":PRINT@171,"Press a key.":GOSUB310:GOTO251 217 PM=PM-SP*10:ONSPGOTO218,232,230,234,235,243,244,245,249,250 218 FORA=1TO8:IFFI%(A)=0THENNEXTA:GOTO251ELSECLS:PRINT"Move which ring?":RESTORE122:FORA=1TO8:READRI$:PRINTA;RI$;:IFFI%(A)=1THENPRINT" R", 220 IFFI%(A)=-1THENPRINT" L", 221 IFFI%(A)=0THENPRINT, 222 NEXT 223 GOSUB310:IFW$<"1"ORW$>"8"THEN223 224 W=VAL(W$):IFFI%(W)=0THENPRINT@240,"You don't have this ring. ":PRINT"Press any key.":GOSUB310:GOTO251 225 V=W:B=0:FORA=1TO8:IFFI%(W)=-FI%(A)THENB=B+1 226 NEXT:IFB=4THENPRINT"Switch it with which ring?"ELSEFI%(V)=-FI%(V):GOTO251 227 GOSUB310:IFW$<"1"ORW$>"8"THEN223 228 W=VAL(W$):IFFI%(W)=0THEN224 229 IFFI%(V)=-FI%(W)THENFI%(V)=-FI%(V):FI%(W)=-FI%(W):GOTO251ELSECLS:PRINT"Spell failed--Press a key.":GOSUB310:GOTO115 230 HP=HP+HI-20*FI%(1):IFHP>HMTHENHP=HM 231 GOTO251 232 HF=HF+HI-FI%(1)*20:IFHF>255THENHF=255 233 GOTO251 234 MQ=MQ/2:GOTO251 235 GOSUB279:GOSUB44:X2=X:Y2=Y:PRINT@131,"You are at"X;Y:LINE(X*6+2,Y*6+2)-(X*6+4,Y*6+4),1,BF:FORY=0TO9:FORX=0TO9:GOSUB35:IFE(1)=0THENLINE(X*6,Y*6)-(X*6+6,Y*6) 237 IFE(2)=0THENLINE(X*6+6,Y*6)-(X*6+6,Y*6+6) 238 IFE(3)=0THENLINE(X*6+6,Y*6+6)-(X*6,Y*6+6) 239 IFE(4)=0THENLINE(X*6,Y*6+6)-(X*6,Y*6) 240 IFE(7)=1THENPRINT@171,"Stairs down at"X;Y:LINE(X*6+6,Y*6)-(X*6,Y*6+6) 241 IFE(6)=1THENPRINT@211,"Stairs up at"X;Y:LINE(X*6,Y*6)-(X*6+6,Y*6+6) 242 NEXT:NEXT:X=X2:Y=Y2:PRINT@251,"Press a key.":GOSUB310:RETURN 243 MP=MP-INT(RND(1)*MP*.75):GOTO251 244 IFLV>1THENLV=LV-1:GOSUB124:GOTO251ELSE251 245 CLS:PRINT"[0-9]X=";:GOSUB310:IFINSTR("1234567890",W$)=0THEN245 246 RX=VAL(W$):PRINTW$ 247 PRINT@40,"[0-9]Y=";:GOSUB310:IFINSTR("1234567890",W$)=0THEN247 248 RY=VAL(W$):PRINTW$:GOTO251 249 IFLV<10THENLV=LV+1:GOSUB124:GOTO251ELSE251 250 MP=0 251 RETURN 252 CLS:PRINTLEFT$(N$,25)", "RA$" "SE$:PRINT" Stength:"HS" Quickness:"HQ:PRINT"Intelligence:"HI" Constitution:"HC:PRINT" Hit Points:"HP:PRINT@140,"Hit maximum:"HM:PRINT" Gold:"GO:PRINT@181,"Experience:"XP 254 PRINT" Level:"INT(XP/100)+1:PRINT@227,"Food:"INT(HF):PRINT"Weapon:";:RESTORE119:FORA=1TOHW:READW$:NEXTA:PRINTW$:PRINT"Armour:";:RESTORE120:FORA=1TOHA:READW$:NEXTA:PRINTW$:GOSUB310:CLS:PRINT@17,"Rings 256 PRINT"---------------------------------------- left hand right hand --------- ---------- ":RESTORE122:FORA=1TO8:READW$:IFFI%(A)=1THENPRINTTAB(26)W$ 258 NEXTA:PRINT@160,"";:RESTORE122:FORA=1TO8:READW$:IFFI%(A)=-1THENPRINTTAB(4)W$ 259 NEXTA:GOSUB310:CLS:GOSUB27:GOSUB41:RETURN 260 HP=HP+2-5*(FI%(7)=-1)+(FI%(7)=1):IFHP>HMTHENHP=HM 261 PM=PM+2-5*(FI%(1)=-1)+(FI%(1)=1):IFPM>HI-20*FI%(1)THENPM=HI-20*FI%(1) 262 HF=HF-1:IFHF<0THEN113 263 IFRND(1)>.85-.1*FI%(5)THENGOSUB45:GOTO6 264 GOSUB40:RETURN 265 CALL17006:CLS:PRINT"You have slain the sorceress! All the lands and peoples that she once controlled are yours! Throughout the land can be heard the sounds of laughterand joy.":PRINT:PRINTTAB(15)"The End.":GOSUB310:MENU 268 IFLV<>10THENRETURN 269 PRINT@0,"";:FORA=1TO8:PRINTSTRING$(11," "):NEXT:FORA=27TO37:LINE(A,32)-(A*2-32,56):NEXT:LINE(28,31)-(25,18):LINE-(39,18):LINE-(36,31):LINE(25,18)-(19,26):LINE-(27,34):LINE(26,22)-(22,26):LINE-(27,32):LINE(39,18)-(45,26):LINE-(37,34) 271 LINE(38,22)-(42,26):LINE-(37,32):LINE(34,18)-(30,16),1,B:LINE(28,16)-(36,7),1,B:LINE(29,6)-(35,6):LINE(30,5)-(34,5):LINE(28,14)-(28,20):LINE(29,15)-(29,21):LINE(35,15)-(35,21):LINE(36,14)-(36,20):PSET(29,8):PSET(35,8):LINE(31,14)-(33,14) 273 LINE(32,12)-(32,11):PSET(30,10):PSET(34,10):LINE(34,19)-(31,22):LINE(30,19)-(33,22):PSET(32,23):IFLV=0THENRETURN 274 GOSUB279:PRINT@131,"You are in the presence of":PRINT@171,"the sorceress. She laughs":PRINT@211,"and says, 'Well, little one,":PRINT@251,"do you feel you are ready to":PRINT@291,"face me?' [Y/N] 276 GOSUB310:IFINSTR("yn",W$)=0THEN276 277 IFW$="n"THENLV=9:GOTO115 278 MF=2:GOSUB279:PRINT@131,"Very well! Let the battle":PRINT@171,"begin!":PRINT@211,"Press a key.":GOSUB310:MN=21:GOTO50 279 FORPH=291TO131STEP-40:PRINT@PH,STRING$(29," "):NEXTPH:RETURN 280 MID$(MA$,X+1+Y*10)=CHR$(ASC(MID$(MA$,X+1+Y*10,1))-128) 281 O=INT(RND(1)*3):RC=0:FORA=1TO8:IFFI%(A)<>0THENRC=RC+1 282 NEXT:IFRC+HW+HA=26THENRETURN 283 IFRC+HW+HA>=7*LVTHENRETURN 284 IFO=1ANDHW=9THEN281 285 IFO=0ANDHA=9THEN281 286 IFO=2ANDRC=8THEN281 287 IFO<>2THEN296 288 W=INT(RND(1)*8+1):IFFI%(W)<>0THEN288 289 RESTORE122:FORA=1TOW:MN$="":READMN$:NEXT:GOSUB279:PRINT@131,"You found a ring of":PRINT@171,MN$".":PRINT@211,"Do you wish to place it on":PRINT@251,"your left or right hand?[L/R] 291 GOSUB310:IFINSTR("lr",W$)=0THEN291 292 IFW$="l"THENFI%(W)=-1ELSEFI%(W)=1 293 B=0:FORA=1TO8:IFFI%(A)=FI%(W)THENB=B+1 294 NEXT:IFB>4THEN291 295 GOTO115 296 IFO=0THEN299 297 GOSUB279:HW=HW+1:RESTORE119:FORA=1TOHW:MN$="":READMN$:NEXT:PRINT@131,"You found a "MN$:PRINT@171,"Press a key.":GOSUB310:GOTO115 299 GOSUB279:HA=HA+1:RESTORE120:FORA=1TOHA:MN$="":READMN$:NEXT:PRINT@131,"You found "MN$:PRINT@171,"armour. Press a key.":GOSUB310:GOTO115 301 CLS:PRINT@82,"üïïþ":CALL17001:PRINT@122," PS ";:CALL17006:PRINT" Psychic Software Presents...":PRINT" ýïïû":PRINT" ðøøò":PRINT" öññ÷":FORA=1TO500:IFINKEY$=""THENNEXTAELSERETURN 303 CLS:PRINT"ýïû ýïïïïï üïïïþ üïïïþ üïïïþýïû ýïû ï ï ý ï üï ï ï ï üï ï ï ï ï ü ï þ ï ï ï ï ï ï ïïïï ï ïïï ï ï ï ýïïïû ï ï ý ï û ï ïïïïï ï ï 305 PRINT" ï ü ï ü ï ï ï ï ï ýï ï ïïïïï ïïïïï ýïïïûüïþ üïþýïïïû üïþ «1985 By Psychic Software. 306 DATA9394,20,0,5,9394,10,7032,45,0,5,9394,20,7032,10,5586,40,0,10,9394,20,7032,10,5586,30,9394,20,7032,10,5586,30,9394,20,7032,10,5586,30,0,10,7032,20,5586,10,4697,40,5586,30,7032,30,9394,40,0,5,9394,20,0,5,9394,10,7032,50:RESTORE306 308 IFINKEY$<>""THENRETURN 309 READA,B:SOUNDA,B:IFB=50THENRETURNELSE308 310 W$=INKEY$:IFW$=""THEN310 311 RETURN 312 B=1:RI=0:FORA=1TO8:RI=RI-(FI%(A)=1)*B:B=B*2:RI=RI-(FI%(A)<>0)*B:B=B*2:NEXTA:OPEN"a!!!1.do"FOROUTPUTAS1:PRINT#1,N$:PRINT#1,SE$:PRINT#1,RA$:PRINT#1,HS;HQ;HI;HC;HW;HA;HF;RI;HP;HM;GO;XP;PM;RX;RY;LV;DI:CLOSE:RETURN 314 OPEN"a!!!1.do"FORINPUTAS1:INPUT#1,N$,SE$,RA$,HS,HQ,HI,HC,HW,HA,HF,RI,HP,HM,GO,XP,PM,RX,RY,LV,DI:CLOSE:GOSUB124:R=RI:FORA=1TO8:R=R/2:IFR<>INT(R)THENR=INT(R):L=1ELSEL=-1 316 R=R/2:IFR<>INT(R)THENR=INT(R):FI%(A)=LELSEFI%(A)=0 317 NEXT:X=VAL(RIGHT$(TIME$,2)):FORY=1TOX:A=RND(1):NEXT:RETURN 318 CLS:PRINTERR,ERL:STOP