D3Cal
by died
HTML
<div class="container">
<ul>
<li>
Realm : <select id="realm">
<option value="us">America</option>
<option value="eu">Euro</option>
</select>
Battle Tag Name<input type="text" name="btName" id="btName" value="Died">#<input type="number" name="btNumber" id="btNumber" value="1618"> <button type="button" onclick="getUser()">Get Info</button>
</li>
<li>
<select id="char" onchange="getInfo()"></select> Classes : <span id="classes"></span>
<input type="checkbox" name="Blur" id="Blur">Blur (Wizard)
</li>
<li>
Level <input type="number" name="Level" id="Level" value="70" min="1" max="100">
Vit <input type="number" name="Vit" id="Vit" value="4000" min="1" max="99999">
Life% <input type="number" name="Life" id="Life" value="0" min="0" max="999" step="0.5">
Armor <input type="number" name="Armor" id="Armor" value="5000" min="0" max="99999">
</li>
</ul>
<hr/>
<ul>
<li>
Dodge <input type="number" name="Dodge" id="Dodge" value="0" min="0" max="99" step="0.1">%
</li>
<li>
Damage Reduction
<ul>
<li style="float: left;margin: 0px">
Missle <input type="number" name="Missle Damage Reduction" id="missle" value="0" min="0" max="99">%
</li>
<li style="float: left;margin: 0 30px">
Melee <input type="number" name="Melee Damage Reduction" id="melee" value="0" min="0" max="99">%
</li>
<li style="margin: 0 30px">
Elite <input type="number" name="Elite Damage Reduction" id="elite" value="0" min="0" max="99" >%
</li>
</ul>
</li>
<li>
Resist
<ul>
<li style="float: left;margin: 0px">
physical <input type="number" name="physical resist" id="phr" value="1800" min="0" max="9999">
</li>
<li style="float: left;margin: 0 30px">
cold <input type="number" name="cold resist" id="cr" value="1800" min="0" max="99999">
</li>
<li style="margin: 0 25px">
fire <input type="number" name="fire resist" id="fr"...
CSS
input{
width: 50px;
color: #0054ff;
}
.container{
width: 550px;
height: auto;
border: 1px solid #333;
padding: 10px;
background-color: #fff;
}
hr {
color: #333;
}
.button {
margin-top: 10px;
margin-left: -20px;
}
#hp, #adr, #rdr, #toug, #a_t, #r_t, #l_t, #a5_t, #r5_t {
color:#ff0000;
}
JavaScript
function doit(){
var classes = $("#classes").val();
var cdr = 0;
if(classes=="bar" || classes=="monk") cdr = 0.3;
if(classes=="monk") cdr=0.15;
if($("#Blur").is(':checked')) cdr=0.17;
var vit = $("#Vit").val();
var level = $("#Level").val();
var armor = parseInt($("#Armor").val(),10);
var life = 1+($("#Life").val()/100);
var dodge = parseFloat($("#Dodge").val());
console.log(dodge);
var resist = (parseInt($("#phr").val(),10)+parseInt($("#cr").val(),10)+parseInt($("#fr").val(),10)+parseInt($("#lr").val(),10)+parseInt($("#por").val(),10)+parseInt($("#cr").val(),10))/6;
var reduce = (parseInt($("#missle").val(),10)+parseInt($("#melee").val(),10)+parseInt($("#elite").val(),10))/3;
var hp=(312+80*vit)*life;
var rdr = (resist/(resist+(5*level)));
var adr = armor/(armor+(50*level));
var ddr = dodge/100;
var reduceDr = reduce/100;
var tdr = ((1-rdr)*(1-adr)*(1-cdr)*(1-ddr)*(1-reduceDr));
var toug = hp/tdr;
$("#hp").text(addCommas(hp.toFixed(0)));
$("#rdr").text((rdr*100).toFixed(2)+" %");
$("#adr").text((adr*100).toFixed(2)+" %");
$("#toug").text(addCommas(toug.toFixed(0)));
var a_t = hp/((1-rdr)*(1-((armor+1)/(armor+1+(50*level))))*(1-cdr)*(1-ddr)*(1-reduceDr))-toug;
$("#a_t").text(addCommas(a_t.toFixed(0)));
var r_t = hp/((1-((resist+1)/(resist+1+(5*level))))*(1-adr)*(1-cdr)*(1-ddr)*(1-reduceDr)) -toug;
$("#r_t").text(addCommas(r_t.toFixed(0)));
var l_t = (312+80*vit)*(life+0.005)/tdr-toug;
$("#l_t").text(addCommas(l_t.toFixed(0)));
var a5_t = hp/((1-rdr)*(1-(armor*1.005/(armor*1.005+(50*level))))*(1-cdr)*(1-ddr)*(1-reduceDr))-toug;
$("#a5_t").text(addCommas(a5_t.toFixed(0)));
var r5_t = hp/((1-((resist+5)/(resist+5+(5*level))))*(1-adr)*(1-cdr)*(1-ddr)*(1-reduceDr)) -toug;
$("#r5_t").text(addCommas(r5_t.toFixed(0)));
}
function getInfo(){
var realm = $("#realm").val();
var btname = $("#btName").val();
var btNumber =...