// ==UserScript== // @name MoxxiMod // @namespace https://studiomoxxi.com/ // @description one click at a time // @author Ben // @match *.outwar.com/* // @version 4.9 // @grant GM_xmlhttpRequest // @license MIT // @grant GM_getResourceText // @grant GM_addStyle // @require http://code.jquery.com/jquery-3.6.0.min.js // @downloadURL none // ==/UserScript== // MOXXI VISION if (document.URL.indexOf("earnfreepoints") != -1 ) { if (location.protocol !== 'https:') { location.replace(`https:${location.href.substring(location.protocol.length)}`);} GM_addStyle ( ` #content-header-row > div.outer{display:none !important;} `)}; if (document.URL.indexOf("earnfreepoints") != -1 ) { if (location.protocol !== 'https:') { location.replace(`https:${location.href.substring(location.protocol.length)}`);} var selectedID = document.querySelector("body").outerHTML.match(/value="(.*)" selected/) fetch("/myaccount") .then(res => res.text()) .then((responseText) => { const doc = new DOMParser().parseFromString(responseText, 'text/html'); const chars = doc.querySelector("#cal"); var content = "
0)
tomax2 = "in "+tomax+" turns"
if (tomax == 0 && circReady != null)
tomax2 = "in "+tomax+" turns"
if (tomax == 0 && circReady == null)
tomax2 = "in "+tomax+" turns"
var skills = '';
if (skill0 != null)
skills += skill0+' ';
if (skill1 != null)
skills += skill1+' ';
if (skill2 != null)
skills += skill2+' ';
if (skill3 != null)
skills += skill3+' ';
if (skill4 != null)
skills += skill4+' ';
if (skill5 != null)
skills += skill5+' ';
if (skill6 != null)
skills += skill6+' ';
if (skill7 != null)
skills += skill7+' ';
if (skill8 != null)
skills += skill8+' ';
if (skill9 != null)
skills += skill9+' ';
if (skill10 != null)
skills += skill10+' ';
if (skill11 != null)
skills += skill11+' ';
if (skill12 != null)
skills += skill12+' ';
if (skill13 != null)
skills += skill13+' ';
if (skill14 != null)
skills += skill14+' ';
if (skill15 != null)
skills += skill15+' ';
if (skills == "")
skills += "none"
let menu = document.querySelector("#zero-config > tbody > tr:nth-child("+rownum+")");
let lvlTD = document.createElement('td');
lvlTD.innerHTML = charlvl[1];
insertAfter(lvlTD, menu.lastElementChild);
let rageTD = document.createElement('td');
rageTD.innerHTML = ``+tomax2
insertAfter(rageTD, menu.lastElementChild);
let mrTD = document.createElement('td');
mrTD.innerHTML = ``+mrage2.toLocaleString("en-US")
insertAfter(mrTD, menu.lastElementChild);
let todayTD = document.createElement('td');
todayTD.innerHTML = ``+growthtoday3;
insertAfter(todayTD, menu.lastElementChild);
let yesterdayTD = document.createElement('td');
yesterdayTD.innerHTML = ``+growthyesterday3;
insertAfter(yesterdayTD, menu.lastElementChild);
let tolvlTD = document.createElement('td');
tolvlTD.innerHTML = ``+tolevel2.toLocaleString("en-US")
insertAfter(tolvlTD, menu.lastElementChild);
let strengthTD = document.createElement('td');
strengthTD.innerHTML = ``+strength3;
insertAfter(strengthTD, menu.lastElementChild);
let boosterTD = document.createElement('td');
boosterTD.innerHTML = items3+"/10";
insertAfter(boosterTD, menu.lastElementChild);
let suppliesTD = document.createElement('td');
suppliesTD.innerHTML = "";
insertAfter(suppliesTD, menu.lastElementChild);
let runeTD = document.createElement('td');
runeTD.innerHTML = "";
insertAfter(runeTD, menu.lastElementChild);
let itemsTD = document.createElement('td');
itemsTD.innerHTML = "";
insertAfter(itemsTD, menu.lastElementChild);
let gemTD = document.createElement('td');
gemTD.innerHTML = "";
insertAfter(gemTD, menu.lastElementChild);
let powerTD = document.createElement('td');
powerTD.innerHTML = ``+charpower2.toLocaleString("en-US");
insertAfter(powerTD, menu.lastElementChild);
let eleTD = document.createElement('td');
eleTD.innerHTML = ``+charele[1];
insertAfter(eleTD, menu.lastElementChild);
let chaosTD = document.createElement('td');
chaosTD.innerHTML = ``+charchaos[1];
insertAfter(chaosTD, menu.lastElementChild);
let fireResTD = document.createElement('td');
fireResTD.innerHTML = ``+parseInt(fireRes[1]);
insertAfter(fireResTD, menu.lastElementChild);
let arcaneResTD = document.createElement('td');
arcaneResTD.innerHTML = ``+parseInt(arcaneRes[1]);
insertAfter(arcaneResTD, menu.lastElementChild);
let shadowResTD = document.createElement('td');
shadowResTD.innerHTML = ``+parseInt(shadowRes[1]);
insertAfter(shadowResTD, menu.lastElementChild);
let holyResTD = document.createElement('td');
holyResTD.innerHTML = ``+parseInt(holyRes[1]);
insertAfter(holyResTD, menu.lastElementChild);
let kineticResTD = document.createElement('td');
kineticResTD.innerHTML = ``+parseInt(kineticRes[1]);
insertAfter(kineticResTD, menu.lastElementChild);
let wildTD = document.createElement('td');
wildTD.innerHTML = ``+wilderness[1];
insertAfter(wildTD, menu.lastElementChild);
let ammyTD = document.createElement('td');
ammyTD.innerHTML = amuletCnt[1] ?? "0"
insertAfter(ammyTD, menu.lastElementChild);
let fuserTD = document.createElement('td');
fuserTD.innerHTML = fuserCnt[1] ?? "0"
insertAfter(fuserTD, menu.lastElementChild);
let repTD = document.createElement('td');
repTD.innerHTML = ``+repCnt2
insertAfter(repTD, menu.lastElementChild);
let oreCnt = document.createElement('td');
oreCnt.innerHTML = ``+oreCnt2
insertAfter(oreCnt, menu.lastElementChild);
let shardTD = document.createElement('td');
shardTD.innerHTML = shardCnt[1] ?? "0"
insertAfter(shardTD, menu.lastElementChild);
let skillsTD = document.createElement('td');
skillsTD.innerHTML = skills;
insertAfter(skillsTD, menu.lastElementChild);
let bpTD = document.createElement('td');
bpTD.innerHTML = bpMax+bpItems+" / "+bpCap
insertAfter(bpTD, menu.lastElementChild);
let utilityTD = document.createElement('td');
utilityTD.innerHTML = utility;
insertAfter(utilityTD, menu.lastElementChild);
fetch("profile?suid="+selectedID[1])
.then(res => res.text())
.then((responseText) => {})
document.querySelector("#zero-config").setAttribute('class', 'rgahealth')
})})})})})}}, 1000);
var pageContent =
` `+
` `+
`
OUTWAR LEVEL CHART
Level Experience SP ATK DEF
1 0 0 1 3 2 7 0 2 5 3 25 0 4 8 4 50 0 6 12 5 150 0 9 16 6 250 0 12 21 7 450 0 15 27 8 700 0 18 36 9 1,000 0 22 44 10 1,500 1 26 50 11 3,000 1 30 62 12 5,000 2 36 71 13 8,000 2 38 85 14 12,000 3 43 92 15 18,000 3 48 107 16 28,000 4 53 115 17 40,000 4 58 226 18 55,000 5 63 231 19 75,000 5 68 242 20 100,000 6 73 257 21 130,000 6 78 264 22 165,000 7 83 272 23 215,000 7 88 281 24 260,000 8 95 290 25 310,000 8 100 300 26 370,000 9 106 320 27 445,000 9 112 335 28 525,000 10 118 350 29 625,000 10 125 370 30 735,000 11 132 392 31 838,500 11 150 412 32 950,000 12 160 426 33 1,082,250 12 185 438 34 1,224,000 13 200 453 35 1,378,125 13 215 487 36 1,530,000 14 230 500 37 1,732,500 14 260 526 38 1,920,000 15 300 556 39 2,131,250 15 330 575 40 2,325,000 16 345 600 41 2,537,500 16 360 650 42 2,800,000 17 380 704 43 3,105,000 17 400 747 44 3,380,000 18 415 811 45 3,687,500 18 425 856 46 3,990,000 19 450 879 47 4,312,500 19 475 911 48 4,620,000 20 500 932 49 4,935,000 20 550 956 50 5,250,000 21 650 1,000 51 6,500,000 21 700 1,032 52 7,750,000 22 750 1,067 53 9,250,000 22 800 1,103 54 11,050,000 23 850 1,250 55 12,750,000 23 875 1,500 56 14,750,000 24 900 1,750 57 17,250,000 24 950 2,000 58 19,750,000 25 1,000 2,200 59 22,250,000 25 1,250 2,400 60 24,750,000 26 1,500 2,500 61 28,000,000 26 1,750 2,650 62 31,750,000 27 2,000 2,800 63 35,750,000 27 2,250 3,000 64 39,750,000 28 2,500 3,200 65 44,750,000 28 2,750 3,500 66 49,750,000 29 3,000 3,800 67 55,750,000 29 3,250 4,100 68 61,750,000 30 3,500 4,400 69 68,750,000 30 3,750 4,700 70 77,000,000 31 4,000 5,000 71 90,650,000 31 4,150 5,200 72 106,900,000 32 4,300 5,450 73 126,400,000 32 4,500 5,750 74 152,400,000 33 4,750 6,100 75 184,900,000 33 5,000 6,500 76 385,000,000 34 5,250 6,800 77 675,000,000 34 5,500 7,100 78 995,600,000 35 5,800 7,500 79 1,450,920,000 35 6,150 7,900 80 2,000,000,000 36 6,500 8,500 81 3,000,000,000 36 6,900 9,200 82 4,500,000,000 37 7,350 10,000 83 6,750,000,000 37 7,850 10,900 84 10,000,000,000 38 8,400 11,900 85 15,000,000,000 38 9,000 13,000 86 20,000,000,000 39 9,650 14,200 87 26,000,000,000 39 10,350 15,500 88 33,000,000,000 40 11,100 16,900 89 41,000,000,000 40 11,900 18,400 90 50,000,000,000 41 12,750 20,000 /i,1).replace(/
/i,0)
var Gslot2 = document.querySelector("#itemtable > tbody > tr:nth-child(2) > td:nth-child(2) > img:nth-child(4)").outerHTML.replace(/
/i,1).replace(/
/i,0)
var Gslot3 = document.querySelector("#itemtable > tbody > tr:nth-child(2) > td:nth-child(2) > img:nth-child(5)").outerHTML.replace(/
/i,1).replace(/
/i,0)
var Gslot4 = document.querySelector("#itemtable > tbody > tr:nth-child(2) > td:nth-child(2) > img:nth-child(6)").outerHTML.replace(/
/i,1).replace(/
/i,0)
var sum = Math.round(Gslot1+Gslot2+Gslot3+Gslot4)
var gems = '';
if (sum == "0")
gems = "4"
if (sum == "1")
gems = "3"
if (sum == "11")
gems = "2"
if (sum == "111")
gems = "1"
if (sum == "1111")
gems = "0"
var item = document.querySelector("#itemtable > tbody > tr:nth-child(2) > td:nth-child(1)").outerHTML.replace(/ \(\+[0-9]+\)<\/span>/g,"").replaceAll(",","");
var atk = item.match(/\+([0-9]+) ATK/) ?? 0
var holy = item.match(/\+([0-9]+) Holy/) ?? 0
var arcane = item.match(/\+([0-9]+) Arcane/) ?? 0
var shadow = item.match(/\+([0-9]+) Shadow/) ?? 0
var fire = item.match(/\+([0-9]+) Fire/) ?? 0
var kinetic = item.match(/\+([0-9]+) Kinetic/) ?? 0
var chaos = item.match(/\+([0-9]+) Chaos/) ?? 0
var vile = item.match(/\+([0-9]+) vile energy/) ?? 0
var hp = item.match(/\+([0-9]+) HP/) ?? 0
var holyr = item.match(/\+([0-9]+) Holy Resist/) ?? 0
var arcaner = item.match(/\+([0-9]+) Arcane Resist/) ?? 0
var shadowr = item.match(/\+([0-9]+) Shadow Resist/) ?? 0
var firer = item.match(/\+([0-9]+) Fire Resist/) ?? 0
var kineticr = item.match(/\+([0-9]+) Kinetic Resist/) ?? 0
var chaosr = item.match(/\+([0-9]+) Chaos Resist/) ?? 0
var block = item.match(/\+([0-9]+)% block/) ?? 0
var eblock = item.match(/\+([0-9]+)% elemental block/) ?? 0
var rpt = item.match(/\+([0-9]+) rage per hr/) ?? 0
var ept = item.match(/\+([0-9]+) exp per hr/) ?? 0
var ramp = item.match(/\+([0-9]+)% rampage/) ?? 0
var ps = item.match(/\+([0-9]+)% perfect strike/) ?? 0
var mr = item.match(/\+([0-9]+) max rage/) ?? 0
var crit = item.match(/\+([0-9]+)% critical hit/) ?? 0
var edititem = document.querySelector("#itemtable > tbody > tr:nth-child(2) > td:nth-child(1)");
if (aholy != 0){
edititem.innerHTML = edititem.innerHTML.replace(/ \+.* Holy/," +"+(parseInt(holy[1])-aholy)+" (+"+aholy+") Holy")}
if (aarcane != 0){
edititem.innerHTML = edititem.innerHTML.replace(/ \+.* Arcane/," +"+(parseInt(arcane[1])-aarcane)+" (+"+aarcane+") Arcane")}
if (afire != 0){
edititem.innerHTML = edititem.innerHTML.replace(/ \+.* Fire/," +"+(parseInt(fire[1])-afire)+" (+"+afire+") Fire")}
if (akinetic != 0){
edititem.innerHTML = edititem.innerHTML.replace(/ \+.* Kinetic/," +"+(parseInt(kinetic[1])-akinetic)+" (+"+akinetic+") Kinetic")}
if (ashadow != 0){
edititem.innerHTML = edititem.innerHTML.replace(/ \+.* Shadow/," +"+(parseInt(shadow[1])-ashadow)+" (+"+ashadow+") Shadow")}
if (achaos != 0){
edititem.innerHTML = edititem.innerHTML.replace(/ \+.* Chaos/," +"+(parseInt(chaos[1])-achaos)+" (+"+achaos+") Chaos")}
if (aps != 0){
edititem.innerHTML = edititem.innerHTML.replace(/% perfect strike/," (+"+aps+")% perfect strike")}
var g1 = '';
var g2 = '';
var g3 = '';
var g4 = '';
if (atk[1] > 0){
g1 += "+"+Math.round(atk[1]*1.15)+" ATK
"
g2 += "+"+Math.round(atk[1]*1.3225)+" ATK
"
g3 += "+"+Math.round(atk[1]*1.520875)+" ATK
"
g4 += "+"+Math.round(atk[1]*1.74900625)+" ATK
"}
if (holy[1] > 0){
g1 += " +"+(parseInt(holy[1])-aholy)+" Holy
"
g2 += " +"+(parseInt(holy[1])-aholy)+" Holy
"
g3 += " +"+(parseInt(holy[1])-aholy)+" Holy
"
g4 += " +"+(parseInt(holy[1])-aholy)+" Holy
"}
if (arcane[1] > 0){
g1 += " +"+(parseInt(arcane[1])-aarcane)+" Arcane
"
g2 += " +"+(parseInt(arcane[1])-aarcane)+" Arcane
"
g3 += " +"+(parseInt(arcane[1])-aarcane)+" Arcane
"
g4 += " +"+(parseInt(arcane[1])-aarcane)+" Arcane
"}
if (shadow[1] > 0){
g1 += " +"+(parseInt(shadow[1])-ashadow)+" Shadow
"
g2 += " +"+(parseInt(shadow[1])-ashadow)+" Shadow
"
g3 += " +"+(parseInt(shadow[1])-ashadow)+" Shadow
"
g4 += " +"+(parseInt(shadow[1])-ashadow)+" Shadow
"}
if (fire[1] > 0){
g1 += " +"+(parseInt(fire[1])-afire)+" Fire
"
g2 += " +"+(parseInt(fire[1])-afire)+" Fire
"
g3 += " +"+(parseInt(fire[1])-afire)+" Fire
"
g4 += " +"+(parseInt(fire[1])-afire)+" Fire
"}
if (kinetic[1] > 0){
g1 += " +"+(parseInt(kinetic[1])-akinetic)+" Kinetic
"
g2 += " +"+(parseInt(kinetic[1])-akinetic)+" Kinetic
"
g3 += " +"+(parseInt(kinetic[1])-akinetic)+" Kinetic
"
g4 += " +"+(parseInt(kinetic[1])-akinetic)+" Kinetic
"}
if (chaos[1] > 0){
g1 += " +"+(parseInt(chaos[1])-achaos)+" Chaos
"
g2 += " +"+(parseInt(chaos[1])-achaos)+" Chaos
"
g3 += " +"+(parseInt(chaos[1])-achaos)+" Chaos
"
g4 += " +"+(parseInt(chaos[1])-achaos)+" Chaos
"}
if (vile[1] > 0){
g1 += " +"+vile[1]+" vile energy
"
g2 += " +"+vile[1]+" vile energy
"
g3 += " +"+vile[1]+" vile energy
"
g4 += " +"+vile[1]+" vile energy
"}
if (hp[1] > 0){
g1 += "+"+Math.round(hp[1]*1.15)+" HP
"
g2 += "+"+Math.round(hp[1]*1.3225)+" HP
"
g3 += "+"+Math.round(hp[1]*1.520875)+" HP
"
g4 += "+"+Math.round(hp[1]*1.74900625)+" HP
"}
if (holyr[1] != undefined){
g1 += " +"+holyr[1]+" Holy Resist
"
g2 += " +"+holyr[1]+" Holy Resist
"
g3 += " +"+holyr[1]+" Holy Resist
"
g4 += " +"+holyr[1]+" Holy Resist
"}
if (arcaner[1] > 0){
g1 += " +"+arcaner[1]+" Arcane Resist
"
g2 += " +"+arcaner[1]+" Arcane Resist
"
g3 += " +"+arcaner[1]+" Arcane Resist
"
g4 += " +"+arcaner[1]+" Arcane Resist
"}
if (shadowr[1] > 0){
g1 += " +"+shadowr[1]+" Shadow Resist
"
g2 += " +"+shadowr[1]+" Shadow Resist
"
g3 += " +"+shadowr[1]+" Shadow Resist
"
g4 += " +"+shadowr[1]+" Shadow Resist
"}
if (firer[1] > 0){
g1 += " +"+firer[1]+" Fire Resist
"
g2 += " +"+firer[1]+" Fire Resist
"
g3 += " +"+firer[1]+" Fire Resist
"
g4 += " +"+firer[1]+" Fire Resist
"}
if (kineticr[1] > 0){
g1 += " +"+kineticr[1]+" Kinetic Resist
"
g2 += " +"+kineticr[1]+" Kinetic Resist
"
g3 += " +"+kineticr[1]+" Kinetic Resist
"
g4 += " +"+kineticr[1]+" Kinetic Resist
"}
if (chaosr[1] > 0){
g1 += " +"+chaosr[1]+" Chaos Resist
"
g2 += " +"+chaosr[1]+" Chaos Resist
"
g3 += " +"+chaosr[1]+" Chaos Resist
"
g4 += " +"+chaosr[1]+" Chaos Resist
"}
if (block[1] > 0){
g1 += "+"+block[1]+"% block
"
g2 += "+"+block[1]+"% block
"
g3 += "+"+block[1]+"% block
"
g4 += "+"+block[1]+"% block
"}
if (eblock[1] > 0){
g1 += "+"+eblock[1]+"% elemental block
"
g2 += "+"+eblock[1]+"% elemental block
"
g3 += "+"+eblock[1]+"% elemental block
"
g4 += "+"+eblock[1]+"% elemental block
"}
if (rpt[1] > 0){
g1 += "+"+Math.round(rpt[1]*1.15)+" rage per hour
"
g2 += "+"+Math.round(rpt[1]*1.3225)+" rage per hour
"
g3 += "+"+Math.round(rpt[1]*1.520875)+" rage per hour
"
g4 += "+"+Math.round(rpt[1]*1.74900625)+" rage per hour
"}
if (ept[1] > 0){
g1 += "+"+Math.round(ept[1]*1.15)+" exp per hour
"
g2 += "+"+Math.round(ept[1]*1.3225)+" exp per hour
"
g3 += "+"+Math.round(ept[1]*1.520875)+" exp per hour
"
g4 += "+"+Math.round(ept[1]*1.74900625)+" exp per hour
"}
if (ramp[1] > 0){
g1 += "+"+ramp[1]+"% rampage
"
g2 += "+"+ramp[1]+"% rampage
"
g3 += "+"+ramp[1]+"% rampage
"
g4 += "+"+ramp[1]+"% rampage
"}
if (ps[1] > 0){
g1 += "+"+ps[1]+"
% perfect strike
"
g2 += "+"+ps[1]+"
% perfect strike
"
g3 += "+"+ps[1]+"
% perfect strike
"
g4 += "+"+ps[1]+"
% perfect strike
"}
if (mr[1] > 0){
g1 += "+"+Math.round(mr[1]*1.15)+" max rage
"
g2 += "+"+Math.round(mr[1]*1.3225)+" max rage
"
g3 += "+"+Math.round(mr[1]*1.520875)+" max rage
"
g4 += "+"+Math.round(mr[1]*1.74900625)+" max rage
"}
if (crit[1] > 0){
g1 += "+"+crit[1]+"% critical hit
"
g2 += "+"+crit[1]+"% critical hit
"
g3 += "+"+crit[1]+"% critical hit
"
g4 += "+"+crit[1]+"% critical hit
"}
var openslot = document.querySelectorAll("img[src='/images/gemslot2.jpg']");
if (openslot[0] != null)
openslot[0].setAttribute(`onmouseover`, `popup(event,'
Item Rarity: `+itemRarity+` | Number of Gems: `+gems+` |