NexusClashPetListonMouseover

Character Name title text shows a count of a characters pets that are present

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

You will need to install an extension such as Tampermonkey to install this script.

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 Tampermonkey,才能安裝此腳本

您需要先安裝使用者腳本管理器擴充功能後才能安裝該腳本。

(我已經安裝了使用者腳本管理器,讓我安裝!)

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

(我已經安裝了使用者樣式管理器,讓我安裝!)

// ==UserScript==
// @name        NexusClashPetListonMouseover
// @namespace   http://userscripts.org/users/125692
// @description Character Name title text shows a count of a characters pets that are present
// @include        http://nexusclash.com/modules.php?name=Game*
// @include        http://www.nexusclash.com/modules.php?name=Game*
// @exclude        http://nexusclash.com/modules.php?name=Game&op=disconnect
// @exclude        http://www.nexusclash.com/modules.php?name=Game&op=disconnect
// @version     1.2
// @grant       none
// ==/UserScript==
//1.2 fix so doesn't have to have third party greasemeonkey script run first
(function() {
	
var characters= document.evaluate("//span[@class='char']", document, null,
	    XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
//alert(characters.snapshotLength);
if (characters.snapshotLength>=1){//We have one or more candidates
	var ehighlightpet=function(e) {
	        var charname=e.target.textContent;
			//either .trim or .slice(0, -1) to remove last character from string.
			var searchstring="Master: "+charname.trim();
			searchstring="//a[@title='"+searchstring+"']"
			var theirpets= document.evaluate(searchstring, document, null,
			  XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
			var eachpet=0;
			//alert(theirpets.snapshotLength);
			if (theirpets.snapshotLength>=1){//We have one or more candidates
				e.target.title=(theirpets.snapshotLength + " pets present");
				var eachpet=0;
				for (var i=0;eachpet=theirpets.snapshotItem(i);i++){
					eachpet.style.color='blue';
				}
            }
        }
var eunhighlightpet=function(e) {
            var charname=e.target.textContent;
			var searchstring="Master: "+charname.trim();
			searchstring="//a[@title='"+searchstring+"']"
			var theirpets= document.evaluate(searchstring, document, null,
			  XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
			var eachpet=0;
			if (theirpets.snapshotLength>=1){//We have one or more candidates
				var eachpet=0;
				for (var i=0;eachpet=theirpets.snapshotItem(i);i++){
					//eachpet.style.fontStyle='normal';
					eachpet.style.color="";
				}
            }
        }	
	
	var eachchar=0;
	for (var i=0;eachchar=characters.snapshotItem(i);i++){
		eachchar=eachchar.firstElementChild;
		eachchar.addEventListener("mouseover", ehighlightpet);
		eachchar.addEventListener("mouseout", eunhighlightpet);
	}		
	}	
else {//we might still have people but we aren't using the character sort script
//so find everyone bu liing for a with href starting with 	href="javascript:SelectItem('target_id',
	characters = document.evaluate( 
		"//a[starts-with(@href,'javascript:SelectItem(')]",
		document,
		null,
		XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,
		null );
	if (characters.snapshotLength>=1){//We have one or more candidates
		var ehighlightpet=function(e) {
	        var charname=e.target.textContent;		//either .trim or .slice(0, -1) to remove last character from string.
			var searchstring="Master: "+charname.trim();
			searchstring="//a[@title='"+searchstring+"']";
			var theirpets= document.evaluate(searchstring, document, null,
			  XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
			var eachpet=0;
			if (theirpets.snapshotLength>=1){//We have one or more candidates
				e.target.title=(theirpets.snapshotLength + " pets present");
				var eachpet=0;
				for (var i=0;eachpet=theirpets.snapshotItem(i);i++){
					eachpet.style.color='blue';
				}
			}
		}
	var eunhighlightpet=function(e) {
            var charname=e.target.textContent;
			var searchstring="Master: "+charname.trim();
			searchstring="//a[@title='"+searchstring+"']";
			var theirpets= document.evaluate(searchstring, document, null,
			  XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
			var eachpet=0;
			if (theirpets.snapshotLength>=1){//We have one or more candidates
				var eachpet=0;
				for (var i=0;eachpet=theirpets.snapshotItem(i);i++){
					//eachpet.style.fontStyle='normal';
					eachpet.style.color="";
				}
            }
        }
		var eachchar=0;
		for (var i=0;eachchar=characters.snapshotItem(i);i++){
			//eachchar=eachchar.firstElementChild;
			eachchar.addEventListener("mouseover", ehighlightpet);
			eachchar.addEventListener("mouseout", eunhighlightpet);
		}		
	
	}

} 	
	
	
	
//EOF
})();