Ikariam kChen Overview

By kchen Last update Feb 18, 2009 — Installed 346,353 times.

0.3.0 unofficial update+pl translation

in
Subscribe to 0.3.0 unofficial update+pl translation 1 post, 1 voice

mudi User

Hello. Here is my unofficial 0.3.0 mod. I change the values of building and units (only time in buildings need to be entered - You can do it own from wikikariam)

Generals score doesnt work too good but the values (0.02) are good so i don't know.
Also i upgraded the Polish translation.
Bye.


// coding: utf-8
// ==UserScript==
// @name           Ikariam kChen Overview
// @namespace      Ikariam
// @author         kChen
// @description    Ikariam kChen Overview for v.0.2.8
// @version        v0.2.8.031
//                 Original script: http://userscripts.org/scripts/show/25124
//                 功能概述:
//                 1.自動更新IK網頁(每5-10分鐘)
//                 2.如果有新訊息或攻擊,將用聲音訊息警示玩家
//                 3.列表彙整出你所有城鎮的資訊
//                   包含人口、資源數量、建物等級、正在建造建築物、部隊...
//                 
//                 修改功能:
//                 2009.01.12 v0.2.8.031
//                   - 新增:在"建築總覽表"中,顯示 3.0 的建築物。
//                   - 更新:在"建築總覽表"中,沒有蓋的建築物將不會顯示。
//                   - 更新:將"資源總覽表"中的"目前正建設"欄位與"城市總覽表"的"動作"欄位互換。
//                   - 更新:將"軍隊總覽表"的標題改成圖示,並且當滑鼠指向圖示時,能顯示出該部隊的資訊。
//                   - 更新:"軍隊總覽表"中分數計算改變。
//                   - 新增:羅馬尼亞語系
//                           Romania translation by RaVeN4IS
//                   - 更新:希臘文語系
//                           update Greek translation
//                   - 更新:土耳其語系
//                           update Turkish translation
//                 2009.01.09 v0.2.8.030
//                   - 新增:在城市總覽表新增間諜欄位
//                   - 新增:越南語系
//                           Vietnamese translation by quochuy
//                   - 更新:希伯來文語系
//                           update Hebrew translation
//                   - 更新:法文語系
//                           update French translation
//                   - 修正:當刪除建築物後,建築總覽表仍保留舊有資料
//                   - 修正:運輸船總覽表資料不正確
//                   - 修正:部份因 Corsairs Tools - Ika-core 所造成顯示不正確
//                 2008.12.26 v0.2.8.029
//                   - 新增:城市總覽表,內容包含島嶼資訊、人口資訊和運送資訊、部署軍隊、部署艦隊等快速鍵
//                   - 新增:波蘭語系
//                           Polish translation by bOmBeL
//                   - 更新:葡萄牙語系
//                           update Portuguese translation
//                   - 更新:俄文語系
//                           update Russian translation
//                   - 更新:土耳其語系
//                           update Turkish translation
//                 2008.12.14 v0.2.8.028
//                   - 新增:美化 Tooltip 的格式,如淡出、淡入
//                   - 新增:德文語系
//                           German translation by frechi
//                   - 更新:希臘文語系
//                           update Greek translation
//                   - 更新:葡萄牙語系
//                           update Portuguese translation
//                   - 修正:總覽表的樣式,使得某些是由右到左的語系,能正常顯示
//                 2008.12.09 v0.2.8.027
//                   - 新增:在建築總覽表中,增加各建築物資源需要的提示,和資源不夠時無法升級
//                   - 新增:葡萄牙語系
//                           Portuguese translation by japax
//                 2008.11.30 v0.2.8.026
//                   - 新增:阿拉伯語系
//                           Arabic translation by wa7d
//                   - 新增:法文語系
//                           French translation by Chirel
//                   - 新增:在運輸畫面中,所運送的資源自動展開 (預設的是資源需要用滑鼠點一下才會拉下來顯示)
//                   - 新增:在hk server,自動顯示為繁體中文
//                 2008.11.25 v0.2.8.025
//                   - 新增:玩家和城市總覽的格式做了些變更,加入可對城鎮的所有指令,排序更改成玩家的總分
//                   - 新增:土耳其語系
//                           Turkish translation by Segwarg
//                   - 新增:希臘語系
//                           Greek translation by rdaniel
//                   - 新增:西班牙語系
//                           Spanish translation by lew87
//                   - 修正:當沒有酒館時,市政府畫面無法顯示總覽表
//                   - 修正:在玩家個人設置,資源總覽表會被拉長
//                   - 修正:葡萄酒剩餘時間顯示為多語系 (原來為中文)
//                   - 修正:在接受售價、接受出價的畫面,插件設定的表格會被拉長
//                   - 更改:將提醒的聲音檔存在不同主機 (為了降低單一主機的流量,若有好的空間請告訴我,謝謝)
//                   - 更改:點擊城市名稱指令下達的方式 (原來的寫法,似乎會有問題,但我一直沒遇到,所以這裡試著改別種方式,看看是否還會有問題)
//                 2008.11.19 v0.2.8.024
//                   - 修正:自動更新網頁時,將輪流顯示所有城鎮
//                   - 修正:封鎖港口時,無法顯示出總覽表
//                 2008.11.12 v0.2.8.023
//                   - 新增:在玩家和城市總覽裡,加入刪除、外交、掠奪、封鎖港口和派出間諜的按鈕
//                   - 修正:當資源總覽表或建築總覽表關掉時,顯示設定的按鈕會失消的問題
//                 2008.11.11 v0.2.8.022
//                   - 新增:俄文語系
//                           Russian translation by Гуляка
//                   - 修正:自動更新腳本的網址
//                 2008.11.10 v0.2.8.021
//                   - 新增:在玩家和城市總覽裡,將i羊、封鎖、假期的玩家用顏色區分出來
//                   - 新增:希伯來文語系
//                           Hebrew translation by MindTwister
//                   - 修正:軍事積分計算錯誤
//                 2008.11.10 v0.2.8.020
//                   - 新增:自動更新通知,當插件有新版時自動通知
//                   - 修正:當尚未研發出"財富"時,資源總覽表的特殊資源名稱只能是英文,無法自動隨Server語系而變更名稱語系
//                 2008.11.08 v0.2.8.018
//                   - 新增:在資源總覽表中的座標欄,可直接連至該島並且選擇該城 (此功能包含 "玩家和城市總覽" 裡的所有座標)
//                           click the link of coordinate in the resource table, the page will be redirected to the island and the town will be selected.
//                           (The link included the coordinate in the player and twon table)
//                   - 修正:自動更新網頁時,維持顯示選所擇的城鎮畫面 (先前自動更新網頁後,會變成顯示成世界地圖,此功能是為了支援某些插件而改)
//                           When refresh the page automatically, the page will stay in the selected town. (For supporting some scripts)
//                   - 修正:刪除多餘的座標顯示 (此功能是為了在遊戲的設置裡面,未將顯示城鎮詳情改成"奢侈資源"的玩家而修改,若已經設定過的玩家不影嚮)
//                           Deleted redundancy coordinates.
//                           (It's modified for the player who didn't set the display of the town detail by "Tradegoods". It doesn't affect the player who already set it.)
//                   - 修正:當城鎮座標是個位數或百位數時,資源總覽表無法更新資料 (此功能是為了在遊戲的設置裡面,未將顯示城鎮詳情改成"奢侈資源"的玩家而修改,若已經設定過的玩家不影嚮)
//                           (It's modified for the player who didn't set the display of the town detail by "Tradegoods". It doesn't affect the player who already set it.)
//                   - 修正:勾選加值畫面選項後,當被攻擊的時候,軍事指導者的警告圖示無法顯示
//                 2008.11.05 v0.2.8.017
//                   - 修正:特殊資源的全滿天數計算錯誤
//                           Caculation error of the full filled day of special resource
//                 2008.11.05 v0.2.8.016
//                   - 修正:在世界、排名、收支表等等畫面皆可顯示
//                           fix world, highscore, balances page display error
//                 2008.11.04 v0.2.8.015
//                   - 新增:在資源總覽表,新增葡萄酒存量天數 (可不需要 Kronos Utils 支援)
//                           show wine remaing time in resource table (without Kronos Utils)
//                   - 新增:在資源總覽表,新增各資源全滿天數、空閒人口數、行動點數
//                           show resource fullness of warehouse time, idle citizens, action points
//                   - 修正:點擊城鎮名稱,自動切換至所點擊的城鎮,並且顯示城鎮畫面
//                           click city name will change to the city and it
//                   - 修正:倉庫17級木材最大容量錯誤
//                           fix level 17 warehouse wood storage capacity error
//                 2008.11.02 v0.2.8.014
//                   - 新增:在建築總覽表,點擊升級快速鍵後,自動切換至所點擊的城鎮
//                           add building level up button, change the city when press button in building table
//                   - 新增:在資源總覽表,點擊伐木場和資源場後,自動切換至所點擊的城鎮
//                           change the city when press sawmill or resource in resource table
//                   - 新增:在城鎮指導者、軍事指導者、研究指導者和外交指導者,點擊其它城鎮連結,自動切換至所點擊的城鎮
//                           change the city when click city-link in four advisors
//                   - 修正:執行查看軍隊時,在觀看軍事畫面,軍隊資料無法更新。 (注意:目前在軍事畫面中,軍分無法計算)
//                   - 修正:當Kronos Utils執行時,使得軍隊名字過長
//                           fix unit's name too long bug, when Kronos Utils is runing
//                 2008.10.31 v0.2.8.013
//                   - 新增:加值畫面 (此為購買plus後的畫面)
//                           add PLUS display option
//                   - 修正:千位符號由 "." 改成 ","
//                           comma replace point in thousand display
//                 2008.10.29 v0.2.8.010
//                   - 新增:建築物總覽的升級按鈕
//                           add building level up button
//                 2008.10.28 v0.2.8.009
//                   - 修正:在書寫訊息畫面無法顯示
//                           fix display error in write message page
//                   - 新增:支援多國語言
//                           add multi-language support
//                 2008.10.28 v0.2.8.008
//                   - 修正:博物館顯示異常
//                           fix Museum display error
//                 2008.10.27 v0.2.8.007
//                   - 修正:在城鎮指導者、軍事指導者、研究指導者、外交指導者等畫面無法顯示
//                           fix advisors display error
//                 2008.10.27 v0.2.8.006
//                   - 修正:等待裝載船隻無法顯示
//                           fix cargo ship display error when loading
//                 2008.10.27 v0.2.8.004
//                   - 修正:部署軍隊與部署艦隊無法顯示
//                           fix units display bug in deploy troops and deploy fleets
//                 2008.10.26 v0.2.8.003
//                   - 新增:建築物總覽的快速連結,可直接點進建築物畫面
//                           add building link in building table
//                   - 新增:學院總覽
//                           add research table
//                   - 新增:港口總覽,包含來訪的運輸船,裝載運輸船
//                           add transporters table to display trading cargo shit and loading cargo shit
//                   - 新增:在運輸畫面的記錄常用目的地之儲存按鈕
//                           add destination button in trade page
//                   - 新增:在港口畫面顯示所記錄常用目的地
//                           add destination-link in trading port page
//                   - 修正:玩家總覽表格顯示異常
//                           fix players table display error
//                 2008.10.24 v0.2.8.002
//                   - 修正:伐木場與資源場無法正常顯示
//                           fix sawmill and resources display bug
//                 2008.10.23 v0.2.8.001
//                   - 修正:將文字翻譯成繁體中文
//                           support Traditional Chinese (TW)
//                   - 修正:設定介面美化
//                           beautify the setting interface
//                   - 修正:倉庫前六級最大值顯示錯誤
//                           fix warehouse storage capacity error
//                   - 修正:座標個位數時,資料無法正常讀取
//                           fix bug when coordinate is less than ten
//                   - 修正:學院畫面無法正常顯示
//                           fix Academy display bug
// @include        http://*.ikariam.*/index.php*
// @exclude        http://board.ikariam.*/
// ==/UserScript==

var _startTime    = new Date().getTime();
var scriptversion = "v0.2.8.031";
var scriptname    = "kChen Overview"; // please don't change
var scriptinstall = "http://userscripts.org/scripts/source/35879.user.js";
var scriptsource  = "http://userscripts.org/scripts/review/35879?format=txt";
var scriptsite    = "http://userscripts.org/scripts/show/35879";

var default_style = <><![CDATA[
#overview__table .resources_table, #overview__table .buildings_table, #overview__table .army_table, #overview__table .favorites_table, #overview__table .players_table, #overview__table .transporters_table, #overview__table .research_table {
  text-align: center;
  border-style: dotted;
  width: 980px;
}
.time_counter {
  font-weight: bold;
  color: #C00000;
}
.lf {
  border-left: double;
  border-color: #542C0F;
}
.rf {
  border-right: double;
  border-color: #542C0F;
}
.current_city_highlight {
  background-color: #CDA55F;
}
#overview__table table td {
  padding: 0px;
  height: auto;
  white-space: nowrap;
}
#overview__table .upgrading {
  background-color: #B4DC8C;
}
#overview__table tr.table_header {
  border-bottom: double;
  font-weight: bold;
  padding: 0px;
  background-color: #E6C88C;
  color: #542C0F;
}
#overview__table th.table_header {
  text-align: center;
  font-weight: bold;
  padding: 0px;
  color: #542C0F;
  background-color: #E6C88C;
}
#overview__table tr.table_footer {
  border-top: double;
}
#overview__table td.table_footer { /*also for army table's last column*/
  font-weight: bold;
}
#overview__table .vacation {
  background-color: #B4DC8C;
}
#overview__table .banned {
  background-color: #F09090;
}
#overview__table .inactivity {
  background-color: #C0C0C0; 
}
#overview__table img {
  vertical-align: middle; 
}
.arrivinggoods {
  font-weight: bold;
  color: #C00000;
}
td.arrivinggoodstooltip {
  padding: 3px;
}
td.arrivinggoodstooltip {
  border-width: 1px;
  border-style: dotted;
}

/****************** progress bar styles *******************/
table.myPercent {
  height: 5px;
  width: 100%;
}
tr.myPercent {
  height: 5px;
}
td.myPercentRemaining {
//  background-color: #CDA55F;
}
td.myPercentNormal { /* normal state. you have plenty of rooms */
  background-color: green;
}
td.myPercentWarning { /* warehose is getting full */
  background-color: #A00000;
}
td.myPercentAlmostFull { /* warehouse is almost full */
  background-color: #C00000;
}
td.myPercentFull { /* warehouse is full */
  background-color: #ff0000;
}

/****************** highscore styles *******************/
tr.hs_ownally {
  background-color: #DAF887 !important;
}
tr.hs_friendlyally {
  background-color: #FFFF80 !important;
}
tr.hs_hostileally {
  background-color: #FF979B !important;
}

/****************** population full *******************/
td.populationfull {
  color: red;
  font-weight: bold;
}

/****************** current building *******************/
#overview__table table th.current_building {
  background-color: #E6C88C;
  color: #424994;
}
th.current_building {
  background-color: #E6C88C;
  color: #424994;
}
td.current_building {
}
]></>.toXMLString();

var server = /\/\/([a-z._0-9]+)\//.exec(document.URL);
server = RegExp.$1;

var config    = getConfig();
var players   = getPlayers();
var langtype  = "lf";
var language  = setLanguage();
var buildings;
var texts;
getLocalizedTexts(language);
var actioncode = getActionCode();

String.prototype.Trim = function() { return this.replace(/(^\s*)|(\s*$)/g, ""); }
String.prototype.LTrim = function() { return this.replace(/(^\s*)/g, ""); }
String.prototype.RTrim = function() { return this.replace(/(\s*$)/g, ""); }
String.prototype.TrimHTML = function() { return this.replace(/(<[^>]*>)/g, ""); }
function rand(min,max) {   
  return Math.floor(Math.random()*(max-min+1)+min);
}
function getConfig() {
	var config = unserialize(getVar("config", ""));
	if (config == null || config == undefined || config == "" || ("".config == "NaN")) {
		config = new Object();
	}
	if (config.cfg == undefined) {
		config.cfg = new Object();
	}
	return config;
}
function saveConfig() {
	setVar("config", serialize(config));
}
function getPlayers() {
	var players;
	try {
		players = eval(getVar("players", "({})"));
	} catch (e) {
		log("Error while unserializing 'players': "+e);
		log("Stored data: "+getVar("players", ""));
	}
	if (players == null || players == undefined || ("".players == "NaN")) {
		players = new Object();
	}
	if (players.cities == undefined) {
		players.cities = new Object();
	}
	if (players.playersCities == undefined) {
		players.playersCities = new Object();
	}
	if (players.islands == undefined) {
		players.islands = new Object();
	}
	return players;
}
function savePlayers() {
	setVar("players", uneval(players));
}
function CheckupDate(text){
	if (/scriptversion.*=.*\"([v0-9.]+.+)\"/.exec(text) == null) return;
	var newversion = RegExp.$1;
	var newver = newversion.split("\.");
	var oldver = scriptversion.split("\.");
	var update = (newver.length != oldver.length) ? true : false;
	if (!update) {
		for(var i=0; i<newver>< inewver) update = true;
	if (update) {
		if (confirm(texts["NewVersion"].replace(/%s/,newversion))) {
			location.href = scriptinstall;
		}
	}
}
function VersionUpdate(){
	var lastSearch = getCfgValue("LAST_UPDATE", 0);
	var searchFreq = 8 * 3600 * 1000; //
	if(_startTime - lastSearch > searchFreq) {
		setCfgValue("LAST_UPDATE", _startTime);
		get(scriptsource, CheckupDate);
	}
}
function log(msg) {
	if ((config.cfg["DEBUG_LOG"] == true) && (console != undefined)) {
		console.log("[kChenOverview] "+msg);
	}
}
function xpath(query) {
	return document.evaluate(query, document, null,XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
}
function getCfgValue(key, defaultValue) {
	return ((config.cfg != undefined && config.cfg[key] != undefined) ? config.cfg[key] : defaultValue);
}
function getCfgValueNonEmpty(key, defaultValue) {
	return ((config.cfg != undefined && config.cfg[key] != undefined && config.cfg[key] != "") ? config.cfg[key] : defaultValue);
}
function setCfgValue(key, value) {
	config.cfg[key] = value;
	setVar("config", serialize(config));
}
function playSound(sound, volume) {
	var body = document.getElementsByTagName("body")[0];
	var emb = document.createElement("embed");
	emb.src = sound;
	emb.setAttribute("autostart", "true");
	emb.setAttribute("loop", "false");
	emb.setAttribute("hidden", "true");
	emb.setAttribute("volume", volume);
	body.appendChild(emb);
}
function getRefreshTime() {
	return (parseInt(MIN) + Math.round(Math.random() * (MAX - MIN))) * 1000;
} 
function setLanguage() {
	var arr = server.split("\.");
	var lang = arr[arr.length - 1];
	if (lang == "com" && arr.length == 4) { //for example: http://s1.ba.ikariam.com
		lang = arr[1];
	}
	if (lang == "net" && arr.length == 3) { //for example: http://s1.ikariam.net/
		lang = "tr";
	}
	var l = getCfgValueNonEmpty("LANGUAGE", language);
	if (l != undefined) {
		lang = l;
	}
	return lang;
}
var TimeUnits                = { day: 86400, hour: 3600, minute: 60, second: 1 };
var academyCapacities        = [0, 8, 12, 16, 22, 28, 35, 43, 51, 60, 69, 79, 89, 100, 111, 122, 134, 146, 159, 172, 185, 198, 212, 227, 241];
var warehouseWoodCapacities  = [0, 8000, 16000, 24000, 32000, 40000, 48000, 56000, 64000, 72000, 80000, 88000, 96000, 104000, 112000, 120000, 128000, 136000, 144000, 152000, 160000, 168000, 176000, 184000, 192000, 200000, 208000, 216000, 224000, 232000, 240000, 248000];
var warehouseOtherCapacities = [0, 8000, 16000, 24000, 32000, 40000, 48000, 56000, 64000, 72000, 80000, 88000, 96000, 104000, 112000, 120000, 128000, 136000, 144000, 152000, 160000, 168000, 176000, 184000, 192000, 200000, 208000, 216000, 224000, 232000, 240000, 248000];
var tavernWineUsage          = [0, 4, 8, 13, 18, 24, 30, 37, 44, 51, 60, 68, 78, 88, 99, 110, 122, 136, 150, 165, 180, 197, 216, 235, 255];
var townHallSpaces           = [0, 60, 96, 143, 200, 263, 333, 410, 492, 580, 672, 769, 871, 977, 1087, 1201, 1320, 1441, 1567, 1696, 1828, 1964, 2103, 2246, 2391, 2540, 2691, 2845, 3003, 3163, 3326, 3492, 3660];
var unitScoreBasePoints      = {"wood": 0.02, "wine": 0.02, "glass": 0.02, "sulfur": 0.02};
var unitScoreBaseIndex       = {"wood": "w", "wine": "W", "glass":"C", "sulfur":"S"};
var costs = {
	"townHall"      : [
		{},						// 1
		{w:158, t:"59m 4s"},
		{w:335, t:"1h 6m"},
		{w:623, t:"1h 14m"},
		{w:923, M:285, t:"1h 23m"},	// 5
		{w:1390, M:551, t:"1h 34m"},
		{w:2015, M:936, t:"1h 48m"},
		{w:2706, M:1411, t:"2h 3m"},
		{w:3661, M:2091, t:"2h 21m"},
		{w:4776, M:2954, t:"2h 42m"},	// 10
		{w:6173, M:4072, t:"3h 6m"},
		{w:8074, M:5664, t:"3h 35m"},
		{w:10281, M:7637, t:"4h 8m"},
		{w:13023, M:10214, t:"4h 48m"},
		{w:16424, M:13575, t:"5h 34m"},	// 15
		{w:20986, M:18254, t:"6h 27m"},
		{w:25423, M:23250, t:"7h 30m"},
		{w:32285, M:31022, t:"8h 44m"},
		{w:40232, M:40559, t:"10h 10m"},
		{w:49286, M:52216, t:"11h 51m"},	//20
		{w:61207, M:68069, t:"13h 49m"},
		{w:74804, M:87316, t:"16h 6m"},
		{w:93956, M:115101, t:"18h 48m"},
		{w:113035, M:145326, t:"21h 56m"},
		{w:141594, M:191053, t:"1D 1h"},	//25
		{w:170213, M:241039, t:"1D 5h"},
		{w:210011, M:312128, t:"1D 10h"}
	],		
	"academy"		: [
		{ w: 64, t: "16m 48s" }, // 1
		{ w: 68, t: "22m 34s " },
		{ w: 115, t: "29m 28s" },
		{ w: 263, t: "37m 46s" },
		{ w: 382, C: 225, t: "47m 43s" }, // 5
		{ w: 626, C: 428, t: "59m 40s" },
		{ w: 982, C: 744, t: "1h 14m" },
		{ w: 1330, C: 1089, t: "1h 31m" },
		{ w: 2004, C: 1748, t: "1h 51m" },
		{ w: 2665, C: 2454, t: "2h 16m" }, // 10
		{ w: 3916, C: 3786, t: "2h 46m" },
		{ w: 5156, C: 5216, t: "3h 21m" },
		{ w: 7446, C: 7862, t: "4h 4m " },
		{ w: 9753, C: 10729, t: "4h 56m" },
		{ w: 12751, C: 14599, t: "5h 57m" }, // 15
		{ w: 18163, C: 21627, t: "7h 11m " },
		{ w: 23691, C: 29321, t: "8h 40m" },
		{ w: 33450, C: 43020, t: "10h 26m" },
		{ w: 43571, C: 58213, t: "12h 34m " },
		{ w: 56728, C: 78724, t: "15h 8m" } // 20
	],
	"warehouse"		: [
		{ w: 160, t: "" }, // 1
		{ w: 288, t: "" },
		{ w: 442, t: "" },
		{ w: 626, M: 96, t: "" },
		{ w: 847, M: 211, t: "" }, // 5
		{ w: 1113, M: 349, t: "" },
		{ w: 1431, M: 515, t: "" },
		{ w: 1813, M: 714, t: "" },
		{ w: 2272, M: 953, t: "" },
		{ w: 2822, M: 1240, t: "" }, // 10
		{ w: 3483, M: 1584, t: "" },
		{ w: 4275, M: 1997, t: "" },
		{ w: 5226, M: 2492, t: "" },
		{ w: 6368, M: 3086, t: "" },
		{ w: 7737, M: 3800, t: "" }, // 15
		{ w: 9380, M: 4656, t: "" },
		{ w: 11353, M: 5683, t: "" },
		{ w: 13719, M: 6915, t: "" },
		{ w: 16559, M: 8394, t: "" },
		{ w: 19967, M: 10169, t: "" }, // 20
		{ w: 24056, M: 12299, t: "" },
		{ w: 28963, M: 14855, t: "" },
		{ w: 34852, M: 17921, t: "" },
		{ w: 41917, M: 21602, t: "" },
		{ w: 50398, M: 26019, t: "" }, // 25
		{ w: 60574, M: 31319, t: "" },
		{ w: 72784, M: 37679, t: "" },
		{ w: 87437, M: 45310, t: "" },
		{ w: 105021, M: 54468, t: "" },
		{ w: 126333, M: 65457, t: "" }, // 30
		{ w: 151441, M: 78645, t: "" }
	],
	"tavern"		: [
		{ w: 101, t: "" }, // 1
		{ w: 222, t: "" }, 
		{ w: 367, t: "" },
		{ w: 541, M: 94, t: "" },
		{ w: 750, M: 122, t: "" }, // 5
		{ w: 1001, M: 158, t: "" },
		{ w: 1302, M: 206, t: "" },
		{ w: 1663, M: 267, t: "" },
		{ w: 2097, M: 348, t: "" },
		{ w: 2617, M: 452, t: "" }, // 10
		{ w: 3241, M: 587, t: "" },
		{ w: 3990, M: 764, t: "" },
		{ w: 4888, M: 993, t: "" },
		{ w: 5967, M: 1290, t: "" },
		{ w: 7261, M: 1677, t: "" }, // 15
		{ w: 8814, M: 2181, t: "" },
		{ w: 10678, M: 2835, t: "" },
		{ w: 12914, M: 3685, t: "" },
		{ w: 15598, M: 4791, t: "" },
		{ w: 18818, M: 6228, t: "" }, // 20
		{ w: 22683, M: 8097, t: "" },
		{ w: 27320, M: 10526, t: "" },
		{ w: 32885, M: 13684, t: "" },
		{ w: 39562, M: 17789, t: "" }
	],
	"palace"		: [
		{ w: 712, t: 16080 }, // 1
		{ w: 5824, M: 1434, t: "" },
		{ w: 16048, M: 4546, S: 3089, t: "" },
		{ w: 36496, W: 10898, M: 10770, S: 10301, t: "" },
		{ w: 77392, W: 22110, M: 23218, C: 21188, S: 24725, t: "" }, // 5
		{ w: 159184, W: 44534, M: 48114, C: 42400, S: 53573, t: "" },
		{ w: 322768, W: 89382, M: 97906, C: 82842, S: 111269, t: "" },
		{ w: 649935, W: 179078, M: 185744, C: 169671, S: 226661, t: "" },
		{ w: 1304271, W: 356470, M: 396658, C: 339368, S: 457445, t: "" }
	],
	"palaceColony"	: [
		{ w: 712, t: "" }, // 1
		{ w: 5824, M: 1434, t: "" },
		{ w: 16048, M: 4546, S: 3089, t: "" },
		{ w: 36496, W: 10898, M: 10770, S: 10301, t: "" },
		{ w: 77392, W: 22110, M: 23218, C: 21188, S: 24725, t: "" }, // 5
		{ w: 159184, W: 44534, M: 48114, C: 42400, S: 53573, t: "" },
		{ w: 322768, W: 89382, M: 97906, C: 82842, S: 111269, t: "" },
		{ w: 649935, W: 179078, M: 185744, C: 169671, S: 226661, t: "" },
		{ w: 1304271, W: 356470, M: 396658, C: 339368, S: 457445, t: "" }
	],
	"museum"		: [
		{ w: 560, M: 280, t: "" }, // 1
		{ w: 1435, M: 1190, t: "" },
		{ w: 2748, M: 2573, t: "" },
		{ w: 4716, M: 4676, t: "" },
		{ w: 7669, M: 7871, t: "" }, // 5
		{ w: 12099, M: 12729, t: "" },
		{ w: 18744, M: 20112, t: "" },
		{ w: 28710, M: 31335, t: "" },
		{ w: 47733, M: 52895, t: "" },
		{ w: 66084, M: 74322, t: "" }, // 10
		{ w: 99723, M: 113735, t: "" },
		{ w: 150181, M: 173642, t: "" }
	],
	"port"			: [
		{ w: 60, t: "" }, // 1
		{ w: 150, t: "" },
		{ w: 274, t: "" },
		{ w: 429, t: "" },
		{ w: 637, t: "" }, // 5
		{ w: 894, M: 176, t: "" },
		{ w: 1207, M: 326, t: "" },
		{ w: 1645, M: 540, t: "" },
		{ w: 2106, M: 791, t: "" },
		{ w: 2735, M: 1138, t: "" }, // 10
		{ w: 3537, M: 1598, t: "" },
		{ w: 4492, M: 2176, t: "" },
		{ w: 5689, M: 2928, t: "" },
		{ w: 7103, M: 3859, t: "" },
		{ w: 8850, M: 5051, t: "" }, // 15
		{ w: 11094, M: 6628, t: "" },
		{ w: 13731, M: 8566, t: "" },
		{ w: 17062, M: 11089, t: "" },
		{ w: 21097, M: 14265, t: "" },
		{ w: 25965, M: 18241, t: "" }, // 20
		{ w: 31810, M: 23197, t: "" },
		{ w: 39190, M: 29642, t: "" },
		{ w: 47998, M: 37636, t: "" },
		{ w: 58713, M: 47703, t: "" }
	],
	"shipyard"		: [
		{ w: 105, t: 2592 }, // 1
		{ w: 202, t: 3078 },
		{ w: 324, t: 3588 },
		{ w: 477, t: 4080 },
		{ w: 671, t: 4680 }, // 5
		{ w: 914, M: 778, t: "" },
		{ w: 1222, M: 1052, t: "" },
		{ w: 1609, M: 1397, t: "" },
		{ w: 2096, M: 1832, t: "" },
		{ w: 2711, M: 2381, t: "" }, // 10
		{ w: 3485, M: 3071, t: "" },
		{ w: 4460, M: 3942, t: "" },
		{ w: 5689, M: 5038, t: "" },
		{ w: 7238, M: 6420, t: "" },
		{ w: 9190, M: 8161, t: "" }, // 15
		{ w: 11648, M: 10354, t: "" },
		{ w: 14745, M: 13117, t: "" }
	],
	"barracks"		: [
		{ w: 49, t: 396 }, // 1
		{ w: 114, t: 1044 },
		{ w: 195, t: 1321 },
		{ w: 296, t: 1626 },
		{ w: 420, t: 1962 }, // 5
		{ w: 574, t: 2330 },
		{ w: 766, t: 2736 },
		{ w: 1003, t: 3183 },
		{ w: 1297, M: 178, t: 3660 },
		{ w: 1662, M: 431, t: 4200 }, // 10
		{ w: 2115, M: 745, t: 4800 },
		{ w: 2676, M: 1134, t: 5460 },
		{ w: 3371, M: 1616, t: 6180 },
		{ w: 4234, M: 2214, t: 6960 },
		{ w: 5304, M: 2956, t: 7800 }, // 15
		{ w: 6630, M: 3875, t: 8760 },
		{ w: 8275, M: 5015, t: 9840 },
		{ w: 10314, M: 6429, t: 10980 },
		{ w: 12843, M: 8183, t: 12240 },
		{ w: 15979, M: 10357, t: 13680 }, // 20
		{ w: 19868, M: 13052, t: 15180 },
		{ w: 24690, M: 16395, t: 16920 },
		{ w: 30669, M: 20540, t: 18780 },
		{ w: 38083, M: 25680, t: 20820 },
		{ w: 47277, M: 32054, t: 23040 }, // 25
		{ w: 58772, M: 39957, t: 25560 },
		{ w: 72932, M: 49839, t: 28260 },
		{ w: 90490, M: 61909, t: 31260 }
	],
	"wall"			: [
		{ w: 114, t: 1260 }, // 1
		{ w: 361, M: 203, t: 3096 },
		{ w: 657, M: 516, t: 3720 },
		{ w: 1012, M: 892, t: 4380 },
		{ w: 1439, M: 1344, t: 5160 }, // 5
		{ w: 1951, M: 1885, t: 6000 },
		{ w: 2565, M: 2535, t: 6960 },
		{ w: 3302, M: 3315, t: 7980 },
		{ w: 4186, M: 4251, t: 9060 },
		{ w: 5247, M: 5374, t: 10320 }, // 10
		{ w: 6521, M: 6721, t: 11700 },
		{ w: 8049, M: 8338, t: 13140 },
		{ w: 9882, M: 10279, t: 14820 },
		{ w: 12083, M: 12608, t: 16620 },
		{ w: 14724, M: 15402, t: 18600 }, // 15
		{ w: 17892, M: 18755, t: 20820 },
		{ w: 21695, M: 22779, t: 23220 },
		{ w: 26258, M: 27607, t: 25860 },
		{ w: 31733, M: 33402, t: 28740 },
		{ w: 38304, M: 40355, t: 31980 }, // 20
		{ w: 46189, M: 48699, t: 35460 },
		{ w: 55650, M: 58711, t: 39360 },
		{ w: 67004, M: 70726, t: 43620 },
		{ w: 80629, M: 85144, t: 48300 },
		{ w: 96978, M: 102445, t: 53460 }, // 25
		{ w: 116599, M: 123208, t: 59160 },
		{ w: 140142, M: 148121, t: 65400 },
		{ w: 168395, M: 178019, t: 72240 },
		{ w: 202298, M: 213896, t: 79800 }
	],
	"embassy"		: [
		{ w: 242, M: 155, t: 4320 }, // 1
		{ w: 415, M: 342, t: 5040 },
		{ w: 623, M: 571, t: 5760 },
		{ w: 873, M: 850, t: 6540 },
		{ w: 1173, M: 1190, t: 7380 }, // 5
		{ w: 1532, M: 1606, t: 8280 },
		{ w: 1964, M: 2112, t: 9180 },
		{ w: 2482, M: 2730, t: 10140 },
		{ w: 3103, M: 3484, t: 11160 },
		{ w: 3849, M: 4404, t: 12240 }, // 10
		{ w: 4743, M: 5527, t: 13320 },
		{ w: 5817, M: 6896, t: 14520 },
		{ w: 7105, M: 8566, t: 15780 },
		{ w: 8651, M: 10604, t: 17040 },
		{ w: 10507, M: 13090, t: 18420 }, // 15
		{ w: 12733, M: 16123, t: 19800 },
		{ w: 15404, M: 19824, t: 21399 },
		{ w: 18498, M: 24339, t: 22920 },
		{ w: 22457, M: 29846, t: 24540 },
		{ w: 27074, M: 36564, t: 26280 }, // 20
		{ w: 32290, M: 45216, t: 28080 },
		{ w: 39261, M: 54769, t: 30000 },
		{ w: 47240, M: 66733, t: 32040 },
		{ w: 56812, M: 81859, t: 34140 }
	],
	"branchOffice"	: [
		{ w: 48, t: 1440 }, // 1
		{ w: 173, t: 2520 },
		{ w: 346, t: 3660 },
		{ w: 581, t: 4980 },
		{ w: 896, M: 540, t: 6420 }, // 5
		{ w: 1314, M: 792, t: 7980 },
		{ w: 1863, M: 1123, t: 9720 },
		{ w: 2580, M: 1555, t: 11640 },
		{ w: 3509, M: 2115, t: 13740 },
		{ w: 4706, M: 2837, t: 16080 }, // 10
		{ w: 6241, M: 3762, t: 18600 },
		{ w: 8203, M: 4945, t: 21420 },
		{ w: 10699, M: 6450, t: 24480 },
		{ w: 13866, M: 8359, t: 27900 },
		{ w: 17872, M: 10774, t: 31620 }, // 15
		{ w: 22926, M: 13820, t: 35700 },
		{ w: 29285, M: 17654, t: 40260 }
	],
	"workshop-army"	: [
		{ w: 220, M: 95, t: 2520 }, // 1
		{ w: 383, M: 167, t: 3240 },
		{ w: 569, M: 251, t: 3960 },
		{ w: 781, M: 349, t: 4740 },
		{ w: 1023, M: 461, t: 5580 }, // 5
		{ w: 1299, M: 592, t: 6480 },
		{ w: 1613, M: 744, t: 7380 },
		{ w: 1972, M: 920, t: 8340 },
		{ w: 2380, M: 1125, t: 9360 },
		{ w: 2846, M: 1362, t: 10440 }, // 10
		{ w: 3377, M: 1637, t: 11520 },
		{ w: 3982, M: 1956, t: 12720 },
		{ w: 4672, M: 2326, t: 13980 },
		{ w: 5458, M: 2755, t: 15240 },
		{ w: 6355, M: 3253, t: 16620 }, // 15
		{ w: 7377, M: 3831, t: 18057 }, 
		{ w: 8542, M: 4500, t: 19500 },
		{ w: 9870, M: 5279, t: 21120 }, 
		{ w: 11385, M: 6180, t: 22740 },
		{ w: 13111, M: 7226, t: 24480 }, // 20
		{ w: 15078, M: 8439, t: 26280 },
		{ }, // 22 - unknown
		{ }, // 23 - unknown
		{ w: 22796, M: 13373, t: 0 }, // time unknown
		{ w: 26119, M: 15570, t: 34560 }, // 25
		{ w: 29909, M: 18118, t: 36840 },
		{ w: 34228, M: 21074, t: 0 }, // time unknown
		{ w: 39153, M: 24503, t: 0 }, // time unknown
		{ }, // 29 - unknown
		{ }, // 30 - unknown
		{ w: 58462, M: 38447, t: 50160 }
	],
	"safehouse"		: [
		{ w: 113, t: 1440 }, // 1
		{ w: 248, t: 2160 },
		{ w: 402, t: 2916 },
		{ w: 578, M: 129, t: 3660 },
		{ w: 779, M: 197, t: 4500 }, // 5
		{ w: 1007, M: 275, t: 5400 },
		{ w: 1267, M: 366, t: 6300 },
		{ w: 1564, M: 471, t: 7260 },
		{ w: 1903, M: 593, t: 8280 },
		{ w: 2288, M: 735, t: 9360 }, // 10
		{ w: 2728, M: 900, t: 10440 },
		{ w: 3230, M: 1090, t: 11640 },
		{ w: 3801, M: 1312, t: 12900 },
		{ w: 4453, M: 1569, t: 14160 },
		{ w: 5195, M: 1866, t: 15540 }, // 15
		{ w: 6042, M: 2212, t: 16920 },
		{ w: 7007, M: 2613, t: 18420 },
		{ w: 8107, M: 2924, t: 20040 },
		{ w: 9547, M: 3617, t: 21660 },
		{ w: 10793, M: 4242, t: 23400 }, // 20
		{ w: 12422, M: 4967, t: 25247 },
		{ w: 14282, M: 5810, t: 27120 },
		{ w: 16400, M: 6785, t: 29160 },
		{ w: 18815, M: 7919, t: 31260 },
		{ w: 21570, M: 9233, t: 33480 }, // 25
		{ w: 24708, M: 10757, t: 35760 }
	],
	"forester"		: [
		{ w: 250, t: 1080 }, // 1
		{ w: 430, M: 104, t: 1800 },
		{ w: 664, M: 237, t: 2592 },
		{ w: 968, M: 410, t: 3463 },
		{ w: 1364, M: 635, t: 4380 }, // 5
		{ w: 1878, M: 928, t: 5460 },
		{ w: 2546, M: 1309, t: 6600 },
		{ w: 3415, M: 1803, t: 7860 },
		{ w: 4544, M: 2446, t: 9300 },
		{ w: 6013, M: 3282, t: 10857 }, // 10
		{ w: 7922, M: 4368, t: 12540 },
		{ w: 10403, M: 5781, t: 14422 },
		{ w: 13629, M: 7617, t: 16440 },
		{ w: 17823, M: 10004, t: 18720 },
		{ w: 23274, M: 13108, t: 21180 }, // 15
		{ w: 30362, M: 17142, t: 23940 }
	],
	"glassblowing"	: [
		{ w: 274, t: 1080 }, // 1
		{ w: 467, M: 116, t: 1800 },
		{ w: 718, M: 255, t: 2592 },
		{ w: 1045, M: 436, t: 3463 },
		{ w: 1469, M: 671, t: 4380 }, // 5
		{ w: 2021, M: 977, t: 5460 },
		{ w: 2738, M: 1375, t: 6600 },
		{ w: 3671, M: 1892, t: 7860 },
		{ w: 4883, M: 2564, t: 9300 },
		{ w: 6459, M: 3437, t: 10857 }, // 10
		{ w: 8508, M: 4572, t: 12540 },
		{ w: 11172, M: 6049, t: 14422 },
		{ w: 14634, M: 7968, t: 16440 },
		{ w: 19135, M: 10462, t: 18720 },
		{ w: 24987, M: 13705, t: 21180 }, // 15
		{ w: 32594, M: 17921, t: 23940 },
		{ w: 42483, M: 23402, t: 26940 },
		{ w: 55339, M: 30527, t: 30240 },
		{ w: 72050, M: 39790, t: 33900 }
	],
	"alchemist"		: [
		{ w: 274, t: 1080 }, // 1 
		{ w: 467, M: 116, t: 1800 },
		{ w: 718, M: 255, t: 2592 },
		{ w: 1045, M: 436, t: 3463 },
		{ w: 1469, M: 671, t: 4380 }, // 5
		{ w: 2021, M: 977, t: 5460 },
		{ w: 2738, M: 1375, t: 6600 },
		{ w: 3671, M: 1892, t: 7860 },
		{ w: 4883, M: 2564, t: 9300 },
		{ w: 6459, M: 3437, t: 10857 }, // 10
		{ w: 8508, M: 4572, t: 12540 },
		{ w: 11172, M: 6049, t: 14422 },
		{ w: 14634, M: 7968, t: 16440 },
		{ w: 19135, M: 10462, t: 18720 },
		{ w: 24987, M: 13705, t: 21180 }, // 15
		{ w: 32594, M: 17921, t: 23940 },
		{ w: 42483, M: 23402, t: 26940 },
		{ w: 55339, M: 30527, t: 30240 },
		{ w: 72050, M: 39790, t: 33900 }
	],
	"winegrower"	: [
		{ w: 274, t: 1080 }, // 1
		{ w: 467, M: 116, t: 1800 },
		{ w: 718, M: 255, t: 2592 },
		{ w: 1045, M: 436, t: 3463 },
		{ w: 1469, M: 671, t: 4380 }, // 5
		{ w: 2021, M: 977, t: 5460 },
		{ w: 2738, M: 1375, t: 6600 },
		{ w: 3671, M: 1892, t: 7860 },
		{ w: 4883, M: 2564, t: 9300 },
		{ w: 6459, M: 3437, t: 10857 }, // 10
		{ w: 8508, M: 4572, t: 12540 },
		{ w: 11172, M: 6049, t: 14422 },
		{ w: 14634, M: 7968, t: 16440 },
		{ w: 19135, M: 10462, t: 18720 },
		{ w: 24987, M: 13705, t: 21180 }, // 15
		{ w: 32594, M: 17921, t: 23940 },
		{ w: 42483, M: 23402, t: 26940 },
		{ w: 55339, M: 30527, t: 30240 },
		{ w: 72050, M: 39790, t: 33900 }
	],
	"stonemason"	: [
		{ w: 274, t: 1080 }, // 1
		{ w: 467, M: 116, t: 1800 },
		{ w: 718, M: 255, t: 2592 },
		{ w: 1045, M: 436, t: 3463 },
		{ w: 1469, M: 671, t: 4380 }, // 5
		{ w: 2021, M: 977, t: 5460 },
		{ w: 2738, M: 1375, t: 6600 },
		{ w: 3671, M: 1892, t: 7860 },
		{ w: 4883, M: 2564, t: 9300 },
		{ w: 6459, M: 3437, t: 10857 }, // 10
		{ w: 8508, M: 4572, t: 12540 },
		{ w: 11172, M: 6049, t: 14422 },
		{ w: 14634, M: 7968, t: 16440 },
		{ w: 19135, M: 10462, t: 18720 },
		{ w: 24987, M: 13705, t: 21180 }, // 15
		{ w: 32594, M: 17921, t: 23940 },
		{ w: 42483, M: 23402, t: 26940 },
		{ w: 55339, M: 30527, t: 30240 },
		{ w: 72050, M: 39790, t: 33900 }
	],
	"carpentering"	: [
		{ w: 63, t: 792 }, // 1
		{ w: 122, t: 1008 },
		{ w: 192, t: 1237 },
		{ w: 274, t: 1480 },
		{ w: 372, t: 1737 }, // 5
		{ w: 486, t: 2010 },
		{ w: 620, t: 2299 },
		{ w: 777, M: 359, t: 2605 },
		{ w: 962, M: 444, t: 2930 },
		{ w: 1178, M: 546, t: 3274 }, // 10
		{ w: 1432, M: 669, t: 3639 },
		{ w: 1730, M: 816, t: 4020 },
		{ w: 2078, M: 993, t: 4380 },
		{ w: 2486, M: 1205, t: 4860 },
		{ w: 2964, M: 1459, t: 5280 }, // 15
		{ w: 3524, M: 1765, t: 5820 },
		{ w: 4178, M: 2131, t: 6300 },
		{ w: 4933, M: 2571, t: 6840 }, 
		{ w: 5841, M: 3731, t: 7440 },
		{ w: 6890, M: 3731, t: 8040 }, // 20
		{ w: 8117, M: 4490, t: 8700 },
		{ w: 9550, M: 5402, t: 9420 },
		{ w: 11229, M: 6496, t: 10140 },
		{ w: 13190, M: 7808, t: 10980 },
		{ w: 15484, M: 9383, t: 11760 }, // 25
		{ w: 18167, M: 11273, t: 12600 },
		{ w: 21299, M: 15397, t: 13560 },
		{ w: 24946, M: 16256, t: 14520 },
		{ w: 29245, M: 19531, t: 15540 },
		{ }, // 30 - unknown
		{ }, // 31 - unknown
		{ } // 32 - unknown
	],
	"optician"		: [
		{ w: 119, t: 828 }, // 1
		{ w: 188, M: 35, t: 1044 },
		{ w: 269, M: 96, t: 1273 },
		{ w: 362, M: 167, t: 1516 },
		{ w: 471, M: 249, t: 1773 }, // 5
		{ w: 597, M: 345, t: 2046 },
		{ w: 742, M: 455, t: 2335 },
		{ w: 912, M: 584, t: 2641 },
		{ w: 1108, M: 733, t: 2966 },
		{ w: 1335, M: 905, t: 3310 }, // 10
		{ w: 1600, M: 1106, t: 3660 },
		{ w: 1906, M: 1338, t: 4020 },
		{ w: 2261, M: 1608, t: 4440 },
		{ w: 2673, M: 1921, t: 4860 },
		{ w: 3152, M: 2283, t: 5340 }, // 15
		{ w: 3706, M: 2704, t: 5820 }
	],
	"fireworker"	: [
		{ w: 273, M: 135, t: 972 }, // 1
		{ w: 353, M: 212, t: 1188 },
		{ w: 445, M: 302, t: 1417 },
		{ w: 551, M: 405, t: 1660 },
		{ w: 673, M: 526, t: 1917 }, // 5
		{ w: 813, M: 665, t: 2190 },
		{ w: 974, M: 827, t: 2479 },
		{ w: 1159, M: 1015, t: 2785 },
		{ w: 1373, M: 1233, t: 3110 },
		{ w: 1618, M: 1486, t: 3454 }, // 10
		{ w: 1899, M: 1779, t: 3780 },
		{ w: 2223, M: 2120, t: 4200 },
		{ w: 2596, M: 2514, t: 4560 },
		{ w: 3025, M: 2972, t: 5040 },
		{ w: 3517, M: 3503, t: 5460 }, // 15
		{ w: 4084, M: 4119, t: 6000 }
	],
	"vineyard"		: [
		{ w: 339, M: 123, t: 1368 }, // 1
		{ w: 423, M: 198, t: 1584 },
		{ w: 520, M: 285, t: 1813 },
		{ w: 631, M: 387, t: 2056 },
		{ w: 758, M: 504, t: 2313 }, // 5
		{ w: 905, M: 640, t: 2586 },
		{ w: 1074, M: 798, t: 2875 },
		{ w: 1269, M: 981, t: 3181 },
		{ w: 1492, M: 1194, t: 3506 },
		{ w: 1749, M: 1440, t: 3840 }, // 10
		{ w: 2045, M: 1726, t: 4200 },
		{ w: 2384, M: 2058, t: 4560 },
		{ w: 2775, M: 2443, t: 4980 },
		{ w: 3225, M: 2889, t: 5400 },
		{ w: 3741, M: 3407, t: 5880 }, // 15
		{ w: 4336, M: 4008, t: 6360 },
		{ w: 5132, M: 4705, t: 6900 },
		{ w: 5813, M: 5513, t: 7440 },
		{ w: 6875, M: 6450, t: 8040 },
		{ w: 7941, M: 7537, t: 8640 }, // 20
		{ w: 8944, M: 8800, t: 9300 }
	],
	"architect"		: [
		{ w: 185, M: 106, t: 972 }, // 1
		{ w: 291, M: 160, t: 1188 },
		{ w: 413, M: 222, t: 1417 },
		{ w: 555, M: 295, t: 1660 },
		{ w: 720, M: 379, t: 1917 }, // 5
		{ w: 911, M: 475, t: 2190 },
		{ w: 1133, M: 587, t: 2479 },
		{ w: 1390, M: 716, t: 2785 },
		{ w: 1689, M: 865, t: 3110 },
		{ w: 2035, M: 1036, t: 3454 }, // 10
		{ w: 2437, M: 1233, t: 3780 },
		{ w: 2902, M: 1460, t: 4200 },
		{ w: 3443, M: 1722, t: 4560 },
		{ w: 4070, M: 2023, t: 5040 },
		{ w: 4797, M: 2369, t: 5460 }, // 15
		{ w: 5640, M: 2767, t: 6000 },
		{ w: 6618, M: 3226, t: 6300 },
		{ w: 7754, M: 3752, t: 7030 },
		{ w: 9070, M: 4358, t: 7620 },
		{ w: 10598, M: 5056, t: 8220 }, // 20
		{ w: 12369, M: 5857, t: 8880 },
		{ w: 14424, M: 6777, t: 9600 },
		{ w: 16807, M: 7836, t: 10320 },
		{ w: 19573, M: 9052, t: 11100 }
	]	
};
var unit_cost = {
           "unit slinger" :	{
							p:1,	//Ludzie
							w:40,	//Potrzebne drewno
							b:"17m 11s",	//Czas szkolenia
							u:3,	//Koszt na 1h
							m:1,o:2,	// minimalny i optymalny lvl koszar
							a:7,d:6,	// Atak i Obrona
							A:2,D:2,	// ???? prawdopodobnie coś z ulepszeniami
							s:7,	//Stamina
							c:"Human",	// Klasa
							v:70	// prędkość
							},
									
         "unit swordsman" :	{
							p:2,
							w:28,
							S:36,
							b:"13m 34s",
							u:5,
							m:3,o:4,
							a:18,d:11,
							A:4,D:3,	//?
							s:4,
							c:"Human",
							v:60,
							x:"Assault"
							},
							
           "unit phalanx" :	{
							p:3,
							w:46,
							S:52,
							b:"20m 51s",
							u:8,
							m:4,o:6,
							a:14,d:30,
							A:6,D:10,	//?
							s:8,
							c:"Human",
							v:50,
							x:"Resistance"
							},
							
               "unit ram" :	{
							p:8,
							w:98,
							S:112,
							b:"23m 3s",
							u:30,
							m:6,o:8,
							a:6,d:50,
							A:3,D:4,
							s:5,
							c:"Machina",
							v:50,
							x:"Ram"
							},
							
            "unit archer" :	{
							p:3,
							w:55,
							S:76,
							b:"14m 10s",
							u:8,
							m:7,o:10,
							a:26,d:23,
							A:10,D:10,
							s:4,
							c:"Human",
							v:60,
							x:"Resistance"
							},
							
          "unit catapult" :	{
							p:6,
							w:145,
							S:311,
							b:"34m 28s",
							u:30,
							m:11,o:13,
							a:34,d:33,
							A:9,D:7,
							s:5,
							c:"Machina",
							v:40,
							x:"Ram"
							},
							
          "unit marksman" :	{
							i:"marksman",
							p:4,
							w:74,
							S:122,
							b:"10m 31m",
							u:10,
							m:12,o:14,
							a:42,d:21,
							A:18,D:14,
							s:5,
							c:"Human",
							v:60,
							x:"Assault"
							},
							
            "unit mortar" :	{
							p:10,
							w:208,
							S:845,
							b:"34m",
							u:60,
							m:24,o:24,
							a:142,d:92,
							A:15,D:15,
							s:5,
							c:"Machina",
							v:30,
							x:"Ram"
							},
			
        "unit steamgiant" :	{
							i:"steamgiant",
							p:12,
							w:54,
							S:235,
							b:"24m 57s",
							u:15,
							m:19,o:22,
							a:67,d:50,
							A:20,D:30,
							s:4,
							c:"Machina",
							v:50,
							},
		
        "unit gyrocopter" :	{
							p:4,
							w:92,
							S:164,
							b:"19m 57s",
							u:10,
							m:15,o:17,
							a:35,d:30,
							A:25,D:25,
							s:3,
							c:"Machina",
							v:80
							},
							
        "unit bombardier" :	{
							p:8,
							w:320,
							S:640,
							b:"45m",
							u:30,
							m:22,
							o:24,
							a:184,d:54,
							A:45,D:35,
							s:3,
							c:"Machina",
							v:40,
							x:"Assault"
							},
							
             "unit medic" :	{
							i:"medic",
							p:1,
							w:84,
							C:622,
							b:"38m 13s",
							u:30,
							m:16,o:28,
							a:8,d:22,
							A:0,D:0,
							s:10,
							c:"Human",
							v:60,
							x:"Healer"
							},
							
              "unit cook" :	{
							p:1,
							w:108,
							W:345,
							b:"1h 52m",
							u:30,
							m:9,o:9,
							a:12,d:18,
							A:0,D:0,
							s:10,
							c:"Human",
							v:60,
							x:"Regeneration"
							},
							
          "unit ship_ram" :	{
							p:6,
							w:88,
							S:56,
							b:"28m 16s",
							u:13,
							m:1,o:3,
							a:16,d:13,
							A:4,D:4,
							s:5,
							c:"Sailor",
							v:40,
							x:"Assault"
							},
							
     "unit ship_ballista" :	{
							p:5,
							w:86,
							S:67,
							b:"34m 45s",
							u:14,
							m:3,o:5,
							a:15,d:17,
							A:5,D:7,
							s:6,
							c:"Sailor",
							v:30,
							x:"Resistance"
							},
							
 "unit ship_flamethrower" :	{
							p:4,
							w:67,
							S:123,
							b:"32m 40s",
							u:20,
							m:6,o:8,
							a:39,d:17,
							A:10,D:10,
							s:5,
							c:"Steamship",
							v:33,
							x:"Assault"
							},
							
     "unit ship_catapult" :	{
							p:5,
							w:122,
							S:135,
							b:"42m 30s",
							u:24,
							m:8,o:10,
							a:26,d:38,
							A:12,D:12,
							s:6,
							c:"Steamship",
							v:26,
							x:"Resistance"
							},
							
       "unit ship_mortar" :	{
							p:10,
							w:165,
							S:367,
							b:"1h 2m",
							u:50,
							m:13,o:15,
							a:54,d:108,
							A:35,D:35,
							s:6,
							c:"Steamship",
							v:24,
							x:"Resistance"
							},
							
    "unit ship_steamboat" :	{
							i:"steamboat",
							p:7,
							w:90,
							S:256,
							b:"42m 18s",
							u:33,
							m:11,o:13,
							a:84,d:25,
							A:20,D:18,
							s:5,
							c:"Steamship",
							v:38,
							x:"Assault"
							},
							
    "unit ship_submarine" :	{
							i:"submarine",
							p:6,
							w:255,
							C:457,
							b:"1h 23m",
							u:50,
							m:16,o:16,
							a:142,d:56,
							A:20,D:30,
							s:3,
							c:"Steamship",
							v:32
							},
};
var unitsAndShipsIndexes = {
           "unit slinger" :	0,
         "unit swordsman" :	1,
           "unit phalanx" :	2,
               "unit ram" :	3,
            "unit archer" :	4,
          "unit catapult" :	5,
          "unit marksman" :	6,
            "unit mortar" :	7,
        "unit steamgiant" :	8,
        "unit gyrocopter" :	9,
        "unit bombardier" :	10,
             "unit medic" :	11,
              "unit cook" :	12,

          "unit ship_ram" :	13,
     "unit ship_ballista" :	14,
 "unit ship_flamethrower" :	15,
     "unit ship_catapult" :	16,
       "unit ship_mortar" :	17,
    "unit ship_steamboat" :	18,
    "unit ship_submarine" :	19,
};
var icons = {
    gold: "/skin/resources/icon_gold.gif",
    wood: "/skin/resources/icon_wood.gif",
    wine: "/skin/resources/icon_wine.gif",
   glass: "/skin/resources/icon_glass.gif",
  marble: "/skin/resources/icon_marble.gif",
  sulfur: "/skin/resources/icon_sulfur.gif",
    time: "/skin/resources/icon_time.gif",
citizens: "/skin/resources/icon_citizen.gif",
  upkeep: "/skin/resources/icon_upkeep.gif",
    bulb: "/skin/layout/bulb-on.gif",
  attack: "/skin/layout/sword-icon-report.gif",
  defend: "/skin/layout/shield-icon-report.gif",
   speed: "data:image/gif;base64,R0lGODlhEgAUAOZjAK2hf8vBpploQpVWNX5tP8qqjotULE0mFNK6qJqMZYJTOE4wJHM/Idm8pPbx4d3UvGtCKm9PPmIwGZ5eQZCBWPru26SOfbadivHs2uPcx8ZxMrZnLrtpL6ZdK5t7SoJyRsyDTNlgHeB6MlE3H3tfU6ZWJNxLC4gtB6lfK49iKVBGQKqZhnZkMu/p1o9EG6E4CnIqC5xXKaFaKpNlJPjy4jYoGm1XPYFvWoxNJTEPBoVLJXVXG3tpNmo5H1I9DZWHYJFkRmE1Hl40G4JTDr6CGvK6LczFre7m1uveyUMzGTMgDottUQ0KCG9UN/Dq3IVvUr25rnVjMrqzp7SRcpGDbbOPbHhxZufg0WlbQXpmVHZlNeXfyv7663JdSca7osS+seLczoyEe1NFLf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAHoA2MALAAAAAASABQAAAeygGOCg4SFggCGiYQBiQIDiQSGBQYHCIYJiQoLDA2FDg+JEBESE4UUiRVjFgcXhBgZhhobHB0eCoQfhiAhIh0bIySDuYYlJicdKCkqK2MsLYkuLzAxMjM0NTY3ijg5Mjg6O4I8imM9OgwMPT5jP+RjQEFCQkNERUbuY0dISUo2S/iDlDAZ08QJvidLmECJImWKIipVllgRFGlMkiuJsGQZpGWLIC5dxngp9AWMojBiJhIKBAA7",
};
var title_icons = {
           "unit slinger" : "/skin/characters/military/x40_y40/y40_slinger_faceright.gif",
         "unit swordsman" : "/skin/characters/military/x40_y40/y40_swordsman_faceright.gif",
           "unit phalanx" : "/skin/characters/military/x40_y40/y40_phalanx_faceright.gif",
               "unit ram" : "/skin/characters/military/x40_y40/y40_ram_faceright.gif",
            "unit archer" : "/skin/characters/military/x40_y40/y40_archer_faceright.gif",
          "unit catapult" : "/skin/characters/military/x40_y40/y40_catapult_faceright.gif",
          "unit marksman" : "/skin/characters/military/x40_y40/y40_marksman_faceright.gif",
            "unit mortar" : "/skin/characters/military/x40_y40/y40_mortar_faceright.gif",
        "unit steamgiant" : "/skin/characters/military/x40_y40/y40_steamgiant_faceright.gif",
        "unit gyrocopter" : "/skin/characters/military/x40_y40/y40_gyrocopter_faceright.gif",
        "unit bombardier" : "/skin/characters/military/x40_y40/y40_bombardier_faceright.gif",
             "unit medic" : "/skin/characters/military/x40_y40/y40_medic_faceright.gif",
              "unit cook" : "/skin/characters/military/x40_y40/y40_cook_faceright.gif",

          "unit ship_ram" : "/skin/characters/fleet/40x40/ship_ram_r_40x40.gif",
     "unit ship_ballista" : "/skin/characters/fleet/40x40/ship_ballista_r_40x40.gif",
 "unit ship_flamethrower" : "/skin/characters/fleet/40x40/ship_flamethrower_r_40x40.gif",
     "unit ship_catapult" : "/skin/characters/fleet/40x40/ship_catapult_r_40x40.gif",
       "unit ship_mortar" : "/skin/characters/fleet/40x40/ship_mortar_r_40x40.gif",
    "unit ship_steamboat" : "/skin/characters/fleet/40x40/ship_steamboat_r_40x40.gif",
    "unit ship_submarine" : "/skin/characters/fleet/40x40/ship_submarine_r_40x40.gif",
}
var unitsAndShipsIndexesR = getUnitsShipsIndexesR();
function getLocalizedTexts(lang) {
	switch (lang) {
		case "pl" : //Polish translation, thanks to bOmBeL (Polish 波蘭語)
			buildings = {
                "townHall" : ["Ratusz", "Ratusz"],
                 "academy" : ["Akademia", "Akademia"],
                    "port" : ["Port", "Port"],
                "shipyard" : ["Stocznia", "Stocznia"],
               "warehouse" : ["Magazyn", "Magazyn"],
                    "wall" : ["Mur", "Mur"],
                  "tavern" : ["Tawerna", "Tawerna"],
                  "museum" : ["Muzeum", "Muzeum"],
                  "palace" : ["Pałac", "Pałac"],
            "palaceColony" : ["Rezydencja", "Rezydencja"],
                 "embassy" : ["Ambasada", "Ambasada"],
            "branchOffice" : ["Bazar", "Bazar"],
               "safehouse" : ["Kryjówka", "Kryjówka"],
                "barracks" : ["Koszary", "Koszary"],
           "workshop-army" : ["Warsztat", "Warsztat"],
            "carpentering" : ["Warsztat Cieśli", "Warsztat Cieśli"],
                "forester" : ["Leśniczówka", "Leśniczówka"],
              "stonemason" : ["Kamieniarz", "Kamieniarz"],
            "glassblowing" : ["Huta Szkła", "Huta Szkła"],
              "winegrower" : ["Winiarz", "Winiarz"],
               "alchemist" : ["Wieża Alchemika", "Wieża Alchemika"],
               "architect" : ["Biuro Architekta", "Biuro Architekta"],
                "optician" : ["Optyk", "Optyk"],
                "vineyard" : ["Winnica", "Winnica"],
              "fireworker" : ["Zakład Pirotechnika", "Zakład Pirotechnika"],
			};
			texts = {
One more update. :) 

case "pl" : //Polish translation, thanks to bOmBeL and mudi (Polish 波蘭語)
			return {
                "cityName" : "Nazwa Miasta",
            "ActionPoints" : "Punkty akcji",
              "Coordinate" : "Koordynaty",
              "Population" : "Pupulacja",
              "Incomegold" : "Przychód",
              "Corruption" : "Korupcja",
             "Woodworkers" : "Robotnicy - drewno",
          "Specialworkers" : "Specialni robotnicy",
                "Resource" : "Zasoby",
                    "wood" : "Drewno",
                    "wine" : "Wino",
                  "marble" : "Marmur",
                 "crystal" : "Kryształ",
                  "sulfur" : "Siarka",
       "currentlyBuilding" : "Obecnie w budowie",
                 "summary" : "Podsumowanie:",
           "hide_settings" : "Ukryj ustawienia",
           "show_settings" : "Pokaż ustawienia",
           "scienceReport" : "Przegląd akademii",
       "constructionLevel" : "Poziom budynku",
              "scientists" : "Naukowcy",
                     "spy" : "Szpiedzy",
              "production" : "Produkcja",
                   "costs" : "Koszty",
                    "goTo" : "Idź do ",
              "armyReport" : "Przegląd wojska",
         "resourcesReport" : "Przegląd zasobów",
         "buildingsReport" : "Przegląd budynków ",
         "transportReport" : "Przegląd transportu",
                       "m" : "m",
                       "h" : "h",
                     "day" : "D",
             "hoursToFull" : "godzin do zapełnienia",
            "hoursToEmpty" : "godzin do wyczerpania",
               "available" : "Dostępność",
                "fullness" : "Zapełnienia",
              "lastUpdate" : "Ostatnia aktualizacja",
             "appendDestn" : "Przypisz do użytecznych lokacji",
             "removeDestn" : "Usuń z użytecznych lokacji",
         "appendDestnName" : "Podaj nazwę celu",
      "removeDestnConfirm" : "Czy jesteś pewien że chcesz usunąć tę lokację?",
            "addFavorites" : "Dodaj do ulubionych",
         "removeFavorites" : "Usuń z ulubionych",
         "addFavoriteName" : "Podaj nazwę miasta",
   "removeFavoriteConfirm" : "Czy jesteś pewien że chcesz usunąć %s z listy ulubionych?",
          "NameLabelError" : "Podana nazwa jest niepoprawna, spróbuj ponownie",
      "RESET_DATA_CONFIRM" : "Czy jesteś pewien że chcesz usunąć WSZYSTKIE zapisane dane?",
   "RESET_PLAYERS_CONFIRM" : "Czy jesteś pewien że chcesz usunąć WSZYSTKIE dane graczy?",
        "RESOURCE_COUNTER" : "Przełączenie licznika surowców (redukuje wykorzystanie CPU)",
            "PREMIUM_VIEW" : "Widok premium",
             "INLINESCORE" : "Pokaż punktację",
            "ALERT_SOUNDS" : "Alarmy dźwiękowe",
            "ALERT_VOLUME" : "Głośność alarmów",
          "WARNING_VOLUME" : "Głośność ostrzeżeń",
            "AUTO_REFRESH" : "Automatyczne odświeżanie",
   "AUTO_REFRESH_MIN_SECS" : "Automatyczne odświeżanie - minimalny odstęp czasowy w sekundach",
   "AUTO_REFRESH_MAX_SECS" : "Automatyczne odświeżanie - maksymalny odstęp czasowy w sekundach",
         "TABLE_RESOURCES" : "Pokaż tabelę zasobów",
            "TABLE_CITIES" : "Pokaż tabelę miast",
         "TABLE_BUILDINGS" : "Pokaż tabelę budynków",
         "TABLE_ARMYFLEET" : "Pokaż tabelę armii i floty",
          "TABLE_RESEARCH" : "Pokaż tabelę badań",
         "TABLE_TRANSPORT" : "Pokaż tabelę transportów",
           "TABLE_PLAYERS" : "Pokaż tabelę graczy i miast",
         "TABLE_FAVORITES" : "Pokaż tabelę ulubionych",
        "TECH_LETTERCHUTE" : "Zaznacz jeżeli wynalazłeś Pocztę pneumatyczną",
             "TECH_PULLEY" : "Zaznacz jeżeli wynalazłeś Wielokrążek",
           "TECH_GEOMETRY" : "Zaznacz jeżeli wynalazłeś Geometrię",
        "TECH_SPIRITLEVEL" : "Zaznacz jeżeli wynalazłeś Poziomicę",
          "PLAYERS_NORMAL" : "Pokaż normalnych graczy",
      "PLAYERS_INACTIVITY" : "Pokaż nieaktywnych graczy",
          "PLAYERS_BANNED" : "Pokaż zbanowanych graczy",
        "PLAYERS_VACATION" : "Pokaż graczy na urlopie",
       "PROGRESS_BAR_MODE" : "Pasek postępu zasobów",
        "SETTING_EXPANDED" : "Dodaj surowce z transportowców",
                     "off" : "Wyłączony",
                    "time" : "Na podstawie czasu do zapełnienia",
                 "percent" : "Na podstawie procentowego zapełnienia",
                "LANGUAGE" : "Język",
           "LANGUAGE_AUTO" : "Automatycznie na podstawie serwera",
                 "ownAlly" : "Własny TAG sojuszu",
          "friendlyAllies" : "Przyjazne sojusze ([TAG]i, oddzielone przecinkami)",
           "hostileAllies" : "Wrogie sojusze ([TAG]i, oddzielone przecinkami)",
               "DEBUG_LOG" : "Zapisuj logi debugowania",
           "Refresh_table" : "Odśwież tabelę",
          "Reset_all_data" : "Zresetuj wszystkie dane",
      "Reset_players_data" : "Zresetuj dane graczy",
                 "Players" : "Gracze",
                "Alliance" : "Sojusze",
                   "Score" : "Ogólny wynik",
               "StartCity" : "Miasto źródłowe",
         "DestinationCity" : "Miasto docelowe",
                 "Mission" : "Misja",
              "FinishTime" : "Czas zakończenia",
         "FinishResources" : "When finish mission, the start city of resources",
                   "Point" : "Punkt",
                 "Loading" : "Ładowanie",
                    "Wait" : "Czekaj",
               "Remaining" : "Pozostało",
                 "Upgrade" : "Ulepsz",
          "UpgradeConfirm" : "Czy jesteś pewien, że chcesz rozbudować ten budynek?",
                   "Level" : "Poziom",
               "Happiness" : "Satysfakcja",
                  "Growth" : "Przyrost",
             "FreeWorkers" : "Wolni robotnicy",
                    "full" : "Pełny",
                   "empty" : "Pusty",
              "NewVersion" : "Jest nowa wersja "+scriptname+"\n%s\n Kliknij OK aby zaktualizować skrypt",
                  "Attack" : "Atak",
                  "Action" : "Akcja",
                  "Remark" : "Remark",
           "DeleteConfirm" : "Czy jesteś pewien że chcesz usunąć %s?",
           "ResourceNeeds" : "Wymagane surowce",
                "unitInfo" : "Informacje o jednostce",
               "ScoreInfo" : "Punktacja",
               "GoldScore" : "Złoto",
                "Military" : "Generałowie",
               "AllyScore" : "Punkty sojuszu",
             "AllyMembers" : "Członków sojuszu",
                   "fetch" : "Szukam...",
                 "unknown" : "Nieznany",
    		};
			break;

Cross
Presentational HTML allowed.
Use <code> for inline code and <pre> for code blocks. Use &lt; and &gt; for literal < and >.
We help break paragraphs and link your links.
or cancel