// ==UserScript== // @name MoxxiMod // @namespace https://studiomoxxi.com/ // @description one click at a time // @author Ben // @match *.outwar.com/* // @version 4.0 // @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== // 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 => { console.log(mutationRecords); // console.log(the changes) attackframe() }); observer.observe(roomid_display, { childList: true, // observe direct children subtree: true, // and lower descendants too characterDataOldValue: true // pass old data to callback }); 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 ) { 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; } ` );} // redefined if ( document.URL.indexOf("scratch_ticket") != -1 ) { var theImage2; theImage2 = document.querySelector("#content > div.layout-px-spacing") theImage2.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 raid results
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("crew_raidresults.php?most_recent=MoxxiMod") != -1 ) {
GM_addStyle ( `
#content-header-row > table > tbody > tr > td > div > center > div > table > tbody > tr:nth-child(1) > td:nth-child(1){width:10% !important;}
#content-header-row > table > tbody > tr > td > div > center > div > table > tbody > tr:nth-child(1) > td:nth-child(2){width:15% !important;}
#content-header-row > table > tbody > tr > td > div > center > div > table > tbody > tr:nth-child(1) > td:nth-child(3){width:5% !important;}
#content-header-row > table > tbody > tr > td > div > center > div > table > tbody > tr:nth-child(1) > td:nth-child(4){width:5% !important;}
#content-header-row > table > tbody > tr > td > div > center > div > table > tbody > tr:nth-child(1) > td:nth-child(5){width:5% !important;}
#content-header-row > table > tbody > tr > td > div > center > div > table > tbody > tr:nth-child(1) > td:nth-child(6){width:5% !important;}
#content-header-row > table > tbody > tr > td > div > center > div > table > tbody > tr:nth-child(1) > td:nth-child(7){width:5% !important;}
#content-header-row > table > tbody > tr > td > div > center > div > table > tbody > tr:nth-child(1) > td:nth-child(8){width:5% !important;}
#content-header-row > table > tbody > tr > td > div > center > div > table > tbody > tr:nth-child(1) > td:nth-child(9){width:45% !important;}
#content-header-row > table > tbody > tr > td > div > center > div > table{background:#0B0B0B !important;}
` );
var mmraids = document.querySelector("#content-header-row > table > tbody > tr > td > form > p > input:nth-child(3)");
function insertAfter2(newNode, existingNode) {
existingNode.parentNode.insertBefore(newNode, existingNode.nextSibling);
}
let rrHead = document.querySelector("#content-header-row > table > tbody > tr > td > div > center > div > table > tbody > tr");
let tdHead = document.createElement('td');
tdHead.textContent = 'Damage';
insertAfter2(tdHead, rrHead.lastElementChild);
let rrHead2 = document.querySelector("#content-header-row > table > tbody > tr > td > div > center > div > table > tbody > tr");
let tdHead2 = document.createElement('td');
tdHead2.textContent = 'Average';
insertAfter2(tdHead2, rrHead2.lastElementChild);
let rrHead4 = document.querySelector("#content-header-row > table > tbody > tr > td > div > center > div > table > tbody > tr");
let tdHead4 = document.createElement('td');
tdHead4.textContent = 'Drops';
insertAfter2(tdHead4, rrHead4.lastElementChild);
let raidLink1 = document.querySelector("#content-header-row > table > tbody > tr > td > div > center > div > table > tbody > tr:nth-child(2) > td:nth-child(5) > a");
console.log(raidLink1);
GM_xmlhttpRequest ( {
method: 'GET',
url: raidLink1,
onload: function (responseDetails) {
var raidDmg1 = /Damage: ([0-9,]*)/;
var printDmg1 = raidDmg1.exec(responseDetails.responseText);
var raidDrops1 = /[0-9]+ items<\/a>/i;
var printDrops1 = raidDrops1.exec(responseDetails.responseText);
let row1 = document.querySelector("#content-header-row > table > tbody > tr > td > div > center > div > table > tbody > tr:nth-child(2)")
let td1 = document.createElement('td');
td1.textContent = printDmg1[1].replace(/,/g, '');
insertAfter2(td1, row1.lastElementChild);
var Cells = row1.getElementsByTagName("td");
let td2 = document.createElement('td');
td2.textContent = Math.floor(printDmg1[1].replace(/,/g, '')/Cells[2].innerText);
insertAfter2(td2, row1.lastElementChild);
let td4 = document.createElement('td');
td4.innerHTML = printDrops1[1];
insertAfter2(td4, row1.lastElementChild);
}})};
if (document.URL.indexOf("crew_raidresults.php?most_recent=MoxxiMod") != -1 ) {
function insertAfter3(newNode, existingNode) {
existingNode.parentNode.insertBefore(newNode, existingNode.nextSibling);
}
let raidLink12 = document.querySelector("#content-header-row > table > tbody > tr > td > div > center > div > table > tbody > tr:nth-child(3) > td:nth-child(5) > a");
GM_xmlhttpRequest ( {
method: 'GET',
url: raidLink12,
onload: function (responseDetails) {
var raidDmg12 = /Damage: ([0-9,]*)/;
var printDmg12 = raidDmg12.exec(responseDetails.responseText);
var raidDrops12 = /[0-9]+ items<\/a>/i;
var printDrops12 = raidDrops12.exec(responseDetails.responseText);
let row12 = document.querySelector("#content-header-row > table > tbody > tr > td > div > center > div > table > tbody > tr:nth-child(3)");
let td12 = document.createElement('td');
td12.textContent = printDmg12[1].replace(/,/g, '');
insertAfter3(td12, row12.lastElementChild);
var Cells2 = row12.getElementsByTagName("td");
let td22 = document.createElement('td');
td22.textContent = Math.floor(printDmg12[1].replace(/,/g, '')/Cells2[2].innerText);
insertAfter3(td22, row12.lastElementChild);
let td42 = document.createElement('td');
td42.innerHTML = printDrops12[1];
insertAfter3(td42, row12.lastElementChild);
}})};
if (document.URL.indexOf("crew_raidresults.php?most_recent=MoxxiMod") != -1 ) {
function insertAfter4(newNode, existingNode) {
existingNode.parentNode.insertBefore(newNode, existingNode.nextSibling);
}
let raidLink13 = document.querySelector("#content-header-row > table > tbody > tr > td > div > center > div > table > tbody > tr:nth-child(4) > td:nth-child(5) > a");
GM_xmlhttpRequest ( {
method: 'GET',
url: raidLink13,
onload: function (responseDetails) {
var raidDmg13 = /Damage: ([0-9,]*)/;
var printDmg13 = raidDmg13.exec(responseDetails.responseText);
var raidDrops13 = /[0-9]+ items<\/a>/i;
var printDrops13 = raidDrops13.exec(responseDetails.responseText);
let row13 = document.querySelector("#content-header-row > table > tbody > tr > td > div > center > div > table > tbody > tr:nth-child(4)");
let td13 = document.createElement('td');
td13.textContent = printDmg13[1].replace(/,/g, '');
insertAfter4(td13, row13.lastElementChild);
var Cells3 = row13.getElementsByTagName("td");
let td23 = document.createElement('td');
td23.textContent = Math.floor(printDmg13[1].replace(/,/g, '')/Cells3[2].innerText);
insertAfter4(td23, row13.lastElementChild);
let td43 = document.createElement('td');
td43.innerHTML = printDrops13[1];
insertAfter4(td43, row13.lastElementChild);
}})};
if (document.URL.indexOf("crew_raidresults.php?most_recent=MoxxiMod") != -1 ) {
function insertAfter5(newNode, existingNode) {
existingNode.parentNode.insertBefore(newNode, existingNode.nextSibling);
}
let raidLink14 = document.querySelector("#content-header-row > table > tbody > tr > td > div > center > div > table > tbody > tr:nth-child(5) > td:nth-child(5) > a");
GM_xmlhttpRequest ( {
method: 'GET',
url: raidLink14,
onload: function (responseDetails) {
var raidDmg14 = /Damage: ([0-9,]*)/;
var printDmg14 = raidDmg14.exec(responseDetails.responseText);
var raidDrops14 = /[0-9]+ items<\/a>/i;
var printDrops14 = raidDrops14.exec(responseDetails.responseText);
let row14 = document.querySelector("#content-header-row > table > tbody > tr > td > div > center > div > table > tbody > tr:nth-child(5)");
let td14 = document.createElement('td');
td14.textContent = printDmg14[1].replace(/,/g, '');
insertAfter5(td14, row14.lastElementChild);
var Cells4 = row14.getElementsByTagName("td");
let td24 = document.createElement('td');
td24.textContent = Math.floor(printDmg14[1].replace(/,/g, '')/Cells4[2].innerText);
insertAfter5(td24, row14.lastElementChild);
let td44 = document.createElement('td');
td44.innerHTML = printDrops14[1];
insertAfter5(td44, row14.lastElementChild);
}})};
if (document.URL.indexOf("crew_raidresults.php?most_recent=MoxxiMod") != -1 ) {
function insertAfter6(newNode, existingNode) {
existingNode.parentNode.insertBefore(newNode, existingNode.nextSibling);
}
let raidLink15 = document.querySelector("#content-header-row > table > tbody > tr > td > div > center > div > table > tbody > tr:nth-child(6) > td:nth-child(5) > a");
GM_xmlhttpRequest ( {
method: 'GET',
url: raidLink15,
onload: function (responseDetails) {
var raidDmg15 = /Damage: ([0-9,]*)/;
var printDmg15 = raidDmg15.exec(responseDetails.responseText);
var raidDrops15 = /[0-9]+ items<\/a>/i;
var printDrops15 = raidDrops15.exec(responseDetails.responseText);
let row15 = document.querySelector("#content-header-row > table > tbody > tr > td > div > center > div > table > tbody > tr:nth-child(6)");
let td15 = document.createElement('td');
td15.textContent = printDmg15[1].replace(/,/g, '');
insertAfter6(td15, row15.lastElementChild);
var Cells5 = row15.getElementsByTagName("td");
let td25 = document.createElement('td');
td25.textContent = Math.floor(printDmg15[1].replace(/,/g, '')/Cells5[2].innerText);
insertAfter6(td25, row15.lastElementChild);
let td45 = document.createElement('td');
td45.innerHTML = printDrops15[1];
insertAfter6(td45, row15.lastElementChild);
}})};
if (document.URL.indexOf("crew_raidresults.php?most_recent=MoxxiMod") != -1 ) {
function insertAfter7(newNode, existingNode) {
existingNode.parentNode.insertBefore(newNode, existingNode.nextSibling);
}
let raidLink16 = document.querySelector("#content-header-row > table > tbody > tr > td > div > center > div > table > tbody > tr:nth-child(7) > td:nth-child(5) > a");
GM_xmlhttpRequest ( {
method: 'GET',
url: raidLink16,
onload: function (responseDetails) {
var raidDmg16 = /Damage: ([0-9,]*)/;
var printDmg16 = raidDmg16.exec(responseDetails.responseText);
var raidDrops16 = /[0-9]+ items<\/a>/i;
var printDrops16 = raidDrops16.exec(responseDetails.responseText);
let row16 = document.querySelector("#content-header-row > table > tbody > tr > td > div > center > div > table > tbody > tr:nth-child(7)");
let td16 = document.createElement('td');
td16.textContent = printDmg16[1].replace(/,/g, '');
insertAfter7(td16, row16.lastElementChild);
var Cells6 = row16.getElementsByTagName("td");
let td26 = document.createElement('td');
td26.textContent = Math.floor(printDmg16[1].replace(/,/g, '')/Cells6[2].innerText);
insertAfter7(td26, row16.lastElementChild);
let td46 = document.createElement('td');
td46.innerHTML = printDrops16[1];
insertAfter7(td46, row16.lastElementChild);
}})};
if (document.URL.indexOf("crew_raidresults.php?most_recent=MoxxiMod") != -1 ) {
function insertAfter8(newNode, existingNode) {
existingNode.parentNode.insertBefore(newNode, existingNode.nextSibling);
}
let raidLink17 = document.querySelector("#content-header-row > table > tbody > tr > td > div > center > div > table > tbody > tr:nth-child(8) > td:nth-child(5) > a");
GM_xmlhttpRequest ( {
method: 'GET',
url: raidLink17,
onload: function (responseDetails) {
var raidDmg17 = /Damage: ([0-9,]*)/;
var printDmg17 = raidDmg17.exec(responseDetails.responseText);
var raidDrops17 = /[0-9]+ items<\/a>/i;
var printDrops17 = raidDrops17.exec(responseDetails.responseText);
let row17 = document.querySelector("#content-header-row > table > tbody > tr > td > div > center > div > table > tbody > tr:nth-child(8)");
let td17 = document.createElement('td');
td17.textContent = printDmg17[1].replace(/,/g, '');
insertAfter8(td17, row17.lastElementChild);
var Cells7 = row17.getElementsByTagName("td");
let td27 = document.createElement('td');
td27.textContent = Math.floor(printDmg17[1].replace(/,/g, '')/Cells7[2].innerText);
insertAfter8(td27, row17.lastElementChild);
let td47 = document.createElement('td');
td47.innerHTML = printDrops17[1];
insertAfter8(td47, row17.lastElementChild);
}})};
// custom side menu
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 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
GM_xmlhttpRequest ( {
method: 'GET',
url: 'https://outwar.com/gladiator?mobid=4391',
onload: function (responseDetails) {
const vorkCheck = /Will retreat in/i;
const vorkPrint = vorkCheck.exec(responseDetails.responseText);
var vork = '';
if (vorkPrint != null)
vork += `
`;
GM_xmlhttpRequest ( {
method: 'GET',
url: 'https://outwar.com/gladiator?mobid=3991',
onload: function (responseDetails) {
const zerxCheck = /Will retreat in/i;
const zerxPrint = zerxCheck.exec(responseDetails.responseText);
var zerx = '';
if (zerxPrint != null)
zerx += `
`;
// toolbar boss notification
GM_xmlhttpRequest ( {
method: 'GET',
url: 'https://outwar.com/crew_bossspawns',
onload: function (responseDetails) {
const boss01 = /images\/CosmosGreatAllBeing\.jpg/i;
const cosmos = boss01.exec(responseDetails.responseText);
const boss02 = /images\/DeathReaperOfSouls\.jpg/i;
const death = boss02.exec(responseDetails.responseText);
const boss03 = /images\/MaekrixDreadedStriker\.jpg/i;
const maekrix = boss03.exec(responseDetails.responseText);
const boss04 = /images\/BlackhandReborn\.png/i;
const blackhand = boss04.exec(responseDetails.responseText);
const boss05 = /images\/velserverboss\.jpg/i;
const zyrak = boss05.exec(responseDetails.responseText);
const boss01h = /Cosmos, Great All Being.*[\n\r].*[\n\r].*[\n\r].*[\n\r].*p class="card-user_occupation"> (.*)/i;
const cosmosh = boss01h.exec(responseDetails.responseText);
const boss02h = /Death, Reaper of Souls.*[\n\r].*[\n\r].*[\n\r].*[\n\r].*p class="card-user_occupation"> (.*)/i;
const deathh = boss02h.exec(responseDetails.responseText);
const boss03h = /Maekrix, Dreaded Striker.*[\n\r].*[\n\r].*[\n\r].*[\n\r].*p class="card-user_occupation"> (.*)/i;
const maekrixh = boss03h.exec(responseDetails.responseText);
const boss04h = /Blackhand Reborn.*[\n\r].*[\n\r].*[\n\r].*[\n\r].*p class="card-user_occupation"> (.*)/i;
const blackhandh = boss04h.exec(responseDetails.responseText);
const boss05h = /Zyrak, Vision of Madness.*[\n\r].*[\n\r].*[\n\r].*[\n\r].*p class="card-user_occupation"> (.*)/i;
const zyrakh = boss05h.exec(responseDetails.responseText);
const boss01s = /Cosmos, Great All Being.*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*()\(stats\)<\/a>/i;
const cosmoss = boss01s.exec(responseDetails.responseText);
const boss02s = /Death, Reaper of Souls.*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*()\(stats\)<\/a>/i;
const deaths = boss02s.exec(responseDetails.responseText);
const boss03s = /Maekrix, Dreaded Striker.*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*()\(stats\)<\/a>/i;
const maekrixs = boss03s.exec(responseDetails.responseText);
const boss04s = /Blackhand Reborn.*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*()\(stats\)<\/a>/i;
const blackhands = boss04s.exec(responseDetails.responseText);
const boss05s = /Zyrak, Vision of Madness.*[\n\r].*[\n\r].*[\n\r].*[\n\r].*[\n\r].*()\(stats\)<\/a>/i;
const zyraks = boss05s.exec(responseDetails.responseText);
var boss = '';
if (cosmos != null)
boss += cosmoss[1]+`| ' +
' ' +
'' +
' ' +
'' +
'ASTRAL RIFT' +
'CHALLENGES' +
'DEATHBAT GRAVEYARD' +
'EOB SANDS' +
'MADNESS VAULT' +
'MOUNTAIN CAVE' +
'PRISTINE DEPTHS' +
'ROOM 11' +
'SCIENTIFIC DISTRICT' +
'UNDERGROUND Q SEC BASE' +
'VALLEY OF DEATH' +
'WARDENS SANCTUARY' +
'WILDERNESS' +
' ' +
' | ' + '' + ' | '+
' '+
' '+
''+ gods+boss+zerx+vork+suppliesPOP+strengthtb+ ' | '+
' '+
' '+
''+ skills+ ' |
| CHAR: POWER | ' + 'CHAR: ELE DMG | ' + 'CHAR: CHAOS DMG | '+ 'CHAR: GROWTH |
| CREW: POWER | ' + 'CREW: ELE DMG | ' + 'CREW: CHAOS DMG | ' + 'CREW: BOSS DMG |
' + stat + '
' + '' + stat + '
' + '' + stat + '
' + '' + stat + '
' + '' + stat + '
' + '' + stat + '
' + '' + stat + '
' + '' + stat + '
' + '