Wave builder for Travian Legends and Travian Codex Victoria
目前為
// ==UserScript==
// @name The All Mighty
// @namespace https://greasyfork.org/en/users/560174-adir-avisar
// @description Wave builder for Travian Legends and Travian Codex Victoria
// @author Mr Cheeses' team
// @contributionURL https://www.paypal.com/
// @include *://*.travian.*/*
// @include *://*.travian.*.*/*
// @include *://*/*.travian.*/*
// @include *://*/*.travian.*.*/*
// @version 1.2
// ==/UserScript==
function OneCodeToRuleThemAll () {
'use strict';
var vergsion = '1.2';
var scriptURL = 'https://greasyfork.org/en/scripts/403175-the-all-mighty';
var OVER_VIEW_COLUMNS = ['tro', 'bui', 'att']
var OVER_VIEW_COLORS = ['Blue', 'Black', 'Red']
var OPTIONS = {
"dorf3.php" : OVER_VIEW_COLUMNS.forEach(OverViewGenrCol), // Over view
"dorf3.php?s=0" : OVER_VIEW_COLUMNS.forEach(OverViewGenrCol), // Over view second option
"build.php?tt=99&id=39" : RobberyPrecenage() // Farm List
}
// This function changes the images to the onhover text in the over view.
// Over View - Start //
function OverViewGenrCol(name) {
var counter = 0;
for(var village = 0; village < document.getElementsByTagName('tbody')[0].getElementsByClassName(name).length; village++){
// Variable reset
counter = 1;
if(document.getElementsByTagName('tbody')[0].getElementsByClassName(name).item(village).getElementsByTagName('img')[0]){
for(var element = 0; element < document.getElementsByTagName('tbody')[0].getElementsByClassName(name).item(village).getElementsByTagName('a').length;element++){
// Change text value
document.getElementsByTagName('tbody')[0].getElementsByClassName(name)
.item(village).getElementsByTagName('a')[element].innerHTML = document.getElementsByTagName('tbody')[0].getElementsByClassName(name).
item(village).getElementsByTagName('img')[0].alt + '</br>'
// Change text size
document.getElementsByTagName('tbody')[0].getElementsByClassName(name)
.item(village).getElementsByTagName('a')[element].style.fontSize = '85%'
// Change text color
document.getElementsByTagName('tbody')[0].getElementsByClassName(name)
.item(village).getElementsByTagName('a')[element].style.color = OVER_VIEW_COLORS[counter % 3]
// Add to counter to change the color of the next element
counter++
}
}
}
}
// Over View - End //
//****************//
/******************/
/******Buffer******/
/******************/
//****************//
// Farm List - Start //
function RobberyPrecenage() {
var RaidLists = document.getElementsByClassName('listEntry')
for (var RaidList = 0; RaidList < document.getElementsByClassName('listEntry').length; RaidList++) {
for (var Raid = 0; Raid < document.getElementsByClassName('listEntry').item(RaidList).getElementsByClassName('slotRow').length; Raid++) {
var str = document.getElementsByClassName('listEntry').item(RaidList).getElementsByClassName('slotRow').item(Raid).getElementsByClassName("carry half")[0].alt
var PercentageEl = document.createElement('a')
PercentageEl.innerHTML = CalculatePercentage(getValues(str)) + "%"
PercentageEl.style.color = "Black"
document.getElementsByClassName('listEntry').item(RaidList).getElementsByClassName('slotRow').item(Raid).getElementsByClassName("lastRaid")[0].appendChild(PercentageEl)
}
}
}
function getValues(str) {
return str.replace(/\D/g, " ").replace(/\s+/g,' ').trim()
}
// Calculate the precenage
function CalculatePercentage(values) {
var value = values.split(' ')
return (value[0] / value[1] * 100).toFixed(2)
}
// Farm List - End //
/********** begin of main code block ************/
var URL = window.location.href // Get URL
var URL_SPLITED = URL.split('/') // Split the URL
var page = URL_SPLITED[URL_SPLITED.length -1] // Get the page
OPTIONS[page] // Run the function for the page.
/********** end of main code block ************/
}
OneCodeToRuleThemAll();