// ==UserScript== // @name MoxxiMod // @namespace https://studiomoxxi.com/ // @description one click at a time // @author Ben // @match *.outwar.com/* // @version 4.81 // @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== // RGA health page if (document.URL.indexOf("earnfreepoints") != -1 ) { if (location.protocol !== 'https:') { location.replace(`https:${location.href.substring(location.protocol.length)}`); } fetch("/myaccount") .then(res => res.text()) .then((responseText) => { const doc = new DOMParser().parseFromString(responseText, 'text/html'); const chars = doc.querySelector("#cal"); GM_addStyle ( ` #zero-config > tbody > tr > td:nth-child(1){display: none !important;} #zero-config > tbody > tr > td:nth-child(3){display: none !important;} #zero-config > tbody > tr > td:nth-child(4){display: none !important;} #zero-config > tbody > tr > td:nth-child(5){display: none !important;} #zero-config > tbody > tr > td:nth-child(6){display: none !important;} #zero-config > tbody > tr > td:nth-child(7){display: none !important;} #zero-config > tbody > tr > td:nth-child(8){display: none !important;} #zero-config > tbody > tr > td:nth-child(9){display: none !important;} #zero-config > tbody > tr > td:nth-child(10){display: none !important;} #zero-config > tbody > tr > td:nth-child(11){display: none !important;} #zero-config > thead > tr > th:nth-child(11){display: none !important;} #zero-config > thead{background: #0F0F0F} #zero-config > tbody > tr{border-bottom:1px SOLID !important;} #zero-config img[src*="Message.png"] {display: none !important;} #zero-config img[src*="Attacked.png"] {display: none !important;} #zero-config img[src*="Trade.png"] {display: none !important;} #zero-config > tbody{width:100% !important;} #zero-config > thead{width:100% !important;} `); setTimeout(function() { $('#zero-config > thead > tr > th:nth-child(1)').html('CHARACTER'); $('#zero-config > thead > tr > th:nth-child(2)').html('LEVEL'); $('#zero-config > thead > tr > th:nth-child(3)').html('ELE DMG'); $('#zero-config > thead > tr > th:nth-child(4)').html('POWER'); $('#zero-config > thead > tr > th:nth-child(5)').html(`YESTERDAY`); $('#zero-config > thead > tr > th:nth-child(6)').html('STRENGTH'); $('#zero-config > thead > tr > th:nth-child(7)').html(`BOOSTER`); $('#zero-config > thead > tr > th:nth-child(8)').html(`ITEMS`); $('#zero-config > thead > tr > th:nth-child(9)').html('BADGE'); $('#zero-config > thead > tr > th:nth-child(10)').html(`SKILLS`); function insertAfter(newNode, existingNode) { existingNode.parentNode.insertBefore(newNode, existingNode.nextSibling); } var charsTable = document.querySelector("#zero-config"); var charsTableRows = charsTable.rows.length; for (let rownum = 1; rownum < charsTableRows; rownum++) { var charid = document.querySelector("#zero-config > tbody > tr:nth-child("+rownum+") > td:nth-child(2) > a").outerHTML.replaceAll(//g,"") fetch("profile?id="+charid) .then(response => response.text()) .then((response) => { var charlvl = response.match(/Level (.*)<\/font>/i) var charpower = response.match(/TOTAL POWER.*[\n\r].*(.*)<\/font>/i) var charele = response.match(/ELEMENTAL ATTACK.*[\n\r].*(.*)<\/font>/i) var charpower2 = parseInt(charpower[1].replaceAll(",","")) var charele2 = parseInt(charele[1].replaceAll(",","")) var growthyesterday = response.match(/GROWTH YESTERDAY.*[\n\r].*(.*)<\/font>/i) var growthyesterday2 = parseInt(growthyesterday[1].replaceAll(",","")) var growthyesterday3 = ''; if (growthyesterday2 < 0) growthyesterday3 = ""+growthyesterday2.toLocaleString("en-US")+"" if (growthyesterday2 > -1) growthyesterday3 = growthyesterday2.toLocaleString("en-US") var strength = response.match(/role="progressbar" style="width: (.*)%; height: 8px/i) var strength2 = parseInt(strength[1]) var strength3 = ''; if (strength2 < 100) strength3 = ""+strength2+"" if (strength2 = 100) strength3 = strength2 var booster = response.match(/alt="(.* Booster.*)"/i) var booster2 = ''; if (booster == null) booster2 = "none" if (booster != null) booster2 = booster[1] var booster3 = response.match(/onmouseover="itempopup\(event,'.*'\)" onmouseout="kill\(\)" alt=".*Booster.*">/i) var booster4 = ''; if (booster3 == null) booster4 = ">" if (booster3 != null) booster4 = booster3 var items = response.match(/
[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*/im) var items2 = (items.toString().match(/img/g) || []).length var items3 = ''; if (items2 < 10) items3 = ""+items2 if (items2 == 10) items3 = ""+items2 var badge = response.match(/alt="(Badge .*)">/i) var badge2 = ''; if (badge == null) badge2 = "none" if (badge != null) badge2 = badge[1] var skill1 = response.match(/ tbody > tr:nth-child("+rownum+")"); let lvlTD = document.createElement('td'); lvlTD.innerHTML = charlvl[1]; insertAfter(lvlTD, menu.lastElementChild); let powereleTD = document.createElement('td'); powereleTD.innerHTML = charele2.toLocaleString("en-US"); insertAfter(powereleTD, menu.lastElementChild); let todayTD = document.createElement('td'); todayTD.innerHTML = charpower2.toLocaleString("en-US"); insertAfter(todayTD, menu.lastElementChild); let yesterdayTD = document.createElement('td'); yesterdayTD.innerHTML = growthyesterday3; insertAfter(yesterdayTD, menu.lastElementChild); let strengthTD = document.createElement('td'); strengthTD.innerHTML = strength3; insertAfter(strengthTD, menu.lastElementChild); let suppliesTD = document.createElement('td'); suppliesTD.innerHTML = ""; insertAfter(suppliesTD, menu.lastElementChild); let boosterTD = document.createElement('td'); boosterTD.innerHTML = items3+"/10"; insertAfter(boosterTD, menu.lastElementChild); let itemsTD = document.createElement('td'); itemsTD.innerHTML = badge2.replaceAll("Badge ","").replaceAll("of ",""); insertAfter(itemsTD, menu.lastElementChild); let badgeTD = document.createElement('td'); badgeTD.innerHTML = charskills; insertAfter(badgeTD, menu.lastElementChild); })}}, 1000); var pageContent = chars.innerHTML var earnfreepoints = document.querySelector("#content-header-row") earnfreepoints.innerHTML = pageContent })} // itemlink modifications if (document.URL.indexOf("itemlink") != -1 ) { var itemID = window.location.search.replace(/\?id=/g,"").replace(/&owner=.*/g,"") fetch("/item_rollover.php?id="+itemID+"_1") .then(response => response.text()) .then((response) => { var holyaug = response.match(/  \+([0-9]+) response.text()) .then((response) => { var holyaug = response.match(/  \+([0-9]+) response.text()) .then((response) => { var holyaug = response.match(/  \+([0-9]+) response.text()) .then((response) => { var holyaug = response.match(/  \+([0-9]+) response.text()) .then((response) => { var holyaug = response.match(/  \+([0-9]+) tbody > tr:nth-child(2) > td:nth-child(2) > img:nth-child(3)").outerHTML.replace(//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,'
`+g1+`
');`); if (openslot[0] != null) openslot[0].setAttribute(`onmouseout`, `kill()`); if (openslot[1] != null) openslot[1].setAttribute(`onmouseover`, `popup(event,'
`+g2+`
')`); if (openslot[1] != null) openslot[1].setAttribute(`onmouseout`, `kill()`); if (openslot[2] != null) openslot[2].setAttribute(`onmouseover`, `popup(event,'
`+g3+`
')`); if (openslot[2] != null) openslot[2].setAttribute(`onmouseout`, `kill()`); if (openslot[3] != null) openslot[3].setAttribute(`onmouseover`, `popup(event,'
`+g4+`
')`); if (openslot[3] != null) openslot[3].setAttribute(`onmouseout`, `kill()`); var itemNameColor = document.querySelector("#itemtable > tbody > tr:nth-child(1) > td").outerHTML.replace(/.*/g,""); var itemRarity = ''; if (itemNameColor == "FFFFFF") itemRarity = "Uncommon"; if (itemNameColor == "1eff00") itemRarity = "Rare"; if (itemNameColor == "ffde5b") itemRarity = "Elite"; if (itemNameColor == "0070ff") itemRarity = "Godly"; if (itemNameColor == "CA1111") itemRarity = "Brutal"; if (itemNameColor == "ff8000") itemRarity = "King"; if (itemNameColor == "9000ba") itemRarity = "Mythic" var gemTxt = `
Item Rarity: `+itemRarity+` Number of Gems: `+gems+`
Mouseover empty gem slot to see gemmed stats

` function insertAfter(newNode, existingNode) { existingNode.parentNode.insertBefore(newNode, existingNode.nextSibling); } let menu = document.querySelector("#itemtable > tbody"); let tr = document.createElement('tr'); tr.innerHTML = gemTxt; insertAfter(tr, menu.lastElementChild); })})})})})} // boss raid individual pages if (document.URL.indexOf("boss_stats") != -1 ) { let str = document.querySelector("#content-header-row > div > table") str.innerHTML = str.innerHTML .replace("Ancestral","Ancestral") .replace("Tomb","Tomb") .replace("Boon of Madness","Boon of Madness") .replace("Tier 2 Booster Upgrade","Tier 2 Booster Upgrade") .replace("8-Bit Banana","8-Bit Banana") .replace("Augment of Vision","Augment of Vision") .replace("Transcended Extract","Transcended Extract") .replace("Prophecy Mail Reborn","Prophecy Mail Reborn") .replace("Cord of Freezing Winds Reborn","Cord of Freezing Winds Reborn") .replace("Soul of Blackhand Reborn","Soul of Blackhand Reborn") .replace("Trinket of Aridity Reborn","Trinket of Aridity Reborn") .replace("Interstellar Leggings Reborn","Interstellar Leggings Reborn") .replace("Myrmidon Helm Reborn","Myrmidon Helm Reborn") .replaceAll("Blackhand Reborn","Blackhand Reborn") .replace("Incredible Tower Shield Reborn","Incredible Tower Shield Reborn") .replace("Ring of the Sea Reborn","Ring of the Sea Reborn") .replace("Boots of the Eagle Reborn","Boots of the Eagle Reborn") .replace("Core of Exalted Perfection","Core of Exalted Perfection") .replace("Greathelm of Exalted Perfection","Greathelm of Exalted Perfection") .replace("Brooch of Exalted Perfection","Brooch of Exalted Perfection") .replace("Launcher of Exalted Perfection","Launcher of Exalted Perfection") .replace("Cuirass of Exalted Perfection","Cuirass of Exalted Perfection") .replace("Boon of Exalted Perfection","Boon of Exalted Perfection") .replace("Link of Exalted Perfection","Link of Exalted Perfection") .replace("Scales of Exalted Perfection","Scales of Exalted Perfection") .replace("Twirl of Exalted Perfection","Twirl of Exalted Perfection") .replace("Spurs of Exalted Perfection","Spurs of Exalted Perfection") var deadCheck = document.querySelector("#content-header-row > div > table > tbody > tr:nth-child(1) > td:nth-child(3)").innerHTML; if (deadCheck > 0){ var bossTableX = document.querySelector("#content-header-row > div > table"); var bossTableRowsX = bossTableX.rows.length; function insertAfter(newNode, existingNode) { existingNode.parentNode.insertBefore(newNode, existingNode.nextSibling); } var bossName = document.querySelector("#content-header-row > h1").innerHTML var lootCount = ''; if (bossName == "Cosmos, Great All Being") lootCount = "50" if (bossName == "Death, Reaper of Souls") lootCount = "80" if (bossName == "Maekrix, Dreaded Striker") lootCount = "73" if (bossName == "Blackhand Reborn") lootCount = "61" if (bossName == "Zyrak, Vision of Madness") lootCount = "65" for (let rownumX = 1; rownumX < bossTableRowsX; rownumX++) { GM_addStyle ( ` td:nth-of-type(3){display: none !important;} #content-header-row > div > table > thead > tr > th:nth-child(3){width: 60% !important;} .table td{border: 1px SOLID #0F0F0F !important;} `); var crewName = document.querySelector("#content-header-row > div > table > tbody > tr:nth-child("+rownumX+") > td:nth-child(1) > a > font").innerHTML.replace("'",""); var percentage = document.querySelector("#content-header-row > div > table > tbody > tr:nth-child("+rownumX+") > td:nth-child(2)").innerHTML.replace(/.*\(/i,"").replace("%)",""); let bossLootCnt = document.querySelector("#content-header-row > div > table > tbody > tr:nth-child("+rownumX+") > td:nth-child(3)").innerHTML let bossLoot = document.querySelector("#content-header-row > div > table > tbody > tr:nth-child("+rownumX+") > td:nth-child(3)").outerHTML bossLoot = `
`+bossLootCnt+`
(`+Math.round(percentage/100*lootCount)+`)
`+bossLoot.replace(/','808080'\)" onmouseout="kill\(\)>.*<\/td>/g,"").replaceAll("
",", ").replaceAll(/No Items','808080'\)" onmouseout="kill\(\)">0/g,"").replaceAll(/, ','808080'\)" onmouseout="kill\(\)">[0-9]+/g,""); let menu = document.querySelector("#content-header-row > div > table > tbody > tr:nth-child("+rownumX+")"); let td = document.createElement('td'); td.innerHTML = bossLoot; insertAfter(td, menu.lastElementChild); }}} if (document.URL.indexOf("boss_stats") != -1 ) { let bossName = document.querySelector("#content-header-row > h1").innerHTML let lootCount = ''; if (bossName == "Cosmos, Great All Being") lootCount = "50" if (bossName == "Death, Reaper of Souls") lootCount = "78" if (bossName == "Maekrix, Dreaded Striker") lootCount = "73" if (bossName == "Blackhand Reborn") lootCount = "61" if (bossName == "Zyrak, Vision of Madness") lootCount = "64" var bossHP = ''; if (bossName == "Cosmos, Great All Being") bossHP = "100000000000" if (bossName == "Death, Reaper of Souls") bossHP = "295000000000" if (bossName == "Maekrix, Dreaded Striker") bossHP = "320000000000" if (bossName == "Blackhand Reborn") bossHP = "570000000000" if (bossName == "Zyrak, Vision of Madness") bossHP = "1200000000000" var bossTable = document.querySelector("#content-header-row > div > table"); var bossTableRows = bossTable.rows.length; function insertAfter(newNode, existingNode) { existingNode.parentNode.insertBefore(newNode, existingNode.nextSibling); } var aliveCheck = document.querySelector("#content-header-row > div > table > tbody > tr:nth-child(1) > td:nth-child(3)").innerHTML; if (aliveCheck < 1){ let menu = document.querySelector("#content-header-row > div > table > thead > tr"); let td1 = document.createElement('td'); td1.innerHTML = ``; insertAfter(td1, menu.lastElementChild); let td4 = document.createElement('td'); td4.innerHTML = ``; insertAfter(td4, menu.lastElementChild); function calcTime(city, offset) { d = new Date(); utc = d.getTime() + (d.getTimezoneOffset() * 60000); nd = new Date(utc + (3600000*offset)); return nd.toLocaleString(); } var OWtime = Date.parse((calcTime('Outwar', '-5.0'))); for (let rownum = 1; rownum < bossTableRows; rownum++) { GM_addStyle ( ` td:nth-of-type(3){display: none !important;} #content-header-row > div > table > thead > tr > th:nth-child(3) > a > b > font{color: #FFF000 !important;} .table td{border: 1px SOLID #0F0F0F !important;} #content-header-row > div > table > thead{border: 0px SOLID !important;} #estdrop{margin-top:7px !important;} `); var crewID = document.querySelector("#content-header-row > div > table > tbody > tr:nth-child("+rownum+") > td:nth-child(1)").innerHTML.replaceAll(/"> response.text()) .then((response) => { var match = 'valign="top">(.*)<\/td.*[\n\r].*'+bossName var lastRaid = response.match(match) var lastRaidprint = '' if (lastRaid != null) lastRaidprint = Date.parse(lastRaid[1].replaceAll("-","/").replace(/\/22 /g,"/2022, ").replace("am",":00 AM").replace("pm",":00 PM").replace(/ 0/i," ")); var sinceLast = OWtime-lastRaidprint var crewName = document.querySelector("#content-header-row > div > table > tbody > tr:nth-child("+rownum+") > td:nth-child(1) > a > font").innerHTML.replace("'",""); var crewID = document.querySelector("#content-header-row > div > table > tbody > tr:nth-child("+rownum+") > td:nth-child(1)").innerHTML.replaceAll(/Actively Raiding` if (sinceLast > 149999) activeRaids = `Not Raiding` let td3 = document.createElement('td'); td3.innerHTML = activeRaids; insertAfter(td3, menu.lastElementChild); }) bossTable.rows[0].cells[2].innerHTML = `ESTIMATED DAMAGE` let percentage = document.querySelector("#content-header-row > div > table > tbody > tr:nth-child("+rownum+") > td:nth-child(2)").innerHTML.replace(/.*\(/i,"").replace("%)",""); var damage = document.querySelector("#content-header-row > div > table > tbody > tr:nth-child("+rownum+") > td:nth-child(2)").innerHTML.replace(/ \(.*%\)/g,"").replaceAll(",",""); let menu = document.querySelector("#content-header-row > div > table > tbody > tr:nth-child("+rownum+")"); let td1 = document.createElement('td'); td1.innerHTML = Math.round(lootCount*(percentage/100)); insertAfter(td1, menu.lastElementChild); const reducer = (accumulator, curr) => accumulator + curr var BaseDmgArray = []; var table = document.querySelector("#content-header-row > div > table").innerHTML var BaseMatch = table.matchAll(/
(.*) \(/g); for (const BaseMatchLoop of BaseMatch) { let BaseObj = [parseInt(BaseMatchLoop[1].replace(",","").replace(",","").replace(",",""))]; for (const BaseDmg of BaseObj) { BaseDmgArray.push(BaseDmg);}} var BaseNumbers = BaseDmgArray.map(Number) var SumOfBase = BaseNumbers.reduce(reducer) let td2 = document.createElement('td'); td2.innerHTML = Math.round(damage/SumOfBase*bossHP).toLocaleString("en-US"); insertAfter(td2, menu.children[2]); const header = document.querySelector("#content-header-row > h5") header.innerHTML = "
Health Remaining: "+(bossHP-SumOfBase).toLocaleString("en-US")+" ("+((bossHP-SumOfBase)/bossHP*100).toFixed(3)+"%)" }}} // moxximod boss raid main page if (document.URL.indexOf("crew_bossspawns") != -1 ) { GM_addStyle ( ` #content-header-row > div.col-12.layout-spacing{display: none !important;} `); var bossCount = $('#divCollections > div.row > div').length fetch("crew_profile") .then(response => response.text()) .then((response) => { var myCrew = response.match(/

.*<\/h2>/g) var myCrewID = response.match(/href="\/crew_raidresults\.php\?crewid=(.*)">Raid Results<\/a>/i) var bossHead = document.querySelector("#divHeader > h3") bossHead.innerHTML = " Moxxi Mod Raid Results" }) for (let bossNum = 1; bossNum < 1+bossCount; bossNum++) { var bossLink = document.querySelector("#divCollections > div.row > div:nth-child("+bossNum+") > div > div > div.user-info.w-100.pr-3 > p.card-user_occupation > a") var boss = ''; if (bossLink != null) boss = document.querySelector("#divCollections > div.row > div:nth-child("+bossNum+") > div > div > div.user-info.w-100.pr-3 > p.card-user_occupation > a") if (bossLink =! null){ fetch(boss) .then(response => response.text()) .then((response) => { var bossName = response.match(/

(.*)<\/h1>/i) if (bossName != null){ var bossHP = ''; if (bossName[1] == "Cosmos, Great All Being") bossHP = "100000000000" if (bossName[1] == "Death, Reaper of Souls") bossHP = "295000000000" if (bossName[1] == "Maekrix, Dreaded Striker") bossHP = "320000000000" if (bossName[1] == "Blackhand Reborn") bossHP = "570000000000" if (bossName[1] == "Zyrak, Vision of Madness") bossHP = "1200000000000" var crew1 = response.match(/(.*)<\/font>.*[\n\r].*

(.*) \(.*\)<\/font>/i); const reducer = (accumulator, curr) => accumulator + curr var BaseDmgArray = []; var BaseMatch = response.matchAll(/(.*) \(/g); for (const BaseMatchLoop of BaseMatch) { let BaseObj = [parseInt(BaseMatchLoop[1].replace(",","").replace(",","").replace(",",""))]; for (const BaseDmg of BaseObj) { BaseDmgArray.push(BaseDmg);}} var BaseNumbers = BaseDmgArray.map(Number) var SumOfBase = BaseNumbers.reduce(reducer) var cosmosPerc = ((bossHP-SumOfBase)/bossHP*100).toFixed(3) var cosmosRemain = Math.round(SumOfBase*cosmosPerc/(100-cosmosPerc)) document.querySelector("#divCollections > div.row > div:nth-child("+bossNum+") > div > div > div.user-info.w-100.pr-3 > p.card-text").innerHTML = "
Total Damage Dealt: "+SumOfBase.toLocaleString("en-US")+"
Leading Crew:
"+crew1[1]+"
"+crew1[2]+"
Health Remaining: "+cosmosRemain.toLocaleString("en-US")+'
'+cosmosPerc+"%" document.querySelector("#divCollections > div.row > div:nth-child("+bossNum+") > div > div > div.user-info.w-100.pr-3 > h3").innerHTML = ''+bossName[1]+'' document.querySelector("#divCollections > div.row > div:nth-child("+bossNum+") > div > div > div.user-info.w-100.pr-3 > p.card-user_occupation").innerHTML = '' }})};}} // moxximod raid results menu and styling if (document.URL.indexOf("crew_raidresults") != -1 ) { document.querySelector("#content-header-row > table > tbody > tr > td > form > p > input:nth-child(3)").setAttribute("value", "MoxxiMod raid results"); }; if (document.URL.indexOf("most_recent=MoxxiMod") != -1 ) { GM_addStyle ( `#content-header-row > table > tbody > tr > td > div > center > div > table{background:#0B0B0B !important;} td:nth-of-type(3){display: none;} td:nth-of-type(4){display: none;} td:nth-of-type(5){display: none;} `); var changeHeader0 = document.querySelector("#content-header-row > table > tbody > tr > td > div > center > div > table") changeHeader0.rows[0].cells[0].innerHTML = `TIME` var changeHeader1 = document.querySelector("#content-header-row > table > tbody > tr > td > div > center > div > table") changeHeader1.rows[0].cells[1].innerHTML = `RAID` // moxximod raid results header row function insertAfter2(newNode, existingNode) { existingNode.parentNode.insertBefore(newNode, existingNode.nextSibling); } let rrHead11 = document.querySelector("#content-header-row > table > tbody > tr > td > div > center > div > table > tbody > tr"); let tdHead11 = document.createElement('td'); tdHead11.innerHTML = `CHARS`; insertAfter2(tdHead11, rrHead11.lastElementChild); let rrHead1 = document.querySelector("#content-header-row > table > tbody > tr > td > div > center > div > table > tbody > tr"); let tdHead1 = document.createElement('td'); tdHead1.innerHTML = `DMG`; insertAfter2(tdHead1, rrHead1.lastElementChild); let rrHead2 = document.querySelector("#content-header-row > table > tbody > tr > td > div > center > div > table > tbody > tr"); let tdHead2 = document.createElement('td'); tdHead2.innerHTML = `AVG`; insertAfter2(tdHead2, rrHead2.lastElementChild); let rrHead6 = document.querySelector("#content-header-row > table > tbody > tr > td > div > center > div > table > tbody > tr"); let tdHead6 = document.createElement('td'); tdHead6.innerHTML = `BLOCK`; insertAfter2(tdHead6, rrHead6.lastElementChild); let rrHead7 = document.querySelector("#content-header-row > table > tbody > tr > td > div > center > div > table > tbody > tr"); let tdHead7 = document.createElement('td'); tdHead7.innerHTML = `BLOCK`; insertAfter2(tdHead7, rrHead7.lastElementChild); let rrHead13 = document.querySelector("#content-header-row > table > tbody > tr > td > div > center > div > table > tbody > tr"); let tdHead13 = document.createElement('td'); tdHead13.innerHTML = `SHIELD`; insertAfter2(tdHead13, rrHead13.lastElementChild); let rrHead14 = document.querySelector("#content-header-row > table > tbody > tr > td > div > center > div > table > tbody > tr"); let tdHead14 = document.createElement('td'); tdHead14.innerHTML = `ATKS`; insertAfter2(tdHead14, rrHead14.lastElementChild); let rrHead10 = document.querySelector("#content-header-row > table > tbody > tr > td > div > center > div > table > tbody > tr"); let tdHead10 = document.createElement('td'); tdHead10.innerHTML = `RNDS`; insertAfter2(tdHead10, rrHead10.lastElementChild); let rrHead12 = document.querySelector("#content-header-row > table > tbody > tr > td > div > center > div > table > tbody > tr"); let tdHead12 = document.createElement('td'); tdHead12.innerHTML = `SIN`; insertAfter2(tdHead12, rrHead12.lastElementChild); let rrHead5 = document.querySelector("#content-header-row > table > tbody > tr > td > div > center > div > table > tbody > tr"); let tdHead5 = document.createElement('td'); tdHead5.innerHTML = `HEALTH`; insertAfter2(tdHead5, rrHead5.lastElementChild); let rrHead4 = document.querySelector("#content-header-row > table > tbody > tr > td > div > center > div > table > tbody > tr"); let tdHead4 = document.createElement('td'); tdHead4.innerHTML = `LOOT`; insertAfter2(tdHead4, rrHead4.lastElementChild); // moxximod raid results data scrape var rrTable = document.querySelector("#content-header-row > table > tbody > tr > td > div > center > div > table"); var rrRowCount = 1+rrTable.rows.length; for (let rownum = 2; rownum < rrRowCount; rownum++) { let raidLink11 = ''; if (document.querySelector("#content-header-row > table > tbody > tr > td > div > center > div > table > tbody > tr:nth-child("+rownum+") > td:nth-child(5) > a") != null) raidLink11 = document.querySelector("#content-header-row > table > tbody > tr > td > div > center > div > table > tbody > tr:nth-child("+rownum+") > td:nth-child(5) > a"); let row11 = document.querySelector("#content-header-row > table > tbody > tr > td > div > center > div > table > tbody > tr:nth-child("+rownum+")") let chars11 = document.querySelector("#content-header-row > table > tbody > tr > td > div > center > div > table > tbody > tr:nth-child("+rownum+") > td:nth-child(3)").innerHTML; let raidNameCell = document.querySelector("#content-header-row > table > tbody > tr > td > div > center > div > table > tbody > tr:nth-child("+rownum+") > td:nth-child(2)"); let raidName = ''; if (raidNameCell != null) raidNameCell.innerHTML = ''+raidNameCell.innerHTML.replaceAll(/,.*/g,"").replaceAll(/of.*/g,"").replaceAll("The","").replaceAll(/the.*/g,"").replaceAll(/the.*/g,"")+''; let timeStampCell = document.querySelector("#content-header-row > table > tbody > tr > td > div > center > div > table > tbody > tr:nth-child("+rownum+") > td:nth-child(1)"); let timeStampName = ''; if (timeStampCell != null) timeStampCell.innerHTML = timeStampCell.innerHTML.replaceAll(/[0-9]+-[0-9]+-[0-9]+/g,""); GM_xmlhttpRequest ( { method: 'GET', url: raidLink11, onload: function (responseDetails) { var raidDmg11 = /Damage: ([0-9,]*)/; var printDmg11 = raidDmg11.exec(responseDetails.responseText); var raidDrops11 = /[0-9]+ items<\/a>/i; var printDrops11 = raidDrops11.exec(responseDetails.responseText); var drops11 = ''; if (printDrops11 == null) drops11 = `No items found` if (printDrops11 != null) drops11 = printDrops11[1] var raidHealth11 = /([0-9]+)%<\/span><\/div>.*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r]`+printHealth11[1]+`%` if (printHealth11[1] > 0) health11 = ``+printHealth11[1]+`%` fetch(raidLink11) .then(response => response.text()) .then((response) => { var attacks11 = response.match(/Base: [0-9]+/g).length; var blocks11 = response.match(/images\/block\.jpg/g); var eleblocks11 = response.match(/images\/block2\.jpg/g); var shields11 = response.match(/_ele_shield\.jpg/g); var dead11 = response.match(/images\/dead\.jpg/g); var rounds11 = response.match(/\/img\/skin\/Bar_separator_little\.png/g).length; var sincheck11 = response.match(/color:#CC0000;">(.*)<\/b>/i); const reducer = (accumulator, curr) => accumulator + curr var BaseDmgArray = []; var BaseMatch = response.matchAll(/onmouseover="popup\(event,.*Base: (.*)
" var FireDmgArray = []; var FireMatch = response.matchAll(/onmouseover="popup\(event,.*\+(.*) fire/g); for (const FireMatchLoop of FireMatch) { let FireObj = [parseInt(FireMatchLoop[1].replace(",",""))]; for (const FireDmg of FireObj) { FireDmgArray.push(FireDmg);}} var FireNumbers = FireDmgArray.map(Number) var FireDmgCheck = ''; if (FireNumbers != "") FireDmgCheck = FireNumbers if (FireNumbers == "") FireDmgCheck = [0] var SumOfFire = FireDmgCheck.reduce(reducer).toLocaleString("en-US"); var printFire = "+"+SumOfFire+" fire
" var ShadowDmgArray = []; var ShadowMatch = response.matchAll(/onmouseover="popup\(event,.*\+(.*) shadow/g); for (const ShadowMatchLoop of ShadowMatch) { let ShadowObj = [parseInt(ShadowMatchLoop[1].replace(",",""))]; for (const ShadowDmg of ShadowObj) { ShadowDmgArray.push(ShadowDmg);}} var ShadowNumbers = ShadowDmgArray.map(Number) var ShadowDmgCheck = ''; if (ShadowNumbers != "") ShadowDmgCheck = ShadowNumbers if (ShadowNumbers == "") ShadowDmgCheck = [0] var SumOfShadow = ShadowDmgCheck.reduce(reducer).toLocaleString("en-US"); var printShadow = "+"+SumOfShadow+" shadow
" var HolyDmgArray = []; var HolyMatch = response.matchAll(/onmouseover="popup\(event,.*\+(.*) holy/g); for (const HolyMatchLoop of HolyMatch) { let HolyObj = [parseInt(HolyMatchLoop[1].replace(",",""))]; for (const HolyDmg of HolyObj) { HolyDmgArray.push(HolyDmg);}} var HolyNumbers = HolyDmgArray.map(Number) var HolyDmgCheck = ''; if (HolyNumbers != "") HolyDmgCheck = HolyNumbers if (HolyNumbers == "") HolyDmgCheck = [0] var SumOfHoly = HolyDmgCheck.reduce(reducer).toLocaleString("en-US"); var printHoly = "+"+SumOfHoly+" holy
" var ArcaneDmgArray = []; var ArcaneMatch = response.matchAll(/onmouseover="popup\(event,.*\+(.*) arcane/g); for (const ArcaneMatchLoop of ArcaneMatch) { let ArcaneObj = [parseInt(ArcaneMatchLoop[1].replace(",",""))]; for (const ArcaneDmg of ArcaneObj) { ArcaneDmgArray.push(ArcaneDmg);}} var ArcaneNumbers = ArcaneDmgArray.map(Number) var ArcaneDmgCheck = ''; if (ArcaneNumbers != "") ArcaneDmgCheck = ArcaneNumbers if (ArcaneNumbers == "") ArcaneDmgCheck = [0] var SumOfArcane = ArcaneDmgCheck.reduce(reducer).toLocaleString("en-US"); var printArcane = "+"+SumOfArcane+" arcane
" var KineticDmgArray = []; var KineticMatch = response.matchAll(/onmouseover="popup\(event,.*\+(.*) kinetic/g); for (const KineticMatchLoop of KineticMatch) { let KineticObj = [parseInt(KineticMatchLoop[1].replace(",",""))]; for (const KineticDmg of KineticObj) { KineticDmgArray.push(KineticDmg);}} var KineticNumbers = KineticDmgArray.map(Number) var KineticDmgCheck = ''; if (KineticNumbers != "") KineticDmgCheck = KineticNumbers if (KineticNumbers == "") KineticDmgCheck = [0] var SumOfKinetic = KineticDmgCheck.reduce(reducer).toLocaleString("en-US"); var printKinetic = "+"+SumOfKinetic+" kinetic
" var VileDmgArray = []; var VileMatch = response.matchAll(/onmouseover="popup\(event,.*\+(.*) vile/g); for (const VileMatchLoop of VileMatch) { let VileObj = [parseInt(VileMatchLoop[1].replace(",",""))]; for (const VileDmg of VileObj) { VileDmgArray.push(VileDmg);}} var VileNumbers = VileDmgArray.map(Number) var VileDmgCheck = ''; if (VileNumbers != "") VileDmgCheck = VileNumbers if (VileNumbers == "") VileDmgCheck = [0] var SumOfVile = VileDmgCheck.reduce(reducer).toLocaleString("en-US"); var printVile = "+"+SumOfVile+" vile energy
" var ChaosDmgArray = []; var ChaosMatch = response.matchAll(/onmouseover="popup\(event,.*\+(.*) chaos/g); for (const ChaosMatchLoop of ChaosMatch) { let ChaosObj = [parseInt(ChaosMatchLoop[1].replace(",",""))]; for (const ChaosDmg of ChaosObj) { ChaosDmgArray.push(ChaosDmg);}} var ChaosNumbers = ChaosDmgArray.map(Number) var ChaosDmgCheck = ''; if (ChaosNumbers != "") ChaosDmgCheck = ChaosNumbers if (ChaosNumbers == "") ChaosDmgCheck = [0] var SumOfChaos = ChaosDmgCheck.reduce(reducer).toLocaleString("en-US"); var printChaos = "+"+SumOfChaos+" chaos" var totdead11 = ''; if (dead11 != null) totdead11 = (dead11.length).toFixed(0) if (dead11 == null) totdead11 += "0" var shieldrate11 = ''; if (shields11 != null) shieldrate11 = (shields11.length/attacks11*100).toFixed(1) if (shields11 == null) shieldrate11 += "0.0" var sin11 = ''; if (sincheck11[1] != "0") sin11 += "No" if (sincheck11[1] == "0") sin11 += "Yes" var blockrate11 = ''; if (blocks11 != null) blockrate11 += (blocks11.length/attacks11*100).toFixed(1) if (blocks11 == null) blockrate11 += "0.0" var eleblockrate11 = ''; if (eleblocks11 != null) eleblockrate11 = (eleblocks11.length/attacks11*100).toFixed(1) if (eleblocks11 == null) eleblockrate11 += "0.0" let td112 = document.createElement('td'); td112.innerHTML = chars11+" (🕱"+totdead11+")"; insertAfter2(td112, row11.lastElementChild); var damage11 = printDmg11[1]; let td11 = document.createElement('td'); td11.innerHTML = ``+damage11; insertAfter2(td11, row11.lastElementChild); var cells11 = row11.getElementsByTagName("td"); let td12 = document.createElement('td'); var td12comma = Math.floor(printDmg11[1].replace(/,/g, '')/cells11[2].innerText); td12.textContent = td12comma.toLocaleString("en-US"); insertAfter2(td12, row11.lastElementChild); let td61 = document.createElement('td'); td61.innerHTML = blockrate11+"%"; insertAfter2(td61, row11.lastElementChild); let td71 = document.createElement('td'); td71.innerHTML = eleblockrate11+"%"; insertAfter2(td71, row11.lastElementChild); let td111 = document.createElement('td'); td111.innerHTML = shieldrate11+"%"; insertAfter2(td111, row11.lastElementChild); let td13 = document.createElement('td'); td13.innerHTML = attacks11; insertAfter2(td13, row11.lastElementChild); let td91 = document.createElement('td'); td91.innerHTML = rounds11; insertAfter2(td91, row11.lastElementChild); let td101 = document.createElement('td'); td101.innerHTML = sin11; insertAfter2(td101, row11.lastElementChild); let td51 = document.createElement('td'); td51.innerHTML = health11; insertAfter2(td51, row11.lastElementChild); let td41 = document.createElement('td'); td41.innerHTML = drops11.replaceAll(/Amulet Chest \(.*\),/g,"").replaceAll(/,/g,"
"); insertAfter2(td41, row11.lastElementChild); });}})}} // world function doc_keyUp(e) { if (e.key === '1') { document.querySelector("#roomDetails > ul > li:nth-child(1) > div > div.ml-3.d-block.align-self-center > a > img").click();} if (e.key === '2') { document.querySelector("#roomDetails > ul > li:nth-child(2) > div > div.ml-3.d-block.align-self-center > a > img").click();} if (e.key === '3') { document.querySelector("#roomDetails > ul > li:nth-child(3) > div > div.ml-3.d-block.align-self-center > a > img").click();} if (e.key === '4') { document.querySelector("#roomDetails > ul > li:nth-child(4) > div > div.ml-3.d-block.align-self-center > a > img").click();} if (e.key === '5') { document.querySelector("#roomDetails > ul > li:nth-child(5) > div > div.ml-3.d-block.align-self-center > a > img").click();} if (e.key === '6') { document.querySelector("#roomDetails > ul > li:nth-child(6) > div > div.ml-3.d-block.align-self-center > a > img").click();} if (e.key === '7') { document.querySelector("#roomDetails > ul > li:nth-child(7) > div > div.ml-3.d-block.align-self-center > a > img").click();} if (e.key === '8') { document.querySelector("#roomDetails > ul > li:nth-child(8) > div > div.ml-3.d-block.align-self-center > a > img").click();} if (e.key === '9') { document.querySelector("#roomDetails > ul > li:nth-child(9) > div > div.ml-3.d-block.align-self-center > a > img").click();}} document.addEventListener('keyup', doc_keyUp, false); if ( document.URL.indexOf("world") != -1 ) { let observer = new MutationObserver(mutationRecords => { attackframe() }); observer.observe(roomid_display, { childList: true, subtree: true, characterDataOldValue: true }); function attackframe(){ $('a[target="_blank"]').prop("target", "attack"); };} if (document.URL.indexOf("plrattack") != -1 ) { $("#sidebar").hide() $("body > center > div.sub-header-container").hide() $("body > center > div.header-container.fixed-top").hide() $("#ranks-filters > form > div").hide() GM_addStyle ( ` #container{background:#0B0B0B !important;} #content > div.layout-px-spacing{margin-top: -50px !important;background:#0B0B0B !important;} .mr-3, .mx-3 {margin-right: 0rem!important;} #content-header-row > center{zoom: 90% !important;} ` );} if ( document.URL.indexOf("world") != -1 ) { var theImage8; theImage8 = document.querySelector("#content-header-row > div.col-xl-5.col-lg-12.col-md-6.col-sm-12.col-12.layout-spacing.px-1 > div > div.widget-content > div.room-top") theImage8.innerHTML = '
'} if ( document.URL.indexOf("world") != -1 ) { document.querySelector("#roomDetails").onclick = function() {$("iframe").height(450)}} if ( document.URL.indexOf("world") != -1 ) { GM_addStyle ( ` #roomDetails > ul > li > div > div.mr-3 > img {display:none !important;} #ranks > li > div > div.mr-3 > div > div.rank-row-image > a{width: 0px !important;} #ranks > li > div > div.media-body{text-align: left !important;} .mr-3, .mx-3 {margin-right: 0rem!important;} #content-header-row > div.col-xl-5.col-lg-12.col-md-6.col-sm-12.col-12.layout-spacing.px-1 > div > div.widget-content > div.room-middle{display:none !important;} .spawnRow{padding-top:0px !important;padding-bottom:0px !important;} #roomDetails > ul > li { display: block !important; list-style-type: disc !important; margin-block-start: 0em !important; margin-block-end: 0em !important; margin-inline-start: 0px !important; margin-inline-end: 0px !important; padding-inline-start: 0px !important; } ` );} if ( document.URL.indexOf("plrattack") != -1 ) { GM_addStyle ( `#result_notice_window { zoom: 225% !important; top: -0px !important; ; left: 15px !important; top: -17px !important; }` );} // redefined if ( document.URL.indexOf("scratch_ticket") != -1 ) { var theImage2; theImage2 = document.querySelector("#content > div.layout-px-spacing") theImage2.innerHTML = '
' + '' + '
'} // sess id var byptlink = document.querySelector("#accordionExample > a"); var sessid = byptlink.href.replace(/https:\/\/rampidgaming.outwar.com\/stripe_buy\?game=ow&outwar=0&wsrv=\$subDomain&lvl=\$user\[level]&rg_sess_id=/, ' '); var bypplink = document.querySelector("#components > li:nth-child(12) > a") // custom side menu var theImage; theImage = document.querySelector("#sidebar"); theImage.innerHTML = '
' + '
' + '
' + '

' var servername = window.location.hostname.split(".")[0]; setTimeout(function() { $("span:contains('SERVER')").text(servername); }, 10); // currency toolbar GM_xmlhttpRequest ( { method: 'GET', url: 'https://torax.outwar.com/ajax/backpackcontents.php?tab=quest', onload: function (responseDetails) { const ammyID = /Amulet of Achievement" data-itemqty="([0-9]*)"/g; const ammyRes = ammyID.exec(responseDetails.responseText); const badgeID = /Badge Reputation" data-itemqty="([0-9]*)"/g; const badgeRes = badgeID.exec(responseDetails.responseText); fetch('ajax/challenge_status.php') .then(response => response.text()) .then((response) => { var claimed = response.match(/tokens":"(.*)","p_tokens"/i) var freeTok = ''; if (claimed[1] < 30) freeTok = claimed[1] if (claimed[1] > 29) freeTok = ""+claimed[1]+"" var ammyPrint = ''; if (ammyRes != null) ammyPrint = ammyRes[1] if (ammyRes == null) ammyPrint = "0" var badgePrint = ''; if (badgeRes != null) badgePrint = badgeRes[1] if (badgeRes == null) badgePrint ="0" var ammyCnt = ammyPrint var ammy = ammyCnt; var badgeCnt = badgePrint var badge = ''; if (badgeCnt < 15) badge = badgeCnt if (badgeCnt > 14) badge = ''+badgeCnt+'' var goldPrint = document.body.innerHTML.match(/
Gold:<\/b><\/td>(.*)<\/td><\/tr>/i); var pbPrint = document.body.innerHTML.match(/
Points:<\/b><\/td>(.*)<\/font><\/td><\/tr>/i); var prPrint = document.body.innerHTML.match(/
Premium:<\/b><\/td>(.*)\.<\/font>/i); var tkPrint = document.body.innerHTML.match(/
Tokens:<\/b><\/td>(.*)<\/font>/i); var skPrint = document.body.innerHTML.match(/
Skill:<\/b><\/td>(.*)<\/td><\/tr>/i); const theImage = document.querySelector("body > center > div.sub-header-container > header > ul.navbar-nav.flex-row.mr-auto.toolbar-nav > li:nth-child(4)"); theImage.innerHTML = `` } )}} ); function insertAfter2(newNode, existingNode) { existingNode.parentNode.insertBefore(newNode, existingNode.nextSibling); } let menu = document.querySelector("body > center > div.sub-header-container > header > ul.navbar-nav.flex-row.mr-auto.toolbar-nav"); let li = document.createElement('li'); li.textContent = ''; insertAfter2(li, menu.children[2]); // moxximod page if ( document.URL.indexOf("crew_apply") != -1 ) { var theImage11; theImage11 = document.querySelector("#content") theImage11.innerHTML = '
' + '

' + '

' + 'MoxxiMod is a userscript written to improve the gaming user interface and player experience

' + 'The code is a combination of CSS (cascading style sheets) and JS (javascript)

' + 'MoxxiMod is 100% free

' + 'If you want to support, please send points to Moxxi

' + 'For help with setup or to report a bug, join our Discord server

' + 'Click Here for the latest scripts

' + '
' + '

BIG THANK YOU FOR THE TECHNICAL DEV SUPPORT

Beast666007, Bello, CarminT' + '

AND THANK YOU TO THE BETA TESTERS

Rhino, Andreas, Brillo, Dkgoon
StarFox, Kevin, Kriminal, Shawn
Tyler, Xafloc, Jalek, Rodeo
StarPower, TeddyPain, TheStud'+ '

' } // toolbar skills GM_xmlhttpRequest ( { method: 'GET', url: 'https://torax.outwar.com/profile', onload: function (responseDetails) { const skill0 = /'; if (circ != null) skills += circ+'
'; if (markdown != null) skills += markdown+'
'; if (hitman != null) skills += hitman+'
'; if (haste != null) skills += haste+'
'; if (street != null) skills += street+'
'; if (onguard != null) skills += onguard+'
'; if (questexp != null) skills += questexp+'
'; if (spree != null) skills += spree+'
'; if (masterF != null) skills += masterF+'
'; if (masterP != null) skills += masterP+'
'; if (masterA != null) skills += masterA+'
'; if (chaosMin != null) skills += chaosMin+'
'; if (chaosMaj != null) skills += chaosMaj+'
'; if (bfa != null) skills += bfa+'
'; if (endFlask != null) skills += endFlask+'
'; if (skills == "") skills += "void" // skills tooltab if (skills != "void"){ $("body").append ( `
SKILLS

`+skills+`

` );} // recent raid tooltab if (document.location.href.indexOf('characters') === -1){ fetch('/profile') .then(response => response.text()) .then((response) => {var myCrewID = response.match(//).toString().replace(//,"") var raidLink ='/crew_raidresults.php?all_results=Display+all+raid+results&crewid='+myCrewID fetch(raidLink) .then(response => response.text()) .then((response) => { var myLastRaid = ''; if (response.match(/View<\/a>/) != null) myLastRaid = response.match(/View<\/a>/).toString().replace(/View<\/a>/,"") if (response.match(/View<\/a>/) == null) myLastRaid = "void" if (myLastRaid != "void"){ fetch(myLastRaid) .then(response => response.text()) .then((response) => { var raidMob = response.match(/

(.*)<\/h4>.*[\n\r].*[\n\r].*
.*[\n\r](.*)/i) var crewName = response.match(/.*(.*) has (.*)!<\/b>/i) var raidLoot = ''; if (response.match(/onmouseover="popup\(event,'(.*)<\/b>/i) != null) raidLoot = response.match(/onmouseover="popup\(event,'(.*)<\/b>/i) if (response.match(/onmouseover="popup\(event,'(.*)<\/b>/i) == null) raidLoot = "void" var raidLoot2 = ''; if (raidLoot != "void") raidLoot2 = raidLoot[1].toString().replace(/<\/b>'\)" onmouseout="kill\(\)">.*/i,"").replaceAll(/
/g,", ") if (raidLoot == "void") raidLoot2 = "Nothing" var raidResult = ''; if (crewName[2] == "lost") raidResult = "lost to" if (crewName[2] == "won") raidResult = "defeated" $("body").append ( `
` ); })}})})}}}) // extra if (document.URL.indexOf("726169") != -1 ) { GM_addStyle ( ` #divProfile > div:nth-child(2) > div > div > div.col-xl-4.col-md-5 > div > div:nth-child(2) > div > div > div:nth-child(2) > img{content: url("https://studiomoxxi.com/ow_themes/custom_jobs/classic_01/disa_head.png") !important;}` ); }; // server switch link var server = window.location.href; var server2 = server.replace(/\.outwar\.com.*/, ''); var server3 = server2.replace(/http.*:\/\//, ''); GM_xmlhttpRequest ( { method: 'GET', url: 'https://torax.outwar.com/myaccount.php?ac_serverid=2', onload: function (responseDetails) { const toraxGet = /https:\/\/torax\.outwar\.com\/world\?suid=[0-9]+&serverid=2/i; const toraxGetPrint = toraxGet.exec(responseDetails.responseText); GM_xmlhttpRequest ( { method: 'GET', url: 'https://torax.outwar.com/myaccount.php?ac_serverid=1', onload: function (responseDetails) { const sigilGet = /https:\/\/sigil\.outwar\.com\/world\?suid=[0-9]+&serverid=1/i; const sigilGetPrint = sigilGet.exec(responseDetails.responseText); var torax = "torax"; var sigil = "sigil"; var servSwitch = ''; if (server3 != torax) servSwitch += toraxGetPrint+"#"; if (server3 != sigil) servSwitch += sigilGetPrint+"#"; let serverGo1 = servSwitch.replace("null", ""); let serverGo2 = serverGo1.replace("world", "home"); var otherServ = ''; if (server3 != torax) otherServ = torax; if (server3 != sigil) otherServ = sigil; // toolbar supplies notification GM_xmlhttpRequest ( { method: 'GET', url: 'https://outwar.com/supplies', onload: function (responseDetails) { const supplies = /[\n\r](.*)%<\/td>/i; const suppliesPrint = supplies.exec(responseDetails.responseText); let result; if (suppliesPrint[1] < 100) { result = 'positive'; } else { result = null; } var suppliesPOP = ''; if (result != null) suppliesPOP += ``; // toolbar strength notification GM_xmlhttpRequest ( { method: 'GET', url: 'https://outwar.com/profile', onload: function (responseDetails) { const strength = /event,'Strength: ([0-9]+)'/i; const strengthPrint = strength.exec(responseDetails.responseText); let resultStr; if (strengthPrint[1] < 100) { resultStr = 'positive'; } else { resultStr = null; } var strengthtb = ''; if (resultStr != null) strengthtb += ``; // toolbar gladiator notification fetch('/gladiator?mobid=4391') .then(response => response.text()) .then((response) => { var vorkCheck = response.match(/Will retreat in/i); var vork = ''; if (vorkCheck != null) vork += ``; fetch('/gladiator?mobid=3991') .then(response => response.text()) .then((response) => { var zerxCheck = response.match(/Will retreat in/i); var zerx = ''; if (zerxCheck != null) zerx += ``; // toolbar brawl notification GM_xmlhttpRequest ( { method: 'GET', url: 'https://outwar.com/closedpvp', onload: function (responseDetails) { const brawlCheck = /images\/atk_player_icon\.jpg/i; const brawlPrint = brawlCheck.exec(responseDetails.responseText); var brawl = ''; if (brawlPrint != null) brawl += ``; // toolbar boss notification fetch('/crew_bossspawns') .then(response => response.text()) .then((response) => { const cosmos = response.match(/images\/CosmosGreatAllBeing\.jpg/i); const death = response.match(/images\/DeathReaperOfSouls\.jpg/i); const maekrix = response.match(/images\/MaekrixDreadedStriker\.jpg/i); const blackhand = response.match(/images\/BlackhandReborn\.png/i); const zyrak = response.match(/images\/velserverboss\.jpg/i); const cosmosh = response.match(/Cosmos, Great All Being.*[\n\r].*[\n\r].*[\n\r].*[\n\r].*p class="card-user_occupation"> (.*)/i); const deathh = response.match(/Death, Reaper of Souls.*[\n\r].*[\n\r].*[\n\r].*[\n\r].*p class="card-user_occupation"> (.*)/i); const maekrixh = response.match(/Maekrix, Dreaded Striker.*[\n\r].*[\n\r].*[\n\r].*[\n\r].*p class="card-user_occupation"> (.*)/i); const blackhandh = response.match(/Blackhand Reborn.*[\n\r].*[\n\r].*[\n\r].*[\n\r].*p class="card-user_occupation"> (.*)/i); const zyrakh = response.match(/Zyrak, Vision of Madness.*[\n\r].*[\n\r].*[\n\r].*[\n\r].*p class="card-user_occupation"> (.*)/i); const cosmoss = response.match(/Cosmos, Great All Being.*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*()\(stats\)<\/a>/i); const deaths = response.match(/Death, Reaper of Souls.*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*()\(stats\)<\/a>/i); const maekrixs = response.match(/Maekrix, Dreaded Striker.*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*()\(stats\)<\/a>/i); const blackhands = response.match(/Blackhand Reborn.*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*()\(stats\)<\/a>/i); const zyraks = response.match(/Zyrak, Vision of Madness.*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*()\(stats\)<\/a>/i); var boss = ''; if (cosmos != null) boss += cosmoss[1]+``; if (death != null) boss += deaths[1]+``; if (maekrix != null) boss += maekrixs[1]+``; if (blackhand != null) boss += blackhands[1]+``; if (zyrak != null) boss += zyraks[1]+``; // toolbar god notification fetch('/raidtools') .then(response => response.text()) .then((response) => { const god1imgPRINT = response.match(/onclick="sendTeleportRequest.*(images.*)" border.*/i); const god1txtPRINT = response.match(/onclick="sendTeleportRequest.*[\n\r].*Teleport to (.*)<\/font>/i); const god2imgPRINT = response.match(/onclick="sendTeleportRequest.*[\n\r].*[\n\r].*(images.*)" border.*/i); const god2txtPRINT = response.match(/onclick="sendTeleportRequest.*[\n\r].*[\n\r].*[\n\r].*Teleport to (.*)<\/font>/i); const god3imgPRINT = response.match(/onclick="sendTeleportRequest.*[\n\r].*[\n\r].*[\n\r].*[\n\r].*(images.*)" border.*/i); const god3txtPRINT = response.match(/onclick="sendTeleportRequest.*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*Teleport to (.*)<\/font>/i); const god4imgPRINT = response.match(/onclick="sendTeleportRequest.*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*(images.*)" border.*/i); const god4txtPRINT = response.match(/onclick="sendTeleportRequest.*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*Teleport to (.*)<\/font>/i); const god5imgPRINT = response.match(/onclick="sendTeleportRequest.*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*(images.*)" border.*/i); const god5txtPRINT = response.match(/onclick="sendTeleportRequest.*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*Teleport to (.*)<\/font>/i); const god6imgPRINT = response.match(/onclick="sendTeleportRequest.*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*(images.*)" border.*/i); const god6txtPRINT = response.match(/onclick="sendTeleportRequest.*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*Teleport to (.*)<\/font>/i); const god7imgPRINT = response.match(/onclick="sendTeleportRequest.*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*(images.*)" border.*/i); const god7txtPRINT = response.match(/onclick="sendTeleportRequest.*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*Teleport to (.*)<\/font>/i); var gods = ''; if (god1imgPRINT != null) gods += ``; if (god2imgPRINT != null) gods += ``; if (god3imgPRINT != null) gods += ``; if (god4imgPRINT != null) gods += ``; if (god5imgPRINT != null) gods += ``; if (god6imgPRINT != null) gods += ``; if (god7imgPRINT != null) gods += ``; // all toolbar document.querySelector("body > center > div.sub-header-container > header > ul.navbar-nav.flex-row.mr-auto.toolbar-nav > li.nav-item.more-dropdown.little-space.hide-on-mob.progress-top").innerHTML = ''+ ''+ ''+ '
toolbar1
toolbar2
' document.querySelector("#toolbar1").innerHTML = '
' + `` + ''+ ''+ '' + '
' document.querySelector("#toolbar2").innerHTML = '
'+ gods+boss+zerx+vork+suppliesPOP+strengthtb+brawl+ '
' })})}})})})}})}}); // homepage rankings if ( document.URL.indexOf("outwar.com/home") != -1 ) { function insertBefore(newNode, existingNode) { let sp2 = document.querySelector("#content-header-row > div.bio.col-lg-8.col-md-8.col-sm-12.col-12.layout-spacing.layout-spacing > div.widget-content.widget-content-area.text-left > div > div > div:nth-child(2) > div > div:nth-child(1)"); existingNode.parentNode.insertBefore(newNode, sp2); } fetch('/crew_profile') .then(response => response.text()) .then((response) => {var crewName = response.match(/

.*<\/h4>/).toString().replace(/

/,"").replace(/<\/h4>/,"") let menu = document.querySelector("#content-header-row > div.bio.col-lg-8.col-md-8.col-sm-12.col-12.layout-spacing.layout-spacing > div.widget-content.widget-content-area.text-left > div > div > div:nth-child(2) > div") var homepageEQ = '
' + '' + '' + ''+ '
CHAR: POWER
CHAR: ELE DMG
CHAR: CHAOS DMG
' + '

' + '' + '' + '' + '
CREW: POWER
CREW: ELE DMG
CREW: CHAOS DMG
' var myName = document.querySelector("#select2-charselectdropdown-container").innerHTML let div = document.createElement('div'); div.innerHTML += homepageEQ; insertBefore(div, menu.children[0]); if ( document.URL.indexOf("outwar.com/home") != -1 ) { GM_xmlhttpRequest ( { method: 'GET', url: 'https://torax.outwar.com/ajax/rankings?type=crew_power', onload: function (responseDetails) { const EQ = /\{.*/i; const EQprint = EQ.exec(responseDetails.responseText); var isLoading = false; function selectCategory(category, title, isCrew) { if(isLoading) return; $('#rank-title').html(title); $('#ranks').hide(); $('#ranks').html(''); $('#last-updated').html(''); isLoading = true; $.getJSON('/ajax/rankings.php?type=' + category, function(data) { var isOdd = true; $.each(data.results, function(key, value) { if(isCrew) { var profileUrl = 'crew_profile?id=' + value.id; } else { var profileUrl = 'characters/' + value.id; } var rowClass = isOdd ? 'rank-row-odd' : 'rank-row-even'; var stat = '0'; if(value.stat ) { stat = value.stat.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",") } var html = '
  • ' + '
    ' + '
    ' + '
    ' + '
    ' + value.rank + '
    ' + '
    ' + '' + '' + '
    ' + '
    '+ stat +'
    ' + '
    ' + '
  • ' var rankSearch1 = document.querySelector("#rankings_home") rankSearch1.innerHTML = rankSearch1.innerHTML.replace(myName,"
    "+myName+"
    ") $('#rankings_home').append(html); isOdd = !isOdd; }); isLoading = false; $('#last-updated').html('
    Last updated: ' + data.timestamp); $('#ranks').show(); }, "json"); } $( document ).ready(function() { var selO = $('option[value="char_power"]');selectCategory('char_power', selO.html()); $( ".rank-sel2" ).change(function() { if($( this ).val() == '') return; var isCrew = $( this ).attr('iscrew') == '1'; selectCategory($( this ).val(), $(this).find("option:selected").text(), isCrew); }); }); GM_xmlhttpRequest ( { method: 'GET', url: 'https://torax.outwar.com/ajax/rankings?type=char_elepower', onload: function (responseDetails) { const EQ = /\{.*/i; const EQprint = EQ.exec(responseDetails.responseText); var isLoading = false; function selectCategory(category, title, isCrew) { if(isLoading) return; $('#rank-title').html(title); $('#ranks').hide(); $('#ranks').html(''); $('#last-updated').html(''); isLoading = true; $.getJSON('/ajax/rankings.php?type=char_elepower', function(data) { var isOdd = true; $.each(data.results, function(key, value) { if(isCrew) { var imgurl = data.baseimageurl + "/" + value.pic; var profileUrl = 'crew_profile?id=' + value.id; } else { var imgurl = data.baseimageurl + "/uploaded/" + value.pic; var profileUrl = 'characters/' + value.id; } if(value.pic == '' || value.pic == null) imgurl = '/images/gangster1.jpg'; var rowClass = isOdd ? 'rank-row-odd' : 'rank-row-even'; var stat = '0'; if(value.stat ) { stat = value.stat.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",") } var html = '
  • ' + '
    ' + '
    ' + '
    ' + '
    ' + value.rank + '
    ' + '
    ' + '' + '' + '
    ' + '
    '+ stat +'
    ' + '
    ' + '
  • ' var rankSearch1 = document.querySelector("#rankings_charele") rankSearch1.innerHTML = rankSearch1.innerHTML.replace(myName,"
    "+myName+"
    ") $('#rankings_charele').append(html); isOdd = !isOdd; }); isLoading = false; $('#last-updated').html('
    Last updated: ' + data.timestamp); $('#ranks').show(); }, "json"); } $( document ).ready(function() { var selO = $('option[value="char_power"]');selectCategory('char_power', selO.html()); $( ".rank-sel2" ).change(function() { if($( this ).val() == '') return; var isCrew = $( this ).attr('iscrew') == '1'; selectCategory($( this ).val(), $(this).find("option:selected").text(), isCrew); }); }); GM_xmlhttpRequest ( { method: 'GET', url: 'https://torax.outwar.com/ajax/rankings?type=crew_power', onload: function (responseDetails) { const EQ = /\{.*/i; const EQprint = EQ.exec(responseDetails.responseText); var isLoading = false; function selectCategory(category, title, isCrew) { if(isLoading) return; $('#rank-title').html(title); $('#ranks').hide(); $('#ranks').html(''); $('#last-updated').html(''); isLoading = true; $.getJSON('/ajax/rankings.php?type=crew_power', function(data) { var isOdd = true; $.each(data.results, function(key, value) { if(isCrew) { var imgurl = data.baseimageurl + "/" + value.pic; var profileUrl = 'crew_profile?id=' + value.id; } else { var imgurl = data.baseimageurl + "/uploaded/" + value.pic; var profileUrl = 'crew_profile?id=' + value.id; } if(value.pic == '' || value.pic == null) imgurl = '/images/gangster1.jpg'; var rowClass = isOdd ? 'rank-row-odd' : 'rank-row-even'; var stat = '0'; if(value.stat ) { stat = value.stat.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",") } var html = '
  • ' + '
    ' + '
    ' + '
    ' + '
    ' + value.rank + '
    ' + '
    ' + '' + '' + '
    ' + '
    '+ stat +'
    ' + '
    ' + '
  • ' var rankSearch1 = document.querySelector("#rankings_crewpow") rankSearch1.innerHTML = rankSearch1.innerHTML.replace(crewName,"
    "+crewName+"
    ") $('#rankings_crewpow').append(html); isOdd = !isOdd; }); isLoading = false; $('#last-updated').html('
    Last updated: ' + data.timestamp); $('#ranks').show(); }, "json"); } $( document ).ready(function() { var selO = $('option[value="char_power"]');selectCategory('char_power', selO.html()); $( ".rank-sel2" ).change(function() { if($( this ).val() == '') return; var isCrew = $( this ).attr('iscrew') == '1'; selectCategory($( this ).val(), $(this).find("option:selected").text(), isCrew); }); }); GM_xmlhttpRequest ( { method: 'GET', url: 'https://torax.outwar.com/ajax/rankings?type=crew_elepower', onload: function (responseDetails) { const EQ = /\{.*/i; const EQprint = EQ.exec(responseDetails.responseText); var isLoading = false; function selectCategory(category, title, isCrew) { if(isLoading) return; $('#rank-title').html(title); $('#ranks').hide(); $('#ranks').html(''); $('#last-updated').html(''); isLoading = true; $.getJSON('/ajax/rankings.php?type=crew_elepower', function(data) { var isOdd = true; $.each(data.results, function(key, value) { if(isCrew) { var imgurl = data.baseimageurl + "/" + value.pic; var profileUrl = 'crew_profile?id=' + value.id; } else { var imgurl = data.baseimageurl + "/uploaded/" + value.pic; var profileUrl = 'crew_profile?id=' + value.id; } if(value.pic == '' || value.pic == null) imgurl = '/images/gangster1.jpg'; var rowClass = isOdd ? 'rank-row-odd' : 'rank-row-even'; var stat = '0'; if(value.stat ) { stat = value.stat.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",") } var html = '
  • ' + '
    ' + '
    ' + '
    ' + '
    ' + value.rank + '
    ' + '
    ' + '' + '' + '
    ' + '
    '+ stat +'
    ' + '
    ' + '
  • ' var rankSearch1 = document.querySelector("#rankings_crewele") rankSearch1.innerHTML = rankSearch1.innerHTML.replace(crewName,"
    "+crewName+"
    ") $('#rankings_crewele').append(html); isOdd = !isOdd; }); isLoading = false; $('#last-updated').html('
    Last updated: ' + data.timestamp); $('#ranks').show(); }, "json"); } $( document ).ready(function() { var selO = $('option[value="char_power"]');selectCategory('char_power', selO.html()); $( ".rank-sel2" ).change(function() { if($( this ).val() == '') return; var isCrew = $( this ).attr('iscrew') == '1'; selectCategory($( this ).val(), $(this).find("option:selected").text(), isCrew); }); }); GM_xmlhttpRequest ( { method: 'GET', url: 'https://torax.outwar.com/ajax/rankings?type=char_chaos', onload: function (responseDetails) { const EQ = /\{.*/i; const EQprint = EQ.exec(responseDetails.responseText); var isLoading = false; function selectCategory(category, title, isCrew) { if(isLoading) return; $('#rank-title').html(title); $('#ranks').hide(); $('#ranks').html(''); $('#last-updated').html(''); isLoading = true; $.getJSON('/ajax/rankings.php?type=char_chaos', function(data) { var isOdd = true; $.each(data.results, function(key, value) { if(isCrew) { var imgurl = data.baseimageurl + "/" + value.pic; var profileUrl = 'crew_profile?id=' + value.id; } else { var imgurl = data.baseimageurl + "/uploaded/" + value.pic; var profileUrl = 'characters/' + value.id; } if(value.pic == '' || value.pic == null) imgurl = '/images/gangster1.jpg'; var rowClass = isOdd ? 'rank-row-odd' : 'rank-row-even'; var stat = '0'; if(value.stat ) { stat = value.stat.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",") } var html = '
  • ' + '
    ' + '
    ' + '
    ' + '
    ' + value.rank + '
    ' + '
    ' + '' + '' + '
    ' + '
    '+ stat +'
    ' + '
    ' + '
  • ' var rankSearch1 = document.querySelector("#rankings_charchaos") rankSearch1.innerHTML = rankSearch1.innerHTML.replace(myName,"
    "+myName+"
    ") $('#rankings_charchaos').append(html); isOdd = !isOdd; }); isLoading = false; $('#last-updated').html('
    Last updated: ' + data.timestamp); $('#ranks').show(); }, "json"); } $( document ).ready(function() { var selO = $('option[value="char_power"]');selectCategory('char_power', selO.html()); $( ".rank-sel2" ).change(function() { if($( this ).val() == '') return; var isCrew = $( this ).attr('iscrew') == '1'; selectCategory($( this ).val(), $(this).find("option:selected").text(), isCrew); }); }); GM_xmlhttpRequest ( { method: 'GET', url: 'https://torax.outwar.com/ajax/rankings?type=crew_chaos', onload: function (responseDetails) { const EQ = /\{.*/i; const EQprint = EQ.exec(responseDetails.responseText); var isLoading = false; function selectCategory(category, title, isCrew) { if(isLoading) return; $('#rank-title').html(title); $('#ranks').hide(); $('#ranks').html(''); $('#last-updated').html(''); isLoading = true; $.getJSON('/ajax/rankings.php?type=crew_chaos', function(data) { var isOdd = true; $.each(data.results, function(key, value) { if(isCrew) { var imgurl = data.baseimageurl + "/" + value.pic; var profileUrl = 'crew_profile?id=' + value.id; } else { var imgurl = data.baseimageurl + "/uploaded/" + value.pic; var profileUrl = 'crew_profile?id=' + value.id; } if(value.pic == '' || value.pic == null) imgurl = '/images/gangster1.jpg'; var rowClass = isOdd ? 'rank-row-odd' : 'rank-row-even'; var stat = '0'; if(value.stat ) { stat = value.stat.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",") } var html = '
  • ' + '
    ' + '
    ' + '
    ' + '
    ' + value.rank + '
    ' + '
    ' + '' + '' + '
    ' + '
    '+ stat +'
    ' + '
    ' + '
  • ' var rankSearch1 = document.querySelector("#rankings_crewchaos") rankSearch1.innerHTML = rankSearch1.innerHTML.replace(crewName,"
    "+crewName+"
    ") $('#rankings_crewchaos').append(html); isOdd = !isOdd; }); isLoading = false; $('#last-updated').html('
    Last updated: ' + data.timestamp); $('#ranks').show(); }, "json"); } $( document ).ready(function() { var selO = $('option[value="char_power"]');selectCategory('char_power', selO.html()); $( ".rank-sel2" ).change(function() { if($( this ).val() == '') return; var isCrew = $( this ).attr('iscrew') == '1'; selectCategory($( this ).val(), $(this).find("option:selected").text(), isCrew); }); }); }})}})}})}})}})}})}})}; // equipment injection if ( document.URL.indexOf("outwar.com/home") != -1 ) { GM_xmlhttpRequest ( { method: 'GET', url: 'https://torax.outwar.com/profile', onload: function (responseDetails) { const EQ = /
    [\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*/im; const EQprint = EQ.exec(responseDetails.responseText); function insertBefore(newNode, existingNode) { let sp2 = document.querySelector("#content-header-row > div.bio.col-lg-8.col-md-8.col-sm-12.col-12.layout-spacing.layout-spacing > div.widget-content.widget-content-area.text-left > div > div > div:nth-child(1) > div > div:nth-child(1)"); existingNode.parentNode.insertBefore(newNode, sp2); } let menu = document.querySelector("#content-header-row > div.bio.col-lg-8.col-md-8.col-sm-12.col-12.layout-spacing.layout-spacing > div.widget-content.widget-content-area.text-left > div > div > div:nth-child(1) > div") var homepageEQ = '
    ' + EQprint + '
    ' let div = document.createElement('div'); div.innerHTML += homepageEQ; insertBefore(div, menu.children[0]); }})}; if ( document.URL.indexOf("world") != -1 ) { GM_xmlhttpRequest ( { method: 'GET', url: 'https://torax.outwar.com/profile', onload: function (responseDetails) { const EQ = /
    [\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*/im; const EQprint = EQ.exec(responseDetails.responseText); var EQworld = document.querySelector("#content-header-row > div.col-xl-4.col-lg-12.col-md-12.col-sm-12.col-12.layout-spacing.px-1 > div > div.widget-heading"); EQworld.innerHTML = '
    ' + EQprint + '
    ' }})}; if ( document.URL.indexOf("treasury") != -1 ) { GM_xmlhttpRequest ( { method: 'GET', url: 'https://torax.outwar.com/profile', onload: function (responseDetails) { const EQ = /
    [\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*/im; const EQprint = EQ.exec(responseDetails.responseText); var EQtreas = document.querySelector("#content-header-row > div.col-8.col-lg-3.pl-3.pl-xl-0.pr-1 > div > div.widget-heading"); EQtreas.innerHTML = '
    ' + EQprint + '
    ' }})} // crew raid menus var crewID1 = ''; if (document.documentElement.innerHTML.match(/href="\/crew_raidresults\.php\?crewid=(.*)">Raid Results<\/a>/i) != null) crewID1 = document.documentElement.innerHTML.match(/href="\/crew_raidresults\.php\?crewid=(.*)">Raid Results<\/a>/i); var crewID2 = document.documentElement.innerHTML.match(/tradeWith=(.*)">' + '
    ' if ( document.URL.indexOf("crew_") != -1 ) { function insertAfter9(newNode, existingNode) { existingNode.parentNode.insertBefore(newNode, existingNode.nextSibling); } var rrHead = document.querySelector("#content-header-row > div > div > div.btn-group.mb-3.mr-2"); let tdHead = document.createElement('div'); tdHead.innerHTML = crewmenu; if (rrHead != null) insertAfter9(tdHead, rrHead.children[2]);} }})}})