DECLARE FUNCTION dice! (a!, b!) ' generates random characters for chi ' ' This value sets the max level maxlvl = 15 ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' elel$(1) = "Water: " elel$(2) = "Earth: " elel$(3) = "Wood: " elel$(4) = "Metal: " elel$(5) = "Fire: " phil$(1) = "Zen(Concentration): " phil$(2) = "Buddhaism(Meditation): " phil$(3) = "Taoism(Alchemy): " phil$(4) = "Shintoism(Geomancy): " phil$(5) = "Bushido(Stealth): " CLS RANDOMIZE TIMER 5 str = dice(2, 10) agi = dice(2, 10) en = dice(2, 10) in = dice(2, 10) hon = 65 - str - agi - en - in IF hon < 2 OR hon > 20 THEN 5 lvl = INT(RND(1) * maxlvl) + 1 chi = en + dice(2 * (lvl - 1), 6) x = RND(1) IF (x < .296) THEN ele = 1 ELSEIF (x < .574) THEN ele = 2 ELSEIF (x < .815) THEN ele = 3 ELSEIF (x < .981) THEN ele = 4 ELSE ele = 5 END IF x = RND(1) IF (x < .296) THEN lig = 1 ELSEIF (x < .574) THEN lig = 2 ELSEIF (x < .815) THEN lig = 3 ELSEIF (x < .981) THEN lig = 4 ELSE lig = 5 END IF x = RND(1) IF (x < .296) THEN kat = 1 ELSEIF (x < .574) THEN kat = 2 ELSEIF (x < .815) THEN kat = 3 ELSEIF (x < .981) THEN kat = 4 ELSE kat = 5 END IF x = RND(1) IF (x < .296) THEN dar = 1 ELSEIF (x < .574) THEN dar = 2 ELSEIF (x < .815) THEN dar = 3 ELSEIF (x < .981) THEN dar = 4 ELSE dar = 5 END IF x = RND(1) IF (x < .296) THEN phi = 1 ELSEIF (x < .574) THEN phi = 2 ELSEIF (x < .815) THEN phi = 3 ELSEIF (x < .981) THEN phi = 4 ELSE phi = 5 END IF numskills = in + 2 * INT(lvl / 3) percent = 15 + in + 5 * lvl ele$ = elel$(dice(1, 5)) phi$ = phil$(dice(1, 5)) FOR x = 1 TO 14 + lvl y = dice(1, 7) comb(y) = comb(y) + 1 NEXT x = 0 WHILE comb(1) > 0 x = x + 1 comb(1) = comb(1) - x WEND comb(1) = x IF lvl >= 10 THEN pp = 550 + 500 * (lvl - 10) ELSE pp = 2 ^ (lvl - 1) END IF pp = pp + 2 ^ (lig - 1) + 2 ^ (dar - 1) + 2 ^ (ele - 1) + 3 ^ (phi - 1) + 10 * kat PRINT "Level: "; lvl; "("; pp; ")" PRINT "Strength:"; str, "STR mod:"; INT(str / 2 - 5) PRINT "Agility:"; agi, "AGI mod:"; INT(agi / 2 - 5) PRINT "Endurance: "; en, "Intelligence: "; in, "Honor: "; hon PRINT "Chi: "; chi PRINT " Light: "; lig, , "Dark: "; dar PRINT ele$; ele, , phi$; phi FOR x = 1 TO kat IF x MOD 3 <> 0 THEN PRINT "Kata "; x; ":", , ; ELSE PRINT "Kata "; x; ":" END IF NEXT IF (x - 1) MOD 3 <> 0 THEN PRINT PRINT "Combat:" PRINT " #att:"; comb(1); "Hands:"; comb(2); "Feet:"; comb(3); "Weapon:"; comb(4); "Grab:"; comb(5); "Throw:"; comb(6); "Defend:"; comb(7) PRINT "Skill: "; percent; "%" FOR x = 1 TO numskills IF x MOD 3 <> 0 THEN PRINT "Sk"; x; ":", , ; ELSE PRINT "Sk"; x; ":" END IF NEXT IF (x - 1) MOD 3 <> 0 THEN PRINT PRINT "Again?(y/n)" 10 g$ = INKEY$ IF g$ = "y" OR g$ = "Y" THEN RUN ELSEIF g$ = "n" OR g$ = "N" OR g$ = "q" OR g$ = "Q" THEN END ELSE GOTO 10 END IF FUNCTION dice (a, b) d = 0 FOR c = 1 TO a d = d + INT(b * RND(1) + 1) NEXT dice = d END FUNCTION