10 DIM KA%(8),KB%(8),KC%(8),OB$(9),OB%(9,8): DIM SO%(13),EQ%(5),EN%(2),WI%(21): DIM CR%(3),LO%(20),RE%(14): DIM CO$(16): DIM M%(16,1),TA%(14): DIM OP%(15),OP$(15),OQ$(15):CO% = 0: DIM UT%(3): FOR I = 1 TO 15: FOR J = 1 TO 15:OQ$(I) = OQ$(I) + " ": NEXT J:OP$(I) = OQ$(I): NEXT I: FOR I = 0 TO 16: READ CO$(I): NEXT I 1000 DATA et frappe,et touche,et vous griffe,et vous mord: DATA et vous fouette,et vous pique,et vous pince,et vous {trangle,et vous encorne: DATA un dard,une fl}che,un shuriken,un rocher,un eclair: DATA un jet de feu,une boule de feu,un mindblast: CALL 16408:A = USR (1):A = USR (3) 1040 & SET0: & WINDOW24,16,8,24: HOME : GOSUB 40000:V% = 0: GOSUB 40100: DEF FN S(X) = RND (1) * X * (X + 5): DEF FN EQ(X) = (X = EQ%(1)) OR (X = EQ%(2)) OR (X = EQ%(3)) OR (X = EQ%(4)) 1530 DEF FN LC(X) = 3 * LO%(1) * (X > = 1) + LO%(2) * (X > = 2) + LO%(3) * (X > = 3) + LO%(4) * (X > = 4) + LO%(5) * (X > = 5) + LO%(6) * (X > = 6) * 0.5 + LO%(7) * (X > = 7) * 0.5 + LO%(8) * (X > = 8) * 0.5 + LO%(9) * (X > = 9) * .25 + LO%(10) * (X > = 10) * .25 1540 DEF FN LD(X) = (X > = FN LC(1)) + (X > = FN LC(2)) + (X > = FN LC(3)) + (X > = FN LC(4)) + (X > = FN LC(5)) + (X > = FN LC(6)) + (X > = FN LC(7)) + (X > = FN LC(8)) + (X > = FN LC(9)) + (X > = 0): DEF FN BL(X) = 1 + (X > PV% * .125) + (X > PV% * .25) + (X > PV% * .5) + (X > PV%): DEF FN SC(X) = RND (1) * (KC%(3) + KC%(X)) / 2 - RND (1) * (M%(4,0) * NOT ( FN AC(0)) + FN MP(2)) 1570 DEF FN DG(X) = SC% - RND (1) * ((X = 1) * M%(8,0) + ((X = 2) + 0.5 * (X = 3)) * M%(7,0)) + FN AR(EQ%(2)) + FN AR(EQ%(3)): DEF FN ID(X) = 0.5 * (X + ABS (X)): DEF FN TE(X) = ( FN ES(0) > RND (1) * M%(X,0)) 1600 DEF FN UT(X) = (CO% = 1) * (OB%(X,1) > 4) * (OB%(X,6) > 0 OR OB%(X,1) > 6) + (CO% = 2) * (OB%(X,1) < > 6 AND OB%(X,1) < > 3 AND (OB%(X,1) < > 5 OR OB%(X,6) > 0)) + (CO% = 3) * (OB%(X,1) = 0 OR OB%(X,1) > 7): DEF FN AR(X) = FN UT(X) * RND (1) * OB%(X,5): DEF FN CR(X) = (X > 0) + (X > CR%(1)) + (X > CR%(1) + CR%(2)): DEF FN PR(X) = OB%(EQ%(1),5) + WI%(8) 1640 DEF FN AC(X) = (WI%(13) > 0) OR (WI%(14) > 0) OR (WI%(15) > 0) OR (WI%(20) > 0): DEF FN ES(X) = RND (1) * ( FN ID(KC%(4) - EN%(1)) * (WI%(18) = < 0) + FN ID(WI%(11) - M%(14,0) + 10)): DEF FN PM(X) = INT ( FN ID(X * (10 + 2 * (X - SO%(1)) + EN%(2) - OB%(EQ%(4),8) * (OB%(EQ%(4),7) = SO%(6))) * 0.1)) 1670 DEF FN DM(X) = FN UT(X) * RND (1) * OB%(X,6) * (OB%(X,1) < > 5 AND OB%(X,1) < > 6): DEF FN OB(X) = TA%(10) + INT ( RND (1) * (TA%(11) - TA%(10) + 1)): DEF FN MT(X) = RND (1) * (M%(2,0) + FN PR(0)) > RND (1) * (M%(1,0) + (OB%(EQ%(1),6) + WI%(7)) * (X = 2 OR X = 4) + WI%(10) * (X = 1) + FN PR(0) * (X = 1 OR X = 2 OR X = 5)): DEF FN MP(X) = M%(12,0) * (M%(11,0) = X) 1710 DEF FN FP(X) = SQR (X * 0.5 * (KC%(3) + KC%(4))): DEF FN CA(X) = X - FN ID(X - 99) + FN ID( - 99 - X): GOTO 4000 2000 B$ = "" 2010 GET C$: IF ASC (C$) = 13 THEN RETURN 2025 IF ASC (C$) = 8 AND LEN (B$) > 0 THEN 2080 2030 IF ASC (C$) < L1% OR ASC (C$) > L2% THEN 2010 2040 PRINT C$;:B$ = B$ + C$: IF LEN (B$) = L3% THEN RETURN 2070 GOTO 2010 2080 P% = PEEK (36) - 1: POKE 36,P%: PRINT " ";: POKE 36,P%: IF LEN (B$) = 1 THEN B$ = "": GOTO 2010 2110 B$ = LEFT$ (B$, LEN (B$) - 1): GOTO 2010 2500 PRINT "INT:";KA%(1): PRINT "SAG:";KA%(2): PRINT "FOR:";KC%(3);"/";KA%(3): PRINT "DEX:";KC%(4);"/";KA%(4): PRINT "VIT:";KC%(5);"/";KA%(5): PRINT "MAG:";KC%(6);"/";KA%(6): PRINT "ADR:";KA%(7): PRINT "PER:";KA%(8): GOTO 4150 3000 PRINT "Confirme(O/N)";: GET A$: PRINT : IF A$ < > "O" THEN 4140 3005 GOSUB 3010: GOTO 4140 3010 IF XP% > 9999 THEN XP% = 5000 3020 IF GP% > 9999 THEN GP% = 5000 3030 A = PEEK (837): IF A < > 0 THEN GOSUB 41010 3040 GOSUB 40200:V% = PEEK (837): GOSUB 40500:A = USR (1): RETURN 4000 CALL 16396: GOSUB 26100 4140 WI%(1) = WI%(1) - FN ID(WI%(1) - 255): POKE 16439,WI%(1): CALL 16387 4150 CO% = 0: GOSUB 26200: POKE 16436,WI%(17): FOR I = 16439 TO 16444:WI%(I - 16438) = WI%(I - 16438) - FN ID(WI%(I - 16438) - 255): POKE I,WI%(I - 16438): NEXT I: POKE 16445,KA%(5): IF KC%(5) < 0 THEN POKE 16438, ABS (KC%(5)) + 128: GOTO 4159 4158 POKE 16438,KC%(5) 4159 CALL 16384:WI%(17) = PEEK (16436): FOR I = 16439 TO 16444:WI%(I - 16438) = PEEK (I): NEXT I:KC%(5) = PEEK (16438): IF KC%(5) > 99 THEN KC%(5) = - (KC%(5) - 128) 4170 I = PEEK (830): ON I GOTO 40600,20000,4180,4600,15000,33000,32000,4330,4340,4360,14520,5000,3000,16600,30000,7000,17000,4180,2500,0,6000 4180 V% = 1: GOSUB 40100:A = USR (1): GOTO 4140 4330 GOSUB 9000: GOTO 4150 4340 GOSUB 8000: GOTO 4150 4360 IF WI%(21) + GP% < 5 THEN PRINT "Repasse quand tuauras du fric, clochard !": GOTO 4150 4370 PRINT "Allongez 5 P.O. pour passer": GOSUB 30700: IF V% = 0 THEN 4150 4381 WI%(21) = WI%(21) - 5: IF WI%(21) < 0 THEN GP% = GP% + WI%(21):WI%(21) = 0 4390 CALL 16393: GOTO 4140 4600 V% = 1: GOSUB 40100:A = USR (1): GOTO 4140 5000 V% = PEEK (836): IF V% > 127 THEN A = INT ( RND (1) * 100 + 50 * (V% - 128) + 35): PRINT "Vous trouvez :": PRINT A;" PO":GP% = GP% + A: PRINT : GOSUB 26200: CALL 16402: GOTO 4150 5030 W% = V%:AD% = 16402: GOSUB 16000: GOTO 4150 6000 ON PEEK (836) GOTO 6100,6200,6300,6400,6500,6610 6100 V% = 54: GOSUB 6700: IF A = 1 THEN GOSUB 9160: GOTO 6600 6110 PRINT "Vous n'avez pas la clef!": GOTO 4150 6200 PRINT "Mantra SVP:":B$ = "": FOR I = 1 TO 4: GET A$: PRINT A$;:B$ = B$ + A$: NEXT I: PRINT : IF B$ < > "SNIF" THEN PRINT "Hors de ma vue, h{r{tique!": GOTO 4150 6220 GOTO 6600 6300 V% = 58: GOSUB 6700: IF A = 1 THEN PRINT "L'acide agit!": GOSUB 9160: GOTO 6600 6310 PRINT "Vous n'avez pas l'acide!": GOTO 4150 6400 V% = 59: GOSUB 6700: IF A = 1 THEN GOSUB 9160: GOTO 6600 6410 PRINT "Entr{e sur invi-tation!": GOTO 4150 6500 V% = 50: GOSUB 6700: IF A = 1 THEN 6520 6510 PRINT "Vous n'avez pas les 2 passes!": GOTO 4150 6520 V% = 51: GOSUB 6700: IF A = 0 THEN 6510 6530 GOSUB 9160:V% = 50: GOSUB 6700: GOSUB 9160 6600 PRINT "Vous passez!": CALL 16426: GOTO 4150 6610 V% = 60: GOSUB 6700: IF A = 0 THEN 6110 6620 GOSUB 9160: GOTO 6600 6700 A = 0: IF OB% = 0 THEN 6720 6705 FOR I = 1 TO OB%: IF OB%(I,1) = V% THEN A = 1:V% = I 6710 NEXT I 6720 RETURN 7000 IF PEEK (836) < > 1 THEN 7030 7010 A = 2: GOSUB 7900: PRINT "ACCEPTE (O/N):";: GET A$: PRINT A$: IF A$ = "N" THEN KC%(5) = - 1:WI%(5) = 0: GOTO 14520 7020 NJ% = 1:A = 3: GOSUB 7900: GOSUB 7910: CALL 16411: & SOUND200,10: CALL 16405: GOTO 4170 7030 IF NJ% < > 3 THEN A = 10: GOSUB 7900: GOTO 4150 7040 A = 9: GOSUB 7900: GOSUB 7910:NJ% = 4: CALL 16411: GOTO 4150 7900 PRINT "Lire Paragraphe:";A: RETURN 7910 PRINT " SVP!";: GET A$: PRINT : RETURN 8000 FOR I = 1 TO 8:OB%(0,I) = 0: NEXT I: FOR I = 1 TO 4:EQ%(I) = 0: NEXT I: PRINT "Armure : ":OP% = 0: FOR I = 1 TO OB%: IF OB%(I,1) < > 10 THEN 8060 8040 IF OB%(I,3) > KC%(3) OR OB%(I,4) > KC%(4) THEN 8060 8050 OP% = OP% + 1:OP%(OP%) = I:OP$(OP%) = OB$(I) 8060 NEXT I: IF OP% = 0 THEN 8100 8080 GOSUB 30500:EQ%(1) = OP%(V%): PRINT 8100 PRINT "Main droite :":OP% = 0: FOR I = 1 TO OB%: IF OB%(I,1) > 8 OR OB%(I,1) < 0 OR OB%(I,1) = 3 THEN 8160 8140 IF OB%(I,3) > KC%(3) OR OB%(I,4) > KC%(4) THEN 8160 8150 OP% = OP% + 1:OP%(OP%) = I:OP$(OP%) = OB$(I) 8160 NEXT I: IF OP% = 0 THEN 8200 8180 GOSUB 30500:EQ%(2) = OP%(V%): PRINT : IF OB%(EQ%(2),1) = 6 THEN EQ%(3) = 0: GOTO 8300 8200 PRINT "Main gauche :":OP% = 0: FOR I = 1 TO OB%: IF OB%(I,1) = 6 OR I = EQ%(2) OR OB%(I,1) > 9 THEN 8270 8250 IF (OB%(I,4) + OB%(EQ%(2),4)) > KC%(4) OR (OB%(I,3) + OB%(EQ%(2),3) + 10 * ((OB%(I,1) = 2) + (OB%(EQ%(2),1) = 2))) > KC%(3) THEN 8270 8260 OP% = OP% + 1:OP%(OP%) = I:OP$(OP%) = OB$(I) 8270 NEXT I: IF OP% = 0 THEN 8300 8290 GOSUB 30500:EQ%(3) = OP%(V%): PRINT 8300 EN%(1) = OB%(EQ%(1),7) + (OB%(EQ%(3),5)) * (OB%(EQ%(3),1) = 3):EN%(2) = OB%(EQ%(1),8) + (OB%(EQ%(3),6)) * (OB%(EQ%(3),1) = 3): PRINT "Focus :":OP% = 0: FOR I = 1 TO OB%: IF OB%(I,1) < > 40 THEN 8460 8430 IF OB%(I,3) > KC%(1) OR OB%(I,4) > KC%(2) THEN 8460 8440 OP% = OP% + 1:OP$(OP%) = OB$(I):OP%(OP%) = I 8460 NEXT I: IF OP% = 0 THEN RETURN 8480 GOSUB 30500:EQ%(4) = OP%(V%): PRINT : RETURN 9000 OP% = 0: IF OB% = 0 THEN RETURN 9010 FOR I = 1 TO OB%: IF FN EQ(I) THEN 9050 9030 OP% = OP% + 1:OP%(OP%) = I:OP$(OP%) = OB$(I) 9050 NEXT I: IF OP% = 0 THEN RETURN 9080 GOSUB 30500: PRINT : IF V% = 0 THEN RETURN 9100 V% = OP%(V%): PRINT "D'accord(O/N)"; 9120 GET A$: IF A$ = "N" THEN 9300 9140 IF A$ = "O" THEN 9160 9150 GOTO 9120 9160 OB% = OB% - 1: FOR I = 1 TO 5: IF EQ%(I) > V% THEN EQ%(I) = EQ%(I) - 1 9190 NEXT I: IF OB% = 0 OR V% = OB% + 1 THEN 9300 9210 FOR I = V% TO OB%:OB$(I) = OB$(I + 1): FOR J = 1 TO 8:OB%(I,J) = OB%(I + 1,J): NEXT J: NEXT I 9300 IF OB% > = 9 THEN 9380 9310 FOR I = OB% + 1 TO 9:OB$(I) = "": FOR J = 1 TO 8:OB%(I,J) = 0: NEXT J: NEXT I 9380 FOR I = 1 TO 8:OB%(0,I) = 0: NEXT I: PRINT : RETURN 10000 : 10010 GOSUB 26200: GOTO 14500 10030 OP% = 0: FOR I = 1 TO 9: IF CO% = 1 AND I = 2 THEN IF FN UT(EQ%(2)) + FN UT(EQ%(3)) = 0 THEN 10080 10065 IF I = 6 AND CO% = 3 THEN 10080 10070 OP% = OP% + 1:OP%(OP%) = I: & CH(I),OP$(OP%) 10080 NEXT I: PRINT :V% = - 2: GOSUB 30500: IF V% = 0 THEN 27200 10100 V% = OP%(V%): PRINT : ON V% GOTO 27220,27100,10200,32000,33000,10500,10600,10720,10800 10200 GOSUB 8100: GOTO 27200 10500 PRINT "Vous avancez": IF CO% = 3 THEN 10590 10520 IF M%(1,0) = < TA%(4) THEN 10570 10560 IF CO% < TA%(3) THEN 10580 10570 IF NOT FN TE(4) THEN 10590 10580 PRINT "avec succ}s": & NOISE10,40,10:CO% = CO% + 1: GOTO 27200 10590 PRINT "sans succ}s": GOTO 27200 10600 PRINT "Vous reculez": IF CO% > TA%(3) THEN 10690 10625 IF M%(1,0) = < TA%(4) THEN 10690 10630 IF FN TE(4) THEN 10690 10680 PRINT "sans succ}s": GOTO 10710 10690 PRINT "avec succ}s": & NOISE10,40,10:CO% = CO% - 1: IF CO% = 0 THEN PRINT "Vous fuyez" 10710 GOTO 27200 10720 IF M%(1,0) > TA%(7) OR M%(1,0) < TA%(8) THEN PRINT "Il refuse": GOTO 10010 10740 IF TA%(2) = 0 OR TA%(2) = 1 OR TA%(2) = 6 THEN TA%(2) = 5 10790 PRINT "Il accepte": GOTO 20120 10800 IF M%(1,0) > TA%(5) THEN PRINT "Il refuse": GOTO 10010 10830 PRINT "Il vous donne son or":GP% = GP% + M%(15,0): PRINT : PRINT "Argent....:+";M%(15,0): GOTO 4150 11000 GOSUB 31000:SC% = FN SC(4):DG% = FN DG(1): PRINT "Vous visez": GOSUB 27900:A$ = "et touchez": GOTO 27600: GOSUB 26200: GOTO 14000 11520 IF WI%(18) > 0 THEN 11600 11525 PRINT "Il avance": PRINT "D'accord(O/N)"; 11535 GET A$: IF A$ = "N" OR A$ = "O" THEN PRINT 11540 IF A$ = "O" THEN 11600 11550 IF A$ = "N" THEN 11570 11560 GOTO 11535 11570 IF FN TE(4) THEN PRINT "sans succ}s": GOTO 10010 11600 PRINT "Il se rapproche": & NOISE10,40,10:CO% = CO% + 1: GOTO 10010 11700 PRINT "Il recule": IF WI%(18) > 0 THEN & NOISE10,40,10: GOTO 11810 11720 PRINT "D'accord(O/N)"; 11725 GET A$: IF A$ = "O" OR A$ = "N" THEN PRINT 11730 IF A$ = "O" THEN 11800 11740 IF A$ = "N" THEN 11760 11750 GOTO 11725 11760 IF NOT FN TE(4) THEN 11800 11770 PRINT "sans succ}s": GOTO 10010 11800 PRINT "Il r{ussit": & NOISE10,40,10 11810 CO% = CO% - 1: IF CO% = 0 THEN PRINT "et fuit": GOTO 4150 11830 GOTO 10010 12000 GOSUB 31000:SC% = FN SC(3):DG% = FN DG(2): PRINT "Vous attaquez": GOSUB 27900:A$ = "et frappez": GOTO 27600: GOSUB 26200: GOTO 14000 12525 PRINT "Il attaque":SC% = RND (1) * M%(3,0) - FN ES(0):A$ = CO$(TA%(12)):DG% = SC% - RND (1) * ( FN FP(OB%(EQ%(2),7) + OB%(EQ%(3),7)) + WI%(9)) + RND (1) * M%(9,0): GOTO 27800 13000 SC% = FN SC(3):DG% = FN DG(3): PRINT "Vous luttez": GOSUB 27900:A$ = "avec succ}s": GOTO 27600: GOSUB 26200: GOTO 14000 13540 PRINT "Il lutte":SC% = RND (1) * M%(3,0) - FN ES(0) + FN ID( RND (1) * FN MP(3) - OB%(EQ%(1),6) - WI%(7)):A$ = "avec succ}s": IF TA%(13) > 0 THEN A$ = CO$(TA%(13)) 13590 DG% = SC% + RND (1) * M%(10,0) - RND (1) * 0.5 * (OB%(EQ%(3),1) = 3) * FN FP(OB%(EQ%(3),7)): GOTO 27800 14000 IF M%(1,0) < 0 THEN 26000 14015 WI%(16) = FN ID(WI%(16) - FN MP(1)):M%(1,0) = M%(1,0) - WI%(16): IF M%(1,0) < M%(1,1) THEN M%(1,0) = M%(1,0) + FN MP(1) 14025 IF CO% = 1 AND FN MP(1) > WI%(16) THEN PRINT "Il se r{g{n}re": PRINT 14030 IF M%(1,0) < 0 THEN PRINT "Il succombe @ ses blessures": PRINT : GOTO 26020 14040 IF RND (1) * M%(1,0) > WI%(13) THEN WI%(13) = 0 14050 IF RND (1) * M%(2,0) > WI%(14) THEN WI%(14) = 0 14060 IF RND (1) * M%(4,0) > WI%(20) THEN WI%(20) = 0 14070 IF RND (1) * M%(3,0) > WI%(15) THEN WI%(15) = 0 14080 IF FN AC(0) THEN PRINT "Il ne peut plus r{agir": GOTO 27520 14100 V% = M%(13,0) / 10:W% = M%(13,0) - V% * 10: IF M%(1,0) = < TA%(4) THEN 11700 14120 IF CO% = 1 AND V% = 0 AND M%(1,0) = < TA%(6) AND TA%(3) < > 1 THEN 11700 14190 IF V% = 0 THEN 14300 14200 IF V% = 6 AND M%(1,0) > = M%(1,1) THEN 14450 14250 IF V% > 0 AND CO% = 1 THEN 23000 14270 IF CO% = 2 AND V% < > 1 THEN IF FN MT(V%) THEN 23000 14290 IF CO% = 3 AND V% = 4 THEN IF FN MT(V%) THEN 23000 14300 IF CO% = 2 AND TA%(3) = 3 AND M%(1,0) = < TA%(6) THEN 14490 14310 IF CO% = 3 AND M%(1,0) = < TA%(6) AND TA%(4) > 0 THEN 11700 14320 IF TA%(3) = 1 AND CO% < > 1 AND M%(1,0) = < TA%(6) THEN 11700 14450 IF CO% > 1 AND RND (1) * M%(7 + CO%,0) > RND (1) * M%(12 - CO%,0) THEN 14490 14480 IF CO% < > TA%(3) THEN ON (3 + (TA%(3) - CO%) / ABS (TA%(3) - CO%)) / 2 GOTO 11700,11520 14490 ON CO% GOTO 11520,12525,13540 14500 IF WI%(6) > 0 THEN KC%(5) = KC%(5) + (CO% = 0): IF KC%(5) > KA%(5) THEN KC%(5) = KA%(5) 14520 IF KC%(5) + WI%(5) < 0 THEN PRINT : PRINT "Vous ~tes mort": GOTO 19000 14550 FOR I = 1 TO 6:WI%(I) = FN ID(WI%(I) - (CO% = 0)): NEXT I: IF WI%(18) > 0 THEN IF 2 * RND (1) * KC%(3) > WI%(18) THEN WI%(18) = 0: PRINT "La toile c}de vous ~tes libre" 14580 IF WI%(18) > 0 THEN PRINT "Vous ne pouvez plus r{agir": GOTO 27200 14590 ON CO% + 1 GOTO 4150,10030,10030,10030 15000 IF OB% = 0 THEN 4150 15020 FOR I = 1 TO OB%: IF FN EQ(I) THEN INVERSE 15050 PRINT OB$(I);: NORMAL : IF OB%(I,1) = 5 OR OB%(I,1) = 6 THEN PRINT ":";OB%(I,6); 15090 PRINT : NEXT I: GOTO 4150 16000 A$ = "": FOR I = 1 TO 15:A$ = A$ + " ": NEXT I: & LOBJ(W%),A$,A%,A%,A%,A%,A%,A%,A%,A%: PRINT : PRINT "Vous trouvez :": PRINT A$: IF OB% = 9 THEN 16500 16040 PRINT "Prendre (O/N)"; 16050 GET A$: IF A$ = "O" THEN PRINT : GOTO 16090 16070 IF A$ = "N" THEN PRINT : RETURN 16080 GOTO 16050 16090 OB% = OB% + 1:B% = OB%:OB$(B%) = "": FOR I = 1 TO 15:OB$(B%) = OB$(B%) + " ": NEXT I: & LOBJ(W%),OB$(B%),OB%(B%,1),OB%(B%,3),OB%(B%,4),OB%(B%,5),OB%(B%,6),OB%(B%,7),OB%(B%,8),OB%(B%,2): IF AD% < > 0 THEN CALL AD% 16190 RETURN 16500 PRINT "T'as d{j@ 9 ob- jets, Nabot!!": PRINT 16510 PRINT "Faire de la place (O/N)"; 16520 GET A$: IF A$ < > "O" AND A$ < > "N" THEN 16520 16540 IF A$ = "N" THEN PRINT : RETURN 16550 PRINT : GOSUB 9000: IF OB% = 9 THEN PRINT : PRINT "Tu te d{cides, raclure de nain": PRINT : GOTO 16510 16590 PRINT : GOTO 16040 16600 W% = 239 + PEEK (836):AD% = 16399: GOSUB 16000: GOTO 4150 17000 V% = PEEK (836):V% = V% * 100: PRINT : PRINT "Vous gagnez :": PRINT V%;" XP":XP% = XP% + V%: GOSUB 26200: CALL 16411: GOTO 4150 19000 GOSUB 3010: & MODE1,0: PRINT "So long!": GET A$: IF A$ = CHR$ (18) THEN PRINT "Ressuscit{!": & MODE1,1: FOR I = 1 TO 8:KB%(I) = KA%(I):KC%(I) = KA%(I): NEXT I:WI%(17) = 0: GOSUB 26100: GOTO 4140 19010 GOTO 19010 20000 FOR I = 1 TO 16: & MM(I),M%(I,0): & MM(I),M%(I,1): NEXT I: FOR I = 1 TO 14: & MRES(I),RES%(I): NEXT I: FOR I = 1 TO 10: & MLOC(I),LOC%(I): & MLOC(I),LOC%(I + 10): NEXT I: FOR I = 1 TO 14: & MTAC(I),TAC%(I): NEXT I:WI%(20) = 0: FOR I = 13 TO 16:WI%(I) = 0: NEXT I: IF PEEK (837) = 3 THEN TA%(1) = TA%(1) + 20 20027 PRINT :A$ = "":CO% = 2:V% = 1: IF WI%(3) > 0 THEN 20200 20040 IF RND (1) * M%(14,0) > RND (1) * KC%(8) THEN CO% = TA%(3) 20050 IF FN ES(0) < RND (1) * M%(4,0) THEN 20100 20060 PRINT "Vous combattez": GOSUB 30700: IF V% = 1 THEN 10000 20100 IF TA%(1) > RND (1) * KA%(6) THEN 14000 20120 & GT(20300 + 100 * TAC%(2)) 20200 PRINT "Vous ressentez sa pr{sence": PRINT "Partez vous": GOSUB 30700: IF V% = 1 THEN 4150 20250 GOTO 20060 20300 PRINT "Il vous ignore": IF V% = 0 THEN 4150 20320 PRINT : PRINT "Vous combattez": GOSUB 30700: IF V% = 0 THEN 4150 20340 GOTO 10000 20400 IF GP% + WI%(21) = 0 THEN 20300 20410 PRINT "Il r{clame un don": PRINT "Combien raquez vous : ";:L1% = 48:L2% = 57:L3% = 2: GOSUB 2000:DO% = VAL (B$): PRINT : IF DO% = 0 AND GP% + WI%(21) > 0 THEN PRINT "Maudit sois tu, sale p{doque d'h{r{tique": GOTO 4150 20445 IF DO% > WI%(21) + GP% THEN DO% = GP% + WI%(21) 20450 PRINT "Merci keum":KC%(5) = KC%(5) + RND (1) * DO% * 10: IF KC%(5) > KA%(5) THEN KC%(5) = KA%(5) 20470 WI%(21) = WI%(21) - DO%: IF WI%(21) < 0 THEN GP% = GP% + WI%(21):WI%(21) = 0 20480 GOTO 4150 20500 IF KC%(5) < 6 THEN PRINT "Barre toi, sale eunuque": GOTO 4150 20520 PRINT "Elle veut un baiser": GOSUB 30700: IF V% = 0 THEN PRINT "Tu vas morfler, pauvre tantouze": GOTO 10000 20550 KC%(5) = KC%(5) - 5:XP% = XP% + 10: GOTO 4150 20600 PRINT "Il veut un pintede sang pour sesexp{riences": GOSUB 30700: IF V% = 0 THEN PRINT "Il d{cide de se servir seul": GOTO 10000 20640 KC%(5) = KC%(5) - 5: PRINT "Il vous file 10 P.O.":GP% = GP% + 10: GOTO 4150 20700 IF GP% + WI%(21) = 0 THEN PRINT "Il n'aime pas les fauch{s": GOTO 10000 20710 PRINT "Il exige tout votre bl{": GOSUB 30700: IF V% = 0 THEN PRINT : GOTO 10000 20730 PRINT "A la prochaine, minus":GP% = 0:WI%(21) = 0: GOTO 4150 20800 IF GP% + WI%(21) = 0 THEN PRINT "Et en plus T'es fauch{": GOTO 4150 20810 PRINT "Il veut ";:SC% = M%(16,1) + M%(15,1): IF SC% > GP% + WI%(21) THEN SC% = WI%(21) + GP% 20840 IF SC% > 99 THEN SC% = 99 20850 PRINT SC%;" P.O.": GOSUB 30700: IF V% = 0 THEN 10000 20880 WI%(21) = WI%(21) - SC%: IF WI%(21) < 0 THEN GP% = GP% + WI%(21):WI%(21) = 0 20890 GOTO 4150 20900 IF OB% > = 9 THEN 20300 20920 PRINT "Il vous propose":A% = FN OB(0):B% = OB% + 1:OB$(B%) = "": FOR I = 1 TO 15:OB$(B%) = OB$(B%) + " ": NEXT I: & LOBJ(A%),OB$(B%),OB%(B%,1),OB%(B%,3),OB%(B%,4),OB%(B%,5),OB%(B%,6),OB%(B%,7),OB%(B%,8),OB%(B%,2): PRINT OB$(B%): PRINT "Pour ";OB%(B%,2);" P.O.": GOSUB 30700: IF V% = 0 THEN 4150 20990 IF GP% + WI%(21) < OB%(B%,2) THEN PRINT "Casse toi va-nu-pieds": GOTO 4150 20992 WI%(21) = WI%(21) - OB%(B%,2): IF WI%(21) < 0 THEN GP% = GP% + WI%(21):WI%(21) = 0 20994 OB% = OB% + 1: GOSUB 26200: GOTO 4150 21000 PRINT "Prosterne toi devant ton dieu vil protoplasme microc{phale": GOSUB 30700: IF V% = 0 THEN PRINT "Blasph}me !!": GOTO 10000 21040 FOR I = 5 TO 6:KC%(I) = FN ID(KC%(I) + RND (1) * 12 - RND (1) * 12): NEXT I: & SOUND255,20: PRINT "Vous vous sentezbizarre": GOTO 4150 22000 IF FN LC(10) = 0 THEN LO% = 0: GOTO 22110 22030 PRINT "Vous atteignez":LO% = FN LD( RND (1) * FN LC(10)): & LOC(LOC%) 22110 & BL( FN BL(DG%)): & NOISE1,40,50 * FN BL(DG%): IF CR% = 0 THEN 22200 22130 IF LO% > 2 OR FN BL(DG%) < 5 OR LO% = 0 THEN 22160 22140 A% = RND (1) * 3 + 1: & CRT(LOC%),CRT%,A%: GOTO 22200 22160 IF FN BL(DG%) < 5 OR LO% = 0 THEN 22300 22170 & ACR(LOC% - 2),CRT% 22200 IF FN BL(DG%) < 5 THEN 22300 22210 LO%(LO%) = LO%(LO%) - 1: IF LO% = 3 THEN M%(3,0) = FN ID(M%(3,0) - M%(3,1) / (LO%(13) + 0.5 * LO%(15))) 22230 IF LO% = 5 THEN M%(4,0) = FN ID(M%(4,0) - 0.5 * M%(4,1) / (LO%(14) + 0.5 * LO%(15))):M%(3,0) = FN ID(M%(3,0) - 0.5 * M%(3,1) / (LO%(13) + 0.5 * LO%(15))) 22240 IF LO% = 4 THEN M%(4,0) = FN ID(M%(4,0) - M%(4,1) / (LO%(14) + 0.5 * LO%(15))) 22250 IF LO% = 10 THEN M%(14,0) = M%(14,0) * 0.5 22260 IF LO% = 2 THEN M%(2,0) = FN ID(M%(2,0) - M%(2,1) / (LO%(12))) 22270 IF LO% = 6 AND M%(11,0) = 4 THEN M%(11,0) = 0 22300 IF LO% = 0 THEN RETURN 22310 IF CR% = 1 THEN WI%(16) = WI%(16) + DG% * 0.1 22320 IF CR% = 2 THEN WI%(16) = WI%(16) + DG% * 0.2 22330 IF CR% = 3 THEN WI%(13) = WI%(13) + DG% 22340 IF (LO% > 2 OR (LO% = 2 AND LO%(2) > 1)) AND M%(1,0) < M%(1,1) * 0.5 THEN 22410 22350 IF LO% > 2 THEN M%(1,0) = M%(1,0) + DG% * 0.5 22360 IF LO% > 5 THEN M%(1,0) = M%(1,0) + DG% * 0.25 22370 IF LO% = 8 THEN WI%(13) = WI%(13) + RND (1) * DG% 22400 RETURN 22410 M%(1,0) = M%(1,0) + DG%: IF M%(1,0) > M%(1,1) * 0.5 THEN M%(1,0) = M%(1,1) * 0.5 22430 GOTO 22370 23000 V% = M%(13,0) * 0.1:W% = M%(13,0) - V% * 10: & GT(23000 + V% * 100) 23100 SC% = RND (1) * M%(3,0) - FN ES(0) + W% * 5 * RND (1) - WI%(10):A$ = "et touche":DG% = SC% - RND (1) * ((OB%(EQ%(3),1) = 3) * FN FP(OB%(EQ%(3),8)) + WI%(9)) + RND (1) * W% * 5: PRINT "Il vous envoie": PRINT CO$(TA%(14)): GOTO 27800 23200 SC% = RND (1) * M%(4,0) - FN ES(0) + RND (1) * W% * 8:A$ = "et touche":DG% = SC% - OB%(EQ%(1),6) - WI%(7): PRINT "Il vous balance": PRINT CO$(TA%(14)): GOTO 27850 23300 SC% = FN ID( RND (1) * W% * 6 + RND (1) * M%(4,0) - FN ES(0)): PRINT "Il vous envoie de la toile":WI%(18) = WI%(18) + SC%: IF WI%(18) > 99 THEN WI%(18) = 99 23350 IF WI%(18) < 1 THEN PRINT "Vous n'~tes pas affect{" 23390 GOTO 27500 23400 PRINT "Il draine votre puissance":SC% = 0.25 * FN ID( RND (1) * M%(2,1) - RND (1) * KA%(6) + RND (1) * 6 * W% - OB%(EQ%(1),6) - WI%(7)):DG% = 0.5 * (KC%(3) - FN ID(KC%(3) - SC%) + KC%(4) - FN ID(KC%(4) - SC%)):KC%(3) = FN ID(KC%(3) - SC%):KC%(4) = FN ID(KC%(4) - SC%):M%(1,0) = M%(1,0) + DG% 23480 IF DG% = 0 THEN PRINT "Vous repoussez l'attaque" 23490 GOTO 27500 23500 IF (LO%(4) + LO%(5)) / (LO%(14) + LO%(15)) < 0.6 THEN 27500 23505 PRINT "Il charge": IF CO% = 3 THEN 14490 23520 CO% = 2:SC% = RND (1) * M%(3,0) - FN ES(0) + RND (1) * 3 * W%:A$ = "et touche":DG% = SC% - RND (1) * (OB%(EQ%(2),7) + OB%(EQ%(3),7) + WI%(9)) + RND (1) * W% * 8: GOTO 27800 23600 PRINT "Il entonne une pri}re":M%(1,0) = M%(1,0) + RND (1) * W% * 10: IF M%(1,0) > M%(1,1) THEN M%(1,0) = M%(1,1) 23690 GOTO 27500: GOTO 27200 26000 & MO( INT ( RND (1) * 10) + 1) 26020 GP% = GP% + M%(15,0): PRINT "Argent....:+";M%(15,0):XP% = XP% + M%(16,0): PRINT "Exp{rience:+";M%(16,0): & SOUND40,40: & SOUND40,40: & SOUND100,50: POKE 835,1: FOR I = 1 TO 4: IF KC%(I) > KA%(I) THEN KC%(I) = KA%(I) 26070 NEXT I: FOR I = TA%(9) TO 0 STEP - 100: IF I > = RND (1) * 100 THEN W% = FN OB(0):AD% = 0: GOSUB 16000 26081 NEXT I: IF PEEK (829) < > 103 THEN 4150 26083 IF OB% = 0 THEN 4150 26084 V% = 0: FOR I = 1 TO OB%: IF OB$(I) = "Ep{e NIS" THEN V% = 1 26085 NEXT I: IF V% = 0 THEN 4150 26089 A = 23: GOSUB 7900: FOR I = 1 TO 8:KA%(I) = 99:KB%(I) = 99:KC%(I) = 99: NEXT I: GOTO 4150 26100 P% = PEEK (37): VTAB 2: HTAB 2: PRINT NM$;: VTAB 3: HTAB 2: PRINT "Vit:";: HTAB 9: PRINT "Mag:";: VTAB 4: HTAB 2: PRINT "Arg:";: VTAB 5: HTAB 2: PRINT "Exp:";: GOTO 26205 26200 P% = PEEK (37): FOR I = 1 TO 8:KC%(I) = FN CA(KC%(I)): NEXT I 26205 VTAB 3: HTAB 6: PRINT " ";: HTAB 6: PRINT FN ID(KC%(5));: HTAB 13: PRINT KC%(6);" ";: VTAB 4: HTAB 6: PRINT GP%;" ";: VTAB 5: HTAB 6: PRINT XP%;" ";: VTAB 7: HTAB 2: PRINT SPC( 14): IF CO% = 0 THEN VTAB 6: HTAB 2: PRINT SPC( 14): GOTO 26270 26260 VTAB 7: HTAB 2: & ST(CO%) 26270 IF WI%(17) > 0 THEN VTAB 4: HTAB 12: PRINT "PSN";: GOTO 26290 26280 VTAB 4: HTAB 12: PRINT "BON"; 26290 VTAB P% + 1: HTAB 1: RETURN 27100 ON CO% + 1 GOTO 4150,11000,12000,13000 27200 PRINT : GOSUB 26200 27220 ON CO% + 1 GOTO 4140,14000,14000,14000 27410 GET A$:V% = VAL (A$): IF V% < 0 OR V% > OB% THEN 27410 27430 IF A$ = "0" THEN PRINT : RETURN 27440 IF V% = 0 THEN 27410 27450 RETURN 27490 PRINT 27500 : 27520 ON CO% + 1 GOTO 4150,10010,10010,10010 27600 FOR I = 1 TO 3:CR%(I) = 0: NEXT I:SO%(6) = 0: IF FN UT(EQ%(2)) THEN & LARMEOB%(EQ%(2),8),CRT%(1),CRT%(2),CRT%(3) 27620 IF OB%(EQ%(3),1) < > 3 AND FN UT(EQ%(3)) THEN & LARMEOB%(EQ%(3),8),CRT%(1),CRT%(2),CRT%(3) 27630 CR% = FN CR( RND (1) * (CR%(1) + CR%(2) + CR%(3))):DM% = FN DM(EQ%(2)) + FN DM(EQ%(3)) 27640 IF SC% + DM% > 0 THEN 27660 27650 PRINT "et ratez": & NOISE10,55,20: GOTO 27200 27660 PRINT A$: IF DM% + DG% = < 0 THEN PRINT "Il pare": & SOUND35,2: GOTO 27200 27740 DM% = FN ID(DM% - M%(6,0)):DG% = ( FN ID(DG% - M%(5,0)) + DM%) * (RE%(SO%(6)) + 10) * 0.1: IF CR% < > 0 THEN DG% = DG% * (10 + RE%(11 + CR%)) * 0.1 27760 IF DG% = < 0 THEN PRINT "Sans effet": & NOISE1,255,90: GOTO 27200 27770 M%(1,0) = M%(1,0) - DG%:PV% = M%(1,1): GOSUB 22000: GOTO 27220 27800 IF SC% > 0 THEN 27830 27820 PRINT "et rate": & NOISE10,55,20: GOTO 27500 27830 PRINT A$: IF DG% = < 0 AND CO% > 0 THEN PRINT "Vous parez": & SOUND35,2: GOTO 27500 27850 DG% = DG% - FN PR(0): GOSUB 35600: IF DG% = < 0 THEN PRINT "Sans effet": & NOISE1,255,90: GOSUB 35650: GOTO 27500 27870 KC%(5) = KC%(5) - DG%: IF CO% = 0 THEN 27880 27873 IF WI%(17) = 0 THEN WI%(17) = FN MP(4) 27875 IF FN MP(4) < > 0 AND WI%(17) < > 0 THEN WI%(17) = 1 + 1 / (1 / WI%(17) + 1 / FN MP(4)) 27880 PV% = KA%(5):LO% = 0: GOSUB 22110: GOSUB 35650: GOTO 27520 27900 IF FN UT(EQ%(2)) * EQ%(2) + FN UT(EQ%(3)) * EQ%(3) = 0 THEN 27990 27910 V% = 0: IF EQ%(2) * FN UT(EQ%(2)) = 0 THEN 27960 27920 PRINT "avec votre": PRINT OB$(EQ%(2)):V% = 1: IF EQ%(3) * FN UT(EQ%(3)) = 0 THEN 27980 27950 IF V% = 1 THEN PRINT "et votre": GOTO 27970 27960 PRINT "avec votre" 27970 PRINT OB$(EQ%(3)) 27980 RETURN 27990 PRINT "@ mains nues":DG% = DG% + WI%(19) * RND (1): RETURN 30000 V% = PEEK (836): & PIEGEV%,A$,PI%(1),PI%(2),PI%(3),PI%(4): PRINT : PRINT A$: IF RND (1) * KC%(8) + 1 > = PI%(1) THEN 30150 30140 GOTO 30200 30150 PRINT "Vous avez rep{r{le pi}ge": PRINT : PRINT "D{samorcer (O/N)"; 30170 GET A$: IF A$ = "O" THEN PRINT : GOTO 30300 30190 IF A$ = "N" THEN PRINT : GOTO 4150 30195 GOTO 30170 30200 PRINT "Le m{canisme se d{clenche":SC% = RND (1) * PI%(3) - RND (1) * FN ID(KC%(4) - EN%(1)) * (WI%(18) = < 0):DG% = SC% + RND (1) * PI%(4):A$ = "Vous vous ~tes laiss{ avoir":CO% = 0: GOTO 27800 30300 IF INT ( RND (1) * KC%(7) + 1) < PI%(2) THEN 30200 30320 PRINT "Vous r{ussissez": CALL 16411: GOTO 4150 30500 & MODE1,2:P% = 1 + PEEK (37): IF P% = 25 THEN PRINT :P% = 24 30520 V% = FN ID( - V%): IF V% < 1 OR V% > OP% THEN V% = 1 30530 VTAB P%: HTAB 1: PRINT SPC( 15): HTAB 1: PRINT Z$;OP$(V%);: GET A$:PC% = PEEK ( - 16384): IF PC% = 21 THEN V% = V% + 1: IF V% > OP% THEN V% = 1: GOTO 30530 30560 IF PC% = 8 THEN V% = V% - 1: IF V% < 1 THEN V% = OP%: GOTO 30530 30570 IF PC% = 13 THEN 30680 30580 IF PC% = 27 THEN V% = 0: GOTO 30680 30585 IF VAL (A$) < > 0 AND VAL (A$) = < OP% THEN V% = VAL (A$) 30590 FOR I = 1 TO OP%: IF LEFT$ (OP$(I),1) = A$ THEN V% = I 30610 NEXT I: GOTO 30530 30680 & MODE1,1: FOR I = 1 TO 15:OP$(I) = OQ$(I): NEXT I: RETURN 30700 PRINT "(O/N) ? "; 30710 GET A$: IF A$ = "N" THEN V% = 0: PRINT : RETURN 30730 IF A$ = "O" THEN V% = 1: PRINT : RETURN 30740 GOTO 30710 31000 FOR I = 2 TO 3: IF OB%(EQ%(I),1) < > 5 AND OB%(EQ%(I),1) < > 6 THEN 31030 31020 IF FN UT(EQ%(I)) THEN OB%(EQ%(I),6) = OB%(EQ%(I),6) - 1 31030 NEXT I: RETURN 32000 OP% = 0: FOR I = 1 TO 15: & LSPELLI,SO%(1),SO%(2),SO%(3),SO%(4),SO%(5): IF SO%(1) = 0 OR (SO%(2) + SO%(3) + SO%(4) + SO%(5)) = 0 THEN 32060 32050 OP% = OP% + 1:OP%(OP%) = I: & SMAGI,0,OP$(OP%) 32060 NEXT I: IF OP% = 0 THEN PRINT "T'es pas mago sale plouc": GOTO 27500 32080 GOSUB 30500: IF V% = 0 THEN 27490 32090 SO%(6) = OP%(V%): & LSPELLSO%(6),SO%(1),SO%(2),SO%(3),SO%(4),SO%(5):OP% = 0: PRINT : FOR I = 1 TO 4: & UTSPELLSO%(6),I,UT%(0),UT%(1),UT%(2),UT%(3): IF SO%(I + 1) = 0 OR UT%(CO%) = 0 THEN 32160 32150 OP% = OP% + 1:OP%(OP%) = I: & SMAGSO%(6),I,OP$(OP%) 32160 NEXT I: IF OP% = 0 THEN 27500 32170 GOSUB 30500: IF V% = 0 THEN 27490 32180 PRINT :SO%(7) = OP%(V%):OP% = 0:Z$ = "Puissance : ": FOR I = 1 TO 15: IF FN PM(I) > (KC%(6) + OB%(EQ%(4),5)) THEN 32230 32220 OP% = OP% + 1:OP%(I) = I:OP$(I) = STR$ (I) 32230 NEXT I: IF OP% = 0 THEN PRINT "T'arrives pas @ te concentrer, pauvre loque": GOTO 27500 32250 GOSUB 30500:Z$ = "": IF V% = 0 THEN 27490 32270 SO%(8) = V%: FOR I = 11 TO 13: & MAG(SO%(6)),SO%(7),I - 10,SO%(I): NEXT I: PRINT :SO%(9) = FN PM(SO%(8)) 32310 OB%(EQ%(4),5) = OB%(EQ%(4),5) - SO%(9): IF OB%(EQ%(4),5) < 0 THEN KC%(6) = KC%(6) + OB%(EQ%(4),5):OB%(EQ%(4),5) = 0 32330 GOSUB 26200: & SOUND255,7 * LOG (1 + SO%(8)): & GT(SO%(11) + 35000) 33000 OP% = 0: FOR I = 1 TO OB%: IF OB%(I,1) > 39 OR OB%(I,1) < 20 THEN 33080 33050 IF OB%(I,3) > KC%(1) OR OB%(I,4) > KC%(2) THEN 33080 33060 IF (OB%(I,1) - 20) > (KC%(6) + OB%(EQ%(4),5)) THEN 33080 33065 IF OB%(I,7) < 1 THEN 33080 33070 OP% = OP% + 1:OP%(OP%) = I:OP$(OP%) = OB$(I) 33080 NEXT I: IF OP% = 0 THEN 27520 33100 GOSUB 30500: IF V% = 0 THEN 27490 33120 SO%(10) = OP%(V%):SO%(9) = OB%(SO%(10),1) - 20:SO%(8) = OB%(SO%(10),5): & OBJOB%(SO%(10),6),SO%(6),SO%(2),SO%(3),SO%(4),SO%(5):OP% = 0: PRINT : FOR I = 1 TO 4: & UTSPELLSO%(6),I,UT%(0),UT%(1),UT%(2),UT%(3): IF SO%(I + 1) = 0 OR UT%(CO%) = 0 THEN 33260 33250 OP% = OP% + 1:OP%(OP%) = I: & SMAGSO%(6),I,OP$(OP%) 33260 NEXT I: IF OP% = 0 THEN 27520 33270 GOSUB 30500: IF V% = 0 THEN 27490 33280 PRINT :SO%(7) = OP%(V%): FOR I = 11 TO 13: & MAG(SO%(6)),SO%(7),I - 10,SO%(I): NEXT I: IF OB%(SO%(10),8) < 255 THEN OB%(SO%(10),7) = OB%(SO%(10),7) - 1 33350 GOTO 32310 35100 DM% = RND (1) * SO%(13) * SO%(8):SC% = RND (1) * (KC%(3) + KA%(7)) / 2 - RND (1) * (M%(4,0) * NOT ( FN AC(0)) + M%(12,0) * (M%(11,0) = 2)):DG% = SC%: PRINT : PRINT "Vous d{cochez un projectile magique":A$ = "et touchez":CR% = SO%(12): GOTO 27640 35200 PRINT : IF RND (1) * SO%(13) * (10 + RE%(SO%(6))) * 0.1 * SO%(8) > (M%(16,0) + M%(6,0)) THEN 35230 35220 PRINT "Votre adversairesurvit": GOTO 27200 35230 PRINT "Votre adversaireest {limin{":M%(1,0) = - 1: GOTO 27200 35300 A$ = "Les {manations sont trop fortes":A = PEEK (837):SC% = RND (1) * SO%(8) * 10: IF A = 0 THEN PRINT : PRINT "T'es d{j@ dehorsnigaud!": GOTO 27220 35350 IF A = 8 THEN PRINT : PRINT A$: GOTO 27220 35360 DG% = RND (1) * 10 * (1 + A * (A < 10)): IF SC% < DG% THEN A = 8: GOTO 35350 35390 CALL 16420: GOSUB 26100: GOTO 4170 35400 SC% = RND (1) * SO%(8) * SO%(13) - RND (1) * (M%(2,0) + M%(16,0)) - M%(6,0) 35420 IF SC% = < 0 THEN PRINT : PRINT "Le sort {choue": GOTO 27200 35430 TA%(4) = TA%(4) + SC%: GOTO 27200 35500 SC% = RND (1) * SO%(8) * SO%(13) - RND (1) * (M%(2,0) + M%(16,0)) - M%(6,0): IF SC% < 1 THEN 35420 35530 PRINT : PRINT "Il capitule": IF M%(15,0) > 0 THEN GP% = GP% + M%(15,0): PRINT "Argent....:+";M%(15,0) 35550 GOTO 4150 35600 DV% = RND (1) * WI%(12): IF DV% > DG% THEN DV% = DG% 35630 DG% = FN ID(DG% - DV%): RETURN 35650 IF WI%(12) < 1 OR DV% < 1 OR CO% = 0 THEN RETURN 35660 PRINT : PRINT "L'impact est r{fl{chi":CR% = 0:LO% = 0:DG% = FN ID(DV% - M%(5,0) - M%(6,0)):PV% = M%(1,1):M%(1,0) = M%(1,0) - DG%: IF DG% = 0 THEN PRINT "Sans effet": RETURN 35690 GOSUB 22110: RETURN 35700 IF M%(11,0) = 2 THEN M%(12,0) = FN ID(M%(12,0) - RND (1) * 12 * SO%(8)) 35790 GOTO 27200 35800 KC%(5) = KC%(5) + FN S(SO%(8)): IF KC%(5) > KA%(5) THEN KC%(5) = KA%(5) 35830 GOTO 27200 35900 FOR I = 1 TO 4: IF KC%(I) > KA%(I) THEN 35950 35930 KC%(I) = KC%(I) + FN S(SO%(8)): IF KC%(I) > KA%(I) THEN KC%(I) = KA%(I) 35950 NEXT I: GOTO 27200 36000 WI%(17) = WI%(17) + RND (1) * SO%(8) * 20: IF WI%(17) > 50 THEN WI%(17) = 0: PRINT "Vous ~tes gu{ri" 36020 IF WI%(17) < > 0 THEN PRINT "le poison agit encore" 36090 GOTO 27200 36100 SC% = RND (1) * SO%(13) * SO%(8): IF SC% > M%(4,0) THEN 36140 36130 SC% = - 1: GOTO 35420 36140 PRINT "Vous fuyez": GOTO 4150 36300 WI%(18) = WI%(18) - SO%(8) * SO%(13) * RND (1): IF WI%(18) < - 200 THEN WI%(18) = - 200 36390 GOTO 27200 36400 SC% = RND (1) * 10 * SO%(8):SC% = SC% / ( RND (1) * M%(3,0) + 1):CO% = 1 + FN ID(CO% - 1 - SC%): PRINT : GOTO 27200 37100 SC% = KC%(SO%(12)): IF SC% > KA%(SO%(12)) THEN SC% = KA%(SO%(12)) 37130 SC% = SC% + RND (1) * SO%(8) * SO%(13): IF SC% > KC%(SO%(12)) THEN KC%(SO%(12)) = SC% 37150 GOTO 27200 37200 SC% = FN ID( RND (1) * SO%(8) * SO%(13) - M%(6,0)):M%(SO%(12),0) = FN ID(M%(SO%(12),0) - SC%): GOTO 27200 37300 SC% = RND (1) * SO%(8) * (SO%(13)): IF SO%(6) < 12 THEN SC% = SC% * 0.1 * (10 + RE%(SO%(6)) * (SO%(12) > 12 AND SO%(12) < 17)) 37310 SC% = SC% + WI%(SO%(12)) * ((SO%(12) < 7) OR (SO%(12) > 12)): IF SC% > WI%(SO%(12)) THEN WI%(SO%(12)) = SC% 37340 GOTO 27200 37400 EN%(SO%(12)) = FN ID(OB%(EQ%(1),SO%(12) + 6) + (OB%(EQ%(3),SO%(12) + 4)) * (OB%(EQ%(3),1) = 3) - SO%(8)): GOTO 27200 40000 A = USR (0): & READ "PLAYER": INPUT NM$,NA%,NM%,CY%,CX%,CL%,RA%,NJ%: FOR I = 1 TO 8: INPUT KA%(I),KB%(I),KC%(I): NEXT I: INPUT GP%,XP%,WZ%: FOR I = 1 TO 21: INPUT WI%(I): NEXT I: FOR I = 1 TO 4: INPUT EQ%(I): NEXT I: INPUT EN%(1),EN%(2),OB%: IF OB% = 0 THEN 40070 40060 FOR I = 1 TO OB%: INPUT OB$(I): FOR J = 1 TO 8: INPUT OB%(I,J): NEXT J: NEXT I 40070 FOR I = 1 TO 15: INPUT SO%(1),SO%(2),SO%(3),SO%(4),SO%(5):A = USR (1): & ESPELLI,SO%(1),SO%(2),SO%(3),SO%(4),SO%(5):A = USR (0): NEXT I: POKE 826,NA%: POKE 827,NM%: POKE 828,NM%: POKE 837,NA%: POKE 23,CY%: POKE 24,CX%: POKE 16432,CL%:A = USR (1): & MODE1,1: HTAB 25: VTAB 24:A = USR (0): & END : RETURN 40100 A = USR (0):A = PEEK (826): IF A < > 0 AND V% < > 0 THEN GOSUB 41000 40120 A = PEEK (837): IF A > 9 THEN GOSUB 40200: CLEAR : & RUN "T",20480 40130 V% = PEEK (837): GOSUB 40500:A = PEEK (837): FOR I = 1 TO 3: POKE 236,I:A$ = "BK2." + STR$ (A) + "." + STR$ (I): & RECALL A$,2304: CALL 16417: NEXT I:V% = PEEK (827):A$ = "MAP." + STR$ (A) + "." + STR$ (V%): & RECALL A$,5376: CALL 16408: CALL 16396:A = USR (1): RETURN 40200 A = USR (0):V% = 2: GOSUB 40520:A$ = "PLAYER": & DEL A$: & DEF A$,4: & PRINT A$: PRINT NM$: PRINT PEEK (837): PRINT PEEK (827): PRINT PEEK (23): PRINT PEEK (24): PRINT CL%: PRINT RA%: PRINT NJ%: FOR I = 1 TO 8: PRINT KA%(I): PRINT KB%(I): PRINT KC%(I): NEXT I: PRINT GP%: PRINT XP%: PRINT WZ%: FOR I = 1 TO 21: PRINT WI%(I): NEXT I: FOR I = 1 TO 4: PRINT EQ%(I): NEXT I: PRINT EN%(1): PRINT EN%(2): PRINT OB%: IF OB% = 0 THEN 40240 40230 FOR I = 1 TO OB%: PRINT OB$(I): FOR J = 1 TO 8: PRINT OB%(I,J): NEXT J: NEXT I 40240 FOR I = 1 TO 15:A = USR (1): & LSPELLI,SO%(1),SO%(2),SO%(3),SO%(4),SO%(5):A = USR (0): PRINT SO%(1): PRINT SO%(2): PRINT SO%(3): PRINT SO%(4): PRINT SO%(5): NEXT I: & END : RETURN 40500 CALL 16408:A = USR (1): & FACEV%,V% 40520 A = USR (0): & READ "FACE": INPUT A: & END : IF A < > V% THEN PRINT "Ins{rez la face "V%" SVP.";: GET A$: PRINT : GOTO 40520 40540 RETURN 40600 A = USR (0):A = PEEK (837): IF A < > 0 THEN GOSUB 41000 40620 V% = PEEK (827):A$ = "MAP." + STR$ (A) + "." + STR$ (V%): & RECALL A$,5376:A = USR (1): GOTO 4140 41000 A$ = "MAP." + STR$ (A) + "." + STR$ ( PEEK (828)): & DEL A$: & STORE A$,5376,2483: RETURN 41010 A$ = "MAP." + STR$ (A) + "." + STR$ ( PEEK (827)):A = USR (0): & DEL A$: & STORE A$,5376,2483: RETURN