Advertisement
Icegoten

StatCalculator Formulas

Oct 10th, 2016
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var $=window.jQuery,loc={},player={};
  2. var hits;
  3. var statSTR = $("#pro-stats span").contents()[0];
  4. var statDEX = $("#pro-stats span").contents()[1];
  5. var statINT = $("#pro-stats span").contents()[2];
  6.  
  7.  
  8. function getHits(){
  9.  return hits;
  10. }
  11.  
  12. function addHits(){
  13.     hits++;
  14. }
  15.  
  16. function getStats(stat,type) {
  17.  
  18.   var initial = 5;
  19.   var current = stat;
  20.   hits = getHits();
  21.   var stats;
  22.   var compmod;
  23.   if (initial==5) { compmod=0.005; } else { compmod=0; }
  24.   var diff=current-initial-compmod;
  25.   var mod, modmax, modin;
  26.   var max, minmax;
  27.   var i, j, g;
  28.  
  29.     if (type == "str") {
  30.       mod=0.0009954;
  31.       max=11;
  32.       modmax=0.0012947;
  33.       minmax=9;
  34.       modin=0.0000014965;
  35.     }
  36.     else if (type == "dex") {
  37.       mod=0.00057334;
  38.       max=10;
  39.       modmax=0.00072171;
  40.       minmax=8;
  41.       modin=0.0000007418493;
  42.     }
  43.     else if (type == "int") {
  44.       mod=0.0001414791;
  45.       max=10;
  46.       modmax=0.000199425;
  47.       minmax=8;
  48.       modin=0.0000002897295;
  49.     }
  50.  
  51. max=(evalmaxStats(initial, current, hits, diff, stats, mod, modmax, modin, max, minmax, i, j, g)+evalminStats(initial, current, hits, diff, stats, mod, modmax, modin, max, minmax, i, j, g))/2;
  52.  
  53. return max;
  54.  
  55. }
  56.  
  57.  
  58. function evalmaxStats(initial, current, hits, diff, stats, mod, modmax, modin, max, minmax, i, j, g, modmod, maxmod, moddub) {
  59.   j=mod;
  60.   for (g=max; g>=minmax; g=g-0.01) {
  61.       initial = 5;
  62.       for (i=1; i<=hits; i++) {
  63.         stats=initial+(g-initial)*j;
  64.         initial=stats;
  65.  
  66.         if (((Math.round(stats*100))/100)==current && i==hits) {
  67.           return g;
  68.         }
  69.       }
  70.       j=j+modin;
  71.   }
  72. }
  73.  
  74.  
  75. function evalminStats(initial, current, hits, diff, stats, mod, modmax, modin, max, minmax, i, j, g, modmod, maxmod, moddub) {
  76.   j=modmax;
  77.   for (g=minmax; g<=max; g=g+0.01) {
  78.       initial = 5;
  79.       for (i=1; i<=hits; i++) {
  80.         stats=initial+(g-initial)*j;
  81.         initial=stats;
  82.  
  83.         if (((Math.round(stats*100))/100)==current && i==hits) {
  84.           return g;
  85.         }
  86.       }
  87.       j=j-modin;
  88.   }
  89. }
  90.  
  91. var StatCalculator = function(){
  92.   statSTR = $("#pro-stats span").contents()[0];
  93.   statDEX = $("#pro-stats span").contents()[1];
  94.   statINT = $("#pro-stats span").contents()[2];
  95.  
  96.   getStats(statSTR,"str");
  97.   getStats(statDEX,"dex");
  98.   getStats(statINT,"int");
  99. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement