Advertisement
Guest User

skill_builder

a guest
Feb 27th, 2014
140
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var has_parse = 0;
  2. var SKILLS = [];
  3. var FRIENDLY = [];
  4. var MAX_RACE = 17;
  5. var MAX_CLASS = 14;
  6.  
  7. SKILLS['SKILL_COMBAT']= 1;
  8.  SKILLS['SKILL_MASTERY']= 2;
  9.  SKILLS['SKILL_SWORD']= 3;
  10.  SKILLS['SKILL_CRITS']= 4;
  11.  SKILLS['SKILL_POLEARM']= 5;
  12.  
  13. SKILLS['SKILL_BLUNT']= 6;
  14.  SKILLS['SKILL_ARCHERY']= 7;
  15.  SKILLS['SKILL_SLING']= 8;
  16.  SKILLS['SKILL_BOW']= 9;
  17.  SKILLS['SKILL_XBOW']= 10;
  18.  
  19. SKILLS['SKILL_BACKSTAB']= 11;
  20.  SKILLS['SKILL_MAGIC']= 12;
  21.  SKILLS['SKILL_SHOOT_TILL_KILL']= 13;
  22.  SKILLS['SKILL_SORCERY']= 14;
  23.  SKILLS['SKILL_MAGERY']= 15;
  24.  
  25. SKILLS['SKILL_MIMIC']= 16;
  26.  SKILLS['SKILL_DEVICE']= 17;
  27.  SKILLS['SKILL_SHADOW']= 18;
  28.  SKILLS['SKILL_PRAY']= 19;
  29.  SKILLS['SKILL_SPELLLENGTH']= 20;
  30.  
  31. SKILLS['SKILL_SNEAKINESS']= 21;
  32.  
  33. //SKILLS['SKILL_DISARM']= 22;
  34.  
  35. SKILLS['SKILL_STEALTH']= 23;
  36.  SKILLS['SKILL_STEALING']= 24;
  37.  SKILLS['SKILL_NECROMANCY']= 25;
  38.  
  39. SKILLS['SKILL_ANTIMAGIC']= 26;
  40.  SKILLS['SKILL_AURA_POWER']= 27;
  41.  SKILLS['SKILL_TRAUMATURGY']= 27;
  42.  
  43. SKILLS['SKILL_AURA_FEAR']= 28;
  44.  SKILLS['SKILL_AURA_SHIVER']= 29;
  45.  SKILLS['SKILL_AURA_DEATH']= 30;
  46.  SKILLS['SKILL_HUNTING']= 31;
  47.  SKILLS['SKILL_TECHNIQUE']= 32;
  48.  
  49. SKILLS['SKILL_MISC']= 33;
  50.  SKILLS['SKILL_AGILITY']= 34;
  51.  SKILLS['SKILL_CALMNESS']= 35;
  52.  SKILLS['SKILL_SWIM']= 36;
  53.  SKILLS['SKILL_MARTIAL_ARTS']= 37;
  54.  
  55. SKILLS['SKILL_RICOCHET']= 38;
  56.  SKILLS['SKILL_BOOMERANG']= 39;
  57.  SKILLS['SKILL_TRAINING']= 40;
  58.  SKILLS['SKILL_INTERCEPT']= 41;
  59.  SKILLS['SKILL_DODGE']= 42;
  60.  
  61. SKILLS['SKILL_HEALTH']= 43;
  62.  SKILLS['SKILL_DIG']= 44;
  63.  SKILLS['SKILL_SPELLRAD']= 45;
  64.  SKILLS['SKILL_TRAPPING']= 46;
  65.  SKILLS['SKILL_AXE']= 47;
  66.  
  67. SKILLS['SKILL_CONVEYANCE']= 48;
  68.  SKILLS['SKILL_SPELL']= 49;
  69.  SKILLS['SKILL_MANA']= 50;
  70.  SKILLS['SKILL_FIRE']= 51;
  71.  SKILLS['SKILL_AIR']= 52;
  72.  
  73. SKILLS['SKILL_WATER']= 53;
  74.  SKILLS['SKILL_NATURE']= 54;
  75.  SKILLS['SKILL_EARTH']= 55;
  76.  SKILLS['SKILL_DIVINATION']= 56;
  77.  SKILLS['SKILL_TEMPORAL']= 57;
  78.  
  79. SKILLS['SKILL_META']= 58;
  80.  SKILLS['SKILL_MIND']= 59;
  81.  SKILLS['SKILL_UDUN']= 60;
  82.  SKILLS['SKILL_HOFFENSE']= 70;
  83.  SKILLS['SKILL_HDEFENSE']= 71;
  84.  
  85. SKILLS['SKILL_HCURING']= 72;
  86.  SKILLS['SKILL_HSUPPORT']= 73;
  87.  SKILLS['SKILL_DRUID_ARCANE']= 74;
  88.  SKILLS['SKILL_DRUID_PHYSICAL']= 75;
  89.  SKILLS['SKILL_RUNEMASTERY']= 76;
  90.  
  91. SKILLS['SKILL_ASTRAL']= 77;
  92.  SKILLS['SKILL_DUAL']= 78;
  93.  SKILLS['SKILL_STANCE']= 79;
  94.  SKILLS['SKILL_PPOWER']= 80;
  95.  SKILLS['SKILL_TCONTACT']= 81;
  96.  
  97. SKILLS['SKILL_MINTRUSION']= 82;
  98.  SKILLS['SKILL_SCHOOL_MAGIC']= 83;
  99.  SKILLS['SKILL_SCHOOL_PRAYING']= 84;
  100.  SKILLS['SKILL_SCHOOL_DRUIDISM']= 85;
  101.  SKILLS['SKILL_SCHOOL_MINDCRAFT']= 86;
  102.  
  103. SKILLS['SKILL_CLIMB']= 90;
  104.  SKILLS['SKILL_FLY']= 91;
  105.  SKILLS['SKILL_FREEACT']= 92;
  106.  SKILLS['SKILL_RESCONF']= 93;
  107.  
  108. //SKILLS['SKILL_SCHOOL_RUNECRAFT']= 95;
  109.  SKILLS['SKILL_R_LITE']= 96;
  110.  SKILLS['SKILL_R_DARK']= 97;
  111.  SKILLS['SKILL_R_NEXU']= 98;
  112.  SKILLS['SKILL_R_NETH']= 99;
  113.  SKILLS['SKILL_R_CHAO']= 100;
  114.  SKILLS['SKILL_R_MANA']= 101;
  115.  
  116. FRIENDLY['SKILL_CRITS'] = [ 'SKILL_SWORD', 5 ];
  117. FRIENDLY['SKILL_SWORD'] = [ 'SKILL_MASTERY', 15, 'SKILL_COMBAT', 20 ];
  118. FRIENDLY['SKILL_AXE'] = [ 'SKILL_MASTERY', 15, 'SKILL_COMBAT', 20 ];
  119. FRIENDLY['SKILL_POLEARM'] = [ 'SKILL_MASTERY', 15, 'SKILL_COMBAT', 20 ];
  120. FRIENDLY['SKILL_BLUNT'] = [ 'SKILL_MASTERY', 15, 'SKILL_COMBAT', 20 ];
  121.  
  122. FRIENDLY['SKILL_SLING'] = [ 'SKILL_ARCHERY', 15, 'SKILL_COMBAT', 15 ];
  123. FRIENDLY['SKILL_BOW'] = [ 'SKILL_ARCHERY', 15, 'SKILL_COMBAT', 15 ];
  124. FRIENDLY['SKILL_XBOW'] = [ 'SKILL_ARCHERY', 15, 'SKILL_COMBAT', 15 ];
  125.  
  126. FRIENDLY['SKILL_MASTERY'] = [ 'SKILL_COMBAT', 20 ];
  127.  
  128. FRIENDLY['SKILL_ARCHERY'] = [ 'SKILL_COMBAT', 20 ];
  129. FRIENDLY['SKILL_BOOMERANG'] = [ 'SKILL_COMBAT', 15 ];
  130.  
  131. FRIENDLY['SKILL_MARTIAL_ARTS'] = [ 'SKILL_COMBAT', 20, 'SKILL_DODGE', 20 ];
  132.  
  133. FRIENDLY['SKILL_DEVICE'] = [ 'SKILL_MAGIC', 7 ];
  134. FRIENDLY['SKILL_SPELL'] = [ 'SKILL_MAGIC', 20 ];
  135. FRIENDLY['SKILL_SORCERY'] = [ 'SKILL_MAGIC', 20 ];
  136. FRIENDLY['SKILL_MANA'] = [ 'SKILL_MAGIC', 10 ];
  137. FRIENDLY['SKILL_FIRE'] = [ 'SKILL_MAGIC', 10 ];
  138. FRIENDLY['SKILL_AIR'] = [ 'SKILL_MAGIC', 10 ];
  139. FRIENDLY['SKILL_WATER'] = [ 'SKILL_MAGIC', 10 ];
  140. FRIENDLY['SKILL_EARTH'] = [ 'SKILL_MAGIC', 10 ];
  141. FRIENDLY['SKILL_CONVEYANCE'] = [ 'SKILL_MAGIC', 10 ];
  142. FRIENDLY['SKILL_DIVINATION'] = [ 'SKILL_MAGIC', 10 ];
  143. FRIENDLY['SKILL_NATURE'] = [ 'SKILL_MAGIC', 10 ];
  144. FRIENDLY['SKILL_TEMPORAL'] = [ 'SKILL_MAGIC', 10 ];
  145. FRIENDLY['SKILL_META'] = [ 'SKILL_MAGIC', 10 ];
  146. FRIENDLY['SKILL_MIND'] = [ 'SKILL_MAGIC', 10 ];
  147. FRIENDLY['SKILL_UDUN'] = [ 'SKILL_MAGIC', 10 ];
  148. FRIENDLY['SKILL_MIMIC'] = [ 'SKILL_MAGIC', 7 ];
  149.  
  150. FRIENDLY['SKILL_HOFFENSE'] = [ 'SKILL_MAGIC', 10 ];
  151. FRIENDLY['SKILL_HDEFENSE'] = [ 'SKILL_MAGIC', 10 ];
  152. FRIENDLY['SKILL_HCURING'] = [ 'SKILL_MAGIC', 10 ];
  153. FRIENDLY['SKILL_HSUPPORT'] = [ 'SKILL_MAGIC', 10 ];
  154.  
  155. FRIENDLY['SKILL_ASTRAL'] = [ 'SKILL_MAGIC', 10 ];
  156.  
  157. FRIENDLY['SKILL_DRUID_ARCANE'] = [ 'SKILL_MAGIC', 10 ];
  158. FRIENDLY['SKILL_DRUID_PHYSICAL'] = [ 'SKILL_MAGIC', 10 ];
  159.  
  160. FRIENDLY['SKILL_PPOWER'] = [ 'SKILL_MAGIC', 10 ];
  161. FRIENDLY['SKILL_TCONTACT'] = [ 'SKILL_MAGIC', 10 ];
  162. FRIENDLY['SKILL_MINTRUSION'] = [ 'SKILL_MAGIC', 10 ];
  163.  
  164. FRIENDLY['SKILL_RUNEMASTERY'] = [ 'SKILL_MAGIC', 20 ];
  165.  
  166. FRIENDLY['SKILL_R_LITE'] = [ 'SKILL_RUNEMASTERY', 15, 'SKILL_MAGIC', 15 ];
  167. FRIENDLY['SKILL_R_DARK'] = [ 'SKILL_RUNEMASTERY', 15, 'SKILL_MAGIC', 15 ];
  168. FRIENDLY['SKILL_R_NEXU'] = [ 'SKILL_RUNEMASTERY', 15, 'SKILL_MAGIC', 15 ];
  169. FRIENDLY['SKILL_R_NETH'] = [ 'SKILL_RUNEMASTERY', 15, 'SKILL_MAGIC', 15 ];
  170. FRIENDLY['SKILL_R_CHAO'] = [ 'SKILL_RUNEMASTERY', 15, 'SKILL_MAGIC', 15 ];
  171. FRIENDLY['SKILL_R_MANA'] = [ 'SKILL_RUNEMASTERY', 15, 'SKILL_MAGIC', 15 ];
  172.  
  173. FRIENDLY['SKILL_STEALTH'] = [ 'SKILL_SNEAKINESS', 15 ];
  174. //FRIENDLY['SKILL_DISARM'] = [ 'SKILL_SNEAKINESS', 10 ];
  175. //FRIENDLY['SKILL_TRAPPING'] = [ 'SKILL_DISARM', 15 ];
  176. FRIENDLY['SKILL_TRAPPING'] = [ 'SKILL_SNEAKINESS', 15 ];
  177. FRIENDLY['SKILL_BACKSTAB'] = [ 'SKILL_SNEAKINESS', 5 ];
  178. FRIENDLY['SKILL_STEALING'] = [ 'SKILL_SNEAKINESS', 20 ];
  179. FRIENDLY['SKILL_DODGE'] = [ 'SKILL_SNEAKINESS', 10 ];
  180.  
  181. FRIENDLY['SKILL_CALMNESS'] = [ 'SKILL_SNEAKINESS', 10 ];
  182.  
  183. FRIENDLY['SKILL_INTERCEPT'] = [ 'SKILL_COMBAT', 10 ];
  184.  
  185. FRIENDLY['SKILL_TRAUMATURGY'] = [ 'SKILL_NECROMANCY', 20 ];
  186. FRIENDLY['SKILL_AURA_FEAR']  = [ 'SKILL_NECROMANCY', 20 ];
  187. FRIENDLY['SKILL_AURA_SHIVER'] = [ 'SKILL_NECROMANCY', 20 ];
  188. FRIENDLY['SKILL_AURA_DEATH'] = [ 'SKILL_NECROMANCY', 20 ];
  189.  
  190. FRIENDLY['SKILL_SWIM'] = [ 'SKILL_HEALTH', 25 ];
  191. FRIENDLY['SKILL_DIG'] = [ 'SKILL_HEALTH', 25 ];
  192. FRIENDLY['SKILL_CLIMB'] = [ 'SKILL_HEALTH', 25 ];
  193.  
  194. var RACES = [ "RACE_HUMAN", "RACE_HALF_ELF", "RACE_ELF", "RACE_HOBBIT", "RACE_GNOME", "RACE_DWARF", "RACE_HALF_ORC", "RACE_HALF_TROLL", "RACE_DUNADAN", "RACE_HIGH_ELF", "RACE_YEEK", "RACE_GOBLIN", "RACE_ENT", "RACE_DRIDER", "RACE_DARK_ELF", "RACE_VAMPIRE", "RACE_DIVINE1", "RACE_DIVINE2", "RACE_KOBOLD" ];
  195. var CLASSES = [ "CLASS_WARRIOR", "CLASS_MAGE", "CLASS_PRIEST", "CLASS_ROGUE", "CLASS_MIMIC", "CLASS_ARCHER", "CLASS_PALADIN", "CLASS_RANGER", "CLASS_ADVENTURER", "CLASS_DRUID", "CLASS_SHAMAN", "CLASS_RUNEMASTER", "CLASS_MINDCRAFTER" ];
  196.  
  197. var PRACE = [];
  198. var PCLASS = [];
  199. function initialize_prace() {
  200.     PRACE['RACE_HUMAN'] = [];
  201.     PRACE['RACE_HUMAN']['SKILL_INTERCEPT'] = [1000, 0, 115];
  202.     PRACE['RACE_HUMAN']['SKILL_CLIMB'] = [0, 50, 0];
  203.     PRACE['RACE_HUMAN']['SKILL_SWIM'] = [0, 50, 0];
  204.     PRACE['RACE_HUMAN']['SKILL_SHOOT_TILL_KILL'] = [1000, 0, 0];
  205.     PRACE['RACE_HALF_ELF'] = [];
  206.     PRACE['RACE_HALF_ELF']['SKILL_BOW'] = [0, 0, 110];
  207.     PRACE['RACE_HALF_ELF']['SKILL_INTERCEPT'] = [500, 0, 110];
  208.     PRACE['RACE_HALF_ELF']['SKILL_CLIMB'] = [0, 40, 0];
  209.     PRACE['RACE_HALF_ELF']['SKILL_SWIM'] = [0, 50, 0];
  210.     PRACE['RACE_HALF_ELF']['SKILL_SHOOT_TILL_KILL'] = [1000, 0, 0];
  211.     PRACE['RACE_ELF'] = [];
  212.     PRACE['RACE_ELF']['SKILL_BOW'] = [1000, 0, 110];
  213.     PRACE['RACE_ELF']['SKILL_MAGIC'] = [0, 0, 110];
  214.     PRACE['RACE_ELF']['SKILL_STEALTH'] = [0, 0, 110];
  215.     PRACE['RACE_ELF']['SKILL_DODGE'] = [0, 0, 110];
  216.     PRACE['RACE_ELF']['SKILL_AGILITY'] = [1000, 0, 110];
  217.     PRACE['RACE_ELF']['SKILL_CALMNESS'] = [1000, 0, 110];
  218.     PRACE['RACE_ELF']['SKILL_SNEAKINESS'] = [1000, 0, 110];
  219.     PRACE['RACE_ELF']['SKILL_CLIMB'] = [0, 40, 0];
  220.     PRACE['RACE_ELF']['SKILL_SWIM'] = [0, 50, 0];
  221.     PRACE['RACE_ELF']['SKILL_SHOOT_TILL_KILL'] = [1000, 0, 0];
  222.     PRACE['RACE_HOBBIT'] = [];
  223.     PRACE['RACE_HOBBIT']['SKILL_SLING'] = [1000, 0, 110];
  224.     PRACE['RACE_HOBBIT']['SKILL_STEALTH'] = [1000, 0, 115];
  225.     PRACE['RACE_HOBBIT']['SKILL_SNEAKINESS'] = [2000, 0, 110];
  226.     PRACE['RACE_HOBBIT']['SKILL_DODGE'] = [0, 0, 110];
  227.     PRACE['RACE_HOBBIT']['SKILL_CLIMB'] = [0, 40, 0];
  228.     PRACE['RACE_HOBBIT']['SKILL_SWIM'] = [0, 50, 0];
  229.     PRACE['RACE_HOBBIT']['SKILL_SHOOT_TILL_KILL'] = [1000, 0, 0];
  230.     PRACE['RACE_GNOME'] = [];
  231.     PRACE['RACE_GNOME']['SKILL_XBOW'] = [1000, 0, 110];
  232.     PRACE['RACE_GNOME']['SKILL_MAGIC'] = [0, 0, 110];
  233.     PRACE['RACE_GNOME']['SKILL_DIG'] = [1000, 0, 115];
  234.     PRACE['RACE_GNOME']['SKILL_DODGE'] = [0, 0, 115];
  235.     PRACE['RACE_GNOME']['SKILL_CLIMB'] = [0, 40, 0];
  236.     PRACE['RACE_GNOME']['SKILL_SWIM'] = [0, 50, 0];
  237.     PRACE['RACE_GNOME']['SKILL_SHOOT_TILL_KILL'] = [1000, 0, 0];
  238.     PRACE['RACE_DWARF'] = [];
  239.     PRACE['RACE_DWARF']['SKILL_AXE'] = [0, 0, 110];
  240.     PRACE['RACE_DWARF']['SKILL_DIG'] = [5000, 0, 130];
  241.     PRACE['RACE_DWARF']['SKILL_CLIMB'] = [0, 60, 0];
  242.     PRACE['RACE_DWARF']['SKILL_SWIM'] = [0, 40, 0];
  243.     PRACE['RACE_DWARF']['SKILL_SHOOT_TILL_KILL'] = [1000, 0, 0];
  244.     PRACE['RACE_HALF_ORC'] = [];
  245.     PRACE['RACE_HALF_ORC']['SKILL_BACKSTAB'] = [1000, 0, 105];
  246.     PRACE['RACE_HALF_ORC']['SKILL_MASTERY'] = [0, 0, 115];
  247.     PRACE['RACE_HALF_ORC']['SKILL_NECROMANCY'] = [0, 0, 110];
  248.     PRACE['RACE_HALF_ORC']['SKILL_MAGIC'] = [0, 0, 80];
  249.     PRACE['RACE_HALF_ORC']['SKILL_SORCERY'] = [0, 0, 80];
  250.     PRACE['RACE_HALF_ORC']['SKILL_CLIMB'] = [0, 40, 0];
  251.     PRACE['RACE_HALF_ORC']['SKILL_SWIM'] = [0, 40, 0];
  252.     PRACE['RACE_HALF_ORC']['SKILL_SHOOT_TILL_KILL'] = [1000, 0, 0];
  253.     PRACE['RACE_HALF_TROLL'] = [];
  254.     PRACE['RACE_HALF_TROLL']['SKILL_BLUNT'] = [0, 0, 110];
  255.     PRACE['RACE_HALF_TROLL']['SKILL_HEALTH'] = [3000, 0, 110];
  256.     PRACE['RACE_HALF_TROLL']['SKILL_ARCHERY'] = [0, 0, 50];
  257.     PRACE['RACE_HALF_TROLL']['SKILL_CRITS'] = [0, 0, 70];
  258.     PRACE['RACE_HALF_TROLL']['SKILL_MAGIC'] = [0, 0, 50];
  259.     PRACE['RACE_HALF_TROLL']['SKILL_SORCERY'] = [0, 0, 50];
  260.     PRACE['RACE_HALF_TROLL']['SKILL_CLIMB'] = [0, 40, 0];
  261.     PRACE['RACE_HALF_TROLL']['SKILL_SWIM'] = [0, 30, 0];
  262.     PRACE['RACE_HALF_TROLL']['SKILL_SHOOT_TILL_KILL'] = [1000, 0, 0];
  263.     PRACE['RACE_DUNADAN'] = [];
  264.     PRACE['RACE_DUNADAN']['SKILL_COMBAT'] = [0, 0, 110];
  265.     PRACE['RACE_DUNADAN']['SKILL_MAGIC'] = [0, 0, 105];
  266.     PRACE['RACE_DUNADAN']['SKILL_ARCHERY'] = [0, 0, 110];
  267.     PRACE['RACE_DUNADAN']['SKILL_INTERCEPT'] = [1000, 0, 110];
  268.     PRACE['RACE_DUNADAN']['SKILL_CLIMB'] = [0, 40, 0];
  269.     PRACE['RACE_DUNADAN']['SKILL_SWIM'] = [0, 60, 0];
  270.     PRACE['RACE_DUNADAN']['SKILL_SHOOT_TILL_KILL'] = [1000, 0, 0];
  271.     PRACE['RACE_HIGH_ELF'] = [];
  272.     PRACE['RACE_HIGH_ELF']['SKILL_BOW'] = [1000, 0, 110];
  273.     PRACE['RACE_HIGH_ELF']['SKILL_MAGIC'] = [0, 0, 110];
  274.     PRACE['RACE_HIGH_ELF']['SKILL_STEALTH'] = [0, 0, 110];
  275.     PRACE['RACE_HIGH_ELF']['SKILL_DODGE'] = [0, 0, 110];
  276.     PRACE['RACE_HIGH_ELF']['SKILL_AGILITY'] = [2000, 0, 115];
  277.     PRACE['RACE_HIGH_ELF']['SKILL_CALMNESS'] = [2000, 0, 115];
  278.     PRACE['RACE_HIGH_ELF']['SKILL_CLIMB'] = [0, 40, 0];
  279.     PRACE['RACE_HIGH_ELF']['SKILL_SWIM'] = [0, 60, 0];
  280.     PRACE['RACE_HIGH_ELF']['SKILL_SHOOT_TILL_KILL'] = [1000, 0, 0];
  281.     PRACE['RACE_YEEK'] = [];
  282.     PRACE['RACE_YEEK']['SKILL_CLIMB'] = [0, 40, 0];
  283.     PRACE['RACE_YEEK']['SKILL_SWIM'] = [0, 60, 0];
  284.     PRACE['RACE_YEEK']['SKILL_SHOOT_TILL_KILL'] = [1000, 0, 0];
  285.     PRACE['RACE_GOBLIN'] = [];
  286.     PRACE['RACE_GOBLIN']['SKILL_BOOMERANG'] = [1000, 0, 110];
  287.     PRACE['RACE_GOBLIN']['SKILL_STEALING'] = [0, 0, 110];
  288.     PRACE['RACE_GOBLIN']['SKILL_CLIMB'] = [0, 40, 0];
  289.     PRACE['RACE_GOBLIN']['SKILL_SWIM'] = [0, 50, 0];
  290.     PRACE['RACE_GOBLIN']['SKILL_SHOOT_TILL_KILL'] = [1000, 0, 0];
  291.     PRACE['RACE_ENT'] = [];
  292.     PRACE['RACE_ENT']['SKILL_AXE'] = [0, 0, 80];
  293.     PRACE['RACE_ENT']['SKILL_SWORD'] = [0, 0, 90];
  294.     PRACE['RACE_ENT']['SKILL_HEALTH'] = [1000, 0, 110];
  295.     PRACE['RACE_ENT']['SKILL_CALMNESS'] = [1000, 0, 115];
  296.     PRACE['RACE_ENT']['SKILL_EARTH'] = [0, 0, 120];
  297.     PRACE['RACE_ENT']['SKILL_WATER'] = [0, 0, 120];
  298.     PRACE['RACE_ENT']['SKILL_FIRE'] = [0, 0, 60];
  299.     PRACE['RACE_ENT']['SKILL_CLIMB'] = [0, 40, 0];
  300.     PRACE['RACE_ENT']['SKILL_SWIM'] = [0, 0, 0];
  301.     PRACE['RACE_ENT']['SKILL_SHOOT_TILL_KILL'] = [1000, 0, 0];
  302.     PRACE['RACE_DRIDER'] = [];
  303.     PRACE['RACE_DRIDER']['SKILL_POLEARM'] = [0, 0, 110];
  304.     PRACE['RACE_DRIDER']['SKILL_DEVICE'] = [0, 0, 110];
  305.     PRACE['RACE_DRIDER']['SKILL_TCONTACT'] = [0, 0, 110];
  306.     PRACE['RACE_DRIDER']['SKILL_CLIMB'] = [0, 40, 0];
  307.     PRACE['RACE_DRIDER']['SKILL_SWIM'] = [0, 60, 0];
  308.     PRACE['RACE_DRIDER']['SKILL_SHOOT_TILL_KILL'] = [1000, 0, 0];
  309.     PRACE['RACE_DRIDER']['SKILL_BREATH'] = [1000, 0, 0];
  310.     PRACE['RACE_KOBOLD'] = [];
  311.     PRACE['RACE_KOBOLD']['SKILL_TRAPPING'] = [0, 0, 110];
  312.     PRACE['RACE_KOBOLD']['SKILL_SNEAKINESS'] = [0, 0, 105];
  313.     PRACE['RACE_KOBOLD']['SKILL_CLIMB'] = [0, 40, 0];
  314.     PRACE['RACE_KOBOLD']['SKILL_SWIM'] = [0, 70, 0];
  315.     PRACE['RACE_KOBOLD']['SKILL_SHOOT_TILL_KILL'] = [1000, 0, 0];
  316.     PRACE['RACE_DARK_ELF'] = [];
  317.     PRACE['RACE_DARK_ELF']['SKILL_BACKSTAB'] = [1000, 0, 110];
  318.     PRACE['RACE_DARK_ELF']['SKILL_STEALTH'] = [0, 0, 110];
  319.     PRACE['RACE_DARK_ELF']['SKILL_DODGE'] = [0, 0, 110];
  320.     PRACE['RACE_DARK_ELF']['SKILL_AGILITY'] = [2000, 0, 110];
  321.     PRACE['RACE_DARK_ELF']['SKILL_SNEAKINESS'] = [2000, 0, 110];
  322.     PRACE['RACE_DARK_ELF']['SKILL_CLIMB'] = [0, 40, 0];
  323.     PRACE['RACE_DARK_ELF']['SKILL_SWIM'] = [0, 50, 0];
  324.     PRACE['RACE_DARK_ELF']['SKILL_SHOOT_TILL_KILL'] = [1000, 0, 0];
  325.     PRACE['RACE_VAMPIRE'] = [];
  326.     PRACE['RACE_VAMPIRE']['SKILL_BLUNT'] = [0, 0, 0];
  327.     PRACE['RACE_VAMPIRE']['SKILL_DIVINATION'] = [0, 0, 75];
  328.     PRACE['RACE_VAMPIRE']['SKILL_WATER'] = [0, 0, 0];
  329.     PRACE['RACE_VAMPIRE']['SKILL_NATURE'] = [0, 0, 0];
  330.     PRACE['RACE_VAMPIRE']['SKILL_HOFFENSE'] = [0, 0, 0];
  331.     PRACE['RACE_VAMPIRE']['SKILL_HDEFENSE'] = [0, 0, 0];
  332.     PRACE['RACE_VAMPIRE']['SKILL_HCURING'] = [0, 0, 0];
  333.     PRACE['RACE_VAMPIRE']['SKILL_HSUPPORT'] = [0, 0, 0];
  334.     PRACE['RACE_VAMPIRE']['SKILL_R_LITE'] = [0, 0, 50];
  335.     PRACE['RACE_VAMPIRE']['SKILL_R_NETH'] = [800, 0, 120];
  336.     PRACE['RACE_VAMPIRE']['SKILL_MIMIC'] = [1000, 0, 0];
  337.     PRACE['RACE_VAMPIRE']['SKILL_ANTIMAGIC'] = [0, 0, 0];
  338.     PRACE['RACE_VAMPIRE']['SKILL_MINTRUSION'] = [0, 0, 110];
  339.     PRACE['RACE_VAMPIRE']['SKILL_NECROMANCY'] = [5000, 0, 115];
  340.     PRACE['RACE_VAMPIRE']['SKILL_TRAUMATURGY'] = [0, 0, 105];
  341.     PRACE['RACE_VAMPIRE']['SKILL_AURA_FEAR'] = [0, 0, 115];
  342.     PRACE['RACE_VAMPIRE']['SKILL_AURA_SHIVER'] = [0, 0, 115];
  343.     PRACE['RACE_VAMPIRE']['SKILL_AURA_DEATH'] = [0, 0, 115];
  344.     PRACE['RACE_VAMPIRE']['SKILL_CLIMB'] = [0, 40, 0];
  345.     PRACE['RACE_VAMPIRE']['SKILL_SWIM'] = [0, 40, 0];
  346.     PRACE['RACE_VAMPIRE']['SKILL_SHOOT_TILL_KILL'] = [1000, 0, 0];
  347.     PRACE['RACE_DIVINE1'] = [];
  348.     PRACE['RACE_DIVINE2'] = [];
  349.     PRACE['RACE_DIVINE1']['SKILL_ASTRAL'] = [1250, 1250, 0];
  350.     PRACE['RACE_DIVINE2']['SKILL_ASTRAL'] = [1250, 1250, 0];
  351.     PRACE['RACE_DIVINE1']['SKILL_HOFFENSE'] = [0, 0, 70*2.1];
  352.     PRACE['RACE_DIVINE2']['SKILL_HOFFENSE'] = [0, 0, -1];
  353.     PRACE['RACE_DIVINE1']['SKILL_HDEFENSE'] = [0, 0, 70*2.1];
  354.     PRACE['RACE_DIVINE2']['SKILL_HDEFENSE'] = [0, 0, -1];
  355.     PRACE['RACE_DIVINE1']['SKILL_HCURING'] = [0, 0, 70*2.1];
  356.     PRACE['RACE_DIVINE2']['SKILL_HCURING'] = [0, 0, -1];
  357.     PRACE['RACE_DIVINE1']['SKILL_HSUPPORT'] = [0, 0, 70*2.1];
  358.     PRACE['RACE_DIVINE2']['SKILL_HSUPPORT'] = [0, 0, -1];
  359.     PRACE['RACE_DIVINE1']['SKILL_SNEAKINESS'] = [0, 0, 110];
  360.     PRACE['RACE_DIVINE2']['SKILL_SNEAKINESS'] = [0, 0, 110];
  361.     PRACE['RACE_DIVINE1']['SKILL_STEALTH'] = [0, 0, 110];
  362.     PRACE['RACE_DIVINE2']['SKILL_STEALTH'] = [0, 0, 110];
  363.     PRACE['RACE_DIVINE1']['SKILL_NECROMANCY'] = [0, 0, -1];
  364.     PRACE['RACE_DIVINE2']['SKILL_NECROMANCY'] = [0, 0, 70*3];
  365.     PRACE['RACE_DIVINE1']['SKILL_TRAUMATURGY'] = [0, 0, -1];
  366.     PRACE['RACE_DIVINE2']['SKILL_TRAUMATURGY'] = [0, 0, 70*3];
  367.     PRACE['RACE_DIVINE1']['SKILL_AURA_FEAR'] = [0, 0, 70*3];
  368.     PRACE['RACE_DIVINE2']['SKILL_AURA_FEAR'] = [0, 0, 70*3];
  369.     PRACE['RACE_DIVINE1']['SKILL_AURA_SHIVER'] = [0, 0, 70*3];
  370.     PRACE['RACE_DIVINE2']['SKILL_AURA_SHIVER'] = [0, 0, 70*3];
  371.     PRACE['RACE_DIVINE1']['SKILL_AURA_DEATH'] = [0, 0, -1];
  372.     PRACE['RACE_DIVINE2']['SKILL_AURA_DEATH'] = [0, 0, 70*3];
  373.     PRACE['RACE_DIVINE1']['SKILL_CLIMB'] = [0, 40, 0];
  374.     PRACE['RACE_DIVINE2']['SKILL_CLIMB'] = [0, 40, 0];
  375.     PRACE['RACE_DIVINE1']['SKILL_SWIM'] = [0, 0, 0];
  376.     PRACE['RACE_DIVINE2']['SKILL_SWIM'] = [0, 0, 0];
  377.     PRACE['RACE_DIVINE1']['SKILL_SHOOT_TILL_KILL'] = [1000, 0, 0];
  378.     PRACE['RACE_DIVINE2']['SKILL_SHOOT_TILL_KILL'] = [1000, 0, 0];
  379.  
  380.     PRACE['RACE_DIVINE1']['SKILL_DIVINATION'] = [0, 0, 170];
  381.     PRACE['RACE_DIVINE1']['SKILL_POLEARM'] = [0, 0, 130];
  382.     PRACE['RACE_DIVINE1']['SKILL_BLUNT'] = [0, 0, 130];
  383.     PRACE['RACE_DIVINE1']['SKILL_SWORD'] = [0, 0, 130];
  384.     PRACE['RACE_DIVINE1']['SKILL_R_LITE'] = [0, 0, 200];
  385.     PRACE['RACE_DIVINE1']['SKILL_R_MANA'] = [0, 0, 200];
  386.  
  387.     PRACE['RACE_DIVINE2']['SKILL_R_DARK'] = [0, 0, 200];
  388.     PRACE['RACE_DIVINE2']['SKILL_R_NETH'] = [0, 0, 200];
  389.     PRACE['RACE_DIVINE2']['SKILL_FIRE'] = [0, 0, 170];
  390.     PRACE['RACE_DIVINE2']['SKILL_AIR'] = [0, 0, 170];
  391.     PRACE['RACE_DIVINE2']['SKILL_CONVEYANCE'] = [0, 0, 170];
  392.     PRACE['RACE_DIVINE2']['SKILL_UDUN'] = [0, 0, 200];
  393.     PRACE['RACE_DIVINE2']['SKILL_MARTIAL_ARTS'] = [0, 0, 130];
  394.     PRACE['RACE_DIVINE2']['SKILL_AXE'] = [0, 0, 130];
  395. }
  396. function initialize_pclass() {
  397.     PCLASS['CLASS_WARRIOR'] = [];
  398.     PCLASS['CLASS_WARRIOR']['SKILL_COMBAT'] = [3000, 2000, 0];
  399.     PCLASS['CLASS_WARRIOR']['SKILL_MASTERY'] = [1000, 1000, 0];
  400.     PCLASS['CLASS_WARRIOR']['SKILL_TECHNIQUE'] = [1000, 0, 0];
  401.     PCLASS['CLASS_WARRIOR']['SKILL_STANCE'] = [1000, 0, 0];
  402.     PCLASS['CLASS_WARRIOR']['SKILL_SWORD'] = [0, 800, 0];
  403.     PCLASS['CLASS_WARRIOR']['SKILL_AXE'] = [0, 800, 0];
  404.     PCLASS['CLASS_WARRIOR']['SKILL_BLUNT'] = [0, 800, 0];
  405.     PCLASS['CLASS_WARRIOR']['SKILL_POLEARM'] = [0, 800, 0];
  406.     PCLASS['CLASS_WARRIOR']['SKILL_BOW'] = [0, 350, 0];
  407.     PCLASS['CLASS_WARRIOR']['SKILL_XBOW'] = [0, 350, 0];
  408.     PCLASS['CLASS_WARRIOR']['SKILL_BOOMERANG'] = [0, 350, 0];
  409.     PCLASS['CLASS_WARRIOR']['SKILL_SLING'] = [0, 300, 0];
  410.     PCLASS['CLASS_WARRIOR']['SKILL_MARTIAL_ARTS'] = [0, 700, 0];
  411.     PCLASS['CLASS_WARRIOR']['SKILL_DEVICE'] = [1000, 600, 0];
  412.     PCLASS['CLASS_WARRIOR']['SKILL_SNEAKINESS'] = [1000, 800, 0];
  413.     PCLASS['CLASS_WARRIOR']['SKILL_STEALTH'] = [1000, 600, 0];
  414.     PCLASS['CLASS_WARRIOR']['SKILL_DISARM'] = [1000, 900, 0];
  415.     PCLASS['CLASS_WARRIOR']['SKILL_DODGE'] = [0, 800, 0];
  416.     PCLASS['CLASS_WARRIOR']['SKILL_NECROMANCY'] = [0, 1000, 0];
  417.     PCLASS['CLASS_WARRIOR']['SKILL_TRAUMATURGY'] = [0, 0, 0];
  418.     PCLASS['CLASS_WARRIOR']['SKILL_AURA_FEAR'] = [0, 1000, 0];
  419.     PCLASS['CLASS_WARRIOR']['SKILL_AURA_SHIVER'] = [0, 1000, 0];
  420.     PCLASS['CLASS_WARRIOR']['SKILL_AURA_DEATH'] = [0, 1000, 0];
  421.     PCLASS['CLASS_WARRIOR']['SKILL_ANTIMAGIC'] = [0, 500, 0];
  422.     PCLASS['CLASS_WARRIOR']['SKILL_HEALTH'] = [2000, 1000, 0];
  423.     PCLASS['CLASS_WARRIOR']['SKILL_SWIM'] = [0, 0, 120];
  424.     PCLASS['CLASS_WARRIOR']['SKILL_DIG'] = [1000, 1200, 0];
  425.     PCLASS['CLASS_WARRIOR']['SKILL_INTERCEPT'] = [1000, 800, 0];
  426.     PCLASS['CLASS_MAGE'] = [];
  427.     PCLASS['CLASS_MAGE']['SKILL_COMBAT'] = [0, 300, 0];
  428.     PCLASS['CLASS_MAGE']['SKILL_MASTERY'] = [0, 150, 0];
  429.     PCLASS['CLASS_MAGE']['SKILL_MAGIC'] = [4000, 1000, 0];
  430.     PCLASS['CLASS_MAGE']['SKILL_DEVICE'] = [1000, 1200, 0];
  431.     PCLASS['CLASS_MAGE']['SKILL_SNEAKINESS'] = [1000, 500, 0];
  432.     PCLASS['CLASS_MAGE']['SKILL_STEALTH'] = [0, 600, 0];
  433.     PCLASS['CLASS_MAGE']['SKILL_DODGE'] = [0, 300, 0];
  434.     PCLASS['CLASS_MAGE']['SKILL_HEALTH'] = [0, 800, 0];
  435.     PCLASS['CLASS_MAGE']['SKILL_CALMNESS'] = [0, 800, 0];
  436.     PCLASS['CLASS_MAGE']['SKILL_DIG'] = [0, 700, 0];
  437.     PCLASS['CLASS_MAGE']['SKILL_SORCERY'] = [0, 205, 0];
  438.     PCLASS['CLASS_MAGE']['SKILL_SPELL'] = [0, 600, 0];
  439.     PCLASS['CLASS_MAGE']['SKILL_MANA'] = [1000, 1900, 0];
  440.     PCLASS['CLASS_MAGE']['SKILL_FIRE'] = [0, 1600, 0];
  441.     PCLASS['CLASS_MAGE']['SKILL_AIR'] = [0, 1600, 0];
  442.     PCLASS['CLASS_MAGE']['SKILL_EARTH'] = [0, 1600, 0];
  443.     PCLASS['CLASS_MAGE']['SKILL_WATER'] = [0, 1600, 0];
  444.     PCLASS['CLASS_MAGE']['SKILL_NATURE'] = [0, 1600, 0];
  445.     PCLASS['CLASS_MAGE']['SKILL_DIVINATION'] = [0, 1600, 0];
  446.     PCLASS['CLASS_MAGE']['SKILL_CONVEYANCE'] = [0, 1600, 0];
  447.     PCLASS['CLASS_MAGE']['SKILL_META'] = [0, 1600, 0];
  448.     PCLASS['CLASS_MAGE']['SKILL_MIND'] = [0, 1600, 0];
  449.     PCLASS['CLASS_MAGE']['SKILL_TEMPORAL'] = [0, 1600, 0];
  450.     PCLASS['CLASS_MAGE']['SKILL_UDUN'] = [0, 1600, 0];
  451.     PCLASS['CLASS_MAGE']['SKILL_NECROMANCY'] = [0, 1000, 0];
  452.     PCLASS['CLASS_MAGE']['SKILL_TRAUMATURGY'] = [0, 1000, 0];
  453.     PCLASS['CLASS_MAGE']['SKILL_AURA_FEAR'] = [0, 1000, 0];
  454.     PCLASS['CLASS_MAGE']['SKILL_AURA_SHIVER'] = [0, 1000, 0];
  455.     PCLASS['CLASS_MAGE']['SKILL_AURA_DEATH'] = [0, 1000, 0];
  456.     PCLASS['CLASS_PRIEST'] = [];
  457.     PCLASS['CLASS_PRIEST']['SKILL_COMBAT'] = [0, 750, 0];
  458.     PCLASS['CLASS_PRIEST']['SKILL_MASTERY'] = [0, 400, 0];
  459.     PCLASS['CLASS_PRIEST']['SKILL_BLUNT'] = [0, 600, 0];
  460.     PCLASS['CLASS_PRIEST']['SKILL_MARTIAL_ARTS'] = [0, 500, 0];
  461.     PCLASS['CLASS_PRIEST']['SKILL_MAGIC'] = [2000, 900, 0];
  462.     PCLASS['CLASS_PRIEST']['SKILL_SPELL'] = [0, 500, 0];
  463.     PCLASS['CLASS_PRIEST']['SKILL_HOFFENSE'] = [0, 1500, 0];
  464.     PCLASS['CLASS_PRIEST']['SKILL_HDEFENSE'] = [1000, 1500, 0];
  465.     PCLASS['CLASS_PRIEST']['SKILL_HCURING'] = [1000, 1700, 0];
  466.     PCLASS['CLASS_PRIEST']['SKILL_HSUPPORT'] = [0, 1500, 0];
  467.     PCLASS['CLASS_PRIEST']['SKILL_DEVICE'] = [1000, 1100, 0];
  468.     PCLASS['CLASS_PRIEST']['SKILL_SNEAKINESS'] = [1000, 600, 0];
  469.     PCLASS['CLASS_PRIEST']['SKILL_STEALTH'] = [0, 500, 0];
  470.     PCLASS['CLASS_PRIEST']['SKILL_DODGE'] = [0, 450, 0];
  471.     PCLASS['CLASS_PRIEST']['SKILL_HEALTH'] = [1000, 1000, 0];
  472.     PCLASS['CLASS_PRIEST']['SKILL_DIG'] = [0, 700, 0];
  473.     PCLASS['CLASS_PRIEST']['SKILL_CALMNESS'] = [0, 900, 0];
  474.     PCLASS['CLASS_PRIEST']['SKILL_INTERCEPT'] = [1000, 500, 0];
  475.     PCLASS['CLASS_ROGUE'] = [];
  476.     PCLASS['CLASS_ROGUE']['SKILL_COMBAT'] = [1000, 1200, 0];
  477.     PCLASS['CLASS_ROGUE']['SKILL_MASTERY'] = [1000, 700, 0];
  478.     PCLASS['CLASS_ROGUE']['SKILL_TECHNIQUE'] = [1000, 0, 0];
  479.     PCLASS['CLASS_ROGUE']['SKILL_SWORD'] = [0, 600, 0];
  480.     PCLASS['CLASS_ROGUE']['SKILL_CRITS'] = [0, 900, 0];
  481.     PCLASS['CLASS_ROGUE']['SKILL_BOW'] = [0, 350, 0];
  482.     PCLASS['CLASS_ROGUE']['SKILL_XBOW'] = [0, 350, 0];
  483.     PCLASS['CLASS_ROGUE']['SKILL_BOOMERANG'] = [0, 500, 0];
  484.     PCLASS['CLASS_ROGUE']['SKILL_SLING'] = [0, 450, 0];
  485.     PCLASS['CLASS_ROGUE']['SKILL_MARTIAL_ARTS'] = [0, 500, 0];
  486.     PCLASS['CLASS_ROGUE']['SKILL_MAGIC'] = [1000, 500, 0];
  487.     PCLASS['CLASS_ROGUE']['SKILL_CONVEYANCE'] = [0, 750, 0];
  488.     PCLASS['CLASS_ROGUE']['SKILL_DIVINATION'] = [0, 750, 0];
  489.     PCLASS['CLASS_ROGUE']['SKILL_AIR'] = [0, 750, 0];
  490.     PCLASS['CLASS_ROGUE']['SKILL_DEVICE'] = [1000, 1000, 0];
  491.     PCLASS['CLASS_ROGUE']['SKILL_NECROMANCY'] = [0, 1000, 0];
  492.     PCLASS['CLASS_ROGUE']['SKILL_TRAUMATURGY'] = [0, 1000, 0];
  493.     PCLASS['CLASS_ROGUE']['SKILL_AURA_FEAR'] = [0, 1000, 0];
  494.     PCLASS['CLASS_ROGUE']['SKILL_AURA_SHIVER'] = [0, 1000, 0];
  495.     PCLASS['CLASS_ROGUE']['SKILL_AURA_DEATH'] = [0, 1000, 0];
  496.     PCLASS['CLASS_ROGUE']['SKILL_SNEAKINESS'] = [1000, 900, 0];
  497.     PCLASS['CLASS_ROGUE']['SKILL_STEALTH'] = [1000, 700, 0];
  498.     PCLASS['CLASS_ROGUE']['SKILL_DISARM'] = [1000, 1200, 0];
  499.     PCLASS['CLASS_ROGUE']['SKILL_TRAPPING'] = [1000, 1000, 0];
  500.     PCLASS['CLASS_ROGUE']['SKILL_STEALING'] = [1000, 1000, 0];
  501.     PCLASS['CLASS_ROGUE']['SKILL_BACKSTAB'] = [1000, 1000, 0];
  502.     PCLASS['CLASS_ROGUE']['SKILL_DODGE'] = [1000, 900, 0];
  503.     PCLASS['CLASS_ROGUE']['SKILL_HEALTH'] = [1000, 1000, 0];
  504.     PCLASS['CLASS_ROGUE']['SKILL_AGILITY'] = [1000, 500, 0];
  505.     PCLASS['CLASS_ROGUE']['SKILL_CALMNESS'] = [0, 800, 0];
  506.     PCLASS['CLASS_ROGUE']['SKILL_SWIM'] = [0, 0, 120];
  507.     PCLASS['CLASS_ROGUE']['SKILL_DIG'] = [0, 1100, 0];
  508.     PCLASS['CLASS_ROGUE']['SKILL_INTERCEPT'] = [1000, 900, 0];
  509.     PCLASS['CLASS_MIMIC'] = [];
  510.     PCLASS['CLASS_MIMIC']['SKILL_COMBAT'] = [3000, 1600, 0];
  511.     PCLASS['CLASS_MIMIC']['SKILL_MASTERY'] = [1000, 800, 0];
  512.     PCLASS['CLASS_MIMIC']['SKILL_TECHNIQUE'] = [1000, 0, 0];
  513.     PCLASS['CLASS_MIMIC']['SKILL_STANCE'] = [1000, 0, 0];
  514.     PCLASS['CLASS_MIMIC']['SKILL_SWORD'] = [0, 630, 0];
  515.     PCLASS['CLASS_MIMIC']['SKILL_AXE'] = [0, 630, 0];
  516.     PCLASS['CLASS_MIMIC']['SKILL_BLUNT'] = [0, 630, 0];
  517.     PCLASS['CLASS_MIMIC']['SKILL_POLEARM'] = [0, 630, 0];
  518.     PCLASS['CLASS_MIMIC']['SKILL_BOW'] = [0, 250, 0];
  519.     PCLASS['CLASS_MIMIC']['SKILL_XBOW'] = [0, 250, 0];
  520.     PCLASS['CLASS_MIMIC']['SKILL_SLING'] = [0, 350, 0];
  521.     PCLASS['CLASS_MIMIC']['SKILL_BOOMERANG'] = [0, 350, 0];
  522.     PCLASS['CLASS_MIMIC']['SKILL_MARTIAL_ARTS'] = [0, 550, 0];
  523.     PCLASS['CLASS_MIMIC']['SKILL_MAGIC'] = [1000, 700, 0];
  524.     PCLASS['CLASS_MIMIC']['SKILL_MIMIC'] = [1000, 900, 0];
  525.     PCLASS['CLASS_MIMIC']['SKILL_DEVICE'] = [1000, 800, 0];
  526.     PCLASS['CLASS_MIMIC']['SKILL_NECROMANCY'] = [0, 1000, 0];
  527.     PCLASS['CLASS_MIMIC']['SKILL_TRAUMATURGY'] = [0, 1000, 0];
  528.     PCLASS['CLASS_MIMIC']['SKILL_AURA_FEAR'] = [0, 1000, 0];
  529.     PCLASS['CLASS_MIMIC']['SKILL_AURA_SHIVER'] = [0, 1000, 0];
  530.     PCLASS['CLASS_MIMIC']['SKILL_AURA_DEATH'] = [0, 1000, 0];
  531.     PCLASS['CLASS_MIMIC']['SKILL_SNEAKINESS'] = [0, 650, 0];
  532.     PCLASS['CLASS_MIMIC']['SKILL_STEALTH'] = [1000, 500, 0];
  533.     PCLASS['CLASS_MIMIC']['SKILL_DISARM'] = [0, 500, 0];
  534.     PCLASS['CLASS_MIMIC']['SKILL_DODGE'] = [0, 500, 0];
  535.     PCLASS['CLASS_MIMIC']['SKILL_INTERCEPT'] = [0, 600, 0];
  536.     PCLASS['CLASS_MIMIC']['SKILL_HEALTH'] = [1000, 900, 0];
  537.     PCLASS['CLASS_MIMIC']['SKILL_DIG'] = [0, 1200, 0];
  538.     PCLASS['CLASS_MIMIC']['SKILL_CALMNESS'] = [0, 600, 0];
  539.     PCLASS['CLASS_ARCHER'] = [];
  540.     PCLASS['CLASS_ARCHER']['SKILL_COMBAT'] = [1000, 1700, 0];
  541.     PCLASS['CLASS_ARCHER']['SKILL_MASTERY'] = [1000, 600, 0];
  542.     PCLASS['CLASS_ARCHER']['SKILL_SWORD'] = [0, 400, 0];
  543.     PCLASS['CLASS_ARCHER']['SKILL_AXE'] = [0, 400, 0];
  544.     PCLASS['CLASS_ARCHER']['SKILL_BLUNT'] = [0, 400, 0];
  545.     PCLASS['CLASS_ARCHER']['SKILL_POLEARM'] = [0, 400, 0];
  546.     PCLASS['CLASS_ARCHER']['SKILL_ARCHERY'] = [2000, 1000, 0];
  547.     PCLASS['CLASS_ARCHER']['SKILL_SLING'] = [0, 800, 0];
  548.     PCLASS['CLASS_ARCHER']['SKILL_BOW'] = [1000, 850, 0];
  549.     PCLASS['CLASS_ARCHER']['SKILL_XBOW'] = [0, 800, 0];
  550.     PCLASS['CLASS_ARCHER']['SKILL_BOOMERANG'] = [0, 700, 0];
  551.     PCLASS['CLASS_ARCHER']['SKILL_DEVICE'] = [1000, 800, 0];
  552.     PCLASS['CLASS_ARCHER']['SKILL_NECROMANCY'] = [0, 1000, 0];
  553.     PCLASS['CLASS_ARCHER']['SKILL_TRAUMATURGY'] = [0, 0, 0];
  554.     PCLASS['CLASS_ARCHER']['SKILL_AURA_FEAR'] = [0, 1000, 0];
  555.     PCLASS['CLASS_ARCHER']['SKILL_AURA_SHIVER'] = [0, 1000, 0];
  556.     PCLASS['CLASS_ARCHER']['SKILL_AURA_DEATH'] = [0, 1000, 0];
  557.     PCLASS['CLASS_ARCHER']['SKILL_SNEAKINESS'] = [1000, 600, 0];
  558.     PCLASS['CLASS_ARCHER']['SKILL_STEALTH'] = [1000, 600, 0];
  559.     PCLASS['CLASS_ARCHER']['SKILL_DISARM'] = [500, 500, 0];
  560.     PCLASS['CLASS_ARCHER']['SKILL_DODGE'] = [0, 700, 0];
  561.     PCLASS['CLASS_ARCHER']['SKILL_ANTIMAGIC'] = [0, 350, 0];
  562.     PCLASS['CLASS_ARCHER']['SKILL_HEALTH'] = [1000, 1000, 0];
  563.     PCLASS['CLASS_ARCHER']['SKILL_DIG'] = [0, 900, 0];
  564.     PCLASS['CLASS_ARCHER']['SKILL_CALMNESS'] = [0, 900, 0];
  565.     PCLASS['CLASS_PALADIN'] = [];
  566.     PCLASS['CLASS_PALADIN']['SKILL_COMBAT'] = [2700, 1400, 0];
  567.     PCLASS['CLASS_PALADIN']['SKILL_MASTERY'] = [1800, 900, 0];
  568.     PCLASS['CLASS_PALADIN']['SKILL_TECHNIQUE'] = [1000, 0, 0];
  569.     PCLASS['CLASS_PALADIN']['SKILL_STANCE'] = [1000, 0, 0];
  570.     PCLASS['CLASS_PALADIN']['SKILL_SWORD'] = [0, 750, 0];
  571.     PCLASS['CLASS_PALADIN']['SKILL_AXE'] = [0, 600, 0];
  572.     PCLASS['CLASS_PALADIN']['SKILL_BLUNT'] = [0, 750, 0];
  573.     PCLASS['CLASS_PALADIN']['SKILL_POLEARM'] = [0, 750, 0];
  574.     PCLASS['CLASS_PALADIN']['SKILL_BOW'] = [0, 300, 0];
  575.     PCLASS['CLASS_PALADIN']['SKILL_XBOW'] = [0, 300, 0];
  576.     PCLASS['CLASS_PALADIN']['SKILL_MARTIAL_ARTS'] = [0, 500, 0];
  577.     PCLASS['CLASS_PALADIN']['SKILL_MAGIC'] = [1000, 800, 0];
  578.     PCLASS['CLASS_PALADIN']['SKILL_SPELL'] = [0, 350, 0];
  579.     PCLASS['CLASS_PALADIN']['SKILL_HOFFENSE'] = [0, 800, 0];
  580.     PCLASS['CLASS_PALADIN']['SKILL_HDEFENSE'] = [1000, 800, 0];
  581.     PCLASS['CLASS_PALADIN']['SKILL_HCURING'] = [0, 700, 0];
  582.     PCLASS['CLASS_PALADIN']['SKILL_HSUPPORT'] = [0, 800, 0];
  583.     PCLASS['CLASS_PALADIN']['SKILL_DEVICE'] = [1000, 1000, 0];
  584.     PCLASS['CLASS_PALADIN']['SKILL_SNEAKINESS'] = [1000, 500, 0];
  585.     PCLASS['CLASS_PALADIN']['SKILL_DISARM'] = [1000, 600, 0];
  586.     PCLASS['CLASS_PALADIN']['SKILL_DODGE'] = [0, 600, 0];
  587.     PCLASS['CLASS_PALADIN']['SKILL_STEALTH'] = [0, 500, 0];
  588.     PCLASS['CLASS_PALADIN']['SKILL_HEALTH'] = [2000, 1000, 0];
  589.     PCLASS['CLASS_PALADIN']['SKILL_DIG'] = [1000, 700, 0];
  590.     PCLASS['CLASS_PALADIN']['SKILL_CALMNESS'] = [0, 600, 0];
  591.     PCLASS['CLASS_PALADIN']['SKILL_INTERCEPT'] = [1000, 800, 0];
  592.     PCLASS['CLASS_RANGER'] = [];
  593.     PCLASS['CLASS_RANGER']['SKILL_COMBAT'] = [1500, 1000, 0];
  594.     PCLASS['CLASS_RANGER']['SKILL_MASTERY'] = [1000, 800, 0];
  595.     PCLASS['CLASS_RANGER']['SKILL_TECHNIQUE'] = [1000, 0, 0];
  596.     PCLASS['CLASS_RANGER']['SKILL_STANCE'] = [1000, 0, 0];
  597.     PCLASS['CLASS_RANGER']['SKILL_SWORD'] = [0, 700, 0];
  598.     PCLASS['CLASS_RANGER']['SKILL_AXE'] = [0, 700, 0];
  599.     PCLASS['CLASS_RANGER']['SKILL_BLUNT'] = [0, 700, 0];
  600.     PCLASS['CLASS_RANGER']['SKILL_POLEARM'] = [0, 700, 0];
  601.     PCLASS['CLASS_RANGER']['SKILL_ARCHERY'] = [1000, 700, 0];
  602.     PCLASS['CLASS_RANGER']['SKILL_SLING'] = [0, 450, 0];
  603.     PCLASS['CLASS_RANGER']['SKILL_BOW'] = [1000, 450, 0];
  604.     PCLASS['CLASS_RANGER']['SKILL_XBOW'] = [0, 450, 0];
  605.     PCLASS['CLASS_RANGER']['SKILL_BOOMERANG'] = [0, 400, 0];
  606.     PCLASS['CLASS_RANGER']['SKILL_MARTIAL_ARTS'] = [0, 500, 0];
  607.     PCLASS['CLASS_RANGER']['SKILL_MAGIC'] = [1000, 700, 0];
  608.     PCLASS['CLASS_RANGER']['SKILL_SPELL'] = [0, 450, 0];
  609.     PCLASS['CLASS_RANGER']['SKILL_MANA'] = [1000, 700, 0];
  610.     PCLASS['CLASS_RANGER']['SKILL_FIRE'] = [0, 900, 0];
  611.     PCLASS['CLASS_RANGER']['SKILL_AIR'] = [0, 900, 0];
  612.     PCLASS['CLASS_RANGER']['SKILL_EARTH'] = [0, 900, 0];
  613.     PCLASS['CLASS_RANGER']['SKILL_WATER'] = [0, 900, 0];
  614.     PCLASS['CLASS_RANGER']['SKILL_NATURE'] = [0, 900, 0];
  615.     PCLASS['CLASS_RANGER']['SKILL_DIVINATION'] = [0, 800, 0];
  616.     PCLASS['CLASS_RANGER']['SKILL_CONVEYANCE'] = [0, 900, 0];
  617.     PCLASS['CLASS_RANGER']['SKILL_META'] = [0, 800, 0];
  618.     PCLASS['CLASS_RANGER']['SKILL_MIND'] = [0, 800, 0];
  619.     PCLASS['CLASS_RANGER']['SKILL_TEMPORAL'] = [0, 700, 0];
  620.     PCLASS['CLASS_RANGER']['SKILL_DEVICE'] = [1000, 1100, 0];
  621.     PCLASS['CLASS_RANGER']['SKILL_SNEAKINESS'] = [1000, 750, 0];
  622.     PCLASS['CLASS_RANGER']['SKILL_DISARM'] = [1000, 900, 0];
  623.     PCLASS['CLASS_RANGER']['SKILL_DODGE'] = [0, 700, 0];
  624.     PCLASS['CLASS_RANGER']['SKILL_STEALTH'] = [0, 600, 0];
  625.     PCLASS['CLASS_RANGER']['SKILL_TRAPPING'] = [1000, 1100, 0];
  626.     PCLASS['CLASS_RANGER']['SKILL_HEALTH'] = [2000, 1000, 0];
  627.     PCLASS['CLASS_RANGER']['SKILL_SWIM'] = [0, 0, 120];
  628.     PCLASS['CLASS_RANGER']['SKILL_DIG'] = [1000, 1200, 0];
  629.     PCLASS['CLASS_RANGER']['SKILL_CALMNESS'] = [0, 700, 0];
  630.     PCLASS['CLASS_RANGER']['SKILL_INTERCEPT'] = [1000, 800, 0];
  631.     PCLASS['CLASS_ADVENTURER'] = [];
  632.     PCLASS['CLASS_ADVENTURER']['SKILL_COMBAT'] = [1000, 900, 0];
  633.     PCLASS['CLASS_ADVENTURER']['SKILL_MASTERY'] = [0, 600, 0];
  634.     PCLASS['CLASS_ADVENTURER']['SKILL_TECHNIQUE'] = [1000, 0, 0];
  635.     PCLASS['CLASS_ADVENTURER']['SKILL_SWORD'] = [0, 550, 0];
  636.     PCLASS['CLASS_ADVENTURER']['SKILL_AXE'] = [0, 600, 0];
  637.     PCLASS['CLASS_ADVENTURER']['SKILL_BLUNT'] = [0, 600, 0];
  638.     PCLASS['CLASS_ADVENTURER']['SKILL_POLEARM'] = [0, 500, 0];
  639.     PCLASS['CLASS_ADVENTURER']['SKILL_SLING'] = [1000, 350, 0];
  640.     PCLASS['CLASS_ADVENTURER']['SKILL_BOW'] = [0, 350, 0];
  641.     PCLASS['CLASS_ADVENTURER']['SKILL_XBOW'] = [0, 350, 0];
  642.     PCLASS['CLASS_ADVENTURER']['SKILL_BOOMERANG'] = [1000, 500, 0];
  643.     PCLASS['CLASS_ADVENTURER']['SKILL_MARTIAL_ARTS'] = [0, 500, 0];
  644.     PCLASS['CLASS_ADVENTURER']['SKILL_MAGIC'] = [0, 600, 0];
  645.     PCLASS['CLASS_ADVENTURER']['SKILL_CONVEYANCE'] = [0, 650, 0];
  646.     PCLASS['CLASS_ADVENTURER']['SKILL_DEVICE'] = [1000, 1100, 0];
  647.     PCLASS['CLASS_ADVENTURER']['SKILL_SPELL'] = [0, 350, 0];
  648.     PCLASS['CLASS_ADVENTURER']['SKILL_MANA'] = [0, 500, 0];
  649.     PCLASS['CLASS_ADVENTURER']['SKILL_FIRE'] = [0, 600, 0];
  650.     PCLASS['CLASS_ADVENTURER']['SKILL_AIR'] = [0, 700, 0];
  651.     PCLASS['CLASS_ADVENTURER']['SKILL_EARTH'] = [0, 700, 0];
  652.     PCLASS['CLASS_ADVENTURER']['SKILL_WATER'] = [0, 700, 0];
  653.     PCLASS['CLASS_ADVENTURER']['SKILL_NATURE'] = [0, 700, 0];
  654.     PCLASS['CLASS_ADVENTURER']['SKILL_DIVINATION'] = [0, 500, 0];
  655.     PCLASS['CLASS_ADVENTURER']['SKILL_META'] = [0, 300, 0];
  656.     PCLASS['CLASS_ADVENTURER']['SKILL_MIND'] = [0, 500, 0];
  657.     PCLASS['CLASS_ADVENTURER']['SKILL_TEMPORAL'] = [0, 400, 0];
  658.     PCLASS['CLASS_ADVENTURER']['SKILL_HOFFENSE'] = [0, 500, 0];
  659.     PCLASS['CLASS_ADVENTURER']['SKILL_HDEFENSE'] = [0, 600, 0];
  660.     PCLASS['CLASS_ADVENTURER']['SKILL_HCURING'] = [0, 600, 0];
  661.     PCLASS['CLASS_ADVENTURER']['SKILL_HSUPPORT'] = [0, 600, 0];
  662.     PCLASS['CLASS_ADVENTURER']['SKILL_DRUID_ARCANE'] = [0, 500, 0];
  663.     PCLASS['CLASS_ADVENTURER']['SKILL_DRUID_PHYSICAL'] = [0, 500, 0];
  664.     PCLASS['CLASS_ADVENTURER']['SKILL_PPOWER'] = [0, 500, 0];
  665.     PCLASS['CLASS_ADVENTURER']['SKILL_TCONTACT'] = [0, 500, 0];
  666.     PCLASS['CLASS_ADVENTURER']['SKILL_MINTRUSION'] = [0, 500, 0];
  667.     PCLASS['CLASS_ADVENTURER']['SKILL_R_LITE'] = [0, 500, 0];
  668.     PCLASS['CLASS_ADVENTURER']['SKILL_R_DARK'] = [0, 500, 0];
  669.     PCLASS['CLASS_ADVENTURER']['SKILL_R_NEXU'] = [0, 500, 0];
  670.     PCLASS['CLASS_ADVENTURER']['SKILL_R_NETH'] = [0, 500, 0];
  671.     PCLASS['CLASS_ADVENTURER']['SKILL_R_CHAO'] = [0, 500, 0];
  672.     PCLASS['CLASS_ADVENTURER']['SKILL_R_MANA'] = [0, 500, 0];
  673.     PCLASS['CLASS_ADVENTURER']['SKILL_MIMIC'] = [0, 400, 0];
  674.     PCLASS['CLASS_ADVENTURER']['SKILL_SNEAKINESS'] = [1000, 800, 0];
  675.     PCLASS['CLASS_ADVENTURER']['SKILL_DISARM'] = [1000, 800, 0];
  676.     PCLASS['CLASS_ADVENTURER']['SKILL_TRAPPING'] = [1000, 900, 0];
  677.     PCLASS['CLASS_ADVENTURER']['SKILL_STEALTH'] = [1000, 600, 0];
  678.     PCLASS['CLASS_ADVENTURER']['SKILL_STEALING'] = [0, 600, 0];
  679.     PCLASS['CLASS_ADVENTURER']['SKILL_DODGE'] = [0, 600, 0];
  680.     PCLASS['CLASS_ADVENTURER']['SKILL_NECROMANCY'] = [0, 1000, 0];
  681.     PCLASS['CLASS_ADVENTURER']['SKILL_TRAUMATURGY'] = [0, 1000, 0];
  682.     PCLASS['CLASS_ADVENTURER']['SKILL_AURA_FEAR'] = [0, 1000, 0];
  683.     PCLASS['CLASS_ADVENTURER']['SKILL_AURA_SHIVER'] = [0, 1000, 0];
  684.     PCLASS['CLASS_ADVENTURER']['SKILL_AURA_DEATH'] = [0, 1000, 0];
  685.     PCLASS['CLASS_ADVENTURER']['SKILL_ANTIMAGIC'] = [0, 500, 0];
  686.     PCLASS['CLASS_ADVENTURER']['SKILL_HEALTH'] = [1000, 1100, 0];
  687.     PCLASS['CLASS_ADVENTURER']['SKILL_SWIM'] = [0, 0, 140];
  688.     PCLASS['CLASS_ADVENTURER']['SKILL_DIG'] = [1000, 1400, 0];
  689.     PCLASS['CLASS_ADVENTURER']['SKILL_CALMNESS'] = [0, 700, 0];
  690.     PCLASS['CLASS_ADVENTURER']['SKILL_INTERCEPT'] = [0, 700, 0];
  691.     PCLASS['CLASS_DRUID'] = [];
  692.     PCLASS['CLASS_DRUID']['SKILL_COMBAT'] = [1000, 1000, 0];
  693.     PCLASS['CLASS_DRUID']['SKILL_TECHNIQUE'] = [1000, 0, 0];
  694.     PCLASS['CLASS_DRUID']['SKILL_SLING'] = [0, 300, 0];
  695.     PCLASS['CLASS_DRUID']['SKILL_BOW'] = [0, 250, 0];
  696.     PCLASS['CLASS_DRUID']['SKILL_XBOW'] = [0, 250, 0];
  697.     PCLASS['CLASS_DRUID']['SKILL_BOOMERANG'] = [0, 350, 0];
  698.     PCLASS['CLASS_DRUID']['SKILL_MARTIAL_ARTS'] = [1000, 650, 0];
  699.     PCLASS['CLASS_DRUID']['SKILL_INTERCEPT'] = [0, 0, 0];
  700.     PCLASS['CLASS_DRUID']['SKILL_MAGIC'] = [1000, 1000, 0];
  701.     PCLASS['CLASS_DRUID']['SKILL_AIR'] = [0, 1000, 0];
  702.     PCLASS['CLASS_DRUID']['SKILL_EARTH'] = [0, 1000, 0];
  703.     PCLASS['CLASS_DRUID']['SKILL_WATER'] = [0, 1000, 0];
  704.     PCLASS['CLASS_DRUID']['SKILL_NATURE'] = [0, 1100, 0];
  705.     PCLASS['CLASS_DRUID']['SKILL_DRUID_ARCANE'] = [1000, 1200, 0];
  706.     PCLASS['CLASS_DRUID']['SKILL_DRUID_PHYSICAL'] = [1000, 1200, 0];
  707.     PCLASS['CLASS_DRUID']['SKILL_MIMIC'] = [1000, 0, 0];
  708.     PCLASS['CLASS_DRUID']['SKILL_DEVICE'] = [1000, 1100, 0];
  709.     PCLASS['CLASS_DRUID']['SKILL_SNEAKINESS'] = [1000, 600, 0];
  710.     PCLASS['CLASS_DRUID']['SKILL_DISARM'] = [0, 600, 0];
  711.     PCLASS['CLASS_DRUID']['SKILL_DODGE'] = [0, 500, 0];
  712.     PCLASS['CLASS_DRUID']['SKILL_STEALTH'] = [0, 600, 0];
  713.     PCLASS['CLASS_DRUID']['SKILL_CALMNESS'] = [0, 800, 0];
  714.     PCLASS['CLASS_DRUID']['SKILL_HEALTH'] = [2000, 1100, 0];
  715.     PCLASS['CLASS_DRUID']['SKILL_SWIM'] = [0, 0, 120];
  716.     PCLASS['CLASS_DRUID']['SKILL_DIG'] = [1000, 1200, 0];
  717.     PCLASS['CLASS_SHAMAN'] = [];
  718.     PCLASS['CLASS_SHAMAN']['SKILL_AXE'] = [0, 400, 0];
  719.     PCLASS['CLASS_SHAMAN']['SKILL_BLUNT'] = [0, 400, 0];
  720.     PCLASS['CLASS_SHAMAN']['SKILL_POLEARM'] = [0, 400, 0];
  721.     PCLASS['CLASS_SHAMAN']['SKILL_MARTIAL_ARTS'] = [0, 400, 0];
  722.     PCLASS['CLASS_SHAMAN']['SKILL_COMBAT'] = [0, 300, 0];
  723.     PCLASS['CLASS_SHAMAN']['SKILL_MASTERY'] = [0, 150, 0];
  724.     PCLASS['CLASS_SHAMAN']['SKILL_MAGIC'] = [2000, 600, 0];
  725.     PCLASS['CLASS_SHAMAN']['SKILL_CONVEYANCE'] = [1000, 1000, 0];
  726.     PCLASS['CLASS_SHAMAN']['SKILL_DEVICE'] = [0, 500, 0];
  727.     PCLASS['CLASS_SHAMAN']['SKILL_SPELL'] = [0, 500, 0];
  728.     PCLASS['CLASS_SHAMAN']['SKILL_MANA'] = [1000, 1000, 0];
  729.     PCLASS['CLASS_SHAMAN']['SKILL_FIRE'] = [0, 1000, 0];
  730.     PCLASS['CLASS_SHAMAN']['SKILL_AIR'] = [0, 1000, 0];
  731.     PCLASS['CLASS_SHAMAN']['SKILL_EARTH'] = [0, 1000, 0];
  732.     PCLASS['CLASS_SHAMAN']['SKILL_WATER'] = [0, 1000, 0];
  733.     PCLASS['CLASS_SHAMAN']['SKILL_NATURE'] = [0, 1000, 0];
  734.     PCLASS['CLASS_SHAMAN']['SKILL_DIVINATION'] = [0, 1000, 0];
  735.     PCLASS['CLASS_SHAMAN']['SKILL_UDUN'] = [0, 900, 0];
  736.     PCLASS['CLASS_SHAMAN']['SKILL_META'] = [0, 500, 0];
  737.     PCLASS['CLASS_SHAMAN']['SKILL_MIND'] = [0, 1000, 0];
  738.     PCLASS['CLASS_SHAMAN']['SKILL_HOFFENSE'] = [1000, 900, 0];
  739.     PCLASS['CLASS_SHAMAN']['SKILL_HDEFENSE'] = [0, 900, 0];
  740.     PCLASS['CLASS_SHAMAN']['SKILL_HCURING'] = [0, 900, 0];
  741.     PCLASS['CLASS_SHAMAN']['SKILL_HSUPPORT'] = [0, 900, 0];
  742.     PCLASS['CLASS_SHAMAN']['SKILL_MIMIC'] = [1000, 800, 0];
  743.     PCLASS['CLASS_SHAMAN']['SKILL_SNEAKINESS'] = [0, 400, 0];
  744.     PCLASS['CLASS_SHAMAN']['SKILL_STEALTH'] = [1000, 600, 0];
  745.     PCLASS['CLASS_SHAMAN']['SKILL_NECROMANCY'] = [0, 1500, 0];
  746.     PCLASS['CLASS_SHAMAN']['SKILL_TRAUMATURGY'] = [0, 1500, 0];
  747.     PCLASS['CLASS_SHAMAN']['SKILL_AURA_FEAR'] = [0, 1500, 0];
  748.     PCLASS['CLASS_SHAMAN']['SKILL_AURA_SHIVER'] = [0, 1500, 0];
  749.     PCLASS['CLASS_SHAMAN']['SKILL_AURA_DEATH'] = [0, 1500, 0];
  750.     PCLASS['CLASS_SHAMAN']['SKILL_HEALTH'] = [1000, 1000, 0];
  751.     PCLASS['CLASS_SHAMAN']['SKILL_DIG'] = [1000, 1000, 0];
  752.     PCLASS['CLASS_SHAMAN']['SKILL_CALMNESS'] = [0, 900, 0];
  753.     PCLASS['CLASS_SHAMAN']['SKILL_INTERCEPT'] = [0, 500, 0];
  754.     PCLASS['CLASS_RUNEMASTER'] = [];
  755.     PCLASS['CLASS_RUNEMASTER']['SKILL_COMBAT'] = [0, 1000, 0];
  756.     PCLASS['CLASS_RUNEMASTER']['SKILL_TECHNIQUE'] = [1000, 0, 0];
  757.     PCLASS['CLASS_RUNEMASTER']['SKILL_SWORD'] = [0, 900, 0];
  758.     PCLASS['CLASS_RUNEMASTER']['SKILL_CRITS'] = [0, 400, 0];
  759.     PCLASS['CLASS_RUNEMASTER']['SKILL_AXE'] = [0, 800, 0];
  760.     PCLASS['CLASS_RUNEMASTER']['SKILL_BLUNT'] = [0, 800, 0];
  761.     PCLASS['CLASS_RUNEMASTER']['SKILL_POLEARM'] = [0, 800, 0];
  762.     PCLASS['CLASS_RUNEMASTER']['SKILL_BOOMERANG'] = [0, 1000, 0];
  763.     PCLASS['CLASS_RUNEMASTER']['SKILL_MAGIC'] = [3000, 1000, 0];
  764.     PCLASS['CLASS_RUNEMASTER']['SKILL_SNEAKINESS'] = [1000, 600, 0];
  765.     PCLASS['CLASS_RUNEMASTER']['SKILL_STEALTH'] = [1000, 600, 0];
  766.     PCLASS['CLASS_RUNEMASTER']['SKILL_STEALING'] = [0, 700, 0];
  767.     PCLASS['CLASS_RUNEMASTER']['SKILL_BACKSTAB'] = [0, 700, 0];
  768.     PCLASS['CLASS_RUNEMASTER']['SKILL_DODGE'] = [0, 700, 0];
  769.     PCLASS['CLASS_RUNEMASTER']['SKILL_CALMNESS'] = [0, 1000, 0];
  770.     PCLASS['CLASS_RUNEMASTER']['SKILL_INTERCEPT'] = [0, 1000, 0];
  771.     PCLASS['CLASS_RUNEMASTER']['SKILL_R_LITE'] = [0, 1000, 0];
  772.     PCLASS['CLASS_RUNEMASTER']['SKILL_R_DARK'] = [0, 1000, 0];
  773.     PCLASS['CLASS_RUNEMASTER']['SKILL_R_NEXU'] = [0, 1000, 0];
  774.     PCLASS['CLASS_RUNEMASTER']['SKILL_R_NETH'] = [0, 1000, 0];
  775.     PCLASS['CLASS_RUNEMASTER']['SKILL_R_CHAO'] = [0, 1000, 0];
  776.     PCLASS['CLASS_RUNEMASTER']['SKILL_R_MANA'] = [0, 1000, 0];
  777.     PCLASS['CLASS_RUNEMASTER']['SKILL_NECROMANCY'] = [0, 1000, 0];
  778.     PCLASS['CLASS_RUNEMASTER']['SKILL_TRAUMATURGY'] = [0, 1000, 0];
  779.     PCLASS['CLASS_RUNEMASTER']['SKILL_AURA_FEAR'] = [0, 1000, 0];
  780.     PCLASS['CLASS_RUNEMASTER']['SKILL_AURA_SHIVER'] = [0, 1000, 0];
  781.     PCLASS['CLASS_RUNEMASTER']['SKILL_AURA_DEATH'] = [0, 1000, 0];
  782.     PCLASS['CLASS_RUNEMASTER']['SKILL_HEALTH'] = [1000, 1000, 0];
  783.     PCLASS['CLASS_RUNEMASTER']['SKILL_SWIM'] = [0, 0, 110];
  784.     PCLASS['CLASS_RUNEMASTER']['SKILL_DIG'] = [1000, 1600, 0];
  785.     PCLASS['CLASS_MINDCRAFTER'] = [];
  786.     PCLASS['CLASS_MINDCRAFTER']['SKILL_COMBAT'] = [1000, 1000, 0];
  787.     PCLASS['CLASS_MINDCRAFTER']['SKILL_MASTERY'] = [1000, 800, 0];
  788.     PCLASS['CLASS_MINDCRAFTER']['SKILL_TECHNIQUE'] = [1000, 0, 0];
  789.     PCLASS['CLASS_MINDCRAFTER']['SKILL_SWORD'] = [0, 750, 0];
  790.     PCLASS['CLASS_MINDCRAFTER']['SKILL_AXE'] = [0, 700, 0];
  791.     PCLASS['CLASS_MINDCRAFTER']['SKILL_BLUNT'] = [0, 750, 0];
  792.     PCLASS['CLASS_MINDCRAFTER']['SKILL_POLEARM'] = [0, 750, 0];
  793.     PCLASS['CLASS_MINDCRAFTER']['SKILL_MARTIAL_ARTS'] = [0, 700, 0];
  794.     PCLASS['CLASS_MINDCRAFTER']['SKILL_SLING'] = [1000, 250, 0];
  795.     PCLASS['CLASS_MINDCRAFTER']['SKILL_XBOW'] = [0, 300, 0];
  796.     PCLASS['CLASS_MINDCRAFTER']['SKILL_BOOMERANG'] = [1000, 250, 0];
  797.     PCLASS['CLASS_MINDCRAFTER']['SKILL_MAGIC'] = [1000, 800, 0];
  798.     PCLASS['CLASS_MINDCRAFTER']['SKILL_DEVICE'] = [0, 700, 0];
  799.     PCLASS['CLASS_MINDCRAFTER']['SKILL_PPOWER'] = [0, 1500, 0];
  800.     PCLASS['CLASS_MINDCRAFTER']['SKILL_TCONTACT'] = [0, 1500, 0];
  801.     PCLASS['CLASS_MINDCRAFTER']['SKILL_MINTRUSION'] = [1000, 1500, 0];
  802.     PCLASS['CLASS_MINDCRAFTER']['SKILL_SNEAKINESS'] = [1000, 700, 0];
  803.     PCLASS['CLASS_MINDCRAFTER']['SKILL_STEALTH'] = [1000, 700, 0];
  804.     PCLASS['CLASS_MINDCRAFTER']['SKILL_DISARM'] = [0, 700, 0];
  805.     PCLASS['CLASS_MINDCRAFTER']['SKILL_DODGE'] = [0, 400, 0];
  806.     PCLASS['CLASS_MINDCRAFTER']['SKILL_CALMNESS'] = [0, 1500, 0];
  807.     PCLASS['CLASS_MINDCRAFTER']['SKILL_INTERCEPT'] = [0, 500, 0];
  808.     PCLASS['CLASS_MINDCRAFTER']['SKILL_NECROMANCY'] = [0, 700, 0];
  809.     PCLASS['CLASS_MINDCRAFTER']['SKILL_TRAUMATURGY'] = [0, 800, 0];
  810.     PCLASS['CLASS_MINDCRAFTER']['SKILL_AURA_FEAR'] = [0, 1000, 0];
  811.     PCLASS['CLASS_MINDCRAFTER']['SKILL_AURA_SHIVER'] = [0, 1000, 0];
  812.     PCLASS['CLASS_MINDCRAFTER']['SKILL_AURA_DEATH'] = [0, 900, 0];
  813.     PCLASS['CLASS_MINDCRAFTER']['SKILL_HEALTH'] = [1000, 1000, 0];
  814.     PCLASS['CLASS_MINDCRAFTER']['SKILL_DIG'] = [1000, 900, 0];
  815. }
  816.  
  817.  
  818. var prev_prace = -1; var prev_pclass = -1;
  819.  
  820. function refresh(force) {
  821.     if (!force && prev_prace == $('#race').val() && prev_pclass == $('#class').val()) return;
  822.  
  823.     if ($('#race').val() == "RACE_DIVINE") {
  824.  
  825.     } else {
  826.     }
  827.     var prace = $('#race').val();
  828.     var pclass = $('#class').val();
  829.  
  830.     prev_prace = prace;
  831.     prev_pclass = pclass;
  832.  
  833.     for (var skill in SKILLS) {
  834.         var race_val = 0;
  835.         var race_mod = 0;
  836.         var race_x = 0;
  837.         var undef = 0;
  838.         if (typeof(PRACE[prace][skill]) != 'undefined') {
  839.             race_x = PRACE[prace][skill][2];
  840.             if (race_x == -1) {
  841.                 race_val = 0;
  842.                 race_mod = 0;
  843.             } else {
  844.                 race_x = race_x/100;
  845.                 race_val = PRACE[prace][skill][0];
  846.                 race_mod = PRACE[prace][skill][1];
  847.             }
  848.         } else {
  849.             undef = 1;
  850.         }
  851.         if (race_x == 0) race_x = 1;
  852.         if (prace == 'RACE_VAMPIRE' && skill == 'SKILL_ANTIMAGIC') race_x = 0;
  853.         if (prace == 'RACE_VAMPIRE' && skill == 'SKILL_BLUNT') race_x = 0;
  854.         var class_val = 0;
  855.         var class_mod = 0;
  856.         var class_x = 0;
  857.         if (typeof(PCLASS[pclass][skill]) != 'undefined') {
  858.             class_x = PCLASS[pclass][skill][2];
  859.             if (class_x == -1) {
  860.                 class_val = 0;
  861.                 class_mod = 0;
  862.             } else {
  863.                 class_x = class_x/100;
  864.                 class_val = PCLASS[pclass][skill][0];
  865.                 class_mod = PCLASS[pclass][skill][1];
  866.             }
  867.             undef = 0;
  868.         }
  869.        
  870.         if (class_x == 0) class_x = 1;
  871.  
  872.         if (undef || (race_mod == 0 && class_mod == 0) || race_x == -1 || class_x == -1) {
  873.             TREE_BASE[skill] = 0;
  874.             TREE_MOD[skill] = 0;
  875.  
  876.             $('#'+skill).css('background', 'darkgrey');
  877.             $('#'+skill).css('display', 'none');
  878.             if (skill == "SKILL_ARCHERY") {
  879.                 if ($('#class').val() != "CLASS_MAGE" &&
  880.                     $('#class').val() != "CLASS_PRIEST" ) {
  881.                     $('#'+skill).css('background', 'darkgrey');
  882.                     $('#'+skill).css('display', 'inline-block');
  883.                 }
  884.             }
  885.         } else {
  886.             TREE_BASE[skill] = Math.round(race_val + class_val);
  887.             TREE_MOD[skill] = Math.round((race_mod + class_mod) * class_x * race_x);
  888.             if ($('#race').val() == 'RACE_DIVINE1' ||
  889.                 $('#race').val() == 'RACE_DIVINE2')
  890.                 if(TREE_MOD[skill] > 2000)
  891.                     TREE_MOD[skill] = 2000;
  892.  
  893.             if (race_x > 1.0) {
  894.                 $('#'+skill+'_MOD').css('background', 'lightgreen');
  895.             } else if (race_x < 1.0) {
  896.                 $('#'+skill+'_MOD').css('background', 'khaki');
  897.             } else {
  898.                 $('#'+skill+'_MOD').css('background', 'white');
  899.             }
  900.  
  901.             if (race_val > 0.0) {
  902.                 $('#'+skill+'_VAL').css('background', 'lightgreen');
  903.             } else if (race_val < 0.0) {
  904.                 $('#'+skill+'_VAL').css('background', 'khaki');
  905.             } else {
  906.                 $('#'+skill+'_VAL').css('background', 'white');
  907.             }
  908.  
  909.             $('#'+skill).css('background', 'white');
  910.             $('#'+skill).css('display', 'inline');
  911.         }
  912.         TREE_SPENT[skill] = 0;
  913.  
  914.         TREE_CHILDREN[skill] = 0;
  915.  
  916.         TREE_TOTAL[skill] = TREE_SPENT[skill] * TREE_MOD[skill] + TREE_BASE[skill];
  917.  
  918.         var T = TREE_TOTAL[skill]; if (T > 50000) T = 50000;
  919.         $('#'+skill+'_VAL').html((T/1000).toFixed(3) + "<input class=\"noborder\" id= \"" + skill + "_INPUT\" type=\"number\" onchange=\"javascript:set_skill('" + skill + "')\" value=\"" + TREE_SPENT[skill] + "\" min=\"0\" max=\"999\"  autocomplete=\"off\">");
  920.         $('#'+skill+'_MOD').html((TREE_MOD[skill]/1000).toFixed(3));
  921.        
  922.         skill_points_used = 0;
  923.         update();
  924.     }
  925. }
  926. function v(s) {
  927.     return TREE_TOTAL['SKILL_'+s];
  928. }
  929. function summarize(t) {
  930.     var my_t = '';
  931.     var s = '';
  932.     if (t != '')  {
  933.         my_t = '<table><tr class="nc"><td>skill</td><td>spent</td><td>total</td></tr>';
  934.         my_t += t;
  935.         my_t += '</table>';
  936.     }
  937.  
  938.     if (v('CLIMB') == 1000) {
  939.         my_t += '<p>(Climb) You can climb mountains</p>';
  940.     }
  941.     if (v('SWIM') == 1000) {
  942.         my_t += '<p>(Swim) You can swim</p>';
  943.     }
  944.     s = 'MARTIAL_ARTS';
  945.     if (v(s) >= 1000) {
  946.         var bpr = 1;
  947.         my_t += '<p><ul>Martial Arts bonus(es):<ul>';
  948.         if (v(s) >= 10000) {
  949.             my_t += '<li>Levitation</li>';
  950.             bpr++;
  951.         }
  952.         if (v(s) >= 15000) {
  953.             my_t += '<li>Fearless</li>';
  954.             bpr++;
  955.         }
  956.         if (v(s) >= 20000) {
  957.             my_t += '<li>Confusion Resistance</li>';
  958.             bpr++;
  959.         }
  960.         if (v(s) >= 25000) {
  961.             my_t += '<li>Free Action</li>';
  962.         }
  963.         if (v(s) >= 30000) {
  964.             my_t += '<li>Swimming ability</li>';
  965.             bpr++;
  966.         }
  967.         if (v(s) >= 40000) {
  968.             my_t += '<li>Climbing ability</li>';
  969.             bpr++;
  970.         }
  971.         if (v(s) >= 45000) {
  972.             bpr++;
  973.         }
  974.         if (v(s) >= 50000) {
  975.             my_t += '<li>Flight</li>';
  976.             bpr++
  977.         }
  978.         my_t += '<li>'+bpr+' extra blows per round</li>';
  979.         my_t += '</ul></p>';
  980.     }
  981.     s = 'EARTH';
  982.     if (v(s) >= 30000) {
  983.         my_t += '<p>(Earth) You resist shards</p>';
  984.     }
  985.     if (v(s) >= 45000) {
  986.         my_t += '<p>(Earth) You resist earthquakes</p>';
  987.     }
  988.  
  989.     s = 'AIR';
  990.     if (v(s) >= 30000) {
  991.         my_t += '<p>(Air) You land gently</p>';
  992.     }
  993.     if (v(s) >= 40000) {
  994.         my_t += '<p>(Air) You resist poison</p>';
  995.     }
  996.     if (v(s) >= 50000) {
  997.         my_t += '<p>(Air) You can fly</p>';
  998.     }
  999.  
  1000.     s = 'WATER';
  1001.     if (v(s) >= 50000) {
  1002.         my_t += '<p>(Water) You are immune to water</p>';
  1003.     } else if (v(s) >= 30000) {
  1004.         my_t += '<p>(Water) You resist water</p>';
  1005.     }
  1006.     if (v(s) >= 40000) {
  1007.         my_t += '<p>(Water) You can swim</p>';
  1008.     }
  1009.    
  1010.     s = 'FIRE';
  1011.     if (v(s) >= 50000) {
  1012.         my_t += '<p>(Fire) You are immune to fire</p>';
  1013.     } else if (v(s) >= 30000) {
  1014.         my_t += '<p>(Fire) You resist fire</p>';
  1015.     }
  1016.  
  1017.     if (v('MANA') >= 40000) {
  1018.         my_t += '<p>(Mana) You resist magical attacks</p>';
  1019.     }
  1020.  
  1021.     if (v('CONVEYANCE') >= 30000) {
  1022.         my_t += '<p>(Conveyance) You resist teleportation attacks</p>';
  1023.     }
  1024.  
  1025.     if (v('DIVINATION') >= 50000) {
  1026.         my_t += '<p>(Divination) You can identify objects easily</p>';
  1027.     }
  1028.  
  1029.     s = 'NATURE';
  1030.     if (v(s) >= 30000) {
  1031.         my_t += '<p>(Nature) You regenerate health faster</p>';
  1032.         my_t += '<p>(Nature) You can pass through trees</p>';
  1033.     }
  1034.     if (v(s) >= 40000) {
  1035.         my_t += '<p>(Nature) You can swim</p>';
  1036.     }
  1037.  
  1038.     s = 'MIND';
  1039.     if (v(s) >= 30000) {
  1040.         my_t += '<p>(Mind) You feel strong against confusion and hallucinations</p>';
  1041.     }
  1042.     if (v(s) >= 40000) {
  1043.         my_t += '<p>(Mind) You have a hold to your sanity</p>';
  1044.     } else if (v(s) >= 50000) {
  1045.         my_t += '<p>(Mind) You have a stronger hold to your sanity</p>';
  1046.     }
  1047.  
  1048.     if (v('TEMPORAL') >= 50000) {
  1049.         my_t += '<p>(Temporal) You resist time</p>';
  1050.     }
  1051.  
  1052.     s = 'UDUN';
  1053.     if (v(s) >= 30000) {
  1054.         my_t += '<p>(Udun) You resist teleportation attacks</p>';
  1055.     }
  1056.     if (v(s) >= 40000) {
  1057.         my_t += '<p>(Udun) You have a strong hold on your life force</p>';
  1058.     }
  1059.  
  1060.     s = 'HOFFENSE';
  1061.     if (v(s) >= 50000) {
  1062.         my_t += '<p>(H. Offense) You do extra damage to evil</p>';
  1063.     } else {
  1064.         if (v(s) >= 30000) {
  1065.             my_t += '<p>(H. Offense) You do extra damage to undeads</p>';
  1066.         }
  1067.         if (v(s) >= 40000) {
  1068.             my_t += '<p>(H. Offense) You do extra damage to demons</p>';
  1069.         }
  1070.     }
  1071.  
  1072.     s = 'HDEFENSE';
  1073.     if (v(s) >= 50000) {
  1074.         my_t += '<p>(H. Defense) You are protected against evil</p>';
  1075.     } else {
  1076.         if (v(s) >= 30000) {
  1077.             my_t += '<p>(H. Defense) You are protected against undeads</p>';
  1078.         }
  1079.         if (v(s) >= 40000) {
  1080.             my_t += '<p>(H. Defense) You are protected against demons</p>';
  1081.         }
  1082.     }
  1083.  
  1084.     s = 'HCURING';
  1085.     if (v(s) >= 30000) {
  1086.         my_t += '<p>(H. Curing) You resist blindness and poison</p>';
  1087.     }
  1088.     if (v(s) >= 40000) {
  1089.         my_t += '<p>(H. Curing) You resist stuns and cuts</p>';
  1090.     }
  1091.     if (v(s) >= 50000) {
  1092.         my_t += '<p>(H. Curing) You resist black breath and hallucinations</p>';
  1093.     }
  1094.  
  1095.     s = 'HSUPPORT';
  1096.     if (v(s) >= 40000) {
  1097.         my_t += '<p>(H. Support) You do not require food</p>';
  1098.     }
  1099.     if (v(s) >= 50000) {
  1100.         my_t += '<p>(H. Support) You are immune to ancient curses</p>';
  1101.     }
  1102.  
  1103.     s = 'SWORD';
  1104.     if (v(s) >= 50000) {
  1105.         my_t += '<p>(Sword) You have 2 extra blows per round</p>';
  1106.     } else if (v(s) >= 25000) {
  1107.         my_t += '<p>(Sword) You have an extra blow per round</p>';
  1108.     }
  1109.  
  1110.     s = 'BLUNT';
  1111.     if (v(s) >= 50000) {
  1112.         my_t += '<p>(Blunt) You have 2 extra blows per round</p>';
  1113.     } else if (v(s) >= 25000) {
  1114.         my_t += '<p>(Blunt) You have an extra blow per round</p>';
  1115.     }
  1116.  
  1117.     s = 'AXE';
  1118.     if (v(s) >= 50000) {
  1119.         my_t += '<p>(Axe) You have 2 extra blows per round</p>';
  1120.     } else if (v(s) >= 25000) {
  1121.         my_t += '<p>(Axe) You have an extra blow per round</p>';
  1122.     }
  1123.  
  1124.     s = 'POLEARM';
  1125.     if (v(s) >= 50000) {
  1126.         my_t += '<p>(Polearm) You have 2 extra blows per round</p>';
  1127.     } else if (v(s) >= 25000) {
  1128.         my_t += '<p>(Polearm) You have an extra blow per round</p>';
  1129.     }
  1130.  
  1131.     if (v('ARCHERY') >= 50000) {
  1132.         my_t += '<p>(Archery) Your shots gain an extra power per shot</p>';
  1133.     }
  1134.  
  1135.     s = 'BOW';
  1136.     if (v(s) >= 50000) {
  1137.         my_t += '<p>(Bow) You have four extra shots per round</p>';
  1138.     } else if (v(s) >= 37500) {
  1139.         my_t += '<p>(Bow) You have three extra shots per round</p>';
  1140.     } else if (v(s) >= 25000) {
  1141.         my_t += '<p>(Bow) You have two extra shots per round</p>';
  1142.     } else if (v(s) >= 12500) {
  1143.         my_t += '<p>(Bow) You have an extra shot per round</p>';
  1144.     }
  1145.  
  1146.     s = 'SLING';
  1147.     if (v(s) >= 50000) {
  1148.         my_t += '<p>(Sling) You have five extra shots per round</p>';
  1149.     } else if (v(s) >= 40000) {
  1150.         my_t += '<p>(Sling) You have four extra shots per round</p>';
  1151.     } else if (v(s) >= 30000) {
  1152.         my_t += '<p>(Sling) You have three extra shots per round</p>';
  1153.     } else if (v(s) >= 20000) {
  1154.         my_t += '<p>(Sling) You have two extra shots per round</p>';
  1155.     } else if (v(s) >= 10000) {
  1156.         my_t += '<p>(Sling) You have an extra shot per round</p>';
  1157.     }
  1158.  
  1159.     s = 'XBOW';
  1160.     if (v(s) >= 50000) {
  1161.         my_t += '<p>(Crossbow) You have two extra shots with double the power per round</p>';
  1162.     } else if (v(s) >= 25000) {
  1163.         my_t += '<p>(Crossbow) You have an extra shot with extra power per round</p>';
  1164.     }
  1165.    
  1166.     s = 'BOOMERANG';
  1167.     if (v(s) >= 50000) {
  1168.         my_t += '<p>(Boomerang) You have three extra shots per round</p>';
  1169.     } else if (v(s) >= 33300) {
  1170.         my_t += '<p>(Boomerang) You have two extra shots per round</p>';
  1171.     } else if (v(s) >= 16600) {
  1172.         my_t += '<p>(Boomerang) You have an extra shot per round</p>';
  1173.     }
  1174.  
  1175.  
  1176.  
  1177.     $('#summary').html(my_t);
  1178. }
  1179. function parse_build() {
  1180.     if (has_parse == 1) return;
  1181.     try {
  1182.  
  1183.         var build=location.href.match(/\?b=(.*)$/)[1];
  1184.         var URL = build.split("|");
  1185.         var MY_RACE = URL[0];
  1186.         var MY_CLASS = URL[1];
  1187.         var MY_BUILD = URL[2].substring(1);
  1188.  
  1189.  
  1190.         $('#race').val(RACES[MY_RACE]);
  1191.         $('#class').val(CLASSES[MY_CLASS]);
  1192.         refresh();
  1193.  
  1194.         var c_index = 0; var c_0 = 0; var current = 0;
  1195.         for (var skill in SKILLS) {
  1196.             if (c_0-- > 1) continue;
  1197.             if (c_index >= MY_BUILD.length) break;
  1198.            
  1199.             current = MY_BUILD.substring(c_index, 2 + c_index);
  1200.             c_index+=2;
  1201.  
  1202.             if (current.charAt(0) == '-') {
  1203.                 do {
  1204.                     current = current + '' + MY_BUILD.substring(c_index, 1 + c_index);
  1205.                 } while(MY_BUILD.charAt(c_index++) != '-');
  1206.                 c_0 = parseInt(current.substring(1, current.length-1), 10);
  1207.             } else {
  1208.                 var t = parseInt(current,32);
  1209.                 while (t > 0 && increase(skill, true)) t--;  
  1210.             }
  1211.         }
  1212.     } catch(err) { }
  1213.     update();
  1214.     has_parse = 1;
  1215. }
  1216. function update_build() {
  1217.     var i;
  1218.     for (i = 0; i < RACES.length; i++) {
  1219.         if (RACES[i] == $('#race').val())
  1220.             break;
  1221.     }
  1222.     build = i + '|';
  1223.     for (i = 0; i < CLASSES.length; i++) {
  1224.         if (CLASSES[i] == $('#class').val())
  1225.             break;
  1226.     }
  1227.     build += i + '|';
  1228.  
  1229.     var num = '1';
  1230.  
  1231.     var prev_0 = 0;
  1232.     for (var skill in SKILLS) {
  1233.         var x = Number(TREE_SPENT[skill]).toString(32);
  1234.         if (x != 0) {
  1235.             if (x.length == 1) x = '0' + x;
  1236.  
  1237.             if (prev_0 > 0) {
  1238.                 num = num + '-' + prev_0 + '-';
  1239.                 prev_0 = 0;
  1240.             }
  1241.             num = num + '' + x;
  1242.         } else {
  1243.             prev_0 ++;
  1244.         }
  1245.     }
  1246.     try {
  1247.         window.history.pushState({},
  1248.           'tomenet.ielf.org - Generic Skill Builder',
  1249.           'skill_builder.php?b=' + build+num);
  1250.     } catch(err){ }
  1251. }
  1252. function min(a, b) { if (a < b) return a; return b; }
  1253.  
  1254. function update() {
  1255.     if (has_parse == 1) {
  1256.         update_build();
  1257.     }
  1258.     var max_skill = 0; var off = "";
  1259.     var t = "";
  1260.     for (var skill in SKILLS) {
  1261.         var T = min(50000, TREE_MOD[skill] * TREE_SPENT[skill] + TREE_BASE[skill]);
  1262.         if (TREE_SPENT[skill] > 0) {
  1263.             t += "<tr><td>" + skill + "</td><td>" + TREE_SPENT[skill] + "</td><td>" + min(50, (TREE_TOTAL[skill]/1000)).toFixed(3) + "</td></tr>";
  1264.  
  1265.             if (TREE_MOD[skill] > 1000) {
  1266.                 var prev = TREE_TOTAL[skill] - TREE_MOD[skill];
  1267.                 var diff = Math.floor(TREE_TOTAL[skill]/1000) - Math.floor(prev/1000);
  1268.                 if (diff == 2) {
  1269.                     T -= 1000;
  1270.                 }
  1271.             }
  1272.             if (T > max_skill) {
  1273.  
  1274.  
  1275.                 max_skill = T;
  1276.                 off = skill;
  1277.             }
  1278.  
  1279.         }
  1280.     }
  1281.  
  1282.     var max_level_pts = Math.ceil(skill_points_used/5) + 1;
  1283.     var max_level_skill = Math.floor(max_skill/1000) - 2;
  1284.  
  1285.     var s = "<p class=\"highlight\">You have used <span class=\"highlight\">" + skill_points_used + "</span> skill point" + ((skill_points_used>1)?"s.":".");
  1286.  
  1287.     if (max_level_pts < max_level_skill) {
  1288.         s += " The level requirement is <span class=\"highlight\">" + max_level_skill + "</span> due to <span class=\"highlight\">" + off + "</span>.";
  1289.         if (skill_points_used != 0) {
  1290.             var pts_left = ((max_level_skill-1)*5-skill_points_used);
  1291.             s += " You have <span class=\"highlight\">" + pts_left + "</span> skill point" + ((pts_left>1)?"s":"")   + " left.";
  1292.         }
  1293.     } else {
  1294.         s += " The level requirement is <span class=\"highlight\">" + max_level_pts + "</span>.";
  1295.         if (skill_points_used != 0) {
  1296.             var pts_left = ((max_level_pts-1)*5-skill_points_used);
  1297.             s += " You have <span class=\"highlight\">" + pts_left + "</span> skill point" + ((pts_left>1)?"s":"")  + " left.";
  1298.         }
  1299.     }
  1300.  
  1301.     $('#update').html(s);
  1302.     summarize(t);
  1303. }
  1304.  
  1305. var skill_points_used = 0;
  1306. var TREE_BASE  = [];
  1307. var TREE_MOD   = [];
  1308. var TREE_SPENT = [];
  1309. var TREE_TOTAL = []; //not needed? it's mod*spent + base (+ children trickle) ; KEEP ANYWAY
  1310. var TREE_CHILDREN = [];
  1311.  
  1312. var FLAGS = []; //eye candy stuff; GREEN == favourable; AMBER == penalized
  1313. function increase(s, silent) {
  1314.     if (TREE_TOTAL[s] >= 50000 || TREE_MOD[s] == 0) {
  1315.         return false;
  1316.     }
  1317.  
  1318.     if ($('#class').val()== 'CLASS_RANGER' && s == 'SKILL_ARCHERY' && TREE_TOTAL[s] >= 10000) return false;
  1319.  
  1320.     if (s == 'SKILL_SWIM' && TREE_TOTAL[s] >= 1000) return false;
  1321.     if (s == 'SKILL_CLIMB' && TREE_TOTAL[s] >= 1000) return false;
  1322.  
  1323.     if (typeof(TREE_SPENT[s]) != 'undefined') {
  1324.         TREE_SPENT[s]++;
  1325.     } else {
  1326.         TREE_SPENT[s] = 1;
  1327.     }
  1328.  
  1329.    
  1330.     TREE_TOTAL[s] = TREE_SPENT[s] * TREE_MOD[s] + TREE_BASE[s] + TREE_CHILDREN[s];
  1331.    
  1332.     if (typeof(FRIENDLY[s]) != 'undefined') {
  1333.         for (var i = 0 ; i < FRIENDLY[s].length/2; i++ ) {
  1334.             var P = FRIENDLY[s][2*i];
  1335.             var M = FRIENDLY[s][2*i+1];
  1336.             TREE_CHILDREN[P] += M*TREE_MOD[P]/100;
  1337.             TREE_TOTAL[P] = TREE_SPENT[P] * TREE_MOD[P] + TREE_BASE[P] + TREE_CHILDREN[P];
  1338.  
  1339.             var T = TREE_TOTAL[P]; if (T > 50000) T = 50000;
  1340.             if ($('#class').val()== 'CLASS_RANGER' && P == 'SKILL_ARCHERY' && T >= 10000) T = 10000;
  1341.  
  1342.         $('#'+P+'_VAL').html((T/1000).toFixed(3) + "<input class=\"noborder\" id= \"" + P + "_INPUT\" type=\"number\" onchange=\"javascript:set_skill('" + P + "')\" value=\"" + TREE_SPENT[P] + "\" min=\"0\" max=\"999\" autocomplete=\"off\">");
  1343.         }
  1344.     }
  1345.  
  1346.     var T = TREE_TOTAL[s]; if (T > 50000) T = 50000;
  1347.     if ($('#class').val()== 'CLASS_RANGER' && s == 'SKILL_ARCHERY' && T >= 10000) T = 10000;
  1348.  
  1349.   $('#'+s+'_VAL').html((T/1000).toFixed(3) + "<input class=\"noborder\" id= \"" + s + "_INPUT\" type=\"number\" onchange=\"javascript:set_skill('" + s + "')\" value=\"" + TREE_SPENT[s] + "\" min=\"0\" max=\"999\" autocomplete=\"off\">");
  1350.     skill_points_used++;
  1351.     if (!silent) update();
  1352.     return true;
  1353. }
  1354.  
  1355. function decrease(s, silent) {
  1356.     if (TREE_SPENT[s] == 0 || TREE_TOTAL[s] <= TREE_BASE[s] || TREE_MOD[s] == 0) {
  1357.         return false;
  1358.     }
  1359.     if (typeof(TREE_SPENT[s]) != 'undefined') {
  1360.         TREE_SPENT[s]--;
  1361.     } else {
  1362.         return false;
  1363.     }
  1364.  
  1365.     TREE_TOTAL[s] = TREE_SPENT[s] * TREE_MOD[s] + TREE_BASE[s] + TREE_CHILDREN[s];
  1366.  
  1367.     if (typeof(FRIENDLY[s]) != 'undefined') {
  1368.         for (var i = 0 ; i < FRIENDLY[s].length/2; i++ ) {
  1369.             var P = FRIENDLY[s][2*i];
  1370.             var M = FRIENDLY[s][2*i+1];
  1371.             TREE_CHILDREN[P] -= M*TREE_MOD[P]/100;
  1372.             TREE_TOTAL[P] = TREE_SPENT[P] * TREE_MOD[P] + TREE_BASE[P] + TREE_CHILDREN[P];
  1373.  
  1374.             var T = TREE_TOTAL[P]; if (T > 50000) T = 50000;
  1375.             if ($('#class').val()== 'CLASS_RANGER' && P == 'SKILL_ARCHERY' && T >= 10000) T = 10000;
  1376.  
  1377.             $('#'+P+'_VAL').html((T/1000).toFixed(3) + "<input class=\"noborder\" id= \"" + P + "_INPUT\" type=\"number\" onchange=\"javascript:set_skill('" + P + "')\" value=\"" + TREE_SPENT[P] + "\" min=\"0\" max=\"999\" autocomplete=\"off\">");
  1378.         }
  1379.     }
  1380.  
  1381.     var T = TREE_TOTAL[s]; if (T > 50000) T = 50000;
  1382.     if ($('#class').val()== 'CLASS_RANGER' && s == 'SKILL_ARCHERY' && T >= 10000) T = 10000;
  1383.  
  1384.     $('#'+s+'_VAL').html((T/1000).toFixed(3) + "<input class=\"noborder\" id= \"" + s + "_INPUT\" type=\"number\" onchange=\"javascript:set_skill('" + s + "')\" value=\"" + TREE_SPENT[s] + "\" min=\"0\" max=\"999\" autocomplete=\"off\">");
  1385.  
  1386.  
  1387.     skill_points_used--;
  1388.     if (!silent) update();
  1389.     return true;
  1390. }
  1391.  
  1392. function mass_dec(s) { var c = 9; while (decrease(s) && c > 0) { c--; }; }
  1393. function mass_inc(s) { var c = 9; while (increase(s) && c > 0) { c--; }; }
  1394. function set_skill(s) {
  1395.     var c = document.getElementById( s + "_INPUT").value;
  1396.     minimize(s);
  1397.     while (increase(s) && c > 1) { c--; };
  1398. }
  1399. function minimize(s) { while (decrease(s)) { }; }
  1400. function maximize(s) { while (increase(s)) { }; }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement