// ==UserScript== // @name Grepolis AcademyOverview // @name:de Grepolis AcademyÜbersicht // @name:en Grepolis AcademyOverview // @namespace grepolis // @description Grepolis: List all researches of all towns // @description:de Grepolis: Eine Übersicht über alle Forschungen aller Städte. // @description:en Grepolis: List all researches of all towns // @include http://*.grepolis.* // @exclude http://forum.*.grepolis.* // @exclude http://wiki.*.grepolis.* // @icon http://s3.amazonaws.com/uso_ss/icon/185038/large.png?1385676234 // @version 2.1 // @grant GM_listValues // @grant GM_getValue // @grant GM_setValue // @grant GM_deleteValue // @grant GM_info // @grant GM_xmlhttpRequest // @downloadURL none // ==/UserScript== /************************************************************************ * Main Script ***********************************************************************/ function main_script(DATA) { /************************************************************************ * Global variables ***********************************************************************/ var XR = {}; var wID = Game.world_id; var mID = Game.market_id; var aID = Game.alliance_id; var sID = Game.player_id; var pName = Game.player_name; $(".tb_activities").css("left","227px"); $(".toolbar_buttons").append('\
\ '); $("#BTN_academyoverview").click(function() { XR.Functions.academyOverview(); }); /************************************************************************ * Templates ***********************************************************************/ XR.Templates = { academyoverview : { styles : '\ ' } }; /************************************************************************ * Languages ***********************************************************************/ XR.Lang = { get : function (a, b) { if (XR.Lang[mID] != undefined && XR.Lang[mID][a] != undefined && XR.Lang[mID][a][b] != undefined) { return XR.Lang[mID][a][b] } else if (XR.Lang[mID] != undefined && XR.Lang[mID][a] != undefined) { return XR.Lang[mID][a] } else { return XR.Lang.en[a][b] } }, de : { meta : { lang : 'deutsch' }, academyoverview :"Akademie-Übersicht" }, en : { meta : { lang : 'english' }, academyoverview :"Academy Overview" } }; /************************************************************************ * Ajax Call functions ***********************************************************************/ XR.CallAjaxFunction = { town_overviews : { culture_overview : function () { //XR.Functions.cultureOverview(); }, start_celebration : function () { //XR.Functions.cultureOverview(); }, start_all_celebrations : function () { //XR.Functions.cultureOverview(); }, }, building_place : { culture : function () { console.log("Agora"); }, } }; /************************************************************************ * Functions ***********************************************************************/ XR.Functions = { academyOverview : function () { console.log("-> AcademyOverview"); var wnd = GPWindowMgr.Create(GPWindowMgr.TYPE_XR_ACADEMYOVERVIEW) || GPWindowMgr.getOpenFirst(GPWindowMgr.TYPE_XR_ACADEMYOVERVIEW); wnd.setTitle(XR.Lang.get("academyoverview")); var research_ids = []; for (i=1; i<=34; i=i+3) { $.each(GameData.researches, function () { if ($(this)[0].building_dependencies.academy==i) { research_ids.push($(this)[0].id); } }); } var factor = Math.min(Math.max(Math.ceil(research_ids.length/3), 10), 13); wincontent = XR.Templates.academyoverview.styles + '\