1 ONERR GOTO 9500 2 A = USR (1):A = USR (2): & WINDOW0,40,0,24: HOME : TEXT :A = USR (0) 3 DIM KA(8),KB(8),KC(8),OB$(9),OB(9,6) 10 & READ "USER.PLAYER": INPUT NM$,NA%,NU%,CY%,CX%,CL,RA 20 FOR I = 1 TO 8: INPUT KA(I),KB(I),KC(I): NEXT I 30 INPUT GP,XP,AR,PA,PR,EN,OB,LP% 40 IF OB = 0 THEN 70 50 FOR I = 1 TO OB: INPUT OB$(I): FOR J = 1 TO 6: INPUT OB(I,J): NEXT J: NEXT I 70 & END 80 & RECALL "SCRN.TOWN-4",8192: & RECALL "DATA.TOWN-4",7471:A = USR (1): POKE - 16304,0 85 & WINDOW4,32,7,16 90 DEF FN T(X) = ((AR = X) OR (PA = X) OR (PR = X)) 100 FOR I = 1 TO 8: READ C1$(I): READ C1(I): NEXT I 102 FOR I = 1 TO 8: READ C2$(I): NEXT I 103 DIM CA(4,8): FOR I = 1 TO 4: FOR J = 1 TO 8: READ CA(I,J): NEXT J: NEXT I 104 DIM EQ(9,6,3): DIM EQ$(9,3) 106 FOR I = 1 TO 3 107 FOR J = 1 TO 9 108 READ EQ$(J,I) 110 FOR K = 1 TO 6: READ EQ(J,K,I): NEXT K 112 NEXT J 113 NEXT I 114 FOR I = 1 TO 6: READ RA$(I): NEXT I 116 FOR I = 1 TO 4: READ CA$(I): NEXT I 120 & CLS: & SCRN1,2: GOSUB 17100: VTAB 21: HTAB 11: PRINT "Possibilit{s" 130 VTAB 8: HTAB 6: PRINT "1)Audience royale" 140 HTAB 6: VTAB 9: PRINT "2)Temple d'Ar}s" 150 HTAB 6: VTAB 10: PRINT "3)Guilde" 160 HTAB 6: VTAB 11: PRINT "4)Enchanteur" 170 HTAB 6: VTAB 12: PRINT "5)Armures" 180 HTAB 6: VTAB 13: PRINT "6)Armes" 190 HTAB 6: VTAB 14: PRINT "7)Examen" 200 HTAB 6: VTAB 15: PRINT "8)Jeter" 210 HTAB 6: VTAB 20: GET A$ 220 IF ASC (A$) = 27 THEN 9000 230 IF VAL (A$) < 1 OR VAL (A$) > 8 THEN 210 240 ON VAL (A$) GOTO 1000,2000,3000,4000,5000,6000,7000,8000 1000 V% = 0 1010 & CLS: GOSUB 17100: VTAB 21: HTAB 13: PRINT "Valdrin" 1020 FOR I = 1 TO OB 1030 IF OB(I,1) = 46 THEN V% = I: GOTO 1100 1040 IF OB(I,1) = 44 THEN V% = I:LP% = 1: GOTO 1300 1050 NEXT I 1060 VTAB 10 1070 HTAB 5: PRINT "Le roi est occup{ par ses" 1080 HTAB 5: PRINT "devoirs envers son harem." 1090 GET A$: GOTO 120 1100 & CLS: VTAB 8 1105 A = USR (3) 1110 PRINT "Salut @ toi, vaillant {tripeur de cyclopes. Comme tu le sais mafille a {t{ enlev{e par Beltrik le d{prav{. Or son mariage avec Bortrog permettrait de sceller une alliance avec les trolls." 1120 GET A$ 1150 PRINT "De plus la rumeur affirme que Beltrik se serait lass{ de ma fille dont les orifices sont maintenant trop larges pour ses besoins. Il l'aurait donc confi{"; 1160 GET A$ 1200 PRINT "@ sa complice, la Matriarche pour l'amusement de ses trolls. D'ailleurs Bortrog ne sera que trop heureux de r{compenser l' {x{cuteur de sa rivale. En par- lant de r{compense, voici un accompte." 1210 GET A$ 1220 A = USR (2) 1260 GP = GP + 500: IF GP > 9999 THEN GP = 9999: GOSUB 17200 1270 GET A$ 1280 OB(V%,1) = 60 1290 GOTO 120 1300 & CLS:A = USR (3): VTAB 8 1310 PRINT "Bravo tu a retrouv{ ma fille bien aim{e. Cependant, les ta- rifs des courtisanes {tant de plus en plus chers, je manque unpeu de liquidit{s. En compensa-" 1320 GET A$ 1330 PRINT "tion voici des estampes que ton receleur habituel te paiera bien." 1340 GET A$:OB$(V%) = "Estampes":OB(V%,1) = 60:OB(V%,2) = 10000 1350 V% = 0 1360 FOR I = 1 TO OB 1370 IF OB(I,1) = 45 THEN V% = I 1380 NEXT I 1390 IF V% < > 0 THEN 1400 1395 A = USR (2): GOTO 120 1400 PRINT "De plus mon enchanteur t'ensei- gnera l'usage d'un des pouvoirs de Muryaden." 1410 OB(V%,1) = 30:OB%(V%,6) = 5 1420 A = USR (2): GOTO 120 2000 REM TEMPLE 2005 C1(1) = 1: IF KC(2) > 15 THEN C1(1) = 0 2010 & CLS: GOSUB 17100: VTAB 21: HTAB 14: PRINT "Temple" 2020 GOSUB 17200 2040 FOR I = 1 TO 8 2050 VTAB 7 + I: HTAB 6: PRINT I;")";C1$(I) 2060 VTAB 7 + I: HTAB 21: PRINT C1(I);" PO" 2080 NEXT I 2090 VTAB 20: HTAB 6: GET A$ 2100 IF ASC (A$) = 27 THEN 120 2110 IF VAL (A$) = 0 OR VAL (A$) = 9 THEN 2090 2120 IF C1( VAL (A$)) > GP THEN 2090 2130 GP = GP - C1( VAL (A$)) 2140 GOSUB 17200 2150 ON VAL (A$) GOTO 2200,2220,2240,2260,2280,2300,2320,2340 2200 KC(5) = KA(5): GOTO 2090 2220 KC(6) = KA(6): GOTO 2090 2240 KC(3) = KA(3) + 7: GOTO 2090 2260 KC(4) = KA(4) + 7: GOTO 2090 2280 KC(5) = KA(5) + 7: GOTO 2090 2300 KC(6) = KA(6) + 7: GOTO 2090 2320 KC(7) = KA(7) + 7: GOTO 2090 2340 KC(8) = KA(8) + 7: GOTO 2090 3000 REM GUILDE 3010 & CLS: GOSUB 17100: VTAB 21: HTAB 14: PRINT "Guilde" 3020 GOSUB 17300 3040 FOR I = 1 TO 8 3050 VTAB 7 + I: HTAB 6: PRINT I;")";C2$(I) 3060 VTAB 7 + I: HTAB 21: PRINT CA(CL,I);" XP" 3080 NEXT I 3090 VTAB 20: HTAB 6: GET A$ 3100 IF ASC (A$) = 27 THEN 120 3110 IF A$ = "9" OR VAL (A$) = 0 THEN 3090 3120 IF CA(CL, VAL (A$)) > XP THEN 3090 3130 XP = XP - CA(CL, VAL (A$)) 3140 GOSUB 17300 3150 IF VAL (A$) > 4 THEN CL = VAL (A$) - 4: GOTO 3040 3160 KA( VAL (A$)) = KA( VAL (A$)) + 1 3170 KC( VAL (A$)) = KA( VAL (A$)) 3200 KA(5) = KB(5) + INT ((KA(3) + KA(4) - KB(3) - KB(4)) / 2 + .5) 3210 KA(6) = KB(6) + INT ((KA(1) + KA(2) - KB(1) - KB(2)) / 2 + .5) 3220 KA(7) = KB(7) + INT ((KA(1) + KA(4) - KB(1) - KB(4)) / 2 + .5) 3230 KA(8) = KB(8) + INT ((KA(2) + KA(4) - KB(2) - KB(4)) / 2 + .5) 3240 FOR I = 1 TO 4 3250 CA(I, VAL (A$)) = CA(I, VAL (A$)) + 100 3255 KC(4 + I) = KA(4 + I) 3260 NEXT I 3300 GOTO 3040 4000 REM ENCHANTEUR 4010 & CLS: GOSUB 17100: VTAB 21: HTAB 11: PRINT "Enchanteur" 4015 R = 1: GOTO 5020 5000 REM ARMURES 5005 R = 2 5010 & CLS: GOSUB 17100: VTAB 21: HTAB 13: PRINT "Armures" 5020 IF OB > 9 THEN GOTO 110 5030 GOSUB 17200 5040 FOR I = 1 TO 9 5050 VTAB 7 + I: HTAB 2: PRINT I;")";EQ$(I,R) 5060 VTAB 7 + I: HTAB 17: PRINT EQ(I,2,R);" PO" 5070 IF EQ(I,1,R) = < 10 THEN IF EQ(I,3,R) > KC(3) OR EQ(I,4,R) > KC(4) THEN VTAB 7 + I: HTAB 27: PRINT "Inut" 5075 IF EQ(I,1,R) > 10 THEN IF EQ(I,3,R) > KC(1) OR EQ(I,4,R) > KC(2) THEN VTAB 7 + I: HTAB 27: PRINT "Inut" 5080 NEXT I 5090 HTAB 6: VTAB 21: GET A$ 5100 IF ASC (A$) = 27 OR OB > 8 THEN 120 5110 IF VAL (A$) = 0 THEN 5090 5120 IF EQ( VAL (A$),2,R) > GP THEN 5090 5130 GP = GP - EQ( VAL (A$),2,R): GOSUB 17200 5140 OB = OB + 1 5150 OB$(OB) = EQ$( VAL (A$),R) 5160 FOR I = 1 TO 6 5170 OB(OB,I) = EQ( VAL (A$),I,R) 5180 NEXT I 5190 GOTO 5090 6000 REM ARMES 6010 & CLS: GOSUB 17100: VTAB 21: HTAB 14: PRINT "Armes" 6020 R = 3 6030 GOTO 5020 7000 REM EXAMEN 7010 & CLS: GOSUB 17100: VTAB 21: HTAB 17 - INT (0.5 * LEN (NM$)): PRINT NM$ 7020 HTAB 2: VTAB 9: PRINT RA$(RA);" ";CA$(CL) 7030 HTAB 2: VTAB 10: PRINT "Arg : ";GP 7040 HTAB 17: VTAB 10: PRINT "Exp : ";XP 7050 HTAB 2: VTAB 12: PRINT "Int : ";KC(1) 7060 HTAB 2: VTAB 13: PRINT "Sag : ";KC(2) 7070 HTAB 2: VTAB 14: PRINT "For : ";KC(3) 7080 HTAB 2: VTAB 15: PRINT "Dex : ";KC(4) 7090 HTAB 17: VTAB 12: PRINT "Vit : ";KC(5);"/";KA(5) 7100 HTAB 17: VTAB 13: PRINT "Mag : ";KC(6);"/";KA(6) 7110 HTAB 17: VTAB 14: PRINT "Adr : ";KC(7) 7120 HTAB 17: VTAB 15: PRINT "Per : ";KC(8) 7130 IF OB = 0 THEN 7210 7140 GET A$: & CLS 7150 FOR I = 1 TO 5 7160 VTAB 9 + I: HTAB 2: GOSUB 17400 7170 NEXT I 7180 FOR I = 6 TO 9 7190 VTAB 4 + I: HTAB 17: GOSUB 17400 7200 NEXT I 7210 HTAB 6: VTAB 21: GET A$ 7990 GOTO 120 8000 REM JETER 8010 IF OB = 0 THEN GOTO 120 8020 & CLS: GOSUB 17100: VTAB 21: HTAB 14: PRINT "Jeter" 8040 FOR I = 1 TO OB 8050 VTAB 7 + I: HTAB 6: PRINT I;")";: GOSUB 17400 8080 NEXT I 8100 GET A$:V% = VAL (A$) 8110 IF ASC (A$) = 27 THEN 120 8120 IF VAL (A$) = 0 OR VAL (A$) > OB THEN 8100 8130 IF FN T( VAL (A$)) THEN 8100 8200 IF OB = VAL (A$) THEN 8300 8210 FOR I = VAL (A$) TO OB - 1 8220 OB$(I) = OB$(I + 1) 8230 FOR J = 1 TO 6 8240 OB(I,J) = OB(I + 1,J) 8250 NEXT J 8260 NEXT I 8300 OB$(OB) = "" 8310 FOR I = 1 TO 6:OB(OB,I) = 0: NEXT I 8330 OB = OB - 1 8340 GOSUB 17500 8350 GOTO 8000 9000 REM FIN 9010 GOSUB 17100: VTAB 21: HTAB 11: PRINT "Partir (O/N)"; 9020 GET A$ 9030 IF A$ = "N" THEN 120 9040 IF A$ = "O" THEN 9060 9050 GOTO 9020 9060 & WINDOW0,40,0,24: HOME : TEXT 9062 FOR I = 1 TO 8 9064 IF KC(I) > 99 THEN KC(I) = 99 9066 IF KA(I) > 99 THEN KA(I) = 99 9068 NEXT I 9070 A = USR (0):PL$ = "USER.PLAYER": & DEL PL$: & DEF PL$,2: & PRINT PL$ 9080 PRINT NM$: PRINT NA%: PRINT NU%: PRINT CY%: PRINT CX%: PRINT CL: PRINT RA 9090 FOR I = 1 TO 8: PRINT KA(I): PRINT KB(I): PRINT KC(I): NEXT I 9100 PRINT GP: PRINT XP: PRINT AR: PRINT PA: PRINT PR: PRINT EN: PRINT OB: PRINT LP% 9110 IF OB = 0 THEN 9200 9120 FOR I = 1 TO OB: PRINT OB$(I): FOR J = 1 TO 6: PRINT OB(I,J): NEXT J: NEXT I 9200 & END :A = USR (3) 9210 & RUN "COMB",24576 9500 CALL 50688 11000 REM AUBERGE 12000 REM TEMPLE 12010 DATA Gu{rison,0 12020 DATA M{ditation,0 12030 DATA Pri}re FOR,20 12040 DATA Pri}re DEX,20 12050 DATA Pri}re VIT,20 12060 DATA Pri}re MAG,20 12070 DATA Pri}re ADR,20 12080 DATA Pri}re PER,20 13000 REM GUILDE 13010 DATA Intellect,Sagesse,Force,Dext{rit{ 13020 DATA Sorcier,Pr~tre,Guerrier,Voleur 13030 DATA 100,300,400,200,0,100,200,100 13040 DATA 300,100,200,400,100,0,100,200 13050 DATA 400,300,100,200,200,100,0,100 13060 DATA 300,400,200,100,100,200,100,0 14000 REM ALCHIMISTE 14010 DATA Baguette,30,400,15,0,1,6 14020 DATA Lorgnon,30,200,10,10,1,36 14030 DATA Grenade,20,20,0,0,20,8 14040 DATA Gants,30,250,10,0,1,31 14050 DATA Potion PRO,20,50,0,0,20,25 14060 DATA Ceinture,30,600,0,0,1,12 14070 DATA Bottes,30,400,10,10,1,17 14080 DATA Rune DEX,20,50,0,0,20,20 14090 DATA Potion PER,20,20,0,0,20,37 15000 REM MARCHE 15010 DATA Robe,10,1,0,0,1,0 15020 DATA Cuir mou,10,4,10,5,2,0 15030 DATA Cuir dur,10,15,15,10,3,1 15040 DATA Mailles,10,40,20,10,4,2 15050 DATA Ecailles,10,75,20,15,5,3 15060 DATA Plaques,10,150,25,20,6,4 15070 DATA Cuir mag.,10,100,15,10,5,1 15080 DATA Mailles mag.,10,300,20,10,6,2 15090 DATA Plaques mag.,10,500,25,20,8,4 15100 REM ARMES 15110 DATA Dague,0,1,5,5,4,4 15120 DATA Glaive,1,5,15,15,6,6 15130 DATA Sabre,1,20,18,16,7,7 15140 DATA Rapi}re,1,25,15,20,8,6 15150 DATA Ep{e longue,1,50,20,16,8,8 15160 DATA Lance,1,16,20,15,8,7 15170 DATA Pavois,3,30,20,10,8,2 15180 DATA Ecu,3,100,25,15,11,4 15190 DATA Ep{e @ 2M,2,100,25,20,12,10 16000 REM AUTRES 16010 DATA Humain,Nain,Elfe,Hobbit,Orque,Gnome 16020 DATA Sorcier,Pr~tre,Guerrier,Voleur 17000 REM ROUTINES 17100 VTAB 21: HTAB 3: PRINT SPC( 28) 17110 RETURN 17200 VTAB 19: HTAB 13: PRINT SPC( 8) 17210 VTAB 19: HTAB 13: PRINT "Arg:";GP 17220 RETURN 17300 VTAB 19: HTAB 13: PRINT SPC( 8) 17310 VTAB 19: HTAB 13: PRINT "Exp:";XP 17320 RETURN 17400 IF FN T(I) THEN INVERSE 17410 PRINT OB$(I) 17420 NORMAL 17430 RETURN 17500 IF PR > V% THEN PR = PR - 1 17510 IF PA > V% THEN PA = PA - 1 17520 IF AR > V% THEN AR = AR - 1 17530 RETURN