Auto Select Next Explorer

Automatically Selects next Explorer When explorer is launched. For Warring Factions www.war-facts.com New Interface

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey, Greasemonkey или Violentmonkey.

За да инсталирате този скрипт, трябва да инсталирате разширение, като например Tampermonkey .

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey или Violentmonkey.

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey или Userscripts.

За да инсталирате скрипта, трябва да инсталирате разширение като Tampermonkey.

За да инсталирате този скрипт, трябва да имате инсталиран скриптов мениджър.

(Вече имам скриптов мениджър, искам да го инсталирам!)

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

(Вече имам инсталиран мениджър на стиловете, искам да го инсталирам!)

// ==UserScript==
// @name         Auto Select Next Explorer
// @namespace    https://greasyfork.org/en/users/10321-nikitas
// @version      1
// @description  Automatically Selects next Explorer When explorer is launched. For Warring Factions www.war-facts.com New Interface
// @author       guardian
// @match        http://*.war-facts.com/fleet.php*
// @grant        none
// ==/UserScript==

//Replaces game's getMission function, so that if it is an explorer it autolaunches
function newgetMission(){

    
    
//Configuration Options:
// Change this if you wish to exclude Fleets whose names contain the excludeString from being auto Selected as next explorer.
var useExcludeString = false;
// Change this to what you would like to put into a fleet's name in order to exclude it from being auto selected.
var excludeString = "#NotAuto#";


// Change this if you wish to auto Select Fleets as next explorer ONLY if their names contain the includeString.
var useIncludeString = false;
// Change this to what you would like to put into a fleet's name in order to include it into being auto selected.
var includeString = "#Auto#";

    
    
    
//Script




    function autoSelectNextExplorer(){

        var explorerList = document.getElementById('fc_Explorer').children;
        var index = 0;
        var explorerListLength = explorerList.length;
           
        while (index < explorerListLength) {
            
 //           alert("Index = " +index);

            if (explorerList[index].children[0].style.color == "rgb(242, 242, 242)") {
                
                var link = explorerList[index].children[0].href;
                var fleet_with_id = link.substr(link.indexOf("fleet="));
                var name = explorerList[index].children[0].innerHTML;
                var current_window = window.location.href;
 //               alert("Fleet with  name " + name +" and with id " + fleet_with_id);
                              
                if (
                       ( ( !useIncludeString) || ( name.indexOf(includeString) > -1  )  ) //If not using include string or String is in name
                    && ( ( !useExcludeString) || ( name.indexOf(excludeString) == -1 )  ) //If not using exclude string or String is NOT in name
                    && ( current_window.indexOf(fleet_with_id) == -1  )//Make sure we are not chosing ourselve as this fleet is still "white"
                   ) 
                {
                    
                    index = explorerListLength; //To make sure if load doesn't happen immediately it stops running through fleet list
                    window.open(link, "_self");
                }
            }
            index++;
        }
    }  

    
    
    
// Replace the site's getMission function, so that when launch is pressed, it autoSelectsNextExplorer
	var oldgetMission = getMission; 

	window.getMission = function getMission(action, dType) {
		var executed = new oldgetMission(action, dType);
        if (action == 'launch'){            
        var classificationNode = document.getElementById('fleetClass');
        var isExplorer = document.evaluate("//text()[contains(.,'Explorer') or contains(.,'Sentry') or contains(.,'Probe Rush')]", classificationNode, null, XPathResult.BOOLEAN_TYPE, null).booleanValue;
        window.setTimeout(autoSelectNextExplorer,250);
        }
        
    }
    
}  

// this is the only script injection technique I've found which works on Chrome with the above function
var inject = document.createElement("script");
inject.setAttribute("type", "text/javascript");
inject.appendChild(document.createTextNode("(" + newgetMission + ")()"));
document.body.appendChild(inject);