Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <body>
- Equip All <select onchange="equipAll(this.value)"><option value="0">none</option><option value="1">berzerker</option><option value="2">soldier</option><option value="3">valkyrie</option><option value="4">zealot</option><option value="5">assasin</option><option value="6">rampager</option><option value="7">cavalier</option><option value="8">knight</option><option value="9">sentinel</option><option value="10">carrion</option><option value="11">dire</option><option value="12">rabid</option><option value="13">cleric</option><option value="14">magi</option><option value="15">celestial</option></select><br>
- <span id="armor"></span>
- Armor class
- <select id="armorType" onchange="calculate()">(P + M * 35) * 100 * SC / (T + D)
- <option value="1804">Light</option>
- <option value="1945">Medium</option>
- <option value="2083">Heavy</option>
- </select><br>
- Armor = { Ferocity : <span id="armorFOut">0</span>,
- Precision : <span id="armorCOut">0</span>,
- Power : <span id="armorPOut">0</span>,
- Armor Rating : <span id="armorTOut">0</span>}<br>
- Ferocity<input type="number" id="ferocity" value=0 oninput="calculate()" min="0"/><span id="fOut"></span><br>
- <span title="915 base">Precision</span><input type="number" id="precision" value=0 oninput="calculate()" min="0"/><span id="cOut"></span><br>
- Fury Uptime <input type="range" id="fury" value=0 onchange="calculate()" min="0" max="100"/><span id="furyUOut"></span>%<br>
- Power <input type="text" id="power" value=0 oninput="calculate()" min="0"/><br>
- Armor <input type="text" id="armorRating" value=0 oninput="calculate()" min="0"/><br>
- Average Damage = <span id="damage"></span><br>
- Average Damage With Fury = <span id="damageWithFury"></span><br>
- Average Damage Combined = <span id="damageCombined"></span><br>
- <br>
- Damage Reduction = <span id="damageReduction"></span><br>
- <script>
- var gear=[
- {name:"2 handed",prim:179,sec:128,celest:84},
- {name:"main hand",prim:90,sec:64,celest:42},
- {name:"off hand",prim:90,sec:64,celest:42},
- {name:"helm",prim:45,sec:32,celest:21},
- {name:"shoulders",prim:34,sec:24,celest:16},
- {name:"coat",prim:101,sec:72,celest:47},
- {name:"gloves",prim:34,sec:24,celest:16},
- {name:"leggings",prim:67,sec:48,celest:32},
- {name:"boots",prim:34,sec:24,celest:16},
- {name:"amulet",prim:90,sec:64,celest:42},
- {name:"jewel",prim:25,sec:15,celest:12},
- {name:"ring",prim:67,sec:48,celest:32},
- {name:"jewel",prim:25,sec:15,celest:12},
- {name:"ring",prim:67,sec:48,celest:32},
- {name:"jewel",prim:25,sec:15,celest:12},
- {name:"earring",prim:56,sec:40,celest:26},
- {name:"jewel",prim:25,sec:15,celest:12},
- {name:"earring",prim:56,sec:40,celest:26},
- {name:"jewel",prim:25,sec:15,celest:12},
- {name:"backpiece",prim:22,sec:16,celest:0},
- {name:"jewel",prim:25,sec:15,celest:12}
- ];
- var stat = [
- {name:"none",prim:'',sec:''},
- {name:"berzerker",prim:'p',sec:'fc'},
- {name:"soldier",prim:'p',sec:'t'},
- {name:"valkyrie",prim:'p',sec:'f'},
- {name:"zealot",prim:'p',sec:'c'},
- {name:"assasin",prim:'c',sec:'fp'},
- {name:"rampager",prim:'c',sec:'p'},
- {name:"cavalier",prim:'t',sec:'fp'},
- {name:"knight",prim:'t',sec:'cp'},
- {name:"sentinel",prim:'',sec:'pv'},
- {name:"carrion",prim:'',sec:'p'},
- {name:"dire",prim:'',sec:'t'},
- {name:"rabid",prim:'',sec:'ct'},
- {name:"cleric",prim:'',sec:'pt'},
- {name:"magi",prim:'',sec:'c'},
- {name:"celestial",prim:'',sec:''}
- ];
- var selectHtml = "";
- var s = document.createElement("select");
- s.setAttribute("onchange","calculate()");
- s.className = "stat";
- for(var b=0; b<stat.length; b++)
- {
- var o = document.createElement("option");
- o.value=b;
- o.innerHTML = stat[b].name;
- s.appendChild(o);
- }
- selectHtml = s.outerHTML;
- for(var a=0; a<gear.length; a++)
- {
- var label = document.createElement("span");
- label.innerHTML = gear[a].name;
- var cb = document.createElement("input");
- cb.type="checkbox";
- cb.setAttribute("checked","");
- cb.className="checked";
- cb.name=a;
- cb.setAttribute("onclick","this.className=this.checked?'checked':'';calculate()");
- armor.appendChild(cb);
- armor.appendChild(label);
- armor.innerHTML+=selectHtml+(a<8||a%2==0?"<br>":"");
- }
- function equipAll(index)
- {
- var statSelects = document.getElementsByClassName('stat');
- for(var a=0; a<statSelects.length; a++)
- {
- statSelects[a].value=index;
- }
- calculate()
- }
- function calculate()
- {
- var cbs = document.querySelectorAll('input[class="checked"]');
- var set = {c:916,f:0,p:916,t:armorRating.value- -armorType.value};
- for(var a=0; a<cbs.length; a++)
- {
- var piece = gear[cbs[a].name];
- var stats = stat[cbs[a].nextSibling.nextSibling.selectedIndex];
- if(stats.name!="none")
- {
- if(stats.name=="celestial")
- {
- set.c+=piece.celest;
- set.f+=piece.celest;
- set.p+=piece.celest;
- set.t+=piece.celest;
- }
- else
- {
- for(var b=0; b<stats.prim.length; b++)
- {
- set[stats.prim[b]]+=piece.prim;
- }
- for(var b=0; b<stats.sec.length; b++)
- {
- set[stats.sec[b]]+=piece.sec;
- }
- }
- }
- }
- furyUOut.innerHTML= fury.value;
- armorFOut.innerHTML = set.f;
- armorPOut.innerHTML = set.c;
- armorTOut.innerHTML = set.t;
- armorPOut.innerHTML = set.p;
- var f = parseInt((ferocity.value- -set.f)/15,10)/100+1.5;fOut.innerHTML = f;
- var c = parseInt(((+precision.value- -set.c)-822) / 21)/100;cOut.innerHTML = c;
- var base = power.value- -set.p;
- damage.innerHTML=parseInt(base * ( 1 + c * ( f - 1 ) ),10);
- damageWithFury.innerHTML=parseInt(base * ( 1 + (c+0.2) * ( f - 1 ) ),10);
- damageCombined.innerHTML=parseInt(base * ( 1 + (c+0.2*fury.value/100) * ( f - 1 ) ),10);
- damageReduction.innerHTML = parseInt((1-(armorType.value)/(+set.t))*100,10)+"%";
- }
- calculate();
- </script>
- </body>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement