-+-+-+-+-+-+-+-+ START OF PART 58 -+-+-+-+-+-+-+-+ X`09acc_exp `09:= 0.0; X X`09`7B Each character class has a list of spells they can use. In`09`7D X`09`7B cases the entire array is blank `7D X X`09magic_spell`09:=`09(`09(`09`09`7B Warrior`09`7D X ('' ,99,99, 0, 0,false), X ('' ,99,99, 0, 0,false), X ('' ,99,99, 0, 0,false), X ('' ,99,99, 0, 0,false), X ('' ,99,99, 0, 0,false), X ('' ,99,99, 0, 0,false), X ('' ,99,99, 0, 0,false), X ('' ,99,99, 0, 0,false), X ('' ,99,99, 0, 0,false), X ('' ,99,99, 0, 0,false), X ('' ,99,99, 0, 0,false), X ('' ,99,99, 0, 0,false), X ('' ,99,99, 0, 0,false), X ('' ,99,99, 0, 0,false), X ('' ,99,99, 0, 0,false), X ('' ,99,99, 0, 0,false), X ('' ,99,99, 0, 0,false), X ('' ,99,99, 0, 0,false), X ('' ,99,99, 0, 0,false), X ('' ,99,99, 0, 0,false), X ('' ,99,99, 0, 0,false), X ('' ,99,99, 0, 0,false), X ('' ,99,99, 0, 0,false), X ('' ,99,99, 0, 0,false), X ('' ,99,99, 0, 0,false), X ('' ,99,99, 0, 0,false), X ('' ,99,99, 0, 0,false), X ('' ,99,99, 0, 0,false), X ('' ,99,99, 0, 0,false), X ('' ,99,99, 0, 0,false), X ('' ,99,99, 0, 0,false) X`09`09`09`09`09), X`09`09`09`09`09( `7B Mage `7D X ('Magic Missile' , 1, 1, 5, 22,false), X ('Detect Monsters' , 1, 1, 5, 23,false), X ('Phase Door' , 1, 2, 4, 24,false), X ('Light Area' , 1, 2, 4, 26,false), X ('Cure Light Wounds' , 3, 3, 8, 25,false), X ('Find Hidden Traps/Doors' , 3, 3, 6, 55,false), X ('Stinking Cloud' , 3, 4, 8, 27,false), X ('Confusion' , 3, 4, 6, 30,false), X ('Lightning Bolt' , 5, 4, 25, 30,false), X ('Trap/Door Destruction' , 5, 5, 30, 30,false), X ('Sleep I' , 5, 5, 20, 30,false), X ('Cure Poison' , 5, 5, 25, 35,false), X ('Teleport Self' , 7, 6, 35, 35,false), X ('Remove Curse' , 7, 6, 40, 50,false), X ('Frost Bolt' , 7, 6, 50, 40,false), X ('Turn Stone to Mud' , 9, 7, 75, 44,false), X ('Create Food' , 9, 7, 75, 45,false), X ('Recharge Item I' , 9, 7, 90, 75,false), X ('Sleep II' , 9, 7, 75, 45,false), X ('Polymorph Other' ,11, 7,100, 45,false), X ('Identify' ,11, 7, 75, 99,false), X ('Sleep III' ,13, 7, 90, 50,false), X ('Fire Bolt' ,15, 9,100, 50,false), X ('Slow Monster' ,17, 9,125, 50,false), X ('Frost Ball' ,19,12,150, 55,false), X ('Recharge Item II' ,21,12,175, 90,false), X ('Teleport Other' ,23,12,200, 60,false), X ('Haste Self' ,25,12,250, 65,false), X ('Fire Ball' ,29,18,350, 65,false), X ('Word of Destruction' ,33,21,500, 80,false), X ('Genocide' ,37,25,800, 95,false) X`09`09`09`09`09), X`09`09`09`09`09( `7B Priest `7D X ('Detect Evil' , 1, 1, 3, 10,false), X ('Cure Light Wounds' , 1, 2, 4, 15,false), X ('Bless' , 1, 2, 3, 20,false), X ('Remove Fear' , 1, 2, 3, 25,false), X ('Call Light' , 3, 2, 6, 25,false), X ('Find Traps' , 3, 3, 8, 27,false), X ('Detect Doors/Stairs' , 3, 3, 8, 27,false), X ('Slow Poison' , 3, 3, 10, 28,false), X ('Blind Creature' , 5, 4, 16, 29,false), X ('Portal' , 5, 4, 20, 30,false), X ('Cure Medium Wounds' , 5, 4, 20, 32,false), X ('Chant' , 5, 5, 20, 34,false), X ('Sanctuary' , 7, 5, 30, 36,false), X ('Create Food' , 7, 5, 30, 38,false), X ('Remove Curse' , 7, 6, 35, 38,false), X ('Resist Heat and Cold' , 7, 7, 35, 38,false), X ('Neutralize Poison' , 9, 6, 40, 38,false), X ('Orb of Draining' , 9, 7, 40, 38,false), X ('Cure Serious Wounds' , 9, 7, 40, 40,false), X ('Sense Invisible' ,11, 8, 40, 42,false), X ('Protection from Evil' ,11, 8, 50, 42,false), X ('Earthquake' ,11, 9, 60, 55,false), X ('Sense Surroundings' ,13,10, 60, 45,false), X ('Cure Critical Wounds' ,13,11, 65, 45,false), X ('Turn Undead' ,15,12, 80, 50,false), X ('Prayer' ,15,14, 90, 50,false), X ('Dispell Undead' ,17,14,125, 55,false), X ('Heal' ,21,16,150, 60,false), X ('Dispell Evil' ,25,20,300, 70,false), X ('Glyph of Warding' ,33,24,500, 90,false), X ('Holy Word' ,39,32,800, 99,false) X`09`09`09`09`09), X`09`09`09`09`09( `7B Rogue `7D X ('Magic Missile' ,99,99, 0, 0,false), X ('Detect Monsters' , 5, 1, 2, 50,false), X ('Phase Door' , 7, 2, 4, 55,false), X ('Light Area' , 9, 3, 6, 60,false), X ('Cure Light Wounds' ,11, 4, 8, 65,false), X ('Find Hidden Traps/Doors' ,13, 5, 10, 70,false), X ('Stinking Cloud' ,99,99, 0, 0,false), X ('Confusion' ,15, 6, 12, 75,false), X ('Lightning Bolt' ,99,99, 0, 0,false), X ('Trap/Door Destruction' ,17, 7, 15, 80,false), X ('Sleep I' ,19, 8, 20, 85,false), X ('Cure Poison' ,21, 9, 25, 90,false), X ('Teleport Self' ,99,99, 0, 0,false), X ('Remove Curse' ,23,10, 30, 95,false), X ('Frost Bolt' ,99,99, 0, 0,false), X ('Turn Stone to Mud' ,99,99, 0, 0,false), X ('Create Food' ,25,12, 35, 95,false), X ('Recharge Item I' ,27,15, 45, 99,false), X ('Sleep II' ,99,99, 0, 0,false), X ('Polymorph Other' ,99,99, 0, 0,false), X ('Identify' ,29,18, 75, 99,false), X ('Sleep III' ,99,99, 0, 0,false), X ('Fire Bolt' ,99,99, 0, 0,false), X ('Slow Monster' ,99,99, 0, 0,false), X ('Frost Ball' ,99,99, 0, 0,false), X ('Recharge Item II' ,99,99, 0, 0,false), X ('Teleport Other' ,99,99, 0, 0,false), X ('Haste Self' ,99,99, 0, 0,false), X ('Fire Ball' ,99,99, 0, 0,false), X ('Word of Destruction' ,99,99, 0, 0,false), X ('Genocide' ,99,99, 0, 0,false) X`09`09`09`09`09), X`09`09`09`09`09( `7B Ranger `7D X ('Magic Missile' , 3, 1, 6, 30,false), X ('Detect Monsters' , 3, 2, 6, 35,false), X ('Phase Door' , 3, 2, 8, 35,false), X ('Light Area' , 5, 3, 8, 35,false), X ('Cure Light Wounds' , 5, 3, 8, 40,false), X ('Find Hidden Traps/Doors' , 5, 4, 10, 45,false), X ('Stinking Cloud' , 7, 6, 24, 40,false), X ('Confusion' , 7, 6, 20, 40,false), X ('Lightning Bolt' , 9, 7, 30, 40,false), X ('Trap/Door Destruction' , 9, 8, 30, 45,false), X ('Sleep I' ,11, 8, 40, 40,false), X ('Cure Poison' ,11, 9, 40, 45,false), X ('Teleport Self' ,13,10, 50, 45,false), X ('Remove Curse' ,13,11, 50, 55,false), X ('Frost Bolt' ,15,12, 60, 50,false), X ('Turn Stone to Mud' ,15,13, 60, 50,false), X ('Create Food' ,17,17, 60, 55,false), X ('Recharge Item I' ,17,17, 70, 90,false), X ('Sleep II' ,21,17, 70, 55,false), X ('Polymorph Other' ,21,19, 70, 60,false), X ('Identify' ,23,25, 80, 95,false), X ('Sleep III' ,23,20, 80, 60,false), X ('Fire Bolt' ,25,20, 80, 60,false), X ('Slow Monster' ,25,21, 80, 65,false), X ('Frost Ball' ,27,21, 90, 65,false), X ('Recharge Item II' ,29,23, 90, 95,false), X ('Teleport Other' ,31,25,100, 70,false), X ('Haste Self' ,33,25,150, 75,false), X ('Fire Ball' ,35,25,200, 80,false), X ('Word of Destruction' ,37,30,500, 95,false), X ('' ,99,99, 0, 0,false) X`09`09`09`09`09), X`09`09`09`09`09( `7B Paladin `7D X ('Detect Evil' , 1, 1, 4, 30,false), X ('Cure Light Wounds' , 2, 2, 8, 35,false), X ('Bless' , 3, 3, 12, 35,false), X ('Remove Fear' , 5, 3, 20, 35,false), X ('Call Light' , 5, 4, 20, 35,false), X ('Find Traps' , 7, 5, 25, 40,false), X ('Detect Doors/Stairs' , 7, 5, 25, 40,false), X ('Slow Poison' , 9, 7, 30, 40,false), X ('Blind Creature' , 9, 7, 30, 40,false), X ('Portal' , 9, 8, 30, 40,false), X ('Cure Medium Wounds' ,11, 9, 40, 40,false), X ('Chant' ,11,10, 40, 45,false), X ('Sanctuary' ,11,10, 40, 45,false), X ('Create Food' ,13,10, 50, 45,false), X ('Remove Curse' ,13,11, 50, 45,false), X ('Resist Heat and Cold' ,15,13, 60, 45,false), X ('Neutralize Poison' ,15,15, 60, 50,false), X ('Orb of Draining' ,17,15, 70, 50,false), X ('Cure Serious Wounds' ,17,15, 70, 50,false), X ('Sense Invisible' ,19,15, 75, 50,false), X ('Protection from Evil' ,19,15, 75, 50,false), X ('Earthquake' ,21,17, 80, 50,false), X ('Sense Surroundings' ,23,17, 80, 50,false), X ('Cure Critical Wounds' ,25,20, 80, 50,false), X ('Turn Undead' ,27,21, 90, 50,false), X ('Prayer' ,29,22, 95, 50,false), X ('Dispell Undead' ,31,24,100, 60,false), X ('Heal' ,33,28,125, 60,false), X ('Dispell Evil' ,35,32,150, 70,false), X ('Glyph of Warding' ,37,36,200, 90,false), X ('Holy Word' ,39,38,500, 95,false) X`09`09`09`09`09) X`09`09`09); X`09`7B For Create Food spell use... `7D X mush := X('& pint`7E of fine grade mush' , 80, ',',%X'00000000' V, X 1500, 0, 308, 1, 1, 0, 0, 0, 0, '1d1' , 1); X X X`09char_row`09:= 0; X`09char_col := 0; X X`09`7B Initialize player generation variables`09`09`09`7D X`09sex_type := 'FemaleMale '; X X`09`7BRace`09STR,INT,WIS,DEX,CON,CHR, X`09`09Ages, heights, and weights, X`09`09Racial Bases for: dis,srh,stl,fos,bth,bthb,bsav,hitdie, X`09`09infra, choice-classes `7D X X`09race`09:=`09( X`09`09('Human', 0, 0, 0, 0, 0, 0, X`09`09`09 14, 6, 72, 6,180, 25, 66, 4,120, 20, 1.00, X`09`09`09 0, 0, 0, 0, 0, 0, 0, 10, 0, %B'111111' X`09`09`09), X`09`09('Half-Elf', -1, 1, 0, 1, -1, 1, X`09`09`09 24, 16, 66, 6,130, 15, 62, 6,100, 10, 1.10, X`09`09`09 2, 6, 1, -1, 0, 5, 3, 9, 0, %B'111111' X`09`09`09), X`09`09('Elf', -1, 2, 1, 1, -2, 1, X`09`09`09 75, 75, 60, 4,100, 6, 54, 4, 80, 6, 1.20, X`09`09`09 5, 8, 1, -2, -5, 15, 6, 8, 0, %B'011111' X`09`09`09), X`09`09('Halfling', -2, 2, 1, 3, 1, 1, X`09`09`09 21, 12, 36, 3, 60, 3, 33, 3, 50, 3, 1.10, X`09`09`09 15, 12, 4, -5,-10, 20, 18, 6, 4, %B'001011' X`09`09`09), X`09`09('Gnome', -1, 2, 0, 2, 1, -2, X`09`09`09 50, 40, 42, 3, 90, 6, 39, 3, 75, 3, 1.25, X`09`09`09 10, 6, 3, -3, -8, 12, 12, 7, 3, %B'001111' X`09`09`09), X`09`09('Dwarf', 2, -3, 1, -2, 2, -3, X`09`09`09 35, 15, 48, 3,150, 10, 46, 3,120, 10, 1.20, X`09`09`09 2, 7, 0, 0, 15, 0, 9, 9, 5, %B'000101' X`09`09`09), X`09`09('Half-Orc', 2, -1, 0, 0, 1, -4, X`09`09`09 11, 4, 66, 1,150, 5, 62, 1,120, 5, 1.10, X`09`09`09 -3, 0, -1, 3, 12, -5, -3, 10, 3, %B'001101' X`09`09`09), X`09`09('Half-Troll',4, -4, -2, -4, 3, -6, X`09`09`09 20, 10, 96, 10,300, 50, 84, 8,260, 40, 1.20, X`09`09`09 -5, -1, -2, 5, 20,-10, -8, 12, 3, %B'000101' X`09`09`09) X`09`09); X X`09`7B Buying and selling adjustments for character race VS store`09`7D X`09`7B owner race `7D X X`09rgold_adj :=`09( X`09`09`09`7B Hum, HfE, Elf, Hal, Gno, Dwa, HfO, HfT`7D X`7BHuman `7D ( 0.00, 0.05, 0.05, 0.10, 0.13, 0.15, 0.20, 0.25 V), X`7BHalf-Elf `7D ( 0.10, 0.00, 0.00, 0.05, 0.10, 0.20, 0.25, 0.30 V), X`7BElf `7D ( 0.10, 0.05, 0.00, 0.05, 0.10, 0.20, 0.25, 0.30 V), X`7BHalfling `7D ( 0.15, 0.10, 0.05,-0.05, 0.05, 0.10, 0.15, 0.30 V), X`7BGnome `7D ( 0.15, 0.15, 0.10, 0.05,-0.05, 0.10, 0.15, 0.30 V), X`7BDwarf `7D ( 0.15, 0.20, 0.20, 0.10, 0.10,-0.05, 0.25, 0.35 V), X`7BHalf-Orc `7D ( 0.15, 0.20, 0.25, 0.15, 0.15, 0.30, 0.10, 0.15 V), X`7BHalf-Troll `7D ( 0.10, 0.15, 0.15, 0.10, 0.10, 0.30, 0.10, 0.10 V) X`09`09`09); X X`09`7B Classes...`09`09`09`09`09`09`09`7D X`09class := ( X('Warrior', 0.00, 9, 25, 14, 1, 38, 68, 55,30, 5,-2,-2, 2, 2,-1, false,fals Ve), X('Mage', 0.30, 0, 30, 16, 2, 36, 34, 20,20,-5, 3, 0, 0,-2, 0, false,true V ), X('Priest', 0.10, 3, 25, 16, 2, 32, 48, 35,20, 0,-3, 3,-1, 1, 2, true ,fals Ve), X('Rogue', 0.00, 6, 45, 32, 4, 16, 60, 66,30, 3, 1,-2, 3, 2,-1, false,true V ), X('Ranger', 0.40, 4, 30, 24, 3, 24, 56, 72,25, 2, 2, 0, 1, 1, 1, false,true V ), X('Paladin', 0.35, 6, 20, 12, 1, 38, 70, 40,25, 3,-3, 1, 0, 2, 2, true ,fals Ve) X`09`09`09); X X`09`7B Class titles for different levels`09`09`09`09`7D X`09player_title := ( X`09`7B Warrior `7D +-+-+-+-+-+-+-+- END OF PART 58 +-+-+-+-+-+-+-+-