Adds attack links on enemy list
当前为
// ==UserScript==
// @name Attack links on enemy list
// @namespace https://gitgud.com/stephenlynx
// @version 1.2.1
// @description Adds attack links on enemy list
// @author Stephen Lynx
// @license MIT
// @match https://www.torn.com/blacklist.php
// @match https://www.torn.com/page.php?sid=UserList*
// @icon https://www.google.com/s2/favicons?sz=64&domain=torn.com
// @run-at document-body
// @grant none
// ==/UserScript==
(function() {
'use strict';
var toBlock = [ '72', '77', '71', '15', '16', '70', '82' ];
function checkIcons(base) {
var iconArray = Array.from(base.getElementsByClassName('iconShow'));
for (var i = 0; i < iconArray.length; i++) {
var icon = iconArray[i];
if (toBlock.indexOf(icon.id.substr(4, 2)) > -1) {
return false;
}
}
return true;
}
var observer = new MutationObserver(
function(mutationList, observer) {
mutationList
.forEach(function(event) {
// user-info-list-wrap bottom-round cont-gray
if (event.addedNodes.length
&& ((event.target.className === 'blacklist' && event.target.tagName === 'DIV') || (event.target.classList && event.target.classList.contains('user-info-list-wrap') && event.target.tagName === 'UL'))) {
event.addedNodes
.forEach(function(addedNode) {
if (addedNode.classList
&& (addedNode.classList
.contains('user-info-blacklist-wrap') || addedNode.tagName === 'LI')) {
var links = addedNode
.getElementsByClassName('user name');
Array
.from(links)
.forEach(
function(link) {
var cell = addedNode.tagName === 'LI' ? addedNode
: link.parentNode.parentNode.parentNode;
var okStatus = addedNode.tagName === 'LI' ? checkIcons(addedNode)
: !!cell
.getElementsByClassName('user-green-status ').length;
if (!okStatus) {
cell.style.display = 'none';
return;
}
var destination = link.href;
var id = destination
.match(/\/profiles\.php\?XID=(\d*)/)[1];
var attackLink = document.createElement('a');
var oldOnClick = attackLink.onclick;
attackLink.onclick = function(event) {
event.stopPropagation();
oldOnClick();
}
attackLink.innerHTML = 'Attack';
attackLink.style['font-size'] = '12px';
attackLink.target = '_blank';
attackLink.href = '/loader.php?sid=attack&user2ID='
+ id;
link.after(attackLink);
});
}
});
}
});
});
observer.observe(document.getElementsByTagName('body')[0], {
childList : true,
subtree : true
});
})();