From RuneGlory
Suffer Pl0x (talk | contribs) |
|||
Line 32: | Line 32: | ||
<td> <img id="firemaking" src="https://imgur.com/baIMjWJ.gif"> | <td> <img id="firemaking" src="https://imgur.com/baIMjWJ.gif"> | ||
<input type="text" id="tarxp" name="skill-xp" onkeyup="func2()" maxlength="9" value="200000000"> <img id="firemaking" src="https://imgur.com/baIMjWJ.gif"> | <input type="text" id="tarxp" name="skill-xp" onkeyup="func2()" maxlength="9" value="200000000"> <img id="firemaking" src="https://imgur.com/baIMjWJ.gif"> | ||
+ | </td> | ||
+ | <tr> | ||
+ | <th>Account Type</td> | ||
+ | <td> | ||
+ | <input type="radio" name="radioaccount" value="type0" id="type0" onclick="myFunction()" checked> Regular | ||
+ | <input type="radio" name="radioaccount" value="type1" id="type1" onclick="myFunction()"> Ironman | ||
+ | <input type="radio" name="radioaccount" value="type2" id="type2" onclick="myFunction()"> Hardcore ironman | ||
</td> | </td> | ||
<tr> | <tr> | ||
<th>Use knowledge totem</td> | <th>Use knowledge totem</td> | ||
<td> | <td> | ||
− | <input type="radio" name="radiodonor" value="donor0" checked> No totem | + | <input type="radio" name="radiodonor" value="donor0" id="donor0" onclick="myFunction()" checked> No totem |
− | <input type="radio" name="radiodonor" value="donor1"> <img id="next" src="https://i.imgur.com/Ugz3obm.png"> Regular Donator | + | <input type="radio" name="radiodonor" value="donor1" id="donor1" onclick="myFunction()"> <img id="next" src="https://i.imgur.com/Ugz3obm.png"> Regular Donator |
− | <input type="radio" name="radiodonor" value="donor2"> <img id="next" src="https://i.imgur.com/Pjnz1Wh.png"> Super Donator | + | <input type="radio" name="radiodonor" value="donor2" id="donor2" onclick="myFunction()"> <img id="next" src="https://i.imgur.com/Pjnz1Wh.png"> Super Donator |
− | <input type="radio" name="radiodonor" value="donor3"> <img id="next" src="https://i.imgur.com/qHYfynX.png"> Extreme Donator | + | <input type="radio" name="radiodonor" value="donor3" id="donor3" onclick="myFunction()"> <img id="next" src="https://i.imgur.com/qHYfynX.png"> Extreme Donator |
</td> | </td> | ||
<tr> | <tr> | ||
<th>Bonus days</td> | <th>Bonus days</td> | ||
<td> | <td> | ||
− | <input type="radio" name="bonusdays" value="bonusday0" checked> No bonus days | + | <input type="radio" name="bonusdays" value="bonusday0" id="ftf0" onclick="myFunction()" checked> No bonus days |
− | <input type="radio" name="bonusdays" value="bonusday1"> Bonus days (1st-5th) | + | <input type="radio" name="bonusdays" value="bonusday1" id="ftf1" onclick="myFunction()"> Bonus days (1st-5th) |
+ | </td> | ||
+ | <tr> | ||
+ | <th>Brawlers</td> | ||
+ | <td> | ||
+ | <input type="radio" name="brawlers" value="brawlers0" id="brawl0" onclick="myFunction()" checked> No brawlers | ||
+ | <input type="radio" name="brawlers" value="brawlers1" id="brawl1" onclick="myFunction()"> Brawlers | ||
+ | </td> | ||
+ | <tr> | ||
+ | <th>Bonus XP</td> | ||
+ | <td> | ||
+ | <input type="radio" name="bxp" value="bxp0" id="bxp0" onclick="myFunction()" checked> No Bonus XP | ||
+ | <input type="radio" name="bxp" value="bxp1" id="bxp1" onclick="myFunction()"> Bonus XP | ||
</td> | </td> | ||
</table> | </table> | ||
Line 63: | Line 82: | ||
document.getElementById("tarxp").value = "Invalid amount, but I'll calculate!"; | document.getElementById("tarxp").value = "Invalid amount, but I'll calculate!"; | ||
} | } | ||
+ | } | ||
+ | |||
+ | function applyBonuses(xp) { | ||
+ | /* Boolean checks for calculations */ | ||
+ | var ftfc = 0; | ||
+ | var brawlc = 0; | ||
+ | var donor1c = 0; | ||
+ | var donor2c = 0; | ||
+ | var donor3c = 0; | ||
+ | var bxp1c = 0; | ||
+ | var type1c = 1; | ||
+ | var type2c = 1; | ||
+ | |||
+ | if (document.getElementById("ftf1").checked){ | ||
+ | ftfc = 1; | ||
+ | } | ||
+ | if (document.getElementById("brawl1").checked){ | ||
+ | brawlc = 1; | ||
+ | } | ||
+ | if (document.getElementById("donor1").checked){ | ||
+ | donor1c = 1; | ||
+ | } | ||
+ | if (document.getElementById("donor2").checked){ | ||
+ | donor2c = 1; | ||
+ | } | ||
+ | if (document.getElementById("donor3").checked){ | ||
+ | donor3c = 1; | ||
+ | } | ||
+ | if (document.getElementById("bxp1").checked){ | ||
+ | bxp1c = 1; | ||
+ | } | ||
+ | if (document.getElementById("type1").checked){ | ||
+ | type1c = 3; | ||
+ | } | ||
+ | if (document.getElementById("type2").checked){ | ||
+ | type2c = 5; | ||
+ | } | ||
+ | return(Math.floor((xp + (brawlc*xp) + (ftfc*0.25*xp) + (donor1c*xp* | ||
+ | 0.75) + (donor2c*xp) + (donor3c*xp*1.1) + (bxp1c*2*xp)) / (type1c*1) | ||
+ | / (type2c*1))); | ||
} | } | ||
Line 68: | Line 127: | ||
document.getElementById("tarxp").oninput = function() {myFunction()}; | document.getElementById("tarxp").oninput = function() {myFunction()}; | ||
− | // ***** | + | // ***** Constant variables ***** |
const regularLogXp = 1781; | const regularLogXp = 1781; | ||
const oakLogXp = 2250; | const oakLogXp = 2250; | ||
Line 89: | Line 148: | ||
var z = 13034431; | var z = 13034431; | ||
+ | // ***** Adjustable xp values used for calculations ***** // | ||
+ | |||
+ | var rrXp = applyBonuses(regularLogXp); | ||
+ | var okXp = applyBonuses(oakLogXp); | ||
+ | var wwXp = applyBonuses(willowLogXp); | ||
+ | var meXp = applyBonuses(mapleLogXp); | ||
+ | var ywXp = applyBonuses(yewLogXp); | ||
+ | var mcXp = applyBonuses(magicLogXp); | ||
// ***** Calculate XP ***** | // ***** Calculate XP ***** | ||
− | |||
var mc; | var mc; | ||
Line 100: | Line 166: | ||
var rr; | var rr; | ||
− | if ( | + | //current xp over 99 |
− | mc = Math.ceil((y - x)/ | + | if (x > 13034431) { |
− | yw = Math.ceil((y - x)/ | + | mc = Math.ceil((y - x)/(mcXp/2)); |
− | me = Math.ceil((y - x)/ | + | yw = Math.ceil((y - x)/(ywXp/2)); |
− | ww = Math.ceil((y - x)/ | + | me = Math.ceil((y - x)/(meXp/2)); |
− | ok = Math.ceil((y - x)/ | + | ww = Math.ceil((y - x)/(wwXp/2)); |
− | rr = Math.ceil((y - x)/ | + | ok = Math.ceil((y - x)/(okXp/2)); |
− | } else if ( | + | rr = Math.ceil((y - x)/(rrXp/2)); |
− | mc = Math.ceil((y - x)/ | + | // target xp under 99 |
− | yw = Math.ceil((y - x)/ | + | } else if (y < 13034431) { |
− | me = Math.ceil((y - x)/ | + | mc = Math.ceil((y - x)/mcXp); |
− | ww = Math.ceil((y - x)/ | + | yw = Math.ceil((y - x)/ywXp); |
− | ok = Math.ceil((y - x)/ | + | me = Math.ceil((y - x)/meXp); |
− | rr = Math.ceil((y - x)/ | + | ww = Math.ceil((y - x)/wwXp); |
− | } else { | + | ok = Math.ceil((y - x)/okXp); |
− | mc = Math.ceil(((y - z)/( | + | rr = Math.ceil((y - x)/rrXp); |
− | yw = Math.ceil(((y - z)/( | + | // target xp over 99, current xp under 99 |
− | me = Math.ceil(((y - z)/( | + | } else { |
− | ww = Math.ceil(((y - z)/( | + | mc = Math.ceil(((y - z)/(mcXp/2)) + ((z - x)/mcXp)); |
− | ok = Math.ceil(((y - z)/( | + | yw = Math.ceil(((y - z)/(ywXp/2)) + ((z - x)/ywXp)); |
− | rr = Math.ceil(((y - z)/( | + | me = Math.ceil(((y - z)/(meXp/2)) + ((z - x)/meXp)); |
+ | ww = Math.ceil(((y - z)/(wwXp/2)) + ((z - x)/wwXp)); | ||
+ | ok = Math.ceil(((y - z)/(okXp/2)) + ((z - x)/okXp)); | ||
+ | rr = Math.ceil(((y - z)/(rrXp/2)) + ((z - x)/rrXp)); | ||
} | } | ||
Line 129: | Line 198: | ||
document.getElementById("oakr").innerHTML = ok; | document.getElementById("oakr").innerHTML = ok; | ||
document.getElementById("reglogr").innerHTML = rr; | document.getElementById("reglogr").innerHTML = rr; | ||
− | |||
// ***** Calculate XP required ***** | // ***** Calculate XP required ***** | ||
Line 135: | Line 203: | ||
// ***** Calculate skillpoints obtained ***** | // ***** Calculate skillpoints obtained ***** | ||
− | + | var axp = x%500000; | |
+ | var bxp = (y-x)%500000; | ||
+ | var cxp = 0; | ||
+ | if (bxp+axp == 500000){ | ||
+ | cxp = 3; | ||
+ | } | ||
+ | document.getElementById("spobtained").innerHTML = Math.floor((y - | ||
+ | x)/500000)*3 + cxp; | ||
// ***** Calculate coins obtained ***** | // ***** Calculate coins obtained ***** | ||
− | document.getElementById("coinsmadereglog").innerHTML = | + | document.getElementById("coinsmadereglog").innerHTML = rr*regularLogCoin; |
− | document.getElementById("coinsmadeoak").innerHTML = | + | document.getElementById("coinsmadeoak").innerHTML = ok*oakLogCoin; |
− | document.getElementById("coinsmadewillow").innerHTML = | + | document.getElementById("coinsmadewillow").innerHTML = ww*willowLogCoin; |
− | document.getElementById("coinsmademaple").innerHTML = | + | document.getElementById("coinsmademaple").innerHTML = me*mapleLogCoin; |
− | document.getElementById("coinsmadeyew").innerHTML = | + | document.getElementById("coinsmadeyew").innerHTML = yw*yewLogCoin; |
− | document.getElementById("coinsmademagic").innerHTML = | + | document.getElementById("coinsmademagic").innerHTML = mc*magicLogCoin; |
− | // ***** Calculate amount of brawlers required ***** | + | // ***** Calculate amount of brawlers required note: brawlers last 501 charge ***** |
− | document.getElementById("magicBrawlers").innerHTML = Math.ceil( | + | document.getElementById("magicBrawlers").innerHTML = Math.ceil(mc/501); |
− | document.getElementById("yewBrawlers").innerHTML = Math.ceil( | + | document.getElementById("yewBrawlers").innerHTML = Math.ceil(yw/501); |
− | document.getElementById("mapleBrawlers").innerHTML = Math.ceil( | + | document.getElementById("mapleBrawlers").innerHTML = Math.ceil(me/501); |
− | document.getElementById("willowBrawlers").innerHTML = Math.ceil( | + | document.getElementById("willowBrawlers").innerHTML = Math.ceil(ww/501); |
− | document.getElementById("oakBrawlers").innerHTML = Math.ceil( | + | document.getElementById("oakBrawlers").innerHTML = Math.ceil(ok/501); |
− | document.getElementById("reglogBrawlers").innerHTML = Math.ceil( | + | document.getElementById("reglogBrawlers").innerHTML = Math.ceil(rr/501); |
// ***** Calculate amount of skillpoints required ***** | // ***** Calculate amount of skillpoints required ***** | ||
− | document.getElementById("magicSkillpoint").innerHTML = Math.ceil( | + | document.getElementById("magicSkillpoint").innerHTML = Math.ceil(mc/501)*50; |
− | document.getElementById("yewSkillpoint").innerHTML = Math.ceil( | + | document.getElementById("yewSkillpoint").innerHTML = Math.ceil(yw/500)*50; |
− | document.getElementById("mapleSkillpoint").innerHTML = Math.ceil( | + | document.getElementById("mapleSkillpoint").innerHTML = Math.ceil(me/500)*50; |
− | document.getElementById("willowSkillpoint").innerHTML = Math.ceil( | + | document.getElementById("willowSkillpoint").innerHTML = Math.ceil(ww/500)*50; |
− | document.getElementById("oakSkillpoint").innerHTML = Math.ceil( | + | document.getElementById("oakSkillpoint").innerHTML = Math.ceil(ok/500)*50; |
− | document.getElementById("reglogSkillpoint").innerHTML = Math.ceil( | + | document.getElementById("reglogSkillpoint").innerHTML = Math.ceil(rr/500)*50; |
// ***** Calculate inventories ***** | // ***** Calculate inventories ***** | ||
− | document.getElementById("magicInv").innerHTML = Math.ceil( | + | document.getElementById("magicInv").innerHTML = Math.ceil(mc/27); |
− | document.getElementById("yewInv").innerHTML = Math.ceil( | + | document.getElementById("yewInv").innerHTML = Math.ceil(yw/27); |
− | document.getElementById("mapleInv").innerHTML = Math.ceil( | + | document.getElementById("mapleInv").innerHTML = Math.ceil(me/27); |
− | document.getElementById("willowInv").innerHTML = Math.ceil( | + | document.getElementById("willowInv").innerHTML = Math.ceil(ww/27); |
− | document.getElementById("oakInv").innerHTML = Math.ceil( | + | document.getElementById("oakInv").innerHTML = Math.ceil(ok/27); |
− | document.getElementById("reglogInv").innerHTML = Math.ceil( | + | document.getElementById("reglogInv").innerHTML = Math.ceil(rr/27); |
} | } |
Revision as of 06:19, 22 February 2018
Test page from Cypher to make the build-in XP Calculator
Test Firemaking Tables:
Your firemaking XP | ![]() ![]() |
---|---|
Target XP | ![]() ![]() |
Account Type | Regular Ironman Hardcore ironman |
Use knowledge totem |
No totem
![]() ![]() ![]() |
Bonus days | No bonus days Bonus days (1st-5th) |
Brawlers | No brawlers Brawlers |
Bonus XP | No Bonus XP Bonus XP |
Skilling points you'll obtain:
Level | Name | # required | Coins made | # of brawlers | Skillpoint cost | # of inventories |
---|---|---|---|---|---|---|
1 |
![]() |
|||||
15 |
![]() |
|||||
30 |
![]() |
|||||
45 |
![]() |
|||||
60 |
![]() |
|||||
75 |
![]() |