Advertisement
Rapptz

calcjs

Feb 4th, 2013
330
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function calchitrate()
  2. {
  3.     var charLevel = parseInt(document.hitcalc.charLevel.value);
  4.     var mobLevel = parseInt(document.hitcalc.mobLevel.value);
  5.     var charAcc = parseInt(document.hitcalc.charAcc.value);
  6.     var mobAvoid = parseInt(document.hitcalc.mobAvoid.value);
  7.    
  8.     var accuracyRate = 0;
  9.     var difference = 0;
  10.    
  11.     accuracyRate = Math.floor(Math.sqrt(charAcc)) - Math.floor(Math.sqrt(mobAvoid)) + 100;
  12.     if(accuracyRate > 100)
  13.     {
  14.         accuracyRate = 100;
  15.     }
  16.     if(mobLevel > charLevel)
  17.     {
  18.         difference = 5 * (mobLevel - charLevel);
  19.         if(difference > accuracyRate)
  20.         {
  21.             accuracyRate = difference;
  22.         }
  23.         accuracyRate -= difference;
  24.     }
  25.     document.getElementById("hitRate").innerHTML = accuracyRate.toString() + "%";
  26. }
  27.  
  28. function calcavoidrate()
  29. {
  30.     var charLevel = parseInt(document.avoidcalc.charLevel.value);
  31.     var mobLevel = parseInt(document.avoidcalc.mobLevel.value);
  32.     var charAvoid = parseInt(document.avoidcalc.charAvoid.value);
  33.     var mobAcc = parseInt(document.avoidcalc.mobAcc.value);
  34.    
  35.     var avoidRate = 0;
  36.     var difference = 0;
  37.    
  38.     avoidRate = Math.floor(Math.sqrt(charAvoid)) - Math.floor(Math.sqrt(mobAcc));
  39.     if(avoidRate < 0)
  40.     {
  41.         avoidRate = 0;
  42.     }
  43.     if(mobLevel > charLevel)
  44.     {
  45.         difference = 5 * (mobLevel - charLevel);
  46.         if(difference > avoidRate)
  47.         {
  48.             avoidRate = difference;
  49.         }
  50.         avoidRate -= difference;
  51.     }
  52.     document.getElementById("avoidRate").innerHTML = avoidRate.toString() + "%";
  53. }
  54.  
  55. function calcdamage()
  56. {
  57.     var charLevel = parseInt(document.damagecalc.charLevel.value);
  58.     var mobLevel = parseInt(document.damagecalc.mobLevel.value);
  59.     var pdd = parseInt(document.damagecalc.pdd.value);
  60.     var mobAttack = parseInt(document.damagecalc.mobAttack.value);
  61.    
  62.     var pddRounded = Math.floor((pdd * 0.25) + 0.5);
  63.     var pddSqrt = Math.floor(Math.sqrt(pdd * 0.25));
  64.    
  65.     if(mobLevel > charLevel)
  66.     {
  67.         var v8 = 4 * (mobLevel - charLevel);
  68.         if(v8 >= pddRounded)
  69.         {
  70.             v8 = pddRounded;
  71.         }
  72.         pddRounded -= v8;
  73.         var v9 = 2 * (mobLevel - charLevel);
  74.         if(v9 >= pddSqrt)
  75.         {
  76.             v9 = pddSqrt;
  77.         }
  78.         pddSqrt -= v9;
  79.     }
  80.     document.getElementById("percbased").innerHTML = pddSqrt.toString() + "%";
  81.     var pddSqrtplusone = Math.pow(pddSqrt+1, 2) * 4;
  82.     document.getElementById("percbased").innerHTML += "<p>(+1% at " + pddSqrtplusone.toString() + " DEF)</p>";
  83.     document.getElementById("flatbased").innerHTML = pddRounded.toString();
  84.     document.getElementById("flatbased").innerHTML += "<p>&nbsp;</p>";
  85.     var result = mobAttack - pddRounded;
  86.     var v11 = (100.0 - pddSqrt) * mobAttack * 0.01;
  87.     if(result >= v11)
  88.     {
  89.         result = v11;  
  90.         document.getElementById("flatpercchoice").innerHTML = "Percentage";
  91.         document.getElementById("damage").innerHTML = "<strong>" + Math.floor(result).toString() + "</strong>" + "<p>(" + mobAttack.toString() + " * " + (100-pddSqrt).toString() + "%" + ")</p>";
  92.     }
  93.     else
  94.     {
  95.         document.getElementById("flatpercchoice").innerHTML = "Flat";
  96.         document.getElementById("damage").innerHTML = "<strong>" + Math.floor(result).toString() + "</strong>" + "<p>(" + mobAttack.toString() + " - " + pddRounded.toString() + ")</p>";
  97.     }
  98.  
  99.     if(result <= 1.0)
  100.     {
  101.         result = 1.0;
  102.         document.getElementById("damage").innerHTML = Math.floor(result).toString();       
  103.     }
  104.    
  105. }
  106.  
  107. function calchp()
  108. {
  109.     var jobid = parseInt(document.hpmpcalc.jobid.value);
  110.     var level = parseInt(document.hpmpcalc.level.value);
  111.    
  112.     var hpmp = 0;
  113.     var i = 0;
  114.     var stringReplace = 0;
  115.    
  116.     const numLevelsToShow = 5;
  117.     const maxLevel = GetMaxLevel(jobid);
  118.    
  119.     for(i = level; (i < level + 5) && (i <= maxLevel); i += 1)
  120.     {
  121.         switch(jobid)
  122.         {
  123.             case 0:
  124.             case 1000:
  125.             case 2000:
  126.             case 2001:
  127.             case 3000:
  128.                 hpmp = (i * 10) - 5;
  129.                 break;
  130.             case 100:
  131.             case 110:
  132.             case 111:
  133.             case 112:
  134.             case 2100:
  135.             case 2110:
  136.             case 2111:
  137.             case 2112:
  138.             case 1100:
  139.             case 1110:
  140.             case 1111:
  141.                 hpmp = (i * 4) + 55;
  142.                 break;
  143.             case 120:
  144.             case 121:
  145.             case 122:
  146.             case 130:
  147.             case 131:
  148.             case 132:
  149.                 hpmp = (i * 4) + 155;
  150.                 break;
  151.             case 200:
  152.             case 1200:
  153.                 hpmp = (i * 22) - 1;
  154.                 break;
  155.             case 210:
  156.             case 211:
  157.             case 212:
  158.             case 220:
  159.             case 221:
  160.             case 222:
  161.             case 230:
  162.             case 231:
  163.             case 232:
  164.             case 1210:
  165.             case 1211:
  166.                 hpmp = (i * 22) + 449;
  167.                 break;
  168.             case 300:
  169.             case 1300:         
  170.             case 400:
  171.             case 1400:
  172.                 hpmp = (i * 14) - 15;
  173.                 break;
  174.             case 310:
  175.             case 311:
  176.             case 312:
  177.             case 320:
  178.             case 321:
  179.             case 322:
  180.             case 1310:
  181.             case 1311:
  182.             case 410:
  183.             case 411:
  184.             case 412:
  185.             case 1410:
  186.             case 1411:
  187.             case 420:
  188.             case 421:
  189.             case 422:
  190.                 hpmp = (i * 14) + 135;
  191.                 break;
  192.             case 430:
  193.             case 431:
  194.             case 432:
  195.             case 433:
  196.             case 434:
  197.                 hpmp = (i * 14) + 355;
  198.                 break;
  199.             case 500:
  200.             case 1500:
  201.             case 3500:
  202.                 hpmp = (i * 18) - 55;
  203.                 break;
  204.             case 510:
  205.             case 511:
  206.             case 512:
  207.             case 520:
  208.             case 521:
  209.             case 522:
  210.             case 1510:
  211.             case 1511:
  212.             case 3510:
  213.             case 3511:
  214.             case 3512:
  215.                 hpmp = (i * 18) + 95;
  216.                 break;
  217.             case 2200:
  218.                 hpmp = (i * 35) - 125;
  219.                 break;
  220.             case 2210:
  221.             case 2211:
  222.             case 2212:
  223.             case 2213:
  224.             case 2214:
  225.                 hpmp = (i * 35) - 25;
  226.                 break;
  227.             case 2215:
  228.             case 2216:
  229.             case 2217:
  230.             case 2218:
  231.                 hpmp = (i * 35) + 375;
  232.                 break;
  233.             case 3200:
  234.                 hpmp = (i * 22) + 43;
  235.                 break;
  236.             case 3210:
  237.             case 3211:
  238.             case 3212:
  239.                 hpmp = (i * 22) + 143;
  240.                 break;
  241.             case 3300:
  242.                 hpmp = (i * 14) + 23;
  243.                 break;
  244.             case 3310:
  245.             case 3311:
  246.             case 3312:
  247.                 hpmp = (i * 14) + 123;
  248.                 break;
  249.         }
  250.         stringReplace = i - level;
  251.         document.getElementById("hpmp" + stringReplace.toString()).innerHTML = "<strong>Level " + i.toString() + ":</strong>";
  252.         document.getElementById("hpmp" + stringReplace.toString() + "value").innerHTML = hpmp.toString();
  253.     }
  254.    
  255.     for(stringReplace = i - level ; stringReplace < numLevelsToShow; stringReplace += 1)
  256.     {
  257.         document.getElementById("hpmp" + stringReplace.toString()).innerHTML = "";
  258.         document.getElementById("hpmp" + stringReplace.toString() + "value").innerHTML = "";       
  259.     }
  260. }
  261.  
  262. function GetMaxLevel(jobid)
  263. {
  264.     if(jobid >= 1000 && jobid <= 1999)
  265.     {
  266.         return 120;
  267.     }
  268.     else
  269.     {
  270.         return 200;
  271.     }
  272. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement