Halos & Horns Faction Attack Tracker

try to take over the world!

As of 2020-08-27. See the latest version.

// ==UserScript==
// @name         Halos & Horns Faction Attack Tracker
// @namespace    http://tampermonkey.net/
// @version      1.2
// @description  try to take over the world!
// @author       You
// @match        https://www.torn.com/factions.php?step=your
// @grant       GM_setClipboard
// @run-at      document-end
// ==/UserScript==
//console.log(window.location.includes("/tab=info"));
var users = new Array();
$(document).ajaxComplete(function(e,v,r){if(typeof r.data !== 'undefined'&&r.data.includes("step=mainnews&type=2"))
{console.log(v);start_sort();}
else if(typeof r.data !== 'undefined'&&r.data.includes("step=info"))
{var member_list = '';for(var count_a = 0;count_a<document.getElementsByClassName("table-body")[0].children.length;count_a++)
{member_list = member_list+document.getElementsByClassName("table-body")[0].children[count_a].innerHTML.split('class="user name" data-placeholder="')[1].split(' [')[0]+",";
    }localStorage.faction_member_list=member_list;}});

function sort_list()
{var timervar;
function timer() {
  timervar = setTimeout(timecheck, 300);
}
timer();
function timecheck() {
 if(document.getElementById("tab4-2").children[0].children.length > 1){timervar = null;start_sort();}else{timervar = setTimeout(timecheck, 300);}

}
}
function start_sort()
{if (localStorage.faction_member_list) {}else{alert("Please visit the info page to update the script member list.")}
    
const queryString = window.location.search;
const urlParams = new URLSearchParams(queryString);
const user_list = document.getElementById("tab4-2").children[0].children;
const link_list = document.getElementById("factionNewsSearchBar").children[0].querySelector('[aria-label="Search bar button: Attacking"]');
    if(user_list.length > 1){
for(var count_a = 0;count_a<user_list.length;count_a++)
{//console.log(user_list[count_a].children[1].children[0].innerHTML.split('">')[2].split('</a>')[0]);//<font color="#AA0000">
    if(user_list[count_a].innerHTML.includes("but lost")){}//{user_list[count_a].style.display = "none";}
    else if(!localStorage.faction_member_list.includes(user_list[count_a].children[1].children[0].innerHTML.split('">')[2].split('</a>')[0])){}//{user_list[count_a].style.display = "none";}
    else if(user_list[count_a].innerHTML.includes('<font color="#AA0000">')){}//{user_list[count_a].style.display = "none";}
    else if(user_list[count_a].innerHTML.includes("stalemated")){}//{user_list[count_a].style.display = "none";}
    else if(user_list[count_a].innerHTML.includes("Someone ")){}//{user_list[count_a].style.display = "none";}
    else if(user_list[count_a].innerHTML.includes("and escaped")){}//{user_list[count_a].style.display = "none";}
    else
    {var triggered=false;
     for(var count_b = 0;count_b<users.length;count_b++)
     {
      if(users[count_b].name==user_list[count_a].children[1].children[0].innerHTML.split('">')[2].split('</a>')[0]){users[count_b].success++;triggered=true;}
     }if(triggered==false){users.push({name: user_list[count_a].children[1].children[0].innerHTML.split('">')[2].split('</a>')[0], success: 1});}
     
     //{users[user_list[count_a].children[1].children[0].innerHTML.split('">')[2].split('</a>')[0]]++;}
     //else{users[user_list[count_a].children[1].children[0].innerHTML.split('">')[2].split('</a>')[0]]=1}
users.sort(function(a,b) {
    return a.success - b.success;
});//console.log(users[0].name);
        //console.log(getSortedKeys(users));//users=getSortedKeys(users);

        console.log(JSON.stringify(users));GM_setClipboard(JSON.stringify(users));
    }
}}
}
function getSortedKeys(obj) {
    var keys = keys = Object.keys(obj);
    return keys.sort(function(b,a){return obj[b]-obj[a]});
}