Theresmore Automation

Automation suite for Theresmore game

您需要先安装一个扩展,例如 篡改猴Greasemonkey暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴Userscripts ,之后才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。

您需要先安装用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name        Theresmore Automation
// @description Automation suite for Theresmore game
// @namespace   github.com/Theresmore-Automation/Theresmore-Automation
// @match       https://www.theresmoregame.com/play/
// @match       https://theresmoregame.g8hh.com/
// @match       https://theresmoregame.g8hh.com.cn/
// @license     MIT
// @run-at      document-idle
// @version     4.14.4
// @homepage    https://github.com/Theresmore-Automation/Theresmore-Automation
// @author      Theresmore Automation team
// @grant       none
// ==/UserScript==


/*
MIT License

Copyright (c) 2023 Theresmore Automation

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR
A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/

/*

二次修改版,by @jk from QQ群:607245788
1. 修复造兵bug。原版本在有多个兵种时造兵有问题。
2. 修复战斗是否能取胜的计算逻辑。原版本计算时存在两处明显bug。
3. 修复Auto-sort army选项永远生效的bug。
4. 优先打指定怪物(可配置,blockingFights)。默认为主线流程中那几个怪物。
5. 在没有新魔法可研究时跳过魔法面板。原版本在无可研究科技时会跳过科研面版,现把这个逻辑扩展到魔法面板。
6. 在指定科技(可配置,exploreResearch)研究后,自动重复探索若干次(可配置,exploreTimes)。默认为需要发现主线流程怪物的那几个前置科技,探索6次。
7. 在指定科技(可配置,ngResearch)研究后,自动触发光荣退休。默认空。需要搭配开启自动转生配置,且研发光荣退休科技后方生效。
8. 仅当指定建筑(可配置,popAdjustBuildingList)建造后,才访问人口面板。默认为所有增加人口和工种,以及减少粮食的那些建筑。
9. 屏蔽log级别日志(可配置,levelsToLog),将开始和停止日志提升至warn级别避免误伤。可通过F12->Console查看详细日志。
10. 增加指定科技(可配置,loggingResearch)研究日志。默认为时代末那几个防守战+住房+灭世。
11. 研发科技后,如果有新的科技可以研发,但资源不够,那么会等待一小会儿(可配置,awaitResearch)。默认50ms,用于避免检查速度过快导致可以连续研发的情况下仍然切换了页面。
12. 降低页面切换等待时间。
13. 降低开局选择先祖时等待时间。
14. 去除每一完整页面循环轮后的等待时间。
15. 去除几个核心防御事件结束后的等待时间,去除这几个事件需要撤回军队驻守时跳过的等待时间。

*/

const taVersion = "4.14.4";


(function () {
  'use strict';

  const PAGES = {
    BUILD: 'Build',
    RESEARCH: 'Research',
    POPULATION: 'Population',
    ARMY: 'Army',
    MARKETPLACE: 'Marketplace',
    MAGIC: 'Magic',
    DIPLOMACY: 'Diplomacy'
  };
  const PAGES_INDEX = {
    [PAGES.BUILD]: 0,
    [PAGES.RESEARCH]: 1,
    [PAGES.POPULATION]: 2,
    [PAGES.ARMY]: 4,
    [PAGES.MARKETPLACE]: 6,
    [PAGES.MAGIC]: 3,
    [PAGES.DIPLOMACY]: 5
  };
  const SUBPAGES = {
    CITY: 'City',
    COLONY: 'Colony',
    ABYSS: 'Abyss',
    RESEARCH: 'Research',
    SPELLS: 'Spells',
    PRAYERS: 'Prayers',
    ARMY: 'Army',
    EXPLORE: 'Explore',
    ATTACK: 'Attack',
    GARRISON: 'Garrison'
  };
  const SUBPAGES_INDEX = {
    [SUBPAGES.CITY]: 0,
    [SUBPAGES.COLONY]: 1,
    [SUBPAGES.ABYSS]: 2,
    [SUBPAGES.RESEARCH]: 0,
    [SUBPAGES.SPELLS]: 0,
    [SUBPAGES.PRAYERS]: 1,
    [SUBPAGES.ARMY]: 0,
    [SUBPAGES.EXPLORE]: 1,
    [SUBPAGES.ATTACK]: 3,
    [SUBPAGES.GARRISON]: 4
  };
  const SUBPAGE_MAPPING = {
    CITY: 'BUILD',
    COLONY: 'BUILD',
    ABYSS: 'BUILD',
    RESEARCH: 'RESEARCH',
    SPELLS: 'MAGIC',
    PRAYERS: 'MAGIC',
    ARMY: 'ARMY',
    EXPLORE: 'ARMY',
    ATTACK: 'ARMY',
    GARRISON: 'ARMY'
  };
  const DIPLOMACY = {
    DISABLED: 0,
    GO_TO_WAR: 1,
    JUST_TRADE: 2,
    TRADE_AND_ALLY: 3,
    ONLY_ALLY: 4
  };
  const DIPLOMACY_BUTTONS = {
    DELEGATION: 'Send a delegation',
    CANCEL_TRADE: 'Cancel trade agreement',
    ACCEPT_TRADE: 'Accept trade agreement',
    INSULT: 'Insult',
    WAR: 'War',
    IMPROVE_RELATIONSHIPS: 'Improve relationships',
    ALLY: 'Alliance'
  };
  const TOOLTIP_PREFIX = {
    BUILDING: 'bui_',
    TECH: 'tech_',
    PRAYER: 'pray_',
    UNIT: 'uni_',
    FACTION_IMPROVE: 'improve_',
    FACTION_DELEGATION: 'delegation_'
  };
  var CONSTANTS = {
    PAGES,
    SUBPAGES,
    SUBPAGE_MAPPING,
    PAGES_INDEX,
    SUBPAGES_INDEX,
    DIPLOMACY,
    DIPLOMACY_BUTTONS,
    TOOLTIP_PREFIX
  };

  // https://stackoverflow.com/a/55366435
  class NumberParser {
    constructor(locale) {
      const format = new Intl.NumberFormat(locale);
      const parts = format.formatToParts(12345.6);
      const numerals = Array.from({
        length: 10
      }).map((_, i) => format.format(i));
      const index = new Map(numerals.map((d, i) => [d, i]));
      this._group = new RegExp(`[${parts.find(d => d.type === 'group').value}]`, 'g');
      this._decimal = new RegExp(`[${parts.find(d => d.type === 'decimal').value}]`);
      this._numeral = new RegExp(`[${numerals.join('')}]`, 'g');
      this._index = d => index.get(d);
    }
    parse(string) {
      let multiplier = 1;
      if (string.includes('K')) {
        multiplier = 1000;
      } else if (string.includes('M')) {
        multiplier = 1000000;
      }
      string = string.replace('K', '').replace('M', '').trim();
      return (string = string.replace(this._group, '').replace(this._decimal, '.').replace(this._numeral, this._index)) ? +string * multiplier : NaN;
    }
  }
  const numberParser = new NumberParser();

  const prefix = 'TA_';
  const get$1 = key => {
    const data = window.localStorage.getItem(`${prefix}${key}`);
    if (data) {
      return JSON.parse(data);
    }
  };
  const set = (key, value) => {
    window.localStorage.setItem(`${prefix}${key}`, JSON.stringify(value));
  };
  const remove = key => {
    window.localStorage.removeItem(`${prefix}${key}`);
  };
  var localStorage = {
    get: get$1,
    set,
    remove
  };

  const getDefaultOptions = () => {
    const options = {
      pages: {},
      autoSortArmy: {
        enabled: false
      },
      ancestor: {
        enabled: false,
        selected: ''
      },
      prestige: {
        enabled: false,
        selected: '',
        options: {}
      },
      difficulty: {
        enabled: false,
        selected: ''
      },
      path: {
        enabled: false,
        selected: ''
      },
      ngplus: {
        enabled: false,
        value: 0
      },
      cosmetics: {
        hideFullPageOverlay: {
          enabled: false
        },
        toasts: {
          enabled: false
        }
      },
      turbo: {
        enabled: false,
        maxSleep: 50
      },
      instantArmy: {
        enabled: false
      },
      instantOracle: {
        enabled: false
      },
      guidedStart: {
        enabled: false
      },
      lastMigration: 3,
      version: taVersion
    };
    Object.keys(CONSTANTS.PAGES).every(key => {
      options.pages[CONSTANTS.PAGES[key]] = {
        enabled: false,
        page: CONSTANTS.PAGES[key],
        subpages: {},
        options: {}
      };
      return options.pages[CONSTANTS.PAGES[key]];
    });
    Object.keys(CONSTANTS.SUBPAGES).every(key => {
      const parent = CONSTANTS.PAGES[CONSTANTS.SUBPAGE_MAPPING[key]];
      options.pages[parent].subpages[CONSTANTS.SUBPAGES[key]] = {
        enabled: false,
        subpage: CONSTANTS.SUBPAGES[key],
        options: {}
      };
      return options.pages[parent].subpages[CONSTANTS.SUBPAGES[key]];
    });
    return options;
  };
  const state = {
    scriptPaused: true,
    haveManualResourceButtons: true,
    stopAutoClicking: false,
    lastVisited: {},
    buildings: [],
    options: getDefaultOptions(),
    MainStore: null
  };
  if (typeof localStorage.get('scriptPaused') !== 'undefined') {
    state.scriptPaused = localStorage.get('scriptPaused');
  }
  if (typeof localStorage.get('options') !== 'undefined') {
    state.options = {
      ...state.options,
      ...localStorage.get('options')
    };
  }
  if (typeof localStorage.get('lastVisited') !== 'undefined') {
    state.lastVisited = {
      ...state.lastVisited,
      ...localStorage.get('lastVisited')
    };
  }

  function sleep(miliseconds, force = false) {
    if (state.options.turbo.enabled && !force) {
      return new Promise(resolve => setTimeout(resolve, Math.min(state.options.turbo.maxSleep, miliseconds)));
    } else {
      return new Promise(resolve => setTimeout(resolve, miliseconds));
    }
  }

  var buildings = [
  	{
  		id: "common_house",
  		cat: "living_quarters",
  		tab: 1,
  		age: 1,
  		req: [
  			{
  				type: "resource",
  				id: "wood",
  				value: 15,
  				multi: 1.3
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 10,
  				multi: 1.3
  			},
  			{
  				type: "tech",
  				id: "housing",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "food",
  				value: -1
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 0.2
  			},
  			{
  				type: "resource",
  				id: "research",
  				value: 0.3
  			},
  			{
  				type: "population",
  				id: "unemployed",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "house_workers",
  		cat: "living_quarters",
  		tab: 1,
  		age: 100,
  		req: [
  			{
  				type: "resource",
  				id: "wood",
  				value: 45,
  				multi: 1.3
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 30,
  				multi: 1.3
  			},
  			{
  				type: "tech",
  				id: "house_of_workers",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "food",
  				value: -1.5
  			},
  			{
  				type: "population",
  				id: "farmer",
  				value: 1
  			},
  			{
  				type: "population",
  				id: "lumberjack",
  				value: 1
  			},
  			{
  				type: "population",
  				id: "quarryman",
  				value: 1
  			},
  			{
  				type: "population",
  				id: "miner",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 0.5
  			},
  			{
  				type: "resource",
  				id: "research",
  				value: 0.5
  			},
  			{
  				type: "population",
  				id: "unemployed",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "monument",
  		cat: "living_quarters",
  		cap: 1,
  		tab: 1,
  		age: 100,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 10
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 10
  			},
  			{
  				type: "tech",
  				id: "monument_past",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "research",
  				value: 1
  			},
  			{
  				type: "population",
  				id: "unemployed",
  				value: 2
  			}
  		]
  	},
  	{
  		id: "hall_of_the_dead",
  		cat: "living_quarters",
  		tab: 1,
  		age: 100,
  		req: [
  			{
  				type: "resource",
  				id: "stone",
  				value: 1000,
  				multi: 2
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 500,
  				multi: 2
  			},
  			{
  				type: "resource",
  				id: "cow",
  				value: 170,
  				multi: 1.5
  			},
  			{
  				type: "tech",
  				id: "servitude",
  				value: 1
  			},
  			{
  				type: "legacy",
  				id: "hall_dead",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "population",
  				id: "unemployed",
  				value: 2
  			},
  			{
  				type: "resource",
  				id: "research",
  				value: 0.6
  			}
  		]
  	},
  	{
  		id: "city_hall",
  		cat: "living_quarters",
  		tab: 1,
  		age: 1,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 1200,
  				multi: 1.3
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 1000,
  				multi: 1.3
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 750,
  				multi: 1.3
  			},
  			{
  				type: "resource",
  				id: "copper",
  				value: 400,
  				multi: 1.3
  			},
  			{
  				type: "resource",
  				id: "iron",
  				value: 400,
  				multi: 1.3
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 150,
  				multi: 1.3
  			},
  			{
  				type: "tech",
  				id: "municipal_administration",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "food",
  				value: -1.5
  			},
  			{
  				type: "cap",
  				id: "research",
  				value: 250
  			},
  			{
  				type: "population",
  				id: "unemployed",
  				value: 2
  			}
  		]
  	},
  	{
  		id: "amusement_quarter_b",
  		cat: "living_quarters",
  		tab: 1,
  		age: 13,
  		req: [
  			{
  				type: "resource",
  				id: "wood",
  				value: 500,
  				multi: 1.5
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 500,
  				multi: 1.5
  			},
  			{
  				type: "resource",
  				id: "luck",
  				value: 1
  			},
  			{
  				type: "prayer",
  				id: "amusement_quarter_f",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "population",
  				id: "unemployed",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "mansion",
  		cat: "living_quarters",
  		tab: 1,
  		age: 2,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 4000,
  				multi: 1.3
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 2000,
  				multi: 1.3
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 1000,
  				multi: 1.3
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 200,
  				multi: 1.3
  			},
  			{
  				type: "resource",
  				id: "building_material",
  				value: 100,
  				multi: 1.3
  			},
  			{
  				type: "tech",
  				id: "architecture",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "food",
  				value: -3
  			},
  			{
  				type: "cap",
  				id: "research",
  				value: 500
  			},
  			{
  				type: "population",
  				id: "unemployed",
  				value: 4
  			}
  		]
  	},
  	{
  		id: "residential_block",
  		cat: "living_quarters",
  		tab: 1,
  		age: 3,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 12000,
  				multi: 1.3
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 2000,
  				multi: 1.3
  			},
  			{
  				type: "resource",
  				id: "building_material",
  				value: 1000,
  				multi: 1.3
  			},
  			{
  				type: "resource",
  				id: "supplies",
  				value: 600,
  				multi: 1.3
  			},
  			{
  				type: "tech",
  				id: "economics",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "food",
  				value: -5
  			},
  			{
  				type: "population",
  				id: "unemployed",
  				value: 5
  			}
  		]
  	},
  	{
  		id: "ministry_interior",
  		cat: "living_quarters",
  		tab: 1,
  		age: 100,
  		req: [
  			{
  				type: "resource",
  				id: "food",
  				value: 8000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 8000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "building_material",
  				value: 4000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "supplies",
  				value: 4000,
  				multi: 1.2
  			},
  			{
  				type: "tech",
  				id: "ministry_interior_t",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "population",
  				id: "merchant",
  				value: 1
  			},
  			{
  				type: "population",
  				id: "professor",
  				value: 1
  			},
  			{
  				type: "population",
  				id: "supplier",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "research",
  				value: 6
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 3
  			},
  			{
  				type: "resource",
  				id: "supplies",
  				value: 0.5
  			},
  			{
  				type: "cap",
  				id: "research",
  				value: 8000
  			},
  			{
  				type: "cap",
  				id: "gold",
  				value: 5000
  			},
  			{
  				type: "cap",
  				id: "supplies",
  				value: 3000
  			},
  			{
  				type: "population",
  				id: "unemployed",
  				value: 4
  			}
  		]
  	},
  	{
  		id: "gan_eden",
  		cat: "living_quarters",
  		tab: 1,
  		age: 4,
  		req: [
  			{
  				type: "resource",
  				id: "food",
  				value: 2000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "faith",
  				value: 2000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 2000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "supplies",
  				value: 800,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "cow",
  				value: 600,
  				multi: 1.1
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 500,
  				multi: 1.2
  			},
  			{
  				type: "tech",
  				id: "ecology",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "population",
  				id: "farmer",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "food",
  				value: 1
  			},
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "farmer",
  				type_gen: "resource",
  				gen: "food",
  				value: 2,
  				perc: true
  			},
  			{
  				type: "cap",
  				id: "food",
  				value: 500
  			},
  			{
  				type: "population",
  				id: "unemployed",
  				value: 2
  			}
  		]
  	},
  	{
  		id: "ministry_development",
  		cat: "living_quarters",
  		tab: 1,
  		age: 5,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 25000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 10000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "building_material",
  				value: 10000,
  				multi: 1.2
  			},
  			{
  				type: "tech",
  				id: "centralized_power",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "food",
  				value: -2
  			},
  			{
  				type: "resource",
  				id: "research",
  				value: 1,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 1,
  				perc: true
  			},
  			{
  				type: "cap",
  				id: "research",
  				value: 1000
  			},
  			{
  				type: "cap",
  				id: "gold",
  				value: 1000
  			},
  			{
  				type: "population",
  				id: "unemployed",
  				value: 3
  			}
  		]
  	},
  	{
  		id: "farm",
  		cat: "resource",
  		tab: 1,
  		age: 1,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 10,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 24,
  				multi: 1.4
  			},
  			{
  				type: "tech",
  				id: "agricolture",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "population",
  				id: "farmer",
  				value: 1
  			},
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "farmer",
  				type_gen: "resource",
  				gen: "food",
  				value: 1,
  				perc: true
  			},
  			{
  				type: "cap",
  				id: "food",
  				value: 240
  			}
  		]
  	},
  	{
  		id: "granary",
  		cat: "resource",
  		tab: 1,
  		age: 100,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 150,
  				multi: 1.3
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 150,
  				multi: 1.3
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 100,
  				multi: 1.3
  			},
  			{
  				type: "tech",
  				id: "grain_surplus",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "food",
  				value: 0.2
  			},
  			{
  				type: "resource",
  				id: "food",
  				value: 1,
  				perc: true
  			},
  			{
  				type: "cap",
  				id: "food",
  				value: 200
  			}
  		]
  	},
  	{
  		id: "lumberjack_camp",
  		cat: "resource",
  		tab: 1,
  		age: 1,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 25,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 18,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 5,
  				multi: 1.4
  			},
  			{
  				type: "tech",
  				id: "wood_cutting",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "population",
  				id: "lumberjack",
  				value: 1
  			},
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "lumberjack",
  				type_gen: "resource",
  				gen: "wood",
  				value: 1,
  				perc: true
  			},
  			{
  				type: "cap",
  				id: "wood",
  				value: 100
  			}
  		]
  	},
  	{
  		id: "sawmill",
  		cat: "resource",
  		tab: 1,
  		age: 100,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 180,
  				multi: 1.3
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 180,
  				multi: 1.3
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 140,
  				multi: 1.3
  			},
  			{
  				type: "tech",
  				id: "wood_saw",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "wood",
  				value: 0.7
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 1,
  				perc: true
  			},
  			{
  				type: "cap",
  				id: "wood",
  				value: 750
  			}
  		]
  	},
  	{
  		id: "lucky_grove_b",
  		cat: "resource",
  		tab: 1,
  		age: 13,
  		req: [
  			{
  				type: "resource",
  				id: "wood",
  				value: 300,
  				multi: 1.5
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 300,
  				multi: 1.5
  			},
  			{
  				type: "resource",
  				id: "luck",
  				value: 1
  			},
  			{
  				type: "prayer",
  				id: "lucky_grove_f",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "wood",
  				value: 2
  			}
  		]
  	},
  	{
  		id: "quarry",
  		cat: "resource",
  		tab: 1,
  		age: 1,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 32,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 24,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 8,
  				multi: 1.4
  			},
  			{
  				type: "tech",
  				id: "stone_masonry",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "population",
  				id: "quarryman",
  				value: 1
  			},
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "quarryman",
  				type_gen: "resource",
  				gen: "stone",
  				value: 1,
  				perc: true
  			},
  			{
  				type: "cap",
  				id: "stone",
  				value: 100
  			}
  		]
  	},
  	{
  		id: "stonemason",
  		cat: "resource",
  		tab: 1,
  		age: 100,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 180,
  				multi: 1.3
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 180,
  				multi: 1.3
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 140,
  				multi: 1.3
  			},
  			{
  				type: "tech",
  				id: "stone_processing",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "stone",
  				value: 0.5
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 1,
  				perc: true
  			},
  			{
  				type: "cap",
  				id: "stone",
  				value: 750
  			}
  		]
  	},
  	{
  		id: "mine",
  		cat: "resource",
  		tab: 1,
  		age: 1,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 160,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 140,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 80,
  				multi: 1.4
  			},
  			{
  				type: "tech",
  				id: "mining",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "population",
  				id: "miner",
  				value: 1
  			},
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "miner",
  				type_gen: "resource",
  				gen: "copper",
  				value: 1,
  				perc: true
  			},
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "miner",
  				type_gen: "resource",
  				gen: "iron",
  				value: 1,
  				perc: true
  			},
  			{
  				type: "cap",
  				id: "copper",
  				value: 100
  			},
  			{
  				type: "cap",
  				id: "iron",
  				value: 100
  			}
  		]
  	},
  	{
  		id: "titan_work_area",
  		cat: "resource",
  		tab: 1,
  		age: 100,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 1500,
  				multi: 1.5
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 1000,
  				multi: 1.5
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 800,
  				multi: 1.5
  			},
  			{
  				type: "resource",
  				id: "copper",
  				value: 200,
  				multi: 1.5
  			},
  			{
  				type: "resource",
  				id: "iron",
  				value: 150,
  				multi: 1.5
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 100,
  				multi: 1.5
  			},
  			{
  				type: "tech",
  				id: "architecture_titan_t",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "wood",
  				value: 5
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 5
  			},
  			{
  				type: "resource",
  				id: "copper",
  				value: 2
  			},
  			{
  				type: "resource",
  				id: "iron",
  				value: 2
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 1
  			},
  			{
  				type: "cap",
  				id: "wood",
  				value: 25000
  			},
  			{
  				type: "cap",
  				id: "stone",
  				value: 25000
  			},
  			{
  				type: "cap",
  				id: "copper",
  				value: 15000
  			},
  			{
  				type: "cap",
  				id: "iron",
  				value: 15000
  			},
  			{
  				type: "cap",
  				id: "tools",
  				value: 15000
  			}
  		]
  	},
  	{
  		id: "stable",
  		cat: "resource",
  		tab: 1,
  		age: 1,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 500,
  				multi: 1.3
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 500,
  				multi: 1.3
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 250,
  				multi: 1.3
  			},
  			{
  				type: "tech",
  				id: "breeding",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "population",
  				id: "breeder",
  				value: 1
  			},
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "farmer",
  				type_gen: "resource",
  				gen: "food",
  				value: 2,
  				perc: true
  			},
  			{
  				type: "cap",
  				id: "cow",
  				value: 80
  			},
  			{
  				type: "cap",
  				id: "horse",
  				value: 40
  			}
  		]
  	},
  	{
  		id: "sacred_den_b",
  		cat: "resource",
  		tab: 1,
  		age: 1,
  		req: [
  			{
  				type: "resource",
  				id: "food",
  				value: 1400,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 1200,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "faith",
  				value: 600,
  				multi: 1.4
  			},
  			{
  				type: "prayer",
  				id: "sacred_den_f",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "population",
  				id: "lumberjack",
  				value: 1
  			},
  			{
  				type: "population",
  				id: "quarryman",
  				value: 1
  			},
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "lumberjack",
  				type_gen: "resource",
  				gen: "wood",
  				value: 2,
  				perc: true
  			},
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "quarryman",
  				type_gen: "resource",
  				gen: "stone",
  				value: 2,
  				perc: true
  			},
  			{
  				type: "cap",
  				id: "faith",
  				value: 400
  			},
  			{
  				type: "population",
  				id: "unemployed",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "undead_herd",
  		cat: "resource",
  		tab: 1,
  		age: 100,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 300,
  				multi: 1.7
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 750,
  				multi: 1.7
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 350,
  				multi: 1.5
  			},
  			{
  				type: "tech",
  				id: "breeding",
  				value: 1
  			},
  			{
  				type: "legacy",
  				id: "undead_herds",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "cow",
  				value: 0.3
  			},
  			{
  				type: "resource",
  				id: "horse",
  				value: 0.2
  			},
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "farmer",
  				type_gen: "resource",
  				gen: "food",
  				value: 3,
  				perc: true
  			},
  			{
  				type: "cap",
  				id: "cow",
  				value: 120
  			},
  			{
  				type: "cap",
  				id: "horse",
  				value: 80
  			}
  		]
  	},
  	{
  		id: "fiefdom",
  		cat: "resource",
  		tab: 1,
  		age: 2,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 1500,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 1500,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 1000,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "copper",
  				value: 500,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "iron",
  				value: 500,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 500,
  				multi: 1.4
  			},
  			{
  				type: "tech",
  				id: "feudalism",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "population",
  				id: "farmer",
  				value: 1
  			},
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "farmer",
  				type_gen: "resource",
  				gen: "food",
  				value: 3,
  				perc: true
  			},
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "breeder",
  				type_gen: "resource",
  				gen: "cow",
  				value: 3,
  				perc: true
  			},
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "breeder",
  				type_gen: "resource",
  				gen: "horse",
  				value: 3,
  				perc: true
  			},
  			{
  				type: "cap",
  				id: "food",
  				value: 250
  			},
  			{
  				type: "cap",
  				id: "cow",
  				value: 100
  			},
  			{
  				type: "cap",
  				id: "horse",
  				value: 50
  			}
  		]
  	},
  	{
  		id: "foundry",
  		cat: "resource",
  		tab: 1,
  		age: 2,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 1500,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 1200,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 1000,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "copper",
  				value: 500,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "iron",
  				value: 500,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 500,
  				multi: 1.4
  			},
  			{
  				type: "tech",
  				id: "metal_casting",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "population",
  				id: "miner",
  				value: 1
  			},
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "miner",
  				type_gen: "resource",
  				gen: "copper",
  				value: 3,
  				perc: true
  			},
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "miner",
  				type_gen: "resource",
  				gen: "iron",
  				value: 3,
  				perc: true
  			},
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "artisan",
  				type_gen: "resource",
  				gen: "tools",
  				value: 3,
  				perc: true
  			},
  			{
  				type: "cap",
  				id: "copper",
  				value: 250
  			},
  			{
  				type: "cap",
  				id: "iron",
  				value: 250
  			},
  			{
  				type: "cap",
  				id: "tools",
  				value: 250
  			}
  		]
  	},
  	{
  		id: "machines_of_gods",
  		cat: "resource",
  		tab: 1,
  		age: 100,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 1400,
  				multi: 1.8
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 800,
  				multi: 1.8
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 600,
  				multi: 1.8
  			},
  			{
  				type: "resource",
  				id: "copper",
  				value: 100,
  				multi: 1.8
  			},
  			{
  				type: "resource",
  				id: "iron",
  				value: 50,
  				multi: 1.8
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 150,
  				multi: 1.8
  			},
  			{
  				type: "tech",
  				id: "metal_casting",
  				value: 1
  			},
  			{
  				type: "legacy",
  				id: "machines_gods",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "tools",
  				value: 1.2
  			},
  			{
  				type: "resource",
  				id: "copper",
  				value: 1.2
  			},
  			{
  				type: "resource",
  				id: "iron",
  				value: 0.5
  			},
  			{
  				type: "cap",
  				id: "copper",
  				value: 500
  			},
  			{
  				type: "cap",
  				id: "iron",
  				value: 500
  			},
  			{
  				type: "cap",
  				id: "tools",
  				value: 500
  			}
  		]
  	},
  	{
  		id: "carpenter_workshop",
  		cat: "resource",
  		tab: 1,
  		age: 2,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 1000,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 800,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 600,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "iron",
  				value: 500,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 500,
  				multi: 1.4
  			},
  			{
  				type: "tech",
  				id: "architecture",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "population",
  				id: "carpenter",
  				value: 1
  			},
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "carpenter",
  				type_gen: "resource",
  				gen: "building_material",
  				value: 2,
  				perc: true
  			},
  			{
  				type: "cap",
  				id: "building_material",
  				value: 150
  			}
  		]
  	},
  	{
  		id: "grocery",
  		cat: "resource",
  		tab: 1,
  		age: 2,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 1200,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 500,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "building_material",
  				value: 200,
  				multi: 1.4
  			},
  			{
  				type: "tech",
  				id: "food_conservation",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "population",
  				id: "supplier",
  				value: 1
  			},
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "supplier",
  				type_gen: "resource",
  				gen: "supplies",
  				value: 2,
  				perc: true
  			},
  			{
  				type: "cap",
  				id: "supplies",
  				value: 100
  			}
  		]
  	},
  	{
  		id: "steelworks",
  		cat: "resource",
  		tab: 1,
  		age: 2,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 2400,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 500,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "building_material",
  				value: 200,
  				multi: 1.4
  			},
  			{
  				type: "tech",
  				id: "steeling",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "population",
  				id: "steelworker",
  				value: 1
  			},
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "steelworker",
  				type_gen: "resource",
  				gen: "steel",
  				value: 2,
  				perc: true
  			},
  			{
  				type: "cap",
  				id: "steel",
  				value: 250
  			}
  		]
  	},
  	{
  		id: "guild_of_craftsmen",
  		cat: "resource",
  		tab: 1,
  		age: 100,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 2500,
  				multi: 1.5
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 1200,
  				multi: 1.5
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 1200,
  				multi: 1.5
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 500,
  				multi: 1.5
  			},
  			{
  				type: "tech",
  				id: "craftsmen_guild",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "building_material",
  				value: 0.2
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: 0.2
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 0.1
  			},
  			{
  				type: "resource",
  				id: "supplies",
  				value: 0.1
  			}
  		]
  	},
  	{
  		id: "alchemic_laboratory",
  		cat: "resource",
  		tab: 1,
  		age: 3,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 8000,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "copper",
  				value: 3500,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "iron",
  				value: 3000,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 2000,
  				multi: 1.4
  			},
  			{
  				type: "tech",
  				id: "chemistry",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "population",
  				id: "alchemist",
  				value: 1
  			},
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "alchemist",
  				type_gen: "resource",
  				gen: "saltpetre",
  				value: 2,
  				perc: true
  			},
  			{
  				type: "cap",
  				id: "saltpetre",
  				value: 200
  			}
  		]
  	},
  	{
  		id: "builder_district",
  		cat: "resource",
  		tab: 1,
  		age: 3,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 2500,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 2500,
  				multi: 1.3
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 2500,
  				multi: 1.3
  			},
  			{
  				type: "resource",
  				id: "building_material",
  				value: 500,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "supplies",
  				value: 500,
  				multi: 1.2
  			},
  			{
  				type: "tech",
  				id: "manufactures",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "population",
  				id: "lumberjack",
  				value: 1
  			},
  			{
  				type: "population",
  				id: "quarryman",
  				value: 1
  			},
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "lumberjack",
  				type_gen: "resource",
  				gen: "wood",
  				value: 3,
  				perc: true
  			},
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "quarryman",
  				type_gen: "resource",
  				gen: "stone",
  				value: 3,
  				perc: true
  			},
  			{
  				type: "cap",
  				id: "wood",
  				value: 800
  			},
  			{
  				type: "cap",
  				id: "stone",
  				value: 800
  			}
  		]
  	},
  	{
  		id: "natronite_refinery",
  		cat: "resource",
  		tab: 1,
  		age: 4,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 12000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 1500,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: 1200,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "saltpetre",
  				value: 600,
  				multi: 1.2
  			},
  			{
  				type: "tech",
  				id: "mana_engine",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "population",
  				id: "natro_refiner",
  				value: 1
  			},
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "natro_refiner",
  				type_gen: "resource",
  				gen: "natronite",
  				value: 2,
  				perc: true
  			},
  			{
  				type: "cap",
  				id: "natronite",
  				value: 200
  			}
  		]
  	},
  	{
  		id: "industrial_plant",
  		cat: "resource",
  		tab: 1,
  		age: 4,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 12000,
  				multi: 1.3
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: 1500,
  				multi: 1.3
  			},
  			{
  				type: "resource",
  				id: "building_material",
  				value: 1200,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 500,
  				multi: 1.2
  			},
  			{
  				type: "tech",
  				id: "mechanization",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "population",
  				id: "artisan",
  				value: 1
  			},
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "artisan",
  				type_gen: "resource",
  				gen: "tools",
  				value: 3,
  				perc: true
  			},
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "carpenter",
  				type_gen: "resource",
  				gen: "building_material",
  				value: 3,
  				perc: true
  			},
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "steelworker",
  				type_gen: "resource",
  				gen: "steel",
  				value: 3,
  				perc: true
  			},
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "supplier",
  				type_gen: "resource",
  				gen: "supplies",
  				value: 3,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "factory",
  		cat: "resource",
  		tab: 1,
  		age: 5,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 25000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "iron",
  				value: 15000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: 7000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "building_material",
  				value: 7000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 5000,
  				multi: 1.2
  			},
  			{
  				type: "tech",
  				id: "assembly_line",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "building_material",
  				value: 0.2
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: 0.2
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 0.2
  			},
  			{
  				type: "resource",
  				id: "supplies",
  				value: 0.2
  			},
  			{
  				type: "resource",
  				id: "saltpetre",
  				value: 0.1
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 0.1
  			}
  		]
  	},
  	{
  		id: "school",
  		cat: "science",
  		tab: 1,
  		age: 1,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 350,
  				multi: 1.3
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 300,
  				multi: 1.3
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 250,
  				multi: 1.3
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 100,
  				multi: 1.3
  			},
  			{
  				type: "tech",
  				id: "writing",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "research",
  				value: 0.4
  			},
  			{
  				type: "resource",
  				id: "research",
  				value: 1,
  				perc: true
  			},
  			{
  				type: "cap",
  				id: "research",
  				value: 1000
  			}
  		]
  	},
  	{
  		id: "eureka_halls_b",
  		cat: "science",
  		tab: 1,
  		age: 13,
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 300,
  				multi: 1.5
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 300,
  				multi: 1.5
  			},
  			{
  				type: "resource",
  				id: "luck",
  				value: 1
  			},
  			{
  				type: "prayer",
  				id: "eureka_halls_f",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "research",
  				value: 2
  			}
  		]
  	},
  	{
  		id: "hall_of_wisdom",
  		cat: "science",
  		tab: 1,
  		age: 100,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 800,
  				multi: 2
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 500,
  				multi: 2
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 500,
  				multi: 2
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 250,
  				multi: 2
  			},
  			{
  				type: "tech",
  				id: "writing",
  				value: 1
  			},
  			{
  				type: "legacy",
  				id: "hall_wisdom",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "research",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "research",
  				value: 3,
  				perc: true
  			},
  			{
  				type: "cap",
  				id: "research",
  				value: 2000
  			}
  		]
  	},
  	{
  		id: "library_of_theresmore",
  		cat: "science",
  		tab: 1,
  		age: 100,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 300,
  				multi: 1.6
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 400,
  				multi: 1.6
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 300,
  				multi: 1.6
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 100,
  				multi: 1.6
  			},
  			{
  				type: "tech",
  				id: "remember_the_ancients",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 2,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 2,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 2,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "copper",
  				value: 2,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "iron",
  				value: 2,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 2,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "faith",
  				value: 2,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 2,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "mage_academy_b",
  		cat: "science",
  		tab: 1,
  		age: 1,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 2000,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 1200,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 900,
  				multi: 1.4
  			},
  			{
  				type: "prayer",
  				id: "mage_academy_f",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "research",
  				value: 2
  			},
  			{
  				type: "cap",
  				id: "research",
  				value: 1000
  			},
  			{
  				type: "cap",
  				id: "faith",
  				value: 400
  			}
  		]
  	},
  	{
  		id: "university",
  		cat: "science",
  		tab: 1,
  		age: 2,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 3000,
  				multi: 1.3
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 1000,
  				multi: 1.3
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 750,
  				multi: 1.3
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 500,
  				multi: 1.3
  			},
  			{
  				type: "resource",
  				id: "building_material",
  				value: 200,
  				multi: 1.3
  			},
  			{
  				type: "tech",
  				id: "education",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "population",
  				id: "professor",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "research",
  				value: 2,
  				perc: true
  			},
  			{
  				type: "cap",
  				id: "research",
  				value: 1500
  			},
  			{
  				type: "cap",
  				id: "crystal",
  				value: 50
  			}
  		]
  	},
  	{
  		id: "archeological_dig",
  		cat: "science",
  		tab: 1,
  		age: 2,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 6000,
  				multi: 1.6
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 4000,
  				multi: 1.5
  			},
  			{
  				type: "resource",
  				id: "building_material",
  				value: 1000,
  				multi: 1.4
  			},
  			{
  				type: "tech",
  				id: "master_history",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "research",
  				value: 2
  			},
  			{
  				type: "resource",
  				id: "research",
  				value: 2,
  				perc: true
  			},
  			{
  				type: "cap",
  				id: "research",
  				value: 2500
  			}
  		]
  	},
  	{
  		id: "statue_atamar",
  		cat: "science",
  		tab: 1,
  		cap: 1,
  		age: 2,
  		req: [
  			{
  				type: "resource",
  				id: "stone",
  				value: 4500
  			},
  			{
  				type: "tech",
  				id: "education",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "research",
  				value: 2
  			},
  			{
  				type: "cap",
  				id: "army",
  				value: 15
  			},
  			{
  				type: "building",
  				id: "statue_firio",
  				value: -1
  			},
  			{
  				type: "building",
  				id: "statue_lurezia",
  				value: -1
  			}
  		]
  	},
  	{
  		id: "statue_firio",
  		cat: "science",
  		tab: 1,
  		cap: 1,
  		age: 2,
  		req: [
  			{
  				type: "resource",
  				id: "stone",
  				value: 4500
  			},
  			{
  				type: "tech",
  				id: "education",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "research",
  				value: 5
  			},
  			{
  				type: "resource",
  				id: "faith",
  				value: 10
  			},
  			{
  				type: "building",
  				id: "statue_atamar",
  				value: -1
  			},
  			{
  				type: "building",
  				id: "statue_lurezia",
  				value: -1
  			}
  		]
  	},
  	{
  		id: "statue_lurezia",
  		cat: "science",
  		tab: 1,
  		cap: 1,
  		age: 2,
  		req: [
  			{
  				type: "resource",
  				id: "stone",
  				value: 4500
  			},
  			{
  				type: "tech",
  				id: "education",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "research",
  				value: 2
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 10
  			},
  			{
  				type: "building",
  				id: "statue_atamar",
  				value: -1
  			},
  			{
  				type: "building",
  				id: "statue_firio",
  				value: -1
  			}
  		]
  	},
  	{
  		id: "library_souls",
  		cat: "science",
  		tab: 1,
  		cap: 1,
  		age: 100,
  		req: [
  			{
  				type: "building",
  				id: "books",
  				value: 8,
  				consume: true
  			},
  			{
  				type: "building",
  				id: "souls",
  				value: 8,
  				consume: true
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 150,
  				fix: true
  			},
  			{
  				type: "resource",
  				id: "food",
  				value: 5
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 10
  			},
  			{
  				type: "resource",
  				id: "research",
  				value: 5,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "food",
  				value: 5,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "books",
  		cat: "science",
  		tab: 1,
  		cap: 8,
  		age: 100,
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 15000
  			},
  			{
  				type: "resource",
  				id: "faith",
  				value: 4000
  			},
  			{
  				type: "tech",
  				id: "library_of_souls",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "souls",
  		cat: "science",
  		tab: 1,
  		cap: 8,
  		age: 100,
  		req: [
  			{
  				type: "resource",
  				id: "mana",
  				value: 2800
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 500
  			},
  			{
  				type: "tech",
  				id: "library_of_souls",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "observatory",
  		cat: "science",
  		tab: 1,
  		age: 3,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 8000,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 3000,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 1500,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "building_material",
  				value: 1000,
  				multi: 1.3
  			},
  			{
  				type: "tech",
  				id: "astronomy",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "population",
  				id: "skymancer",
  				value: 1
  			},
  			{
  				type: "cap",
  				id: "research",
  				value: 2500
  			},
  			{
  				type: "cap",
  				id: "crystal",
  				value: 100
  			}
  		]
  	},
  	{
  		id: "highschool_magic_b",
  		cat: "science",
  		tab: 1,
  		age: 3,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 8000,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 4000,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "faith",
  				value: 4000,
  				multi: 1.3
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: 2500,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 1500,
  				multi: 1.2
  			},
  			{
  				type: "prayer",
  				id: "highschool_magic_f",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "research",
  				value: 4
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 4
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 0.6
  			},
  			{
  				type: "resource",
  				id: "research",
  				value: 2,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 2,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 2,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "research_plant",
  		cat: "science",
  		tab: 1,
  		age: 4,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 12000,
  				multi: 1.3
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 4000,
  				multi: 1.3
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 1000,
  				multi: 1.3
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 400,
  				multi: 1.4
  			},
  			{
  				type: "tech",
  				id: "research_district",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "population",
  				id: "researcher",
  				value: 1
  			},
  			{
  				type: "cap",
  				id: "research",
  				value: 4000
  			}
  		]
  	},
  	{
  		id: "island_outpost",
  		cat: "science",
  		tab: 1,
  		cap: 5,
  		age: 4,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 25000,
  				multi: 1.5
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 15000,
  				multi: 1.5
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 8000,
  				multi: 1.3
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 1500,
  				multi: 1.5
  			},
  			{
  				type: "tech",
  				id: "outpost_tiny_island",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "research",
  				value: 2
  			},
  			{
  				type: "cap",
  				id: "research",
  				value: 6000
  			}
  		]
  	},
  	{
  		id: "palisade",
  		cat: "defense",
  		tab: 1,
  		cap: 1,
  		age: 1,
  		req: [
  			{
  				type: "building",
  				id: "palisade_unit",
  				value: 10,
  				consume: true
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "settlement_defenses",
  				type_gen: "stat",
  				gen: "defense",
  				value: 25,
  				perc: false
  			},
  			{
  				type: "resource",
  				id: "fame",
  				value: 25,
  				fix: true
  			},
  			{
  				type: "cap",
  				id: "army",
  				value: 5
  			}
  		]
  	},
  	{
  		id: "palisade_unit",
  		cat: "defense",
  		tab: 1,
  		cap: 10,
  		age: 1,
  		req: [
  			{
  				type: "resource",
  				id: "wood",
  				value: 600
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 120
  			},
  			{
  				type: "tech",
  				id: "fortification",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "wall",
  		cat: "defense",
  		tab: 1,
  		cap: 1,
  		age: 1,
  		req: [
  			{
  				type: "building",
  				id: "wall_unit",
  				value: 15,
  				consume: true
  			},
  			{
  				type: "building",
  				id: "palisade",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "settlement_defenses",
  				type_gen: "stat",
  				gen: "defense",
  				value: 50,
  				perc: false
  			},
  			{
  				type: "resource",
  				id: "fame",
  				value: 50,
  				fix: true
  			},
  			{
  				type: "cap",
  				id: "army",
  				value: 10
  			}
  		]
  	},
  	{
  		id: "wall_unit",
  		cat: "defense",
  		tab: 1,
  		cap: 15,
  		age: 1,
  		req: [
  			{
  				type: "resource",
  				id: "stone",
  				value: 800
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 200
  			},
  			{
  				type: "tech",
  				id: "fortification",
  				value: 1
  			},
  			{
  				type: "building",
  				id: "palisade",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "rampart",
  		cat: "defense",
  		tab: 1,
  		cap: 1,
  		age: 100,
  		req: [
  			{
  				type: "building",
  				id: "rampart_unit",
  				value: 12,
  				consume: true
  			},
  			{
  				type: "building",
  				id: "wall",
  				value: 1
  			},
  			{
  				type: "legacy",
  				id: "defensive_rampart",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "settlement_defenses",
  				type_gen: "stat",
  				gen: "defense",
  				value: 200,
  				perc: false
  			},
  			{
  				type: "resource",
  				id: "fame",
  				value: 70,
  				fix: true
  			},
  			{
  				type: "cap",
  				id: "army",
  				value: 20
  			}
  		]
  	},
  	{
  		id: "rampart_unit",
  		cat: "defense",
  		tab: 1,
  		cap: 12,
  		age: 100,
  		req: [
  			{
  				type: "resource",
  				id: "stone",
  				value: 2000
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 1000
  			},
  			{
  				type: "tech",
  				id: "fortification",
  				value: 1
  			},
  			{
  				type: "building",
  				id: "wall",
  				value: 1
  			},
  			{
  				type: "legacy",
  				id: "defensive_rampart",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "titanic_walls",
  		cat: "defense",
  		tab: 1,
  		cap: 1,
  		age: 100,
  		req: [
  			{
  				type: "building",
  				id: "titanic_walls_part",
  				value: 12,
  				consume: true
  			},
  			{
  				type: "building",
  				id: "wall",
  				value: 1
  			},
  			{
  				type: "tech",
  				id: "wall_titan_t",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 150,
  				fix: true
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "settlement_defenses",
  				type_gen: "stat",
  				gen: "defense",
  				value: 2000,
  				perc: false
  			},
  			{
  				type: "resource",
  				id: "building_material",
  				value: 5
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: 5
  			},
  			{
  				type: "resource",
  				id: "supplies",
  				value: 5
  			}
  		]
  	},
  	{
  		id: "titanic_walls_part",
  		cat: "defense",
  		tab: 1,
  		cap: 12,
  		age: 100,
  		req: [
  			{
  				type: "resource",
  				id: "stone",
  				value: 12000
  			},
  			{
  				type: "resource",
  				id: "building_material",
  				value: 5000
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: 5000
  			},
  			{
  				type: "building",
  				id: "wall",
  				value: 1
  			},
  			{
  				type: "tech",
  				id: "wall_titan_t",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "barracks",
  		cat: "defense",
  		tab: 1,
  		age: 1,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 1000,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 800,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 800,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "iron",
  				value: 500,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 250,
  				multi: 1.4
  			},
  			{
  				type: "tech",
  				id: "bronze_working",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "cap",
  				id: "army",
  				value: 3
  			}
  		]
  	},
  	{
  		id: "underground_tunnel_b",
  		cat: "defense",
  		tab: 1,
  		age: 13,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 700,
  				multi: 1.5
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 500,
  				multi: 1.5
  			},
  			{
  				type: "resource",
  				id: "luck",
  				value: 1
  			},
  			{
  				type: "prayer",
  				id: "underground_tunnel_f",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "settlement_defenses",
  				type_gen: "stat",
  				gen: "defense",
  				value: 40,
  				perc: false
  			},
  			{
  				type: "cap",
  				id: "army",
  				value: 2
  			}
  		]
  	},
  	{
  		id: "boot_camp",
  		cat: "defense",
  		tab: 1,
  		cap: 8,
  		age: 100,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 2500,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "iron",
  				value: 1500,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 1500,
  				multi: 1.4
  			},
  			{
  				type: "tech",
  				id: "boot_camp_t",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "archer",
  				type_gen: "stat",
  				gen: "defense",
  				value: 1,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "phalanx",
  				type_gen: "stat",
  				gen: "defense",
  				value: 1,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "warrior",
  				type_gen: "stat",
  				gen: "defense",
  				value: 1,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "light_cavarly",
  				type_gen: "stat",
  				gen: "defense",
  				value: 1,
  				perc: false
  			},
  			{
  				type: "cap",
  				id: "army",
  				value: 12
  			}
  		]
  	},
  	{
  		id: "castrum_militia",
  		cat: "defense",
  		tab: 1,
  		age: 100,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 500,
  				multi: 1.6
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 300,
  				multi: 1.5
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 300,
  				multi: 1.5
  			},
  			{
  				type: "resource",
  				id: "copper",
  				value: 300,
  				multi: 1.3
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 200,
  				multi: 1.3
  			},
  			{
  				type: "tech",
  				id: "training_militia",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "cap",
  				id: "army",
  				value: 5
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "settlement_defenses",
  				type_gen: "stat",
  				gen: "defense",
  				value: 5,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "recruit_training_center",
  		cat: "defense",
  		tab: 1,
  		cap: 5,
  		age: 2,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 2000,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "iron",
  				value: 500,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 500,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "building_material",
  				value: 200,
  				multi: 1.4
  			},
  			{
  				type: "tech",
  				id: "professional_soldier",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "archer",
  				type_gen: "stat",
  				gen: "attack",
  				value: 1,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "spearman",
  				type_gen: "stat",
  				gen: "defense",
  				value: 1,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "warrior",
  				type_gen: "stat",
  				gen: "attack",
  				value: 1,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "heavy_warrior",
  				type_gen: "stat",
  				gen: "defense",
  				value: 1,
  				perc: false
  			},
  			{
  				type: "cap",
  				id: "army",
  				value: 5
  			}
  		]
  	},
  	{
  		id: "mercenary_outpost",
  		cat: "defense",
  		tab: 1,
  		cap: 15,
  		age: 100,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 4500,
  				multi: 1.3
  			},
  			{
  				type: "resource",
  				id: "copper",
  				value: 2500,
  				multi: 1.3
  			},
  			{
  				type: "resource",
  				id: "iron",
  				value: 2500,
  				multi: 1.3
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 2500,
  				multi: 1.3
  			},
  			{
  				type: "resource",
  				id: "building_material",
  				value: 1250,
  				multi: 1.3
  			},
  			{
  				type: "tech",
  				id: "mercenary_outpost_t",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "mercenary_veteran",
  				type_gen: "stat",
  				gen: "attack",
  				value: 2,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "white_company",
  				type_gen: "stat",
  				gen: "attack",
  				value: 2,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "canava_guard",
  				type_gen: "stat",
  				gen: "defense",
  				value: 2,
  				perc: false
  			},
  			{
  				type: "cap",
  				id: "army",
  				value: 4
  			}
  		]
  	},
  	{
  		id: "watchman_outpost",
  		cat: "defense",
  		tab: 1,
  		cap: 8,
  		age: 2,
  		req: [
  			{
  				type: "resource",
  				id: "wood",
  				value: 2000,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 1000,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "supplies",
  				value: 100,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 70,
  				multi: 1.4
  			},
  			{
  				type: "tech",
  				id: "herald_canava",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "settlement_defenses",
  				type_gen: "stat",
  				gen: "attack",
  				value: 2,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "settlement_defenses",
  				type_gen: "stat",
  				gen: "defense",
  				value: 8,
  				perc: false
  			},
  			{
  				type: "cap",
  				id: "army",
  				value: 2
  			}
  		]
  	},
  	{
  		id: "natronite_baloon",
  		cat: "defense",
  		tab: 1,
  		cap: 4,
  		age: 4,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 10000,
  				multi: 2
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 750,
  				multi: 2
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 750,
  				multi: 2
  			},
  			{
  				type: "tech",
  				id: "flight",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "settlement_defenses",
  				type_gen: "stat",
  				gen: "attack",
  				value: 4,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "settlement_defenses",
  				type_gen: "stat",
  				gen: "defense",
  				value: 20,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "ballista",
  		cat: "defense",
  		tab: 1,
  		cap: 4,
  		age: 2,
  		req: [
  			{
  				type: "resource",
  				id: "wood",
  				value: 3000,
  				multi: 1.5
  			},
  			{
  				type: "resource",
  				id: "building_material",
  				value: 600,
  				multi: 1.5
  			},
  			{
  				type: "tech",
  				id: "siege_defense_weapons",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "settlement_defenses",
  				type_gen: "stat",
  				gen: "attack",
  				value: 12,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "settlement_defenses",
  				type_gen: "stat",
  				gen: "defense",
  				value: 2,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "siege_workshop",
  		cat: "defense",
  		tab: 1,
  		cap: 10,
  		age: 2,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 2500,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "iron",
  				value: 1500,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 1500,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "building_material",
  				value: 600,
  				multi: 1.4
  			},
  			{
  				type: "tech",
  				id: "besieging_engineers",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "battering_ram",
  				type_gen: "stat",
  				gen: "attack",
  				value: 2,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "trebuchet",
  				type_gen: "stat",
  				gen: "attack",
  				value: 2,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "magical_tower",
  		cat: "defense",
  		tab: 1,
  		cap: 8,
  		age: 3,
  		req: [
  			{
  				type: "resource",
  				id: "stone",
  				value: 8000,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 600,
  				multi: 1.4
  			},
  			{
  				type: "tech",
  				id: "magic_arts_teaching",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "settlement_defenses",
  				type_gen: "stat",
  				gen: "attack",
  				value: 18,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "settlement_defenses",
  				type_gen: "stat",
  				gen: "defense",
  				value: 10,
  				perc: false
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 2
  			}
  		]
  	},
  	{
  		id: "minefield",
  		cat: "defense",
  		tab: 1,
  		cap: 8,
  		age: 4,
  		req: [
  			{
  				type: "resource",
  				id: "saltpetre",
  				value: 1000,
  				multi: 1.3
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 500,
  				multi: 1.3
  			},
  			{
  				type: "tech",
  				id: "land_mine",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "settlement_defenses",
  				type_gen: "stat",
  				gen: "attack",
  				value: 25,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "military_academy",
  		cat: "defense",
  		tab: 1,
  		age: 3,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 12000,
  				multi: 1.5
  			},
  			{
  				type: "resource",
  				id: "iron",
  				value: 2000,
  				multi: 1.5
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 2000,
  				multi: 1.5
  			},
  			{
  				type: "resource",
  				id: "building_material",
  				value: 1000,
  				multi: 1.5
  			},
  			{
  				type: "resource",
  				id: "supplies",
  				value: 500,
  				multi: 1.5
  			},
  			{
  				type: "tech",
  				id: "military_science",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "crossbowman",
  				type_gen: "stat",
  				gen: "attack",
  				value: 2,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "arquebusier",
  				type_gen: "stat",
  				gen: "attack",
  				value: 2,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "man_at_arms",
  				type_gen: "stat",
  				gen: "defense",
  				value: 2,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "knight",
  				type_gen: "stat",
  				gen: "defense",
  				value: 2,
  				perc: false
  			},
  			{
  				type: "cap",
  				id: "army",
  				value: 10
  			}
  		]
  	},
  	{
  		id: "ministry_war",
  		cat: "defense",
  		tab: 1,
  		cap: 15,
  		age: 100,
  		req: [
  			{
  				type: "resource",
  				id: "stone",
  				value: 8000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "iron",
  				value: 6000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "building_material",
  				value: 4000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: 4000,
  				multi: 1.2
  			},
  			{
  				type: "tech",
  				id: "ministry_war_t",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "arquebusier",
  				type_gen: "stat",
  				gen: "attack",
  				value: 3,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "cuirassier",
  				type_gen: "stat",
  				gen: "attack",
  				value: 3,
  				perc: false
  			},
  			{
  				type: "cap",
  				id: "food",
  				value: 2500
  			},
  			{
  				type: "cap",
  				id: "supplies",
  				value: 1000
  			},
  			{
  				type: "cap",
  				id: "army",
  				value: 15
  			},
  			{
  				type: "population",
  				id: "unemployed",
  				value: 2
  			}
  		]
  	},
  	{
  		id: "magic_workshop_b",
  		cat: "defense",
  		tab: 1,
  		age: 3,
  		cap: 10,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 10000,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "faith",
  				value: 10000,
  				multi: 1.3
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 8000,
  				multi: 1.3
  			},
  			{
  				type: "prayer",
  				id: "magic_workshop_f",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "priest",
  				type_gen: "stat",
  				gen: "defense",
  				value: 2,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "cleric",
  				type_gen: "stat",
  				gen: "defense",
  				value: 2,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "sacred_golem",
  				type_gen: "stat",
  				gen: "defense",
  				value: 4,
  				perc: false
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 5
  			},
  			{
  				type: "resource",
  				id: "luck",
  				value: 1,
  				fix: true
  			}
  		]
  	},
  	{
  		id: "officer_training_ground",
  		cat: "defense",
  		tab: 1,
  		cap: 5,
  		age: 4,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 12000,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "iron",
  				value: 2500,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: 1000,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "supplies",
  				value: 1000,
  				multi: 1.4
  			},
  			{
  				type: "tech",
  				id: "military_tactics",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "line_infantry",
  				type_gen: "stat",
  				gen: "attack",
  				value: 3,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "cannon",
  				type_gen: "stat",
  				gen: "attack",
  				value: 3,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "general",
  				type_gen: "stat",
  				gen: "defense",
  				value: 3,
  				perc: false
  			},
  			{
  				type: "cap",
  				id: "army",
  				value: 5
  			}
  		]
  	},
  	{
  		id: "artillery_firing",
  		cat: "defense",
  		tab: 1,
  		cap: 10,
  		age: 4,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 15000,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "iron",
  				value: 5000,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: 3000,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "supplies",
  				value: 2000,
  				multi: 1.4
  			},
  			{
  				type: "tech",
  				id: "veteran_artillerymen",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "bombard",
  				type_gen: "stat",
  				gen: "attack",
  				value: 2,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "cannon",
  				type_gen: "stat",
  				gen: "attack",
  				value: 2,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "natronite_shield",
  		cat: "defense",
  		tab: 1,
  		cap: 4,
  		age: 4,
  		req: [
  			{
  				type: "resource",
  				id: "mana",
  				value: 10000
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 6000
  			},
  			{
  				type: "tech",
  				id: "preparation_war",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "settlement_defenses",
  				type_gen: "stat",
  				gen: "defense",
  				value: 50,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "magic_stable_b",
  		cat: "defense",
  		tab: 1,
  		age: 4,
  		cap: 10,
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 15000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 12000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "horse",
  				value: 7500,
  				multi: 1.2
  			},
  			{
  				type: "prayer",
  				id: "magic_stable_f",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "light_cavarly",
  				type_gen: "stat",
  				gen: "attack",
  				value: 2,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "light_cavarly",
  				type_gen: "stat",
  				gen: "defense",
  				value: 1,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "knight",
  				type_gen: "stat",
  				gen: "attack",
  				value: 4,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "knight",
  				type_gen: "stat",
  				gen: "defense",
  				value: 2,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "cuirassier",
  				type_gen: "stat",
  				gen: "attack",
  				value: 5,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "cuirassier",
  				type_gen: "stat",
  				gen: "defense",
  				value: 3,
  				perc: false
  			},
  			{
  				type: "cap",
  				id: "army",
  				value: 10
  			}
  		]
  	},
  	{
  		id: "soulstealer_citadel",
  		cat: "defense",
  		tab: 1,
  		cap: 5,
  		age: 100,
  		req: [
  			{
  				type: "resource",
  				id: "stone",
  				value: 125000,
  				multi: 1.3
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 25000,
  				multi: 1.3
  			},
  			{
  				type: "resource",
  				id: "faith",
  				value: 17500,
  				multi: 1.3
  			},
  			{
  				type: "prayer",
  				id: "control_fortress",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "food",
  				value: -120
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: -120
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "heavy_warrior",
  				type_gen: "stat",
  				gen: "attack",
  				value: 12,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "heavy_warrior",
  				type_gen: "stat",
  				gen: "defense",
  				value: 12,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "crossbowman",
  				type_gen: "stat",
  				gen: "attack",
  				value: 11,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "crossbowman",
  				type_gen: "stat",
  				gen: "defense",
  				value: 6,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "city_center",
  		cat: "wonders",
  		tab: 1,
  		cap: 1,
  		age: 1,
  		req: [
  			{
  				type: "building",
  				id: "city_center_unit",
  				value: 12,
  				consume: true
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 50,
  				fix: true
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 5,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 5,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 5,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "copper",
  				value: 5,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "iron",
  				value: 5,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 5,
  				perc: true
  			},
  			{
  				type: "population",
  				id: "unemployed",
  				value: 5
  			},
  			{
  				type: "cap",
  				id: "army",
  				value: 10
  			}
  		]
  	},
  	{
  		id: "city_center_unit",
  		cat: "wonders",
  		tab: 1,
  		cap: 12,
  		age: 1,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 1500
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 750
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 750
  			},
  			{
  				type: "resource",
  				id: "copper",
  				value: 500
  			},
  			{
  				type: "resource",
  				id: "iron",
  				value: 250
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 250
  			},
  			{
  				type: "tech",
  				id: "end_ancient_era",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "great_fair",
  		cat: "wonders",
  		tab: 1,
  		cap: 1,
  		age: 2,
  		req: [
  			{
  				type: "building",
  				id: "great_fair_unit",
  				value: 8,
  				consume: true
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 100,
  				fix: true
  			},
  			{
  				type: "resource",
  				id: "building_material",
  				value: 0.25
  			},
  			{
  				type: "resource",
  				id: "supplies",
  				value: 0.25
  			},
  			{
  				type: "resource",
  				id: "cow",
  				value: 5,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "horse",
  				value: 5,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "supplies",
  				value: 5,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "building_material",
  				value: 5,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "great_fair_unit",
  		cat: "wonders",
  		tab: 1,
  		cap: 8,
  		age: 2,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 4000
  			},
  			{
  				type: "resource",
  				id: "cow",
  				value: 150
  			},
  			{
  				type: "resource",
  				id: "horse",
  				value: 100
  			},
  			{
  				type: "tech",
  				id: "fairs_and_markets",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "cathedral",
  		cat: "wonders",
  		tab: 1,
  		cap: 1,
  		age: 2,
  		req: [
  			{
  				type: "building",
  				id: "cathedral_unit",
  				value: 8,
  				consume: true
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 100,
  				fix: true
  			},
  			{
  				type: "resource",
  				id: "faith",
  				value: 3
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 3
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 0.2
  			},
  			{
  				type: "resource",
  				id: "faith",
  				value: 3,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 3,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 3,
  				perc: true
  			},
  			{
  				type: "cap",
  				id: "faith",
  				value: 1000
  			},
  			{
  				type: "cap",
  				id: "mana",
  				value: 500
  			}
  		]
  	},
  	{
  		id: "cathedral_unit",
  		cat: "wonders",
  		tab: 1,
  		cap: 8,
  		age: 2,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 4000
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 1500
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 1000
  			},
  			{
  				type: "resource",
  				id: "building_material",
  				value: 400
  			},
  			{
  				type: "resource",
  				id: "supplies",
  				value: 400
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 100
  			},
  			{
  				type: "tech",
  				id: "religious_orders",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "academy_of_freethinkers",
  		cat: "wonders",
  		tab: 1,
  		cap: 1,
  		age: 2,
  		req: [
  			{
  				type: "building",
  				id: "academy_of_freethinkers_part",
  				value: 12,
  				consume: true
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 150,
  				fix: true
  			},
  			{
  				type: "resource",
  				id: "research",
  				value: 5
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 0.2
  			},
  			{
  				type: "resource",
  				id: "research",
  				value: 2,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 2,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "academy_of_freethinkers_part",
  		cat: "wonders",
  		tab: 1,
  		cap: 12,
  		age: 2,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 14000
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: 1200
  			},
  			{
  				type: "resource",
  				id: "building_material",
  				value: 1000
  			},
  			{
  				type: "resource",
  				id: "supplies",
  				value: 600
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 300
  			},
  			{
  				type: "tech",
  				id: "end_feudal_era",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "great_bombard",
  		cat: "wonders",
  		tab: 1,
  		cap: 1,
  		age: 3,
  		req: [
  			{
  				type: "building",
  				id: "great_bombard_part",
  				value: 6,
  				consume: true
  			},
  			{
  				type: "tech",
  				id: "large_defensive_project",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "settlement_defenses",
  				type_gen: "stat",
  				gen: "attack",
  				value: 120,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "settlement_defenses",
  				type_gen: "stat",
  				gen: "defense",
  				value: 20,
  				perc: false
  			},
  			{
  				type: "resource",
  				id: "fame",
  				value: 100,
  				fix: true
  			},
  			{
  				type: "cap",
  				id: "army",
  				value: 25
  			}
  		]
  	},
  	{
  		id: "great_bombard_part",
  		cat: "wonders",
  		tab: 1,
  		cap: 6,
  		age: 3,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 15000
  			},
  			{
  				type: "resource",
  				id: "iron",
  				value: 1500
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 1500
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: 500
  			},
  			{
  				type: "resource",
  				id: "saltpetre",
  				value: 250
  			},
  			{
  				type: "tech",
  				id: "large_defensive_project",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "refugee_district",
  		cat: "wonders",
  		tab: 1,
  		cap: 1,
  		age: 3,
  		req: [
  			{
  				type: "building",
  				id: "refugee_district_part",
  				value: 8,
  				consume: true
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 100,
  				fix: true
  			},
  			{
  				type: "resource",
  				id: "building_material",
  				value: 0.2
  			},
  			{
  				type: "resource",
  				id: "supplies",
  				value: 0.2
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: 0.2
  			},
  			{
  				type: "population",
  				id: "unemployed",
  				value: 5
  			},
  			{
  				type: "cap",
  				id: "army",
  				value: 20
  			}
  		]
  	},
  	{
  		id: "refugee_district_part",
  		cat: "wonders",
  		tab: 1,
  		cap: 8,
  		age: 3,
  		req: [
  			{
  				type: "resource",
  				id: "wood",
  				value: 12000
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 12000
  			},
  			{
  				type: "resource",
  				id: "copper",
  				value: 8000
  			},
  			{
  				type: "resource",
  				id: "iron",
  				value: 6000
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 6000
  			},
  			{
  				type: "prayer",
  				id: "the_aid",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "stock_exchange",
  		cat: "wonders",
  		tab: 1,
  		cap: 1,
  		age: 3,
  		req: [
  			{
  				type: "building",
  				id: "stock_exchange_part",
  				value: 5,
  				consume: true
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 200,
  				fix: true
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 10
  			},
  			{
  				type: "cap",
  				id: "gold",
  				value: 50000
  			},
  			{
  				type: "tech",
  				id: "commercial_monopolies",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "stock_exchange_part",
  		cat: "wonders",
  		tab: 1,
  		cap: 5,
  		age: 3,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 70000
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: 6000
  			},
  			{
  				type: "resource",
  				id: "building_material",
  				value: 4500
  			},
  			{
  				type: "tech",
  				id: "commercial_monopolies",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "tower_mana",
  		cat: "wonders",
  		tab: 1,
  		cap: 1,
  		age: 3,
  		req: [
  			{
  				type: "building",
  				id: "tower_mana_part",
  				value: 4,
  				consume: true
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 150,
  				fix: true
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 10
  			}
  		]
  	},
  	{
  		id: "tower_mana_part",
  		cat: "wonders",
  		tab: 1,
  		cap: 4,
  		age: 3,
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 6000
  			},
  			{
  				type: "resource",
  				id: "building_material",
  				value: 2000
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 1000
  			},
  			{
  				type: "enemy",
  				id: "east_sacred_place",
  				value: 1
  			},
  			{
  				type: "enemy",
  				id: "west_sacred_place",
  				value: 1
  			},
  			{
  				type: "enemy",
  				id: "north_sacred_place",
  				value: 1
  			},
  			{
  				type: "enemy",
  				id: "south_sacred_place",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "mana_pit",
  		cat: "wonders",
  		tab: 1,
  		cap: 1,
  		age: 3,
  		req: [
  			{
  				type: "building",
  				id: "mana_pit_part",
  				value: 10,
  				consume: true
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 150,
  				fix: true
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 50
  			},
  			{
  				type: "cap",
  				id: "mana",
  				value: 2000
  			}
  		]
  	},
  	{
  		id: "mana_pit_part",
  		cat: "wonders",
  		tab: 1,
  		cap: 10,
  		age: 3,
  		req: [
  			{
  				type: "resource",
  				id: "stone",
  				value: 24000
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: 6000
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 2000
  			},
  			{
  				type: "resource",
  				id: "saltpetre",
  				value: 2000
  			},
  			{
  				type: "tech",
  				id: "mana_utilization",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "hall_heroic_deeds",
  		cat: "wonders",
  		tab: 1,
  		cap: 1,
  		age: 3,
  		req: [
  			{
  				type: "building",
  				id: "hall_heroic_deeds_part",
  				value: 4,
  				consume: true
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 200,
  				fix: true
  			},
  			{
  				type: "resource",
  				id: "research",
  				value: 5
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "commander",
  				type_gen: "stat",
  				gen: "attack",
  				value: 25,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "commander",
  				type_gen: "stat",
  				gen: "defense",
  				value: 25,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "hall_heroic_deeds_part",
  		cat: "wonders",
  		tab: 1,
  		cap: 4,
  		age: 3,
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 7000
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 7000
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 7000
  			},
  			{
  				type: "resource",
  				id: "building_material",
  				value: 3000
  			},
  			{
  				type: "tech",
  				id: "monster_epuration",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "harbor_district",
  		cat: "wonders",
  		tab: 1,
  		cap: 1,
  		age: 4,
  		req: [
  			{
  				type: "building",
  				id: "harbor_district_part",
  				value: 8,
  				consume: true
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 100,
  				fix: true
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 5
  			},
  			{
  				type: "resource",
  				id: "food",
  				value: 5
  			},
  			{
  				type: "cap",
  				id: "wood",
  				value: 10000
  			},
  			{
  				type: "cap",
  				id: "stone",
  				value: 10000
  			},
  			{
  				type: "cap",
  				id: "building_material",
  				value: 2000
  			},
  			{
  				type: "cap",
  				id: "steel",
  				value: 2000
  			},
  			{
  				type: "cap",
  				id: "natronite",
  				value: 2000
  			}
  		]
  	},
  	{
  		id: "harbor_district_part",
  		cat: "wonders",
  		tab: 1,
  		cap: 8,
  		age: 4,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 80000
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 30000
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 20000
  			},
  			{
  				type: "resource",
  				id: "building_material",
  				value: 7000
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: 7000
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 1000
  			},
  			{
  				type: "tech",
  				id: "harbor_project",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "city_lights",
  		cat: "wonders",
  		tab: 1,
  		cap: 1,
  		age: 4,
  		req: [
  			{
  				type: "building",
  				id: "city_lights_part",
  				value: 10,
  				consume: true
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 250,
  				fix: true
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 10,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 10,
  				perc: true
  			},
  			{
  				type: "population",
  				id: "unemployed",
  				value: 10
  			}
  		]
  	},
  	{
  		id: "city_lights_part",
  		cat: "wonders",
  		tab: 1,
  		cap: 10,
  		age: 4,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 125000
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 50000
  			},
  			{
  				type: "resource",
  				id: "copper",
  				value: 30000
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 10000
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 8000
  			},
  			{
  				type: "tech",
  				id: "natrocity",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "steel_palace_b",
  		cat: "wonders",
  		tab: 1,
  		cap: 1,
  		age: 4,
  		req: [
  			{
  				type: "building",
  				id: "steel_palace_b_part",
  				value: 10,
  				consume: true
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 300,
  				fix: true
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 100
  			},
  			{
  				type: "population",
  				id: "unemployed",
  				value: 10
  			}
  		]
  	},
  	{
  		id: "steel_palace_b_part",
  		cat: "wonders",
  		tab: 1,
  		cap: 10,
  		age: 4,
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 60000
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 60000
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: 40000
  			},
  			{
  				type: "prayer",
  				id: "steel_palace_f",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "ivory_tower_b",
  		cat: "wonders",
  		tab: 1,
  		cap: 1,
  		age: 4,
  		req: [
  			{
  				type: "building",
  				id: "ivory_tower_b_part",
  				value: 10,
  				consume: true
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 200,
  				fix: true
  			},
  			{
  				type: "resource",
  				id: "research",
  				value: 25
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 25
  			},
  			{
  				type: "resource",
  				id: "research",
  				value: 10,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 10,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "ivory_tower_b_part",
  		cat: "wonders",
  		tab: 1,
  		cap: 10,
  		age: 4,
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 60000
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 60000
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 40000
  			},
  			{
  				type: "prayer",
  				id: "ivory_tower_f",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "automated_complex",
  		cat: "wonders",
  		tab: 1,
  		cap: 1,
  		age: 5,
  		req: [
  			{
  				type: "building",
  				id: "automated_complex_part",
  				value: 12,
  				consume: true
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 300,
  				fix: true
  			},
  			{
  				type: "resource",
  				id: "building_material",
  				value: 25,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: 25,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "supplies",
  				value: 25,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 25,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "saltpetre",
  				value: 25,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 25,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "automated_complex_part",
  		cat: "wonders",
  		tab: 1,
  		cap: 12,
  		age: 5,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 250000
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: 50000
  			},
  			{
  				type: "resource",
  				id: "saltpetre",
  				value: 35000
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 35000
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 20000
  			},
  			{
  				type: "tech",
  				id: "replicable_parts",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "kobu_crystal",
  		cat: "wonders",
  		tab: 1,
  		cap: 1,
  		age: 5,
  		req: [
  			{
  				type: "building",
  				id: "kobu_crystal_part",
  				value: 10,
  				consume: true
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 100,
  				fix: true
  			},
  			{
  				type: "resource",
  				id: "research",
  				value: 5,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "kobu_crystal_part",
  		cat: "wonders",
  		tab: 1,
  		cap: 10,
  		age: 5,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 500000
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: 10000
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 20000
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 30000
  			},
  			{
  				type: "tech",
  				id: "restore_crystal",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "arch_triumph",
  		cat: "wonders",
  		tab: 1,
  		cap: 1,
  		age: 5,
  		req: [
  			{
  				type: "building",
  				id: "arch_triumph_part",
  				value: 25,
  				consume: true
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 1000,
  				fix: true
  			}
  		]
  	},
  	{
  		id: "arch_triumph_part",
  		cat: "wonders",
  		tab: 1,
  		cap: 25,
  		age: 5,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 350000
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 150000
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 150000
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: 60000
  			},
  			{
  				type: "resource",
  				id: "faith",
  				value: 60000
  			},
  			{
  				type: "tech",
  				id: "the_triumph",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "artisan_workshop",
  		cat: "commercial_area",
  		tab: 1,
  		age: 1,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 150,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 120,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 80,
  				multi: 1.4
  			},
  			{
  				type: "tech",
  				id: "pottery",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "population",
  				id: "artisan",
  				value: 1
  			},
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "lumberjack",
  				type_gen: "resource",
  				gen: "wood",
  				value: 2,
  				perc: true
  			},
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "quarryman",
  				type_gen: "resource",
  				gen: "stone",
  				value: 2,
  				perc: true
  			},
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "farmer",
  				type_gen: "resource",
  				gen: "food",
  				value: 2,
  				perc: true
  			},
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "artisan",
  				type_gen: "resource",
  				gen: "tools",
  				value: 2,
  				perc: true
  			},
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "artisan",
  				type_gen: "resource",
  				gen: "gold",
  				value: 2,
  				perc: true
  			},
  			{
  				type: "cap",
  				id: "gold",
  				value: 250
  			},
  			{
  				type: "cap",
  				id: "tools",
  				value: 100
  			}
  		]
  	},
  	{
  		id: "marketplace",
  		cat: "commercial_area",
  		tab: 1,
  		age: 1,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 1200,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 600,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "copper",
  				value: 400,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "iron",
  				value: 400,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 400,
  				multi: 1.4
  			},
  			{
  				type: "tech",
  				id: "currency",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "population",
  				id: "merchant",
  				value: 1
  			},
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "merchant",
  				type_gen: "resource",
  				gen: "gold",
  				value: 2,
  				perc: true
  			},
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "artisan",
  				type_gen: "resource",
  				gen: "tools",
  				value: 2,
  				perc: true
  			},
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "artisan",
  				type_gen: "resource",
  				gen: "gold",
  				value: 2,
  				perc: true
  			},
  			{
  				type: "cap",
  				id: "gold",
  				value: 750
  			},
  			{
  				type: "cap",
  				id: "tools",
  				value: 200
  			}
  		]
  	},
  	{
  		id: "lucky_well_b",
  		cat: "commercial_area",
  		tab: 1,
  		age: 13,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 700,
  				multi: 1.5
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 500,
  				multi: 1.5
  			},
  			{
  				type: "resource",
  				id: "luck",
  				value: 1
  			},
  			{
  				type: "prayer",
  				id: "lucky_well_f",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 2
  			}
  		]
  	},
  	{
  		id: "canava_trading",
  		cat: "commercial_area",
  		tab: 1,
  		age: 100,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 600,
  				multi: 1.6
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 400,
  				multi: 1.6
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 400,
  				multi: 1.6
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 250,
  				multi: 1.6
  			},
  			{
  				type: "tech",
  				id: "regional_markets",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 2,
  				perc: true
  			},
  			{
  				type: "cap",
  				id: "gold",
  				value: 1000
  			}
  		]
  	},
  	{
  		id: "valley_of_plenty",
  		cat: "commercial_area",
  		tab: 1,
  		age: 2,
  		cap: 5,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 1500,
  				multi: 1.5
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 500,
  				multi: 1.5
  			},
  			{
  				type: "resource",
  				id: "building_material",
  				value: 200,
  				multi: 1.5
  			},
  			{
  				type: "tech",
  				id: "plenty_valley",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 2
  			},
  			{
  				type: "resource",
  				id: "food",
  				value: 2
  			}
  		]
  	},
  	{
  		id: "bank",
  		cat: "commercial_area",
  		tab: 1,
  		age: 2,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 2000,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 1000,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 1000,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 400,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "building_material",
  				value: 200,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: 200,
  				multi: 1.4
  			},
  			{
  				type: "tech",
  				id: "banking",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 2
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 1,
  				perc: true
  			},
  			{
  				type: "cap",
  				id: "gold",
  				value: 2000
  			}
  		]
  	},
  	{
  		id: "allied_embassy",
  		cat: "commercial_area",
  		tab: 1,
  		age: 2,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 5000,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 2500,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 1500,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "building_material",
  				value: 500,
  				multi: 1.4
  			},
  			{
  				type: "tech",
  				id: "embassy_nation",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "research",
  				value: 2
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 2
  			},
  			{
  				type: "cap",
  				id: "army",
  				value: 8
  			}
  		]
  	},
  	{
  		id: "tax_revenue_checkpoints",
  		cat: "commercial_area",
  		tab: 1,
  		age: 2,
  		cap: 4,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 4000,
  				multi: 1.5
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 3000,
  				multi: 1.5
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 1000,
  				multi: 1.5
  			},
  			{
  				type: "resource",
  				id: "building_material",
  				value: 500,
  				multi: 1.5
  			},
  			{
  				type: "tech",
  				id: "safe_roads",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 2
  			}
  		]
  	},
  	{
  		id: "the_vaults",
  		cat: "commercial_area",
  		tab: 1,
  		cap: 3,
  		age: 3,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 20000,
  				multi: 2.5
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 5000,
  				multi: 1.5
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: 2500,
  				multi: 1.5
  			},
  			{
  				type: "tech",
  				id: "the_vault",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "cap",
  				id: "gold",
  				value: 17500
  			}
  		]
  	},
  	{
  		id: "credit_union",
  		cat: "commercial_area",
  		tab: 1,
  		age: 4,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 15000,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 3000,
  				multi: 1.3
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: 1500,
  				multi: 1.3
  			},
  			{
  				type: "resource",
  				id: "building_material",
  				value: 1500,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 300,
  				multi: 1.3
  			},
  			{
  				type: "tech",
  				id: "financial_markets",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "population",
  				id: "trader",
  				value: 1
  			},
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "trader",
  				type_gen: "resource",
  				gen: "gold",
  				value: 2,
  				perc: true
  			},
  			{
  				type: "cap",
  				id: "gold",
  				value: 4000
  			}
  		]
  	},
  	{
  		id: "railway_station",
  		cat: "commercial_area",
  		tab: 1,
  		age: 5,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 12000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 10000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "iron",
  				value: 5000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 4000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "building_material",
  				value: 4000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: 2500,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 2500,
  				multi: 1.2
  			},
  			{
  				type: "tech",
  				id: "railroad",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 0.5
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 1,
  				perc: true
  			},
  			{
  				type: "cap",
  				id: "gold",
  				value: 4000
  			},
  			{
  				type: "population",
  				id: "unemployed",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "genetic_hub",
  		cat: "commercial_area",
  		tab: 1,
  		age: 6,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 12000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 10000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: 7500,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 5000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 3500,
  				multi: 1.2
  			},
  			{
  				type: "tech",
  				id: "genetic_hub_t",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 1.4
  			},
  			{
  				type: "resource",
  				id: "food",
  				value: 1.2
  			},
  			{
  				type: "cap",
  				id: "gold",
  				value: 4000
  			},
  			{
  				type: "cap",
  				id: "food",
  				value: 2000
  			}
  		]
  	},
  	{
  		id: "gold_factory",
  		cat: "commercial_area",
  		tab: 1,
  		age: 6,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 80000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 80000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "building_material",
  				value: 40000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: 25000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 10000,
  				multi: 1.2
  			},
  			{
  				type: "prayer",
  				id: "gold_factory_f",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 8
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 2,
  				perc: true
  			},
  			{
  				type: "cap",
  				id: "gold",
  				value: 12000
  			}
  		]
  	},
  	{
  		id: "harvest_shrine",
  		cat: "faith",
  		tab: 1,
  		cap: 1,
  		age: 1,
  		req: [
  			{
  				type: "resource",
  				id: "wood",
  				value: 800
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 600
  			},
  			{
  				type: "tech",
  				id: "mythology",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "food",
  				value: 2
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 1
  			},
  			{
  				type: "building",
  				id: "war_shrine",
  				value: -1
  			},
  			{
  				type: "building",
  				id: "mind_shrine",
  				value: -1
  			}
  		]
  	},
  	{
  		id: "war_shrine",
  		cat: "faith",
  		tab: 1,
  		cap: 1,
  		age: 1,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 1500
  			},
  			{
  				type: "resource",
  				id: "copper",
  				value: 200
  			},
  			{
  				type: "resource",
  				id: "iron",
  				value: 200
  			},
  			{
  				type: "tech",
  				id: "mythology",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "cap",
  				id: "army",
  				value: 15
  			},
  			{
  				type: "building",
  				id: "harvest_shrine",
  				value: -1
  			},
  			{
  				type: "building",
  				id: "mind_shrine",
  				value: -1
  			}
  		]
  	},
  	{
  		id: "mind_shrine",
  		cat: "faith",
  		tab: 1,
  		cap: 1,
  		age: 1,
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 1000
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 500
  			},
  			{
  				type: "tech",
  				id: "mythology",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "research",
  				value: 5
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 5
  			},
  			{
  				type: "building",
  				id: "war_shrine",
  				value: -1
  			},
  			{
  				type: "building",
  				id: "harvest_shrine",
  				value: -1
  			}
  		]
  	},
  	{
  		id: "temple",
  		cat: "faith",
  		tab: 1,
  		age: 1,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 1500,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 1000,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 1000,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "copper",
  				value: 500,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "iron",
  				value: 500,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 500,
  				multi: 1.4
  			},
  			{
  				type: "tech",
  				id: "religion",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 0.8
  			},
  			{
  				type: "cap",
  				id: "faith",
  				value: 350
  			}
  		]
  	},
  	{
  		id: "oracle_b",
  		cat: "faith",
  		tab: 1,
  		age: 1,
  		cap: 1,
  		req: [
  			{
  				type: "resource",
  				id: "stone",
  				value: 500
  			},
  			{
  				type: "resource",
  				id: "faith",
  				value: 500
  			},
  			{
  				type: "tech",
  				id: "oracle_t",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "fate_shrine_b",
  		cat: "faith",
  		tab: 1,
  		age: 13,
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 500,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "luck",
  				value: 1
  			},
  			{
  				type: "prayer",
  				id: "fate_shrine_f",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 3
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 3
  			}
  		]
  	},
  	{
  		id: "altar_of_sacrifices",
  		cat: "faith",
  		tab: 1,
  		age: 1,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 1000,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 500,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "cow",
  				value: 150,
  				multi: 1.8
  			},
  			{
  				type: "resource",
  				id: "horse",
  				value: 80,
  				multi: 1.8
  			},
  			{
  				type: "prayer",
  				id: "sacrifices_gods",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 1.2
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 1.2
  			},
  			{
  				type: "cap",
  				id: "faith",
  				value: 500
  			},
  			{
  				type: "cap",
  				id: "mana",
  				value: 250
  			}
  		]
  	},
  	{
  		id: "magic_circle",
  		cat: "faith",
  		tab: 1,
  		age: 1,
  		req: [
  			{
  				type: "resource",
  				id: "stone",
  				value: 2000,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "copper",
  				value: 1000,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "faith",
  				value: 700,
  				multi: 1.4
  			},
  			{
  				type: "tech",
  				id: "magic",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "mana",
  				value: 1.5
  			},
  			{
  				type: "cap",
  				id: "mana",
  				value: 200
  			}
  		]
  	},
  	{
  		id: "monastery",
  		cat: "faith",
  		tab: 1,
  		age: 100,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 500,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 500,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 500,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 200,
  				multi: 1.3
  			},
  			{
  				type: "tech",
  				id: "cloistered_life",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "research",
  				value: 0.5
  			},
  			{
  				type: "resource",
  				id: "food",
  				value: 0.5
  			},
  			{
  				type: "resource",
  				id: "faith",
  				value: 0.5
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 0.5
  			},
  			{
  				type: "cap",
  				id: "research",
  				value: 500
  			},
  			{
  				type: "cap",
  				id: "mana",
  				value: 200
  			}
  		]
  	},
  	{
  		id: "fortune_grove",
  		cat: "faith",
  		tab: 1,
  		age: 1,
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 400,
  				multi: 1.6
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 400,
  				multi: 1.4
  			},
  			{
  				type: "tech",
  				id: "fortune_sanctuary",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "luck",
  				value: 1,
  				fix: true
  			}
  		]
  	},
  	{
  		id: "mana_fields_b",
  		cat: "faith",
  		tab: 1,
  		age: 1,
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 1500,
  				multi: 1.3
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 1000,
  				multi: 1.3
  			},
  			{
  				type: "prayer",
  				id: "mage_fields_f",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "mana",
  				value: 4
  			},
  			{
  				type: "cap",
  				id: "faith",
  				value: 400
  			},
  			{
  				type: "cap",
  				id: "mana",
  				value: 400
  			}
  		]
  	},
  	{
  		id: "pillars_of_mana",
  		cat: "faith",
  		tab: 1,
  		age: 2,
  		cap: 5,
  		req: [
  			{
  				type: "resource",
  				id: "building_material",
  				value: 750,
  				multi: 1.5
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: 500,
  				multi: 1.5
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 200,
  				multi: 1.5
  			},
  			{
  				type: "tech",
  				id: "mana_conveyors",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "gold",
  				value: -10
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 5
  			},
  			{
  				type: "cap",
  				id: "mana",
  				value: 200
  			}
  		]
  	},
  	{
  		id: "glory_gods",
  		cat: "faith",
  		tab: 1,
  		age: 2,
  		req: [
  			{
  				type: "resource",
  				id: "stone",
  				value: 8000,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "building_material",
  				value: 5000,
  				multi: 1.3
  			},
  			{
  				type: "resource",
  				id: "faith",
  				value: 3000,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 2000,
  				multi: 1.3
  			},
  			{
  				type: "tech",
  				id: "favor_gods",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 2,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "matter_transmuter",
  		cat: "faith",
  		tab: 1,
  		age: 3,
  		req: [
  			{
  				type: "resource",
  				id: "mana",
  				value: 800,
  				multi: 1.3
  			},
  			{
  				type: "resource",
  				id: "saltpetre",
  				value: 200,
  				multi: 1.3
  			},
  			{
  				type: "tech",
  				id: "alchemical_reactions",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "carpenter",
  				type_gen: "resource",
  				gen: "building_material",
  				value: 2,
  				perc: true
  			},
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "steelworker",
  				type_gen: "resource",
  				gen: "steel",
  				value: 2,
  				perc: true
  			},
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "supplier",
  				type_gen: "resource",
  				gen: "supplies",
  				value: 2,
  				perc: true
  			},
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "professor",
  				type_gen: "resource",
  				gen: "crystal",
  				value: 2,
  				perc: true
  			},
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "alchemist",
  				type_gen: "resource",
  				gen: "saltpetre",
  				value: 2,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "ministry_worship",
  		cat: "faith",
  		tab: 1,
  		age: 100,
  		req: [
  			{
  				type: "resource",
  				id: "stone",
  				value: 8000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "building_material",
  				value: 4000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "faith",
  				value: 3000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 2000,
  				multi: 1.2
  			},
  			{
  				type: "tech",
  				id: "ministry_worship_t",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "population",
  				id: "skymancer",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "faith",
  				value: 3
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 3
  			},
  			{
  				type: "resource",
  				id: "faith",
  				value: 2,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 2,
  				perc: true
  			},
  			{
  				type: "cap",
  				id: "faith",
  				value: 3000
  			},
  			{
  				type: "cap",
  				id: "mana",
  				value: 3000
  			},
  			{
  				type: "cap",
  				id: "crystal",
  				value: 2000
  			},
  			{
  				type: "resource",
  				id: "luck",
  				value: 1,
  				fix: true
  			},
  			{
  				type: "population",
  				id: "unemployed",
  				value: 2
  			}
  		]
  	},
  	{
  		id: "conclave",
  		cat: "faith",
  		tab: 1,
  		age: 3,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 8000,
  				multi: 1.5
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 3000,
  				multi: 1.5
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 2000,
  				multi: 1.5
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 300,
  				multi: 1.5
  			},
  			{
  				type: "tech",
  				id: "order_of_clerics",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 1.5
  			},
  			{
  				type: "cap",
  				id: "faith",
  				value: 500
  			},
  			{
  				type: "cap",
  				id: "mana",
  				value: 250
  			}
  		]
  	},
  	{
  		id: "reactivate_portal",
  		cat: "faith",
  		tab: 1,
  		cap: 1,
  		age: 3,
  		req: [
  			{
  				type: "building",
  				id: "reactivate_portal_decryption",
  				value: 5,
  				consume: true
  			},
  			{
  				type: "tech",
  				id: "portal_of_the_dead",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 100,
  				fix: true
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 5
  			}
  		]
  	},
  	{
  		id: "reactivate_portal_decryption",
  		cat: "faith",
  		tab: 1,
  		cap: 5,
  		age: 3,
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 15000
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 2500
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 700
  			},
  			{
  				type: "tech",
  				id: "portal_of_the_dead",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "mausoleum_gods",
  		cat: "faith",
  		tab: 1,
  		cap: 1,
  		age: 3,
  		req: [
  			{
  				type: "resource",
  				id: "stone",
  				value: 20000
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 8000
  			},
  			{
  				type: "resource",
  				id: "building_material",
  				value: 4800
  			},
  			{
  				type: "building",
  				id: "tower_mana",
  				value: 1
  			},
  			{
  				type: "prayer",
  				id: "power_spell_east",
  				value: 1
  			},
  			{
  				type: "prayer",
  				id: "power_spell_west",
  				value: 1
  			},
  			{
  				type: "prayer",
  				id: "power_spell_north",
  				value: 1
  			},
  			{
  				type: "prayer",
  				id: "power_spell_south",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "spiritual_garden",
  		cat: "faith",
  		tab: 1,
  		age: 4,
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 2500,
  				multi: 1.3
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 1000,
  				multi: 1.5
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 800,
  				multi: 1.3
  			},
  			{
  				type: "tech",
  				id: "communion_nature",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 2.5
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 2.5
  			},
  			{
  				type: "cap",
  				id: "faith",
  				value: 750
  			},
  			{
  				type: "cap",
  				id: "mana",
  				value: 500
  			}
  		]
  	},
  	{
  		id: "fountain_prosperity",
  		cat: "faith",
  		tab: 1,
  		age: 4,
  		cap: 4,
  		req: [
  			{
  				type: "resource",
  				id: "mana",
  				value: 10000
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 8000
  			},
  			{
  				type: "tech",
  				id: "miracle_city",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 4
  			},
  			{
  				type: "resource",
  				id: "food",
  				value: 4
  			}
  		]
  	},
  	{
  		id: "mana_reactor",
  		cat: "faith",
  		tab: 1,
  		age: 5,
  		req: [
  			{
  				type: "resource",
  				id: "mana",
  				value: 15000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "saltpetre",
  				value: 15000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 7500,
  				multi: 1.2
  			},
  			{
  				type: "tech",
  				id: "mana_reactors",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "mana",
  				value: 5
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 0.5
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 1,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 1,
  				perc: true
  			},
  			{
  				type: "cap",
  				id: "mana",
  				value: 1250
  			}
  		]
  	},
  	{
  		id: "mana_factory",
  		cat: "faith",
  		tab: 1,
  		age: 6,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 80000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 80000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 25000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 10000,
  				multi: 1.2
  			},
  			{
  				type: "prayer",
  				id: "mana_factory_f",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "mana",
  				value: 20
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 2,
  				perc: true
  			},
  			{
  				type: "cap",
  				id: "mana",
  				value: 12000
  			}
  		]
  	},
  	{
  		id: "store",
  		cat: "warehouse",
  		tab: 1,
  		age: 1,
  		req: [
  			{
  				type: "resource",
  				id: "wood",
  				value: 500,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 300,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 150,
  				multi: 1.4
  			},
  			{
  				type: "tech",
  				id: "storage",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "cap",
  				id: "wood",
  				value: 500
  			},
  			{
  				type: "cap",
  				id: "stone",
  				value: 500
  			},
  			{
  				type: "cap",
  				id: "copper",
  				value: 250
  			},
  			{
  				type: "cap",
  				id: "iron",
  				value: 250
  			}
  		]
  	},
  	{
  		id: "ancient_vault",
  		cat: "warehouse",
  		tab: 1,
  		age: 100,
  		req: [
  			{
  				type: "resource",
  				id: "wood",
  				value: 400,
  				multi: 1.3
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 400,
  				multi: 1.3
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 200,
  				multi: 1.3
  			},
  			{
  				type: "tech",
  				id: "ancient_stockpile",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "cap",
  				id: "research",
  				value: 500
  			},
  			{
  				type: "cap",
  				id: "gold",
  				value: 250
  			},
  			{
  				type: "cap",
  				id: "wood",
  				value: 250
  			},
  			{
  				type: "cap",
  				id: "stone",
  				value: 250
  			},
  			{
  				type: "cap",
  				id: "faith",
  				value: 250
  			},
  			{
  				type: "cap",
  				id: "mana",
  				value: 250
  			}
  		]
  	},
  	{
  		id: "large_warehouse",
  		cat: "warehouse",
  		tab: 1,
  		age: 2,
  		req: [
  			{
  				type: "resource",
  				id: "wood",
  				value: 2000,
  				multi: 1.3
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 1000,
  				multi: 1.3
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 500,
  				multi: 1.3
  			},
  			{
  				type: "resource",
  				id: "building_material",
  				value: 400,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: 400,
  				multi: 1.2
  			},
  			{
  				type: "tech",
  				id: "large_storage_space",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "cap",
  				id: "wood",
  				value: 1200
  			},
  			{
  				type: "cap",
  				id: "stone",
  				value: 1200
  			},
  			{
  				type: "cap",
  				id: "copper",
  				value: 600
  			},
  			{
  				type: "cap",
  				id: "iron",
  				value: 600
  			},
  			{
  				type: "cap",
  				id: "tools",
  				value: 600
  			}
  		]
  	},
  	{
  		id: "storage_facility",
  		cat: "warehouse",
  		tab: 1,
  		age: 4,
  		req: [
  			{
  				type: "resource",
  				id: "wood",
  				value: 3000,
  				multi: 1.3
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 2000,
  				multi: 1.3
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 1000,
  				multi: 1.3
  			},
  			{
  				type: "resource",
  				id: "building_material",
  				value: 700,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: 700,
  				multi: 1.2
  			},
  			{
  				type: "tech",
  				id: "storage_district",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "cap",
  				id: "wood",
  				value: 2500
  			},
  			{
  				type: "cap",
  				id: "stone",
  				value: 2500
  			},
  			{
  				type: "cap",
  				id: "copper",
  				value: 1500
  			},
  			{
  				type: "cap",
  				id: "iron",
  				value: 1500
  			},
  			{
  				type: "cap",
  				id: "tools",
  				value: 1500
  			}
  		]
  	},
  	{
  		id: "guarded_storehouse",
  		cat: "warehouse",
  		tab: 1,
  		age: 3,
  		req: [
  			{
  				type: "resource",
  				id: "iron",
  				value: 3000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "building_material",
  				value: 1000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: 1500,
  				multi: 1.2
  			},
  			{
  				type: "tech",
  				id: "storing_valuable_materials",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "cap",
  				id: "building_material",
  				value: 400
  			},
  			{
  				type: "cap",
  				id: "steel",
  				value: 400
  			},
  			{
  				type: "cap",
  				id: "supplies",
  				value: 200
  			},
  			{
  				type: "cap",
  				id: "saltpetre",
  				value: 200
  			},
  			{
  				type: "cap",
  				id: "crystal",
  				value: 100
  			},
  			{
  				type: "cap",
  				id: "army",
  				value: 2
  			}
  		]
  	},
  	{
  		id: "guarded_facility",
  		cat: "warehouse",
  		tab: 1,
  		age: 4,
  		req: [
  			{
  				type: "resource",
  				id: "iron",
  				value: 4000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "building_material",
  				value: 1500,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: 2000,
  				multi: 1.2
  			},
  			{
  				type: "tech",
  				id: "storage_district",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "cap",
  				id: "building_material",
  				value: 1000
  			},
  			{
  				type: "cap",
  				id: "steel",
  				value: 1000
  			},
  			{
  				type: "cap",
  				id: "supplies",
  				value: 800
  			},
  			{
  				type: "cap",
  				id: "saltpetre",
  				value: 800
  			},
  			{
  				type: "cap",
  				id: "crystal",
  				value: 500
  			},
  			{
  				type: "cap",
  				id: "army",
  				value: 4
  			}
  		]
  	},
  	{
  		id: "natronite_depot",
  		cat: "warehouse",
  		tab: 1,
  		age: 4,
  		req: [
  			{
  				type: "resource",
  				id: "steel",
  				value: 2500,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 1500,
  				multi: 1.2
  			},
  			{
  				type: "tech",
  				id: "natronite_storage",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "cap",
  				id: "natronite",
  				value: 600
  			}
  		]
  	},
  	{
  		id: "logistic_center",
  		cat: "warehouse",
  		tab: 1,
  		age: 5,
  		req: [
  			{
  				type: "resource",
  				id: "stone",
  				value: 20000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "building_material",
  				value: 8500,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: 8000,
  				multi: 1.2
  			},
  			{
  				type: "tech",
  				id: "mass_transit",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "food",
  				value: 0.6
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 0.3
  			},
  			{
  				type: "resource",
  				id: "supplies",
  				value: 0.1
  			},
  			{
  				type: "cap",
  				id: "iron",
  				value: 2000
  			},
  			{
  				type: "cap",
  				id: "copper",
  				value: 2000
  			},
  			{
  				type: "cap",
  				id: "natronite",
  				value: 1000
  			},
  			{
  				type: "cap",
  				id: "army",
  				value: 3
  			}
  		]
  	},
  	{
  		id: "colony_hall",
  		cat: "living_quarters",
  		tab: 2,
  		cap: 15,
  		age: 5,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 30000,
  				multi: 1.1
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 25000,
  				multi: 1.1
  			},
  			{
  				type: "resource",
  				id: "building_material",
  				value: 10000,
  				multi: 1.1
  			},
  			{
  				type: "resource",
  				id: "supplies",
  				value: 8000,
  				multi: 1.1
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 2500,
  				multi: 1.1
  			},
  			{
  				type: "tech",
  				id: "the_journey",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "population",
  				id: "farmer",
  				value: 2
  			},
  			{
  				type: "population",
  				id: "lumberjack",
  				value: 1
  			},
  			{
  				type: "population",
  				id: "quarryman",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: -10
  			},
  			{
  				type: "resource",
  				id: "food",
  				value: -5
  			},
  			{
  				type: "cap",
  				id: "food",
  				value: 500
  			},
  			{
  				type: "cap",
  				id: "wood",
  				value: 5000
  			},
  			{
  				type: "cap",
  				id: "stone",
  				value: 5000
  			},
  			{
  				type: "cap",
  				id: "copper",
  				value: 3000
  			},
  			{
  				type: "cap",
  				id: "iron",
  				value: 3000
  			},
  			{
  				type: "cap",
  				id: "tools",
  				value: 3000
  			}
  		]
  	},
  	{
  		id: "builders_complex",
  		cat: "resource",
  		tab: 2,
  		age: 5,
  		req: [
  			{
  				type: "resource",
  				id: "wood",
  				value: 22000,
  				multi: 1.1
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 16000,
  				multi: 1.1
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 8000,
  				multi: 1.1
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 3000,
  				multi: 1.1
  			},
  			{
  				type: "tech",
  				id: "colonial_exploitations",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "population",
  				id: "lumberjack",
  				value: 1
  			},
  			{
  				type: "population",
  				id: "quarryman",
  				value: 1
  			},
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "lumberjack",
  				type_gen: "resource",
  				gen: "wood",
  				value: 1,
  				perc: true
  			},
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "quarryman",
  				type_gen: "resource",
  				gen: "stone",
  				value: 1,
  				perc: true
  			},
  			{
  				type: "cap",
  				id: "wood",
  				value: 7500
  			},
  			{
  				type: "cap",
  				id: "stone",
  				value: 7500
  			}
  		]
  	},
  	{
  		id: "artisans_complex",
  		cat: "resource",
  		tab: 2,
  		age: 5,
  		req: [
  			{
  				type: "resource",
  				id: "wood",
  				value: 22000,
  				multi: 1.1
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 10000,
  				multi: 1.1
  			},
  			{
  				type: "resource",
  				id: "building_material",
  				value: 10000,
  				multi: 1.1
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 3000,
  				multi: 1.1
  			},
  			{
  				type: "tech",
  				id: "artisan_complex",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "population",
  				id: "miner",
  				value: 1
  			},
  			{
  				type: "population",
  				id: "artisan",
  				value: 1
  			},
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "miner",
  				type_gen: "resource",
  				gen: "copper",
  				value: 1,
  				perc: true
  			},
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "miner",
  				type_gen: "resource",
  				gen: "iron",
  				value: 1,
  				perc: true
  			},
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "artisan",
  				type_gen: "resource",
  				gen: "tools",
  				value: 1,
  				perc: true
  			},
  			{
  				type: "cap",
  				id: "copper",
  				value: 5000
  			},
  			{
  				type: "cap",
  				id: "iron",
  				value: 5000
  			},
  			{
  				type: "cap",
  				id: "tools",
  				value: 5000
  			}
  		]
  	},
  	{
  		id: "alchemist_complex",
  		cat: "resource",
  		tab: 2,
  		age: 5,
  		req: [
  			{
  				type: "resource",
  				id: "wood",
  				value: 24000,
  				multi: 1.1
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 20000,
  				multi: 1.1
  			},
  			{
  				type: "resource",
  				id: "building_material",
  				value: 11000,
  				multi: 1.1
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 3500,
  				multi: 1.1
  			},
  			{
  				type: "tech",
  				id: "alchemist_complex_t",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "population",
  				id: "alchemist",
  				value: 1
  			},
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "alchemist",
  				type_gen: "resource",
  				gen: "saltpetre",
  				value: 1,
  				perc: true
  			},
  			{
  				type: "cap",
  				id: "saltpetre",
  				value: 2000
  			}
  		]
  	},
  	{
  		id: "lumix_plant",
  		cat: "resource",
  		tab: 2,
  		age: 6,
  		req: [
  			{
  				type: "resource",
  				id: "stone",
  				value: 25000,
  				multi: 1.3
  			},
  			{
  				type: "resource",
  				id: "copper",
  				value: 15000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "building_material",
  				value: 10000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 10000,
  				multi: 1.2
  			},
  			{
  				type: "tech",
  				id: "lumix_t",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "population",
  				id: "lumiforger",
  				value: 1
  			},
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "lumiforger",
  				type_gen: "resource",
  				gen: "lumix",
  				value: 2,
  				perc: true
  			},
  			{
  				type: "cap",
  				id: "lumix",
  				value: 100
  			}
  		]
  	},
  	{
  		id: "extensive_cultivation_b",
  		cat: "resource",
  		tab: 2,
  		age: 6,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 40000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 36000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 5000,
  				multi: 1.1
  			},
  			{
  				type: "tech",
  				id: "extensive_cultivation_t",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "food",
  				value: 2
  			},
  			{
  				type: "resource",
  				id: "food",
  				value: 2,
  				perc: true
  			},
  			{
  				type: "population",
  				id: "farmer",
  				value: 2
  			},
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "farmer",
  				type_gen: "resource",
  				gen: "food",
  				value: 2,
  				perc: true
  			},
  			{
  				type: "cap",
  				id: "food",
  				value: 1500
  			}
  		]
  	},
  	{
  		id: "steel_mills_b",
  		cat: "resource",
  		tab: 2,
  		age: 6,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 50000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 40000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: 15000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 7500,
  				multi: 1.2
  			},
  			{
  				type: "tech",
  				id: "steel_mills_t",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "steel",
  				value: 2
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: 2,
  				perc: true
  			},
  			{
  				type: "population",
  				id: "steelworker",
  				value: 2
  			},
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "steelworker",
  				type_gen: "resource",
  				gen: "steel",
  				value: 2,
  				perc: true
  			},
  			{
  				type: "cap",
  				id: "steel",
  				value: 2500
  			}
  		]
  	},
  	{
  		id: "crystal_farm_b",
  		cat: "resource",
  		tab: 2,
  		age: 6,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 40000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 16000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 7500,
  				multi: 1.2
  			},
  			{
  				type: "tech",
  				id: "crystal_farm_t",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "crystal",
  				value: 2
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 2,
  				perc: true
  			},
  			{
  				type: "population",
  				id: "professor",
  				value: 2
  			},
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "professor",
  				type_gen: "resource",
  				gen: "crystal",
  				value: 2,
  				perc: true
  			},
  			{
  				type: "cap",
  				id: "crystal",
  				value: 1500
  			}
  		]
  	},
  	{
  		id: "elf_village",
  		cat: "living_quarters",
  		tab: 2,
  		age: 5,
  		req: [
  			{
  				type: "resource",
  				id: "wood",
  				value: 80000,
  				multi: 1.1
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 10000,
  				multi: 1.1
  			},
  			{
  				type: "resource",
  				id: "building_material",
  				value: 10000,
  				multi: 1.1
  			},
  			{
  				type: "tech",
  				id: "elf_last_village",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "cap",
  				id: "food",
  				value: 500
  			},
  			{
  				type: "cap",
  				id: "crystal",
  				value: 500
  			},
  			{
  				type: "cap",
  				id: "mana",
  				value: 250
  			},
  			{
  				type: "cap",
  				id: "horse",
  				value: 200
  			},
  			{
  				type: "cap",
  				id: "army",
  				value: 5
  			},
  			{
  				type: "population",
  				id: "unemployed",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "elf_town",
  		cat: "living_quarters",
  		tab: 2,
  		age: 6,
  		req: [
  			{
  				type: "resource",
  				id: "wood",
  				value: 75000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "copper",
  				value: 45000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 11000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "building_material",
  				value: 11000,
  				multi: 1.2
  			},
  			{
  				type: "tech",
  				id: "elves_thrive",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "research",
  				value: 2
  			},
  			{
  				type: "resource",
  				id: "faith",
  				value: 1.5
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 1.5
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 1
  			},
  			{
  				type: "cap",
  				id: "research",
  				value: 3000
  			},
  			{
  				type: "cap",
  				id: "food",
  				value: 1500
  			},
  			{
  				type: "population",
  				id: "unemployed",
  				value: 3
  			}
  		]
  	},
  	{
  		id: "elf_encampment",
  		cat: "science",
  		tab: 2,
  		age: 5,
  		req: [
  			{
  				type: "resource",
  				id: "wood",
  				value: 50000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 7000,
  				multi: 1.2
  			},
  			{
  				type: "tech",
  				id: "elf_survivors",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "research",
  				value: 1.5
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 1.5
  			},
  			{
  				type: "cap",
  				id: "research",
  				value: 2000
  			},
  			{
  				type: "cap",
  				id: "mana",
  				value: 2000
  			},
  			{
  				type: "population",
  				id: "unemployed",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "sanctum_healing",
  		cat: "science",
  		tab: 2,
  		cap: 1,
  		age: 6,
  		req: [
  			{
  				type: "building",
  				id: "healing_chambers",
  				value: 8,
  				consume: true
  			},
  			{
  				type: "building",
  				id: "regenerative_gardens",
  				value: 8,
  				consume: true
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 100,
  				fix: true
  			},
  			{
  				type: "resource",
  				id: "research",
  				value: 25
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 25
  			},
  			{
  				type: "resource",
  				id: "research",
  				value: 5,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 5,
  				perc: true
  			},
  			{
  				type: "cap",
  				id: "research",
  				value: 15000
  			},
  			{
  				type: "cap",
  				id: "mana",
  				value: 15000
  			}
  		]
  	},
  	{
  		id: "healing_chambers",
  		cat: "science",
  		tab: 2,
  		cap: 8,
  		age: 6,
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 200000
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 38000
  			},
  			{
  				type: "tech",
  				id: "elf_decadence",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "regenerative_gardens",
  		cat: "science",
  		tab: 2,
  		cap: 8,
  		age: 6,
  		req: [
  			{
  				type: "resource",
  				id: "food",
  				value: 40000
  			},
  			{
  				type: "resource",
  				id: "faith",
  				value: 20000
  			},
  			{
  				type: "tech",
  				id: "elf_decadence",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "dock",
  		cat: "resource",
  		tab: 2,
  		age: 5,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 15000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 12000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "building_material",
  				value: 7000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 1200,
  				multi: 1.2
  			},
  			{
  				type: "tech",
  				id: "productive_hub",
  				value: 1
  			},
  			{
  				type: "tech",
  				id: "colonial_docks",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "population",
  				id: "fisher",
  				value: 2
  			},
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "fisher",
  				type_gen: "resource",
  				gen: "food",
  				value: 2,
  				perc: true
  			},
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "merchant",
  				type_gen: "resource",
  				gen: "gold",
  				value: 2,
  				perc: true
  			},
  			{
  				type: "cap",
  				id: "food",
  				value: 500
  			}
  		]
  	},
  	{
  		id: "refinery",
  		cat: "resource",
  		tab: 2,
  		age: 5,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 25000,
  				multi: 1.1
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 15000,
  				multi: 1.1
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 7500,
  				multi: 1.1
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: 4500,
  				multi: 1.1
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 1400,
  				multi: 1.1
  			},
  			{
  				type: "tech",
  				id: "productive_hub",
  				value: 1
  			},
  			{
  				type: "tech",
  				id: "overseas_refinery",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "carpenter",
  				type_gen: "resource",
  				gen: "building_material",
  				value: 3,
  				perc: true
  			},
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "steelworker",
  				type_gen: "resource",
  				gen: "steel",
  				value: 3,
  				perc: true
  			},
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "alchemist",
  				type_gen: "resource",
  				gen: "saltpetre",
  				value: 3,
  				perc: true
  			},
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "natro_refiner",
  				type_gen: "resource",
  				gen: "natronite",
  				value: 3,
  				perc: true
  			},
  			{
  				type: "cap",
  				id: "natronite",
  				value: 250
  			}
  		]
  	},
  	{
  		id: "custom_house",
  		cat: "commercial_area",
  		tab: 2,
  		age: 5,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 30000,
  				multi: 1.1
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 25000,
  				multi: 1.1
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: 10000,
  				multi: 1.1
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 1500,
  				multi: 1.1
  			},
  			{
  				type: "tech",
  				id: "productive_hub",
  				value: 1
  			},
  			{
  				type: "tech",
  				id: "colonial_trade",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "population",
  				id: "merchant",
  				value: 1
  			},
  			{
  				type: "population",
  				id: "trader",
  				value: 1
  			},
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "merchant",
  				type_gen: "resource",
  				gen: "gold",
  				value: 3,
  				perc: true
  			},
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "trader",
  				type_gen: "resource",
  				gen: "gold",
  				value: 3,
  				perc: true
  			},
  			{
  				type: "cap",
  				id: "gold",
  				value: 5000
  			}
  		]
  	},
  	{
  		id: "financial_center",
  		cat: "commercial_area",
  		tab: 2,
  		age: 6,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 50000,
  				multi: 1.1
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 25000,
  				multi: 1.1
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: 10000,
  				multi: 1.1
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 5000,
  				multi: 1.1
  			},
  			{
  				type: "tech",
  				id: "market_laws",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 2
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 2,
  				perc: true
  			},
  			{
  				type: "population",
  				id: "trader",
  				value: 2
  			},
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "trader",
  				type_gen: "resource",
  				gen: "gold",
  				value: 2,
  				perc: true
  			},
  			{
  				type: "cap",
  				id: "gold",
  				value: 7500
  			}
  		]
  	},
  	{
  		id: "estates",
  		cat: "resource",
  		tab: 2,
  		age: 5,
  		req: [
  			{
  				type: "resource",
  				id: "food",
  				value: 8000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "supplies",
  				value: 6000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 1500,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "cow",
  				value: 1000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "horse",
  				value: 500,
  				multi: 1.2
  			},
  			{
  				type: "tech",
  				id: "productive_hub",
  				value: 1
  			},
  			{
  				type: "tech",
  				id: "landed_estates",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "population",
  				id: "farmer",
  				value: 1
  			},
  			{
  				type: "population",
  				id: "breeder",
  				value: 1
  			},
  			{
  				type: "population",
  				id: "supplier",
  				value: 1
  			},
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "farmer",
  				type_gen: "resource",
  				gen: "food",
  				value: 3,
  				perc: true
  			},
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "breeder",
  				type_gen: "resource",
  				gen: "cow",
  				value: 3,
  				perc: true
  			},
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "breeder",
  				type_gen: "resource",
  				gen: "horse",
  				value: 3,
  				perc: true
  			},
  			{
  				type: "cap",
  				id: "food",
  				value: 500
  			},
  			{
  				type: "cap",
  				id: "cow",
  				value: 400
  			},
  			{
  				type: "cap",
  				id: "horse",
  				value: 200
  			},
  			{
  				type: "cap",
  				id: "army",
  				value: 10
  			},
  			{
  				type: "population",
  				id: "unemployed",
  				value: 2
  			}
  		]
  	},
  	{
  		id: "trench",
  		cat: "defense",
  		tab: 2,
  		age: 5,
  		req: [
  			{
  				type: "resource",
  				id: "wood",
  				value: 30000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "building_material",
  				value: 10000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "saltpetre",
  				value: 8000,
  				multi: 1.2
  			},
  			{
  				type: "tech",
  				id: "trenches",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "settlement_defenses",
  				type_gen: "stat",
  				gen: "defense",
  				value: 50,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "marksman",
  				type_gen: "stat",
  				gen: "attack",
  				value: 1,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "marksman",
  				type_gen: "stat",
  				gen: "defense",
  				value: 1,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "shed",
  		cat: "warehouse",
  		tab: 2,
  		age: 5,
  		req: [
  			{
  				type: "resource",
  				id: "wood",
  				value: 20000,
  				multi: 1.1
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 16000,
  				multi: 1.1
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 9000,
  				multi: 1.1
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 2500,
  				multi: 1.1
  			},
  			{
  				type: "tech",
  				id: "the_journey",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "cap",
  				id: "building_material",
  				value: 1000
  			},
  			{
  				type: "cap",
  				id: "steel",
  				value: 1000
  			},
  			{
  				type: "cap",
  				id: "supplies",
  				value: 750
  			},
  			{
  				type: "cap",
  				id: "saltpetre",
  				value: 750
  			},
  			{
  				type: "cap",
  				id: "crystal",
  				value: 500
  			}
  		]
  	},
  	{
  		id: "large_shed",
  		cat: "warehouse",
  		tab: 2,
  		age: 5,
  		req: [
  			{
  				type: "resource",
  				id: "wood",
  				value: 32000,
  				multi: 1.1
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 22000,
  				multi: 1.1
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 14000,
  				multi: 1.1
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 3000,
  				multi: 1.1
  			},
  			{
  				type: "tech",
  				id: "large_shed_t",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "cap",
  				id: "wood",
  				value: 10000
  			},
  			{
  				type: "cap",
  				id: "stone",
  				value: 10000
  			},
  			{
  				type: "cap",
  				id: "copper",
  				value: 7500
  			},
  			{
  				type: "cap",
  				id: "iron",
  				value: 7500
  			},
  			{
  				type: "cap",
  				id: "tools",
  				value: 7500
  			}
  		]
  	},
  	{
  		id: "statue_virtue",
  		cat: "wonders",
  		tab: 2,
  		cap: 1,
  		age: 5,
  		req: [
  			{
  				type: "building",
  				id: "statue_virtue_part",
  				value: 20,
  				consume: true
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 350,
  				fix: true
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 15,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "food",
  				value: 15,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 15,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 15,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 15,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "copper",
  				value: 15,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "iron",
  				value: 15,
  				perc: true
  			},
  			{
  				type: "cap",
  				id: "army",
  				value: 30
  			},
  			{
  				type: "population",
  				id: "unemployed",
  				value: 15
  			},
  			{
  				type: "resource",
  				id: "gem",
  				value: 1,
  				fix: true
  			}
  		]
  	},
  	{
  		id: "containment_cell",
  		cat: "warehouse",
  		tab: 2,
  		age: 6,
  		cap: 3,
  		req: [
  			{
  				type: "resource",
  				id: "saltpetre",
  				value: 55000
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: 55000
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 40000
  			},
  			{
  				type: "tech",
  				id: "cavern_artifact",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "statue_virtue_part",
  		cat: "wonders",
  		tab: 2,
  		cap: 20,
  		age: 5,
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 140000
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 200000
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 100000
  			},
  			{
  				type: "resource",
  				id: "iron",
  				value: 50000
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: 25000
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 15000
  			},
  			{
  				type: "tech",
  				id: "port_statue",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "military_camp",
  		cat: "defense",
  		tab: 2,
  		cap: 15,
  		age: 5,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 30000,
  				multi: 1.1
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 15000,
  				multi: 1.1
  			},
  			{
  				type: "resource",
  				id: "building_material",
  				value: 5000,
  				multi: 1.1
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 1200,
  				multi: 1.1
  			},
  			{
  				type: "tech",
  				id: "colonial_camp",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "population",
  				id: "quartermaster",
  				value: 1
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "cuirassier",
  				type_gen: "stat",
  				gen: "attack",
  				value: 2,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "line_infantry",
  				type_gen: "stat",
  				gen: "defense",
  				value: 2,
  				perc: false
  			},
  			{
  				type: "cap",
  				id: "army",
  				value: 5
  			}
  		]
  	},
  	{
  		id: "stronghold",
  		cat: "defense",
  		tab: 2,
  		cap: 15,
  		age: 5,
  		req: [
  			{
  				type: "resource",
  				id: "stone",
  				value: 30000,
  				multi: 1.1
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: 10000,
  				multi: 1.1
  			},
  			{
  				type: "resource",
  				id: "saltpetre",
  				value: 8000,
  				multi: 1.1
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 2500,
  				multi: 1.1
  			},
  			{
  				type: "tech",
  				id: "colonial_stronghold",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "settlement_defenses",
  				type_gen: "stat",
  				gen: "defense",
  				value: 25,
  				perc: false
  			},
  			{
  				type: "cap",
  				id: "food",
  				value: 1500
  			},
  			{
  				type: "cap",
  				id: "supplies",
  				value: 1500
  			},
  			{
  				type: "cap",
  				id: "natronite",
  				value: 500
  			}
  		]
  	},
  	{
  		id: "colony_recruiting_camp",
  		cat: "defense",
  		tab: 2,
  		cap: 15,
  		age: 5,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 35000,
  				multi: 1.1
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 18000,
  				multi: 1.1
  			},
  			{
  				type: "resource",
  				id: "supplies",
  				value: 5000,
  				multi: 1.1
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 2000,
  				multi: 1.1
  			},
  			{
  				type: "tech",
  				id: "colonial_recruits",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "population",
  				id: "quartermaster",
  				value: 1
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "commander",
  				type_gen: "stat",
  				gen: "defense",
  				value: 3,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "general",
  				type_gen: "stat",
  				gen: "attack",
  				value: 3,
  				perc: false
  			},
  			{
  				type: "cap",
  				id: "army",
  				value: 10
  			}
  		]
  	},
  	{
  		id: "fortified_citadel",
  		cat: "wonders",
  		tab: 2,
  		cap: 1,
  		age: 5,
  		req: [
  			{
  				type: "building",
  				id: "fortified_citadel_part",
  				value: 20,
  				consume: true
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 350,
  				fix: true
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "settlement_defenses",
  				type_gen: "stat",
  				gen: "attack",
  				value: 500,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "settlement_defenses",
  				type_gen: "stat",
  				gen: "defense",
  				value: 500,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "cannon",
  				type_gen: "stat",
  				gen: "attack",
  				value: 20,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "cannon",
  				type_gen: "stat",
  				gen: "defense",
  				value: 40,
  				perc: false
  			},
  			{
  				type: "cap",
  				id: "army",
  				value: 50
  			},
  			{
  				type: "resource",
  				id: "gem",
  				value: 1,
  				fix: true
  			}
  		]
  	},
  	{
  		id: "fortified_citadel_part",
  		cat: "wonders",
  		tab: 2,
  		cap: 20,
  		age: 5,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 200000
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 100000
  			},
  			{
  				type: "resource",
  				id: "iron",
  				value: 50000
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: 25000
  			},
  			{
  				type: "resource",
  				id: "saltpetre",
  				value: 25000
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 15000
  			},
  			{
  				type: "tech",
  				id: "fortified_colony",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "pilgrim_camp",
  		cat: "faith",
  		tab: 2,
  		age: 5,
  		req: [
  			{
  				type: "resource",
  				id: "wood",
  				value: 12000,
  				multi: 1.1
  			},
  			{
  				type: "resource",
  				id: "faith",
  				value: 5000,
  				multi: 1.1
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 1500,
  				multi: 1.1
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 1500,
  				multi: 1.1
  			},
  			{
  				type: "tech",
  				id: "faith_world",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "food",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "faith",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 1
  			},
  			{
  				type: "cap",
  				id: "food",
  				value: 500
  			},
  			{
  				type: "cap",
  				id: "faith",
  				value: 500
  			},
  			{
  				type: "cap",
  				id: "mana",
  				value: 250
  			},
  			{
  				type: "population",
  				id: "unemployed",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "church_old_gods",
  		cat: "faith",
  		tab: 2,
  		age: 5,
  		req: [
  			{
  				type: "resource",
  				id: "stone",
  				value: 15000,
  				multi: 1.1
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 8000,
  				multi: 1.1
  			},
  			{
  				type: "resource",
  				id: "faith",
  				value: 6000,
  				multi: 1.1
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 2500,
  				multi: 1.1
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 2500,
  				multi: 1.1
  			},
  			{
  				type: "tech",
  				id: "new_old_gods",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 3
  			},
  			{
  				type: "resource",
  				id: "faith",
  				value: 3
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 3
  			},
  			{
  				type: "cap",
  				id: "faith",
  				value: 1500
  			},
  			{
  				type: "cap",
  				id: "mana",
  				value: 1000
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "sacred_golem",
  				type_gen: "stat",
  				gen: "defense",
  				value: 2,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "priest",
  				type_gen: "stat",
  				gen: "defense",
  				value: 4,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "mana_extractors",
  		cat: "faith",
  		tab: 2,
  		age: 5,
  		req: [
  			{
  				type: "resource",
  				id: "steel",
  				value: 12000,
  				multi: 1.1
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 12000,
  				multi: 1.1
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 2500,
  				multi: 1.1
  			},
  			{
  				type: "tech",
  				id: "mana_investigation",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "population",
  				id: "harvester",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 3
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 3,
  				perc: true
  			},
  			{
  				type: "cap",
  				id: "mana",
  				value: 2000
  			}
  		]
  	},
  	{
  		id: "mana_maker_b",
  		cat: "faith",
  		tab: 2,
  		age: 6,
  		req: [
  			{
  				type: "resource",
  				id: "mana",
  				value: 16000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 14000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 7500,
  				multi: 1.2
  			},
  			{
  				type: "tech",
  				id: "mana_maker_t",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "mana",
  				value: 5
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 3,
  				perc: true
  			},
  			{
  				type: "cap",
  				id: "mana",
  				value: 1500
  			}
  		]
  	},
  	{
  		id: "holy_site",
  		cat: "wonders",
  		tab: 2,
  		cap: 1,
  		age: 5,
  		req: [
  			{
  				type: "building",
  				id: "holy_site_part",
  				value: 20,
  				consume: true
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 350,
  				fix: true
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 25,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "faith",
  				value: 25,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 25,
  				perc: true
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "warrior_monk",
  				type_gen: "stat",
  				gen: "defense",
  				value: 15,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "cleric",
  				type_gen: "stat",
  				gen: "defense",
  				value: 15,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "battle_angel",
  				type_gen: "stat",
  				gen: "defense",
  				value: 15,
  				perc: false
  			},
  			{
  				type: "resource",
  				id: "gem",
  				value: 1,
  				fix: true
  			}
  		]
  	},
  	{
  		id: "holy_site_part",
  		cat: "wonders",
  		tab: 2,
  		cap: 20,
  		age: 5,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 200000
  			},
  			{
  				type: "resource",
  				id: "faith",
  				value: 25000
  			},
  			{
  				type: "resource",
  				id: "building_material",
  				value: 20000
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 17500
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 15000
  			},
  			{
  				type: "tech",
  				id: "colonial_consacration",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "beacon_light",
  		cat: "living_quarters",
  		tab: 3,
  		age: 6,
  		cap: 20,
  		req: [
  			{
  				type: "resource",
  				id: "stone",
  				value: 30000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 8000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 6000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 4000,
  				multi: 1.1
  			},
  			{
  				type: "tech",
  				id: "the_portal_t",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "gold",
  				value: -250
  			},
  			{
  				type: "resource",
  				id: "food",
  				value: -150
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: -100
  			},
  			{
  				type: "resource",
  				id: "light",
  				value: 1,
  				fix: true
  			}
  		]
  	},
  	{
  		id: "abyss_outpost",
  		cat: "defense",
  		tab: 3,
  		age: 6,
  		req: [
  			{
  				type: "resource",
  				id: "stone",
  				value: 50000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: 15000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "saltpetre",
  				value: 10000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 5000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "lumix",
  				value: 275,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "light",
  				value: 1
  			},
  			{
  				type: "tech",
  				id: "survey_abyss",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "settlement_defenses",
  				type_gen: "stat",
  				gen: "defense",
  				value: 250,
  				perc: false
  			},
  			{
  				type: "cap",
  				id: "army",
  				value: 40
  			}
  		]
  	},
  	{
  		id: "gathering_area",
  		cat: "resource",
  		tab: 3,
  		age: 6,
  		req: [
  			{
  				type: "resource",
  				id: "wood",
  				value: 75000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "building_material",
  				value: 15000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "lumix",
  				value: 375,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "light",
  				value: 1
  			},
  			{
  				type: "tech",
  				id: "overlook_darkness",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "population",
  				id: "lumberjack",
  				value: 3
  			},
  			{
  				type: "population",
  				id: "quarryman",
  				value: 3
  			},
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "lumberjack",
  				type_gen: "resource",
  				gen: "wood",
  				value: 5,
  				perc: true
  			},
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "quarryman",
  				type_gen: "resource",
  				gen: "stone",
  				value: 5,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "light_turret",
  		cat: "defense",
  		tab: 3,
  		age: 6,
  		cap: 20,
  		req: [
  			{
  				type: "resource",
  				id: "wood",
  				value: 30000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 2500,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 2500,
  				multi: 1.1
  			},
  			{
  				type: "tech",
  				id: "delimiting_perimeter",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "gold",
  				value: -200
  			},
  			{
  				type: "resource",
  				id: "food",
  				value: -100
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: -50
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "settlement_defenses",
  				type_gen: "stat",
  				gen: "defense",
  				value: 75,
  				perc: false
  			},
  			{
  				type: "resource",
  				id: "light",
  				value: 1,
  				fix: true
  			}
  		]
  	},
  	{
  		id: "probe_system",
  		cat: "defense",
  		tab: 3,
  		age: 6,
  		cap: 12,
  		req: [
  			{
  				type: "resource",
  				id: "steel",
  				value: 30000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 15000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 5000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "lumix",
  				value: 1000,
  				multi: 1.2
  			},
  			{
  				type: "tech",
  				id: "probes",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "gold",
  				value: -50
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: -50
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "settlement_defenses",
  				type_gen: "stat",
  				gen: "defense",
  				value: 150,
  				perc: false
  			},
  			{
  				type: "resource",
  				id: "light",
  				value: 1,
  				fix: true
  			}
  		]
  	},
  	{
  		id: "mercenary_camp",
  		cat: "defense",
  		tab: 3,
  		age: 13,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 15000,
  				multi: 1.5
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 8000,
  				multi: 1.5
  			},
  			{
  				type: "resource",
  				id: "luck",
  				value: 1
  			},
  			{
  				type: "tech",
  				id: "mercenary_abyss",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 6
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "mercenary_veteran",
  				type_gen: "stat",
  				gen: "attack",
  				value: 4,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "mercenary_veteran",
  				type_gen: "stat",
  				gen: "defense",
  				value: 4,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "white_company",
  				type_gen: "stat",
  				gen: "attack",
  				value: 7,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "white_company",
  				type_gen: "stat",
  				gen: "defense",
  				value: 2,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "canava_guard",
  				type_gen: "stat",
  				gen: "attack",
  				value: 7,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "canava_guard",
  				type_gen: "stat",
  				gen: "defense",
  				value: 7,
  				perc: false
  			},
  			{
  				type: "cap",
  				id: "army",
  				value: 3
  			}
  		]
  	},
  	{
  		id: "arcane_school",
  		cat: "science",
  		tab: 3,
  		age: 6,
  		req: [
  			{
  				type: "resource",
  				id: "stone",
  				value: 60000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: 15000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 10000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "lumix",
  				value: 400,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "light",
  				value: 1
  			},
  			{
  				type: "tech",
  				id: "arcane_study",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "population",
  				id: "professor",
  				value: 2
  			},
  			{
  				type: "resource",
  				id: "research",
  				value: 4,
  				perc: true
  			},
  			{
  				type: "cap",
  				id: "research",
  				value: 5000
  			},
  			{
  				type: "cap",
  				id: "crystal",
  				value: 2500
  			}
  		]
  	},
  	{
  		id: "light_shrine",
  		cat: "science",
  		tab: 3,
  		cap: 1,
  		age: 6,
  		req: [
  			{
  				type: "resource",
  				id: "stone",
  				value: 75000
  			},
  			{
  				type: "resource",
  				id: "lumix",
  				value: 500
  			},
  			{
  				type: "tech",
  				id: "abyss_shrine",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "light",
  				value: 7,
  				fix: true
  			},
  			{
  				type: "building",
  				id: "arcane_shrine",
  				value: -1
  			},
  			{
  				type: "building",
  				id: "evil_shrine",
  				value: -1
  			}
  		]
  	},
  	{
  		id: "arcane_shrine",
  		cat: "science",
  		tab: 3,
  		cap: 1,
  		age: 6,
  		req: [
  			{
  				type: "resource",
  				id: "stone",
  				value: 75000
  			},
  			{
  				type: "resource",
  				id: "lumix",
  				value: 250
  			},
  			{
  				type: "tech",
  				id: "abyss_shrine",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "research",
  				value: 25
  			},
  			{
  				type: "resource",
  				id: "faith",
  				value: 25
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 200
  			},
  			{
  				type: "building",
  				id: "light_shrine",
  				value: -1
  			},
  			{
  				type: "building",
  				id: "evil_shrine",
  				value: -1
  			}
  		]
  	},
  	{
  		id: "evil_shrine",
  		cat: "science",
  		tab: 3,
  		cap: 1,
  		age: 6,
  		req: [
  			{
  				type: "resource",
  				id: "stone",
  				value: 75000
  			},
  			{
  				type: "resource",
  				id: "lumix",
  				value: 750
  			},
  			{
  				type: "resource",
  				id: "light",
  				value: 3
  			},
  			{
  				type: "tech",
  				id: "abyss_shrine",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "elf_warrior",
  				type_gen: "stat",
  				gen: "attack",
  				value: 12,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "elf_warrior",
  				type_gen: "stat",
  				gen: "defense",
  				value: 12,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "line_infantry",
  				type_gen: "stat",
  				gen: "attack",
  				value: 12,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "line_infantry",
  				type_gen: "stat",
  				gen: "defense",
  				value: 12,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "steel_rider",
  				type_gen: "stat",
  				gen: "attack",
  				value: 15,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "steel_rider",
  				type_gen: "stat",
  				gen: "defense",
  				value: 15,
  				perc: false
  			},
  			{
  				type: "building",
  				id: "light_shrine",
  				value: -1
  			},
  			{
  				type: "building",
  				id: "arcane_shrine",
  				value: -1
  			}
  		]
  	},
  	{
  		id: "underground_house",
  		cat: "living_quarters",
  		tab: 3,
  		age: 6,
  		req: [
  			{
  				type: "resource",
  				id: "stone",
  				value: 25000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "building_material",
  				value: 10000,
  				multi: 1.2
  			},
  			{
  				type: "tech",
  				id: "underground_rooms",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "food",
  				value: -5
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 2
  			},
  			{
  				type: "resource",
  				id: "research",
  				value: 2
  			},
  			{
  				type: "population",
  				id: "unemployed",
  				value: 2
  			},
  			{
  				type: "cap",
  				id: "army",
  				value: 5
  			}
  		]
  	},
  	{
  		id: "light_square_b",
  		cat: "living_quarters",
  		tab: 3,
  		age: 6,
  		cap: 5,
  		req: [
  			{
  				type: "resource",
  				id: "stone",
  				value: 35000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "building_material",
  				value: 12000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 8000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "lumix",
  				value: 500,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "light",
  				value: 1
  			},
  			{
  				type: "tech",
  				id: "light_square",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "gold",
  				value: -200
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: -50
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: -10
  			},
  			{
  				type: "resource",
  				id: "research",
  				value: 8
  			},
  			{
  				type: "resource",
  				id: "faith",
  				value: 8
  			},
  			{
  				type: "resource",
  				id: "luck",
  				value: 2,
  				fix: true
  			},
  			{
  				type: "population",
  				id: "unemployed",
  				value: 5
  			},
  			{
  				type: "cap",
  				id: "army",
  				value: 12
  			}
  		]
  	},
  	{
  		id: "underground_store",
  		cat: "warehouse",
  		tab: 3,
  		age: 6,
  		req: [
  			{
  				type: "resource",
  				id: "stone",
  				value: 30000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 15000,
  				multi: 1.2
  			},
  			{
  				type: "tech",
  				id: "underground_rooms",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "cap",
  				id: "wood",
  				value: 20000
  			},
  			{
  				type: "cap",
  				id: "stone",
  				value: 20000
  			},
  			{
  				type: "cap",
  				id: "copper",
  				value: 15000
  			},
  			{
  				type: "cap",
  				id: "iron",
  				value: 15000
  			},
  			{
  				type: "cap",
  				id: "tools",
  				value: 15000
  			}
  		]
  	},
  	{
  		id: "launch_silos",
  		cat: "warehouse",
  		tab: 2,
  		age: 6,
  		req: [
  			{
  				type: "resource",
  				id: "stone",
  				value: 45000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: 25000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "lumix",
  				value: 120,
  				multi: 1.2
  			},
  			{
  				type: "tech",
  				id: "rocketry",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "cap",
  				id: "natronite",
  				value: 2000
  			},
  			{
  				type: "cap",
  				id: "lumix",
  				value: 200
  			}
  		]
  	},
  	{
  		id: "signal_machine",
  		cat: "wonders",
  		tab: 3,
  		cap: 1,
  		age: 6,
  		req: [
  			{
  				type: "building",
  				id: "signal_machine_part",
  				value: 11,
  				consume: true
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 400,
  				fix: true
  			}
  		]
  	},
  	{
  		id: "signal_machine_part",
  		cat: "wonders",
  		tab: 3,
  		cap: 11,
  		age: 6,
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 500000
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 400000
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 100000
  			},
  			{
  				type: "tech",
  				id: "nuclear_power",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "guide_mankind_b",
  		cat: "wonders",
  		tab: 3,
  		cap: 1,
  		age: 6,
  		req: [
  			{
  				type: "building",
  				id: "guide_mankind_b_part",
  				value: 10,
  				consume: true
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 800,
  				fix: true
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 100
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 100
  			},
  			{
  				type: "cap",
  				id: "army",
  				value: 500
  			}
  		]
  	},
  	{
  		id: "guide_mankind_b_part",
  		cat: "wonders",
  		tab: 3,
  		cap: 10,
  		age: 6,
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 750000
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 600000
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 200000
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 100000
  			},
  			{
  				type: "resource",
  				id: "lumix",
  				value: 15000
  			},
  			{
  				type: "resource",
  				id: "light",
  				value: 2
  			},
  			{
  				type: "tech",
  				id: "guide_mankind",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "mining_area",
  		cat: "resource",
  		tab: 3,
  		age: 6,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 16000,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 14000,
  				multi: 1.4
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 8000,
  				multi: 1.4
  			},
  			{
  				type: "tech",
  				id: "underground_rooms",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "population",
  				id: "miner",
  				value: 3
  			},
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "miner",
  				type_gen: "resource",
  				gen: "copper",
  				value: 5,
  				perc: true
  			},
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "miner",
  				type_gen: "resource",
  				gen: "iron",
  				value: 5,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "lumix_refinery",
  		cat: "resource",
  		tab: 3,
  		age: 6,
  		req: [
  			{
  				type: "resource",
  				id: "stone",
  				value: 50000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "building_material",
  				value: 25000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 15000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "light",
  				value: 1
  			},
  			{
  				type: "prayer",
  				id: "lumix_refinery_f",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "lumix",
  				value: 0.4
  			},
  			{
  				type: "resource",
  				id: "lumix",
  				value: 2,
  				perc: true
  			},
  			{
  				type: "cap",
  				id: "mana",
  				value: 5000
  			},
  			{
  				type: "cap",
  				id: "lumix",
  				value: 500
  			}
  		]
  	},
  	{
  		id: "enhanced_barracks",
  		cat: "defense",
  		tab: 3,
  		age: 6,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 100000,
  				multi: 1.1
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 80000,
  				multi: 1.1
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 80000,
  				multi: 1.1
  			},
  			{
  				type: "resource",
  				id: "iron",
  				value: 50000,
  				multi: 1.1
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 25000,
  				multi: 1.1
  			},
  			{
  				type: "resource",
  				id: "lumix",
  				value: 150,
  				multi: 1.1
  			},
  			{
  				type: "resource",
  				id: "light",
  				value: 1
  			},
  			{
  				type: "prayer",
  				id: "enhanced_barracks_f",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "machine_gun_u",
  				type_gen: "stat",
  				gen: "attack",
  				value: 4,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "steel_rider",
  				type_gen: "stat",
  				gen: "attack",
  				value: 4,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "rifleman_u",
  				type_gen: "stat",
  				gen: "attack",
  				value: 2,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "rifleman_u",
  				type_gen: "stat",
  				gen: "defense",
  				value: 2,
  				perc: false
  			},
  			{
  				type: "cap",
  				id: "army",
  				value: 12
  			}
  		]
  	},
  	{
  		id: "artillery_officer_b",
  		cat: "defense",
  		tab: 3,
  		cap: 10,
  		age: 13,
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 100000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 7000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "lumix",
  				value: 1500,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "luck",
  				value: 1
  			},
  			{
  				type: "tech",
  				id: "artillery_officer_t",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 5
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 3,
  				perc: true
  			},
  			{
  				type: "cap",
  				id: "gold",
  				value: 10000
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "artillery",
  				type_gen: "stat",
  				gen: "attack",
  				value: 16,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "artillery",
  				type_gen: "stat",
  				gen: "defense",
  				value: 6,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "general",
  				type_gen: "stat",
  				gen: "attack",
  				value: 10,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "general",
  				type_gen: "stat",
  				gen: "defense",
  				value: 15,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "mana_battery",
  		cat: "faith",
  		tab: 3,
  		age: 6,
  		req: [
  			{
  				type: "resource",
  				id: "copper",
  				value: 50000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "saltpetre",
  				value: 15000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 12500,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "lumix",
  				value: 575,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "light",
  				value: 1
  			},
  			{
  				type: "tech",
  				id: "drain_mana",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "mana",
  				value: 15
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 5,
  				perc: true
  			},
  			{
  				type: "cap",
  				id: "mana",
  				value: 5000
  			}
  		]
  	},
  	{
  		id: "angel_palace_b",
  		cat: "faith",
  		tab: 3,
  		cap: 10,
  		age: 6,
  		req: [
  			{
  				type: "resource",
  				id: "stone",
  				value: 30000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "faith",
  				value: 25000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 20000,
  				multi: 1.2
  			},
  			{
  				type: "resource",
  				id: "light",
  				value: 1
  			},
  			{
  				type: "tech",
  				id: "angel_palace_t",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 10
  			},
  			{
  				type: "resource",
  				id: "faith",
  				value: 3,
  				perc: true
  			},
  			{
  				type: "cap",
  				id: "faith",
  				value: 7000
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "battle_angel",
  				type_gen: "stat",
  				gen: "attack",
  				value: 8,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "battle_angel",
  				type_gen: "stat",
  				gen: "defense",
  				value: 10,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "sacred_golem",
  				type_gen: "stat",
  				gen: "attack",
  				value: 4,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "sacred_golem",
  				type_gen: "stat",
  				gen: "defense",
  				value: 8,
  				perc: false
  			}
  		]
  	}
  ];

  var factions = [
  	{
  		id: "nightdale_protectorate",
  		found: [
  			1,
  			2,
  			3,
  			4,
  			5
  		],
  		relationship: 30,
  		esp: 30,
  		level: 5,
  		reqDelegation: [
  			{
  				type: "resource",
  				id: "wood",
  				value: 500
  			},
  			{
  				type: "resource",
  				id: "food",
  				value: 500
  			}
  		],
  		reqImproveRelationship: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 5000
  			}
  		],
  		commercial: [
  			{
  				type: "resource",
  				id: "gold",
  				value: -15
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 4
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 4
  			}
  		],
  		alliance: [
  			{
  				type: "resource",
  				id: "wood",
  				value: 4
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 4
  			},
  			{
  				type: "cap",
  				id: "army",
  				value: 5
  			}
  		],
  		army: [
  			{
  				id: "archer",
  				value: 110
  			},
  			{
  				id: "warrior",
  				value: 120
  			},
  			{
  				id: "commander",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 8,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "food",
  				value: 8,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 8,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 8,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "theresmore_wanders",
  		found: [
  			6,
  			7,
  			8,
  			9,
  			10
  		],
  		relationship: 30,
  		esp: 20,
  		level: 5,
  		reqDelegation: [
  			{
  				type: "resource",
  				id: "food",
  				value: 2000
  			}
  		],
  		reqImproveRelationship: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 5000
  			}
  		],
  		commercial: [
  			{
  				type: "resource",
  				id: "gold",
  				value: -15
  			},
  			{
  				type: "resource",
  				id: "food",
  				value: 5
  			},
  			{
  				type: "resource",
  				id: "horse",
  				value: 0.5
  			}
  		],
  		alliance: [
  			{
  				type: "resource",
  				id: "food",
  				value: 5
  			},
  			{
  				type: "resource",
  				id: "horse",
  				value: 0.5
  			},
  			{
  				type: "cap",
  				id: "army",
  				value: 5
  			}
  		],
  		army: [
  			{
  				id: "archer",
  				value: 60
  			},
  			{
  				id: "spearman",
  				value: 40
  			},
  			{
  				id: "light_cavarly",
  				value: 120
  			},
  			{
  				id: "commander",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 8,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "food",
  				value: 8,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "horse",
  				value: 0.5
  			}
  		]
  	},
  	{
  		id: "western_kingdom",
  		found: [
  			11,
  			12,
  			13,
  			14,
  			15
  		],
  		relationship: 50,
  		esp: 50,
  		level: 5,
  		reqDelegation: [
  			{
  				type: "resource",
  				id: "iron",
  				value: 500
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 500
  			}
  		],
  		reqImproveRelationship: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 5000
  			}
  		],
  		commercial: [
  			{
  				type: "resource",
  				id: "gold",
  				value: -20
  			},
  			{
  				type: "resource",
  				id: "copper",
  				value: 3
  			},
  			{
  				type: "resource",
  				id: "iron",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 2
  			}
  		],
  		alliance: [
  			{
  				type: "resource",
  				id: "copper",
  				value: 2
  			},
  			{
  				type: "resource",
  				id: "iron",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 1
  			},
  			{
  				type: "cap",
  				id: "army",
  				value: 5
  			}
  		],
  		army: [
  			{
  				id: "crossbowman",
  				value: 60
  			},
  			{
  				id: "man_at_arms",
  				value: 50
  			},
  			{
  				id: "knight",
  				value: 100
  			},
  			{
  				id: "commander",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "research",
  				value: 8,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "copper",
  				value: 8,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "iron",
  				value: 8,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 8,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "zultan_emirate",
  		found: [
  			16,
  			17,
  			18,
  			19,
  			20
  		],
  		relationship: 50,
  		esp: 40,
  		level: 5,
  		reqDelegation: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 2000
  			},
  			{
  				type: "resource",
  				id: "food",
  				value: 500
  			}
  		],
  		reqImproveRelationship: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 5000
  			}
  		],
  		commercial: [
  			{
  				type: "resource",
  				id: "gold",
  				value: -15
  			},
  			{
  				type: "resource",
  				id: "faith",
  				value: 2
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 5
  			}
  		],
  		alliance: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 5
  			},
  			{
  				type: "resource",
  				id: "faith",
  				value: 5
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 5
  			},
  			{
  				type: "cap",
  				id: "army",
  				value: 5
  			}
  		],
  		army: [
  			{
  				id: "archer",
  				value: 120
  			},
  			{
  				id: "spearman",
  				value: 80
  			},
  			{
  				id: "heavy_warrior",
  				value: 50
  			},
  			{
  				id: "commander",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 8,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 8,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "sssarkat_empire",
  		found: [
  			1,
  			2,
  			3,
  			4,
  			5
  		],
  		relationship: 30,
  		esp: 40,
  		level: 6,
  		reqFound: [
  			{
  				type: "tech",
  				id: "long_expedition",
  				value: 1
  			}
  		],
  		reqDelegation: [
  			{
  				type: "resource",
  				id: "food",
  				value: 5000
  			},
  			{
  				type: "resource",
  				id: "supplies",
  				value: 2500
  			}
  		],
  		reqImproveRelationship: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 25000
  			},
  			{
  				type: "resource",
  				id: "cow",
  				value: 1000
  			}
  		],
  		commercial: [
  			{
  				type: "resource",
  				id: "gold",
  				value: -30
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 12
  			},
  			{
  				type: "resource",
  				id: "saltpetre",
  				value: 3
  			}
  		],
  		alliance: [
  			{
  				type: "resource",
  				id: "mana",
  				value: 10
  			},
  			{
  				type: "resource",
  				id: "saltpetre",
  				value: 2
  			},
  			{
  				type: "cap",
  				id: "army",
  				value: 15
  			}
  		],
  		army: [
  			{
  				id: "lizard_warrior",
  				value: 250
  			},
  			{
  				id: "lizard_archer",
  				value: 120
  			},
  			{
  				id: "lizard_shaman",
  				value: 20
  			},
  			{
  				id: "lizard_commander",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 150,
  				fix: true
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 12,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "saltpetre",
  				value: 10,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "scalerock_tribes",
  		found: [
  			6,
  			7,
  			8,
  			9,
  			10
  		],
  		relationship: 40,
  		esp: 50,
  		level: 6,
  		reqFound: [
  			{
  				type: "tech",
  				id: "long_expedition",
  				value: 1
  			}
  		],
  		reqDelegation: [
  			{
  				type: "resource",
  				id: "steel",
  				value: 3000
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 1500
  			}
  		],
  		reqImproveRelationship: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 25000
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 2000
  			}
  		],
  		commercial: [
  			{
  				type: "resource",
  				id: "gold",
  				value: -30
  			},
  			{
  				type: "resource",
  				id: "building_material",
  				value: 1.5
  			},
  			{
  				type: "resource",
  				id: "supplies",
  				value: 1
  			}
  		],
  		alliance: [
  			{
  				type: "resource",
  				id: "building_material",
  				value: 1.5
  			},
  			{
  				type: "resource",
  				id: "supplies",
  				value: 1
  			},
  			{
  				type: "cap",
  				id: "army",
  				value: 15
  			}
  		],
  		army: [
  			{
  				id: "draconic_warrior",
  				value: 250
  			},
  			{
  				id: "draconic_diver",
  				value: 120
  			},
  			{
  				id: "draconic_mage",
  				value: 20
  			},
  			{
  				id: "draconic_leader",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 200,
  				fix: true
  			},
  			{
  				type: "resource",
  				id: "building_material",
  				value: 15,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "supplies",
  				value: 15,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "enso_multitude",
  		found: [
  			11,
  			12,
  			13,
  			14,
  			15
  		],
  		relationship: 50,
  		esp: 60,
  		level: 7,
  		reqFound: [
  			{
  				type: "tech",
  				id: "long_expedition",
  				value: 1
  			}
  		],
  		reqDelegation: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 8000
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 8000
  			}
  		],
  		reqImproveRelationship: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 8000
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 8000
  			}
  		],
  		commercial: [
  			{
  				type: "resource",
  				id: "gold",
  				value: -50
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 3
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: 1.5
  			}
  		],
  		alliance: [
  			{
  				type: "resource",
  				id: "natronite",
  				value: 2
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: 2
  			},
  			{
  				type: "cap",
  				id: "army",
  				value: 15
  			}
  		],
  		army: [
  			{
  				id: "musket_ashigaru",
  				value: 250
  			},
  			{
  				id: "katana_samurai",
  				value: 150
  			},
  			{
  				id: "cavarly_archer",
  				value: 100
  			},
  			{
  				id: "daimyo",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 250,
  				fix: true
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 20,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: 20,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "kobu_dominion_r",
  		found: [
  			6,
  			7,
  			8,
  			9,
  			10
  		],
  		relationship: 50,
  		esp: 70,
  		level: 7,
  		reqFound: [
  			{
  				type: "building",
  				id: "kobu_crystal",
  				value: 1
  			}
  		],
  		reqDelegation: [
  			{
  				type: "resource",
  				id: "natronite",
  				value: 10000
  			}
  		],
  		reqImproveRelationship: [
  			{
  				type: "resource",
  				id: "natronite",
  				value: 20000
  			}
  		],
  		commercial: [
  			{
  				type: "resource",
  				id: "natronite",
  				value: -5
  			},
  			{
  				type: "resource",
  				id: "research",
  				value: 25
  			}
  		],
  		alliance: [
  			{
  				type: "resource",
  				id: "research",
  				value: 30
  			}
  		],
  		army: [
  			{
  				id: "mobile_turret",
  				value: 250
  			},
  			{
  				id: "hover_tank",
  				value: 450
  			},
  			{
  				id: "mechanical_wolf",
  				value: 650
  			},
  			{
  				id: "giant_death_robot",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 250,
  				fix: true
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: 10,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 10,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 10,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "king_kobold_nation",
  		found: [
  			21,
  			22,
  			23,
  			24,
  			25
  		],
  		esp: 40,
  		level: 5,
  		reqFound: [
  			{
  				type: "tech",
  				id: "kobold_nation",
  				value: 1
  			}
  		],
  		relationship: 0,
  		army: [
  			{
  				id: "kobold_king",
  				value: 1
  			},
  			{
  				id: "kobold_champion",
  				value: 70
  			},
  			{
  				id: "kobold",
  				value: 180
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 100,
  				fix: true
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 10
  			}
  		]
  	},
  	{
  		id: "barbarian_horde",
  		found: [
  			26,
  			27,
  			28,
  			29,
  			30
  		],
  		esp: 40,
  		level: 6,
  		reqFound: [
  			{
  				type: "tech",
  				id: "barbarian_tribes",
  				value: 1
  			}
  		],
  		relationship: 0,
  		army: [
  			{
  				id: "barbarian_king",
  				value: 1
  			},
  			{
  				id: "barbarian_chosen",
  				value: 50
  			},
  			{
  				id: "barbarian_drummer",
  				value: 5
  			},
  			{
  				id: "barbarian_warrior",
  				value: 150
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 100,
  				fix: true
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 5
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 5
  			},
  			{
  				type: "resource",
  				id: "iron",
  				value: 2
  			},
  			{
  				type: "population",
  				id: "unemployed",
  				value: 5
  			}
  		]
  	},
  	{
  		id: "lich_fortress",
  		found: [
  			31,
  			32,
  			33,
  			34,
  			35
  		],
  		esp: 50,
  		level: 7,
  		reqFound: [
  			{
  				type: "tech",
  				id: "huge_cave_t",
  				value: 1
  			}
  		],
  		relationship: 0,
  		army: [
  			{
  				id: "nikharul",
  				value: 1
  			},
  			{
  				id: "skeletal_knight",
  				value: 500
  			},
  			{
  				id: "skeleton",
  				value: 2200
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 150,
  				fix: true
  			},
  			{
  				type: "resource",
  				id: "research",
  				value: 2
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 2
  			}
  		]
  	},
  	{
  		id: "dark_knight_lord",
  		found: [
  			26,
  			27,
  			28,
  			29,
  			30
  		],
  		esp: 65,
  		level: 8,
  		reqFound: [
  			{
  				type: "tech",
  				id: "dark_castle",
  				value: 1
  			}
  		],
  		relationship: 0,
  		army: [
  			{
  				id: "dark_knight_lord",
  				value: 1
  			},
  			{
  				id: "dark_knight",
  				value: 320
  			},
  			{
  				id: "ancient_ghost",
  				value: 1300
  			},
  			{
  				id: "ancient_legionary",
  				value: 1800
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 250,
  				fix: true
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 5
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: 2.5
  			},
  			{
  				type: "resource",
  				id: "saltpetre",
  				value: 2
  			},
  			{
  				type: "resource",
  				id: "lumix",
  				value: 0.2
  			}
  		]
  	},
  	{
  		id: "baron_mordecai",
  		found: [
  			0
  		],
  		esp: 65,
  		level: 9,
  		reqFound: [
  			{
  				type: "building",
  				id: "light_square_b",
  				value: 5
  			}
  		],
  		relationship: 0,
  		army: [
  			{
  				id: "baron_mordecai_darkthorn",
  				value: 1
  			},
  			{
  				id: "vampire",
  				value: 350
  			},
  			{
  				id: "skeleton",
  				value: 2200
  			},
  			{
  				id: "ghost",
  				value: 1500
  			},
  			{
  				id: "ghoul",
  				value: 2000
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 300,
  				fix: true
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 7
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 5
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 2
  			},
  			{
  				type: "resource",
  				id: "lumix",
  				value: 0.3
  			}
  		]
  	},
  	{
  		id: "hand_evil",
  		found: [
  			0
  		],
  		esp: 75,
  		level: 9,
  		reqFound: [
  			{
  				type: "tech",
  				id: "activate_signal",
  				value: 1
  			}
  		],
  		relationship: 0,
  		army: [
  			{
  				id: "hand_evil",
  				value: 1
  			},
  			{
  				id: "succubus",
  				value: 540
  			},
  			{
  				id: "spawn_evil",
  				value: 540
  			},
  			{
  				id: "greater_demon",
  				value: 660
  			},
  			{
  				id: "faceless_horror",
  				value: 680
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 350,
  				fix: true
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 10
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: 2
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 2
  			},
  			{
  				type: "resource",
  				id: "lumix",
  				value: 0.4
  			}
  		]
  	},
  	{
  		id: "army_of_the_dead",
  		found: [
  			0
  		],
  		relationship: 0,
  		army: [
  			{
  				id: "skeleton",
  				value: 1200
  			},
  			{
  				id: "zombie",
  				value: 600
  			}
  		]
  	},
  	{
  		id: "army_of_goblin",
  		found: [
  			0
  		],
  		relationship: 0,
  		army: [
  			{
  				id: "goblin_overlord",
  				value: 1
  			},
  			{
  				id: "goblin_wolfrider",
  				value: 50
  			},
  			{
  				id: "goblin_warrior",
  				value: 90
  			}
  		]
  	},
  	{
  		id: "army_of_dragon",
  		found: [
  			0
  		],
  		relationship: 0,
  		army: [
  			{
  				id: "red_dragon",
  				value: 1
  			},
  			{
  				id: "draconic_warrior",
  				value: 140
  			}
  		]
  	},
  	{
  		id: "fallen_angel_army_1",
  		found: [
  			0
  		],
  		relationship: 0,
  		army: [
  			{
  				id: "fallen_angel",
  				value: 1
  			},
  			{
  				id: "demonic_musketeer",
  				value: 170
  			}
  		]
  	},
  	{
  		id: "fallen_angel_army_2",
  		found: [
  			0
  		],
  		relationship: 0,
  		army: [
  			{
  				id: "fallen_angel",
  				value: 1
  			},
  			{
  				id: "lesser_demon",
  				value: 170
  			},
  			{
  				id: "greater_demon",
  				value: 130
  			}
  		]
  	},
  	{
  		id: "orc_war_party_1",
  		found: [
  			0
  		],
  		relationship: 0,
  		army: [
  			{
  				id: "orc_warrior",
  				value: 160
  			},
  			{
  				id: "orc_stone_thrower",
  				value: 120
  			}
  		],
  		hidden: true
  	},
  	{
  		id: "orc_war_party_2",
  		found: [
  			0
  		],
  		relationship: 0,
  		army: [
  			{
  				id: "orc_warrior",
  				value: 190
  			},
  			{
  				id: "orc_berserker",
  				value: 70
  			}
  		],
  		hidden: true
  	},
  	{
  		id: "orc_war_party_3",
  		found: [
  			0
  		],
  		relationship: 0,
  		army: [
  			{
  				id: "orc_warrior",
  				value: 200
  			},
  			{
  				id: "orc_berserker",
  				value: 100
  			},
  			{
  				id: "orc_shaman",
  				value: 40
  			},
  			{
  				id: "orc_warg_rider",
  				value: 80
  			}
  		],
  		hidden: true
  	},
  	{
  		id: "orc_war_party_4",
  		found: [
  			0
  		],
  		relationship: 0,
  		army: [
  			{
  				id: "orc_ironskin",
  				value: 200
  			},
  			{
  				id: "orc_berserker",
  				value: 100
  			},
  			{
  				id: "orc_shaman",
  				value: 40
  			},
  			{
  				id: "orc_warg_rider",
  				value: 80
  			},
  			{
  				id: "orc_warlord",
  				value: 1
  			}
  		],
  		hidden: true
  	},
  	{
  		id: "orc_war_party_5",
  		found: [
  			0
  		],
  		relationship: 0,
  		army: [
  			{
  				id: "orc_warrior",
  				value: 300
  			},
  			{
  				id: "orc_ironskin",
  				value: 200
  			},
  			{
  				id: "orc_berserker",
  				value: 100
  			},
  			{
  				id: "orc_shaman",
  				value: 40
  			},
  			{
  				id: "orc_warg_rider",
  				value: 80
  			},
  			{
  				id: "orc_warlord",
  				value: 1
  			}
  		],
  		hidden: true
  	},
  	{
  		id: "orc_war_party_6",
  		found: [
  			0
  		],
  		relationship: 0,
  		army: [
  			{
  				id: "orc_warrior",
  				value: 30
  			}
  		],
  		hidden: true
  	},
  	{
  		id: "orc_war_party_7",
  		found: [
  			0
  		],
  		relationship: 0,
  		army: [
  			{
  				id: "orc_warrior",
  				value: 30
  			},
  			{
  				id: "orc_berserker",
  				value: 20
  			},
  			{
  				id: "orc_stone_thrower",
  				value: 30
  			}
  		],
  		hidden: true
  	},
  	{
  		id: "orc_war_party_8",
  		found: [
  			0
  		],
  		relationship: 0,
  		army: [
  			{
  				id: "orc_warrior",
  				value: 300
  			},
  			{
  				id: "orc_berserker",
  				value: 200
  			},
  			{
  				id: "orc_stone_thrower",
  				value: 300
  			}
  		],
  		hidden: true
  	},
  	{
  		id: "orc_war_party_9",
  		found: [
  			0
  		],
  		relationship: 0,
  		army: [
  			{
  				id: "orc_warrior",
  				value: 450
  			},
  			{
  				id: "orc_ironskin",
  				value: 140
  			},
  			{
  				id: "orc_berserker",
  				value: 10
  			},
  			{
  				id: "orc_shaman",
  				value: 20
  			},
  			{
  				id: "orc_warg_rider",
  				value: 190
  			},
  			{
  				id: "orc_warlord",
  				value: 3
  			}
  		],
  		hidden: true
  	},
  	{
  		id: "orc_war_party_10",
  		found: [
  			0
  		],
  		relationship: 0,
  		army: [
  			{
  				id: "orc_warrior",
  				value: 450
  			},
  			{
  				id: "orc_ironskin",
  				value: 140
  			},
  			{
  				id: "orc_berserker",
  				value: 10
  			},
  			{
  				id: "orc_stone_thrower",
  				value: 120
  			},
  			{
  				id: "orc_shaman",
  				value: 20
  			},
  			{
  				id: "orc_warg_rider",
  				value: 190
  			},
  			{
  				id: "orc_warlord",
  				value: 3
  			}
  		],
  		hidden: true
  	},
  	{
  		id: "orc_war_party_11",
  		found: [
  			0
  		],
  		relationship: 0,
  		army: [
  			{
  				id: "orc_warrior",
  				value: 100
  			},
  			{
  				id: "orc_ironskin",
  				value: 190
  			},
  			{
  				id: "orc_berserker",
  				value: 120
  			},
  			{
  				id: "orc_stone_thrower",
  				value: 150
  			},
  			{
  				id: "orc_shaman",
  				value: 90
  			},
  			{
  				id: "orc_warg_rider",
  				value: 110
  			},
  			{
  				id: "orc_warlord",
  				value: 5
  			}
  		],
  		hidden: true
  	},
  	{
  		id: "orc_war_party_12",
  		found: [
  			0
  		],
  		relationship: 0,
  		army: [
  			{
  				id: "orc_warrior",
  				value: 500
  			},
  			{
  				id: "orc_ironskin",
  				value: 390
  			},
  			{
  				id: "orc_berserker",
  				value: 220
  			},
  			{
  				id: "orc_stone_thrower",
  				value: 450
  			},
  			{
  				id: "orc_shaman",
  				value: 190
  			},
  			{
  				id: "orc_warg_rider",
  				value: 310
  			},
  			{
  				id: "orc_warlord",
  				value: 5
  			}
  		],
  		hidden: true
  	},
  	{
  		id: "orc_war_party_13",
  		found: [
  			0
  		],
  		relationship: 0,
  		army: [
  			{
  				id: "orc_warrior",
  				value: 1200
  			},
  			{
  				id: "orc_ironskin",
  				value: 590
  			},
  			{
  				id: "orc_berserker",
  				value: 320
  			},
  			{
  				id: "orc_stone_thrower",
  				value: 350
  			},
  			{
  				id: "orc_shaman",
  				value: 90
  			},
  			{
  				id: "orc_warg_rider",
  				value: 50
  			},
  			{
  				id: "orc_warlord",
  				value: 1
  			}
  		],
  		hidden: true
  	},
  	{
  		id: "orc_war_party_14",
  		found: [
  			0
  		],
  		relationship: 0,
  		army: [
  			{
  				id: "orc_warrior",
  				value: 400
  			},
  			{
  				id: "orc_ironskin",
  				value: 190
  			},
  			{
  				id: "orc_berserker",
  				value: 220
  			},
  			{
  				id: "orc_stone_thrower",
  				value: 150
  			}
  		],
  		hidden: true
  	},
  	{
  		id: "orc_war_party_15",
  		found: [
  			0
  		],
  		relationship: 0,
  		army: [
  			{
  				id: "orc_warrior",
  				value: 200
  			},
  			{
  				id: "orc_ironskin",
  				value: 490
  			},
  			{
  				id: "orc_berserker",
  				value: 220
  			},
  			{
  				id: "orc_stone_thrower",
  				value: 550
  			}
  		],
  		hidden: true
  	},
  	{
  		id: "orc_war_party_16",
  		found: [
  			0
  		],
  		relationship: 0,
  		army: [
  			{
  				id: "orc_warrior",
  				value: 50
  			},
  			{
  				id: "orc_ironskin",
  				value: 120
  			},
  			{
  				id: "orc_berserker",
  				value: 20
  			},
  			{
  				id: "orc_stone_thrower",
  				value: 30
  			}
  		],
  		hidden: true
  	},
  	{
  		id: "orc_horde_boss",
  		found: [
  			0
  		],
  		relationship: 0,
  		army: [
  			{
  				id: "orc_champion",
  				value: 70
  			},
  			{
  				id: "orc_warrior",
  				value: 155
  			},
  			{
  				id: "orc_ironskin",
  				value: 155
  			},
  			{
  				id: "orc_berserker",
  				value: 110
  			},
  			{
  				id: "orc_stone_thrower",
  				value: 110
  			},
  			{
  				id: "orc_flame_caster",
  				value: 110
  			},
  			{
  				id: "orc_shaman",
  				value: 80
  			},
  			{
  				id: "orc_warg_rider",
  				value: 130
  			},
  			{
  				id: "orc_warlord",
  				value: 9
  			}
  		]
  	},
  	{
  		id: "mindless_evil_boss",
  		found: [
  			0
  		],
  		relationship: 0,
  		army: [
  			{
  				id: "mindless_evil_u",
  				value: 1
  			},
  			{
  				id: "spawn_evil",
  				value: 8200
  			},
  			{
  				id: "ghast",
  				value: 700
  			},
  			{
  				id: "faceless_horror",
  				value: 190
  			},
  			{
  				id: "archdemon",
  				value: 140
  			}
  		]
  	}
  ];

  var en = {
  	abyss: "深渊",
  	achievements: "成就",
  	achievements_empty: "您还需多加努力",
  	achievements_mine: "我的成就",
  	achievements_global: "成就一览",
  	add_all: "派遣所有",
  	all_caps: "超转生所有上限",
  	all_resources: "所有资源",
  	ancestor: "祖先",
  	armies: "军队",
  	army: "军队",
  	army_attack: "攻击力",
  	army_defense: "防御力",
  	army_empty: "您无法训练士兵",
  	army_hitpoint: "生命值",
  	ascension: "飞升",
  	attack_empty: "没有士兵可供派遣",
  	attack: "攻击",
  	attack_abbr: "攻",
  	back: "返回",
  	battery_life: "节省电源",
  	battery_mode: "电源模式",
  	battle_order: "战斗次序",
  	beta_message: "请注意,目前您玩到的是本游戏的beta版本,还在开发中,内容随时可能变化,您也可能会丢失存档。游玩风险自负。",
  	beta_version: "Beta版本",
  	boss_fight: "研究后您将跟本时代的首领进行对决,您准备好战斗了吗?驻军(而不是攻击)的士兵足够么?",
  	build: "建造",
  	build_empty: "没有建筑可供建造",
  	builder: "建筑",
  	builder_description: "他们是建筑大师,您的祖先曾为纪念远古神明而竖立起许多巨石",
  	buy: "购买",
  	cancel: "取消",
  	cap: "上限",
  	change_difficulty_1: "每周目只能更改一次难度。之后如果还想更改难度,您就需要进行转生,超转生,或者软重置了",
  	change_difficulty_2: "本周目您将无法再更改难度,确定吗?",
  	changelog: "更新日志",
  	close: "关闭",
  	colony: "定居点",
  	complete_achievements: "您获得了所有成就,您是登攀者世界之主,愿您的丰功伟业被人长久传颂!",
  	completed: "已完成",
  	confirm: "确认",
  	confirm_reward_ad_title: "支持游戏开发!",
  	confirm_reward_ad_description: "本游戏完全免费!您可以通过观看广告支持本游戏开发,并获得以下奖励:",
  	danger_zone: "危险选项",
  	dark_mode: "昏暗模式",
  	dark_light_mode: "昏暗/明亮模式",
  	"default": "默认",
  	defeat: "您战败了!",
  	defeated: "战败",
  	defense: "防御",
  	defense_abbr: "防",
  	defense_empty: "您没有士兵",
  	died: "阵亡",
  	display: "显示",
  	difficulty: "难度",
  	difficulty_0: "普通",
  	difficulty_0_1_description: "适合熟悉放置游戏的玩家",
  	difficulty_0_2_description: "游戏经过精心平衡,哪怕初次游玩也有最佳的游戏体验",
  	difficulty_0_3_description: "可以询问神谕得知战斗结果",
  	difficulty_1: "困难",
  	difficulty_1_1_description: "适合登攀者世界的老兵",
  	difficulty_1_2_description: "敌人数量将增加",
  	difficulty_1_3_description: "战斗时敌人数量将在一定程度上浮动并增加",
  	difficulty_1_4_description: "在困难难度下获得的成就将提供更多加成",
  	difficulty_2: "无望",
  	difficulty_2_1_description: "登攀者世界将成为疯狂试炼场",
  	difficulty_2_2_description: "敌人数量将大量增加",
  	difficulty_2_3_description: "战斗时敌人数量将在更大程度上浮动并增加",
  	difficulty_2_4_description: "在无望难度下获得的成就将提供非常大的加成",
  	difficulty_3: "神明",
  	difficulty_3_1_description: "只建议独孤求败的玩家选择",
  	difficulty_3_2_description: "敌人数量将超大幅度增加",
  	difficulty_3_3_description: "战斗时敌人数量将在超大程度上浮动并增加",
  	difficulty_3_4_description: "成就将展现出它最终的力量",
  	difficulty_3_5_description: "可以建造神之荣耀,获得更多声誉",
  	difficulty_99: "容易",
  	difficulty_99_1_description: "适合想要轻松游戏的新玩家",
  	difficulty_99_2_description: "可以询问神谕得知战斗结果",
  	difficulty_99_3_description: "战斗后部分士兵将不会阵亡,而只是受伤",
  	difficulty_99_4_description: "在容易难度下获得的成就不会提供多少加成",
  	diplomacy: "外交",
  	dismiss: "遣散",
  	donate: "捐赠",
  	donate_all: "全部捐赠",
  	enable_notifications: "启用提醒",
  	enemies: "敌人",
  	enemies_empty: "您未征服任何敌人",
  	evil_path: "邪恶",
  	evil_path_description: "开发中……",
  	explore: "探索",
  	faq: "常见问题解答",
  	farmer_bonus: "农民加成",
  	garrison: "驻军",
  	hall_of_fame: "名人堂",
  	hall_of_fame_description: "我们衷心感谢每一位赞助者。各位的贡献,无论是小额捐赠,还是长期以来慷慨解囊,都弥足珍贵。各位坚定不移的支持一直是我们前进的动力源泉,激励着我们不断完善和扩充游戏内容,终于达到了现在的游戏体验。",
  	hard_reset: "硬重置",
  	hard_reset_confirm_1: "该操作将抹除所有游戏数据,无法恢复,您确定要继续吗?",
  	hard_reset_confirm_2: "您会失去所有游戏进度,需要从初始状态开始,您确定要继续吗?",
  	hard_reset_confirm_3: "再次点击确认后将抹除所有游戏数据,您确定要继续吗?",
  	humans: "人类",
  	humans_description: "他们精于外交,长于商贸,充满好奇心,敢于前往其他人逡巡不前的地方进行冒险",
  	injured: "伤员",
  	killed: "您击杀了",
  	legacy_points: "传承点数",
  	light_portal_of_the_dead: "点亮亡者之门",
  	load_from_backup_confirm_1: "该操作将重置目前游戏的进度,使您回到上一次转生之后选择祖先的阶段。您确定要继续吗?",
  	load_from_backup_confirm_2: "您会失去所有游戏进度,需要从上一次转生之后开始,您确定要继续吗?",
  	load_from_backup_confirm_3: "再次点击确认后将抹除本周目游戏数据,您确定要继续吗?",
  	load_from_clipboard: "从剪贴板导入",
  	load_from_textarea: "从粘贴文本导入",
  	load_from_textarea_description: "将存档文本复制到下面的文本框内,并点击导入按钮",
  	loading: "载入中",
  	magic: "魔法",
  	main_build: "城市",
  	mausoleum_description: "为了取悦和谒拜神明,您需要奉上价值1000000的资源。不同的贡品价值各不相同,可在下方查看",
  	mausoleum_donation_total: "总贡品价值",
  	mausoleum_donation_value: "价值",
  	new_game_plus: "超转生",
  	new_game_plus_title: "进行超转生",
  	new_game_plus_description: "恭喜!您已经购买了第25个传承加成,可以进行超转生了。这将像转生一样重置目前游戏的进度,但不同的是,传承加成也将全部重置(但统计数据和成就将仍然保留)。您在超转生之前每购买1个传承加成,超转生后就可以使所有上限增加1%,所有产量增加0.1%。每次超转生后,还可以使探索、间谍和攻击所需的时间减半",
  	new_game_plus_confirm_1: "该操作将进行超转生。您在超转生之前每购买1个传承加成,超转生后就可以使所有上限增加1%,所有产量增加0.1%。每次超转生后,还可以使探索、间谍和攻击所需的时间减半。 ##### 超转生将重置目前的所有进度(除了成就和统计数据),并重新开始游戏 #####",
  	new_game_plus_confirm_2: "您会失去 所有 游戏进度",
  	new_game_plus_confirm_3: "您确定已知晓接下来会发生的事吗?超转生将重置目前的所有进度(除了成就和统计数据),并重新开始游戏",
  	new_game_plus_in_progress: "超转生中",
  	new_game_plus_current_bonuses: "当前加成",
  	new_game_plus_new_bonuses: "新加成",
  	next: "继续",
  	no_achievements_found: "没有成就可供完成",
  	no_attackable_enemy: "没有敌人可供攻击",
  	no_soundtrack_selected: "无配乐",
  	no_spy_enemy: "没有敌人可供探查",
  	no_requirements: "无需求",
  	open_achievements: "打开成就界面",
  	oracle: "众神赐予了我们预见之球,它是一件存放于神示所的神奇古物。我们可以依靠它得知战斗结果",
  	oracle_button: "询问神谕",
  	oracle_button_description: "向神明询问战斗结果",
  	oracle_prediction_defeat_1: "当心,失败的阴影不详地笼罩着。",
  	oracle_prediction_defeat_2: "天命难违,破灭在即。",
  	oracle_prediction_defeat_3: "做好准备,前方困难重重。",
  	oracle_prediction_defeat_4: "啊,结果相当严峻。",
  	oracle_prediction_defeat_5: "坚定信念,前方满是困难险阻。",
  	oracle_prediction_defeat_6: "失败的幽灵已经预示了战斗的结果。",
  	oracle_prediction_defeat_7: "做好准备,战况不利。",
  	oracle_prediction_defeat_8: "苦难的考验即将来临。",
  	oracle_prediction_defeat_9: "不要害怕,纵使失败,勇气仍在。",
  	oracle_prediction_defeat_10: "前路艰险,但希望之火不灭。",
  	oracle_prediction_defeat_11: "灾难之影即将降临,要准备好。",
  	oracle_prediction_defeat_12: "可怕的灾难即将来临。",
  	oracle_prediction_defeat_13: "哦,命运线指向了悲惨的结局。",
  	oracle_prediction_defeat_14: "命运黑暗而悲伤,要准备好。",
  	oracle_prediction_defeat_15: "揭开命运的面纱,露出的是名为悲剧的真容。",
  	oracle_prediction_defeat_16: "悲伤的未来笼罩在所有人心上。",
  	oracle_prediction_defeat_17: "做好准备,命运之手挥下了败北之鞭。",
  	oracle_prediction_defeat_18: "阴沉的预言中,唯有悲剧回响着。",
  	oracle_prediction_defeat_19: "啊,星星排列出了痛苦和绝望的样子。",
  	oracle_prediction_defeat_20: "命运冰冷的怀抱中,唯有悲剧的苦涩之吻等待着。",
  	oracle_prediction_victory_1: "我军必胜!",
  	oracle_prediction_victory_2: "准备迎接光荣的胜利吧!",
  	oracle_prediction_victory_3: "敌人将在您的面前溃不成军!",
  	oracle_prediction_victory_4: "命运青睐勇者!此战必胜!",
  	oracle_prediction_victory_5: "天命在您!",
  	oracle_prediction_victory_6: "您将获得光荣的胜利!",
  	oracle_prediction_victory_7: "您是天命所向!",
  	oracle_prediction_victory_8: "让敌人在您的力量面前颤抖吧!",
  	oracle_prediction_victory_9: "您的胜利将回响在战场之上!",
  	oracle_prediction_victory_10: "星星排列出了必胜的样子!",
  	oracle_prediction_victory_11: "勇猛的人类必胜!",
  	oracle_prediction_victory_12: "看吧,人类的赞歌就是勇气的赞歌!",
  	oracle_prediction_victory_13: "人类的力量将在战场上绽放光芒!",
  	oracle_prediction_victory_14: "准备见证人类的史诗吧!",
  	oracle_prediction_victory_15: "人类的勇气将粉碎一切宵小之辈!",
  	oracle_prediction_victory_16: "在人类的面前不存在失利!",
  	oracle_prediction_victory_17: "坚定的人类必将获得应有的胜利!",
  	oracle_prediction_victory_18: "让人类的英勇铭刻在史书上吧!",
  	oracle_prediction_victory_19: "人类的命运已刻在群星之间,即是光荣的胜利!",
  	oracle_prediction_victory_20: "所有人的内心都随着胜利的韵律跳动,无坚不摧,无物可挡!",
  	paste_here: "请在此处粘贴存档……",
  	paste_message: "点击此处以粘贴存档",
  	paste_message_click: "按Ctrl+V粘贴存档",
  	paste_success: "存档载入中,请等待……",
  	path_choise: "选择道路",
  	log_load_save_success: "成功载入存档",
  	paste_error: "无法读取存档",
  	performance: "高性能",
  	population: "人口",
  	population_empty: "人们还没有工作",
  	prayers: "祈祷",
  	prayer_empty: "没有什么可供祈祷",
  	prestige: "转生",
  	random_soundtrack: "随机配乐",
  	remove_all: "撤回所有",
  	research: "研究",
  	reward_canceled: "取消了奖励,请之后再次尝试",
  	runstart_begin_journey: "选择祖先,开始旅程",
  	runstart_choose_path: "选择道路",
  	runstart_subtitle: "登攀者世界欢迎您的到来",
  	runstart_subtitle_2: "您的祖先以此闻名:",
  	save_load: "保存/读取",
  	save_to_clipboard: "保存至剪贴板",
  	save_to_clipboard_success: "游戏已保存至剪贴板",
  	save_to_file: "保存至文件",
  	save_to_file_success: "游戏已保存至文件",
  	scout_empty: "没有侦察兵可供派遣",
  	search: "查找……",
  	select_enemy: "选择要攻击的敌人",
  	select_spy: "选择要探查的敌人",
  	sell: "出售",
  	send_to_attack: "进行攻击",
  	send_to_explore: "进行探索",
  	send_to_spy: "进行探查",
  	settings: "设置",
  	show_cap_buildings: "显示数量达到上限的建筑",
  	show_only_missing_achievements: "只显示未获得的成就",
  	soft_reset: "软重置",
  	soft_reset_confirm_1: "您将进行转生。每次转生,您都可以获得所有资源的永久加成,并根据声誉数值获得传承点数,用来购买永久加成。转生后,所有游戏进度都将重置(成就,统计和传承加成除外),并开始下周目游戏",
  	soft_reset_confirm_2: "您会失去本周目游戏的进度",
  	soft_reset_confirm_3: "您确定已知晓接下来会发生的事吗?",
  	soft_reset_2_confirm: "您准备好阻止亡者大军了吗?登攀者世界和所有王国的存续寄于您一身了",
  	soft_reset_description_1_true: "光荣退休是本游戏第一种转生。每次转生,您都可以获得所有资源的永久加成,并根据声誉数值获得传承点数,用来购买下方的永久加成。转生后,所有游戏进度都将重置(成就,统计和传承加成除外),并开始下周目游戏",
  	soft_reset_description_2_true: "您击败了亡者大军,登攀者世界从亡灵天灾的魔爪中得救了。击败它们后,您获得了1遗物。由于您的光荣胜利,您可以继续玩下去,也可以选择转生了。每次转生,您都可以获得所有资源的永久加成,并根据声誉数值获得传承点数,用来购买下方的永久加成。转生后,所有游戏进度都将重置(成就,统计和传承加成除外),并开始下周目游戏",
  	soft_reset_description_2_false: "亡者大军从门内涌现出来,摧毁了您的城市。登攀者世界的王国一个接一个地沦陷了,这片大地沦为了亡者的猎场。每次转生,您都可以获得所有资源的永久加成,并根据声誉数值获得传承点数,用来购买下方的永久加成。转生后,所有游戏进度都将重置(成就,统计和传承加成除外),并开始下周目游戏",
  	soft_reset_description_3_true: "您控制了整个登攀者世界的经济命脉,没有哪个王国能够逃离您的掌控。转生后,您除了可以获得传承点数以外,还可以获得1代币。每次转生,您都可以获得所有资源的永久加成,并根据声誉数值获得传承点数,用来购买下方的永久加成。转生后,所有游戏进度都将重置(成就,统计和传承加成除外),并开始下周目游戏",
  	soft_reset_description_4_true: "神明们欢迎了您的进入,尘世生活的种种已经是遥远的模糊记忆。您可以尽情享受永恒的欢愉,但登攀者世界终究会再次需要您。转生后,您除了可以获得传承点数以外,还可以获得1智慧卷轴。每次转生,您都可以获得所有资源的永久加成,并根据声誉数值获得传承点数,用来购买下方的永久加成。转生后,所有游戏进度都将重置(成就,统计和传承加成除外),并开始下周目游戏",
  	soft_reset_description_5_false: "号角声,嚎叫声和战吼声突然打破了夜晚的宁静。士兵们冲向防线,但地精狼骑兵已经包围了他们。漆黑如夜的箭矢射向士兵们,上面的毒很快生效了。地精们蜂拥而至,掠夺并摧毁了您辛辛苦苦建造的一切。如果我们加强防御,增派人手,就应该能干掉这群该死的绿皮们……您失败了,但这并不是登攀者世界的末日!由于您积累了声誉数值,您可以使用传承点数来购买永久加成,它们在接下来的游戏中会很有帮助的",
  	soft_reset_description_6_false: "我们英勇的战士再次紧密团结,准备战斗。红龙浮现于城市之上,龙仆们落于城墙,开始了死战。士兵们勇敢地战斗,但最后红龙决定结束战斗。它炽热的吐息摧毁了城墙,和路上的一切事物。整个城市都在燃烧,平民们被迫为了自己而战。到处都是尖叫,毁灭和灰烬。战斗,失败了……您失败了,但这并不是登攀者世界的末日!由于您积累了声誉数值,您可以使用传承点数来购买永久加成,它们在接下来的游戏中会很有帮助的",
  	soft_reset_description_7_false: "城墙上传来了尖叫声,城中的士兵们还在试图弄清楚发生了什么。不久之后,敌人的先头部队举着黑洞洞的枪口轰平了我们的驻地。一个有着黑色巨翼,穿着盔甲的家伙飞过了一支拿着火枪的恶魔部队。毁灭城市之前,它留下了这些话:谢谢你的信任,我才能武装起我的军团,现在,是时候让你品尝一下什么叫做堕天使的正义了!您失败了,但这并不是登攀者世界的末日!由于您积累了声誉数值,您可以使用传承点数来购买永久加成,它们在接下来的游戏中会很有帮助的",
  	soft_reset_description_8_false: "我们的城市已经严阵以待了,奈何敌人实在是不讲武德。首先涌入的是一群小恶魔,它们喷火焚烧了我们的防御工事,然后在堕天使的命令下,高等恶魔们开始行进。高达十尺的怪物们将无助的士兵们抛向了高空,其他士兵则被那群混账东西肆意蹂躏。堕天使发出了大仇得报的笑声,声音响彻全城……您失败了,但这并不是登攀者世界的末日!由于您积累了声誉数值,您可以使用传承点数来购买永久加成,它们在接下来的游戏中会很有帮助的",
  	soft_reset_description_9_false: "兽人族曾引以为傲的堡垒已经变成了废墟,兽人部落开始了最后的绝望冲锋。他们眼中燃烧着火焰,手持武器,冲向我们的城墙,试图将其突破。数个世纪以来,我们的军队与最可怕的敌人交战过,久经战阵,他们坚守阵地,与兽人们激战了数日。两方的命运看起来悬而未决,但突然,战争的天平发生了倾斜,结局似乎已经近在眼前。人类竭尽全力战斗,他们知道一旦战败,等待他们的只有被奴役,甚至更可怕的事。兽人部落无情的毁灭浪潮继续冲击着城市,城市坚持到了最后,但还是陷落了。登攀者世界完了,人类也完了。留给后世的,只有苦涩的记忆,那些为了人类而战的牺牲,以及曾经闪耀,却永远熄灭的希望。您失败了,但这并不是登攀者世界的末日!由于您积累了声誉数值,您可以使用传承点数来购买永久加成,它们在接下来的游戏中会很有帮助的",
  	soft_reset_description_10_false: "在深渊最深处,与无智之恶的最终决战拉开了帷幕。人类与精灵联军严阵以待,他们战胜莫德凯男爵和魅魔女王而铸就了钢铁意志,却在无智之恶的面前显得如此苍白。战斗打响之时,比任何黑夜都浓稠的黑暗吞噬了整个战场,光明与希望皆被吞没。无智之恶——这个由纯粹混沌和仇恨构成的混沌实体,以令人战栗的流体姿态游走着。它的存在扭曲现实,仅仅靠近就足以让士兵陷入疯狂。光明与火焰的咒语在吞噬虚空面前犹如泥牛入海。尽管英勇奋战,但登攀者世界的守卫者们仍被彻底压制。深渊不可名状之恐怖以无情的凶残撕开战线,人类最伟大的勇士们与精灵盟友们虽殊死搏斗,却终究难敌这毁灭性的攻势。勇士们接连倒下。曾指引前路的信标逐一熄灭。阵亡者的惨叫被无尽的虚空吞没。鲜血浸透战场,垂死者的哀嚎在深渊中回荡,谱写着绝望的幽冥交响曲。当最后的抵抗火苗熄灭时,战场陷入刺骨的死寂。获胜的无智之恶将阴影蔓延至整个登攀者世界,曾经生机勃勃的土地坠入黑暗绝望的纪元。宏伟的城市崩塌,连自然本身都在恶意侵蚀下扭曲变形。他们英勇抗争的故事化作警示后世的低语传说,诉说着导致覆灭的傲慢。挣脱深渊桎梏的希望之火已然熄灭,只余往昔的残影。再无约束的无智之恶在登攀者世界的统治中狂欢。零星的幸存者在永恒的恐惧中苟活,心灵早已破碎。世界被不可逆转地改变,希望之光永远熄灭,唯余永恒的黑暗",
  	soft_reset_description_11_false: "发射灭世终焉是一种转生。每次发射后,您都可以使所有产量增加4%,声誉增加2%,获得2光明,2幸运石,且军队上限增加10。您可根据声誉数值获得传承点数,用来购买永久加成。转生后,所有游戏进度都将重置(成就,统计和传承加成除外),并开始下周目游戏",
  	soft_reset_in_progress: "转生中",
  	sort_by_battle_order: "按照战斗次序来排序",
  	sort_by_battle_order_disable: "不按照战斗次序来排序",
  	sounds_volume: "音量",
  	spells: "咒语",
  	spells_all: "所有咒语",
  	spells_army: "军事",
  	spells_defense: "防御",
  	spells_empty: "没有咒语可供使用",
  	spells_resource: "资源",
  	spy: "间谍",
  	spy_empty: "没有间谍可供派遣",
  	start_game: "进入",
  	statistics: "统计",
  	stone: "石头",
  	structures_cost: "建筑花费",
  	support_us: "支持",
  	tech_empty: "没有项目可供研究人员研究",
  	theresmore_richest_nation: "登攀者世界富甲天下",
  	time_to_cap: "上限倒计时",
  	track_1: "人类之光",
  	track_2: "重装骑士",
  	track_3: "匹夫有责",
  	track_4: "登攀者世界的海岸",
  	track_5: "人类的希望",
  	unlocked: "解锁时间:",
  	victory: "胜利!",
  	warning: "警告",
  	wood: "木材",
  	wounded: "士兵们相当坚韧,他们不少人在战斗后不会阵亡,而只是受伤",
  	one: "一个",
  	a_few: "一些",
  	some: "不少",
  	a_lot: "很多",
  	a_plethora: "大量",
  	a_legion: "海量",
  	ads_reward_prod1_description: "5分钟内食物、木材和石头产量增加150%",
  	ads_reward_prod2_description: "5分钟内黄金产量增加300%",
  	ads_reward_prod3_description: "5分钟内研究点产量增加300%",
  	ads_reward_prod4_description: "5分钟内铜、铁和工具产量增加150%",
  	ads_reward_prod5_description: "5分钟内原料和钢产量增加150%",
  	ads_reward_prod6_description: "5分钟内水晶和补给产量增加150%",
  	ads_reward_prod7_description: "5分钟内硝石和钠红石产量增加150%",
  	ads_reward_flat1_description: "将木材和石头储量补充至上限,但最多补充到50000",
  	ads_reward_flat2_description: "将铜和铁储量补充至上限,但最多补充到25000",
  	ads_reward_flat3_description: "将工具储量补充至上限,但最多补充到25000",
  	ads_reward_flat4_description: "将原料和钢储量补充至上限,但最多补充到10000",
  	ads_reward_flat5_description: "将水晶和补给储量补充至上限,但最多补充到10000",
  	ads_reward_flat6_description: "您获得了50声誉!",
  	ads_reward_flat7_description: "将研究点储量补充至上限,但最多补充到100000",
  	ads_reward_flat8_description: "将黄金储量补充至上限,但最多补充到100000",
  	ancestor_farmer: "农业",
  	ancestor_farmer_description: "您的祖先掌握最好的农艺,您的子民永远不用担心食物问题",
  	ancestor_believer: "信奉",
  	ancestor_believer_description: "您的祖先知晓如何与神明交流,他们受到大量赐福",
  	ancestor_forager: "饲育",
  	ancestor_forager_description: "您的祖先知晓如何管控动物,几乎不会缺乏补给",
  	ancestor_gatherer: "采集",
  	ancestor_gatherer_description: "您的祖先知晓伐木和采石的最佳位置",
  	ancestor_miner: "采矿",
  	ancestor_miner_description: "您的祖先知晓如何提炼金属,他们使用稀有工艺的工具",
  	ancestor_researcher: "研究",
  	ancestor_researcher_description: "您的祖先博学多才,教养良好,登攀者世界对他们来说几乎没有秘密",
  	ancestor_spellcrafter: "施法",
  	ancestor_spellcrafter_description: "您的祖先知晓如何控制法力,随手即可施放咒语",
  	ancestor_trader: "贸易",
  	ancestor_trader_description: "您的祖先知晓如何赚钱,他们的商队遍布登攀者世界",
  	ancestor_warrior: "作战",
  	ancestor_warrior_description: "您的祖先知晓如何作战,他们是战士部落的伟大领袖",
  	bui_abyss_outpost: "深渊前哨",
  	bui_abyss_outpost_description: "黑暗中的前哨",
  	bui_academy_of_freethinkers: "自由思想家学院",
  	bui_academy_of_freethinkers_description: "自由思想家将带着我们进入现代",
  	bui_academy_of_freethinkers_part: "自由思想家学院组件",
  	bui_academy_of_freethinkers_part_description: "自由思想家学院的一部分",
  	bui_alchemic_laboratory: "炼金实验室",
  	bui_alchemic_laboratory_description: "炼金术士可以提取硝石",
  	bui_alchemist_complex: "炼金联合体",
  	bui_alchemist_complex_description: "将满足硝石的需求",
  	bui_archeological_dig: "考古挖掘场",
  	bui_archeological_dig_description: "寻觅过往",
  	bui_allied_embassy: "联盟大使馆",
  	bui_allied_embassy_description: "盟友之间交换信息和组织合作的场所",
  	bui_altar_of_sacrifices: "献祭圣坛",
  	bui_altar_of_sacrifices_description: "死亡可以取悦神明",
  	bui_arcane_school: "奥术学校",
  	bui_angel_palace_b: "天使宫殿",
  	bui_angel_palace_b_description: "黑暗中的天光圣殿",
  	bui_arcane_school_description: "学以成人,非为功名",
  	bui_arcane_shrine: "奥术神殿",
  	bui_arcane_shrine_description: "智慧巨石",
  	bui_artillery_firing: "炮兵靶场",
  	bui_artillery_firing_description: "可以在此训练炮兵",
  	bui_artisans_complex: "工匠联合体",
  	bui_artisans_complex_description: "精炼金属原料,制造工艺品",
  	bui_artisan_workshop: "工匠作坊",
  	bui_artisan_workshop_description: "工匠们在此生产工具,它在生产制造过程中处于中心位置",
  	bui_amusement_quarter_b: "娱乐区域",
  	bui_amusement_quarter_b_description: "一块处于灰色地带的街区",
  	bui_ancient_vault: "远古保险库",
  	bui_ancient_vault_description: "储存远古知识的地方",
  	bui_arch_triumph: "凯旋门",
  	bui_arch_triumph_description: "好战必亡,忘战必危",
  	bui_arch_triumph_part: "凯旋门组件",
  	bui_arch_triumph_part_description: "凯旋门的一部分",
  	bui_artillery_officer_b: "炮兵军官营房",
  	bui_artillery_officer_b_description: "炮兵军官训练基地",
  	bui_automated_complex: "自动化联合体",
  	bui_automated_complex_description: "全自动的建筑。它是人类智慧的结晶",
  	bui_automated_complex_part: "自动化联合体组件",
  	bui_automated_complex_part_description: "自动化联合体的一部分",
  	bui_ballista: "弩炮",
  	bui_ballista_description: "弩炮连最强大的敌人都可以阻挡",
  	bui_barracks: "兵营",
  	bui_barracks_description: "有人守卫的市民们会感觉更安全",
  	bui_bank: "银行",
  	bui_bank_description: "城市的生钱机器",
  	bui_beacon_light: "光之信标",
  	bui_beacon_light_description: "黑暗邪恶世界里唯一的光明希望",
  	bui_builder_district: "建筑工区域",
  	bui_builder_district_description: "使建筑工可以联合起来",
  	bui_builders_complex: "建筑工联合体",
  	bui_builders_complex_description: "比建筑工区域的空间大多了",
  	bui_books: "书籍",
  	bui_books_description: "灵魂图书馆的一部分",
  	bui_boot_camp: "新兵训练营",
  	bui_boot_camp_description: "只有强大的军队才能保护登攀者世界的和平",
  	bui_canava_trading: "卡纳瓦贸易站",
  	bui_canava_trading_description: "将邻近村庄的市场连结成网以获取利润",
  	bui_carpenter_workshop: "木匠工坊",
  	bui_carpenter_workshop_description: "生产的建筑原料可供我们建造耐用的建筑",
  	bui_castrum_militia: "城堡民兵",
  	bui_castrum_militia_description: "民兵们将保卫城市",
  	bui_cathedral: "大教堂",
  	bui_cathedral_description: "礼拜和魔法的好地方",
  	bui_cathedral_unit: "大教堂组件",
  	bui_cathedral_unit_description: "大教堂的一部分",
  	bui_city_center: "市中心",
  	bui_city_center_description: "来到我们城市的访客都将为我们的辉煌艺术而惊叹",
  	bui_city_center_unit: "市中心组件",
  	bui_city_center_unit_description: "市中心的一部分",
  	bui_city_lights: "光之城",
  	bui_city_lights_description: "城市将灯火通明,所有人都将钦佩我们的技术",
  	bui_city_lights_part: "光之城组件",
  	bui_city_lights_part_description: "光之城的一部分",
  	bui_city_hall: "市政厅",
  	bui_city_hall_description: "城市的行政中心",
  	bui_colony_hall: "定居点大厅",
  	bui_colony_hall_description: "定居点跳动的心脏",
  	bui_colony_recruiting_camp: "定居点招募营",
  	bui_colony_recruiting_camp_description: "新世界造就新的战斗方式",
  	bui_conclave: "秘密会议",
  	bui_conclave_description: "圣职者高层们将在此会面",
  	bui_containment_cell: "禁锢单元",
  	bui_containment_cell_description: "钢铁与法力铸就的牢笼,用以禁锢亘古水晶之力",
  	bui_common_house: "普通房屋",
  	bui_common_house_description: "小小的容身之所",
  	bui_credit_union: "信用社",
  	bui_credit_union_description: "商人们赚钱的地方",
  	bui_crystal_farm_b: "水晶培育场",
  	bui_crystal_farm_b_description: "培育水晶的专用设施",
  	bui_custom_house: "海关",
  	bui_custom_house_description: "定居点出售货物的地方",
  	bui_church_old_gods: "旧神教堂",
  	bui_church_old_gods_description: "远古神明们也统治着新世界",
  	bui_dock: "码头",
  	bui_dock_description: "提供食物和黄金",
  	bui_elf_encampment: "精灵营地",
  	bui_elf_encampment_description: "亲近精灵,有助于知识和魔法记忆蓬勃发展",
  	bui_elf_village: "精灵村庄",
  	bui_elf_village_description: "幸存的精灵们在此安家",
  	bui_elf_town: "精灵城镇",
  	bui_elf_town_description: "精灵智慧与魔法的核心枢纽",
  	bui_enhanced_barracks: "强化兵营",
  	bui_enhanced_barracks_description: "训练战士的新型体系",
  	bui_estates: "庄园",
  	bui_estates_description: "定居点的庄园,可以耕种和养牛。有守卫保护",
  	bui_eureka_halls_b: "灵感大厅",
  	bui_eureka_halls_b_description: "充满了各种金点子",
  	bui_evil_shrine: "邪恶神殿",
  	bui_evil_shrine_description: "拥抱黑暗",
  	bui_extensive_cultivation_b: "粗放耕作场",
  	bui_extensive_cultivation_b_description: "粗放型粮食作物",
  	bui_factory: "工厂",
  	bui_factory_description: "大规模制造我们所需的一切东西",
  	bui_farm: "农场",
  	bui_farm_description: "农民们养活了我们伟大的国度",
  	bui_fate_shrine_b: "命运神殿",
  	bui_fate_shrine_b_description: "命运神殿,献给幸运之神",
  	bui_fiefdom: "封地",
  	bui_fiefdom_description: "领主的土地产出食物,并可以饲养驮畜",
  	bui_financial_center: "金融中心",
  	bui_financial_center_description: "牛市熊市交锋之地",
  	bui_fortune_grove: "好运之森",
  	bui_fortune_grove_description: "命运青睐勇者",
  	bui_fountain_prosperity: "繁荣之泉",
  	bui_fountain_prosperity_description: "为城市带来真正的福音",
  	bui_foundry: "铸造厂",
  	bui_foundry_description: "铜、铁、工具,大量供应",
  	bui_fortified_citadel: "磐石堡垒",
  	bui_fortified_citadel_description: "用大炮填满堡垒,让它成为人类的捍卫者吧!",
  	bui_fortified_citadel_part: "磐石堡垒组件",
  	bui_fortified_citadel_part_description: "磐石堡垒的一部分",
  	bui_gan_eden: "伊甸园",
  	bui_gan_eden_description: "登攀者世界的天堂,可供我们耕耘和生长",
  	bui_genetic_hub: "基因中心",
  	bui_genetic_hub_description: "种植并销售转基因食品的场所",
  	bui_glory_gods: "神之荣耀",
  	bui_glory_gods_description: "众神眷顾勇者",
  	bui_granary: "粮仓",
  	bui_granary_description: "粮满仓,兵马强",
  	bui_gathering_area: "集结区域",
  	bui_gathering_area_description: "开发深渊",
  	bui_gold_factory: "黄金工厂",
  	bui_gold_factory_description: "印钞机",
  	bui_guarded_storehouse: "有人值守仓库",
  	bui_guarded_storehouse_description: "士兵们守卫着我们最值钱的货物",
  	bui_guide_mankind_b: "人类导引",
  	bui_guide_mankind_b_description: "希望在深渊中闪耀",
  	bui_guide_mankind_b_part: "人类导引组件",
  	bui_guide_mankind_b_part_description: "人类导引的一部分",
  	bui_great_bombard: "超级大炮",
  	bui_great_bombard_description: "雄伟的大炮可以轰碎任何接近城市的敌人",
  	bui_great_bombard_part: "超级大炮组件",
  	bui_great_bombard_part_description: "超级大炮的一部分",
  	bui_great_fair: "超大集市",
  	bui_great_fair_description: "登攀者世界各处都有人在此买卖货物",
  	bui_great_fair_unit: "超大集市组件",
  	bui_great_fair_unit_description: "超大集市的一部分",
  	bui_grocery: "食品杂货店",
  	bui_grocery_description: "使用食物制造补给",
  	bui_guarded_facility: "大型仓库",
  	bui_guarded_facility_description: "配备大量护卫,以保护最有价值的物资",
  	bui_guild_of_craftsmen: "工匠公会",
  	bui_guild_of_craftsmen_description: "合则两利,斗则两伤",
  	bui_kobu_crystal: "科布水晶",
  	bui_kobu_crystal_description: "能量晶体结构",
  	bui_kobu_crystal_part: "科布水晶组件",
  	bui_kobu_crystal_part_description: "科布水晶的一部分",
  	bui_hall_of_the_dead: "亡者大厅",
  	bui_hall_of_the_dead_description: "几乎免费的劳动力",
  	bui_hall_of_wisdom: "智慧大厅",
  	bui_hall_of_wisdom_description: "神明的知识",
  	bui_hall_heroic_deeds: "英雄事迹大厅",
  	bui_hall_heroic_deeds_description: "展示传说怪物的大厅",
  	bui_hall_heroic_deeds_part: "英雄事迹大厅组件",
  	bui_hall_heroic_deeds_part_description: "英雄事迹大厅的一部分",
  	bui_harbor_district: "海湾区",
  	bui_harbor_district_description: "远离城市的大港口",
  	bui_harbor_district_part: "海湾区组件",
  	bui_harbor_district_part_description: "海湾区的一部分",
  	bui_harvest_shrine: "丰收神殿",
  	bui_harvest_shrine_description: "献给大地母亲的神殿,它将帮助我们供养和发展城市",
  	bui_healing_chambers: "治疗室",
  	bui_healing_chambers_description: "受基因突变或衰变影响的精灵可接受专项治疗",
  	bui_highschool_magic_b: "魔法高中",
  	bui_highschool_magic_b_description: "科学与魔法在此相融",
  	bui_holy_site: "应许之地",
  	bui_holy_site_description: "登攀者世界所有信仰的汇聚之处",
  	bui_holy_site_part: "应许之地组件",
  	bui_holy_site_part_description: "应许之地的一部分",
  	bui_house_workers: "工人之家",
  	bui_house_workers_description: "工人们的生活场所",
  	bui_industrial_plant: "工业厂房",
  	bui_industrial_plant_description: "将有效推动生产",
  	bui_island_outpost: "岛屿前哨",
  	bui_island_outpost_description: "奇妙的动物可真多啊!",
  	bui_ivory_tower_b: "象牙塔",
  	bui_ivory_tower_b_description: "象牙塔矗立在登攀者世界的高空",
  	bui_ivory_tower_b_part: "象牙塔组件",
  	bui_ivory_tower_b_part_description: "象牙塔的一部分",
  	bui_large_shed: "大型棚屋",
  	bui_large_shed_description: "与储量上限的斗争永无止境",
  	bui_large_warehouse: "大型库房",
  	bui_large_warehouse_description: "可以存储大量货物",
  	bui_launch_silos: "发射井",
  	bui_launch_silos_description: "可将辉烬储存于地下设施",
  	bui_library_souls: "灵魂图书馆",
  	bui_library_souls_description: "阅读图书馆的书籍后,不幸的学者们失去了部分灵魂,变成了部分为亡灵的生物",
  	bui_library_of_theresmore: "登攀者世界图书馆",
  	bui_library_of_theresmore_description: "保存着远古的知识",
  	bui_light_shrine: "光明神殿",
  	bui_light_shrine_description: "光之巨石",
  	bui_light_square_b: "光耀广场",
  	bui_light_square_b_description: "由光构筑的广场,数公里外可见",
  	bui_light_turret: "光明炮塔",
  	bui_light_turret_description: "不惧黑暗!",
  	bui_logistic_center: "物流中心",
  	bui_logistic_center_description: "处理军用物资及补给的物流中心",
  	bui_lucky_grove_b: "幸运树林",
  	bui_lucky_grove_b_description: "定居点附近的幸运树林",
  	bui_lucky_well_b: "幸运之井",
  	bui_lucky_well_b_description: "金之幸运井",
  	bui_lumberjack_camp: "伐木工营地",
  	bui_lumberjack_camp_description: "木材是建造城市所需的基础资源",
  	bui_lumix_plant: "辉烬工厂",
  	bui_lumix_plant_description: "辉烬工厂可以生产这种新材料",
  	bui_lumix_refinery: "辉烬精炼厂",
  	bui_lumix_refinery_description: "自动生产辉烬",
  	bui_machines_of_gods: "诸神的机器",
  	bui_machines_of_gods_description: "包含被遗忘的知识",
  	bui_mana_battery: "法力电池",
  	bui_mana_battery_description: "可从黑暗迷雾中压缩凝聚法力",
  	bui_mana_extractors: "法力提取器",
  	bui_mana_extractors_description: "我们可以从地下提取法力,以及其他资源",
  	bui_mana_factory: "法力工厂",
  	bui_mana_factory_description: "工业化生产法力",
  	bui_mana_fields_b: "法力场",
  	bui_mana_fields_b_description: "法力在其中增长",
  	bui_mana_maker_b: "法力制造器",
  	bui_mana_maker_b_description: "合成法力",
  	bui_mana_pit: "法力深井",
  	bui_mana_pit_description: "可以存储我们所需的所有法力",
  	bui_mana_pit_part: "法力深井组件",
  	bui_mana_pit_part_description: "法力深井的一部分",
  	bui_mana_reactor: "法力反应堆",
  	bui_mana_reactor_description: "很像核反应堆,区别是完全不产生废料",
  	bui_mansion: "宅邸",
  	bui_mansion_description: "中产阶级的家",
  	bui_mage_academy_b: "法师学院",
  	bui_mage_academy_b_description: "进行研究和开发的场所",
  	bui_magic_workshop_b: "魔法工坊",
  	bui_magic_workshop_b_description: "为军队以及其他人提供魔法饰品",
  	bui_magical_tower: "魔法塔",
  	bui_magical_tower_description: "我最喜欢塔防游戏了",
  	bui_magic_circle: "魔法环",
  	bui_magic_circle_description: "聆听登攀者世界的私语",
  	bui_magic_stable_b: "魔法马厩",
  	bui_magic_stable_b_description: "魔法与小马,怎么看都不会有问题",
  	bui_marketplace: "市场",
  	bui_marketplace_description: "从小市场到全国垄断",
  	bui_mausoleum_gods: "众神之陵",
  	bui_mausoleum_gods_description: "我们需要进行供奉才能见到神明",
  	bui_matter_transmuter: "物质转化器",
  	bui_matter_transmuter_description: "有了法力和硝石,我们就拥有了一切",
  	bui_mercenary_camp: "佣兵营地",
  	bui_mercenary_camp_description: "可以在深渊中训练佣兵",
  	bui_mercenary_outpost: "佣兵前哨",
  	bui_mercenary_outpost_description: "有了团长的帮忙,我们就可以训练这些佣兵了",
  	bui_military_academy: "军事学院",
  	bui_military_academy_description: "可以培养专业军队",
  	bui_military_camp: "军营",
  	bui_military_camp_description: "新世界的军营",
  	bui_mind_shrine: "心灵神殿",
  	bui_mind_shrine_description: "献给智慧之神的神殿,它将帮助我们揭示登攀者世界的秘密",
  	bui_ministry_development: "发展部",
  	bui_ministry_development_description: "社会越来越复杂,需要专门的部门了",
  	bui_ministry_interior: "内政部",
  	bui_ministry_interior_description: "管理社会的内部事务",
  	bui_ministry_war: "战争部",
  	bui_ministry_war_description: "管理战争",
  	bui_ministry_worship: "宗教部",
  	bui_ministry_worship_description: "使宗教变成制度",
  	bui_mine: "矿井",
  	bui_mine_description: "你知道他们在卡扎督姆的黑暗中唤醒了什么吗?邪恶的炎魔",
  	bui_minefield: "雷区",
  	bui_minefield_description: "我们在城市周边布置了雷区",
  	bui_mining_area: "采矿区",
  	bui_mining_area_description: "深渊地下蕴藏着丰富的矿产",
  	bui_monastery: "修道院",
  	bui_monastery_description: "祈祷工作两不误",
  	bui_monument: "纪念碑",
  	bui_monument_description: "远古先祖传下的奇观,有着各种来自过去的传家宝",
  	bui_natronite_baloon: "钠红石气球",
  	bui_natronite_baloon_description: "在天上我们可以轻松地发现敌人",
  	bui_natronite_depot: "钠红石仓库",
  	bui_natronite_depot_description: "专门用来存储危险的钠红石",
  	bui_natronite_refinery: "钠红石精炼厂",
  	bui_natronite_refinery_description: "用于精炼珍贵的钠红石",
  	bui_natronite_shield: "钠红石护盾",
  	bui_natronite_shield_description: "可以强化我们的防御能力",
  	bui_observatory: "天文台",
  	bui_observatory_description: "观测星星,做出预言",
  	bui_officer_training_ground: "军官训练场",
  	bui_officer_training_ground_description: "走出这里的都是军官们",
  	bui_oracle_b: "神示所",
  	bui_oracle_b_description: "众神将为我们预言",
  	bui_palisade: "栅栏",
  	bui_palisade_description: "让我们把城市打造成堡垒吧",
  	bui_palisade_unit: "栅栏组件",
  	bui_palisade_unit_description: "栅栏的一部分",
  	bui_pillars_of_mana: "法力之柱",
  	bui_pillars_of_mana_description: "巨大的柱子,会让人想起登攀者世界的法力。维护费用相当高昂",
  	bui_pilgrim_camp: "朝觐者营地",
  	bui_pilgrim_camp_description: "来到新世界的朝觐者需要一个新家",
  	bui_probe_system: "探测系统",
  	bui_probe_system_description: "既能保护,又能照明",
  	bui_quarry: "采石场",
  	bui_quarry_description: "为城市提供石头",
  	bui_railway_station: "火车站",
  	bui_railway_station_description: "可以带来黄金和移民",
  	bui_rampart: "壁垒",
  	bui_rampart_description: "壁垒可以保护城市免受入侵",
  	bui_rampart_unit: "壁垒组件",
  	bui_rampart_unit_description: "壁垒的一部分",
  	bui_reactivate_portal: "亡者之门",
  	bui_reactivate_portal_description: "想要利用亡者之门,就必须重新将它激活",
  	bui_reactivate_portal_decryption: "门之解密",
  	bui_reactivate_portal_decryption_description: "门上的符号需要仔细研究后方可破译",
  	bui_recruit_training_center: "新兵训练中心",
  	bui_recruit_training_center_description: "将新兵训练成为真正的士兵",
  	bui_refinery: "精炼厂",
  	bui_refinery_description: "可用于精炼钠红石和其他材料",
  	bui_refugee_district: "难民区",
  	bui_refugee_district_description: "它将成为城市的一部分",
  	bui_refugee_district_part: "难民区组件",
  	bui_refugee_district_part_description: "难民区的一部分",
  	bui_regenerative_gardens: "再生花园",
  	bui_regenerative_gardens_description: "圣所外围的绿地,专用于培育药草和疗愈植物",
  	bui_research_plant: "研究工厂",
  	bui_research_plant_description: "研究员们将对登攀者世界进行探究",
  	bui_residential_block: "住宅区",
  	bui_residential_block_description: "公寓区域,可以尽可能多地容纳住户",
  	bui_sacred_den_b: "圣谷",
  	bui_sacred_den_b_description: "远离邪恶的神圣居所",
  	bui_sanctum_healing: "治疗圣所",
  	bui_sanctum_healing_description: "需要将咒语、炼金术和科技结合起来才能治疗精灵的基因问题。",
  	bui_sawmill: "锯木厂",
  	bui_sawmill_description: "木头多,建筑多,产量多",
  	bui_school: "学校",
  	bui_school_description: "人不应当像走兽一般地活着,应当追求知识和美德",
  	bui_shed: "棚屋",
  	bui_shed_description: "定居点有充足的空间存储货物",
  	bui_siege_workshop: "攻城机器厂",
  	bui_siege_workshop_description: "可以为军队提供更好的攻城机器",
  	bui_signal_machine: "信号机器",
  	bui_signal_machine_description: "接受神秘信号的装置",
  	bui_signal_machine_part: "信号机器组件",
  	bui_signal_machine_part_description: "信号机器的一部分",
  	bui_souls: "灵魂",
  	bui_souls_description: "学者们的灵魂被灵魂图书馆吸收了",
  	bui_soulstealer_citadel: "窃魂者堡垒",
  	bui_soulstealer_citadel_description: "献上大量祭品,为我们的军队注入黑暗力量",
  	bui_spiritual_garden: "精神花园",
  	bui_spiritual_garden_description: "与大自然接触的宁静之地",
  	bui_stable: "马厩",
  	bui_stable_description: "马厩里你起早贪黑,从不抱怨",
  	bui_statue_atamar: "阿塔玛雕像",
  	bui_statue_atamar_description: "阿塔玛是过去最有名的战略家",
  	bui_statue_firio: "菲里奥雕像",
  	bui_statue_firio_description: "菲里奥是过去最伟大的牧师之一",
  	bui_statue_lurezia: "卢雷齐亚雕像",
  	bui_statue_lurezia_description: "卢雷齐亚是过去最伟大的女巫之一",
  	bui_statue_virtue: "美德雕像",
  	bui_statue_virtue_description: "为了庆祝登攀者世界的人类而建造的巨大雕像",
  	bui_statue_virtue_part: "美德雕像组件",
  	bui_statue_virtue_part_description: "美德雕像的一部分",
  	bui_steel_mills_b: "钢厂",
  	bui_steel_mills_b_description: "钢厂的声音回荡在登攀者世界上",
  	bui_steel_palace_b: "钢铁宫殿",
  	bui_steel_palace_b_description: "钢铁宫殿在城市中闪耀",
  	bui_steel_palace_b_part: "钢铁宫殿组件",
  	bui_steel_palace_b_part_description: "钢铁宫殿的一部分",
  	bui_steelworks: "钢铁厂",
  	bui_steelworks_description: "钢铁厂可以利用其他金属生产钢",
  	bui_stock_exchange: "证券交易所",
  	bui_stock_exchange_description: "我们在此控制登攀者世界的商品",
  	bui_stock_exchange_part: "证券交易所组件",
  	bui_stock_exchange_part_description: "证券交易所的一部分",
  	bui_storage_facility: "存储设施",
  	bui_storage_facility_description: "存储产品的设施",
  	bui_store: "储物间",
  	bui_store_description: "可以存储多余的资源",
  	bui_stonemason: "石匠坊",
  	bui_stonemason_description: "石雕艺术家",
  	bui_stronghold: "据点",
  	bui_stronghold_description: "用于定居点的防御和补给",
  	bui_tax_revenue_checkpoints: "税收检查站",
  	bui_tax_revenue_checkpoints_description: "对流通的货物进行合法而系统的征税",
  	bui_temple: "寺庙",
  	bui_temple_description: "远古神明们会为我们指引道路",
  	bui_university: "大学",
  	bui_university_description: "古怪学者们的家",
  	bui_valley_of_plenty: "丰饶之谷",
  	bui_valley_of_plenty_description: "扔个硬币给玩家吧,哦,丰饶之谷!",
  	bui_wall: "城墙",
  	bui_wall_description: "为什么要止于简单的栅栏呢?",
  	bui_wall_unit: "城墙组件",
  	bui_wall_unit_description: "城墙的一部分",
  	bui_war_shrine: "战争神殿",
  	bui_war_shrine_description: "献给战神的神殿,它将帮助我们碾碎敌人",
  	bui_warehouse: "仓库",
  	bui_watchman_outpost: "守望者前哨",
  	bui_watchman_outpost_description: "放置在关键位置就可以让您看到敌人来袭的信息。需要建造四座才能继续前进",
  	bui_the_vaults: "金库",
  	bui_the_vaults_description: "由石头和钢制造的金库,用于存放黄金",
  	bui_titanic_walls: "磐石巨墙",
  	bui_titanic_walls_description: "大到可以在里面设立实验室",
  	bui_titanic_walls_part: "磐石巨墙组件",
  	bui_titanic_walls_part_description: "磐石巨墙的一部分",
  	bui_titan_work_area: "巨型工作区",
  	bui_titan_work_area_description: "巨大的工作场所!",
  	bui_tower_mana: "法力之塔",
  	bui_tower_mana_description: "引导圣殿力量的塔",
  	bui_tower_mana_part: "法力之塔组件",
  	bui_tower_mana_part_description: "法力之塔的一部分",
  	bui_trench: "战壕",
  	bui_trench_description: "铁丝网,还有很多泥",
  	bui_undead_herd: "亡者兽群",
  	bui_undead_herd_description: "饲养近乎活物的动物",
  	bui_underground_house: "地下房屋",
  	bui_underground_house_description: "可以抵挡疯狂暗风",
  	bui_underground_store: "地下储物间",
  	bui_underground_store_description: "与储量上限的斗争蔓延到了深渊",
  	bui_underground_tunnel_b: "地下隧道",
  	bui_underground_tunnel_b_description: "建造地底迷宫,保卫人民",
  	cat_commercial_area: "商业区域",
  	cat_defense: "军事与防御",
  	cat_faith: "信念与魔法",
  	cat_fighting: "战斗",
  	cat_living_quarters: "生活区域",
  	cat_prestige: "转生重置",
  	cat_resource: "生产与制造",
  	cat_science: "知识区域",
  	cat_scouting: "侦察",
  	cat_warehouse: "存储",
  	cat_wonders: "奇观",
  	dip_army_of_dragon: "红龙来袭",
  	dip_army_of_goblin: "地精来袭",
  	dip_army_of_the_dead: "亡者大军",
  	dip_army_of_the_dead_description: "亡灵大军向我们袭来,我们必须击退它,拯救登攀者世界",
  	dip_barbarian_horde: "野蛮人部族",
  	dip_barbarian_horde_description: "让我们征服这些野蛮人,并为他们带来文明",
  	dip_send_delegation: "派出代表团",
  	dip_relationships: "关系",
  	dip_relationships_description: "您与该派系当前的关系",
  	dip_send_delegation_description: "派出代表团以后我们才能跟他们开始外交关系",
  	dip_fallen_angel_army_1: "堕天使的火枪大军",
  	dip_fallen_angel_army_2: "堕天使的恶魔大军",
  	dip_kobu_dominion_r: "科布统治领",
  	dip_kobu_dominion_r_description: "科布统治领完全存在于该建筑中。他们拥有机械身躯,技术深不可测。幸好他们已经失去了战争欲望",
  	dip_improve_relationships: "改善关系",
  	dip_improve_relationships_abbr: "改善",
  	dip_improve_relationships_description: "我们将尽我们所能与目标国家改善关系。改善关系花费的资源越多,效果越好",
  	dip_insult: "侮辱",
  	dip_insult_description: "你这个山羊养的,没见到人,就能闻到你的气味了!这么说完我们的关系应该会恶化",
  	dip_launch_annhilator: "毁灭登攀者世界",
  	dip_alliance: "联盟",
  	dip_alliance_description: "我们的关系经受住了时间的考验。我们将向彼此提供军事和资源协助",
  	dip_owned: "已征服",
  	dip_owned_description: "我们征服了该派系,所有的财富都归我们了",
  	dip_trade_accept: "接受贸易协定",
  	dip_trade_accept_abbr: "接受",
  	dip_trade_accept_description: "接受这份贸易协定",
  	dip_trade_cancel: "取消贸易协定",
  	dip_trade_cancel_abbr: "取消",
  	dip_trade_cancel_description: "取消这份贸易协定",
  	dip_trade_agreements: "贸易协定",
  	dip_trade_agreements_description: "与该派系交易的内容",
  	dip_war: "宣战",
  	dip_war_confirm: "宣战确认",
  	dip_war_confirm_description: "您确定要对该派系宣战吗?这将是一场无情的战争,您将面对拥有数以百计士兵的敌人。您无法再跟他们和解。请只在拥有一支非常强大的军队时才这么做",
  	dip_war_description: "全面战争开始",
  	dip_war_declaration: "您对该派系宣战了,愿战神庇佑我们,消灭我们的敌人。请注意,我们在边境发现了敌人出没,他们随时可能发动袭击。让我们分配士兵驻军,或者是对他们发动一次猛烈的攻击,将这些肮脏的蛆虫们彻底歼灭",
  	dip_relationship_unknown: "未知关系",
  	dip_relationship_unknown_description: "我们还未与该派系会面",
  	dip_relationship_negative: "负面关系",
  	dip_relationship_negative_description: "我们与该派系的关系很糟糕",
  	dip_relationship_positive: "正面关系",
  	dip_relationship_positive_description: "我们与该派系的关系很好",
  	dip_relationship_neutral: "中立关系",
  	dip_relationship_neutral_description: "该派系对我们的看法中立",
  	dip_enso_multitude: "恩索诸众",
  	dip_enso_multitude_description: "在遥远的东方,有文明与我们并称登攀者世界双雄。他们自称恩索,既是开悟者,也蕴含着宇宙之力。圆环是他们的徽记,他们有着杏仁般的眼睛和黄色的皮肤。他们已经发明了火药,且士兵在战斗中非常凶猛,一群人会一起冲向不幸的敌军。他们精心守护着大量的钠红石,恐怕还是考虑跟他们交朋友的好。",
  	dip_nightdale_protectorate: "夜谷保护国",
  	dip_nightdale_protectorate_description: "北方部落团结起来形成了夜谷保护国,他们是相当骄傲的战士,不惧敌人。",
  	dip_mindless_evil_boss: "无智之恶最终突袭",
  	dip_orc_horde_boss: "兽人部落来袭",
  	dip_orc_war_party_1: "兽人作战队",
  	dip_orc_war_party_2: "兽人作战队",
  	dip_orc_war_party_3: "兽人作战队",
  	dip_orc_war_party_4: "兽人作战队",
  	dip_orc_war_party_5: "兽人作战队",
  	dip_orc_war_party_6: "兽人作战队",
  	dip_orc_war_party_7: "兽人作战队",
  	dip_orc_war_party_8: "兽人作战队",
  	dip_orc_war_party_9: "兽人作战队",
  	dip_orc_war_party_10: "兽人作战队",
  	dip_orc_war_party_11: "兽人作战队",
  	dip_orc_war_party_12: "兽人作战队",
  	dip_orc_war_party_13: "兽人作战队",
  	dip_orc_war_party_14: "兽人作战队",
  	dip_orc_war_party_15: "兽人作战队",
  	dip_orc_war_party_16: "兽人作战队",
  	dip_scalerock_tribes: "鳞岩部落",
  	dip_scalerock_tribes_description: "龙人的部落生活在鳞岩山之巅。他们住在岩石上的洞穴里,会飞跃山顶,向毫无防备的敌人猛扑下去。由于是龙裔,在制造物品方面他们仍然保持了龙的智慧和工艺。他们会不择手段获取钠红石,或许是祖先的传承让他们知道了它的存在吧。",
  	dip_sssarkat_empire: "撒尔喀特帝国",
  	dip_sssarkat_empire_description: "在祖尔坦之外的温暖水域中,生活着类似蝾螈的生物,他们主要在水下活动。他们来自一个已经消失的远古文明,利用余留的科技在废墟中生存。他们经常来到陆地上,在阳光明媚的海岸上可以发现他们的村庄。",
  	dip_theresmore_wanders: "登攀游荡者",
  	dip_theresmore_wanders_description: "在东部一望无际的平原上,有一个游牧部落,他们自称游荡者,我们并不知道他们有多少人,有多么强大。东部绝大多数领土并不为人所知。",
  	dip_western_kingdom: "西部王国",
  	dip_western_kingdom_description: "西部王国是封建君主国家,由其大城堡所保护,它在战场上无往不利,因为它拥有强大的骑兵。",
  	dip_zultan_emirate: "祖尔坦酋长国",
  	dip_zultan_emirate_description: "沿着南部的沙漠,繁荣的商业城市犹如雨后春笋般涌现,其中最大的是祖尔坦,它的寡头统治着大片区域。",
  	dip_king_kobold_nation: "狗头人王国",
  	dip_king_kobold_nation_description: "这些小双足蜥蜴永远不配和我们相提并论。让我们把它们赶回老家去。",
  	dip_lich_fortress: "尼哈鲁尔窃魂者堡垒",
  	dip_lich_fortress_description: "尼哈鲁尔的亡灵军队威胁着整个登攀者世界",
  	dip_baron_mordecai: "莫德凯·暗棘男爵",
  	dip_baron_mordecai_description: "莫德凯·暗棘男爵是深渊领域的高阶吸血鬼大君",
  	dip_dark_knight_lord: "炎骑士城堡",
  	dip_dark_knight_lord_description: "炎骑士是深渊领域的领主",
  	dip_hand_evil: "恶孽之手",
  	dip_hand_evil_description: "恶孽之手是众魅魔之母,深渊统治者的右翼",
  	ene_ancient_burial_place: "远古墓地",
  	ene_ancient_burial_place_description: "一个早已被遗忘的地方,几乎没有亡者游荡。几十个士兵就可以将它们消灭",
  	ene_ancient_giant: "远古巨人",
  	ene_ancient_giant_description: "一个巨大的洞穴,远古巨人和它的后代居住在这里",
  	ene_ancient_hideout: "远古藏身处",
  	ene_ancient_hideout_description: "强盗占领了这个藏身处,几十个士兵就可以将他们消灭",
  	ene_ancient_lighthouse: "远古灯塔",
  	ene_ancient_lighthouse_description: "深渊中的远古灯塔",
  	ene_ancient_ruin: "远古遗迹",
  	ene_ancient_ruin_description: "黑暗中出现了奇怪的遗迹",
  	ene_dark_village: "黑暗村庄",
  	ene_dark_village_description: "位于神秘领域的失落村庄。或许这里曾有人居住",
  	ene_harpy_nest: "鹰身女妖巢穴",
  	ene_harpy_nest_description: "鹰身女妖的巢穴会吸引毫无戒心的旅行者",
  	ene_ball_lightning_field: "球形闪电场",
  	ene_ball_lightning_field_description: "一群球形闪电占领了定居点附近的一片土地",
  	ene_bandit_camp: "强盗营地",
  	ene_bandit_camp_description: "他们沿路和森林攻击商人和路人,几十个士兵就可以料理他们了",
  	ene_barbarian_camp: "野蛮人营地",
  	ene_barbarian_camp_description: "和平的野蛮人部落。注意:不要手贱",
  	ene_barbarian_village: "野蛮人村庄",
  	ene_barbarian_village_description: "一个野蛮人的大村庄,多个部落联合起来共同繁荣发展。再次提醒:不要手贱",
  	ene_barren_hills: "荒山",
  	ene_barren_hills_description: "荒山相当荒凉,巨人和狗头人居住在这里",
  	ene_basilisk_cave: "蛇怪洞穴",
  	ene_basilisk_cave_description: "蛇怪出没的洞穴,它们非常危险",
  	ene_black_mage_tower: "黑魔法塔",
  	ene_black_mage_tower_description: "一名黑暗巫师的塔楼。他正与地精们一起谋划着针对登攀者世界的邪恶计划",
  	ene_bugbear_tribe: "熊地精部落",
  	ene_bugbear_tribe_description: "熊地精从它们的小营地袭击这个地区,劫掠战利品",
  	ene_bugbear_war_party: "熊地精作战队",
  	ene_bugbear_war_party_description: "酋长出征时,他手下的熊地精们就变成了令人畏惧的存在",
  	ene_burning_pit: "燃烧深坑",
  	ene_burning_pit_description: "登攀者世界的底土充满了恶魔,还好它们数量不多",
  	ene_cave_bats: "蝙蝠洞穴",
  	ene_cave_bats_description: "充满吸血蝙蝠的洞穴,一些长矛兵就可以消灭它们",
  	ene_church_abyss: "深渊教堂",
  	ene_church_abyss_description: "深渊中被黑暗侵蚀的教堂",
  	ene_circle_necromancer: "死灵法师之环",
  	ene_circle_necromancer_description: "深渊中的死灵法师之环",
  	ene_citadel_dead: "亡者要塞",
  	ene_citadel_dead_description: "一座被遗弃的要塞,有亡者(和双足飞龙)出没",
  	ene_construction_site: "建筑工地",
  	ene_construction_site_description: "佣兵们在这片广阔的空间里定居,让我们把他们赶出去",
  	ene_corrupted_lands: "腐化之地",
  	ene_corrupted_lands_description: "永恒之土痛苦地陷落在遭腐化的水晶周围",
  	ene_dark_knight_patrol: "黑暗骑士巡逻队",
  	ene_dark_knight_patrol_description: "数支黑暗骑士巡逻队在领域中巡弋",
  	ene_dark_pit: "暗渊之阱",
  	ene_dark_pit_description: "满是恶魔",
  	ene_deserters_den: "逃兵巢穴",
  	ene_deserters_den_description: "逃兵的巢穴,他们现在只尊重财神了",
  	ene_demoness_castle: "女恶魔城堡",
  	ene_demoness_castle_description: "一座阴森的城堡,散发浓郁的恶魔气息,里面一定有很多恶魔",
  	ene_demonic_portal: "恶魔传送门",
  	ene_demonic_portal_description: "传送门附近有一些大小恶魔,天空中还飞舞着几十只小鬼",
  	ene_dense_oasis: "茂密的绿洲",
  	ene_dense_oasis_description: "其中一位娜迦公主的家,要小心!",
  	ene_desecrated_temple: "亵渎神庙",
  	ene_desecrated_temple_description: "月神的神庙已经变成了一堆腐臭的废渣,许多绿皮人形生物在此活动",
  	ene_djinn_palace: "灯神宫殿",
  	ene_djinn_palace_description: "灯神的居所,几个娜迦守卫着入口。战斗将十分艰辛",
  	ene_east_sacred_place: "东部圣地",
  	ene_east_sacred_place_description: "东部有一个地方,那里的空气中活跃着登攀者世界的力量,并有元素守护着",
  	ene_earth_elemental_circle: "地之元素环",
  	ene_earth_elemental_circle_description: "它们看起来像是旧大陆的圣地,但强化了很多",
  	ene_elder_dragon: "烬火灾主",
  	ene_elder_dragon_description: "维戈洛斯之影垂天蔽日,焚翼蔽空。阿兹拉西斯之姿巍然屹立,缠卷太古神焰",
  	ene_eternal_halls: "永恒大殿",
  	ene_eternal_halls_description: "永恒大殿是西部王国人民的圣地,它被石头守卫保护着",
  	ene_ettin_camp: "双头巨人营地",
  	ene_ettin_camp_description: "营地中有几个当地人被关在了笼子里",
  	ene_ettin_enslaver: "双头巨人奴隶主",
  	ene_ettin_enslaver_description: "主要从事奴隶交易的双头巨人部落",
  	ene_evil_abode: "邪恶居所",
  	ene_evil_abode_description: "深渊中的孤寂居所",
  	ene_explore_desert: "南火荒漠",
  	ene_explore_desert_description: "精灵神话中的沙漠",
  	ene_far_west_island: "远西岛",
  	ene_far_west_island_description: "需要向西航行数日才能到达的小岛",
  	ene_fire_elemental_circle: "火之元素环",
  	ene_fire_elemental_circle_description: "它们看起来像是旧大陆的圣地,但强化了很多",
  	ene_fire_mage_domain: "火法师领域入口",
  	ene_fire_mage_domain_description: "这片熔岩沙漠是一位被长久遗忘的火法师之领域",
  	ene_frost_elemental_circle: "冰之元素环",
  	ene_frost_elemental_circle_description: "它们看起来像是旧大陆的圣地,但强化了很多",
  	ene_fire_salamander_nest: "火蜥蜴巢穴",
  	ene_fire_salamander_nest_description: "火蜥蜴的巢穴,太靠近它们的洞穴会很危险",
  	ene_forgotten_shelter: "加里亚德的遗忘避难所",
  	ene_forgotten_shelter_description: "一个被遗忘和封闭的避难所,记忆中的黑暗幽灵藏身于此",
  	ene_galliard_mercenary_camp: "加里亚德佣兵营地",
  	ene_galliard_mercenary_camp_description: "营地里驻扎着加里亚德团长和他的佣兵团",
  	ene_giant_temple: "巨型寺庙",
  	ene_giant_temple_description: "隐藏在复杂森林之中的古代寺庙",
  	ene_gloomy_werewolf_forest: "阴暗狼人之森",
  	ene_gloomy_werewolf_forest_description: "狼人的森林里布满障碍,即使是装备最好的部队也没法轻易胜利",
  	ene_goblin_lair: "地精巢穴",
  	ene_goblin_lair_description: "地精是相当狡猾的生物,它们几乎没有武器,但会在箭头下毒。几十个士兵就够安全了",
  	ene_golem_cave: "魔像洞穴",
  	ene_golem_cave_description: "充满魔像的洞穴。小心了,它们可能会活动起来,守卫洞穴",
  	ene_gold_mine: "金矿",
  	ene_gold_mine_description: "一个大型金矿,被巨魔占据。注意,巨魔数量极多!",
  	ene_gorgon_cave: "蛇发女妖巢穴",
  	ene_gorgon_cave_description: "蛇发女妖的凝视会让人石化,它潜伏在一个充满危险的洞穴里,里面地形错综复杂",
  	ene_gnoll_camp: "豺狼人营地",
  	ene_gnoll_camp_description: "数码之外的营地散发着腐肉的气息。小心豺狼人的首领",
  	ene_gnoll_raiding_party: "豺狼人突袭队",
  	ene_gnoll_raiding_party_description: "这些人与鬣狗的杂交种从两边继承的都是坏基因",
  	ene_gulud_ugdun: "古鲁德·乌格顿城堡",
  	ene_gulud_ugdun_description: "被掳走的孩子被囚禁于此。古鲁德必须死",
  	ene_haunted_library: "闹鬼图书馆",
  	ene_haunted_library_description: "一座古老的图书馆,现在由鬼魂来守卫了。几十名士兵就可以击退它们",
  	ene_hell_hole: "地狱之洞",
  	ene_hell_hole_description: "位于地面的一个洞,通往一个大洞穴。它是地狱的入口",
  	ene_hobgoblin_chieftain: "淘气鬼酋长",
  	ene_hobgoblin_chieftain_description: "一小队淘气鬼,由它们的酋长带领",
  	ene_hobgoblin_encampment: "淘气鬼营地",
  	ene_hobgoblin_encampment_description: "满是淘气鬼士兵的营地,它们的资源会很有用",
  	ene_huge_cave: "巨大洞穴",
  	ene_huge_cave_description: "灵魂图书馆的下面有一个巨大的洞穴,里面满是骷髅",
  	ene_hydra_pit: "多头蛇之坑",
  	ene_hydra_pit_description: "多头蛇之坑,它的五个头像军团一样战斗",
  	ene_immense_door_e: "巨门",
  	ene_immense_door_e_description: "门后是科布统治领的仓库",
  	ene_lead_golem_mine: "铅魔像矿井",
  	ene_lead_golem_mine_description: "在一个旧矿井中我们发现了一种魔像,它的外表坚硬到奇怪",
  	ene_leprechaun_den: "小矮妖巢穴",
  	ene_leprechaun_den_description: "小矮妖的巢穴,它会给我们带来好运!",
  	ene_lich_temple: "巫妖寺庙",
  	ene_lich_temple_description: "巫妖是黑暗力量的源泉,指挥着几十个亡者",
  	ene_lost_valley: "失落山谷",
  	ene_lost_valley_description: "精灵传说中的失落山谷",
  	ene_king_reptiles: "爬行动物之王",
  	ene_king_reptiles_description: "在一个被时间遗忘的山谷中,有着前所未有的动物。它们是来自遥远过去的巨型爬行动物",
  	ene_kobold_city: "狗头人之城",
  	ene_kobold_city_description: "我们脚底下就有一座狗头人的城市,这谁想得到?",
  	ene_kobold_looters: "狗头人掠夺者",
  	ene_kobold_looters_description: "它们从小营地袭击附近的村庄,让我们用几个士兵将它们赶走",
  	ene_kobold_stash: "狗头人藏匿处",
  	ene_kobold_stash_description: "狗头人的藏品中或许有我们能用上的东西",
  	ene_kobold_underground_tunnels: "狗头人隧道",
  	ene_kobold_underground_tunnels_description: "狗头人深挖它们的地洞,它们很弱小,但数量众多",
  	ene_korrigan_dolmen: "科里根矮妖石屋",
  	ene_korrigan_dolmen_description: "这些卑鄙的小动物喜欢在石屋附近捕食路人",
  	ene_markanat_forest: "玛卡纳特森林",
  	ene_markanat_forest_description: "玛卡纳特的水淹丛林,它是一只不允许任何人接近的巨型蜘蛛",
  	ene_mercenary_camp: "佣兵营地",
  	ene_mercenary_camp_description: "没有人赞助的佣兵,他们致力于打劫,非常危险",
  	ene_minotaur_maze: "牛头怪迷宫",
  	ene_minotaur_maze_description: "牛头怪的迷宫。对任何人来说都是艰巨的挑战",
  	ene_myconid_cavern: "蕈人洞穴",
  	ene_myconid_cavern_description: "一个蕈人部落在这个有着强大魔法脉动的洞穴安家了",
  	ene_mountain_cave: "山岭洞穴",
  	ene_mountain_cave_description: "一个巨大的洞穴,由一个巨人以及他的地精爪牙们控制",
  	ene_mountain_valley: "山中之谷",
  	ene_mountain_valley_description: "群山中央的大山谷。巨人居住在这里,如果能赶走它们,我们就可以获得山谷中大量的食物和木头了",
  	ene_naga_nest: "娜迦老巢",
  	ene_naga_nest_description: "看来不流血,是没法从他们手上夺走他们的食物来源了",
  	ene_nasty_pillagers: "肮脏的掠夺者",
  	ene_nasty_pillagers_description: "这些肮脏的掠夺者留了一些小财,我们派几个士兵去打散他们吧",
  	ene_necromancer_crypt: "死灵法师地穴",
  	ene_necromancer_crypt_description: "一位死灵法师沉闷的家,他已经疯了。小心亡者们!",
  	ene_necropolis: "大墓地",
  	ene_necropolis_description: "深渊中的巨型墓地",
  	ene_north_sacred_place: "北部圣地",
  	ene_north_sacred_place_description: "北部有一个地方,那里的空气中活跃着登攀者世界的力量,并有元素守护着",
  	ene_old_herd: "老草场",
  	ene_old_herd_description: "一片老草场,有老鼠出没,十几名士兵应该就足够清理了",
  	ene_old_outpost: "旧前哨",
  	ene_old_outpost_description: "一个被废弃的前哨,变成了逃兵,强盗和佣兵的避难所",
  	ene_old_storage_room: "旧贮藏室",
  	ene_old_storage_room_description: "旧贮藏室里有蜘蛛筑了巢,十几个长矛兵就足够征服这里了",
  	ene_orc_gormiak_citadel: "兽人戈米亚克堡垒",
  	ene_orc_gormiak_citadel_description: "驻扎着兽人。它的腐臭污染着空气",
  	ene_orc_horith_citadel: "兽人霍里斯堡垒",
  	ene_orc_horith_citadel_description: "它保护着霍里斯领地,那里以火法师氏族而闻名",
  	ene_orc_ogsog_citadel: "兽人奥索格堡垒",
  	ene_orc_ogsog_citadel_description: "兽人精英来自于此",
  	ene_orc_turgon_citadel: "兽人图尔冈堡垒",
  	ene_orc_turgon_citadel_description: "兽人萨满氏族的起源地",
  	ene_orc_raiding_party: "兽人突袭队",
  	ene_orc_raiding_party_description: "这只突袭队将定居点置于了他们刀锋之下",
  	ene_orcish_prison_camp: "兽人集中营",
  	ene_orcish_prison_camp_description: "兽人在此关押劫掠而来的俘虏",
  	ene_prisoner_wagon: "囚车",
  	ene_prisoner_wagon_description: "强盗们抓捕平民的马车,几个长矛兵带着弓箭手就可以消灭他们了",
  	ene_rat_cellar: "老鼠地窖",
  	ene_rat_cellar_description: "贪婪的老鼠在地窖里出没,让我们带一些长矛兵来吧",
  	ene_raider_hideout: "掠夺者藏身处",
  	ene_raider_hideout_description: "洞里有四十个掠夺者",
  	ene_rusted_warehouse: "生锈仓库",
  	ene_rusted_warehouse_description: "废弃的农舍,拿来当仓库应该不错",
  	ene_save_damned: "拯救受诅者",
  	ene_save_damned_description: "受诅者的哭嚎在黑暗中回荡",
  	ene_sleeping_titan: "沉眠的泰坦",
  	ene_sleeping_titan_description: "唤醒泰坦的人将获得丰厚的奖励",
  	ene_skullface_encampment: "骷髅脸营地",
  	ene_skullface_encampment_description: "骷髅脸营地由一些强盗守卫,消灭他会费点劲",
  	ene_smuggler_warehouse: "走私者仓库",
  	ene_smuggler_warehouse_description: "走私者藏匿东西的大仓库",
  	ene_snakes_nest: "蛇穴",
  	ene_snakes_nest_description: "许多毫无戒心的受害者落入其中",
  	ene_spider_forest: "蜘蛛森林",
  	ene_spider_forest_description: "茂密的森林里遍布巨大的蜘蛛网",
  	ene_son_atamar: "阿塔玛之子",
  	ene_son_atamar_description: "来自南部沙漠的阿塔玛邪教,其信徒是优秀的剑客",
  	ene_south_sacred_place: "南部圣地",
  	ene_south_sacred_place_description: "南部有一个地方,那里的空气中活跃着登攀者世界的力量,并有元素守护着",
  	ene_strange_village: "奇怪的村庄",
  	ene_strange_village_description: "一个居民目光呆滞的村庄,他们攻击性很强",
  	ene_succubus_library: "魅魔黑暗图书馆",
  	ene_succubus_library_description: "这群魅魔把一个不起眼的图书馆当成了住所。接近时要小心",
  	ene_swarm_wasp: "巨黄蜂群落",
  	ene_swarm_wasp_description: "一大群巨黄蜂在土地上游荡",
  	ene_temple_gargoyle: "石像鬼寺庙",
  	ene_temple_gargoyle_description: "丛林中的远古寺庙被一些石像鬼守卫着",
  	ene_troll_cave: "巨魔洞穴",
  	ene_troll_cave_description: "一个被巨魔称作家的恶臭洞穴,要将它赶走恐怕会比较费劲",
  	ene_vampire_crypt: "吸血鬼地穴",
  	ene_vampire_crypt_description: "被时间遗忘的一个地穴,现在是吸血鬼,或是它们下仆的家了",
  	ene_vampire_lair: "吸血鬼老巢",
  	ene_vampire_lair_description: "吸血鬼的家,她非常可怕,即使最英勇的士兵也会感到恐惧",
  	ene_wind_elemental_circle: "风之元素环",
  	ene_wind_elemental_circle_description: "它们看起来像是旧大陆的圣地,但强化了很多",
  	ene_west_sacred_place: "西部圣地",
  	ene_west_sacred_place_description: "西部有一个地方,那里的空气中活跃着登攀者世界的力量,并有元素守护着",
  	ene_wolf_pack: "狼群",
  	ene_wolf_pack_description: "一群凶恶的狼,会攻击过路的羊群,几十名士兵应该可以把它们包圆了",
  	ene_worn_down_crypt: "破旧的地穴",
  	ene_worn_down_crypt_description: "在一片阴森森林的一个偏僻的犄角旮旯,有个通往一个破旧地穴的入口,但被一群骷髅骑士守卫着",
  	ene_wyvern_nest: "双足飞龙巢穴",
  	ene_wyvern_nest_description: "这些可怕的生物很像龙,也经常被误认为是龙",
  	ene_zombie_horde_small: "小型尸潮",
  	ene_zombie_horde_small_description: "游荡的小型尸潮",
  	ene_zombie_horde_large: "大型尸潮",
  	ene_zombie_horde_large_description: "游荡的大型尸潮",
  	ene_zombie_horde_huge: "巨型尸潮",
  	ene_zombie_horde_huge_description: "游荡的巨型尸潮",
  	fai_accept_druid: "接受德鲁伊",
  	fai_accept_druid_description: "接受德鲁伊,让他的信仰成为我们社会不可分割的一部分,他将成为主教",
  	fai_acolyte_hymn: "侍祭赞美诗",
  	fai_acolyte_hymn_description: "虔诚的圣歌升向众神",
  	fai_ancient_spell_p: "远古咒语",
  	fai_ancient_spell_p_description: "可以帮助我们进步",
  	fai_amusement_quarter_f: "娱乐区域",
  	fai_amusement_quarter_f_description: "必须建造它",
  	fai_archmage_p: "大法师",
  	fai_archmage_p_description: "大法师是战场上的精英法师",
  	fai_armored_caravan_p: "武装商队",
  	fai_armored_caravan_p_description: "我们也需要留意那些为我们信仰服务的商人们!",
  	fai_army_blessing: "军队祝福",
  	fai_army_faith: "信仰之军",
  	fai_army_faith_description: "信仰之军将使我们的敌人燃烧",
  	fai_banish_druid: "放逐德鲁伊",
  	fai_banish_druid_description: "放逐德鲁伊,让他离开城市,我们不需要导师",
  	fai_blessing_city: "城市大祝福",
  	fai_blessing_church: "教堂祝福",
  	fai_blessing_church_description: "可以施加于教堂的新仪式",
  	fai_blessing_prelate: "教长的祝福",
  	fai_blessing_prelate_description: "对整支军队进行祝福",
  	fai_children_hope: "孩子们的希望",
  	fai_city_blessing: "城市祝福",
  	fai_city_blessing_description: "我们必须召集城市的智者们,创造出保护咒语",
  	fai_control_fortress: "重建堡垒",
  	fai_control_fortress_description: "利用黑暗水晶的力量重建窃魂者堡垒",
  	fai_create_sacred_golem: "制造神圣魔像",
  	fai_create_sacred_golem_description: "我们可以制造受祝福的魔像了,它由法力驱动",
  	fai_church_ritual: "教堂仪式",
  	fai_dark_ritual: "黑暗仪式",
  	fai_dark_ritual_description: "在神圣战士身上注入恶魔力量会导致什么后果……",
  	fai_demonology: "恶魔学",
  	fai_demonology_description: "我们击败了足够多的恶魔,可以研究它们的特征了",
  	fai_demoniac_tome: "恶魔卷轴",
  	fai_demoniac_tome_description: "我们需要对卷轴进行翻译才能找到它的出处",
  	fai_desire_abundance: "渴望丰饶",
  	fai_desire_abundance_description: "渴望丰饶。只能有一种渴望。请明智选择",
  	fai_desire_magic: "渴望魔法",
  	fai_desire_magic_description: "渴望魔法。只能有一种渴望。请明智选择",
  	fai_desire_war: "渴望战斗",
  	fai_desire_war_description: "收服灯神,让它为我们而战。只能有一种渴望。请明智选择",
  	fai_dragon_armor: "龙之护甲",
  	fai_dragon_skull: "龙之骨",
  	fai_dragon_skull_description: "古物是巨龙的头骨!我们可以复制它的硬度来运用它的力量,并制造出新装备",
  	fai_dragon_weapon: "龙之武器",
  	fai_druid_blessing: "德鲁伊的祝福",
  	fai_enhanced_barracks_f: "强化兵营",
  	fai_enhanced_barracks_f_description: "泽尼克斯的训练技巧让我们对兵营有了新的概念",
  	fai_enchanted_bullet: "附魔子弹",
  	fai_enchanted_bullet_description: "泽尼克斯知道如何让子弹变得更致命",
  	fai_enchanted_bullet_s: "附魔子弹",
  	fai_eureka_halls_f: "灵感大厅",
  	fai_eureka_halls_f_description: "必须探索它",
  	fai_praise_gods: "赞美神明",
  	fai_praise_gods_description: "我们必须取悦神明,这样祂们才会听到我们的声音",
  	fai_blessing: "祝福",
  	fai_blessing_description: "登攀者世界诸神之力的首要形式:祝福",
  	fai_fate_shrine_f: "命运神殿",
  	fai_fate_shrine_f_description: "必须赞颂",
  	fai_focus_development: "专注于发展",
  	fai_focus_development_description: "专注于发展城市。只能专注于其中一种。请明智选择",
  	fai_focus_magic: "专注于魔法",
  	fai_focus_magic_description: "专注于产生法力。只能专注于其中一种。请明智选择",
  	fai_focus_research: "专注于研究",
  	fai_focus_research_description: "专注于进行研究。只能专注于其中一种。请明智选择",
  	fai_holy_light: "圣光",
  	fai_holy_light_description: "我们可以使用圣光祝福战士们了",
  	fai_hope_children: "孩子们的希望",
  	fai_hope_children_description: "我们从古鲁德手中救下了孩子们,他们有着超乎常人的神奇能力",
  	fai_lucky_grove_f: "幸运树林",
  	fai_lucky_grove_f_description: "必须探索它",
  	fai_lucky_well_f: "幸运之井",
  	fai_lucky_well_f_description: "必须善加利用",
  	fai_pilgrim_chant: "朝觐者的圣歌",
  	fai_pilgrim_chant_description: "信徒们的信仰之歌在新世界产生了丰富的资源",
  	fai_prayer_for_the_great_seeker: "大探求者",
  	fai_prayer_for_the_great_seeker_description: "向大探求者祈祷,愿我们的猎人永不迷路",
  	fai_great_seeker_2: "大探求者的视线",
  	fai_great_seeker_2_description: "我们祈祷大探求者赐予我们祂敏锐的视力",
  	fai_prayer_for_mother_earth: "大地母亲",
  	fai_prayer_for_mother_earth_description: "向大地母亲祈祷,愿祂的果实落于我们身上",
  	fai_mother_earth_2: "大地母亲的恩典",
  	fai_mother_earth_2_description: "我们祈祷大地母亲赐予我们丰饶",
  	fai_prayer_for_the_old_small_one: "老小者",
  	fai_prayer_for_the_old_small_one_description: "向老小者祈祷,愿古代侏儒给予我们丰产",
  	fai_old_small_one_2: "老小者的恩典",
  	fai_old_small_one_2_description: "我们祈祷那位矮人之神赐予我们祂的恩典",
  	fai_prayer_for_the_ancient_monk: "远古之僧",
  	fai_prayer_for_the_ancient_monk_description: "向远古之僧祈祷,愿祂的弟子能回来与我们并肩作战",
  	fai_prayer_goddess_luck: "幸运女神",
  	fai_prayer_goddess_luck_description: "向幸运女神祈祷,以激发命运!",
  	fai_prayer_for_the_great_warrior: "伟大战士",
  	fai_prayer_for_the_great_warrior_description: "向伟大战士祈祷,愿祂的愤怒能指引我们的士兵",
  	fai_prayer_lonely_druid: "孤独的德鲁伊",
  	fai_prayer_lonely_druid_description: "向孤独的德鲁伊祈祷,愿他给我们祝福",
  	fai_great_warrior_2: "伟大战士之怒",
  	fai_great_warrior_2_description: "我们祈祷伟大战士赐予我们战场上的愤怒",
  	fai_prayer_for_the_great_builder: "大建筑师",
  	fai_prayer_for_the_great_builder_description: "向大建筑师祈祷,愿祂指引我们的石匠",
  	fai_prayer_for_the_mysterious_arcane: "奥术之谜",
  	fai_prayer_for_the_mysterious_arcane_description: "向奥术之谜祈祷,愿祂指引我们的智者",
  	fai_prayer_wild_man: "野性之人",
  	fai_prayer_wild_man_description: "向野性之人祈祷,愿祂饲育我们驯养的动物",
  	fai_wild_man_2: "野性之人的灵巧",
  	fai_wild_man_2_description: "我们赞美野性之人,愿祂的敏捷加护于身",
  	fai_unveil_theresmore: "登攀者世界揭秘",
  	fai_unveil_theresmore_description: "窥探登攀者世界的奥秘",
  	fai_sacred_place: "圣地",
  	fai_sacred_place_description: "登攀者世界中,有一些地方是地脉能量汇聚的节点",
  	fai_strange_lamp: "奇怪的灯",
  	fai_strange_lamp_description: "在娜迦的老巢中,我们发现了一盏奇怪的灯,跟那些在世界南部用过的一样",
  	fai_acolyte_circle: "侍祭之环",
  	fai_acolyte_circle_description: "这些奉献者的祈祷会帮助我们",
  	fai_goddess_luck_blessing: "幸运女神的祝福",
  	fai_gold_consecration: "奉献黄金",
  	fai_gold_consecration_description: "我们所有的信念都必须指向我们的经济统治计划",
  	fai_gold_factory_f: "黄金工厂",
  	fai_gold_factory_f_description: "可以产生黄金的工厂。泽尼克斯的工厂只能选择其一,请明智选择",
  	fai_gold_trasmutation: "黄金炼成",
  	fai_gold_trasmutation_description: "泽尼克斯用于产生黄金的终极咒语",
  	fai_gold_trasmutation_s: "黄金炼成",
  	fai_great_builder_blessing: "大建筑师的祝福",
  	fai_great_seeker_blessing: "大探求者的祝福",
  	fai_great_seeker_blessing_description: "将我们的弓箭导向目标",
  	fai_great_seeker_eyesight: "大探求者的视线",
  	fai_great_warrior_blessing: "伟大战士的祝福",
  	fai_great_warrior_blessing_description: "引导我们的勇士进入战斗",
  	fai_great_warrior_fury: "伟大战士之怒",
  	fai_growth_nature: "自然生长",
  	fai_growth_nature_description: "我们可以创造一个咒语,使我们的森林变得更浓密",
  	fai_growth_of_nature: "自然生长",
  	fai_highlightment_p: "明悟",
  	fai_highlightment_p_description: "专注于研究后,我们可以施放“明悟”咒语了",
  	fai_highlightment_s: "明悟",
  	fai_highschool_magic_f: "魔法高中",
  	fai_highschool_magic_f_description: "我们需要为法师们建造学校",
  	fai_incremental_power: "增量之力",
  	fai_incremental_power_description: "我们将利用北极星的力量来增加产量",
  	fai_ivory_tower_f: "象牙塔",
  	fai_ivory_tower_f_description: "象牙塔将照亮整个登攀者世界",
  	fai_legion_light_p: "光之军团",
  	fai_legion_light_p_description: "随着魔法环数量的增长,我们可以祝福光之战士们了",
  	fai_life_magic_p: "生命魔法",
  	fai_life_magic_p_description: "专注于发展后,我们可以施放“生命魔法”咒语了",
  	fai_life_magic_s: "生命魔法",
  	fai_lighten_rocks: "岩轻术",
  	fai_lighten_rocks_description: "我们可以在采石场中使用这种咒语,消耗法力举起更重的石头",
  	fai_lighten_of_rocks: "岩轻术",
  	fai_lumix_fountain: "辉烬源泉",
  	fai_lumix_fountain_description: "泽尼克斯协助产生辉烬",
  	fai_lumix_fountain_s: "辉烬源泉",
  	fai_lumix_refinery_f: "辉烬精炼厂",
  	fai_lumix_refinery_f_description: "泽尼克斯的智识可以帮助我们生产辉烬",
  	fai_mage_p: "法师",
  	fai_mage_p_description: "我们可以招募法师了",
  	fai_magical_lights: "魔法灯",
  	fai_magical_lights_description: "我们可以在矿井中人工制造魔法灯,帮助矿工们工作",
  	fai_magic_lights: "魔法灯",
  	fai_magic_stable_f: "魔法马厩",
  	fai_magic_stable_f_description: "对马厩施展魔法后,可以创造出更强大的坐骑",
  	fai_magical_tools: "魔法工具",
  	fai_magical_tools_description: "谁不想试试用魔法工具增加产量呢?",
  	fai_magic_tools: "魔法工具",
  	fai_magic_workshop_f: "魔法工坊",
  	fai_magic_workshop_f_description: "出售魔法物品的工坊!",
  	fai_mage_academy_f: "法师学院",
  	fai_mage_academy_f_description: "致力于发现登攀者世界秘密的学院",
  	fai_mana_armor: "魔法护甲",
  	fai_mana_armor_p: "魔法马具",
  	fai_mana_armor_p_description: "强化坐骑们的咒语",
  	fai_mana_armor_s: "魔法马具",
  	fai_mana_defense: "法力防御",
  	fai_mana_defense_description: "我们可以使用法力来保卫城市",
  	fai_mana_defense_II: "法力防御 II",
  	fai_mana_defense_II_description: "我们可以使用更多法力来保卫城市",
  	fai_mana_factory_f: "法力工厂",
  	fai_mana_factory_f_description: "可以产生法力的工厂。泽尼克斯的工厂只能选择其一,请明智选择",
  	fai_mage_fields_f: "法力场",
  	fai_mage_fields_f_description: "法力在其中增长",
  	fai_mana_forest_p: "法力森林",
  	fai_mana_forest_p_description: "我们可以创造法力森林了",
  	fai_mana_forest_s: "法力森林",
  	fai_mana_dome: "法力穹顶",
  	fai_mana_dome_description: "保护城市的法力穹顶",
  	fai_mana_energy_shield: "法力能量盾",
  	fai_mana_energy_shield_description: "使用法力盾强化城墙",
  	fai_mana_flowers_p: "法力之花",
  	fai_mana_flowers_p_description: "专注于魔法后,我们可以施放“法力之花”咒语了",
  	fai_mana_flowers_s: "法力之花",
  	fai_mana_fortress_p: "法力堡垒",
  	fai_mana_fortress_p_description: "是否可以用法力在战斗中制造一个堡垒来保护士兵们?",
  	fai_mana_materials_p: "魔法材料",
  	fai_mana_materials_p_description: "利用法力创造材料",
  	fai_mana_materials_s: "魔法材料",
  	fai_mana_spiral_p: "法力螺旋",
  	fai_mana_spiral_p_description: "我们可以施展一个产生更多法力的咒语了!",
  	fai_mana_spiral_s: "法力螺旋",
  	fai_minor_blessing: "小祝福",
  	fai_minor_blessing_description: "神明赐予我们一些小祝福",
  	fai_mirune_blessing: "米露涅的祝福",
  	fai_mother_earth_blessing: "大地母亲的祝福",
  	fai_mother_earth_blessing_description: "用丰收的礼物填满我们吧",
  	fai_mother_earth_grace: "大地母亲的恩典",
  	fai_mysterious_arcane_blessing: "奥术之谜的祝福",
  	fai_new_world_chant: "新世界的圣歌",
  	fai_northern_star_incremental: "北极星增量",
  	fai_northern_star_power: "北极星之力",
  	fai_northern_star_power_description: "北极星已经落入我们手中了,必须弄清如何引导它的力量",
  	fai_northern_star_protection: "北极星的保护",
  	fai_old_small_one_blessing: "老小者的祝福",
  	fai_old_small_one_blessing_description: "引导我们工匠的手",
  	fai_old_small_one_grace: "老小者的恩典",
  	fai_philosopher_stone_p: "点金石",
  	fai_philosopher_stone_p_description: "寻找点金石",
  	fai_philosopher_stone_s: "点金石",
  	fai_power_spell_east: "东部力量咒语",
  	fai_power_spell_east_description: "东部力量咒语,马儿至上",
  	fai_power_spell_fireball: "秘法·火球",
  	fai_power_spell_fireball_description: "法师和大法师可以使用这个强大的咒语了",
  	fai_power_spell_fireball_s: "秘法·火球",
  	fai_power_spell_north: "北部力量咒语",
  	fai_power_spell_north_description: "北部力量咒语,铁之献祭",
  	fai_power_spell_south: "南部力量咒语",
  	fai_power_spell_south_description: "南部力量咒语,金之融合",
  	fai_power_spell_west: "西部力量咒语",
  	fai_power_spell_west_description: "西部力量咒语,强大如钢",
  	fai_protection_power: "保护之力",
  	fai_protection_power_description: "我们将利用北极星的力量保护城市",
  	fai_sacred_armor: "神圣护甲",
  	fai_sacred_armor_description: "为指挥官配备的魔法护甲",
  	fai_sacred_den_f: "圣谷",
  	fai_sacred_den_f_description: "我们的人民将在圣谷中繁衍生息",
  	fai_sacred_equipments: "神圣装备",
  	fai_sacred_equipments_description: "我们可以利用法力制造魔法装备",
  	fai_sacred_equipments_II: "神圣装备 II",
  	fai_sacred_equipments_II_description: "我们可以利用法力制造更好的魔法装备了",
  	fai_sacred_weapon: "神圣武器",
  	fai_sacred_weapon_description: "让我们给战士们配备神圣的武器",
  	fai_sacrifices_gods: "神明的祭品",
  	fai_sacrifices_gods_description: "我们将祭祀动物取悦神明",
  	fai_shape_mana: "塑形法力",
  	fai_shape_mana_description: "我们可以塑形法力,以此制造护甲",
  	fai_spear_wild_man: "狂野之矛",
  	fai_spear_wild_man_description: "野性之人是非常强的骑手",
  	fai_spell_accept: "施放咒语",
  	fai_spell_cancel: "取消咒语",
  	fai_spell_ancient: "远古咒语",
  	fai_spell_book_p: "法术书",
  	fai_spell_book_p_description: "魔法师们的法术书",
  	fai_spell_book_s: "法术书咒语",
  	fai_steel_palace_f: "钢铁宫殿",
  	fai_steel_palace_f_description: "钢铁宫殿将是我们在登攀者世界中的荣誉殿堂",
  	fai_study_undead_creatures: "研究亡者生物",
  	fai_study_undead_creatures_description: "我们击败了足够多的亡灵,可以研究它们的特征了",
  	fai_summon_nikharul: "召唤尼哈鲁尔",
  	fai_summon_nikharul_description: "利用黑暗水晶的力量控制尼哈鲁尔,让他为我们而战",
  	fai_temple_mirune: "米露涅的寺庙",
  	fai_temple_mirune_description: "森林里的寺庙是献给森林女神米露涅的。让我们清扫这里,向祂致敬",
  	fai_temple_ritual: "寺庙仪式",
  	fai_temple_ritual_description: "寺庙的简单仪式",
  	fai_the_aid: "解决危机",
  	fai_the_aid_description: "越来越多的难民要求进城,现在已经有一大群人了",
  	fai_theresmore_revealed: "登攀者世界揭秘",
  	fai_theresmore_revealed_description: "开始揭开面纱",
  	fai_tome_wisdom_p: "智慧卷轴",
  	fai_tome_wisdom_p_description: "众神送来了智慧卷轴,我们必须研究它",
  	fai_tome_wisdom_s: "智慧卷轴咒语",
  	fai_warrior_gods: "圣斗士",
  	fai_warrior_gods_description: "神明选中的战士加入了我们的行伍",
  	fai_underground_tunnel_f: "地下隧道",
  	fai_underground_tunnel_f_description: "必须探索它",
  	fai_wild_man_blessing: "野性之人的祝福",
  	fai_wild_man_spear: "野性之人的长矛",
  	fai_wild_man_dexterity: "野性之人的灵巧",
  	fai_zenix_aid: "境域行者泽尼克斯",
  	fai_zenix_aid_description: "泽尼克斯愿意回报我们的热情款待,对年轻的战略家们倾囊相授",
  	fai_zenix_archmage: "泽尼克斯的大法师",
  	fai_zenix_archmage_description: "泽尼克斯专注于法力,而不是黄金。请明智选择",
  	fai_zenix_funder: "泽尼克斯的铸金使",
  	fai_zenix_funder_description: "泽尼克斯专注于黄金,而不是法力。请明智选择",
  	fai_zenix_master: "泽尼克斯的统御者",
  	fai_zenix_master_description: "泽尼克斯专注于生产,而不是训练军队。请明智选择",
  	fai_zenix_trainer: "泽尼克斯的训战官",
  	fai_zenix_trainer_description: "泽尼克斯专注于训练军队,而不是生产。请明智选择",
  	fai_zenix_shield: "泽尼克斯的护城盾",
  	fai_zenix_shield_description: "护城盾可以笼罩整座城市",
  	fai_zenix_shield_s: "泽尼克斯的护城盾",
  	img_annhilator: "灭世终焉",
  	img_annhilator_description: "当登攀者世界的军队在毁灭边缘绝望挣扎时,人类启用了最骇人的造物——灭世终焉。这件融合奥术秘典与尖端科技的终极武器,是他们肃清吞噬世界之恶的最后赌注。灭世终焉启动瞬间,苍穹震颤,裹挟光能的湮灭冲击波撕碎深渊,顷刻间驱散了笼罩大地的阴影。胜利曙光初现时,黑暗在灭世级的能量中尖啸溃散。然而当武器功率突破临界点时,现实结构被撕裂出狰狞裂痕——震波中心的空间急剧坍缩,畸变的天空下,吞噬万物的黑洞正缓缓成型。这个由绝望的鲁莽行为催生的虚空旋涡首先吞没了邻近的城市与林海,紧接着山脉崩塌,江河倒灌,连空气都被抽离殆尽。曾英勇抗争的登攀者世界人民,最终只能目睹故土被次元裂隙一寸寸蚕食。当最后的光明湮灭于黑洞视界,他们才惊觉这把双刃剑的真相:寄望拯救的终焉兵器,却如其名般,成为了文明的墓志铭。登攀者世界就此消亡,昔日的生命与荣光尽数湮灭,唯余永恒的虚空深渊,见证着那些妄图驾驭不可控力量的人。他们熟悉的世界,他们经历的生活,都消失在黑洞中,只留下一片空旷的黑暗",
  	img_army: "军队",
  	img_army_description: "登攀者世界充满了危险,离开山谷后,我们发现自己并不是这个世界唯一的存在。世界上潜伏着各种敌人,我们必须武装自己,准备好面对它们。另外,我们现在可以训练侦察兵了,他们将探索这个世界,寻找我们可以开发或征服的东西",
  	img_army_of_dragon: "巨龙来袭",
  	img_army_of_dragon_description: "我们英勇的士兵们再次收紧了队伍,准备迎战。老者的预言是真的,巨龙来取回它的古物了。它的龙仆急躁地扑到城墙上,但我们的防御经受住了冲击,士兵们毫不留情地开始了战斗。巨龙感到很恼火,这些胆大妄为的人类竟敢对抗它的军队,它猛扑到墙上,准备撕碎和燃烧任何敢接近的人。但它犯了严重的错误,它过于接近我们的士兵,受到了反击,士兵们击伤了巨龙,并刺穿了它翅膀的脆弱薄膜。巨龙发现自己成了猎物,趁还来得及,纵身一跃,飞走了。它的军队被打败了,城市安全了。至少,暂时安全了",
  	img_army_of_goblin: "地精大军",
  	img_army_of_goblin_description: "士兵们很清楚,摧毁卡纳瓦村的东西迟早会对我们下手的,因此那个夜晚他们并没有太惊慌。他们在防线上引诱地精狼骑兵来伏击,并迅速地消灭了它们,绿皮们失去了骑兵,开始犹豫不决,最后它们放弃了藏身之处,轻易成为了我们英勇士兵的猎物。领导突袭的地精大王被长矛刺穿了,它的可怕头颅变成了供整个城市观瞻的战利品。我们胜利了,我们的文明暂时安全了",
  	img_ascension: "飞升",
  	img_ascension_description: "您超越了肉体凡胎,意识中有知识流进入。神明们准备好与您交谈,您可以与他们共同生活了。他们将派遣天使前往登攀者世界来帮助您的人民和即将继位的新首领",
  	img_astronomy: "第三纪元的诞生",
  	img_astronomy_description: "我们离开了封建时代,目光转向了苍穹之上。那是众神的居所,我们可以通过研究它的运动来加快科学发展。登攀者世界还有很多东西等着我们去探索,这个时代将有新的机器和新的战斗方式。另外,信念的进步会达到新的最高点",
  	img_barbarian_horde: "野蛮人部族",
  	img_barbarian_horde_description: "“我的人民本该自由地生活,你却奴役了他们,我的兄弟流血了,你也要出血了。准备战争吧!”",
  	img_baron_mordecai: "莫德凯·暗棘男爵",
  	img_baron_mordecai_description: "城市广场迸发的圣光穿透深渊,照亮数十公里外的暗域领地——高阶吸血鬼领主莫德凯的疆界被动摇了。这位深渊主宰的怒意化作惊雷在虚空中炸响:“尔等蝼蚁竟敢用肮脏的光明玷污吾之国度!若不速速滚回地表,吾必将深渊境内的人类尽数屠戮”。伴随帝王般的手势,阴森可怖的血裔军团开始向人类前哨进发,它们裹挟着吞噬光明的腐化黑雾,誓要摧毁所有侵入者与他们的光之信标。在吸血鬼大君威压下,深渊暗影如活物般躁动翻涌,末日般的压迫感扼住了每位守军的咽喉。",
  	img_citadel_dead: "亡者要塞",
  	img_citadel_dead_description: "我们的侦察兵进入一个峡谷,发现了一座古老的城堡。他们看到,这个区域里的居民都变成了僵尸和食尸鬼。另外,这个区域还有双足飞龙筑了巢,以不幸的人为食,最后竟创造了一个繁荣的殖民地。在城堡的中心,出现了一些看起来像是钠红石的东西,我们必须进行调查!",
  	img_colony: "定居点诞生",
  	img_colony_description: "勇敢的定居者们,踏上旅途,前往地平线之外的未知土地吧。充满未知奥秘和无尽财富的地方等待着有人去探索,众神将考验您的勇气。这将是一场独一无二,直面挑战的旅程。这个故事充满了冒险,勇气,也终将成为被后世传诵的传说。让我们积聚力量,磨砺宝剑,是时候驶向未知了。您的肩上承担着的是一个文明的重量,感谢神明的恩典,让我们征服这个新世界,并在此发展壮大!",
  	img_dark_knight_lord: "炎骑士领主城堡",
  	img_dark_knight_lord_description: "此乃吾主亲授城堡所辖之圣域。尔等卑贱的闯入者,汝之苟且营地不过是对深渊主宰的亵渎。以炎为誓,必将汝等污秽之物彻底净化!",
  	img_deep_mine: "登攀者世界的深处",
  	img_deep_mine_description: "矿工们在登攀者世界的深处挖掘,越是深入,从深处传来的怪异噪音就越多。继续挖掘可能会非常危险",
  	img_demoness_castle: "黑角女恶魔",
  	img_demoness_castle_description: "“你怎么敢玷污我的村庄,让我的奴隶们摆脱了永恒的欢愉?你甚至还敢靠近我的城堡!再靠近一步,我就把你变成新的温顺傀儡”",
  	img_elder_dragon: "烬火灾主",
  	img_elder_dragon_description: "“焰缚者”阿兹拉西斯矗立于炼狱辉光中,周身缠绕着活体火焰。他举起双手,号令烈焰,如臂使指,眼中跃动着古老禁忌之力。扭曲的热浪裹挟黑暗魔法,令周遭空气如液态般波动。他身旁是“猩红灾厄”维戈洛斯,展开了遮天巨翼。他的黑曜石鳞片泛着诡谲火光,每一次吐息都似死亡熔炉轰鸣。维戈洛斯曾以狂怒之焰将登攀者世界化为焦土,虽被击退,但如今又凭借阿兹拉西斯的扭曲魔法重生归来,且威能更胜往昔。这对毁灭双子——奥术火焰之主和自然怒火化身——冷漠地蔑视着敌人,深知世界再无力量可阻其步伐",
  	img_ending: "登攀者世界永获安宁?",
  	img_ending_description: "登攀者世界的传说就此落幕。这本写满凯旋和悲歌的书卷,在鲜血与牺牲的纪元终章缓缓合拢。英雄们的话语镌刻在命运长河之中,其威名将永垂不朽。他们的事迹回荡在永恒之中,见证那些不屈不挠对抗黑暗之人的精神。随着最后一页翻过,世界归于沉寂,疑虑如夜空中的幽灵般涌动。来自域外的信号仍在虚空中脉动,那是未解之谜的呼唤,是未知领域的邀约。宇宙的奥秘仍然隐匿,真相依旧遥不可及。这真的就是终章了吗?抑或,新的传奇仍蛰伏在我们所知的天际之外?书册或许暂时合上了,但登攀者世界的回响不会永远沉寂下去",
  	img_enso_multitude: "恩索诸众",
  	img_enso_multitude_description: "在遥远的东方,有文明与我们并称登攀者世界双雄。他们自称恩索,既是开悟者,也蕴含着宇宙之力。圆环是他们的徽记,他们有着杏仁般的眼睛和黄色的皮肤。他们已经发明了火药,且士兵在战斗中非常凶猛,一群人会一起冲向不幸的敌军。他们精心守护着大量的钠红石,恐怕还是考虑跟他们交朋友的好",
  	img_fallen_angel_army_1: "堕天使的火枪恶魔大军",
  	img_fallen_angel_army_1_description: "以史为鉴,我们懂得谨慎的价值。那位德鲁伊其实是个堕天使,渴望染指钠红石及其带来的新武器。他组建了一支恶魔军队,给他们最先进的武器。他们对这座城市的攻击不可不谓神速,但幸亏诸神庇佑,我们的士兵知道如何对付这些混账东西,和他们的羽毛首领。我们的城墙牢不可破,那个曾经看起来神圣的恶魔,现在躺在战场之中,四分五裂,只能用令人不适来描述了",
  	img_fallen_angel_army_2: "堕天使的恶魔大军",
  	img_fallen_angel_army_2_description: "我们城市的驻军等待着恶魔的袭击。地狱怪物一波又一波地冲击着城墙,但都被击退了。最后,堕天使带着所有亲卫进行了最后一波袭击。各种恶魔吐出了火焰,想要撕碎无助的士兵和平民。然而我们的队伍并没有屈服于邪恶,他们闪耀着光芒,对抗着黑暗的侵袭,跟揭穿冒牌德鲁伊真面目时一样。最后,那群混账东西被赶回了土里。堕天使失去了双翼,倒在战场上,再也没法作恶了。登攀者世界,赢了!",
  	img_feudalism: "第二纪元的诞生",
  	img_feudalism_description: "从远古时代起,我们就准备好建造高耸的尖塔,把村庄变为小镇。封建时代带着重甲骑士叩响了我们的门。让纯爷们的第二个时代开始吧",
  	img_glorious_retirement: "光荣退休",
  	img_glorious_retirement_description: "您已经为王国和人民做得够多,是时候退休,享受个人生活了。接下来的旅程,就交给其他人来完成吧!",
  	img_hand_evil: "恶孽之手",
  	img_hand_evil_description: "启动信号机器引发出奥术能量洪流,回荡在深渊内外。这股庞大的能量波动立即引起了众魅魔之母“恶孽之手”的注意。她率领着军团,以骇人速度降临人类营地,黑暗威仪与森然恶意构筑而成的压迫感笼罩了全场。悬于前哨上空的恶魔女王双目迸发出暴怒与探究之火:“区区凡人竟敢驾驭此等力量?”糅杂着诱惑与怨恨的声音撕裂空气,“汝等已惊醒了超越理解的伟力。是从何处觅得并掌控此等威能?”魅魔军团如阴云合围营地,天幕骤然晦暗。恶孽之手的质问既是威胁,也是挑战。依托新获得的科技和大法师泽尼克斯的支援,人类在深渊根基动摇的余波中严阵以待",
  	img_holy_fury: "战斗天使",
  	img_holy_fury_description: "神明们赐予了我们战斗天使,他们平时非常美丽,而在战场上却相当可怕。有了他们,我们就能统治整个登攀者世界了",
  	img_king_kobold_nation: "狗头人之王宣战!",
  	img_king_kobold_nation_description: "谁能想到,这些小东西的社会能够进化到这个地步?登攀者世界所有狗头人都在它们国王手下联合了起来,从地下对我们发动了进攻!",
  	img_kobu_dominion_r: "科布统治领",
  	img_kobu_dominion_r_description: "随着晶体结构的最后一块组件修复完毕,大厅嗡鸣复苏。先前无法辨识的通道随之开启,通往连接地底深层区域的升降梯。科布统治领完全存在于该建筑中。他们拥有机械身躯,技术深不可测。幸好他们已经失去了战争欲望",
  	img_lich_fortress: "尼哈鲁尔窃魂者堡垒",
  	img_lich_fortress_description: "侦察兵深入地下时,看到了一副令人畏惧的景象。他的身前矗立着一座巨大的堡垒,它的城墙高耸入云宵,在黑暗中散发出不祥的光芒。它似乎是直接从基岩上雕刻出来的,每块石头上都流淌着邪恶的能量。当侦察兵靠近堡垒时,他发现城垛上有一支数以千计的亡灵军队。这支军队的领袖是窃魂者尼哈鲁尔,他是一名强大的巫妖,对生者怀着强烈的仇恨。他的眼睛闪耀着另一个世界的光芒,周围的空气中弥漫着黑暗的能量。尼哈鲁尔站在堡垒的前方,凝视着战场,骨手紧握在一起。他的脸上露着残酷的笑容,眼睛里闪烁着恶毒的喜悦。他渴望向我们的世界进军,传播混乱和死亡",
  	img_magic: "信念与魔法",
  	img_magic_description: "自古以来,我们的先辈们就依靠神明们的恩典和帮助。他们的祈祷产生了信念,这让命令我们的神明们非常愉悦。他们在登攀者世界上放出了法力,让每个人都能感受它,并以它为荣。魔法是我们国家的重要组成部分,掌握它以后我们将获得巨大的利益",
  	img_markanat_forest: "玛卡纳特森林",
  	img_markanat_forest_description: "玛卡纳特的居所,它是一只强大而巨大的蜘蛛,守卫着它的水淹丛林。它的巨力可以粉碎数十人。如果我们能打败它,就能收获声誉和荣耀",
  	img_marketplace: "市场",
  	img_marketplace_description: "市场是村庄跳动的心脏。从现在起,来自世界各地的商人们将可以买卖牲畜和各种商品,随着我们继续开发这个地区,我们还可以把它变成一个集市,让这片大陆都知道我们商品的价值",
  	img_mana_engine: "法力引擎",
  	img_mana_engine_description: "我们的专家发现了一种依靠法力运行的机器。它可以与硝石结合,生成一种不稳定的资源:钠红石。有了它,我们的文明将进入机械和天才的新时代。我们能够忍住,不把登攀者世界变成巨大的生产机器吗?我们还能保持对大地和自然的依恋吗?欢迎来到第四纪元!",
  	img_mindless_evil_boss: "无智之恶来袭",
  	img_mindless_evil_boss_description: "在深渊最深处,与无智之恶的最终决战拉开了帷幕。人类与精灵联军严阵以待,他们艰难战胜莫德凯男爵和魅魔女王而铸就了钢铁意志,他们的协同意志与不屈精神构筑成对抗终极暗黑的防线。战斗打响之时,比任何黑夜都浓稠的黑暗吞噬了整个战场,企图吞没所有光明与希望。无智之恶——这个由纯粹混沌和仇恨构成的混沌实体,以令人战栗的流体姿态游走着。它的存在扭曲现实,仅仅靠近就足以将阴影投射至最勇敢的灵魂之上。但登攀者世界的守卫者们未显惧色。伴随荣耀与勇气的呐喊,他们冲入战阵,武器和咒语闪耀着坚定的光芒。人类战士与精灵射手并肩作战,舞动着精准配合的战术对抗侵蚀的黑暗。光明与火焰的咒语与吞噬虚空碰撞,皆为不屈意志的见证。战场之中,英雄辈出。身披闪亮铠甲的人类骑士英勇冲锋,战吼响彻深渊。精灵法师们双手编织着精妙的法术,筑起防护屏障,并发动毁灭性打击。每次斩击,每道咒语,每次牺牲,皆是以守护世界之名。纵然伤亡惨重,血浸焦土,伤者哀鸣不绝,而勇士脚步未滞。指引前路的光之信标因坚定信念愈发明亮,人类与精灵的同盟在战火熔炉中愈发紧密。决胜时刻,大法师泽尼克斯与精灵高阶女祭司融合伟力,释放出直击无智之恶核心的能量洪流。黑暗在魔法与勇气的合击下扭曲尖啸,逝者的牺牲与生者的勇毅终究汇成最后的裁决。无智之恶终消散于虚空,幸存者的欢呼声响彻战场。曾被绝望笼罩之地如今震颤着胜利余波。免于灭顶之灾的登攀者世界伟大城市,将永世铭记此日。人类与精灵的英雄们伫立在废墟之中。他们的荣耀、勇气和牺牲终究没有白费。他们直面深渊,凯旋而归,证明至暗时刻仍有希望之光。他们的壮烈史诗将成为永远的传奇,成为登攀者世界精神的永恒见证",
  	img_nightdale_protectorate: "夜谷保护国",
  	img_nightdale_protectorate_description: "在遥远、寒冷的北方,一群野蛮人部落联合了起来,最后形成一个可以忍受恶劣气候的国家。他们以英勇善战而闻名,也很擅长锻铁。他们与贫瘠土地上的野蛮人进行着永无休止的斗争,只是为了保护北极星,那个位于常年冰层里的强大古物",
  	img_orc_horde_boss: "兽人部落来袭",
  	img_orc_horde_boss_description: "临近兽人部落最后一次进攻,人类为之后的战斗做好了准备。城池固若金汤,彰显出人民的力量和决心。兽人们在野蛮的狂怒驱使下,也毫不留情地冲了过来。兽人们疯狂地冲击城墙,愤怒的战吼响彻战场。人类使出了浑身解数,利用科技的力量粉碎着兽人入侵者。钢铁与钢铁的冲击声,还有魔法的轰鸣声在整片天空下回响,两边都为了生存而奋战着。最后,人类的勇猛和计策决定了战斗的结果,人类,胜利了。扫清残余的兽人战士后,登攀者世界再度安全了。人民为了英雄的胜利而欢欣鼓舞,有风吹过,载着他们的欢呼声冲向九天之上。勇敢的人类绝不会被这样的试炼打倒!",
  	img_reactivate_portal: "亡者大军",
  	img_reactivate_portal_description: "重新激活传送门以后,您建立了一条通往亡者领域的通道,骷髅王的大军势不可挡,正准备摧毁登攀者世界,必须抓紧时间,趁还来得及,尽快阻止它们",
  	img_sssarkat_empire: "撒尔喀特帝国",
  	img_sssarkat_empire_description: "在祖尔坦之外的温暖水域中,生活着类似蝾螈的生物,他们主要在水下活动。他们来自一个已经消失的远古文明,利用余留的科技在废墟中生存。他们经常来到陆地上,在阳光明媚的海岸上可以发现他们的村庄",
  	img_scalerock_tribes: "鳞岩部落",
  	img_scalerock_tribes_description: "龙人的部落生活在鳞岩山之巅。他们住在岩石上的洞穴里,会飞跃山顶,向毫无防备的敌人猛扑下去。由于是龙裔,在制造物品方面他们仍然保持了龙的智慧和工艺。他们会不择手段获取钠红石,或许是祖先的传承让他们知道了它的存在吧",
  	img_skullface_encampment: "强盗首领骷髅脸",
  	img_skullface_encampment_description: "骷髅脸是这个地区强盗的首领。他对我们城市的经济稳定产生了威胁,但他也是一位魅力十足且十分狡猾的领袖",
  	img_start: "人类纪元开启",
  	img_start_description: "从游牧的猎人和采集者起,我们的人民发展壮大,并准备在肥沃的山谷中定居下来。或许在此将崛起登攀者世界最伟大的国家。人类的时代才刚刚开始",
  	img_strange_encounter: "奇怪的邂逅",
  	img_strange_encounter_description: "我们必须谨慎行事,这些森林中的生灵完全是迷一样的存在,只有在世代相传的低语和故事中能隐约看到他们。他们步伐敏捷,百发百中,森林是他们的主场。与他们的偶遇值得大书特书,我们的文明获得了一个接触新种族的机会。让我们以尊重、开放的态度,和正确的技巧来接洽他们吧。谁也难以说清,这些难以捉摸的生灵会给我们持续增长的定居点带来什么样的知识、资源和友谊",
  	img_the_portal: "邪恶传送门",
  	img_the_portal_description: "击溃邪雾后,人类与精灵联军必须建立传送门以抵近邪恶本源——纯粹黑暗与恶意的深渊。传送门的建造过程错综复杂,融合了精灵的魔法造诣和人类的科技智慧。传送门成形后,诡异寒意自其内部发散,在周边投射出冰霜与凶兆兼具的气场。传送门稳定后,人类和精灵的联军踏入深渊,以钢铁意志直面环绕周身的实质化恶意。此地黑暗无边无际,吞噬着每一丝光明。这个领域完全不存在希望,是他们试图对抗的邪恶化身",
  	img_theresmore_richest_nation: "登攀者世界富甲天下!",
  	img_theresmore_richest_nation_description: "我们的商人遍布登攀者世界每个角落,我们的仓库里装满了黄金,没有人能不被我们的经济收买和征服",
  	img_theresmore_wanders: "登攀游荡者",
  	img_theresmore_wanders_description: "东部草原上的居民世代游牧。他们的营地绵延数码,他们会在开发一个区域的资源后继续前进,寻找新的地点定居。马背上的他们可谓无往不利,会利用机动性突袭邻近的王国。他们控制着登攀者世界最大的牧场,但通常并不可靠",
  	img_vampire_lair: "吸血鬼",
  	img_vampire_lair_description: "吸血鬼坐在一堆白骨之上,从她的藏身之处出现了。她有着火红的眼睛,漆黑的鸦翅。虽然她会利用自己的力量来吃人,但她长得确实非常好看。将军向我们保证可以击败她,但,代价是什么?",
  	img_western_kingdom: "西部王国",
  	img_western_kingdom_description: "西部王国是西部的荣耀,登攀者世界最先进的王国。他们的城市富丽堂皇,城堡从数码外都能看到。他们的重骑兵震撼大地,令敌人闻风丧胆。他们掌握了通往西海的通道,这是这片大陆唯一的海上出口",
  	img_zultan_emirate: "祖尔坦酋长国",
  	img_zultan_emirate_description: "几个自治城邦在南部阳光明媚的沙滩上蓬勃发展。这些大都市中最强大的就是祖尔坦,它们都听命于祖尔坦大酋长。他们从登攀者世界最荒凉的土地开始发展,并通过与大陆各处的贸易而繁荣起来。他们保护着阿塔玛的火焰,据说就是它建立了祖尔坦之城",
  	leg_acolyte_fate: "命运侍僧",
  	leg_acolyte_fate_description: "命运的忠仆",
  	leg_ancient_balor_l: "远古炎魔",
  	leg_ancient_balor_l_description: "召唤远古恶魔",
  	leg_ancient_vault: "远古保险库",
  	leg_ancient_vault_description: "解锁远古保险库",
  	leg_ancient_treasury: "远古宝库",
  	leg_ancient_treasury_description: "对思想和腰包都有帮助",
  	leg_ancient_treasury_II: "远古宝库 II",
  	leg_ancient_treasury_II_description: "揭示和购买登攀者世界",
  	leg_ancient_treasury_III: "远古宝库 III",
  	leg_ancient_treasury_III_description: "别了,上限",
  	leg_ancient_treasury_IV: "远古宝库 IV",
  	leg_ancient_treasury_IV_description: "研究的问题迎刃而解",
  	leg_angel: "战斗天使",
  	leg_angel_description: "为人类而战的圣战士",
  	leg_architecture_titan: "泰坦的建筑",
  	leg_architecture_titan_description: "解锁巨型工作区",
  	leg_army_of_men: "匹夫有责",
  	leg_army_of_men_description: "让我们扩大军队的规模",
  	leg_army_of_men_II: "匹夫有责 II",
  	leg_army_of_men_II_description: "万里长城永不倒",
  	leg_army_of_men_III: "匹夫有责 III",
  	leg_army_of_men_III_description: "携手并进",
  	leg_army_of_men_IV: "匹夫有责 IV",
  	leg_army_of_men_IV_description: "众志成城",
  	leg_army_of_men_V: "匹夫有责 V",
  	leg_army_of_men_V_description: "人民战争的汪洋大海",
  	leg_army_of_men_VI: "匹夫有责 VI",
  	leg_army_of_men_VI_description: "其力无穷",
  	leg_army_of_men_VII: "匹夫有责 VII",
  	leg_army_of_men_VII_description: "登攀者世界屹立不倒",
  	leg_army_of_men_VIII: "匹夫有责 VIII",
  	leg_army_of_men_VIII_description: "人类雄师",
  	leg_army_of_men_IX: "匹夫有责 IX",
  	leg_army_of_men_IX_description: "终焉篇章",
  	leg_cartomancer: "卡牌占卜师",
  	leg_cartomancer_description: "一定会神抽到那张卡的",
  	leg_cpt_galliard_story: "加里亚德团长的故事",
  	leg_cpt_galliard_story_description: "解锁团长的故事",
  	leg_charism: "魅力",
  	leg_charism_description: "您的名字会被更多地提及",
  	leg_charism_II: "魅力 II",
  	leg_charism_II_description: "他应该为王",
  	leg_clairvoyant: "神算者",
  	leg_clairvoyant_description: "知晓运势的流动",
  	leg_clever_villagers: "聪明的村民",
  	leg_clever_villagers_description: "人民更加聪明了",
  	leg_clever_villagers_II: "聪明的村民 II",
  	leg_clever_villagers_II_description: "研究问题更少了",
  	leg_clever_villagers_III: "聪明的村民 III",
  	leg_clever_villagers_III_description: "研究创新",
  	leg_clever_villagers_IV: "聪明的村民 IV",
  	leg_clever_villagers_IV_description: "深渊研究",
  	leg_coin_mercenary: "代币佣兵",
  	leg_coin_mercenary_description: "解锁卡纳瓦护卫佣兵",
  	leg_cpt_galliard_l: "加里亚德团长",
  	leg_cpt_galliard_l_description: "雇佣加里亚德团长",
  	leg_craftmen: "工匠",
  	leg_craftmen_description: "可以生产研究材料",
  	leg_craftmen_II: "工匠 II",
  	leg_craftmen_II_description: "您的补给方面碰到什么麻烦了吗?",
  	leg_craftmen_III: "工匠 III",
  	leg_craftmen_III_description: "补给方面不会再有什么问题了",
  	leg_craftmen_IV: "工匠 IV",
  	leg_craftmen_IV_description: "钠红石方面碰到什么麻烦了吗?",
  	leg_craftmen_V: "工匠 V",
  	leg_craftmen_V_description: "钠红石方面不会再有什么问题了",
  	leg_craftmen_VI: "工匠 VI",
  	leg_craftmen_VI_description: "钠红石大概要过剩了",
  	leg_deep_pockets: "聚宝盆",
  	leg_deep_pockets_description: "可以存放大量黄金",
  	leg_deep_pockets_II: "聚宝盆 II",
  	leg_deep_pockets_II_description: "黄金总是多多益善",
  	leg_deep_pockets_III: "聚宝盆 III",
  	leg_deep_pockets_III_description: "遨游金海",
  	leg_deep_pockets_IV: "聚宝盆 IV",
  	leg_deep_pockets_IV_description: "金力觉醒",
  	leg_deep_pockets_V: "聚宝盆 V",
  	leg_deep_pockets_V_description: "金神降世",
  	leg_deep_pockets_VI: "聚宝盆 VI",
  	leg_deep_pockets_VI_description: "金河奔涌",
  	leg_deep_pockets_VII: "聚宝盆 VII",
  	leg_deep_pockets_VII_description: "金宙无极",
  	leg_defensive_rampart: "壁垒",
  	leg_defensive_rampart_description: "解锁壁垒",
  	leg_elysian_field: "乐土",
  	leg_elysian_field_description: "神赐的乐土",
  	leg_elysian_field_II: "乐土 II",
  	leg_elysian_field_II_description: "让我们扩展乐土并保卫它",
  	leg_elysian_field_III: "乐土 III",
  	leg_elysian_field_III_description: "神明的琼浆玉液",
  	leg_elysian_field_IV: "乐土 IV",
  	leg_elysian_field_IV_description: "圣临炽原",
  	leg_elysian_field_V: "乐土 V",
  	leg_elysian_field_V_description: "天界伊甸",
  	leg_enhanced_axes: "强化斧头",
  	leg_enhanced_axes_description: "为伐木工改善斧头",
  	leg_enhanced_axes_II: "强化斧头 II",
  	leg_enhanced_axes_II_description: "为伐木工提供更好的斧头",
  	leg_enhanced_axes_III: "强化斧头 III",
  	leg_enhanced_axes_III_description: "为伐木工提供钛斧",
  	leg_enhanced_axes_IV: "强化斧头 IV",
  	leg_enhanced_axes_IV_description: "为伐木工提供史诗级的斧头",
  	leg_enhanced_axes_V: "强化斧头 V",
  	leg_enhanced_axes_V_description: "为伐木工提供深渊斧头",
  	leg_enhanced_axes_VI: "强化斧头 VI",
  	leg_enhanced_axes_VI_description: "为伐木工提供辉烬斧头",
  	leg_enhanced_pickaxes: "强化镐子",
  	leg_enhanced_pickaxes_description: "为矿工改善镐子",
  	leg_enhanced_pickaxes_II: "强化镐子 II",
  	leg_enhanced_pickaxes_II_description: "为矿工提供更好的镐子",
  	leg_enhanced_pickaxes_III: "强化镐子 III",
  	leg_enhanced_pickaxes_III_description: "为矿工提供钛镐",
  	leg_enhanced_pickaxes_IV: "强化镐子 IV",
  	leg_enhanced_pickaxes_IV_description: "为矿工提供史诗级的镐子",
  	leg_enhanced_pickaxes_V: "强化镐子 V",
  	leg_enhanced_pickaxes_V_description: "为矿工提供深渊镐子",
  	leg_enhanced_pickaxes_VI: "强化镐子 VI",
  	leg_enhanced_pickaxes_VI_description: "为矿工提供辉烬镐子",
  	leg_fortune_teller: "占卜者",
  	leg_fortune_teller_description: "一点点运气",
  	leg_free_hands: "增员",
  	leg_free_hands_description: "我们需要更多的人口!",
  	leg_free_hands_II: "增员 II",
  	leg_free_hands_II_description: "还要更多的人口!就是这样!",
  	leg_free_hands_III: "增员 III",
  	leg_free_hands_III_description: "人口?人口!!!",
  	leg_free_hands_IV: "增员 IV",
  	leg_free_hands_IV_description: "婴儿潮来了!",
  	leg_free_hands_V: "增员 V",
  	leg_free_hands_V_description: "人潮澎湃!",
  	leg_grain_storage: "粮食储存",
  	leg_grain_storage_description: "解锁粮仓",
  	leg_gift_creators: "造物主的赠礼",
  	leg_gift_creators_description: "造物主帮助我们进行建造",
  	leg_gift_nature: "自然的赠礼",
  	leg_gift_nature_description: "自然为我们提供丰富的资源",
  	leg_god_luck: "幸运之神",
  	leg_god_luck_description: "赞颂幸运之神",
  	leg_guild_craftsmen: "工匠公会",
  	leg_guild_craftsmen_description: "解锁工匠公会",
  	leg_juggernaut: "主宰",
  	leg_juggernaut_description: "大型亡者肉盾",
  	leg_hall_dead: "亡者大厅",
  	leg_hall_dead_description: "亡者工作的大厅",
  	leg_hall_wisdom: "智慧大厅",
  	leg_hall_wisdom_description: "过去的研究大厅",
  	leg_heirloom_contract: "契约传家宝",
  	leg_heirloom_contract_description: "隐于纪念碑之中,强化它的效果",
  	leg_heirloom_death: "死亡传家宝",
  	leg_heirloom_death_description: "隐于纪念碑之中,强化它的效果",
  	leg_heirloom_horseshoes: "马蹄铁传家宝",
  	leg_heirloom_horseshoes_description: "隐于纪念碑之中,强化它的效果",
  	leg_heirloom_momento: "纪念品传家宝",
  	leg_heirloom_momento_description: "隐于纪念碑之中,强化它的效果",
  	leg_heirloom_wealth: "财富传家宝",
  	leg_heirloom_wealth_description: "隐于纪念碑之中,强化它的效果",
  	leg_heirloom_wisdom: "智慧传家宝",
  	leg_heirloom_wisdom_description: "隐于纪念碑之中,强化它的效果",
  	leg_irrigation_techniques: "灌溉技术",
  	leg_irrigation_techniques_description: "改善技术可以生产更多食物",
  	leg_irrigation_techniques_II: "灌溉技术 II",
  	leg_irrigation_techniques_II_description: "再度改善技术还可以生产更多食物",
  	leg_irrigation_techniques_III: "灌溉技术 III",
  	leg_irrigation_techniques_III_description: "如同威尼斯一般的运河",
  	leg_irrigation_techniques_IV: "灌溉技术 IV",
  	leg_irrigation_techniques_IV_description: "农业技术在我们面前不再有任何秘密",
  	leg_irrigation_techniques_V: "灌溉技术 V",
  	leg_irrigation_techniques_V_description: "深渊农业",
  	leg_irrigation_techniques_VI: "灌溉技术 VI",
  	leg_irrigation_techniques_VI_description: "辉烬农业",
  	leg_library_theresmore: "登攀者世界图书馆",
  	leg_library_theresmore_description: "解锁登攀者世界图书馆",
  	leg_light_circle: "光明之环",
  	leg_light_circle_description: "光之环",
  	leg_light_circle_II: "光明之环 II",
  	leg_light_circle_II_description: "纯净之光",
  	leg_light_circle_III: "光明之环 III",
  	leg_light_circle_III_description: "照亮深渊",
  	leg_light_circle_IV: "光明之环 IV",
  	leg_light_circle_IV_description: "永恒之光",
  	leg_militia_recruitment: "招募民兵",
  	leg_militia_recruitment_description: "解锁城堡民兵",
  	leg_ministry_interior_l: "内政部",
  	leg_ministry_interior_l_description: "负责研究和物流",
  	leg_ministry_war_l: "战争部",
  	leg_ministry_war_l_description: "负责军队和实力",
  	leg_ministry_worship_l: "宗教部",
  	leg_ministry_worship_l_description: "负责魔法和信仰",
  	leg_machines_gods: "诸神的机器",
  	leg_machines_gods_description: "诸神的生产机器",
  	leg_mercenary_agreements: "佣兵合约",
  	leg_mercenary_agreements_description: "金钱的力量带来了强大的佣兵",
  	leg_mercenary_agreements_II: "佣兵合约 II",
  	leg_mercenary_agreements_II_description: "金钱不问出处",
  	leg_mercenary_agreements_III: "佣兵合约 III",
  	leg_mercenary_agreements_III_description: "只要目的正当,可以不择手段",
  	leg_monastic_orders: "修道会",
  	leg_monastic_orders_description: "解锁修道院",
  	leg_monument_1: "纪念碑",
  	leg_monument_1_description: "解锁纪念碑",
  	leg_powered_weapons: "武器强化",
  	leg_powered_weapons_description: "为军队提供新式武器",
  	leg_powered_weapons_II: "武器强化 II",
  	leg_powered_weapons_II_description: "更加致命的武器",
  	leg_powered_weapons_III: "武器强化 III",
  	leg_powered_weapons_III_description: "更强更致命的武器",
  	leg_powered_weapons_IV: "武器强化 IV",
  	leg_powered_weapons_IV_description: "非常致命的军队",
  	leg_powered_weapons_V: "武器强化 V",
  	leg_powered_weapons_V_description: "强化后期",
  	leg_powered_weapons_VI: "武器强化 VI",
  	leg_powered_weapons_VI_description: "不朽的军队",
  	leg_powered_weapons_VII: "武器强化 VII",
  	leg_powered_weapons_VII_description: "战无不胜的军队",
  	leg_powered_weapons_VIII: "武器强化 VIII",
  	leg_powered_weapons_VIII_description: "不朽的军队",
  	leg_powered_weapons_IX: "武器强化 IX",
  	leg_powered_weapons_IX_description: "辉烬的军队",
  	leg_priest: "牧师",
  	leg_priest_description: "解锁牧师",
  	leg_regional_market: "区域市场",
  	leg_regional_market_description: "解锁区域市场",
  	leg_renowned_stonemasons: "著名石匠",
  	leg_renowned_stonemasons_description: "采石场的工人变得更有经验",
  	leg_renowned_stonemasons_II: "著名石匠 II",
  	leg_renowned_stonemasons_II_description: "采石场的工人再次变得更有经验",
  	leg_renowned_stonemasons_III: "著名石匠 III",
  	leg_renowned_stonemasons_III_description: "非常老练的采石场工人!",
  	leg_renowned_stonemasons_IV: "著名石匠 IV",
  	leg_renowned_stonemasons_IV_description: "采石场的大师!",
  	leg_renowned_stonemasons_V: "著名石匠 V",
  	leg_renowned_stonemasons_V_description: "石材惠及众生!",
  	leg_renowned_stonemasons_VI: "著名石匠 VI",
  	leg_renowned_stonemasons_VI_description: "解决石材问题",
  	leg_resource_cap: "资源上限",
  	leg_resource_cap_description: "可以为仓库提供帮助",
  	leg_resource_cap_II: "资源上限 II",
  	leg_resource_cap_II_description: "可以为仓库提供更多空间",
  	leg_resource_cap_III: "资源上限 III",
  	leg_resource_cap_III_description: "可以为贵重物资提供更多空间",
  	leg_resource_cap_IV: "资源上限 IV",
  	leg_resource_cap_IV_description: "再次可以为贵重物资提供更多空间",
  	leg_resource_cap_V: "资源上限 V",
  	leg_resource_cap_V_description: "为贵重物资提供大量空间",
  	leg_resource_cap_VI: "资源上限 VI",
  	leg_resource_cap_VI_description: "为贵重物资提供更大量的空间",
  	leg_resource_cap_VII: "资源上限 VII",
  	leg_resource_cap_VII_description: "为贵重物资提供超大量的空间",
  	leg_resource_cap_VIII: "资源上限 VIII",
  	leg_resource_cap_VIII_description: "为贵重物资提供极大量的空间",
  	leg_seraphim_l: "炽天使",
  	leg_seraphim_l_description: "天使中最高阶的存在",
  	leg_service_gods: "侍奉神明",
  	leg_service_gods_description: "向神明致敬",
  	leg_service_gods_II: "侍奉神明 II",
  	leg_service_gods_II_description: "信奉神明",
  	leg_service_gods_III: "侍奉神明 III",
  	leg_service_gods_III_description: "虔诚信仰神明",
  	leg_service_gods_IV: "侍奉神明 IV",
  	leg_service_gods_IV_description: "敬拜神明",
  	leg_service_gods_V: "侍奉神明 V",
  	leg_service_gods_V_description: "敬畏神明",
  	leg_shieldbearer: "持盾卫士",
  	leg_shieldbearer_description: "解锁持盾卫士",
  	leg_shopkeepers_and_breeders: "店主和饲育员",
  	leg_shopkeepers_and_breeders_description: "使工匠和饲育员获得加成",
  	leg_shopkeepers_and_breeders_II: "店主和饲育员 II",
  	leg_shopkeepers_and_breeders_II_description: "我们可以参加一些马展",
  	leg_shopkeepers_and_breeders_III: "店主和饲育员 III",
  	leg_shopkeepers_and_breeders_III_description: "工具及马之大师",
  	leg_soothsayer: "占卜师",
  	leg_soothsayer_description: "运气很不错",
  	leg_spikes_and_pits: "尖刺与陷坑",
  	leg_spikes_and_pits_description: "在城市周围布置陷阱",
  	leg_spikes_and_pits_II: "尖刺与陷坑 II",
  	leg_spikes_and_pits_II_description: "在城市周围布置更多陷阱",
  	leg_spikes_and_pits_III: "尖刺与陷坑 III",
  	leg_spikes_and_pits_III_description: "利用遗物的力量强化防御",
  	leg_spikes_and_pits_IV: "尖刺与陷坑 IV",
  	leg_spikes_and_pits_IV_description: "更多遗物的力量!",
  	leg_spikes_and_pits_V: "尖刺与陷坑 V",
  	leg_spikes_and_pits_V_description: "主宰也太狂野了!",
  	leg_spikes_and_pits_VI: "尖刺与陷坑 VI",
  	leg_spikes_and_pits_VI_description: "来自深渊的强化!",
  	leg_stock_resources: "库存资源",
  	leg_stock_resources_description: "初始拥有更多资源",
  	leg_stock_resources_II: "库存资源 II",
  	leg_stock_resources_II_description: "初始拥有大量资源",
  	leg_stonemason_l: "石匠坊",
  	leg_stonemason_l_description: "解锁石匠坊",
  	leg_strengthening_faith: "强化信念",
  	leg_strengthening_faith_description: "更加坚定的祈祷",
  	leg_strengthening_faith_II: "强化信念 II",
  	leg_strengthening_faith_II_description: "人人都应该拥有法力和信念",
  	leg_strengthening_faith_III: "强化信念 III",
  	leg_strengthening_faith_III_description: "法力泉涌",
  	leg_strengthening_faith_IV: "强化信念 IV",
  	leg_strengthening_faith_IV_description: "法力充沛",
  	leg_strengthening_faith_V: "强化信念V",
  	leg_strengthening_faith_V_description: "深渊法力",
  	leg_strengthening_faith_VI: "强化信念 VI",
  	leg_strengthening_faith_VI_description: "祈祷神明",
  	leg_strong_workers: "强壮的工人",
  	leg_strong_workers_description: "可以手动采集更多资源",
  	leg_strong_workers_II: "强壮的工人 II",
  	leg_strong_workers_II_description: "可以手动采集还要更多的资源",
  	leg_train_colonial: "训练定居点的军队",
  	leg_train_colonial_description: "创造更有效的定居点武装力量",
  	leg_train_colonial_II: "训练定居点的军队 II",
  	leg_train_colonial_II_description: "为定居点军队提供更好的装备",
  	leg_train_colonial_III: "训练定居点的军队 III",
  	leg_train_colonial_III_description: "为定居点军队提供非常好的装备",
  	leg_undead_herds: "亡者兽群",
  	leg_undead_herds_description: "学习如何饲育亡者兽群",
  	leg_wall_titan: "泰坦之墙",
  	leg_wall_titan_description: "解锁磐石巨墙",
  	leg_weapons_titan: "泰坦的武器",
  	leg_weapons_titan_description: "泰坦将他的武器赐予我们",
  	leg_white_m_company: "白色连队",
  	leg_white_m_company_description: "解锁白色连队佣兵",
  	leg_woodworking: "木工",
  	leg_woodworking_description: "解锁锯木厂",
  	leg_zenix_familiar_l: "泽尼克斯的使魔",
  	leg_zenix_familiar_l_description: "解锁泽尼克斯的使魔",
  	log_bui_1_alchemic_laboratory: "炼金术士生产硝石,可用于制造火绳枪和炮弹",
  	log_bui_5_amusement_quarter_b: "我们可以研究幸运投资了",
  	log_bui_10_amusement_quarter_b: "我们可以研究幸运小城了",
  	log_bui_15_amusement_quarter_b: "我们可以研究不义之财了",
  	log_bui_1_artisan_workshop: "我们可以通过工匠作坊,制造其他工作所需的工具",
  	log_bui_5_artisan_workshop: "我们的城市以其土特产而闻名",
  	log_bui_7_artisan_workshop: "工匠们学会了如何为军队制造更好的装备",
  	log_bui_13_artisan_workshop: "我们可以制造还要更好的装备了",
  	log_bui_15_artisan_workshop: "这个区域还有着食品杂货店和木匠工坊,它是城市的生产中心",
  	log_bui_1_barracks: "随着第一个兵营的诞生,我们的强军之路开始了",
  	log_bui_8_bank: "我们有足够多的银行了,我们可以建造一个金库来存储黄金",
  	log_bui_1_beacon_light: "随着第一座光之信标的建立,人类在至邪领域筑起了前哨。厉风呼啸于信标气场之外,胆敢逾越守护之光者再无归途。受诅者的凄厉哀嚎日夜萦绕新辟的营地,在这浸透恶意的诡谲之地,住民们逐渐陷入癫狂",
  	log_bui_1_carpenter_workshop: "用木材、石头和工具就可以制造出建筑原料了",
  	log_bui_1_city_hall: "城市需要能够行使正义和权力的中心",
  	log_bui_1_city_center: "封建时代开始了",
  	log_bui_1_colony_hall: "我们可以选择定居点的特化方向了。在研究面板下可以从三个选项中选择一个:军事,生产和信仰。请谨慎选择,您只能选择其一",
  	log_bui_2_colony_hall: "在定居点的发展下,本土产生了对新技术的渴望",
  	log_bui_3_colony_hall: "我们需要开始开发定居点周边了",
  	log_bui_4_colony_hall: "一些神秘人物在周围的树林里监视着定居点",
  	log_bui_5_colony_hall: "定居点还在发展,我们可以寻求新的特化了",
  	log_bui_6_colony_hall: "是时候让侦察兵探索新世界了",
  	log_bui_8_colony_hall: "精灵需要我们,我们得跟夸拉尔罗克坦交流一下了,不过他们可不太友好",
  	log_bui_10_colony_hall: "定居点已经变为小城了,我们可以寻求新的特化了",
  	log_bui_12_colony_hall: "定居点中一些孤立的农场遭到劫掠,并被焚毁了。受害者的伤口极其可怕,似乎是某种巨力所为。现场没有发现任何孩子",
  	log_bui_15_colony_hall: "定居点已经是整个登攀者世界的骄傲了。我们建造个奇观来庆祝吧!",
  	log_bui_1_containment_cell: "亘古水晶仍在禁锢单元之中,它的能量开始修复周遭所有精灵的基因组。这块魔法石能够赋予接触者力量的传闻不胫而走,人类对这个强大古物的求知欲顿时席卷大陆",
  	log_bui_2_containment_cell: "人类被古物的力量吸引,开始溯源。水晶噼啪作响,能量奔涌,恍若以人类的求知欲和贪婪为食。它重塑了人类基因,赐予触碰者悠长寿命。人们排起了长队,试图利用律法控制局势,但躁动与暴乱与日俱增。经年累月,水晶渐显异变,曾经晶莹剔透的本体开始闪烁起黑暗的色调,折射出从人类欲望中吸纳的堕落浊流",
  	log_bui_3_containment_cell: "人类对力量的无尽渴求持续榨取水晶之力,终于,它彻底腐化了。宿命之日,水晶迸发出玄黑雷暴,瞬息间吞噬了数百名疯狂触碰者的生命。目睹惨象的精灵法师们疾赴现场,试图控制并中和古物的新生力量,却尽数湮灭于失控能量的焚天怒焰",
  	log_bui_5_common_house: "您的城市开始成长了",
  	log_bui_8_common_house: "过去时代的记忆父子相传,仍然鲜活,我们可以研究神话学了",
  	log_bui_15_common_house: "恭喜,您的小城已经初具规模了!",
  	log_bui_1_credit_union: "我们可以在人口面板下分配交易人工作了",
  	log_bui_5_eureka_halls_b: "我们可以研究金点子了",
  	log_bui_10_eureka_halls_b: "我们可以研究灵感了",
  	log_bui_15_eureka_halls_b: "我们可以研究历史学硕士了",
  	log_bui_5_fate_shrine_b: "我们可以研究武学了",
  	log_bui_10_fate_shrine_b: "我们可以研究命运祝福了",
  	log_bui_15_fate_shrine_b: "我们可以研究命运之化身了",
  	log_bui_5_farm: "农民们的技艺越来越精湛了",
  	log_bui_15_farm: "农业的发展产生了新的地主",
  	log_bui_1_fortune_grove: "我们发现了一片幸运树林",
  	log_bui_3_fortune_grove: "我们发现了一口幸运之井",
  	log_bui_5_fortune_grove: "我们发现了灵感大厅",
  	log_bui_7_fortune_grove: "我们发现了适合建造娱乐区域的好地方",
  	log_bui_8_fortune_grove: "我们发现了迷宫般的地下隧道",
  	log_bui_9_fortune_grove: "我们发现了命运神殿",
  	log_bui_1_grocery: "用食物和牲畜就可以制造出补给品了",
  	log_bui_1_island_outpost: "我们可以利用前哨的力量探索浩瀚无边的海洋了",
  	log_bui_1_industrial_plant: "在工业厂房中,工匠会变为工人",
  	log_bui_1_ivory_tower_b: "我们可以招募大教长了",
  	log_bui_1_library_souls: "学者们变成了部分为亡灵的生物,产生大量食物。他们不再需要吃饭,也不再需要睡觉了",
  	log_bui_1_light_square_b: "我们可以在光耀广场上进行军事演习,强化我们的军队。先从射手开始吧",
  	log_bui_2_light_square_b: "我们可以召集圣职者,建立防御堡垒!",
  	log_bui_3_light_square_b: "我们可以召集步兵了!",
  	log_bui_4_light_square_b: "我们可以召集现代骑士了!",
  	log_bui_5_light_square_b: "灾变将至,我们必须强化深渊中的防御工事",
  	log_bui_5_lucky_grove_b: "我们可以研究出售木材了",
  	log_bui_10_lucky_grove_b: "我们可以研究优质幸运木了",
  	log_bui_15_lucky_grove_b: "我们可以研究训练有素的长弓手了",
  	log_bui_5_lucky_well_b: "我们可以研究投币了",
  	log_bui_10_lucky_well_b: "我们可以研究孽财了",
  	log_bui_15_lucky_well_b: "我们可以研究黄金之泉了",
  	log_bui_1_lumix_plant: "我们可以招募辉烬铸匠了",
  	log_bui_5_lumberjack_camp: "一个木雕师社区正在兴起",
  	log_bui_15_lumberjack_camp: "我们的木制品质量极高,让其他很多王国都眼红",
  	log_bui_1_mansion: "要结束封建时代,我们必须建造更多的大学、食品杂货店、钢铁厂、木匠工坊和宅邸。这样才是真正的城市!",
  	log_bui_1_marketplace: "终于有市场了!我们可以买卖商品了",
  	log_bui_5_marketplace: "市场规模日益扩张,我们可以组织集市了",
  	log_bui_1_magic_circle: "我们可以用法力做到多少惊人的事啊。但小心,光与影是永远并存的",
  	log_bui_3_magic_circle: "魔法环逐渐扩张,我们可以选择要专注的领域了。您希望学者们专注于魔法,研究还是发展呢?请明智选择,因为您只能选择其中一种领域",
  	log_bui_6_magic_circle: "我们解锁了专注领域的后续内容!",
  	log_bui_8_magic_circle: "我们可以祝福光之战士们了!",
  	log_bui_9_magic_circle: "我们解锁了专注领域的后续内容!",
  	log_bui_13_magic_circle: "我们解锁了专注领域的后续内容!",
  	log_bui_5_mercenary_camp: "我们可以研究突袭训练了",
  	log_bui_10_mercenary_camp: "我们可以研究劫掠训练了",
  	log_bui_15_mercenary_camp: "我们可以研究佣兵口袋了",
  	log_bui_1_military_academy: "军事学院中有人提出了制造防御性超级武器的计划",
  	log_bui_1_military_camp: "军需官将帮助我们管理军队的食物补给",
  	log_bui_1_ministry_development: "继续拓展部委数量,我们可以获得新技术",
  	log_bui_5_mine: "矿工们正在深入地下",
  	log_bui_10_mine: "登攀者世界的地底并不安全,继续挖掘可能会非常危险",
  	log_bui_15_mine: "我们在矿井里发现了一个奇怪的传送门,上面满是与法力共鸣的古代符号。我们需要建造法力之柱才能继续",
  	log_bui_1_monument: "纪念碑是来自过去的遗物。里面装有传家宝,研究后对我们的城市将有很大帮助",
  	log_bui_1_oracle_b: "我们可以预测战斗的结果了!",
  	log_bui_1_officer_training_ground: "我们可以招募将军了",
  	log_bui_2_quarry: "继续建造采石场可能会让我们发现更多矿物",
  	log_bui_3_quarry: "石工发现了金属矿床",
  	log_bui_5_quarry: "新工具增加了采石效率",
  	log_bui_15_quarry: "石头加工业正在蓬勃发展,产量进一步增加了",
  	log_bui_1_refugee_district: "一位衣衫褴褛的老者站在难民中间,他很肯定,野兽发动攻击的原因,是其中一个村庄里保存的头骨。这件古物被老者保存了下来,他现在把它交给了您",
  	log_bui_1_pillars_of_mana: "激活第一根法力之柱时,矿井深处传来了一阵巨大的震动",
  	log_bui_1_research_plant: "我们可以招募研究员了",
  	log_bui_1_wall: "我们完成了城墙的建造,我们还可以利用魔法防御系统、攻城机器和哨兵来充实防御",
  	log_bui_1_watchman_outpost: "建造至少四个前哨后,我们就可以判断是否有敌人正在接近定居点了",
  	log_bui_1_sanctum_healing: "一旦圣所建成,精灵的衰变稳定下来,我们就要深入研究他们衰变背后的原因了",
  	log_bui_1_stable: "马供军队,牛供市场。真是繁荣啊",
  	log_bui_1_steelworks: "我们可以为军队生产钢了",
  	log_bui_1_temple: "通过信念,远古神明们将会听到我们的声音",
  	log_bui_7_temple: "有了这么多寺庙后,我们可以为战士祝福了",
  	log_bui_13_temple: "信仰之军整装待发",
  	log_bui_1_tower_mana: "我们集齐了四条力量咒语,现在可以建造众神之陵,并向神明献上贡品了。它将引导我们走向飞升的道路",
  	log_bui_1_university: "教授可以通过魔法元素合成水晶",
  	log_bui_7_university: "一位来自远方的法师自称泽尼克斯,他对城市的历史和魔法研究很感兴趣,希望向最博学的教授学习",
  	log_bui_5_underground_tunnel_b: "我们可以研究隧道准备了",
  	log_bui_10_underground_tunnel_b: "我们可以研究隧道总部了",
  	log_bui_15_underground_tunnel_b: "我们可以研究隧道贮藏了",
  	log_cap_5000_food: "我们必须开发这片丰饶的土地",
  	log_dip_attack_is_coming: "守望者们发现敌袭!快到城墙上去!!!",
  	log_dip_enso_multitude: "侦察兵远赴东部,发现了一个文明国度,他们自称恩索诸众",
  	log_dip_kobu_dominion_r: "随着晶体结构的最后一块组件修复完毕,大厅嗡鸣复苏。先前无法辨识的通道随之开启,通往连接地底深层区域的升降梯。",
  	log_dip_nightdale_protectorate: "侦察兵前往北部,发现了一个由众多战士部落组成的国家,名为夜谷保护国",
  	log_dip_scalerock_tribes: "侦察兵进入了鳞岩山,发现了由龙人组成的鳞岩部落",
  	log_dip_sssarkat_empire: "侦察兵跟着一条神话中失落文明的传说来到了撒尔喀特帝国",
  	log_dip_western_kingdom: "侦察兵前往西部,发现了一个技术很先进的王国。大城堡和闪闪发亮的盔甲是他们的骄傲和快乐源泉",
  	log_dip_theresmore_wanders: "侦察兵进入了荒芜的东部,回来时带来了奇怪的故事,据说有游牧部落在无边无际的平原上漫游",
  	log_dip_zultan_emirate: "侦察兵深入南部沙漠,发现了一个富饶的王国,其繁荣的贸易遍布整个登攀者世界",
  	log_dip_king_kobold_nation: "征服了地下的狗头人以后,您收到一条消息:我是马格里斯,狗头人之王,我们将夷平你的城市",
  	log_dip_barbarian_horde: "侦察兵发现一个野蛮人部族正在接近山谷。他们的国王声称我们让他的人民流了血。我们被迫开战了!!!",
  	log_dip_relationship_neutral: "我们目前与这个派系的关系为中立。改善关系后我们可以互相联盟,恶化关系后我们可以宣战",
  	log_dip_relationship_positive: "我们目前与这个派系的关系为正面",
  	log_dip_relationship_negative: "我们目前与这个派系的关系为负面",
  	log_ene_ancient_burial_place: "侦察兵发现了一个闹鬼的墓地,我把圣符放哪去了?",
  	log_ene_ancient_lighthouse: "侦察兵发现了一座远古灯塔",
  	log_ene_ancient_giant: "侦察兵发现了远古巨人的洞穴!",
  	log_ene_ancient_hideout: "侦察兵发现了一个远古藏身处。里面还有战利品吗?",
  	log_ene_ancient_ruin: "侦察兵发现了深渊中的远古遗迹",
  	log_ene_church_abyss: "侦察兵发现了深渊中被侵蚀的教堂",
  	log_ene_dark_knight_patrol: "侦察兵发现了黑暗骑士巡逻队",
  	log_ene_dark_village: "侦察兵发现了深渊中的黑暗村庄",
  	log_ene_evil_abode: "侦察兵发现了邪恶居所",
  	log_ene_ball_lightning_field: "侦察兵发现了一片充满球形闪电的土地,小心电击",
  	log_ene_galliard_mercenary_camp: "侦察兵发现了一位著名佣兵团团长的营地!",
  	log_ene_lead_golem_mine: "侦察兵发现了一个铅魔像盘踞的旧矿井",
  	log_ene_king_reptiles: "侦察兵发现了一个被遗忘的山谷,里面充满了巨型爬行动物",
  	log_ene_harpy_nest: "侦察兵发现了一个鹰身女妖巢穴!他差点被歌声魅惑了",
  	log_ene_barbarian_camp: "侦察兵回来时脸色苍白,情绪激动,他恐惧的源头,来自于野蛮人",
  	log_ene_barbarian_village: "侦察兵发现了野蛮人的村庄,或许我们可以向他们输出文明?",
  	log_ene_barren_hills: "侦察兵发现一座荒山,上面满是狗头人和巨人",
  	log_ene_bugbear_tribe: "侦察兵发现了熊地精部落,这些人型的大地精会掠夺这片区域",
  	log_ene_bugbear_war_party: "侦察兵发现了熊地精的作战队!它们在酋长的带领下沿途抢劫",
  	log_ene_burning_pit: "侦察兵发现了一个地方,恶魔从中出现,威胁着这个世界",
  	log_ene_citadel_dead: "侦察兵发现了一座闹鬼的要塞。小心里面的僵尸和双足飞龙(还有一些食尸鬼)",
  	log_ene_construction_site: "侦察兵发现了一处巨大的建筑空地。让我们征服它吧",
  	log_ene_corrupted_lands: "侦察兵发现了腐化水晶附近的土地,小心邪雾!",
  	log_ene_dark_pit: "侦察兵发现了满是恶魔的暗渊之阱",
  	log_ene_death_1: "侦察兵一无所获,羞愧难当,不敢返回,选择了人间蒸发",
  	log_ene_death_2: "侦察兵被俘虏了,成了树的装饰品",
  	log_ene_death_3: "侦察兵遇到了一只女恶魔,然后放弃了自由",
  	log_ene_death_4: "侦察兵穿过了传送门,再也没有人见过他",
  	log_ene_death_5: "侦察兵遭到母鸡追逐,不幸阵亡了",
  	log_ene_death_6: "侦察兵被一只六眼飞鱼杀死了",
  	log_ene_death_7: "侦察兵落入了深渊之中",
  	log_ene_death_8: "侦察兵饮用了过多杜松子酒,挂了",
  	log_ene_death_9: "侦察兵被栅栏刺穿了",
  	log_ene_death_10: "侦察兵被一位愤怒的农夫枭首了",
  	log_ene_death_11: "侦察兵遭遇一只地精,一番对峙后流血致死",
  	log_ene_death_12: "侦察兵中了地精一箭,死于中毒",
  	log_ene_death_13: "侦察兵被一个高等恶魔吞噬了",
  	log_ene_death_14: "侦察兵在探查强盗营地时被杀害了",
  	log_ene_death_15: "侦察兵因战利品过重,被压死了",
  	log_ene_death_16: "侦察兵掉下了树,摔死了",
  	log_ene_death_17: "侦察兵被一只蛇怪石化了",
  	log_ene_death_18: "侦察兵与一只三头鸵鸟进行了搏斗,不幸遇难",
  	log_ene_death_19: "侦察兵被一名刺客暗杀了",
  	log_ene_death_20: "侦察兵误食侏儒肉,不幸身亡",
  	log_ene_death_21: "侦察兵被一位死灵法师变成了僵尸",
  	log_ene_death_22: "侦察兵被逃兵活活打死了",
  	log_ene_death_23: "侦察兵被一只巨魔碾死了",
  	log_ene_death_24: "侦察兵当了逃兵",
  	log_ene_death_25: "侦察兵死于痢疾",
  	log_ene_death_26: "侦察兵被一匹马撞死了",
  	log_ene_death_27: "侦察兵被一只毒蛇咬了一口,再也没能起来",
  	log_ene_death_28: "侦察兵因败血症而离世",
  	log_ene_death_29: "侦察兵与一只可怜的海鸥展开了殊死搏斗,最后不幸阵亡了",
  	log_ene_death_30: "侦察兵与一条亡灵巨龙进行战斗,毫无疑问地被杀死了",
  	log_ene_death_31: "侦察兵遭遇了黑暗命运,再也没有回来",
  	log_ene_death_32: "侦察兵被595个骷髅包围了,未能突围",
  	log_ene_death_33: "侦察兵碰到了极其好笑的东西,狂笑不止,突发心脏病,没了",
  	log_ene_death_34: "侦察兵在尝试一个惊险角度的自拍时不幸坠崖",
  	log_ene_death_35: "侦察兵在调查奇怪的呱呱声时被一只大蛤蟆生吞了",
  	log_ene_death_36: "侦察兵在试图顺走巨龙财宝时被发现了,未能逃脱",
  	log_ene_death_37: "侦察兵突遇暴风雪,拐错弯迷路了,最后死于失温",
  	log_ene_death_38: "侦察兵在寻找松露时被一群野猪吃掉了",
  	log_ene_death_39: "侦察兵在试图躲避一群受惊的大象时被友军误伤,不幸罹难",
  	log_ene_death_40: "侦察兵在过河时被石头绊倒跌进河里,溺水身亡",
  	log_ene_death_41: "侦察兵在调查奇怪的嗡嗡声时被一群杀人蜂蜇死了",
  	log_ene_death_42: "侦察兵在寻找近路时陷入了流沙中",
  	log_ene_death_43: "侦察兵在调查附近奶牛场的奇怪噪音时,被一个失控从山上滚下的奶酪轮碾压致死",
  	log_ene_death_44: "侦察兵试图捕捉独角兽,被一群独角兽践踏而死",
  	log_ene_death_45: "侦察兵在与一个淘气的仙女没完没了地玩捉迷藏之后筋疲力尽,倒下了",
  	log_ene_death_46: "侦察兵尝试拿回一支丢失的箭,被一条巨龙盯上,活活烧死",
  	log_ene_death_47: "侦察兵在茂密的丛林里寻找奇异药草时遭到巨蛇吞噬",
  	log_ene_death_48: "侦察兵在调查棕榈树林中的奇怪噪音时被椰子砸死了",
  	log_ene_death_49: "侦察兵在打盹时被一个友善的巨人误认为是讨厌的虫子,遭到误杀",
  	log_ene_death_50: "侦察兵想要目击传说中的“大家伙”,却不幸葬身鱼腹",
  	log_ene_death_51: "侦察兵在晴朗的夜晚观星时被陨石砸中了",
  	log_ene_death_52: "侦察兵在地底玩猫捉老鼠时被一个心怀恶意的恶魔杀死了",
  	log_ene_death_53: "侦察兵发现了一种罕见的蛇,在试图进行研究时不幸被咬,未能幸免于难",
  	log_ene_death_54: "侦察兵在调查森林中奇怪的吞咽声时被一只野生火鸡啄死了",
  	log_ene_death_55: "侦察兵在一座废弃的豪宅中调查奇怪的噪音时,遭遇了可怕的鬼魂,因突发心脏病而死亡",
  	log_ene_death_56: "侦察兵遇到了一场龙卷风,在尝试抓拍时被卷入,再也没有出现",
  	log_ene_death_57: "侦察兵在树下躲避风暴时,树突然被压垮了",
  	log_ene_death_58: "侦察兵发现了一件被诅咒的古物,人间蒸发了",
  	log_ene_death_59: "侦察兵掉进了一个隐藏陷阱,不幸丧生",
  	log_ene_death_60: "侦察兵被着魔藤蔓困住了,最后被森林吞噬",
  	log_ene_death_61: "侦察兵被海妖的歌声迷惑,溺死于河中",
  	log_ene_death_62: "侦察兵掉进了蜘蛛怪物的大网里,慢慢窒息而亡",
  	log_ene_death_63: "侦察兵遭到女巫蓄意报复,被诅咒变成了石头",
  	log_ene_death_64: "侦察兵遭到幽灵袭击,灵魂散失在以太之中",
  	log_ene_death_65: "侦察兵遭遇愤怒的风暴元素,吃了它召唤的一道闪电,立仆",
  	log_ene_death_66: "侦察兵被一群饥饿的冰原狼吃掉了",
  	log_ene_death_67: "侦察兵被阴暗的幽灵拖入了地下世界",
  	log_ene_death_68: "侦察兵被诱入迷宫,倒在了迷宫深处",
  	log_ene_death_69: "侦察兵受到了复仇之魂的诅咒,只能永世作为幽灵漫无目的地游荡了",
  	log_ene_death_70: "侦察兵被食肉植物诱捕,慢慢地被消化了",
  	log_ene_death_71: "侦察兵被扭曲的幻象困住了,最终失去了理智",
  	log_ene_death_72: "侦察兵遭到一群嗜血蝙蝠的伏击,被吸干了",
  	log_ene_death_73: "侦察兵掉入梦之陷阱,被梦境同化了",
  	log_ene_death_74: "侦察兵被黑魔法腐化,变成了行尸走肉般的奴仆",
  	log_ene_death_75: "侦察兵在一面诅咒镜子前摔倒了,掉进了镜子的另一侧,再也没能出来",
  	log_ene_death_76: "侦察兵被诅咒藤蔓缠住,慢慢地失去了生命",
  	log_ene_death_77: "侦察兵掉入了谎言之网,被自己的幻象下了黑手",
  	log_ene_death_78: "侦察兵被混乱的漩涡困住,最后四分五裂",
  	log_ene_death_79: "侦察兵被远古邪魔的触手困住,遭到吞噬",
  	log_ene_death_80: "侦察兵被黑暗结界困住,失去了活下去的信念",
  	log_ene_death_81: "侦察兵终日被疯狂的低语包围,终于绝望了",
  	log_ene_death_82: "侦察兵被死亡之握抓住,被拉入了虚空",
  	log_ene_death_83: "侦察兵陷入了命运之锁链,结局悲惨",
  	log_ene_death_84: "侦察兵遭到了不朽之诅咒,注定永世流浪",
  	log_ene_death_85: "侦察兵被命运之握抓住,被卷入了未知之地",
  	log_ene_death_86: "侦察兵被时间之雾困住,迷失在历史洪流中",
  	log_ene_death_87: "侦察兵被过去的幻影困住,被悔恨吞噬了",
  	log_ene_death_88: "侦察兵被一群狂暴的不死老鼠撕碎了",
  	log_ene_death_89: "侦察兵被一群食肉圣甲虫活吞了",
  	log_ene_death_90: "侦察兵在充满陷阱的走廊中被尖刺刺穿了",
  	log_ene_death_91: "侦察兵被吸血鬼幽灵吸干了",
  	log_ene_death_92: "侦察兵被酸性软泥融化了",
  	log_ene_death_93: "侦察兵被食肉植物的锋利荆棘撕碎了",
  	log_ene_death_94: "侦察兵被海妖的触手撕裂了",
  	log_ene_death_95: "侦察兵被一群凶猛的地狱犬肢解了",
  	log_ene_death_96: "侦察兵被巨型蝎子的毒刺刺穿了",
  	log_ene_death_97: "侦察兵被龙息火焰吞噬了",
  	log_ene_death_98: "侦察兵被女妖的哀嚎诅咒,凋零了",
  	log_ene_death_99: "侦察兵被怪物淹死在了酸液池中",
  	log_ene_death_100: "侦察兵被蛇怪的目光石化了",
  	log_ene_death_101: "侦察兵被一群饥饿的狼人吃掉了",
  	log_ene_death_102: "侦察兵陷入了噩梦之网,被逼疯了",
  	log_ene_death_103: "侦察兵跌了一跤,掉进了满是蛋奶冻的坑里",
  	log_ene_death_104: "侦察兵被一个过于热情的巨魔拥抱,死于窒息",
  	log_ene_death_105: "侦察兵一直听一位五音不全的吟游诗人唱小夜曲,竟就此丧生了",
  	log_ene_death_106: "侦察兵被淘气的小精灵挠痒至死",
  	log_ene_death_107: "侦察兵陷入无法抑制的狂笑中,最后活活笑死了",
  	log_ene_death_108: "侦察兵被迷人的舞蹈催眠了,一直跳舞,直到倒下",
  	log_ene_death_109: "侦察兵被打歪的变形术变成了一只鸡",
  	log_ene_death_110: "侦察兵遭到巫师蓄意报复,被变成了一只青蛙",
  	log_ene_death_111: "侦察兵的智商被一只狡猾的松鼠碾压了,无颜苟活",
  	log_ene_death_112: "侦察兵被亮闪闪的东西分散了注意力,掉下了悬崖",
  	log_ene_death_113: "侦察兵被刚出炉的饼干香味迷住了,掉进了陷阱里",
  	log_ene_death_114: "侦察兵被自己的倒影迷住了,忘记了周遭的危险",
  	log_ene_death_115: "侦察兵向模仿怪发起了凝视比赛,最终落败",
  	log_ene_death_116: "侦察兵被笨拙巫师塔上掉落的铁砧压扁了",
  	log_ene_death_117: "侦察兵被诅咒只能用诗歌说话,没过多久就被忽略了",
  	log_ene_demonic_portal: "侦察兵发现了一个被恶魔围绕的传送门",
  	log_ene_demoness_castle: "侦察兵发现了女恶魔的城堡",
  	log_ene_dense_oasis: "侦察兵发现了茂密的绿洲,里面全是娜迦",
  	log_ene_desecrated_temple: "侦察兵发现了月神的神庙遗址,它的腐臭味从数百米以外都能闻到",
  	log_ene_deserters_den: "侦察兵发现了逃兵和强盗的巢穴",
  	log_ene_djinn_palace: "侦察兵发现了灯神的踪迹,它建造了一座宏伟的玻璃宫殿,并有几个娜迦在守卫着",
  	log_ene_east_sacred_place: "侦察兵发现了东部圣地!",
  	log_ene_earth_elemental_circle: "侦察兵发现了地之元素环!",
  	log_ene_elder_dragon: "侦察兵发现了烬火灾主",
  	log_ene_eternal_halls: "侦察兵发现了永恒大殿,征服它,向西部王国的人民证明我们的价值",
  	log_ene_ettin_camp: "侦察兵发现了双头巨人的营地,几个当地人被关在了笼子里,或许是交易筹码吧",
  	log_ene_ettin_enslaver: "侦察兵发现了贩卖奴隶的双头巨人部落",
  	log_ene_explore_desert: "侦察兵发现了精灵神话中的南火荒漠",
  	log_ene_fire_mage_domain: "侦察兵发现了南火荒漠中的火法师领域",
  	log_ene_hell_hole: "侦察兵发现了前往地底的入口,恶魔在洞穴中游荡,我们可能无法想象会碰到什么样的怪物。要小心!",
  	log_ene_loot: "侦察兵带回了他能找到的一切东西",
  	log_ene_loots: "侦察兵们带回了他们能找到的一切东西",
  	log_ene_no_loot: "侦察兵探索了许久,空手而归",
  	log_ene_no_loots: "侦察兵们探索了许久,空手而归",
  	log_ene_bandit_camp: "侦察兵发现了一个强盗营地。消灭掉他们,我们就能使农民和商人们免受威胁了",
  	log_ene_basilisk_cave: "侦察兵发现了一个蛇怪洞穴,小心它们的石化目光",
  	log_ene_black_mage_tower: "侦察兵发现了一座黑塔,里面住着一大群地精,以及它们的主人",
  	log_ene_cave_bats: "侦察兵发现了一个满是吸血蝙蝠的洞穴",
  	log_ene_circle_necromancer: "侦察兵发现了死灵法师之环",
  	log_ene_far_west_island: "侦察兵发现了一个需要向西航行数日才能到达的小岛",
  	log_ene_fire_elemental_circle: "侦察兵发现了火之元素环!",
  	log_ene_forgotten_shelter: "侦察兵发现了加里亚德团长的遗忘避难所!",
  	log_ene_frost_elemental_circle: "侦察兵发现了冰之元素环!",
  	log_ene_fire_salamander_nest: "侦察兵发现了一个满是火蜥蜴的巢穴,小心火焰!",
  	log_ene_gloomy_werewolf_forest: "侦察兵发现了传说怪物狼人藏身的森林",
  	log_ene_giant_temple: "侦察兵在丛林中发现了一个巨型寺庙",
  	log_ene_goblin_lair: "侦察兵发现了地精的巢穴,我们得赶走这些恶臭的家伙们,占领它们的领地",
  	log_ene_golem_cave: "侦察兵发现了充满魔像的洞穴,贸然靠近可能危及生命",
  	log_ene_gold_mine: "侦察兵发现了一个大型金矿,可惜里面有大量巨魔",
  	log_ene_gorgon_cave: "侦察兵发现了传说怪物蛇发女妖藏身的巢穴",
  	log_ene_gnoll_camp: "侦察兵发现了豺狼人的大营地,它们由一位首领统领",
  	log_ene_gnoll_raiding_party: "侦察兵发现了豺狼人的一支突袭队正在漫无目的地游荡",
  	log_ene_gulud_ugdun: "侦察兵发现了兽人们囚禁孩子们的地方!乌格顿的城堡我拆定了,众神也救不了,我说的",
  	log_ene_haunted_library: "侦察兵发现了一个闹鬼的图书馆,我们能获得其中的知识吗?",
  	log_ene_hobgoblin_chieftain: "侦察兵发现了一名淘气鬼酋长,它带领着一队部下",
  	log_ene_hobgoblin_encampment: "侦察兵发现了一个满是淘气鬼士兵的营地",
  	log_ene_hydra_pit: "侦察兵发现了传说怪物五个头的多头蛇藏身的坑",
  	log_ene_huge_cave: "侦察兵发现了灵魂图书馆下面的东西:一个巨大的洞穴,充满了亡者生物!",
  	log_ene_immense_door_e: "侦察兵发现了一扇埋在流沙下的巨门",
  	log_ene_lich_temple: "侦察兵发现了死灵法师来自哪里,那是一名巫妖的寺庙",
  	log_ene_leprechaun_den: "侦察兵发现了小矮妖的巢穴,里面有着黄金和好运!",
  	log_ene_lost_valley: "侦察兵发现了失落山谷,小心野兽!",
  	log_ene_kobold_city: "侦察兵发现了一座满是狗头人的城市。它会不会是某个更大国家的一部分?",
  	log_ene_kobold_looters: "侦察兵发现了一小群狗头人掠夺者",
  	log_ene_kobold_stash: "侦察兵发现了狗头人藏匿处",
  	log_ene_kobold_underground_tunnels: "侦察兵发现了一个充斥着狗头人的地下隧道,让我们把它们赶走吧",
  	log_ene_korrigan_dolmen: "侦察兵发现了一圈石屋,科里根矮妖们守卫着那里",
  	log_ene_naga_nest: "侦察兵发现了娜迦老巢。在远处您就能听到被当成食物来源的动物叫声",
  	log_ene_nasty_pillagers: "侦察兵发现周围有一小群掠夺者,让我们把他们赶走把",
  	log_ene_necromancer_crypt: "侦察兵发现了一位死灵法师的家,里面到处都是食尸鬼和恶魂",
  	log_ene_necropolis: "侦察兵发现了深渊中的大墓地",
  	log_ene_north_sacred_place: "侦察兵发现了北部圣地!",
  	log_ene_markanat_forest: "侦察兵跟随着玛卡纳特的故事,终于发现了它栖息的丛林。小心那只巨蜘蛛!",
  	log_ene_mercenary_camp: "侦察兵发现了一个佣兵营地",
  	log_ene_minotaur_maze: "侦察兵发现了传说怪物牛头怪藏身的迷宫",
  	log_ene_mountain_cave: "侦察兵发现了山上的一个巨大洞穴,或许这是巨人的洞穴",
  	log_ene_mountain_valley: "侦察兵发现了群山中央一个美丽的大山谷。巨人在这里安家",
  	log_ene_myconid_cavern: "侦察兵发现了蕈人部落栖身的洞穴",
  	log_ene_old_herd: "侦察兵发现了一片老草场",
  	log_ene_old_outpost: "侦察兵发现了加里亚德提过的旧前哨。让我们肃清那里吧!",
  	log_ene_old_storage_room: "侦察兵发现了一个旧贮藏室,有蜘蛛在里面筑了巢",
  	log_ene_orc_gormiak_citadel: "侦察兵发现了兽人的堡垒,尝尝人类的复仇怒火吧",
  	log_ene_orc_horith_citadel: "侦察兵发现了兽人的霍里斯堡垒",
  	log_ene_orc_ogsog_citadel: "侦察兵发现了兽人的奥索格堡垒",
  	log_ene_orc_turgon_citadel: "侦察兵发现了兽人的图尔冈堡垒",
  	log_ene_orc_raiding_party: "侦察兵发现了一支兽人军队,他们正在这片土地上胡作非为",
  	log_ene_orcish_prison_camp: "侦察兵发现了兽人的集中营,里面关押着劫掠而来的俘虏",
  	log_ene_prisoner_wagon: "侦察兵发现了一架满是囚犯的马车。有一些强盗在守卫着它",
  	log_ene_rat_cellar: "侦察兵发现了一个充满贪婪老鼠的地窖",
  	log_ene_raider_hideout: "侦察兵发现了掠夺者藏身处。芝麻开门!",
  	log_ene_rusted_warehouse: "侦察兵发现了一个偏远生锈的仓库",
  	log_ene_save_damned: "侦察兵发现了一些迷失于黑暗的居民",
  	log_ene_skullface_encampment: "侦察兵发现了骷髅脸的藏身之地,我们现在只需要干掉他了",
  	log_ene_sleeping_titan: "侦察兵发现了传说中沉睡的泰坦!",
  	log_ene_snakes_nest: "侦察兵发现了一个满是蛇的巢穴",
  	log_ene_spider_forest: "侦察兵发现了一个遍布蜘蛛网的茂密森林",
  	log_ene_smuggler_warehouse: "侦察兵发现了走私者仓库",
  	log_ene_son_atamar: "侦察兵在一个被摧毁的旧农场中发现了阿塔玛之子的聚集地",
  	log_ene_south_sacred_place: "侦察兵发现了南部圣地!",
  	log_ene_strange_village: "侦察兵发现了一个奇怪的村庄,他遭到了居民的袭击,那些居民的攻击性看起来很奇怪,就像是着魔了一样",
  	log_ene_succubus_library: "侦察兵发现了一个黑暗图书馆,里面住着魅魔",
  	log_ene_swarm_wasp: "侦察兵发现一大群巨黄蜂在这片土地上游荡",
  	log_ene_temple_gargoyle: "侦察兵在一片茂密的森林中发现了一座寺庙,石像鬼们在看守着它",
  	log_ene_troll_cave: "侦察兵发现了一个巨魔洞穴,最好等到我们足够强大以后再来考虑",
  	log_ene_vampire_crypt: "侦察兵发现了一个吸血鬼地穴,我们需要进行调查",
  	log_ene_vampire_lair: "侦察兵发现了吸血鬼,她的能力威胁着登攀者世界的每位自由公民",
  	log_ene_west_sacred_place: "侦察兵发现了西部圣地!",
  	log_ene_wind_elemental_circle: "侦察兵发现了风之元素环!",
  	log_ene_wolf_pack: "侦察兵发现了一大群狼",
  	log_ene_worn_down_crypt: "侦察兵在一片阴森森林的一个偏僻的犄角旮旯,发现了一个通往破旧地穴的入口。一些骷髅骑士守卫着它。",
  	log_ene_wyvern_nest: "侦察兵发现了双足飞龙的巢穴。这些长得像龙的生物很强大,领地意识很强",
  	log_ene_zombie_horde_small: "侦察兵发现了小型尸潮",
  	log_ene_zombie_horde_large: "侦察兵发现了大型尸潮",
  	log_ene_zombie_horde_huge: "侦察兵发现了巨型尸潮",
  	log_fam_30: "您的领导力受到全城的认可",
  	log_fam_70: "我们的城市正在扩张,逐渐成为了附近的参照物",
  	log_fam_150: "我们的城市和功绩开始受到整个地区的赞颂",
  	log_fam_300: "得益于技术创新和新建的基础设施,我们的城市开始在数十里内都为人所知了",
  	log_fam_700: "您带领城市走向伟大的方式已经足够使您在史书上留下浓墨重彩的一笔了",
  	log_fam_1100: "我们的城市已经成为一个伟大国家的中心了",
  	log_starving: "城市陷入了饥荒,快生产食物!",
  	log_village_empty: "您的村庄十分空旷,研究一些新技术吧",
  	log_fai_accept_druid: "德鲁伊和他的信仰与日俱增,我们已经任命他为主教,他将为我们祝福",
  	log_fai_amusement_quarter_f: "我们可以建造娱乐区域了",
  	log_fai_archmage_p: "我们可以招募大法师了",
  	log_fai_armored_caravan_p: "我们可以招募武装商队了",
  	log_fai_banish_druid: "城市的守卫进入了精神花园,德鲁伊在里面被越来越多人围绕着。德鲁伊被赶出了城市,并被禁止再次进入。德鲁伊被抓住时,似乎十分愤怒,花园里的植物都枯萎了,并且有不止一名目击者发誓他看到火焰从德鲁伊的眼睛里冒出来",
  	log_fai_city_blessing: "我们需要增加现代武器的产量并建立额外的防御力量。这个咒语会帮助我们",
  	log_fai_control_fortress: "我们可以建造窃魂者堡垒了",
  	log_fai_demonology: "研究新击败的恶魔以后,我们找到了利用它力量的方法,以及如何发现它的来源的方法。我们需要派遣侦察兵去确认",
  	log_fai_demoniac_tome: "卷轴包含了许多黑暗咒语以及一位女主人和她的下仆签订的契约。也许村里的人是某种高等恶魔的仆人。卷轴里有寻找它的线索。让我们派侦察兵去探索吧!",
  	log_fai_dragon_skull: "有了这个头骨,我们就可以为士兵配备最高级的武器和护甲了。但愿老者的话语不是事实",
  	log_fai_enhanced_barracks_f: "我们可以建造强化兵营了",
  	log_fai_enchanted_bullet: "我们可以施放“附魔子弹”咒语了",
  	log_fai_eureka_halls_f: "我们可以建造灵感大厅了",
  	log_fai_fate_shrine_f: "我们可以建造命运神殿了",
  	log_fai_life_magic_p: "我们可以施放“生命魔法”咒语了",
  	log_fai_gold_consecration: "神力站在了我们这一边,我们必须继续增加黄金的储量",
  	log_fai_gold_factory_f: "我们可以建造黄金工厂了",
  	log_fai_gold_trasmutation: "我们可以施放“黄金炼成”咒语了,泽尼克斯追加了两个互斥的专精",
  	log_fai_highlightment_p: "我们可以施放“明悟”咒语了",
  	log_fai_highschool_magic: "我们可以建造魔法高中了",
  	log_fai_hope_children: "受到古鲁德魔法影响的孩子们充满了魔法能量,他们的歌声和希望可以引导人类!我们可以施放“孩子们的希望”咒语了",
  	log_fai_ivory_tower_f: "我们可以建造象牙塔了!",
  	log_fai_lucky_grove_f: "我们可以建造幸运树林了",
  	log_fai_lucky_well_f: "我们可以建造幸运之井了",
  	log_fai_lumix_fountain: "我们可以建造辉烬源泉了",
  	log_fai_lumix_refinery_f: "我们可以建造辉烬精炼厂了",
  	log_fai_mage_p: "我们可以招募法师了",
  	log_fai_mage_academy_f: "我们可以建造法师学院了",
  	log_fai_magic_workshop_f: "我们可以建造魔法工坊了",
  	log_fai_mana_armor_p: "我们可以施放“魔法马具”咒语了",
  	log_fai_mana_factory_f: "我们可以建造法力工厂了",
  	log_fai_mage_fields_f: "我们可以建造法力场了",
  	log_fai_mana_flowers_p: "我们可以施放“法力之花”咒语了",
  	log_fai_mana_forest_p: "我们可以施放“法力森林”咒语了",
  	log_fai_mana_fortress_p: "我们可以制造法力堡垒了",
  	log_fai_mana_materials_p: "我们可以施放“魔法材料”咒语了",
  	log_fai_mana_spiral_p: "我们可以施放“法力螺旋”咒语了",
  	log_fai_magic_stable_f: "我们可以建造魔法马厩了",
  	log_fai_northern_star_power: "我们可以通过两种不同的方式利用北极星的力量:保护城市,或者是引导它的能量增加产量。二者只能选择其一,请明智选择",
  	log_fai_philosopher_stone_p: "我们可以施放“点金石”咒语了",
  	log_fai_power_spell_fireball: "我们可以施放“秘法·火球”咒语了",
  	log_fai_prayer_for_the_ancient_monk: "我们可以训练武僧了",
  	log_fai_prayer_goddess_luck: "幸运是登攀者世界每个人都应牢记的财富,越幸运越好",
  	log_fai_prayer_lonely_druid: "德鲁伊同意给我们祝福了,现在可以施放一个强大的咒语。德鲁伊的信条是摒弃钠红石,蔑视卑鄙的金钱,为什么他会在祝福里面给我们这些呢?",
  	log_fai_sacred_den_f: "我们可以建造圣谷了",
  	log_fai_sacred_place: "我们可以派侦察兵去探究登攀者世界上的圣地了。征服它们,将所有的法力导入一座塔内,并施放四条力量咒语,就可以通往飞升转生",
  	log_fai_speel_book_p: "我们可以施放“法术书”咒语了",
  	log_fai_steel_palace_f: "我们可以建造钢铁宫殿了!",
  	log_fai_strange_lamp: "拿起灯以后,它启动了,然后灯神就此出现。它感谢我们还给它自由,大笑着飞走了。我们应该派侦察兵去寻找它的家",
  	log_fai_summon_nikharul: "我们可以训练窃魂者尼哈鲁尔了!",
  	log_fai_the_aid: "为了解决难民的问题,我们必须建立新的区域,这会花费大量资源,但我们会从这些人的工作中获益",
  	log_fai_temple_mirune: "森林女神米露涅赐予我们一条强大的咒语。我们可以施放它了",
  	log_fai_tome_wisdom_p: "我们可以施放“智慧卷轴”咒语了",
  	log_fai_underground_tunnel_f: "我们可以建造地下隧道了",
  	log_fai_warrior_gods: "我们可以训练圣斗士了",
  	log_fai_zenix_aid: "在泽尼克斯的教导下,我们遵循阿塔玛之道,终于可以训练战略家了。大法师承诺如果需要,他还会回来的,然后回家了",
  	log_fai_zenix_shield: "我们可以施放“泽尼克斯的护城盾”咒语了",
  	log_spy_full: "间谍的任务成功了,敌人为:",
  	log_spy_up50: "间谍的任务成功了一半,敌人的信息为:",
  	log_spy_down50: "间谍的任务失败了,未发现任何信息。我们需要派遣更多间谍以提高成功率",
  	log_spy_death: "行动中阵亡的间谍数量:",
  	log_tec_abyss_shrine: "我们可以建造其中一个神殿了",
  	log_tec_activate_signal: "启动信号机器引发出奥术能量洪流,回荡在深渊内外。",
  	log_tec_agricolture: "养活人民是早期城市面临的最大问题。我们可以建造农场了",
  	log_tec_aid_request: "当地人似乎遭到巨型双头生物的袭击,其中一些还被囚禁了。他们需要我们的帮助才能解救同伴。我们该派侦察兵去看看了",
  	log_tec_alchemical_reactions: "我们可以利用硝石和法力转化物质,增加产量",
  	log_tec_alchemist_complex_t: "我们可以建造炼金联合体了",
  	log_tec_ancient_artifact: "我们正在寻找亘古水晶,踏上了征程。希望找到它以后能彻底阻止精灵的衰变。让我们派出侦察兵吧",
  	log_tec_ancient_balor_t: "我们可以训练远古炎魔了",
  	log_tec_angel_palace_t: "我们可以建造天使宫殿了",
  	log_tec_assembly_line: "我们可以建造工厂了",
  	log_tec_astronomy: "建造天文台后我们就可以招募星学家了",
  	log_tec_archery: "我们可以训练弓箭手和侦察兵了,他们会消耗食物,但会为我们提供保护,我们可以派遣侦察兵了解登攀者世界及其奥秘。军队有几种类别,每一种都对另外一种有着优势。肉盾善于对付骑兵,骑兵善于对付射手,射手善于对付冲击,冲击善于对付肉盾",
  	log_tec_artillery_officer_t: "我们可以建造炮兵军官营房了",
  	log_tec_ancient_stockpile: "我们可以探索远古保险库,并守卫它的秘密",
  	log_tec_architecture: "我们可以建造木匠工坊和宅邸了",
  	log_tec_arcane_study: "我们可以建造奥术学校了",
  	log_tec_artisan_complex: "我们可以建造工匠联合体了",
  	log_tec_avatar_fate: "我们可以建造命运之化身了",
  	log_tec_bandit_chief: "骷髅脸在邻近省份的某处,我们必须派遣侦察兵找到他",
  	log_tec_banking: "我们可以建造银行了",
  	log_tec_barbarian_tribes: "侦察兵可以深入荒地,寻找更大的野蛮人村庄了",
  	log_tec_besieging_engineers: "我们可以建造攻城机器厂了",
  	log_tec_biology: "比奴役更好吗?",
  	log_tec_black_artifact: "水晶的力量吞噬了周围的土地,用不详的邪雾腐蚀它们。雾瘴之中邪孽横行,无情屠戮所有靠近者。必须向这片受诅之地调遣军队,对抗不断膨胀的恶意。立刻派出侦察兵!",
  	log_tec_breeding: "我们可以训练轻骑兵了,它是一种优秀的快速突击部队。该单位拥有“践踏”能力,消灭敌人后,将以相应比例的剩余伤害继续对后续敌人发动攻击。我们可以建造马厩了",
  	log_tec_boot_camp_t: "我们可以建造新兵训练营了",
  	log_tec_bronze_working: "我们可以训练长矛兵和战士了,我们的军队可以有效地进行防御和攻击。军队将以既定顺序排列,最前面的是肉盾和近战部队,远程单位将在后方发动攻击,最后才阵亡。我们可以建造兵营了",
  	log_tec_burned_farms: "农场被焚毁,田地附近到处都是不成人样的尸体。从种种迹象来看,这是一些巨型人形生物干的。我们必须派出侦察兵",
  	log_tec_canava_mercenary: "我们可以招募卡纳瓦护卫了,这是一支来自附近村庄的精锐佣兵部队",
  	log_tec_cavern_artifact: "我们原本以为会有一场恶战,不料亘古水晶竟被遗弃在这古老墟穴的残破祭坛之上。必须制造禁锢舱才能驾驭其魔法能量。",
  	log_tec_centralized_power: "我们可以建造发展部了",
  	log_tec_chemistry: "关注化学的主要是炼金术士。我们可以建造炼金实验室了",
  	log_tec_cloistered_life: "我们可以建造修道院了",
  	log_tec_colonial_camp: "我们可以建造军营了",
  	log_tec_colonial_consacration: "我们可以建造应许之地了",
  	log_tec_colonial_docks: "我们可以建造码头了",
  	log_tec_colonial_exploitations: "我们可以建造建筑工联合体了",
  	log_tec_colonial_recruits: "我们可以建造定居点招募营了",
  	log_tec_colonial_stronghold: "我们可以建造据点了",
  	log_tec_colonial_trade: "我们可以建造海关了",
  	log_tec_cpt_galliard_t: "我们可以训练加里亚德团长了",
  	log_tec_craftsmen_guild: "我们可以建造工匠公会了",
  	log_tec_create_annhilator: "一旦制造完毕,灭世终焉即可向深渊释放。它不仅会毁灭敌人,还会释放出可能在整个登攀者世界造成灾难性后果的辐射",
  	log_tec_crop_rotation: "声誉是一种特殊资源,您可以通过伟大作品或伟大事迹获得它。转生时它将用于计算传承点数,您可以用传承点数购买永久的加成!!",
  	log_tec_crossbow: "我们可以训练弩手了,他们在中距离十分强大",
  	log_tec_crystal_farm_t: "我们可以建造水晶培育场了",
  	log_tec_communion_nature: "我们可以建造精神花园了,它是法力和希望的源泉",
  	log_tec_cuirassiers: "我们可以训练重骑兵了",
  	log_tec_currency: "我们可以建造市场了",
  	log_tec_ecology: "我们可以建造真正的伊甸园并保护登攀者世界了",
  	log_tec_economics: "我们可以建造住宅区了",
  	log_tec_education: "我们可以在大学的庭院里立起一座雕像,献给一位过去的伟人。您只能建造一座雕像",
  	log_tec_end_ancient_era: "建造市中心以后,我们就可以继续前进,结束远古时代了",
  	log_tec_end_feudal_era: "建造自由思想家学院以后,我们就可以继续前进,结束封建时代了",
  	log_tec_elf_decadence: "精灵曾经拥有生机勃勃的高贵血脉,但昔日纯净的基因传承已经在战争的摧残下支离破碎。兽人部落永不停息的猛攻,在他们脆弱的DNA上留下了深重的伤痕,引发了大量突变和基因衰变,这使他们深受困扰。我们必须伸出援手。让我们建造治疗圣所吧",
  	log_tec_elf_last_village: "由于夸拉尔努德的努力,精灵们保留了繁衍生存下去的希望。虽然濒临灭绝,但他们仍会骄傲地反抗命运。您可以建造精灵村庄了",
  	log_tec_elf_survivors: "精灵们是定居点这片大陆的原住民。他们从上古时代就一直与夸拉尔罗克坦作战了,这个词的意思是那些携带武器的家伙。精灵们数量仅剩数千,濒临灭绝。我们可以在定居点附近建造精灵营地,这样,我们就可以安置他们,并更好地了解他们的传统了",
  	log_tec_elf_warriors: "我们可以训练精灵战士了",
  	log_tec_elves_thrive: "我们可以建造精灵城镇了",
  	log_tec_embassy_nation: "我们可以建造联盟大使馆了",
  	log_tec_espionage: "我们可以训练间谍了,他们会为我们提供敌人的情报",
  	log_tec_establish_boundaries: "随着城市的扩张,我们意识到我们的边界并不安全。侦察兵中不断有东部危险逼近的传言,我们必须非常小心",
  	log_tec_explore_surrounding: "我们必须派出侦察兵揭开深渊永恒黑暗中隐藏的秘密",
  	log_tec_dark_castle: "我们必须在这个区域中寻找黑暗城堡。注意城堡居民",
  	log_tec_dark_crystal: "看,这就是不祥的黑暗水晶,散发出了恶毒和邪恶的气场。据说它的力量腐化邪恶到可以为黑暗本身供能。它是无法形容的邪恶工具,可以用于召唤尼哈鲁尔,或者是为堡垒提供无穷无尽的能量",
  	log_tec_dark_land: "我们必须更深入探索深渊!",
  	log_tec_daylong_celebration: "您进入了广场,所有居民都把您当成了英雄,您拯救了这个城市于危难之间,每个人都将永远为此感激。您的名声越来越大,很快,即使是最遥远的民族也会知道我们的行为了!",
  	log_tec_decrypt_signal: "随着解析深入,他们越发清晰地意识到这些并非无序数据,而是精密编码的高级装置建造指南。设计图展示的构件与机制远超当前认知,暗示着它能够驾驭足以对抗深渊邪恶力量的庞大能量——甚至可能改变登攀者世界的平衡。科学家们拼凑出完整蓝图后,振奋之情与日俱增。这台机器似乎完美融合了魔法与科技元素,将古老奥术与未来科技熔铸一体。这项发现极有可能成为对抗莫德凯男爵及其黑暗军团的关键转折点",
  	log_tec_delimiting_perimeter: "我们可以建造光明炮塔了",
  	log_tec_deserter_origin: "这些逃兵自称阿塔玛之子,我们需要通过侦察兵继续了解",
  	log_tec_destroy_annhilator: "为了登攀者世界的安全,我们决定不使用灭世终焉。那么,我们就要靠自己来铲除邪恶势力,找出一切黑暗的根源了!",
  	log_tec_dimensional_device: "我们可以训练调查兵团士兵了。献出心脏!",
  	log_tec_drain_mana: "我们可以建造法力电池了",
  	log_tec_extensive_cultivation_t: "我们可以建造粗放耕作场了",
  	log_tec_exterminate_competition: "我们离富甲天下只有一步之遥了,让我们继续增加财富,这样就没有任何人能阻止我们了",
  	log_tec_fairs_and_markets: "我们可以建造超大集市了",
  	log_tec_faith_world: "我们可以建造朝觐者营地了",
  	log_tec_favor_gods: "我们可以建造神之荣耀了",
  	log_tec_feudalism: "封建时代为新的社会观念打开了大门,大小领主的庄园和封地开始不受干扰地繁荣起来,我们可以建造封地了",
  	log_tec_financial_markets: "我们可以建造信用社,积累更多黄金了",
  	log_tec_field_artillery: "我们可以制造大炮了,不知道它们能不能击落巨人",
  	log_tec_flame_atamar: "我们可以选择如何处理火焰了,注意您只能选择其中之一!",
  	log_tec_flight: "以钠红石驱动的热气球可以很好地作为瞭望台使用",
  	log_tec_flintlock_musket: "我们可以训练线列步兵了",
  	log_tec_food_conservation: "我们可以建造食品杂货店了",
  	log_tec_fortification: "我们可以建造栅栏和城墙了",
  	log_tec_fortified_colony: "我们可以建造磐石堡垒了",
  	log_tec_free_old_outpost: "加里亚德教我们的侦察兵如何找到仍被佣兵占据的旧前哨。让侦察兵出发吧",
  	log_tec_landed_estates: "我们可以建造庄园了",
  	log_tec_large_storage_space: "我们可以建造大型库房了",
  	log_tec_large_defensive_project: "我们可以建造超级大炮了",
  	log_tec_large_shed_t: "我们可以建造大型棚屋了",
  	log_tec_library_of_souls: "图书馆的缺失很严重,但在一定时间的研究后,很容易推断出它是邪恶魔法的成果。学习这些知识的人可以将部分灵魂献给水井,以此摆脱肉体凡胎的束缚",
  	log_tec_light_square: "我们可以建造光耀广场了",
  	log_tec_lonely_druid: "城市里出现了一个不知哪里来的德鲁伊,声称要与登攀者世界的人类充满和谐和爱地交流。他反对现代化和随意开采资源。他的信仰很有吸引力,越来越多的人开始听他的话",
  	log_tec_long_expedition: "侦察兵又有了新死法,他们会发现什么?",
  	log_tec_galliard_secret: "团长拥有一件贵重饰品,那对他来说有着特殊意义。他回忆起童年时一个古老的避难所,他曾在那里寻求世界的庇护。我们该找到它,让侦察兵出发吧",
  	log_tec_galliard_true_form: "加里亚德的力量无与伦比,他的天赋让他成为了人类的精英。他可以通过变身,变为一个巨人。巨人形态下,他是一名无情的战士,让敌人的内心充满恐惧,鼓舞那些他保护的人,激发他们心中的希望",
  	log_tec_genetic_hub_t: "我们可以建造基因中心了",
  	log_tec_glorious_parade: "在这场盛大的庆祝活动中,您耀武扬威地走在街上,虽然入夜已深,但似乎庆祝活动还不想结束。邻近省份的每个角落都有人涌向这座城市,只是为了看一眼屠龙勇士!(尽管它当时其实是逃跑了)",
  	log_tec_glorious_retirement: "啊,光荣退休!登攀者世界的第一种转生!转生是登攀者世界的核心机制,它可以使您获得独特的加成。总是值得进行转生",
  	log_tec_grain_surplus: "我们可以建造粮仓了",
  	log_tec_guide_mankind: "我们可以建造人类导引了",
  	log_tec_guild: "探险家协会准备好提供服务了",
  	log_tec_gunpowder: "我们可以训练火绳枪兵了,配合冲击部队他们将主宰战场",
  	log_tec_guerrilla_warfare: "我们可以训练游击兵了",
  	log_tec_joyful_nation_1: "每次战斗都会放大胜利。让我们仰望天空,认识到无论这个世界还有什么困难,我们都将直面它并克服它!",
  	log_tec_joyful_nation_2: "每次战斗都会放大胜利。让我们仰望天空,认识到无论这个世界还有什么困难,我们都将直面它并克服它!",
  	log_tec_harbor_project: "我们可以建造海湾区了",
  	log_tec_herald_canava: "一名来自边境小村庄,卡纳瓦的工人设法赶到了我们的城市。他带来了一个惊人的消息,东部的地精即将发动入侵,卡纳瓦村已经被摧毁了。我们必须建造守望者前哨,对城市的周围进行调查",
  	log_tec_honor_humanity: "奥索格之战后,我们明白兽人的势力十分庞大,但他们吓不倒我们。狭路相逢勇者胜!",
  	log_tec_holy_fury: "我们可以训练战斗天使了,他们将在战场上释放神圣之怒",
  	log_tec_house_of_workers: "我们可以建造工人之家了",
  	log_tec_housing: "我们可以建造普通房屋了",
  	log_tec_huge_cave_t: "洞穴分出了迷宫般的隧道,我们必须派出探险家!",
  	log_tec_illgotten_gains: "我们可以训练走私者了",
  	log_tec_lumix_t: "我们可以在定居点建造辉烬工厂了",
  	log_tec_knighthood: "骑士团是登攀者世界人类高贵的核心",
  	log_tec_kobold_nation: "我们需要派出侦察兵寻找狗头人的国家,但要小心,我不认为它们会很友好",
  	log_tec_kobu_dominion: "研究人员发现了属于科布自治领的仓库。让我们派侦察兵去调查一下吧",
  	log_tec_human_dna: "我们可以训练被水晶改变DNA的超级士兵,钢铁骑士了",
  	log_tec_iron_working: "我们可以训练重装战士了,我们的工匠可以锻造铁制武器了",
  	log_tec_land_mine: "让我们在城市周围埋下地雷,那些该死的地精如果还敢回来,就让它们的碎片漫天飞舞",
  	log_tec_order_of_clerics: "通过建造一些秘密会议,我们可以获得更高阶的咒语",
  	log_tec_orcish_threat: "我们最勇猛的将军将制定作战计划,侦察兵需要了解更多有关兽人领地的信息。我们受到的攻击大概会越来越猛烈,敌人十分强大",
  	log_tec_orcish_citadel: "让我们派遣侦察兵去寻找这座坚固堡垒的位置吧。我们需要让他们的本土也受到战争威胁,或许这样会让他们害怕",
  	log_tec_pentagram_tome: "这张卷轴以恶魔语写就,地上的五芒星被用于控制村子里的所有人。我们需要翻译它,让神职人员们来吧",
  	log_tec_mankind_darkest: "在堡垒中,我们发现了一张地图,内容是关于他们即将展开的行动。成千上万的兽人正准备入侵我们的土地,坚固的堡垒还有三座,这些嗜血的野兽将一直从堡垒中喷涌而出。人类不能在这里停下,我们必须不惜一切代价与他们战斗到底!",
  	log_tec_mass_transit: "我们可以建造物流中心了",
  	log_tec_mercenary_abyss: "我们可以建造佣兵营地了",
  	log_tec_necromancy: "死灵法师从某种黑暗力量那里汲取能量,我们必须让侦察兵追寻它的踪迹",
  	log_tec_northern_star: "北极星被禁锢在常年冰层中。它是一块漆黑如夜的巨石,能够散发出巨大的能量。我们的学者必须了解它的运行原理,很快我们就能利用它的能量了",
  	log_tec_new_old_gods: "我们可以建造旧神教堂了",
  	log_tec_new_world_exploration: "我们可以派遣侦察兵探索新区域了,我们的工匠可以锻造秘银武器了。",
  	log_tec_new_world_militia: "我们可以训练定居点民兵了",
  	log_tec_nuclear_power: "受到新希望驱动,团队全身心投入理解并建造这台强大装置。他们深知,如果建造成功,将成为突破弥漫黑暗的关键,为人类及其盟友确保未来。我们可以建造信号机器了",
  	log_tec_machine_gun: "机枪闪耀的枪管与繁复符文雕刻成为新生力量与技术实力的象征。这些武器能持续释放附魔子弹组成的弹幕,为对抗莫德凯男爵的黑暗军团提供无与伦比的防御。融合古代魔法与现代战争科技后,人类与精灵联军得以巩固防线。我们可以训练机枪手了",
  	log_tec_magic: "我们可以建造魔法环了",
  	log_tec_magic_arts_teaching: "我们可以建造魔法塔了",
  	log_tec_mana_conveyors: "我们通过法力之柱可以引导登攀者世界的能量,并将其用于科研和宗教",
  	log_tec_mana_engine: "将硝石与法力结合后,我们的学者制造出了钠红石,它的用途不可估量",
  	log_tec_mana_investigation: "我们可以建造法力提取器了",
  	log_tec_mana_maker_t: "我们可以建造法力制造器了",
  	log_tec_mana_reactors: "我们可以建造法力反应堆了",
  	log_tec_mana_utilization: "要结束第三纪元,我们需要建造一个深井,它可以存储我们的智者发现奇妙新发明所需的所有法力",
  	log_tec_manufactures: "我们可以建造建筑工区域来增加木材和石头的产量了",
  	log_tec_market_laws: "我们可以建造金融中心了",
  	log_tec_master_history: "我们可以建造考古挖掘场了",
  	log_tec_mathematic: "发明数学以后,我们开始认真对待生产了",
  	log_tec_mechanization: "有了机械化,我们就可以加快各领域的生产了。我们可以建造工业厂房了",
  	log_tec_mercenary_bands: "我们可以招募老练的佣兵了",
  	log_tec_mercenary_outpost_t: "我们可以建造佣兵前哨了",
  	log_tec_metal_alloys: "我们可以制造重炮了",
  	log_tec_metal_casting: "我们可以建造铸造厂了",
  	log_tec_military_science: "我们可以制造大炮主宰战场了。我们可以建造军事学院了",
  	log_tec_military_tactics: "我们可以建造军官训练场并征召将军了",
  	log_tec_mining: "我们可以建造矿井了",
  	log_tec_ministry_interior_t: "我们可以建造内政部了",
  	log_tec_ministry_war_t: "我们可以建造战争部了",
  	log_tec_ministry_worship_t: "我们可以建造宗教部了",
  	log_tec_miracle_city: "我们可以建造繁荣之泉了,德鲁伊为我们的城市创造了奇迹",
  	log_tec_monster_epuration: "我们可以建造英雄事迹大厅了!",
  	log_tec_monster_hunting: "似乎有四种传说怪物:一只蛇发女妖,一只五个头的多头怪,一只狼人和一只牛头怪。追踪并击败它们后,我们将可以获得大量的声誉和荣耀!让我们的侦察兵开始探索吧!",
  	log_tec_monument_past: "我们可以建造纪念碑了",
  	log_tec_myth_south: "在雄心壮志和好奇心的驱动下,第一批探险队出发了,他们勇敢地面对无情的阳光,呼啸的狂风和随时可能将他们吞噬的海市蜃楼",
  	log_tec_mythology: "我们可以为神明献上一座神殿了。注意:只能建造一座神殿",
  	log_tec_municipal_administration: "我们可以建造市政厅了",
  	log_tec_natrocity: "我们可以建造光之城了",
  	log_tec_natronite_storage: "要小心处理钠红石。我们可以建造钠红石仓库了",
  	log_tec_oracle_t: "我们可以建造神示所了",
  	log_tec_overseas_refinery: "我们可以建造精炼厂了",
  	log_tec_overlook_darkness: "我们可以建造集结区域了",
  	log_tec_outpost_tiny_island: "我们可以建造岛屿前哨了",
  	log_tec_path_children: "似乎兽人们绑架孩子是为了把他们转化为火法师。我们必须找到古鲁德的城堡,结束这可怕的一切",
  	log_tec_persuade_nobility: "我们可以招募甲胄骑兵了",
  	log_tec_persuade_people: "我们必须找到永恒大殿,并击败守卫。派出探险家吧",
  	log_tec_phalanx_combat: "我们可以招募方阵步兵了",
  	log_tec_plate_armor: "我们可以招募超重装战士了",
  	log_tec_plenty_valley: "我们可以建造丰饶之谷了",
  	log_tec_pottery: "通过研究第一批工艺,我们可以制造工具了。我们可以建造工匠作坊了",
  	log_tec_port_statue: "我们可以建造美德雕像了",
  	log_tec_preparation_war: "我们需要利用钠红石护盾来强化防御能力",
  	log_tec_printing_press: "在新印的报纸上,有一些关于登攀者世界传说怪物的讨论。我们需要对此进行更深入的研究",
  	log_tec_probes: "监测雷区探测器的部署标志着前哨防御策略的重大突破,可以为深入深渊的探险家与科研团队提供安全保障。我们可以建造探测系统了",
  	log_tec_professional_soldier: "我们可以建造新兵训练中心了",
  	log_tec_rage_druid: "德鲁伊撕下了他温和神圣的面具,他的声音阴沉,眼睛红得像火一样。他说将有一股巨大的力量降临吞噬我们,威胁着这座城市和平民。我们必须做好最坏的打算",
  	log_tec_railroad: "我们可以建造火车站了",
  	log_tec_regional_markets: "我们可以从卡纳瓦及其他周边村庄赚取一些利润",
  	log_tec_religion: "建造寺庙后我们将可以进行祈祷和使用咒语",
  	log_tec_religious_orders: "我们可以建造大教堂了",
  	log_tec_research_annhilator: "精灵警告我们,灭世终焉的威力无法控制,整个登攀者世界都将处于危险之中,但人类必须拥有能够终结黑暗威胁的武器",
  	log_tec_research_district: "我们可以建造研究工厂了,我们的工匠可以锻造精金武器了",
  	log_tec_restore_crystal: "我们可以建造科布水晶了",
  	log_tec_replicable_parts: "我们可以建造自动化联合体了",
  	log_tec_remember_the_ancients: "我们可以建造一座图书馆了,里面保存着过去几代人的知识",
  	log_tec_rocketry: "炼金术士和工程师将魔法与科技相结合,创造出能够抵达天空的火箭。利用它就可以发射探测器和卫星,获取有关天体和深渊外黑暗势力的重要情报了。我们可以建造发射井了",
  	log_tec_safe_roads: "我们可以建造税收检查站了",
  	log_tec_satellite: "在此关键节点,人类通过将首颗原始卫星送入轨道实现了划时代突破。凭借辉烬的非凡能量及炼金术士与工程师的合力攻克,该卫星标志着向未知领域的跨越",
  	log_tec_seafaring: "向西航行数日可以到达一个小岛。我们需要征服它,把它变成我们的高级补给基地。让我们派遣侦察兵去看看吧",
  	log_tec_seraphim_t: "我们可以训练炽天使了",
  	log_tec_shores_theresmore: "我们确定可以在一个远离其他王国边界的地方建造港口,我们可以研究港口计划了",
  	log_tec_siege_techniques: "我们可以制造投石机了",
  	log_tec_steel_flesh: "我们可以训练巨兽了",
  	log_tec_steel_mills_t: "我们可以建造钢厂了",
  	log_tec_steeling: "我们可以生产一种由其他金属制成的新资源了。我们可以建造钢铁厂了,我们的工匠可以锻造钢制武器了",
  	log_tec_storage: "我们可以建造储物间了",
  	log_tec_storage_district: "您受够那些上限了!我们可以建造存储设施和大型仓库了",
  	log_tec_storing_valuable_materials: "我们可以建造有人值守仓库了",
  	log_tec_stone_masonry: "我们可以建造采石场了",
  	log_tec_stone_processing: "我们可以建造石匠坊了",
  	log_tec_super_soldier: "连发步枪饰有神秘符文的优雅雕纹并由辉烬供能,实现了快速连续射击。该武器将精密工程与魔法强化相结合,比传统火器更具致命性。接受过掌握这些强力武器训练的步枪手,成为战场上令人畏惧的力量。我们可以训练步枪手了",
  	log_tec_swear_give_up: "图尔冈之战之后,人类发誓决不投降",
  	log_tec_survey_abyss: "我们可以建造深渊前哨了",
  	log_tec_tamed_barbarian: "我们必须利用侦察兵了解更多关于这些野蛮人的信息,这样才能把文明输出给他们!",
  	log_tec_temple_luna: "精灵们向我们寻求帮助,他们想夺回被夸拉尔罗克坦占据很久的月神神庙。让我们派出侦察兵吧",
  	log_tec_the_scourge: "难民们讲述了整个村庄被一只飞行怪物烧毁的故事,大批无家可归的人正沿着西部边境,向着城市涌来",
  	log_tec_the_signal: "随着数据从卫星传回,研究人员迅速集结以解码与分析信号。它的来源神秘莫测,暗示着远超已知领域的起源。信号携带的波形与频率可能暗示着先进科技的存在,也可能指向湮灭于时光长河的古老文明。这次强效传输所蕴含的信息,可能会为困扰深渊的诸多谜题提供解答,甚至包含威胁现存秩序的黑暗力量相关线索。该发现使人族与精灵同盟重燃紧迫感与决心——他们正筹备向宇宙深处进发,力求揭示信号可能承载的秘密",
  	log_tec_the_triumph: "登攀者世界安全了,这片大陆从兽人部落的铁蹄下解放了。您是两个世界的英雄,我们可以建造凯旋门了!",
  	log_tec_titan_mosaic: "当地的一项传说提到了这幅镶嵌画。在大陆的某处,有一个沉睡的泰坦,谁能唤醒他,谁就能获得他的祝福。我们必须找到他,唤醒他!",
  	log_tec_tome_ancient_lore: "这本大书中记录了人类的历史轮回。我们在其中发现了许多新技术,内容有关生产,研究,以及其他许多不为人知的秘密。古老的文字里蕴含着丰富的知识,它照亮了前进的道路,解开了过去的谜团",
  	log_tec_trail_blood: "我们发现了血迹。我们还得派侦察兵去寻找吸血鬼",
  	log_tec_trail_fire: "探险家们原以为是幻觉的景象,竟显露出令人无法理解的真相。他们眼前出现了难以置信的画面:由熔岩构成的广阔海洋无边无际,流动的火焰如活物般不断翻涌咆哮。岩浆形成的河流像神明的血迹般切割大地,最终全部注入这片火海中央的巨型火山口",
  	log_tec_trail_power: "我们赢得了王国的认可。我们可以考虑说服贵族,或者是赢得民心。请谨慎选择,您只能选择其一",
  	log_tec_trained_longbowman: "我们可以招募长弓手了",
  	log_tec_training_militia: "我们可以招募城堡民兵了",
  	log_tec_trenches: "我们可以建造战壕,训练神射手了",
  	log_tec_tyrant_ash: "在熔岩荒漠最深处,空气在燃烧,大地随着某种庞然大物的吐息震颤——阿兹拉西斯已在此铸就统治疆域。必须立刻派出侦察兵",
  	log_tec_vaelgoroth_t: "我们可以召唤“猩红灾厄”维戈洛斯了",
  	log_tec_veteran_artillerymen: "我们可以建造炮兵靶场了",
  	log_tec_warfare: "熟悉兵法韬略后,我们的国度将出现伟大的指挥官。我们可以建造投石机了,该单位拥有“溅射”能力,每回合可以同时攻击相应数量的敌人",
  	log_tec_white_t_company: "我们可以训练白色连队了",
  	log_tec_wings_freedom: "我们需要让加里亚德摆脱他的困扰。所以,我们必须找到那个远古巨人。让侦察兵开始行动吧!",
  	log_tec_wood_cutting: "我们可以建造伐木工营地了",
  	log_tec_wood_saw: "我们可以建造锯木厂了",
  	log_tec_writing: "我们可以建造学校了",
  	log_tec_underground_library: "在灵魂图书馆之下,无数亡者生物潜伏在黑暗之中。它们看起来很无聊,但目光从未离开过闯入者。随着我们的前进,这些生物变得越来越多,越来越有攻击性。空气中弥漫着腐朽的气息,黑暗中传来迅捷动作的声音。很显然,图书馆只是之后挑战的开胃菜。让我们派侦察兵去看看吧",
  	log_tec_underground_kobold_mission: "侦察兵可以发现狗头人隧道后面藏着什么了",
  	log_tec_underground_rooms: "我们可以建造地下房屋、地下储物间和采矿区了",
  	log_tec_zenix_familiar_t: "我们可以训练泽尼克斯的使魔了",
  	log_tec_zenix_return: "在泽尼克斯指引下,各项进展显著加速。他传授了被遗忘的咒语和结界,这些秘法提升了新型武器和防御工事的效能,他的战略眼光帮助强化了防御体系,以应对邪恶军团即将发起的攻势。在这位大法师的帮助下,人类终于获得了一线生机。神秘装置即将完工,人们期盼它能够扭转对抗黑暗的战局,从深渊魔爪中夺回未来。我们可以在魔法面板下进行更多祈祷了",
  	not_academy_of_freethinkers: "自由思想家学院已组合",
  	not_academy_of_freethinkers_title: "自由思想家学院",
  	not_arch_triumph: "筚路蓝缕",
  	not_arch_triumph_title: "凯旋门",
  	not_army_of_goblin: "粉碎地精",
  	not_army_of_goblin_title: "从月明之夜中生还",
  	not_army_of_goblin_dif_99: "在容易难度下粉碎地精!",
  	not_army_of_goblin_dif_99_title: "从容易难度的月明之夜中生还",
  	not_army_of_goblin_dif_1: "在困难难度下粉碎地精!",
  	not_army_of_goblin_dif_1_title: "从困难难度的月明之夜中生还",
  	not_army_of_goblin_dif_2: "在无望难度下粉碎地精!",
  	not_army_of_goblin_dif_2_title: "从无望难度的月明之夜中生还",
  	not_army_of_goblin_dif_3: "在神明难度下粉碎地精!",
  	not_army_of_goblin_dif_3_title: "从神明难度的月明之夜中生还",
  	not_army_of_dragon: "击退巨龙",
  	not_army_of_dragon_title: "从巨龙袭击中生还",
  	not_army_of_dragon_dif_99: "在容易难度下击退巨龙!",
  	not_army_of_dragon_dif_99_title: "从容易难度的巨龙袭击中生还",
  	not_army_of_dragon_dif_1: "在困难难度下击退巨龙!",
  	not_army_of_dragon_dif_1_title: "从困难难度的巨龙袭击中生还",
  	not_army_of_dragon_dif_2: "在无望难度下击退巨龙!",
  	not_army_of_dragon_dif_2_title: "从无望难度的巨龙袭击中生还",
  	not_army_of_dragon_dif_3: "在神明难度下击退巨龙!",
  	not_army_of_dragon_dif_3_title: "从神明难度的巨龙袭击中生还",
  	not_automated_complex: "哔哔哔",
  	not_automated_complex_title: "自动化联合体",
  	not_bugbear_war_party_dif_1: "击败熊地精作战队",
  	not_bugbear_war_party_dif_1_title: "在困难难度下击败熊地精作战队",
  	not_bugbear_war_party_dif_2: "摧毁熊地精作战队",
  	not_bugbear_war_party_dif_2_title: "在无望难度下击败熊地精作战队",
  	not_bugbear_war_party_dif_3: "剿灭熊地精作战队",
  	not_bugbear_war_party_dif_3_title: "在神明难度下击败熊地精作战队!",
  	not_citadel_dead_dif_1: "征服亡者要塞",
  	not_citadel_dead_dif_1_title: "在困难难度下征服亡者要塞",
  	not_citadel_dead_dif_2: "毁灭亡者要塞",
  	not_citadel_dead_dif_2_title: "在无望难度下征服亡者要塞",
  	not_citadel_dead_dif_3: "净化亡者要塞",
  	not_citadel_dead_dif_3_title: "在神明难度下征服亡者要塞!",
  	not_city_lights: "光之城",
  	not_city_lights_title: "光之城",
  	not_demoness_castle_dif_1: "征服女恶魔城堡",
  	not_demoness_castle_dif_1_title: "在困难难度下征服女恶魔城堡",
  	not_demoness_castle_dif_2: "摧毁女恶魔城堡",
  	not_demoness_castle_dif_2_title: "在无望难度下摧毁女恶魔城堡",
  	not_demoness_castle_dif_3: "夷平女恶魔城堡",
  	not_demoness_castle_dif_3_title: "在神明难度下夷平女恶魔城堡!",
  	not_elder_dragon_dif_1: "击败灾主",
  	not_elder_dragon_dif_1_title: "在困难难度下征服灾主",
  	not_elder_dragon_dif_2: "绝无可能",
  	not_elder_dragon_dif_2_title: "在无望难度下摧毁灾主",
  	not_elder_dragon_dif_3: "不敢置信",
  	not_elder_dragon_dif_3_title: "在神明难度下歼灭灾主!",
  	not_fallen_angel_army_1: "信任德鲁伊",
  	not_fallen_angel_army_1_title: "从德鲁伊的背叛中生还",
  	not_fallen_angel_army_1_dif_99: "在容易难度下信任德鲁伊!",
  	not_fallen_angel_army_1_dif_99_title: "从容易难度德鲁伊的背叛中生还",
  	not_fallen_angel_army_1_dif_1: "在困难难度下信任德鲁伊!",
  	not_fallen_angel_army_1_dif_1_title: "从困难难度德鲁伊的背叛中生还",
  	not_fallen_angel_army_1_dif_2: "在无望难度下信任德鲁伊!",
  	not_fallen_angel_army_1_dif_2_title: "从无望难度德鲁伊的背叛中生还",
  	not_fallen_angel_army_1_dif_3: "在神明难度下信任德鲁伊!",
  	not_fallen_angel_army_1_dif_3_title: "从神明难度德鲁伊的背叛中生还",
  	not_fallen_angel_army_2: "遗世独立",
  	not_fallen_angel_army_2_title: "从堕天使的攻击下生还",
  	not_fallen_angel_army_2_dif_99: "在容易难度下遗世独立!",
  	not_fallen_angel_army_2_dif_99_title: "从容易难度堕天使的攻击下生还",
  	not_fallen_angel_army_2_dif_1: "在困难难度下遗世独立!",
  	not_fallen_angel_army_2_dif_1_title: "从困难难度堕天使的攻击下生还",
  	not_fallen_angel_army_2_dif_2: "在无望难度下遗世独立!",
  	not_fallen_angel_army_2_dif_2_title: "从无望难度堕天使的攻击下生还",
  	not_fallen_angel_army_2_dif_3: "在神明难度下遗世独立!",
  	not_fallen_angel_army_2_dif_3_title: "从神明难度堕天使的攻击下生还",
  	not_gloomy_werewolf_forest_dif_1: "狼人伏诛",
  	not_gloomy_werewolf_forest_dif_1_title: "在困难难度下征服狼人之森",
  	not_gloomy_werewolf_forest_dif_2: "银色子弹",
  	not_gloomy_werewolf_forest_dif_2_title: "在无望难度下征服狼人之森",
  	not_gloomy_werewolf_forest_dif_3: "银色子弹雨",
  	not_gloomy_werewolf_forest_dif_3_title: "在神明难度下征服狼人之森!",
  	not_gold_mine_dif_1: "取得金矿",
  	not_gold_mine_dif_1_title: "在困难难度下征服金矿",
  	not_gold_mine_dif_2: "开采金矿",
  	not_gold_mine_dif_2_title: "在无望难度下征服金矿",
  	not_gold_mine_dif_3: "掌控金矿",
  	not_gold_mine_dif_3_title: "在神明难度下征服金矿!",
  	not_gnoll_camp_dif_1: "清理豺狼人营地",
  	not_gnoll_camp_dif_1_title: "在困难难度下征服豺狼人营地",
  	not_gnoll_camp_dif_2: "突袭豺狼人营地",
  	not_gnoll_camp_dif_2_title: "在无望难度下征服豺狼人营地",
  	not_gnoll_camp_dif_3: "剿灭豺狼人营地",
  	not_gnoll_camp_dif_3_title: "在神明难度下征服豺狼人营地!",
  	not_gulud_ugdun_dif_1: "清理古鲁德·乌格顿城堡",
  	not_gulud_ugdun_dif_1_title: "在困难难度下征服古鲁德·乌格顿城堡",
  	not_gulud_ugdun_dif_2: "征服古鲁德·乌格顿城堡",
  	not_gulud_ugdun_dif_2_title: "在无望难度下征服古鲁德·乌格顿城堡",
  	not_gulud_ugdun_dif_3: "掌控古鲁德·乌格顿城堡",
  	not_gulud_ugdun_dif_3_title: "在神明难度下征服古鲁德·乌格顿城堡!",
  	not_hell_hole_dif_1: "驱逐恶魔",
  	not_hell_hole_dif_1_title: "在困难难度下清理地狱之洞",
  	not_hell_hole_dif_2: "毁灭恶魔",
  	not_hell_hole_dif_2_title: "在无望难度下清理地狱之洞",
  	not_hell_hole_dif_3: "肃清恶魔",
  	not_hell_hole_dif_3_title: "在神明难度下清理地狱之洞!",
  	not_mountain_valley_dif_1: "探索山中之谷",
  	not_mountain_valley_dif_1_title: "在困难难度下征服山中之谷",
  	not_mountain_valley_dif_2: "开发山中之谷",
  	not_mountain_valley_dif_2_title: "在无望难度下征服山中之谷",
  	not_mountain_valley_dif_3: "掌控山中之谷",
  	not_mountain_valley_dif_3_title: "在神明难度下征服山中之谷!",
  	not_sleeping_titan_dif_1: "小睡一觉",
  	not_sleeping_titan_dif_1_title: "在困难难度下唤醒沉眠的泰坦",
  	not_sleeping_titan_dif_2: "唤醒沉眠的泰坦",
  	not_sleeping_titan_dif_2_title: "在无望难度下唤醒沉眠的泰坦",
  	not_sleeping_titan_dif_3: "呼呼大睡",
  	not_sleeping_titan_dif_3_title: "在神明难度下唤醒沉眠的泰坦!",
  	not_son_atamar_dif_1: "发现阿塔玛之子",
  	not_son_atamar_dif_1_title: "在困难难度下发现阿塔玛之子",
  	not_son_atamar_dif_2: "探秘阿塔玛之子",
  	not_son_atamar_dif_2_title: "在无望难度下探秘阿塔玛之子",
  	not_son_atamar_dif_3: "掌控阿塔玛之子",
  	not_son_atamar_dif_3_title: "在神明难度下掌控阿塔玛之子!",
  	not_succubus_library_dif_1: "探索魅魔黑暗图书馆",
  	not_succubus_library_dif_1_title: "在困难难度下探索魅魔黑暗图书馆",
  	not_succubus_library_dif_2: "研究魅魔黑暗图书馆",
  	not_succubus_library_dif_2_title: "在无望难度下研究魅魔黑暗图书馆",
  	not_succubus_library_dif_3: "掌控魅魔黑暗图书馆",
  	not_succubus_library_dif_3_title: "在神明难度下掌控魅魔黑暗图书馆!",
  	not_swarm_wasp_dif_1: "击败巨黄蜂群落",
  	not_swarm_wasp_dif_1_title: "在困难难度下击败巨黄蜂群落",
  	not_swarm_wasp_dif_2: "消灭巨黄蜂群落",
  	not_swarm_wasp_dif_2_title: "在无望难度下消灭巨黄蜂群落",
  	not_swarm_wasp_dif_3: "击落巨黄蜂女王",
  	not_swarm_wasp_dif_3_title: "在神明难度下肃清巨黄蜂群落!",
  	not_huge_cave_dif_1: "探索巨大洞穴",
  	not_huge_cave_dif_1_title: "在困难难度下探索巨大洞穴",
  	not_huge_cave_dif_2: "穿越巨大洞穴",
  	not_huge_cave_dif_2_title: "在无望难度下征服巨大洞穴",
  	not_huge_cave_dif_3: "征服巨大洞穴",
  	not_huge_cave_dif_3_title: "在神明难度下征服巨大洞穴!",
  	not_vampire_lair_dif_1: "斩杀吸血鬼",
  	not_vampire_lair_dif_1_title: "在困难难度下斩杀吸血鬼",
  	not_vampire_lair_dif_2: "摧毁吸血鬼老巢",
  	not_vampire_lair_dif_2_title: "在无望难度下摧毁吸血鬼老巢",
  	not_vampire_lair_dif_3: "根除吸血鬼威胁",
  	not_vampire_lair_dif_3_title: "在神明难度下根除吸血鬼威胁!",
  	not_forgotten_shelter_dif_1: "遗忘避难所的秘密",
  	not_forgotten_shelter_dif_1_title: "在困难难度下揭开遗忘避难所的秘密",
  	not_forgotten_shelter_dif_2: "自由之翼",
  	not_forgotten_shelter_dif_2_title: "在无望难度下克服遗忘避难所的危难",
  	not_forgotten_shelter_dif_3: "献出心脏!",
  	not_forgotten_shelter_dif_3_title: "在神明难度下发现遗忘避难所背后的真相!",
  	not_ancient_giant_dif_1: "击败远古巨人",
  	not_ancient_giant_dif_1_title: "在困难难度下击败远古巨人",
  	not_ancient_giant_dif_2: "制伏远古巨人",
  	not_ancient_giant_dif_2_title: "在无望难度下制伏远古巨人",
  	not_ancient_giant_dif_3: "解决远古巨人",
  	not_ancient_giant_dif_3_title: "在神明难度下解决远古巨人!",
  	not_skullface_encampment_dif_1: "潜入骷髅脸营地",
  	not_skullface_encampment_dif_1_title: "在困难难度下潜入骷髅脸营地",
  	not_skullface_encampment_dif_2: "摧毁骷髅脸营地",
  	not_skullface_encampment_dif_2_title: "在无望难度下摧毁骷髅脸营地",
  	not_skullface_encampment_dif_3: "征服骷髅脸营地",
  	not_skullface_encampment_dif_3_title: "在神明难度下征服骷髅脸营地!",
  	not_mindless_evil_boss: "歼灭深渊之主",
  	not_mindless_evil_boss_title: "从无智之恶的攻击下生还",
  	not_mindless_evil_boss_dif_99: "在简单难度下碾碎无智之恶!",
  	not_mindless_evil_boss_dif_99_title: "从简单难度无智之恶的攻击下生还",
  	not_mindless_evil_boss_dif_1: "在困难难度下碾碎无智之恶!",
  	not_mindless_evil_boss_dif_1_title: "从困难难度无智之恶的攻击下生还",
  	not_mindless_evil_boss_dif_2: "在无望难度下碾碎无智之恶!",
  	not_mindless_evil_boss_dif_2_title: "从无望难度无智之恶的攻击下生还",
  	not_mindless_evil_boss_dif_3: "在神明难度下碾碎无智之恶!",
  	not_mindless_evil_boss_dif_3_title: "从神明难度无智之恶的攻击下生还",
  	not_minotaur_maze_dif_1: "穿过牛头怪迷宫",
  	not_minotaur_maze_dif_1_title: "在困难难度下穿过牛头怪迷宫",
  	not_minotaur_maze_dif_2: "征服牛头怪迷宫",
  	not_minotaur_maze_dif_2_title: "在无望难度下征服牛头怪迷宫",
  	not_minotaur_maze_dif_3: "掌控牛头怪迷宫",
  	not_minotaur_maze_dif_3_title: "在神明难度下掌控牛头怪迷宫!",
  	not_markanat_forest_dif_1: "探索玛卡纳特森林",
  	not_markanat_forest_dif_1_title: "在困难难度下探索玛卡纳特森林",
  	not_markanat_forest_dif_2: "穿越玛卡纳特森林",
  	not_markanat_forest_dif_2_title: "在无望难度下穿越玛卡纳特森林",
  	not_markanat_forest_dif_3: "玛卡纳特伏诛",
  	not_markanat_forest_dif_3_title: "在神明难度下征服玛卡纳特森林!",
  	not_hydra_pit_dif_1: "征服多头蛇之坑",
  	not_hydra_pit_dif_1_title: "在困难难度下征服多头蛇之坑",
  	not_hydra_pit_dif_2: "击败远古多头蛇",
  	not_hydra_pit_dif_2_title: "在无望难度下击败远古多头蛇",
  	not_hydra_pit_dif_3: "斩杀传说中的多头蛇",
  	not_hydra_pit_dif_3_title: "在神明难度下斩杀传说中的多头蛇!",
  	not_hobgoblin_chieftain_dif_1: "挑战淘气鬼酋长",
  	not_hobgoblin_chieftain_dif_1_title: "在困难难度下挑战淘气鬼酋长",
  	not_hobgoblin_chieftain_dif_2: "击败淘气鬼酋长",
  	not_hobgoblin_chieftain_dif_2_title: "在无望难度下击败淘气鬼酋长",
  	not_hobgoblin_chieftain_dif_3: "打倒淘气鬼酋长",
  	not_hobgoblin_chieftain_dif_3_title: "在神明难度下打倒淘气鬼酋长!",
  	not_gorgon_cave_dif_1: "探索蛇发女妖巢穴",
  	not_gorgon_cave_dif_1_title: "在困难难度下探索蛇发女妖巢穴",
  	not_gorgon_cave_dif_2: "通过蛇发女妖巢穴",
  	not_gorgon_cave_dif_2_title: "在无望难度下通过蛇发女妖巢穴",
  	not_gorgon_cave_dif_3: "征服蛇发女妖巢穴",
  	not_gorgon_cave_dif_3_title: "在神明难度下征服蛇发女妖巢穴!",
  	not_orc_horde_boss: "成为人类最后的防线",
  	not_orc_horde_boss_title: "从兽人部落的攻击下生还",
  	not_orc_horde_boss_dif_99: "在容易难度下成为人类最后的防线!",
  	not_orc_horde_boss_dif_99_title: "从容易难度兽人部落的攻击下生还",
  	not_orc_horde_boss_dif_1: "在困难难度下成为人类最后的防线!",
  	not_orc_horde_boss_dif_1_title: "从困难难度兽人部落的攻击下生还",
  	not_orc_horde_boss_dif_2: "在无望难度下成为人类最后的防线!",
  	not_orc_horde_boss_dif_2_title: "从无望难度兽人部落的攻击下生还",
  	not_orc_horde_boss_dif_3: "在神明难度下成为人类最后的防线!",
  	not_orc_horde_boss_dif_3_title: "从神明难度兽人部落的攻击下生还",
  	not_harbor_district: "航海",
  	not_harbor_district_title: "海湾区",
  	not_holy_site: "信仰的堡垒!",
  	not_holy_site_title: "应许之地",
  	not_persuade_nobility: "政治献金",
  	not_persuade_nobility_title: "说服贵族",
  	not_fortified_citadel: "永不陷落",
  	not_fortified_citadel_title: "磐石堡垒",
  	not_library_souls: "禁忌知识",
  	not_library_souls_title: "灵魂图书馆",
  	not_loved_people: "人民的拥戴",
  	not_loved_people_title: "赢得民心",
  	not_statue_virtue: "人类的美德",
  	not_statue_virtue_title: "美德雕像",
  	not_5_alchemic_laboratory: "疯狂科学家",
  	not_5_alchemic_laboratory_title: "5个炼金实验室",
  	not_15_alchemic_laboratory: "点金之手",
  	not_15_alchemic_laboratory_title: "15个炼金实验室",
  	not_5_alchemist_complex: "新世界的炼金术",
  	not_5_alchemist_complex_title: "5个炼金联合体",
  	not_15_alchemist_complex: "产生硝石",
  	not_15_alchemist_complex_title: "15个炼金联合体",
  	not_25_alchemist_complex: "金玉满堂",
  	not_25_alchemist_complex_title: "25个炼金联合体",
  	not_5_altar_of_sacrifices: "神圣屠杀",
  	not_5_altar_of_sacrifices_title: "5个献祭圣坛",
  	not_15_altar_of_sacrifices: "阿兹特克净化",
  	not_15_altar_of_sacrifices_title: "15个献祭圣坛",
  	not_tab_army: "我们可以开始训练弓箭手和侦察兵了",
  	not_tab_army_title: "军队",
  	not_1_annihilator: "核爆末日",
  	not_1_annihilator_title: "1次发射灭世终焉",
  	not_5_annihilator: "黑洞之力",
  	not_5_annihilator_title: "5次发射灭世终焉",
  	not_15_annihilator: "深渊炼狱",
  	not_15_annihilator_title: "15次发射灭世终焉",
  	not_30_annihilator: "星辰伟力",
  	not_30_annihilator_title: "30次发射灭世终焉",
  	not_5_arcane_school: "研究深渊",
  	not_5_arcane_school_title: "5个奥术学校",
  	not_10_arcane_school: "精研深渊",
  	not_10_arcane_school_title: "10个奥术学校",
  	not_15_arcane_school: "掌控深渊",
  	not_15_arcane_school_title: "15个奥术学校",
  	not_10_artillery_firing: "准备,开火!",
  	not_10_artillery_firing_title: "10个炮兵靶场",
  	not_5_abyss_outpost: "深渊之军队",
  	not_5_abyss_outpost_title: "5个深渊前哨",
  	not_10_abyss_outpost: "深渊之大军",
  	not_10_abyss_outpost_title: "10个深渊前哨",
  	not_15_abyss_outpost: "深渊之雄兵",
  	not_15_abyss_outpost_title: "15个深渊前哨",
  	not_5_artisan_workshop: "给锅塑形",
  	not_5_artisan_workshop_title: "5个工匠作坊",
  	not_15_artisan_workshop: "手工业区",
  	not_15_artisan_workshop_title: "15个工匠作坊",
  	not_30_artisan_workshop: "手工业城",
  	not_30_artisan_workshop_title: "30个工匠作坊",
  	not_5_artisans_complex: "开发定居点",
  	not_5_artisans_complex_title: "5个工匠联合体",
  	not_15_artisans_complex: "开发新世界",
  	not_15_artisans_complex_title: "15个工匠联合体",
  	not_25_artisans_complex: "大量原材料",
  	not_25_artisans_complex_title: "25个工匠联合体",
  	not_attack_incoming: "守望者们发现敌袭!快到城墙上去!!!",
  	not_attack_incoming_title: "敌袭",
  	not_4_ballista: "大弩",
  	not_4_ballista_title: "4个弩炮",
  	not_5_bank: "向着经济上的转生",
  	not_5_bank_title: "5个银行",
  	not_15_bank: "垄断",
  	not_15_bank_title: "15个银行",
  	not_5_barracks: "歌声嘹亮",
  	not_5_barracks_title: "5个兵营",
  	not_15_barracks: "歌声四起",
  	not_15_barracks_title: "15个兵营",
  	not_30_barracks: "军事之城",
  	not_30_barracks_title: "30个兵营",
  	not_5_beacon_light: "深渊中的光明",
  	not_5_beacon_light_title: "5个光之信标",
  	not_10_beacon_light: "与黑暗战斗",
  	not_10_beacon_light_title: "10个光之信标",
  	not_15_beacon_light: "充满光明的前哨",
  	not_15_beacon_light_title: "15个光之信标",
  	not_5_builders_complex: "定居点之建筑工",
  	not_5_builders_complex_title: "5个建筑工联合体",
  	not_15_builders_complex: "定居点之辛勤建筑工",
  	not_15_builders_complex_title: "15个建筑工联合体",
  	not_25_builders_complex: "定居点之史诗建筑工",
  	not_25_builders_complex_title: "25个建筑工联合体",
  	not_5_carpenter_workshop: "建筑原料",
  	not_5_carpenter_workshop_title: "5个木匠工坊",
  	not_15_carpenter_workshop: "建造城市",
  	not_15_carpenter_workshop_title: "15个木匠工坊",
  	not_cathedral: "圣地",
  	not_cathedral_title: "建造大教堂",
  	not_city_center: "城市更好了",
  	not_city_center_title: "建造市中心",
  	not_5_colony_hall: "建造定居点",
  	not_5_colony_hall_title: "5个定居点大厅",
  	not_10_colony_hall: "发展定居点",
  	not_10_colony_hall_title: "10个定居点大厅",
  	not_15_colony_hall: "掌控定居点",
  	not_15_colony_hall_title: "15个定居点大厅",
  	not_5_common_house: "小村落",
  	not_5_common_house_title: "5个普通房屋",
  	not_15_common_house: "村庄扩张",
  	not_15_common_house_title: "15个普通房屋",
  	not_30_common_house: "不只是村庄了",
  	not_30_common_house_title: "30个普通房屋",
  	not_5_city_hall: "行政中心",
  	not_5_city_hall_title: "5个市政厅",
  	not_15_city_hall: "官僚中心",
  	not_15_city_hall_title: "15个市政厅",
  	not_25_city_hall: "管理妥善的城市",
  	not_25_city_hall_title: "25个市政厅",
  	not_5_crystal_farm_b: "培育水晶",
  	not_5_crystal_farm_b_title: "5个水晶培育场",
  	not_10_crystal_farm_b: "新世界中的更多水晶",
  	not_10_crystal_farm_b_title: "10个水晶培育场",
  	not_15_crystal_farm_b: "水晶核心",
  	not_15_crystal_farm_b_title: "15个水晶培育场",
  	not_5_elf_encampment: "精灵之友",
  	not_5_elf_encampment_title: "5个精灵营地",
  	not_10_elf_encampment: "精灵行家",
  	not_10_elf_encampment_title: "10个精灵营地",
  	not_5_elf_village: "尖尖的耳朵",
  	not_5_elf_village_title: "5个精灵村庄",
  	not_10_elf_village: "登攀者世界原住民",
  	not_10_elf_village_title: "10个精灵村庄",
  	not_5_elf_town: "让精灵再次伟大",
  	not_5_elf_town_title: "5个精灵城镇",
  	not_10_elf_town: "精灵之城",
  	not_10_elf_town_title: "10个精灵城镇",
  	not_15_elf_town: "精灵之都",
  	not_15_elf_town_title: "15个精灵城镇",
  	not_5_enhanced_barracks: "淬炼精兵",
  	not_5_enhanced_barracks_title: "5个强化兵营",
  	not_10_enhanced_barracks: "深渊中的新武器",
  	not_10_enhanced_barracks_title: "10个强化兵营",
  	not_15_enhanced_barracks: "全副武装",
  	not_15_enhanced_barracks_title: "15个强化兵营",
  	not_5_extensive_cultivation_b: "开垦新世界",
  	not_5_extensive_cultivation_b_title: "5个粗放耕作场",
  	not_10_extensive_cultivation_b: "仓廪丰实",
  	not_10_extensive_cultivation_b_title: "10个粗放耕作场",
  	not_15_extensive_cultivation_b: "屯聚雄师",
  	not_15_extensive_cultivation_b_title: "15个粗放耕作场",
  	not_5_mansion: "封建传统",
  	not_5_mansion_title: "5个宅邸",
  	not_15_mansion: "城市的郊区",
  	not_15_mansion_title: "15个宅邸",
  	not_25_mansion: "历史中心",
  	not_25_mansion_title: "25个宅邸",
  	not_5_residential_block: "在建城市",
  	not_5_residential_block_title: "5个住宅区",
  	not_15_residential_block: "伟大城市",
  	not_15_residential_block_title: "15个住宅区",
  	not_25_residential_block: "大都市",
  	not_25_residential_block_title: "25个住宅区",
  	not_5_gan_eden: "伊甸乐园",
  	not_5_gan_eden_title: "5个伊甸园",
  	not_15_gan_eden: "众神花园",
  	not_15_gan_eden_title: "15个伊甸园",
  	not_25_gan_eden: "登攀者世界的天堂",
  	not_25_gan_eden_title: "25个伊甸园",
  	not_5_industrial_plant: "工业枢纽",
  	not_5_industrial_plant_title: "5个工业厂房",
  	not_15_industrial_plant: "工业区",
  	not_15_industrial_plant_title: "15个工业厂房",
  	not_25_industrial_plant: "工业之城",
  	not_25_industrial_plant_title: "25个工业厂房",
  	not_5_natronite_refinery: "钠红石生产",
  	not_5_natronite_refinery_title: "5个钠红石精炼厂",
  	not_15_natronite_refinery: "钠红石之城",
  	not_15_natronite_refinery_title: "15个钠红石精炼厂",
  	not_25_natronite_refinery: "无望级钠红石",
  	not_25_natronite_refinery_title: "25个钠红石精炼厂",
  	not_5_builder_district: "建筑工的援助",
  	not_5_builder_district_title: "5个建筑工区域",
  	not_15_builder_district: "建筑工之城",
  	not_15_builder_district_title: "15个建筑工区域",
  	not_25_builder_district: "登攀者世界的建筑工",
  	not_25_builder_district_title: "25个建筑工区域",
  	not_5_research_plant: "研究登攀者世界",
  	not_5_research_plant_title: "5个研究工厂",
  	not_15_research_plant: "没有更多秘密了",
  	not_15_research_plant_title: "15个研究工厂",
  	not_25_research_plant: "登攀者世界了然于心",
  	not_25_research_plant_title: "25个研究工厂",
  	not_5_factory: "装配线",
  	not_5_factory_title: "5个工厂",
  	not_15_factory: "蓝领工人",
  	not_15_factory_title: "15个工厂",
  	not_5_farm: "种草的乐趣",
  	not_5_farm_title: "5个农场",
  	not_15_farm: "农业中心",
  	not_15_farm_title: "15个农场",
  	not_30_farm: "农业之城",
  	not_30_farm_title: "30个农场",
  	not_5_granary: "猎杀老鼠",
  	not_5_granary_title: "5个粮仓",
  	not_15_granary: "大粮仓",
  	not_15_granary_title: "15个粮仓",
  	not_25_granary: "巨粮仓",
  	not_25_granary_title: "25个粮仓",
  	not_5_fiefdom: "封建主义",
  	not_5_fiefdom_title: "5个封地",
  	not_15_fiefdom: "封建与自由",
  	not_15_fiefdom_title: "15个封地",
  	not_5_financial_center: "终极印钞机",
  	not_5_financial_center_title: "5个金融中心",
  	not_10_financial_center: "财务自由",
  	not_10_financial_center_title: "10个金融中心",
  	not_15_financial_center: "经纪人",
  	not_15_financial_center_title: "15个金融中心",
  	not_5_foundry: "热锻造",
  	not_5_foundry_title: "5个铸造厂",
  	not_15_foundry: "融化之城",
  	not_15_foundry_title: "15个铸造厂",
  	not_5_fortune_grove: "一点运气",
  	not_5_fortune_grove_title: "5个好运之森",
  	not_15_fortune_grove: "很多运气",
  	not_15_fortune_grove_title: "15个好运之森",
  	not_great_bombard: "超级大炮",
  	not_great_bombard_title: "建造超级大炮",
  	not_great_fair: "来吧先生们",
  	not_great_fair_title: "建造超大集市",
  	not_5_gathering_area: "丰富的深渊资源",
  	not_5_gathering_area_title: "5个集结区域",
  	not_10_gathering_area: "充足的深渊资源",
  	not_10_gathering_area_title: "10个集结区域",
  	not_15_gathering_area: "充盈的深渊资源",
  	not_15_gathering_area_title: "15个集结区域",
  	not_5_grocery: "当地购物中心",
  	not_5_grocery_title: "5个食品杂货店",
  	not_15_grocery: "区域购物中心",
  	not_15_grocery_title: "15个食品杂货店",
  	not_5_guarded_storehouse: "有人值守",
  	not_5_guarded_storehouse_title: "5个有人值守仓库",
  	not_15_guarded_storehouse: "更多人值守",
  	not_15_guarded_storehouse_title: "15个有人值守仓库",
  	not_ios_install: "想要在主屏幕上安装应用的话,只需点击分享按钮,然后点击添加到主屏幕",
  	not_ios_install_title: "添加到主屏幕",
  	not_new_kingdom: "您发现了新的王国",
  	not_new_kingdom_title: "新的王国",
  	not_5_large_shed: "上限之战",
  	not_5_large_shed_title: "5个大型棚屋",
  	not_15_large_shed: "战斗白热化",
  	not_15_large_shed_title: "15个大型棚屋",
  	not_25_large_shed: "我们赢了吗?",
  	not_25_large_shed_title: "25个大型棚屋",
  	not_5_large_warehouse: "终于多了一点空间",
  	not_5_large_warehouse_title: "5个大型库房",
  	not_15_large_warehouse: "终于多了不少空间",
  	not_15_large_warehouse_title: "15个大型库房",
  	not_5_launch_silos: "这些有什么用?",
  	not_5_launch_silos_title: "5个发射井",
  	not_10_launch_silos: "只是储存辉烬的?",
  	not_10_launch_silos_title: "10个发射井",
  	not_15_launch_silos: "展望未来",
  	not_15_launch_silos_title: "15个发射井",
  	not_5_light_turret: "不惧黑暗",
  	not_5_light_turret_title: "5个光明炮塔",
  	not_10_light_turret: "光辉防线",
  	not_10_light_turret_title: "10个光明炮塔",
  	not_15_light_turret: "深渊启明",
  	not_15_light_turret_title: "15个光明炮塔",
  	not_5_logistic_center: "兜售货物",
  	not_5_logistic_center_title: "5个物流中心",
  	not_15_logistic_center: "物流配送中心",
  	not_15_logistic_center_title: "15个物流中心",
  	not_5_lumberjack_camp: "一棵又一棵",
  	not_5_lumberjack_camp_title: "5个伐木工营地",
  	not_15_lumberjack_camp: "伐木热情",
  	not_15_lumberjack_camp_title: "15个伐木工营地",
  	not_30_lumberjack_camp: "伐木奉献",
  	not_30_lumberjack_camp_title: "30个伐木工营地",
  	not_5_lumix_plant: "新资源",
  	not_5_lumix_plant_title: "5个辉烬工厂",
  	not_10_lumix_plant: "关注创新",
  	not_10_lumix_plant_title: "10个辉烬工厂",
  	not_15_lumix_plant: "深渊辉烬",
  	not_15_lumix_plant_title: "15个辉烬工厂",
  	not_5_lumix_refinery: "精炼珍贵的辉烬",
  	not_5_lumix_refinery_title: "5个辉烬精炼厂",
  	not_10_lumix_refinery: "更珍贵的辉烬",
  	not_10_lumix_refinery_title: "10个辉烬精炼厂",
  	not_15_lumix_refinery: "大量珍贵的辉烬",
  	not_15_lumix_refinery_title: "15个辉烬精炼厂",
  	not_5_mana_battery: "补充法力",
  	not_5_mana_battery_title: "5个法力电池",
  	not_10_mana_battery: "满溢的法力",
  	not_10_mana_battery_title: "10个法力电池",
  	not_15_mana_battery: "法力惠及众生",
  	not_15_mana_battery_title: "15个法力电池",
  	not_5_mana_maker_b: "产生法力",
  	not_5_mana_maker_b_title: "5个法力制造器",
  	not_10_mana_maker_b: "法力工业",
  	not_10_mana_maker_b_title: "10个法力制造器",
  	not_15_mana_maker_b: "将法力提供给千家万户",
  	not_15_mana_maker_b_title: "15个法力制造器",
  	not_5_mana_reactor: "不稳定的反应堆",
  	not_5_mana_reactor_title: "5个法力反应堆",
  	not_10_mana_reactor: "法力能量!",
  	not_10_mana_reactor_title: "10个法力反应堆",
  	not_8_magical_tower: "塔防",
  	not_8_magical_tower_title: "8个魔法塔",
  	not_8_minefield: "安全的城市",
  	not_8_minefield_title: "8个雷区",
  	not_4_natronite_baloon: "空中瞭望台",
  	not_4_natronite_baloon_title: "4个钠红石气球",
  	not_5_officer_training_ground: "指导军官",
  	not_5_officer_training_ground_title: "5个军官训练场",
  	not_5_magic_circle: "法力流",
  	not_5_magic_circle_title: "5个魔法环",
  	not_15_magic_circle: "法力河",
  	not_15_magic_circle_title: "15个魔法环",
  	not_mana_pit: "充满法力的深洞",
  	not_mana_pit_title: "法力深井",
  	not_tab_magic: "我们可以使用祈祷和咒语了",
  	not_tab_magic_title: "魔法",
  	not_tab_marketplace: "终于有市场了!我们可以买卖商品了",
  	not_tab_marketplace_title: "市场",
  	not_5_marketplace: "为了一些钱币",
  	not_5_marketplace_title: "5个市场",
  	not_15_marketplace: "为了一袋黄金",
  	not_15_marketplace_title: "15个市场",
  	not_30_marketplace: "为了三十袋黄金",
  	not_30_marketplace_title: "30个市场",
  	not_5_matter_transmuter: "玩弄物质",
  	not_5_matter_transmuter_title: "5个物质转化器",
  	not_15_matter_transmuter: "物质之主",
  	not_15_matter_transmuter_title: "15个物质转化器",
  	not_max_cap: "数量已达上限",
  	not_max_cap_title: "数量上限",
  	not_5_mercenary_camp: "幸运援助",
  	not_5_mercenary_camp_title: "5个佣兵营地",
  	not_10_mercenary_camp: "这些佣兵到底有没有用?",
  	not_10_mercenary_camp_title: "10个佣兵营地",
  	not_15_mercenary_camp: "佣兵精锐",
  	not_15_mercenary_camp_title: "15个佣兵营地",
  	not_5_military_academy: "军官",
  	not_5_military_academy_title: "5个军事学院",
  	not_15_military_academy: "高级军官",
  	not_15_military_academy_title: "15个军事学院",
  	not_5_mine: "往下挖掘",
  	not_5_mine_title: "5个矿井",
  	not_15_mine: "保持专注",
  	not_15_mine_title: "15个矿井",
  	not_30_mine: "采矿之城",
  	not_30_mine_title: "30个矿井",
  	not_5_mining_area: "深渊开采",
  	not_5_mining_area_title: "5个采矿区",
  	not_10_mining_area: "深渊开发",
  	not_10_mining_area_title: "10个采矿区",
  	not_15_mining_area: "深渊枯竭",
  	not_15_mining_area_title: "15个采矿区",
  	not_5_ministry_development: "首个部委",
  	not_5_ministry_development_title: "5个发展部",
  	not_15_ministry_development: "国家的发展",
  	not_15_ministry_development_title: "15个发展部",
  	not_new_version: "本游戏更新啦,快通知阳光锅巴更新游戏吧,关闭通知即可更新",
  	not_new_version_title: "新版本",
  	not_1_ng_reset: "到达1次超里程碑",
  	not_1_ng_reset_title: "1次超转生",
  	not_5_ng_reset: "到达5次超里程碑",
  	not_5_ng_reset_title: "5次超转生",
  	not_10_ng_reset: "到达10次超里程碑",
  	not_10_ng_reset_title: "10次超转生",
  	not_20_ng_reset: "到达20次超里程碑",
  	not_20_ng_reset_title: "20次超转生",
  	not_40_ng_reset: "到达40次超里程碑",
  	not_40_ng_reset_title: "40次超转生",
  	not_80_ng_reset: "到达80次超里程碑",
  	not_80_ng_reset_title: "80次超转生",
  	not_5_observatory: "星游记",
  	not_5_observatory_title: "5个天文台",
  	not_15_observatory: "研究的新高度",
  	not_15_observatory_title: "15个天文台",
  	not_palisade: "良好的防御工事",
  	not_palisade_title: "建造栅栏",
  	not_1_prestige: "到达1次里程碑",
  	not_1_prestige_title: "1次转生",
  	not_5_prestige: "到达5次里程碑",
  	not_5_prestige_title: "5次转生",
  	not_15_prestige: "到达15次里程碑",
  	not_15_prestige_title: "15次转生",
  	not_30_prestige: "到达30次里程碑",
  	not_30_prestige_title: "30次转生",
  	not_60_prestige: "到达60次里程碑",
  	not_60_prestige_title: "60次转生",
  	not_120_prestige: "到达120次里程碑",
  	not_120_prestige_title: "120次转生",
  	not_5_probe_system: "探察深渊",
  	not_5_probe_system_title: "5个探测系统",
  	not_10_probe_system: "深渊高科技",
  	not_10_probe_system_title: "10个探测系统",
  	not_12_probe_system: "探测器网络",
  	not_12_probe_system_title: "12个探测系统",
  	not_5_quarry: "背痛增加",
  	not_5_quarry_title: "5个采石场",
  	not_15_quarry: "石头分队",
  	not_15_quarry_title: "15个采石场",
  	not_30_quarry: "石头之军",
  	not_30_quarry_title: "30个采石场",
  	not_5_railway_station: "铁路",
  	not_5_railway_station_title: "5个火车站",
  	not_15_railway_station: "蒸汽引擎",
  	not_15_railway_station_title: "15个火车站",
  	not_5_recruit_training_center: "训练新兵",
  	not_5_recruit_training_center_title: "5个新兵训练中心",
  	not_refugee_district: "帮助难民",
  	not_refugee_district_title: "难民区",
  	not_remember_save: "存档不规范,玩家两行泪,特此提醒您,注意保管存档,以防万一",
  	not_remember_save_title: "备份存档",
  	not_5_school: "科学启蒙",
  	not_5_school_title: "5个学校",
  	not_15_school: "学习登攀者世界",
  	not_15_school_title: "15个学校",
  	not_30_school: "掌握登攀者世界",
  	not_30_school_title: "30个学校",
  	not_5_shed: "能正常运转的棚屋",
  	not_5_shed_title: "5个棚屋",
  	not_15_shed: "定居点中拥有大量空间",
  	not_15_shed_title: "15个棚屋",
  	not_30_shed: "整个定居点的空间",
  	not_30_shed_title: "30个棚屋",
  	not_10_siege_workshop: "建造攻城机器",
  	not_10_siege_workshop_title: "10个攻城机器厂",
  	not_5_stable: "小马",
  	not_5_stable_title: "5个马厩",
  	not_15_stable: "更多马",
  	not_15_stable_title: "15个马厩",
  	not_30_stable: "大赛马",
  	not_30_stable_title: "30个马厩",
  	not_5_steel_mills_b: "熔铁",
  	not_5_steel_mills_b_title: "5个钢厂",
  	not_10_steel_mills_b: "新世界的钢厂",
  	not_10_steel_mills_b_title: "10个钢厂",
  	not_15_steel_mills_b: "钢铁定居点",
  	not_15_steel_mills_b_title: "15个钢厂",
  	not_5_steelworks: "加工钢铁",
  	not_5_steelworks_title: "5个钢铁厂",
  	not_15_steelworks: "努力加工钢铁",
  	not_15_steelworks_title: "15个钢铁厂",
  	not_stock_exchange: "高买低卖",
  	not_stock_exchange_title: "证券交易所",
  	not_5_store: "有效的储物间",
  	not_5_store_title: "5个储物间",
  	not_15_store: "许多空间",
  	not_15_store_title: "15个储物间",
  	not_30_store: "一城的空间",
  	not_30_store_title: "30个储物间",
  	not_5_temple: "听到了祈祷",
  	not_5_temple_title: "5个寺庙",
  	not_15_temple: "取悦神明",
  	not_15_temple_title: "15个寺庙",
  	not_5_conclave: "圣职者聚集的地方",
  	not_5_conclave_title: "5个秘密会议",
  	not_15_conclave: "宗教之城",
  	not_15_conclave_title: "15个秘密会议",
  	not_5_spiritual_garden: "静谧之地",
  	not_5_spiritual_garden_title: "5个精神花园",
  	not_15_spiritual_garden: "冥想",
  	not_15_spiritual_garden_title: "15个精神花园",
  	not_5_credit_union: "赚钱的新方法",
  	not_5_credit_union_title: "5个信用社",
  	not_15_credit_union: "赚大钱",
  	not_15_credit_union_title: "15个信用社",
  	not_5_natronite_depot: "钠红石材料",
  	not_5_natronite_depot_title: "5个钠红石仓库",
  	not_15_natronite_depot: "大量存储钠红石",
  	not_15_natronite_depot_title: "15个钠红石仓库",
  	not_5_storage_facility: "去除上限",
  	not_5_storage_facility_title: "5个存储设施",
  	not_15_storage_facility: "超大的空间",
  	not_15_storage_facility_title: "15个存储设施",
  	not_5_guarded_facility: "我的宝库",
  	not_5_guarded_facility_title: "5个大型仓库",
  	not_15_guarded_facility: "调查材料",
  	not_15_guarded_facility_title: "15个大型仓库",
  	not_tower_mana: "力量咒语已组合",
  	not_tower_mana_title: "法力之塔",
  	not_5_trench: "世界大战",
  	not_5_trench_title: "5个战壕",
  	not_15_trench: "西部战线",
  	not_15_trench_title: "15个战壕",
  	not_25_trench: "索姆河战役",
  	not_25_trench_title: "25个战壕",
  	not_5_underground_house: "深渊庇护所",
  	not_5_underground_house_title: "5个地下房屋",
  	not_10_underground_house: "深渊庇护所",
  	not_10_underground_house_title: "10个地下房屋",
  	not_15_underground_house: "深渊庇护所",
  	not_15_underground_house_title: "15个地下房屋",
  	not_5_underground_store: "地下仓库",
  	not_5_underground_store_title: "5个地下储物间",
  	not_10_underground_store: "挖掘空间",
  	not_10_underground_store_title: "10个地下储物间",
  	not_15_underground_store: "深渊中的储量上限之战",
  	not_15_underground_store_title: "15个地下储物间",
  	not_5_university: "调查登攀者世界",
  	not_5_university_title: "5个大学",
  	not_15_university: "登攀者世界毕业",
  	not_15_university_title: "15个大学",
  	not_5_valley_of_plenty: "扔个硬币",
  	not_5_valley_of_plenty_title: "5个丰饶之谷",
  	not_wall: "更好的防御工事",
  	not_wall_title: "建造城墙",
  	not_8_watchman_outpost: "哨兵网络",
  	not_8_watchman_outpost_title: "8个守望者前哨",
  	pop_artisan: "工匠",
  	pop_breeder: "饲育员",
  	pop_harvester: "采集者",
  	pop_farmer: "农民",
  	pop_fisher: "渔夫",
  	pop_lumberjack: "伐木工",
  	pop_merchant: "商人",
  	pop_trader: "交易人",
  	pop_miner: "矿工",
  	pop_quarryman: "石工",
  	pop_priest: "牧师",
  	pop_carpenter: "木匠",
  	pop_steelworker: "炼钢工人",
  	pop_professor: "教授",
  	pop_quartermaster: "军需官",
  	pop_skymancer: "星学家",
  	pop_supplier: "供应商",
  	pop_alchemist: "炼金术士",
  	pop_unemployed: "失业",
  	pop_natro_refiner: "钠红石精炼工",
  	pop_researcher: "研究员",
  	pop_lumiforger: "辉烬铸匠",
  	res_army: "军队",
  	res_coin: "代币",
  	res_copper: "铜",
  	res_cow: "奶牛",
  	res_crystal: "水晶",
  	res_faith: "信念",
  	res_fame: "声誉",
  	res_food: "食物",
  	res_gold: "黄金",
  	res_horse: "马",
  	res_iron: "铁",
  	res_legacy: "传承",
  	res_light: "光明",
  	res_luck: "幸运石",
  	res_mana: "法力",
  	res_natronite: "钠红石",
  	res_lumix: "辉烬",
  	res_population: "人口",
  	res_stone: "石头",
  	res_relic: "遗物",
  	res_research: "研究点",
  	res_tools: "工具",
  	res_wood: "木材",
  	res_building_material: "原料",
  	res_steel: "钢",
  	res_supplies: "补给",
  	res_saltpetre: "硝石",
  	res_tome_wisdom: "智慧卷轴",
  	res_gem: "宝石",
  	res_titan_gift: "泰坦之礼物",
  	stat_ann_launch: "灭世终焉发射数",
  	stat_ann_launch_title: "发射灭世终焉的次数",
  	stat_cap_gold: "黄金上限",
  	stat_cap_gold_title: "最大黄金上限",
  	stat_cap_wood: "木材上限",
  	stat_cap_wood_title: "最大木材上限",
  	stat_cap_stone: "石头上限",
  	stat_cap_stone_title: "最大石头上限",
  	stat_cap_food: "食物上限",
  	stat_cap_food_title: "最大食物上限",
  	stat_fame: "声誉",
  	stat_fame_title: "获取的声誉",
  	stat_empty: "您需要继续玩下去才能获得统计数据",
  	stat_research: "研究点",
  	stat_research_title: "花费的研究点",
  	stat_faith: "信念",
  	stat_faith_title: "花费的信念",
  	stat_mana: "法力",
  	stat_mana_title: "获取的法力",
  	stat_ng_bonus: "超转生的加成",
  	stat_ng_bonus_title: "从超转生获得的加成",
  	stat_ng_reset: "超转生",
  	stat_ng_reset_title: "超转生次数",
  	stat_oracle: "神谕",
  	stat_oracle_title: "神谕预测次数",
  	stat_scout: "侦察兵",
  	stat_scout_title: "侦察兵进行任务的次数",
  	stat_spy: "间谍",
  	stat_spy_title: "间谍进行任务的次数",
  	stat_attack: "攻击次数",
  	stat_attack_title: "发动攻击的次数",
  	stat_kill: "敌人击杀数",
  	stat_kill_title: "敌人击杀数",
  	stat_dead: "士兵阵亡数",
  	stat_dead_title: "士兵阵亡数",
  	stat_reset: "转生",
  	stat_reset_title: "转生次数",
  	tec_abyss_shrine: "深渊神殿",
  	tec_abyss_shrine_description: "我们可以在深渊中建立神殿",
  	tec_activate_signal: "激活信号机器",
  	tec_activate_signal_description: "我们可以激活信号机器,充分利用它的力量",
  	tec_adamantium_projectiles: "精金子弹",
  	tec_adamantium_projectiles_description: "精金子弹",
  	tec_adamantium_shield: "精金盾",
  	tec_adamantium_shield_description: "精金盾可以为士兵们提供防护",
  	tec_adamantium_sword: "精金剑",
  	tec_adamantium_sword_description: "供士兵们使用的精金剑",
  	tec_adamantium_lance: "精金长枪",
  	tec_adamantium_lance_description: "供骑兵们使用的精金长枪",
  	tec_agricolture: "农业",
  	tec_agricolture_description: "一分耕耘,一分收获",
  	tec_agreement_passage_wanders: "与游荡者的协定",
  	tec_agreement_passage_wanders_description: "有了这个协定,我们就可以自由探索他们的土地了,毕竟我们是盟友",
  	tec_aid_request: "请求帮助",
  	tec_aid_request_description: "这些奇怪的生物正在观察我们的定居点,以便与我们进行交流。他们似乎有什么要求,我们的学者需要借助魔法来理解他们的语言",
  	tec_alchemical_reactions: "炼金术反应",
  	tec_alchemical_reactions_description: "通过炼金术我们可以进一步提高产量",
  	tec_alchemist_complex_t: "炼金联合体",
  	tec_alchemist_complex_t_description: "常备军需要大量硝石",
  	tec_ancient_artifact: "精灵古物",
  	tec_ancient_artifact_description: "精灵祖先们从一件失落的古物中汲取力量",
  	tec_ancient_balor_t: "远古炎魔",
  	tec_ancient_balor_t_description: "召唤远古炎魔",
  	tec_ancient_spell: "远古咒语",
  	tec_ancient_spell_description: "来自远古的咒语",
  	tec_angel_palace_t: "天使宫殿",
  	tec_angel_palace_t_description: "天使想在深渊中帮助我们",
  	tec_arcane_study: "奥术研究",
  	tec_arcane_study_description: "我们可以在前哨深入研究这里的奥术",
  	tec_archery: "箭术",
  	tec_archery_description: "我们可以利用弓箭从安全的距离发动攻击",
  	tec_architecture: "建筑学",
  	tec_architecture_description: "中世纪推动了我们的建筑工实现伟大工程",
  	tec_artillery_officer_t: "炮兵军官营房",
  	tec_artillery_officer_t_description: "我们需要培养最优秀的炮兵军官",
  	tec_veteran_artillerymen: "老练的炮兵",
  	tec_veteran_artillerymen_description: "是时候训练工兵们的枪法了",
  	tec_architecture_titan_t: "泰坦的建筑",
  	tec_architecture_titan_t_description: "泰坦的建筑知识",
  	tec_artisan_complex: "工匠联合体",
  	tec_artisan_complex_description: "让我们开发定居点的矿产资源吧",
  	tec_assembly_line: "装配线",
  	tec_assembly_line_description: "装配线将带着我们进入工业时代",
  	tec_astronomy: "天文学",
  	tec_astronomy_description: "如果我们想要结束封建纪元,就必须把目光转向天空",
  	tec_ancient_stockpile: "远古库存",
  	tec_ancient_stockpile_description: "过去几代人为我们留下了远古仓库",
  	tec_atomic_theory: "原子理论",
  	tec_atomic_theory_description: "精灵对事物的构成有更深入的了解",
  	tec_avatar_fate: "命运之化身",
  	tec_avatar_fate_description: "召唤命运之化身",
  	tec_bandit_chief: "强盗首领",
  	tec_bandit_chief_description: "一个强盗交代,他们都是从一个名叫骷髅脸的首领那里接受命令的",
  	tec_banking: "银行业",
  	tec_banking_description: "我的是我的,你的还是我的",
  	tec_barbarian_tribes: "野蛮人部落",
  	tec_barbarian_tribes_description: "通过酷刑……呃,不对,对野蛮人村庄的调查后,我们发现他们的国家由部落组成",
  	tec_beacon_faith: "信仰的灯塔",
  	tec_beacon_faith_description: "让定居点致力于魔法和信仰。您只能选择其一",
  	tec_besieging_engineers: "围城工程师",
  	tec_besieging_engineers_description: "随着攻城技术的出现,我们可以增加火炮的火力了",
  	tec_biology: "生物学",
  	tec_biology_description: "对登攀者世界的自然生态研究可以应用于市民们的生活",
  	tec_black_artifact: "黑色古物",
  	tec_black_artifact_description: "我们必须让这种疯狂停下来",
  	tec_boot_camp_t: "新兵训练营",
  	tec_boot_camp_t_description: "我们可以在此训练士兵",
  	tec_breeding: "饲育",
  	tec_breeding_description: "我们需要培育出登攀者世界最好的马",
  	tec_bronze_working: "青铜加工",
  	tec_bronze_working_description: "青铜时代,我最喜欢的时代之一!",
  	tec_bronze_projectiles: "青铜箭头",
  	tec_bronze_projectiles_description: "青铜箭头",
  	tec_bronze_shield: "青铜盾",
  	tec_bronze_shield_description: "青铜盾可以为士兵们提供防护",
  	tec_bronze_sword: "青铜剑",
  	tec_bronze_sword_description: "供士兵们使用的青铜剑",
  	tec_bronze_lance: "青铜长枪",
  	tec_bronze_lance_description: "供骑兵们使用的青铜长枪",
  	tec_burned_farms: "被烧毁的农场",
  	tec_burned_farms_description: "我们需要调查那些偏远的农场发生了什么,孩子们的失踪令人感到非常不安",
  	tec_canava_mercenary: "卡纳瓦护卫",
  	tec_canava_mercenary_description: "精英佣兵部队,拿我们的钱,为我们办事",
  	tec_cavern_artifact: "古物洞穴",
  	tec_cavern_artifact_description: "我们必须取回古物",
  	tec_centralized_power: "中央集权",
  	tec_centralized_power_description: "现在比以往任何时候都需要保持强大的中央集权",
  	tec_chemistry: "化学",
  	tec_chemistry_description: "化学是研究登攀者世界物质组成的艺术",
  	tec_cloistered_life: "隐居生活",
  	tec_cloistered_life_description: "修道会的兴起",
  	tec_cpt_galliard_t: "加里亚德团长",
  	tec_cpt_galliard_t_description: "雇佣著名的加里亚德团长",
  	tec_craftsmen_guild: "工匠公会",
  	tec_craftsmen_guild_description: "有了工匠公会,我们就可以增加二阶资源的产量了!",
  	tec_create_annhilator: "制造灭世终焉",
  	tec_create_annhilator_description: "一旦制造完毕,灭世终焉即可向深渊释放",
  	tec_crop_rotation: "轮作",
  	tec_crop_rotation_description: "轮作是保持农田肥力的基本过程",
  	tec_crossbow: "弩",
  	tec_crossbow_description: "比弓更强大,也更容易使用",
  	tec_crystal_farm_t: "水晶培育场",
  	tec_crystal_farm_t_description: "水晶的价值越来越大,我们需要更多",
  	tec_colonial_camp: "定居点营地",
  	tec_colonial_camp_description: "我们在新世界建立了前哨",
  	tec_colonial_consacration: "定居点祝圣",
  	tec_colonial_consacration_description: "我们的定居点已经发展到足以作为圣地了",
  	tec_colonial_docks: "定居点码头",
  	tec_colonial_docks_description: "让我们建造码头来开发海洋资源",
  	tec_colonial_exploitations: "定居点开发",
  	tec_colonial_exploitations_description: "新世界的基础资源十分丰富",
  	tec_colonial_recruits: "定居点新兵",
  	tec_colonial_recruits_description: "新世界的新兵",
  	tec_colonial_stronghold: "定居点据点",
  	tec_colonial_stronghold_description: "让我们建造一个可以消灭敌人的据点",
  	tec_colonial_trade: "定居点交易",
  	tec_colonial_trade_description: "定居点已经足够壮大,我们可以从中获取收入了",
  	tec_construction_of_automata: "建造构装体",
  	tec_construction_of_automata_description: "我们对亡者的研究已经足够了,我们可以开发自己的法力驱动仆从了",
  	tec_commercial_monopolies: "商业垄断",
  	tec_commercial_monopolies_description: "为了能在经济上继续增长,我们需要建立商业垄断和证券交易所",
  	tec_communion_nature: "与自然沟通",
  	tec_communion_nature_description: "我们的信仰必须与大自然和谐相处",
  	tec_conquer_abyss: "征服深渊",
  	tec_conquer_abyss_description: "随着我们解放这片黑暗领域,黑暗对世界的掌控正逐渐消退",
  	tec_cuirassiers: "重骑兵",
  	tec_cuirassiers_description: "装备枪支后,我们可以创造出超重型的骑兵团",
  	tec_currency: "货币",
  	tec_currency_description: "所有命运馈赠的礼物,都已在暗中标好了价格",
  	tec_dark_castle: "黑暗城堡",
  	tec_dark_castle_description: "黑暗骑士巡逻队来自附近的一座要塞,我们必须找到它来接管周边地区",
  	tec_dark_crystal: "黑暗水晶",
  	tec_dark_crystal_description: "尼哈鲁尔的力量源泉落在了战场之上",
  	tec_dark_land: "黑暗之地",
  	tec_dark_land_description: "我们对这片黑暗而神秘的领土越来越了解",
  	tec_daylong_celebration: "全日庆祝活动",
  	tec_daylong_celebration_description: "战胜地精后,人们聚集在广场上庆祝",
  	tec_decrypt_signal: "解密信号",
  	tec_decrypt_signal_description: "科学家们立刻着手解密这个神秘信号,它似乎包含一项新技术的信息",
  	tec_delimiting_perimeter: "划定疆界",
  	tec_delimiting_perimeter_description: "我们需要用光明炮塔划定疆界,扩张和保护我们的前哨",
  	tec_deserter_origin: "逃兵的起源",
  	tec_deserter_origin_description: "我们需要进一步了解这些逃兵的来源",
  	tec_destroy_annhilator: "销毁灭世终焉",
  	tec_destroy_annhilator_description: "它给登攀者世界带来的风险无法接受,让我们销毁这个怪物,把技术交给军队吧",
  	tec_dimensional_device: "维度装置",
  	tec_dimensional_device_description: "新型作战方式,利用钠红石为士兵提供短程的任意方向移动能力",
  	tec_dirty_money: "孽财",
  	tec_dirty_money_description: "来自幸运之井的黄金,佣兵们会喜欢的",
  	tec_dragon_assault: "巨龙来袭",
  	tec_dragon_assault_description: "一个夏末的午后,西墙上的哨兵们在地平线上发现了一个黑点。在接下来的几个小时中,这个地方变成了一片云,然后是风暴,笼罩着整座城市。那是如火焰一般红的暴风雨,巨龙来取它的古物了",
  	tec_drain_mana: "汲取法力",
  	tec_drain_mana_description: "我们可以从弥漫在深渊的黑暗中提取并利用法力,制造法力电池来储存这种神秘能量",
  	tec_drilling_operation: "钻井作业",
  	tec_drilling_operation_description: "钻井过程有利于生产越来越多的金属",
  	tec_drone: "无人机",
  	tec_drone_description: "科布统治领教会我们如何制造机械侦察兵",
  	tec_ecology: "生态学",
  	tec_ecology_description: "虽然我们的文明在进化,但也不能忘记登攀者世界的自然根源",
  	tec_economics: "经济学",
  	tec_economics_description: "随着经济的发展,一般福利也会增加",
  	tec_enclosures: "围场",
  	tec_enclosures_description: "私有财产诞生",
  	tec_education: "教育学",
  	tec_education_description: "登攀者世界开始揭示它的秘密,我们必须尽可能地加以发现",
  	tec_effort_abyss: "生产力计划",
  	tec_effort_abyss_description: "我们必须提高生产力以对抗深渊",
  	tec_elf_decadence: "精灵衰变",
  	tec_elf_decadence_description: "与兽人的战争结束后,精灵们陷入了深重的衰变中",
  	tec_embassy_nation: "各国大使馆",
  	tec_embassy_nation_description: "我们已经与各个强国结盟,该建造大使馆了",
  	tec_end_ancient_era: "结束远古时代",
  	tec_end_ancient_era_description: "城市已经准备好迎接飞跃",
  	tec_end_feudal_era: "结束封建时代",
  	tec_end_feudal_era_description: "欢迎来到近代",
  	tec_end_era_4_1: "远大梦想",
  	tec_end_era_4_1_description: "城市安全了,我们需要建造海湾区,开始新旅程了",
  	tec_end_era_4_2: "远大梦想",
  	tec_end_era_4_2_description: "城市安全了,我们需要建造海湾区,开始新旅程了",
  	tec_elf_last_village: "精灵仅剩的村庄",
  	tec_elf_last_village_description: "精灵很感谢我们帮他们夺回了珍贵的神庙,带领我们去了他们的村庄",
  	tec_elf_survivors: "精灵幸存者",
  	tec_elf_survivors_description: "我们救出的当地人自称精灵,并称我们为夸拉尔努德,意思是来自浩瀚大海的人",
  	tec_elf_warriors: "精灵战士",
  	tec_elf_warriors_description: "精灵对我们的信任已经充足到愿意派遣部分战士帮助我们战斗",
  	tec_elves_thrive: "精灵繁荣昌盛",
  	tec_elves_thrive_description: "精灵们恢复了健康,将再度繁荣昌盛",
  	tec_espionage: "间谍行动",
  	tec_espionage_description: "让一些侦察兵专攻间谍艺术",
  	tec_establish_boundaries: "确定边界",
  	tec_establish_boundaries_description: "我们需要为我们的国家建立明确的边界",
  	tec_eureka: "灵感来了!",
  	tec_eureka_description: "返还了一些东西!",
  	tec_exhibit_flame: "展示火焰",
  	tec_exhibit_flame_description: "我们可以在市中心展示阿塔玛的火焰了,这将极大地丰富它的价值",
  	tec_explore_sorrounding: "勘测周围区域",
  	tec_explore_sorrounding_description: "在笼罩周围区域的混沌与至邪之力中,唯有绝望静候",
  	tec_extensive_cultivation_t: "耕作场",
  	tec_extensive_cultivation_t_description: "我们必须生产更多粮食以发展深渊定居点",
  	tec_exterminate_competition: "抹杀竞争对手",
  	tec_exterminate_competition_description: "我们生产的黄金已经多到可以消灭竞争了",
  	tec_fairs_and_markets: "集市与市场",
  	tec_fairs_and_markets_description: "我们可以组织更大的集市了",
  	tec_faith_world: "新世界的信仰",
  	tec_faith_world_description: "我们把远古神明们的信仰带到了新世界",
  	tec_fallen_angel: "堕天使出现",
  	tec_fallen_angel_description: "一支恶魔大军正在往城市冲过来,它们由一个长着黑翼的骑兵率领!准备好了,你要战,我便战!",
  	tec_fate_blessing: "命运祝福",
  	tec_fate_blessing_description: "命运对圣职者降下了祝福",
  	tec_favor_gods: "神之荣耀",
  	tec_favor_gods_description: "众神钦佩您的勇气,赐予您声誉和荣耀",
  	tec_fertilizer: "肥料",
  	tec_fertilizer_description: "新的化学成分可以增加食物产量",
  	tec_feudalism: "封建时代",
  	tec_feudalism_description: "新纪元诞生:一个骑兵,城堡,和拯救女士的纪元",
  	tec_field_artillery: "野战炮",
  	tec_field_artillery_description: "大炮进化后就是野战加农炮了",
  	tec_financial_markets: "金融市场",
  	tec_financial_markets_description: "积累金钱的新想法",
  	tec_fine_lucky_wood: "优质幸运木",
  	tec_fine_lucky_wood_description: "我们在幸运树林中找到了一种上好的木材",
  	tec_fine_woods: "上等木材",
  	tec_fine_woods_description: "木雕师们越来越专业了",
  	tec_fine_marbles: "上等大理石",
  	tec_fine_marbles_description: "珍贵的大理石加工吸引了人力",
  	tec_flame_atamar: "阿塔玛的火焰",
  	tec_flame_atamar_description: "我们已经征服了祖尔坦,该研究阿塔玛的火焰了",
  	tec_flight: "飞行",
  	tec_flight_description: "首个关于飞行的胆小暗示",
  	tec_flintlock_musket: "燧发枪",
  	tec_flintlock_musket_description: "火绳枪进化成了用途更广泛的武器",
  	tec_food_conservation: "食物保存",
  	tec_food_conservation_description: "有了食物保存技术,我们就可以制造补给了",
  	tec_forging_equipments: "装备锻造",
  	tec_forging_equipments_description: "为军队锻造更好的装备",
  	tec_forging_equipments_II: "装备锻造 II",
  	tec_forging_equipments_II_description: "为军队锻造还要更好的装备",
  	tec_fortification: "防御工事",
  	tec_fortification_description: "高墙可以保护我们的城市",
  	tec_fortified_colony: "加固定居点",
  	tec_fortified_colony_description: "让我们把定居点变成一座堡垒吧",
  	tec_fortify_abyss: "强化深渊",
  	tec_fortify_abyss_description: "我们引起了远超预想之外的注意。必须强化位于深渊的定居点!",
  	tec_fortune_sanctuary: "财富圣地",
  	tec_fortune_sanctuary_description: "我们必须建造一个可供幸运女神注入力量的地方",
  	tec_fountain_gold: "黄金之泉",
  	tec_fountain_gold_description: "幸运之井中的黄金之泉",
  	tec_free_old_outpost: "肃清旧前哨",
  	tec_free_old_outpost_description: "加里亚德团长知道一个旧前哨的位置,需要肃清那里",
  	tec_galliard_mercenary: "加里亚德团长加入",
  	tec_galliard_mercenary_description: "被打败后,加里亚德团长愿意加入我们",
  	tec_galliard_secret: "加里亚德的秘密",
  	tec_galliard_secret_description: "团长的过去一片模糊,他记不起任何细节了。我们需要彻底调查他的背景",
  	tec_galliard_true_form: "加里亚德的真正形态",
  	tec_galliard_true_form_description: "遭遇远古巨人后,加里亚德的力量被唤醒了",
  	tec_gather_bastion: "召集防御堡垒",
  	tec_gather_bastion_description: "我们可以在光耀广场上训练圣职者",
  	tec_gather_heavy: "召集现代骑士",
  	tec_gather_heavy_description: "我们可以在光耀广场上训练钢铁骑士",
  	tec_gather_shooters: "召集射手",
  	tec_gather_shooters_description: "我们可以在光耀广场上训练神射手",
  	tec_gather_troops: "召集步兵",
  	tec_gather_troops_description: "我们可以在光耀广场上训练线列步兵",
  	tec_genetic_hub_t: "基因中心",
  	tec_genetic_hub_t_description: "基因改造可以用于多个领域",
  	tec_gold_domination_project: "黄金支配计划",
  	tec_gold_domination_project_description: "我们拥有了证券交易所,必须让整个社会致力于全球经济支配的计划",
  	tec_glorious_parade: "光荣游行",
  	tec_glorious_parade_description: "巨龙的大军被击退了,是时候庆祝了!",
  	tec_glorious_retirement: "光荣退休",
  	tec_glorious_retirement_description: "我已经为登攀者世界做得够多,是时候离开了",
  	tec_grain_surplus: "粮食过剩",
  	tec_grain_surplus_description: "我们需要更好地管理粮食生产和存储",
  	tec_great_pastures: "巨大牧场",
  	tec_great_pastures_description: "征服了广阔的东方以后,我们可以开发草原了",
  	tec_guerrilla_warfare: "游击战",
  	tec_guerrilla_warfare_description: "定居点周围的荒野催生了新的作战策略",
  	tec_guide_mankind: "人类导引",
  	tec_guide_mankind_description: "引导人类的终极蓝图",
  	tec_guild: "公会",
  	tec_guild_description: "城市中诞生了团体",
  	tec_gunpowder: "火药",
  	tec_gunpowder_description: "火药将让我们在战场上占据优势",
  	tec_joyful_nation_1: "欢乐的国度",
  	tec_joyful_nation_1_description: "我们消灭了堕天使,该庆祝了!",
  	tec_joyful_nation_2: "欢乐的国度",
  	tec_joyful_nation_2_description: "我们消灭了堕天使,该庆祝了!",
  	tec_heirloom_contract_t: "契约传家宝",
  	tec_heirloom_contract_t_description: "给予我们金钱和士兵",
  	tec_heirloom_death_t: "死亡传家宝",
  	tec_heirloom_death_t_description: "磨砺我们的长矛",
  	tec_heirloom_horseshoes_t: "马蹄铁传家宝",
  	tec_heirloom_horseshoes_t_description: "给予我们黄金和工人",
  	tec_heirloom_housing: "住房传家宝",
  	tec_heirloom_housing_description: "给予我们工人",
  	tec_heirloom_momento_t: "纪念品传家宝",
  	tec_heirloom_momento_t_description: "给予我们研究点和法力",
  	tec_heirloom_wealth_t: "财富传家宝",
  	tec_heirloom_wealth_t_description: "给我们更好的利剑",
  	tec_heirloom_wisdom_t: "智慧传家宝",
  	tec_heirloom_wisdom_t_description: "磨砺我们的箭",
  	tec_herald_canava: "卡纳瓦先驱",
  	tec_herald_canava_description: "来自卡纳瓦王国的使者疾驰进城。这项研究将让我们可以建立守望者前哨,对于进入新时代至关重要",
  	tec_honor_humanity: "人类的荣耀",
  	tec_honor_humanity_description: "荣耀将指引我们走向胜利!为人类而战!",
  	tec_house_of_workers: "工人之家",
  	tec_house_of_workers_description: "工人们的生活场所",
  	tec_housing: "住房",
  	tec_housing_description: "是时候建造一些住所了",
  	tec_huge_cave_t: "巨大洞穴",
  	tec_huge_cave_t_description: "我们需要探索灵魂图书馆下面的洞穴",
  	tec_knighthood: "骑士精神",
  	tec_knighthood_description: "骑士精神是登攀者世界贵族的信条",
  	tec_kobold_nation: "狗头人的国家",
  	tec_kobold_nation_description: "狗头人之城中,我们发现了一条线索,它们有一位国王领导着真正的地下大都市",
  	tec_kobu_dominion: "科布统治领",
  	tec_kobu_dominion_description: "考古学家发现了曾经统治该地区之失落文明的证据。他们的科技很可能远超于我们",
  	tec_kobu_dominion_storehouse: "科布统治领仓库",
  	tec_kobu_dominion_storehouse_description: "仓库很大,长长的走廊两旁排列着柔和的蓝色、绿色和琥珀色灯光",
  	tec_harbor_project: "海湾计划",
  	tec_harbor_project_description: "我们为大型港口准备了蓝图,我们将用它来探索和开发大海",
  	tec_holy_fury: "神圣之怒",
  	tec_holy_fury_description: "神明们赐予了我们战斗天使",
  	tec_human_dna: "人类DNA",
  	tec_human_dna_description: "水晶会赐予触碰它的人以悠长的寿命",
  	tec_infuse_flame: "注入火焰",
  	tec_infuse_flame_description: "注入火焰,强化军队",
  	tec_iron_working: "铁加工",
  	tec_iron_working_description: "铁比铜要坚固得多,它的用途多种多样",
  	tec_iron_projectiles: "铁箭头",
  	tec_iron_projectiles_description: "铁箭头",
  	tec_iron_shield: "铁盾",
  	tec_iron_shield_description: "铁盾可以为士兵们提供防护",
  	tec_iron_sword: "铁剑",
  	tec_iron_sword_description: "供士兵们使用的铁剑",
  	tec_iron_lance: "铁枪",
  	tec_iron_lance_description: "供骑兵们使用的铁枪",
  	tec_land_mine: "地雷",
  	tec_land_mine_description: "我们可以使用炸药来保护城市周围",
  	tec_landed_estates: "大片庄园",
  	tec_landed_estates_description: "许多地主也来到了新世界",
  	tec_large_defensive_project: "大型防御计划",
  	tec_large_defensive_project_description: "军事学院中有人提出了制造超级武器保护城市的新计划",
  	tec_large_shed_t: "大型棚屋",
  	tec_large_shed_t_description: "定居点的空间十分广阔,我们该利用好它",
  	tec_large_storage_space: "大存储空间",
  	tec_large_storage_space_description: "我们所需的一切空间",
  	tec_large_pastures: "大型牧场",
  	tec_large_pastures_description: "与游荡者的协定让我们更好地了解他们的繁育技术",
  	tec_launch_annhilator: "发射灭世终焉",
  	tec_launch_annhilator_description: "我将化为死神,令世界崩坏。您将进行转生,转生后,所有游戏进度都将重置(成就,统计和传承加成除外),并开始下周目游戏",
  	tec_library_of_souls: "灵魂图书馆",
  	tec_library_of_souls_description: "地穴原来是一座古老的图书馆,它的中央是一口电光石火般的水井。它的倒影中映着许多不同面容的鬼魂。只有最顽强的凡人才敢挑战图书馆的禁忌知识",
  	tec_light_square: "光耀广场",
  	tec_light_square_description: "深渊中的前哨已经扩大,我们必须建造一个在黑暗中闪耀的广场",
  	tec_liturgical_rites: "法力仪式",
  	tec_liturgical_rites_description: "随着法力仪式的确立,我们将可以探索新的咒语",
  	tec_local_products: "土特产",
  	tec_local_products_description: "工匠作坊开始高效生产",
  	tec_lonely_druid: "孤独的德鲁伊",
  	tec_lonely_druid_description: "人群开始在一个孤独的德鲁伊身边聚集起来",
  	tec_long_expedition: "长途探险",
  	tec_long_expedition_description: "我们可以利用新型机械探索更远的地方了",
  	tec_loot_storehouse: "劫掠科布仓库",
  	tec_loot_storehouse_description: "拆解仓库中发现的神秘物体可以为我们的国家提供几个世纪的物资。但如果选择这样做,您将无法复原水晶",
  	tec_loved_people: "人民的拥戴",
  	tec_loved_people_description: "西部人民们终于认为我们才是合法的统治者。是时候享受奖励了",
  	tec_lucky_idea: "金点子",
  	tec_lucky_idea_description: "灵感大厅中萌生了一些金点子",
  	tec_illgotten_gains: "不义之财",
  	tec_illgotten_gains_description: "可以用这些钱财吸引走私者",
  	tec_lucky_investments: "幸运投资",
  	tec_lucky_investments_description: "娱乐区域需要投资者",
  	tec_lucky_little_city: "幸运小城",
  	tec_lucky_little_city_description: "娱乐区域已经像一座小城了",
  	tec_lumix_t: "辉烬",
  	tec_lumix_t_description: "工匠需要新技术,生产能够抵御深渊破坏力的材料",
  	tec_overseas_refinery: "海外精炼厂",
  	tec_overseas_refinery_description: "新世界有着建造生产中心的空间",
  	tec_plate_armor: "板甲",
  	tec_plate_armor_description: "全副武装地出现在战场上",
  	tec_preparation_war: "准备作战",
  	tec_preparation_war_description: "礼尚往来,朋友来了有好酒,豺狼来了有猎枪!",
  	tec_prepare_tunnel: "隧道准备",
  	tec_prepare_tunnel_description: "我们必须在地下隧道里设置一道防线",
  	tec_printing_press: "印刷机",
  	tec_printing_press_description: "让思想自由流通吧",
  	tec_professional_soldier: "职业军人",
  	tec_professional_soldier_description: "我们必须建立一支训练有素的军队",
  	tec_poisoned_arrows: "毒箭",
  	tec_poisoned_arrows_description: "击败地精以后,我们可以用它们的毒药制造箭矢了",
  	tec_port_statue: "港口雕像",
  	tec_port_statue_description: "设计一座大型雕像,以提高对我们国家的认识",
  	tec_machine_gun: "机枪",
  	tec_machine_gun_description: "这些武器能持续释放附魔子弹组成的弹幕,为对抗莫德凯男爵的黑暗军团提供无与伦比的防御",
  	tec_magic: "魔法",
  	tec_magic_description: "法力是登攀者世界的精华",
  	tec_magic_arts_teaching: "魔法艺术教学",
  	tec_magic_arts_teaching_description: "我们深入研究了魔法艺术",
  	tec_mana_conveyors: "法力传送带",
  	tec_mana_conveyors_description: "我们可以传送大量法力了",
  	tec_mana_engine: "法力引擎",
  	tec_mana_engine_description: "我们的学者提出了一种机器的设想,它可以利用法力",
  	tec_mana_investigation: "法力调查",
  	tec_mana_investigation_description: "您似乎可以从定居点的地面提取法力",
  	tec_mana_maker_t: "法力制造器",
  	tec_mana_maker_t_description: "深渊的定居点消耗了大量法力,我们必须生产更多",
  	tec_mana_reactors: "法力反应堆",
  	tec_mana_reactors_description: "我们了解了原子理论,现在可以建造产生法力的反应堆了",
  	tec_mana_utilization: "法力应用",
  	tec_mana_utilization_description: "研究人员发现,我们可以利用大量的法力创造新方法来改变市民的生活",
  	tec_mankind_darkest: "人类的至暗时刻",
  	tec_mankind_darkest_description: "我们拿下了兽人的堡垒,但这场胜利很快就变成了痛苦和糟糕情况",
  	tec_manufactures: "生产制造",
  	tec_manufactures_description: "木雕师和石匠们形成了团体",
  	tec_market_laws: "市场规律",
  	tec_market_laws_description: "我们必须研究市场规律,才能赚取更多的黄金!",
  	tec_martial_arts: "武学",
  	tec_martial_arts_description: "武学中蕴涵着命运的法则",
  	tec_mass_transit: "公共交通",
  	tec_mass_transit_description: "我们需要开发自己的交通系统",
  	tec_master_craftsmen: "工匠大师",
  	tec_master_craftsmen_description: "真正的工匠大师正在城市中涌现",
  	tec_master_history: "历史学硕士",
  	tec_master_history_description: "灵感大厅应该有考古学家的一席之地",
  	tec_mathematic: "数学",
  	tec_mathematic_description: "二加二总是等于四",
  	tec_mechanization: "机械化",
  	tec_mechanization_description: "我们使用新机器发展文明",
  	tec_mercenary_abyss: "深渊佣兵",
  	tec_mercenary_abyss_description: "我们的前哨足够大了,可以拨款新建佣兵住房",
  	tec_mercenary_outpost_t: "佣兵前哨",
  	tec_mercenary_outpost_t_description: "我们肃清了旧前哨,让我们把它变成佣兵训练中心吧",
  	tec_metal_alloys: "金属合金",
  	tec_metal_alloys_description: "新型轻质合金可以应用于战场",
  	tec_metal_casting: "金属铸造",
  	tec_metal_casting_description: "金属加工是文明发展的基本过程",
  	tec_mercenary_bands: "佣兵团",
  	tec_mercenary_bands_description: "为盛产黄金的王国提供便利",
  	tec_mercenary_pockets: "佣兵额外口袋",
  	tec_mercenary_pockets_description: "我们想到了一种给步兵制服增加额外口袋的改良方案",
  	tec_military_colony: "军事定居点",
  	tec_military_colony_description: "让定居点致力于军事。您只能选择其一",
  	tec_military_tactics: "军事战术",
  	tec_military_tactics_description: "战场上出现了新式武器,我们将使用它粉碎敌人",
  	tec_mindless_evil: "无智之恶",
  	tec_mindless_evil_description: "战胜莫德凯男爵和恶孽之手后,一股强大的力量向我们席卷而来,正是“无智之恶”的本体,它已经做好毁灭整个登攀者世界的准备",
  	tec_moonlight_night: "月明之夜",
  	tec_moonlight_night_description: "得知卡纳瓦被摧毁不久后的一个晚上,城市的周围在躁动不安,我们恐怕得加强防御了",
  	tec_military_science: "军事科学",
  	tec_military_science_description: "科技创新将为军队服务",
  	tec_mining: "采矿",
  	tec_mining_description: "铜和铁会很有用的",
  	tec_mining_efficency: "采矿效率",
  	tec_mining_efficency_description: "黑暗深处的鼓声",
  	tec_miracle_city: "城市的奇迹",
  	tec_miracle_city_description: "城市中发生了奇迹",
  	tec_ministry_interior_t: "内政部",
  	tec_ministry_interior_t_description: "城市已经发展到需要内政部的时候了",
  	tec_ministry_war_t: "战争部",
  	tec_ministry_war_t_description: "我们的文明需要战争部",
  	tec_ministry_worship_t: "宗教部",
  	tec_ministry_worship_t_description: "让我们指引他们的灵魂",
  	tec_mithril_projectiles: "秘银子弹",
  	tec_mithril_projectiles_description: "秘银子弹",
  	tec_mithril_shield: "秘银盾",
  	tec_mithril_shield_description: "秘银盾可以为士兵们提供防护",
  	tec_mithril_sword: "秘银剑",
  	tec_mithril_sword_description: "供士兵们使用的秘银剑",
  	tec_mithril_lance: "秘银长枪",
  	tec_mithril_lance_description: "供骑兵们使用的秘银长枪",
  	tec_monster_epuration: "肃清怪物",
  	tec_monster_epuration_description: "我们已经消灭了威胁登攀者世界的怪物,需要研究如何从中获益",
  	tec_monster_hunting: "猎杀怪物",
  	tec_monster_hunting_description: "我们需要更好地调查这些神秘怪物的传闻",
  	tec_monument_past: "纪念碑",
  	tec_monument_past_description: "过去的遗物",
  	tec_municipal_administration: "市政管理",
  	tec_municipal_administration_description: "生机勃勃的城市",
  	tec_mysterious_robbery: "神秘劫案",
  	tec_mysterious_robbery_description: "大量的武器和大量的硝石失窃,德鲁伊也消失了,希望他平安无事。我们需要提高警惕了",
  	tec_myth_south: "荒漠的精灵神话",
  	tec_myth_south_description: "在登攀者世界已知的疆域之外,越过最后残存的绿意和生机,绵延着无边无际的荒芜——那就是南火荒漠",
  	tec_mythology: "神话学",
  	tec_mythology_description: "登攀者世界的神话讲述了拥有伟大能力的神明们",
  	tec_natrocity: "钠红之城",
  	tec_natrocity_description: "让我们使用钠红石点亮城市",
  	tec_natronite_storage: "钠红石存储",
  	tec_natronite_storage_description: "钠红石非常有用,但也非常危险,我们需要建造合适的仓库",
  	tec_necromancy: "死灵术",
  	tec_necromancy_description: "死灵法师们了解早已遗失在时光长河中的奥术",
  	tec_network_of_watchmen: "哨兵上墙",
  	tec_network_of_watchmen_description: "我们需要让哨兵在墙上巡逻",
  	tec_new_old_gods: "新世界的远古神明",
  	tec_new_old_gods_description: "我们需要在这片处女地上建造教堂",
  	tec_new_world_exploration: "探索新世界",
  	tec_new_world_exploration_description: "我们需要开始探索新世界",
  	tec_new_world_militia: "新世界民兵",
  	tec_new_world_militia_description: "我们需要建立一支民兵来保卫定居点",
  	tec_northern_star: "北极星",
  	tec_northern_star_description: "夜谷保护国拥有北极星,那是从登攀者世界早期就存在的强大古物",
  	tec_nuclear_power: "信号机器",
  	tec_nuclear_power_description: "随着解析深入,他们越发清晰地意识到这些并非无序数据,而是精密编码的高级装置建造指南。",
  	tec_oracle_t: "神谕",
  	tec_oracle_t_description: "众神赐予了我们预见之球,它是一件存放于神示所的神奇古物。我们可以依靠它得知战斗结果",
  	tec_orc_horde: "兽人部落",
  	tec_orc_horde_description: "兽人们最后的据点业已陷落,但兽人们为了生存,还是倾巢出动向我们扑来",
  	tec_orcish_citadel: "兽人堡垒",
  	tec_orcish_citadel_description: "兽人的部队来自于一座坚固的堡垒,让我们拿下它",
  	tec_orcish_threat: "兽人的威胁",
  	tec_orcish_threat_description: "兽人们变得越来越危险,我们不能允许他们为了一己私利,继续绑架我们的人民了。他们的目标只有杀戮和毁灭,我们会让他们知道登攀者世界人类的厉害",
  	tec_order_of_clerics: "圣职者军团",
  	tec_order_of_clerics_description: "他们既是牧师,也是士兵,将为登攀者世界的人类而战",
  	tec_outpost_tiny_island: "小岛前哨",
  	tec_outpost_tiny_island_description: "这座小岛是未知物种的天堂。这里的前哨站可以产生大量研究点",
  	tec_overlook_darkness: "俯瞰黑暗",
  	tec_overlook_darkness_description: "我们必须谨慎探索深渊以获取资源,这是一项结合观察与魔法洞察的战略行动",
  	tec_path_children: "孩子们的轨迹",
  	tec_path_children_description: "在霍里斯堡垒中,我们发现了令人不安的证据",
  	tec_pentagram_tome: "恶魔五芒星",
  	tec_pentagram_tome_description: "在奇怪的村庄中,我们发现了一个五芒星,和一张用晦涩语言写成的卷轴。我们必须进行调查",
  	tec_phalanx_combat: "方阵步兵",
  	tec_phalanx_combat_description: "我们需要让士兵们统一步调行动!",
  	tec_portal_of_the_dead: "亡者之门",
  	tec_portal_of_the_dead_description: "通往一个早已被遗忘,封印的地方。当心守护通道的亡者。要当心",
  	tec_pottery: "陶器",
  	tec_pottery_description: "我们可以用陶器保存东西,有利于商业诞生",
  	tec_probes: "无人机",
  	tec_probes_description: "这些探测器有着双重功能,既是监视设备,也是魔法地雷的网状部署系统",
  	tec_productive_hub: "生产中心",
  	tec_productive_hub_description: "让定居点致力于资源生产。您只能选择其一",
  	tec_raider_teaching: "突袭训练",
  	tec_raider_teaching_description: "向我们的骑兵传授突袭战术!",
  	tec_railroad: "铁路",
  	tec_railroad_description: "火车头?那是什么妖术?",
  	tec_rage_druid: "德鲁伊之怒",
  	tec_rage_druid_description: "接下来的几天,德鲁伊出现在城门口",
  	tec_regional_markets: "区域市场",
  	tec_regional_markets_description: "我们凭借祖传的知识,可以在周边村庄创建区域市场了",
  	tec_religion: "宗教",
  	tec_religion_description: "我们尊崇远古神明们",
  	tec_religious_orders: "宗教秩序",
  	tec_religious_orders_description: "宗教秩序发展了信念的概念",
  	tec_remember_the_ancients: "铭记古人",
  	tec_remember_the_ancients_description: "在我们之前是否有过失落的文明?",
  	tec_repair_elf_genoma: "修复精灵基因",
  	tec_repair_elf_genoma_description: "水晶将修复精灵的基因组",
  	tec_replicable_parts: "可复制零件",
  	tec_replicable_parts_description: "我们利用越来越小的组件开发自动化",
  	tec_research_annhilator: "研究灭世终焉",
  	tec_research_annhilator_description: "我们必须研究灭世终焉,这件奥术造物必将彻底清除所有威胁,其威力堪比天界业火的毁灭之力",
  	tec_research_district: "研究区",
  	tec_research_district_description: "我们的目标是揭开登攀者世界的秘密",
  	tec_restore_crystal: "复原科布水晶",
  	tec_restore_crystal_description: "我们在仓库深处发现了一个巨大的晶体结构残骸。研究人员相信他们可以用足够的钠红石把这些碎片重新融合到一起。但如果选择这样做,您将无法劫掠科布仓库",
  	tec_rocketry: "火箭技术",
  	tec_rocketry_description: "辉烬的发现彻底改变了技术,推动了火箭技术的进步",
  	tec_safe_roads: "安全的道路",
  	tec_safe_roads_description: "道路安全了,我们可以开发税收系统了",
  	tec_satellite: "卫星",
  	tec_satellite_description: "人类通过将首颗原始卫星送入轨道实现了划时代突破。它将检测气候和贸易路线",
  	tec_save_theresmore: "登攀者世界的救世主",
  	tec_save_theresmore_description: "击败无智之恶后,我们已经是登攀者世界的救世主了!",
  	tec_scientific_theory: "科学理论",
  	tec_scientific_theory_description: "科学方法的诞生对知识很关键",
  	tec_scout_mission_east: "东方侦察任务",
  	tec_scout_mission_east_description: "我们已经征服了游荡者,可以自由探索他们的土地了",
  	tec_seafaring: "航海",
  	tec_seafaring_description: "伟大的国度必须统治海洋,我们的发明家成功制造了用于船只的钠红石发动机",
  	tec_seraphim_t: "炽天使",
  	tec_seraphim_t_description: "有了他的存在,我们就不需要害怕黑暗了",
  	tec_servitude: "奴役",
  	tec_servitude_description: "我将为您服务,我的主人",
  	tec_shores_theresmore: "登攀者世界的海岸",
  	tec_shores_theresmore_description: "远离我们目前的边境之处,有着一片大海,我们必须探索那里",
  	tec_siege_defense_weapons: "攻城防御武器",
  	tec_siege_defense_weapons_description: "在墙上装上弩炮可以击退敌人的攻击",
  	tec_siege_techniques: "攻城技术",
  	tec_siege_techniques_description: "我们可以制造比投石机更强大的攻城机器了",
  	tec_steel_flesh: "钢铁之躯",
  	tec_steel_flesh_description: "拥有钢铁之躯的庞然大物将摧毁敌人",
  	tec_steeling: "锻钢",
  	tec_steeling_description: "有了钢以后,我们可以将军事水平提升到新高度了",
  	tec_steel_mills_t: "钢厂",
  	tec_steel_mills_t_description: "我们需要利用定居点的空间来建造大型钢厂",
  	tec_steel_projectiles: "钢箭头",
  	tec_steel_projectiles_description: "钢箭头",
  	tec_steel_shield: "钢盾",
  	tec_steel_shield_description: "钢盾可以为士兵们提供防护",
  	tec_steel_sword: "钢剑",
  	tec_steel_sword_description: "供士兵们使用的钢剑",
  	tec_steel_lance: "钢枪",
  	tec_steel_lance_description: "供骑兵们使用的钢枪",
  	tec_stocked_tunnel: "隧道贮藏",
  	tec_stocked_tunnel_description: "隧道已经做好了准备",
  	tec_stone_extraction_tools: "石头提取工具",
  	tec_stone_extraction_tools_description: "新的石头提取和加工技术",
  	tec_stone_masonry: "琢石",
  	tec_stone_masonry_description: "采石场可没法容得下瘦弱无力的胳膊",
  	tec_stone_processing: "石材加工",
  	tec_stone_processing_description: "石匠坊有助于石头生产",
  	tec_storage: "存储",
  	tec_storage_description: "我们需要更多,更多的材料!",
  	tec_storage_district: "存储区",
  	tec_storage_district_description: "我们总是需要更多空间",
  	tec_storing_valuable_materials: "存放贵重材料",
  	tec_storing_valuable_materials_description: "我们需要一个有人值守的地方存放贵重材料",
  	tec_strange_encounter: "奇怪的遭遇",
  	tec_strange_encounter_description: "在离定居点不远的森林中,我们有一个奇怪的发现",
  	tec_super_soldier: "步枪手",
  	tec_super_soldier_description: "身穿强化盔甲,手持魔法连发步枪的步枪手代表了军事创新的巅峰",
  	tec_survey_abyss: "调查深渊",
  	tec_survey_abyss_description: "建造光之信标后,我们的重点转移到探索深渊,并在照明区域建立防御前哨,以确保安全和战略优势",
  	tec_swear_give_up: "永不言弃",
  	tec_swear_give_up_description: "这是我们的誓言!",
  	tec_persuade_nobility: "说服贵族",
  	tec_persuade_nobility_description: "我们需要大量黄金才能“说服”贵族,但我们可以招募西部的强大骑士了",
  	tec_persuade_people: "赢得民心",
  	tec_persuade_people_description: "为了赢得人们的拥戴,我们需要做出表率。只有战胜可怕的敌人,才能让他们彻底认同",
  	tec_pillaging_training: "劫掠训练",
  	tec_pillaging_training_description: "劫掠越频繁,黄金收益越丰厚",
  	tec_plenty_valley: "丰饶之谷",
  	tec_plenty_valley_description: "我们的土地生产极丰富的资源,不应该浪费它",
  	tec_tamed_barbarian: "驯服野蛮人",
  	tec_tamed_barbarian_description: "我们刚刚攻占了野蛮人营地,驯服了其中一些人服从我们。我们必须更多地了解他们",
  	tec_temple_luna: "月神的神庙",
  	tec_temple_luna_description: "精灵们珍视的月神神庙被一些邪恶生物亵渎了",
  	tec_the_journey: "踏上旅途",
  	tec_the_journey_description: "我们将前往西方,前往无人到过的地方",
  	tec_the_scourge: "灾难",
  	tec_the_scourge_description: "一些难民团体要求进入城市,西部边境似乎发生了什么",
  	tec_the_vault: "金库",
  	tec_the_vault_description: "为了开始支配世界经济,我们需要囤积大量黄金",
  	tec_theresmore_richest_nation: "富甲天下",
  	tec_theresmore_richest_nation_description: "我们成功了,我们已经富甲天下了",
  	tec_titan_gift_t: "泰坦之礼物",
  	tec_titan_gift_t_description: "我们唤醒了泰坦,在献上丰厚的贡品之后,他会给我们一份礼物!",
  	tec_titan_mosaic: "泰坦的镶嵌画",
  	tec_titan_mosaic_description: "神庙中有一幅巨大的镶嵌画,描绘了一个沉睡的泰坦",
  	tec_underground_kobold_mission: "地下任务",
  	tec_underground_kobold_mission_description: "狗头人的隧道向几个方向伸出分支,我们必须探索它们",
  	tec_the_portal_t: "传送门",
  	tec_the_portal_t_description: "必须建造传送门,以阻断邪能的流动",
  	tec_the_signal: "信号",
  	tec_the_signal_description: "轨道上的卫星接收到了强烈信号,似乎来自外太空深处",
  	tec_the_triumph: "凯旋归来",
  	tec_the_triumph_description: "我们击败了兽人,彻底胜利了",
  	tec_throwing_coin: "投币",
  	tec_throwing_coin_description: "看来往幸运之井里扔硬币会带来好运",
  	tec_tome_ancient_lore: "古老传说之书",
  	tec_tome_ancient_lore_description: "在加里亚德的避难所里,我们发现了一本古老的大书。我们需要对它进行研究",
  	tec_trading_woods: "出售木材",
  	tec_trading_woods_description: "让我们用幸运树林赚点黄金吧",
  	tec_trail_blood: "血迹",
  	tec_trail_blood_description: "吸血鬼地穴里并没有棺材,我们必须到别处去寻找",
  	tec_trail_fire: "火焰之迹",
  	tec_trail_fire_description: "越过沙丘,我们发现了更险恶的存在——燃烧着异样光芒的地平线",
  	tec_trail_power: "力量之路",
  	tec_trail_power_description: "我们征服了西部王国,但人民仍然对我们充满敌意。我们得想想办法",
  	tec_trained_longbowman: "长弓手",
  	tec_trained_longbowman_description: "我们可以招募长弓手了",
  	tec_training_militia: "训练民兵",
  	tec_training_militia_description: "我们已经知晓登攀者世界有多么无情了,我们需要建立一支民兵部队",
  	tec_trenches: "战壕",
  	tec_trenches_description: "建造战壕不仅可以提升防御能力,还可以训练神射手",
  	tec_tunnel_hq: "隧道总部",
  	tec_tunnel_hq_description: "我们需要在地下隧道中设立总部",
  	tec_tyrant_ash: "烬火灾主",
  	tec_tyrant_ash_description: "他是来自远古的咒术师,曾驯服至强巨兽。他唤作“焰缚者”阿兹拉西斯。",
  	tec_underground_library: "图书馆之谜",
  	tec_underground_library_description: "我们对灵魂图书馆的下方仍然一无所知,必须对它进行探索",
  	tec_underground_rooms: "地下房间",
  	tec_underground_rooms_description: "为了避开死亡之风与黑暗侵袭,我们应当建造地下密室来扩张势力范围",
  	tec_vaelgoroth_t: "“猩红灾厄”维戈洛斯",
  	tec_vaelgoroth_t_description: "我们可以召唤上古巨龙加入军队了",
  	tec_warfare: "战争",
  	tec_warfare_description: "虚则实之,实则虚之",
  	tec_white_t_company: "白色连队",
  	tec_white_t_company_description: "赫赫有名的白色连队准备为您服务",
  	tec_wall_titan_t: "泰坦之墙",
  	tec_wall_titan_t_description: "这些巨墙可以保护人类数百年",
  	tec_war_effort: "战争融资",
  	tec_war_effort_description: "兽人危机让全人类都感到担忧,需要进行战争融资来对付这些嗜血的野兽",
  	tec_wings_freedom: "自由之翼",
  	tec_wings_freedom_description: "进入避难所后,加里亚德有了一些难以解释的反应。他心不在焉,面色苍白,一直重复着一个远古巨人的故事",
  	tec_wood_cutting: "砍伐木材",
  	tec_wood_cutting_description: "登攀者世界茂密的森林将帮助我们繁荣昌盛",
  	tec_woodcarvers: "木雕师",
  	tec_woodcarvers_description: "木雕师可以生产优质木材",
  	tec_wood_saw: "木锯",
  	tec_wood_saw_description: "木材生产需要新工具",
  	tec_writing: "写作",
  	tec_writing_description: "言语易逝,书写永存",
  	tec_zenix_familiar_t: "泽尼克斯的使魔",
  	tec_zenix_familiar_t_description: "只要提供一点食物,就能吸引这些可爱的小动物了",
  	tec_zenix_return: "泽尼克斯回归",
  	tec_zenix_return_description: "泽尼克斯回来提供帮助了",
  	uni_cat_1: "射手",
  	uni_cat_2: "冲击",
  	uni_cat_3: "肉盾",
  	uni_cat_4: "骑兵",
  	uni_ancient_balor: "远古炎魔",
  	uni_ancient_balor_description: "身披铠甲的恶魔,听命于人类",
  	uni_ancient_balor_plural: "远古炎魔",
  	uni_ancient_giant: "远古巨人",
  	uni_ancient_giant_plural: "远古巨人",
  	uni_ancient_ghost: "远古鬼魂",
  	uni_ancient_ghost_plural: "远古鬼魂",
  	uni_ancient_legionary: "远古军团",
  	uni_ancient_legionary_plural: "远古军团",
  	uni_aqrabuamelu: "蝎子人",
  	uni_aqrabuamelu_plural: "蝎子人",
  	uni_archmage_u: "大法师",
  	uni_archmage_u_description: "感受魔法的力量吧",
  	uni_archmage_u_plural: "大法师",
  	uni_armored_caravan_u: "武装商队",
  	uni_armored_caravan_u_description: "武装商队",
  	uni_armored_caravan_u_plural: "武装商队",
  	uni_arquebusier: "火绳枪兵",
  	uni_arquebusier_description: "装备火绳枪的士兵,攻击力出色",
  	uni_arquebusier_plural: "火绳枪兵",
  	uni_archdemon: "大恶魔",
  	uni_archdemon_plural: "大恶魔",
  	uni_archlich: "大巫妖",
  	uni_archlich_plural: "大巫妖",
  	uni_archer: "弓箭手",
  	uni_archer_description: "弓箭手可以在安全距离内攻击敌军并降低他们的士气",
  	uni_archer_plural: "弓箭手",
  	uni_artillery: "火炮",
  	uni_artillery_description: "让敌人们尝尝炮火雨吧",
  	uni_artillery_plural: "火炮",
  	uni_ash_elemental: "灰烬元素",
  	uni_ash_elemental_plural: "灰烬元素",
  	uni_avatar_fate_u: "命运之化身",
  	uni_avatar_fate_u_description: "命运亲自前来我方助阵",
  	uni_avatar_fate_u_plural: "命运之化身",
  	uni_azrathis_flamebinder: "“焰缚者”阿兹拉西斯",
  	uni_azrathis_flamebinder_plural: "“焰缚者”阿兹拉西斯",
  	uni_balor: "炎魔",
  	uni_balor_plural: "炎魔",
  	uni_battle_angel: "战斗天使",
  	uni_battle_angel_description: "战场的神圣之怒",
  	uni_battle_angel_plural: "战斗天使",
  	uni_black_mage: "黑暗巫师",
  	uni_black_mage_plural: "黑暗巫师",
  	uni_bombard: "大炮",
  	uni_bombard_description: "许多大炮形成的强大火力网可以在接触之前就轰碎敌军",
  	uni_bombard_plural: "大炮",
  	uni_bugbear: "熊地精",
  	uni_bugbear_plural: "熊地精",
  	uni_bugbear_chieftain: "熊地精酋长",
  	uni_bugbear_chieftain_plural: "熊地精酋长",
  	uni_bulette: "鲨蜥兽",
  	uni_bulette_plural: "鲨蜥兽",
  	uni_cannon: "加农炮",
  	uni_cannon_description: "野战炮的炮火将在敌人的耳朵和噩梦中回响",
  	uni_cannon_plural: "加农炮",
  	uni_cataphract: "甲胄骑兵",
  	uni_cataphract_description: "西部王国的贵族们是全副武装的骑士",
  	uni_cataphract_plural: "甲胄骑兵",
  	uni_charmed_dweller: "着魔的居民",
  	uni_charmed_dweller_description: "一个目光呆滞的村民",
  	uni_charmed_dweller_plural: "着魔的居民",
  	uni_cult_master: "邪教大师",
  	uni_cult_master_plural: "邪教大师",
  	uni_cyclop: "独眼巨人",
  	uni_cyclop_plural: "独眼巨人",
  	uni_demoness: "女恶魔",
  	uni_demoness_description: "使用黑魔法的女士,她可以让任何男人服从她的意志",
  	uni_demoness_plural: "女恶魔",
  	uni_draconic_warrior: "龙人战士",
  	uni_draconic_warrior_plural: "龙人战士",
  	uni_draconic_diver: "龙人潜袭者",
  	uni_draconic_diver_plural: "龙人潜袭者",
  	uni_draconic_mage: "龙人巫师",
  	uni_draconic_mage_plural: "龙人巫师",
  	uni_draconic_leader: "龙人首领",
  	uni_draconic_leader_plural: "龙人首领",
  	uni_drone_u: "无人机",
  	uni_drone_u_description: "机械侦察兵",
  	uni_drone_plural: "无人机",
  	uni_elf_warrior: "精灵战士",
  	uni_elf_warrior_description: "硕果仅存的精灵是非常强大的战士",
  	uni_elf_warrior_plural: "精灵战士",
  	uni_eternal_guardian: "永恒守卫",
  	uni_eternal_guardian_plural: "永恒守卫",
  	uni_harpy: "鹰身女妖",
  	uni_harpy_description: "鹰身女妖会使用歌声魅惑人类,并吞噬靠太近的可怜虫",
  	uni_harpy_plural: "鹰身女妖",
  	uni_ball_lightning: "球形闪电",
  	uni_ball_lightning_plural: "球形闪电",
  	uni_bandit: "强盗",
  	uni_bandit_description: "组织不善的不法分子,不算什么真正的威胁",
  	uni_bandit_plural: "强盗",
  	uni_basilisk: "蛇怪",
  	uni_basilisk_plural: "蛇怪",
  	uni_barbarian_chosen: "野蛮人天选者",
  	uni_barbarian_chosen_plural: "野蛮人天选者",
  	uni_barbarian_drummer: "野蛮人鼓手",
  	uni_barbarian_drummer_plural: "野蛮人鼓手",
  	uni_barbarian_leader: "野蛮人首领",
  	uni_barbarian_leader_plural: "野蛮人首领",
  	uni_barbarian_king: "野蛮人之王",
  	uni_barbarian_king_plural: "野蛮人之王",
  	uni_barbarian_warrior: "野蛮人战士",
  	uni_barbarian_warrior_plural: "野蛮人战士",
  	uni_baron_mordecai_darkthorn: "莫德凯·暗棘男爵",
  	uni_battering_ram: "投石机",
  	uni_battering_ram_description: "第一种炮兵",
  	uni_battering_ram_plural: "投石机",
  	uni_behemoth: "巨兽",
  	uni_behemoth_description: "钢铁之躯的巨兽。与邪恶的斗争中人类能够利用的最强大存在",
  	uni_behemoth_plural: "巨兽",
  	uni_canava_guard: "卡纳瓦护卫",
  	uni_canava_guard_description: "重甲佣兵团,他们的双手剑可以对敌阵造成严重的破坏",
  	uni_canava_guard_plural: "卡纳瓦护卫",
  	uni_catapult: "投石机",
  	uni_catapult_description: "第一种炮兵",
  	uni_catapult_plural: "投石机",
  	uni_cavarly_archer: "骑射手",
  	uni_cavarly_archer_plural: "骑射手",
  	uni_cleric: "圣职者",
  	uni_cleric_description: "登攀者世界的精锐宗教部队,他们的大盾和护甲可以有效保护他们",
  	uni_cleric_plural: "圣职者",
  	uni_colonial_militia: "定居点民兵",
  	uni_colonial_militia_description: "新世界民兵。容易招募,尽职尽责",
  	uni_colonial_militia_plural: "定居点民兵",
  	uni_cpt_galliard: "加里亚德团长",
  	uni_cpt_galliard_description: "他是希望的象征,邪恶黑暗世界中的灯塔",
  	uni_cpt_galliard_plural: "加里亚德团长",
  	uni_commander: "指挥官",
  	uni_commander_description: "军队真正的领袖",
  	uni_commander_plural: "指挥官",
  	uni_crossbowman: "弩手",
  	uni_crossbowman_description: "比弓箭手更强,可以精准射击敌人,并击穿他们的护甲",
  	uni_crossbowman_plural: "弩手",
  	uni_cuirassier: "重骑兵",
  	uni_cuirassier_description: "这些强大的骑兵部队身披重甲,装备有利剑和火枪,他们将主宰战场",
  	uni_cuirassier_plural: "重骑兵",
  	uni_daimyo: "大名",
  	uni_daimyo_plural: "大名",
  	uni_dark_knight: "黑暗骑士",
  	uni_dark_knight_plural: "黑暗骑士",
  	uni_dark_knight_lord: "炎骑士领主",
  	uni_dark_knight_lord_plural: "炎骑士领主",
  	uni_demonic_musketeer: "恶魔火枪手",
  	uni_demonic_musketeer_plural: "恶魔火枪手",
  	uni_deserter: "逃兵",
  	uni_deserter_description: "曾经是一个王国的士兵,现在只为自己而活了。他们还保留着精良的装备",
  	uni_deserter_plural: "逃兵",
  	uni_djinn: "灯神",
  	uni_djinn_plural: "灯神",
  	uni_dirty_rat: "脏鼠",
  	uni_dirty_rat_plural: "脏鼠",
  	uni_earth_elemental: "土元素",
  	uni_earth_elemental_description: "一块会行动的坚固岩石",
  	uni_earth_elemental_plural: "土元素",
  	uni_ettin: "双头巨人",
  	uni_ettin_plural: "双头巨人",
  	uni_explorer: "探险家",
  	uni_explorer_description: "经验丰富的侦察兵",
  	uni_explorer_plural: "探险家",
  	uni_faceless_horror: "无面恐怖‌",
  	uni_faceless_horror_plural: "无面恐怖‌",
  	uni_fallen_angel: "堕天使",
  	uni_fallen_angel_plural: "堕天使",
  	uni_familiar: "使魔",
  	uni_familiar_description: "泽尼克斯的使魔是魔宠,它们非常善于侦察",
  	uni_familiar_plural: "使魔",
  	uni_fire_elemental: "火元素",
  	uni_fire_elemental_description: "它的吐息非常炽热,会留下熔岩池",
  	uni_fire_elemental_plural: "火元素",
  	uni_fire_salamander: "火蜥蜴",
  	uni_fire_salamander_plural: "火蜥蜴",
  	uni_frost_elemental: "冰元素",
  	uni_frost_elemental_description: "冰元素会在自身周围产生冰之光环",
  	uni_frost_elemental_plural: "冰元素",
  	uni_frost_giant: "冰霜巨人",
  	uni_frost_giant_plural: "冰霜巨人",
  	uni_galliard: "加里亚德",
  	uni_galliard_plural: "加里亚德",
  	uni_gargoyle: "石像鬼",
  	uni_gargoyle_plural: "石像鬼",
  	uni_general: "将军",
  	uni_general_description: "光杆司令",
  	uni_general_plural: "将军",
  	uni_giant_death_robot: "巨型死亡机器人",
  	uni_giant_death_robot_plural: "巨型死亡机器人",
  	uni_giant_snake: "巨蛇",
  	uni_giant_snake_description: "它的缠绕甚至能够杀死登攀者世界的一只三头牛",
  	uni_giant_snake_plural: "巨蛇",
  	uni_giant_spider: "巨蜘蛛",
  	uni_giant_spider_description: "它巨大的蛛网甚至可以抓住狮鹫",
  	uni_giant_spider_plural: "巨蜘蛛",
  	uni_giant_wasp: "巨黄蜂",
  	uni_giant_wasp_plural: "巨黄蜂",
  	uni_goblin_marauder: "地精掠夺者",
  	uni_goblin_marauder_description: "士气低落,容易逃跑",
  	uni_goblin_marauder_plural: "地精掠夺者",
  	uni_goblin_warrior: "地精战士",
  	uni_goblin_warrior_description: "比掠夺者的装备好一些,他们守卫着地精营地",
  	uni_goblin_warrior_plural: "地精战士",
  	uni_goblin_overlord: "地精大王",
  	uni_goblin_overlord_plural: "地精大王",
  	uni_goblin_wolfrider: "地精狼骑兵",
  	uni_goblin_wolfrider_plural: "地精狼骑兵",
  	uni_golem: "魔像",
  	uni_golem_plural: "魔像",
  	uni_gorgon: "蛇发女妖",
  	uni_gorgon_plural: "蛇发女妖",
  	uni_ghast: "恶魂",
  	uni_ghast_description: "比食尸鬼聪明一些",
  	uni_ghast_plural: "恶魂",
  	uni_ghost: "鬼魂",
  	uni_ghost_description: "被诅咒的灵魂,注定要永远游荡",
  	uni_ghost_plural: "鬼魂",
  	uni_ghoul: "食尸鬼",
  	uni_ghoul_description: "永远渴望新鲜的血肉",
  	uni_ghoul_plural: "食尸鬼",
  	uni_gnoll_leader: "豺狼人首领",
  	uni_gnoll_leader_plural: "豺狼人首领",
  	uni_gnoll_raider: "豺狼人掠夺者",
  	uni_gnoll_raider_plural: "豺狼人掠夺者",
  	uni_greater_demon: "高等恶魔",
  	uni_greater_demon_descriprion: "被地狱吐出来的高等恶魔",
  	uni_greater_demon_plural: "高等恶魔",
  	uni_griffin: "狮鹫",
  	uni_griffin_plural: "狮鹫",
  	uni_gulud: "古鲁德",
  	uni_gulud_plural: "古鲁德",
  	uni_korrigan_slinger: "科里根矮妖投石者",
  	uni_korrigan_slinger_plural: "科里根矮妖投石者",
  	uni_korrigan_swindler: "科里根矮妖欺诈者",
  	uni_korrigan_swindler_plural: "科里根矮妖欺诈者",
  	uni_jager: "调查兵团士兵",
  	uni_jager_description: "墙外的你们就是我们的猎物!",
  	uni_jager_plural: "调查兵团士兵",
  	uni_juggernaut: "主宰",
  	uni_juggernaut_description: "亡者巨型怪物",
  	uni_juggernaut_plural: "主宰",
  	uni_hand_evil: "恶孽之手",
  	uni_hill_giant: "山巨人",
  	uni_hill_giant_description: "错误迈上了荒山,把大树当棍棒用",
  	uni_hill_giant_plural: "山巨人",
  	uni_hobgoblin_archer: "淘气鬼弓箭手",
  	uni_hobgoblin_archer_plural: "淘气鬼弓箭手",
  	uni_hobgoblin_chieftain: "淘气鬼酋长",
  	uni_hobgoblin_chieftain_plural: "淘气鬼酋长",
  	uni_hobgoblin_grunt: "淘气鬼士兵",
  	uni_hobgoblin_grunt_plural: "淘气鬼士兵",
  	uni_hydra: "多头蛇",
  	uni_hydra_plural: "多头蛇",
  	uni_immense_door: "巨门",
  	uni_immense_door_plural: "巨门",
  	uni_lead_golem: "铅魔像",
  	uni_lead_golem_plural: "铅魔像",
  	uni_lich: "巫妖",
  	uni_lich_plural: "巫妖",
  	uni_line_infantry: "线列步兵",
  	uni_line_infantry_description: "装备火枪的步兵排列成一排进行作战",
  	uni_line_infantry_plural: "线列步兵",
  	uni_lizard_archer: "撒尔喀特弓箭手",
  	uni_lizard_archer_plural: "撒尔喀特",
  	uni_lizard_commander: "撒尔喀特指挥官",
  	uni_lizard_commander_plural: "撒尔喀特指挥官",
  	uni_lizard_shaman: "撒尔喀特萨满",
  	uni_lizard_shaman_plural: "撒尔喀特萨满",
  	uni_lizard_warrior: "撒尔喀特战士",
  	uni_lizard_warrior_plural: "撒尔喀特战士",
  	uni_longbowman: "长弓手",
  	uni_longbowman_description: "射程很远,且致命",
  	uni_longbowman_plural: "长弓手",
  	uni_knight: "骑士",
  	uni_knight_description: "封建时代的精锐士兵,攻守兼备",
  	uni_knight_plural: "骑士",
  	uni_kobold: "狗头人",
  	uni_kobold_description: "狗头人是人型爬行动物,喜欢亮闪闪的东西。它们经常选择服侍邪恶的远古巨龙",
  	uni_kobold_plural: "狗头人",
  	uni_kobold_champion: "精英狗头人",
  	uni_kobold_champion_description: "为国王而战的狗头人,经过了精心训练",
  	uni_kobold_champion_plural: "精英狗头人",
  	uni_kobold_king: "狗头人之王",
  	uni_kobold_king_description: "狗头人之王,马格里斯",
  	uni_kobold_king_plural: "狗头人之王",
  	uni_heavy_warrior: "重装战士",
  	uni_heavy_warrior_description: "远古时代最好的士兵。攻守兼备",
  	uni_heavy_warrior_plural: "重装战士",
  	uni_high_prelate_u: "大教长",
  	uni_high_prelate_u_description: "登攀者世界的信仰代表",
  	uni_high_prelate_u_plural: "大教长",
  	uni_hover_tank: "悬浮坦克",
  	uni_hover_tank_plural: "悬浮坦克",
  	uni_katana_samurai: "刀侍武士",
  	uni_katana_samurai_plural: "刀侍武士",
  	uni_imp: "小鬼",
  	uni_imp_description: "会发射火球的淘气飞行小恶魔",
  	uni_imp_plural: "小鬼",
  	uni_lesser_demon: "次等恶魔",
  	uni_lesser_demon_description: "地狱中较为低等的恶魔",
  	uni_lesser_demon_plural: "次等恶魔",
  	uni_light_cavarly: "轻骑兵",
  	uni_light_cavarly_description: "轻骑兵可以有效对付射手",
  	uni_light_cavarly_plural: "轻骑兵",
  	uni_machine_gun_u: "机枪手",
  	uni_machine_gun_u_description: "魔法子弹的地狱之火攻向敌人",
  	uni_machine_gun_u_plural: "机枪手",
  	uni_mage_u: "法师",
  	uni_mage_u_description: "脆弱,但是攻击力惊人",
  	uni_mage_u_plural: "法师",
  	uni_markanat: "玛卡纳特",
  	uni_markanat_plural: "玛卡纳特",
  	uni_marksman: "神射手",
  	uni_marksman_description: "精锐射手。我们都是神枪手,每一颗子弹消灭一个敌人",
  	uni_marksman_plural: "神射手",
  	uni_man_at_arms: "超重装战士",
  	uni_man_at_arms_description: "重装战士的进化形态,装备有护甲和钢制武器",
  	uni_man_at_arms_plural: "超重装战士",
  	uni_mana_fortress_u: "法力堡垒",
  	uni_mana_fortress_u_description: "由法力构成的据点",
  	uni_mana_fortress_u_plural: "法力堡垒",
  	uni_mechanical_wolf: "机械狼",
  	uni_mechanical_wolf_plural: "机械狼",
  	uni_mercenary_veteran: "佣兵",
  	uni_mercenary_veteran_description: "为出价最高的人服务的老兵",
  	uni_mercenary_veteran_plural: "佣兵",
  	uni_minotaur: "牛头怪",
  	uni_minotaur_plural: "牛头怪",
  	uni_mindless_evil_u: "无智之恶",
  	uni_mindless_evil_u_plural: "无智之恶",
  	uni_mist_evil: "邪雾",
  	uni_mist_evil_plural: "邪雾",
  	uni_myconid: "蕈人",
  	uni_myconid_plural: "蕈人",
  	uni_mobile_turret: "移动炮塔",
  	uni_mobile_turret_plural: "移动炮塔",
  	uni_mountain_giant: "山岭巨人",
  	uni_mountain_giant_description: "它以大山洞为家,有几十只地精仆从",
  	uni_mountain_giant_plural: "山岭巨人",
  	uni_musket_ashigaru: "铁炮足轻",
  	uni_musket_ashigaru_plural: "铁炮足轻",
  	uni_necromancer: "死灵法师",
  	uni_necromancer_description: "崇拜黑魔法的魔法师,亡者是他的仆从",
  	uni_necromancer_plural: "死灵法师",
  	uni_naga: "娜迦",
  	uni_naga_description: "娜迦进化出了四条手臂,通常用于挥舞四把剑",
  	uni_naga_plural: "娜迦",
  	uni_naga_princess: "娜迦公主",
  	uni_naga_princess_plural: "娜迦公主",
  	uni_naga_royal_guard: "娜迦皇家卫兵",
  	uni_naga_royal_guard_plural: "娜迦皇家卫兵",
  	uni_nikharul: "窃魂者尼哈鲁尔",
  	uni_nikharul_plural: "尼哈鲁尔",
  	uni_nikharul_soulstealer: "窃魂者尼哈鲁尔",
  	uni_nikharul_soulstealer_description: "大巫妖尼哈鲁尔暂时为人类而战!",
  	uni_oni: "鬼",
  	uni_oni_plural: "鬼",
  	uni_orc_berserker: "兽人狂战士",
  	uni_orc_berserker_plural: "兽人狂战士",
  	uni_orc_champion: "精英兽人",
  	uni_orc_champion_plural: "精英兽人",
  	uni_orc_flame_caster: "兽人火法师",
  	uni_orc_flame_caster_plural: "兽人火法师",
  	uni_orc_ironskin: "铁皮兽人",
  	uni_orc_ironskin_plural: "铁皮兽人",
  	uni_orc_shaman: "兽人萨满",
  	uni_orc_shaman_plural: "兽人萨满",
  	uni_orc_stone_thrower: "兽人投石兵",
  	uni_orc_stone_thrower_plural: "兽人投石兵",
  	uni_orc_warg_rider: "兽人座狼骑兵",
  	uni_orc_warg_rider_plural: "兽人座狼骑兵",
  	uni_orc_warlord: "兽人督军",
  	uni_orc_warlord_plural: "兽人督军",
  	uni_orc_worker: "兽人工人",
  	uni_orc_worker_plural: "兽人工人",
  	uni_orc_warrior: "兽人战士",
  	uni_orc_warrior_plural: "兽人战士",
  	uni_paladin: "圣斗士",
  	uni_paladin_description: "信仰是他们的武器,他们是邪恶的克星",
  	uni_paladin_plural: "圣斗士",
  	uni_ranger: "游击兵",
  	uni_ranger_description: "有了弓和剑,他们就能在森林中一直生存下去",
  	uni_ranger_plural: "游击兵",
  	uni_raider: "掠夺者",
  	uni_raider_plural: "掠夺者",
  	uni_red_dragon: "红龙",
  	uni_red_dragon_plural: "红龙",
  	uni_sacred_golem: "神圣魔像",
  	uni_sacred_golem_description: "使用魔法驱动的强大石战士",
  	uni_sacred_golem_plural: "神圣魔像",
  	uni_scout: "侦察兵",
  	uni_scout_description: "侦察小队亲如一家",
  	uni_scout_plural: "侦察兵",
  	uni_seraphim: "炽天使",
  	uni_seraphim_description: "拥有最强的神力",
  	uni_seraphim_plural: "炽天使",
  	uni_settlement_defenses: "城市",
  	uni_settlement_defenses_description: "城市的防御",
  	uni_settlement_defenses_plural: "城市",
  	uni_shieldbearer: "持盾卫士",
  	uni_shieldbearer_description: "大盾牌,大防御",
  	uni_shieldbearer_plural: "持盾卫士",
  	uni_skeletal_knight: "骷髅骑士",
  	uni_skeletal_knight_plural: "骷髅骑士",
  	uni_skeleton: "骷髅",
  	uni_skeleton_description: "一堆可以移动的骨头,会使用武器",
  	uni_skeleton_plural: "骷髅",
  	uni_skullface: "骷髅脸",
  	uni_skullface_plural: "骷髅脸",
  	uni_sluagh: "恶灵妖精",
  	uni_sluagh_plural: "恶灵妖精",
  	uni_snake: "蛇",
  	uni_snake_description: "毒蛇",
  	uni_snake_plural: "蛇",
  	uni_spawn_evil: "邪孽",
  	uni_spawn_evil_plural: "邪孽",
  	uni_spearman: "长矛兵",
  	uni_spearman_description: "廉价的前排部队,防御力很不错",
  	uni_spearman_plural: "长矛兵",
  	uni_spectra_memory: "记忆的幽灵",
  	uni_spectra_memory_plural: "记忆的幽灵",
  	uni_spider: "蜘蛛",
  	uni_spider_description: "许多小毒蜘蛛",
  	uni_spider_plural: "蜘蛛",
  	uni_spy: "间谍",
  	uni_spy_description: "欺骗大师",
  	uni_spy_plural: "间谍",
  	uni_son_atamar: "阿塔玛之子",
  	uni_son_atamar_plural: "阿塔玛之子",
  	uni_smuggler: "走私者",
  	uni_smuggler_description: "来自城市的贫民窟,深谐生存之道",
  	uni_smuggler_plural: "走私者",
  	uni_strategist: "战略家",
  	uni_strategist_description: "精于战略,也精通在后方施放法术",
  	uni_strategist_plural: "战略家",
  	uni_steel_rider: "钢铁骑士",
  	uni_steel_rider_description: "全身被钢铁覆盖的骑士骑着经过改良的战马",
  	uni_steel_rider_plural: "钢铁骑士",
  	uni_succubus: "魅魔",
  	uni_succubus_plural: "魅魔",
  	uni_succubus_queen: "魅魔女王",
  	uni_succubus_queen_plural: "魅魔女王",
  	uni_swamp_horror: "沼泽怪物",
  	uni_swamp_horror_plural: "沼泽怪物",
  	uni_ravenous_crab: "饥饿的螃蟹",
  	uni_ravenous_crab_plural: "饥饿的螃蟹",
  	uni_rifleman_u: "步枪手",
  	uni_rifleman_u_description: "人类的新前排部队",
  	uni_rifleman_u_plural: "步枪手",
  	uni_phalanx: "方阵步兵",
  	uni_phalanx_description: "组成盾墙以抵御敌人",
  	uni_phalanx_plural: "方阵步兵",
  	uni_pillager: "掠夺者",
  	uni_pillager_plural: "掠夺者",
  	uni_priest: "牧师",
  	uni_priest_description: "在后方鼓励和祝福士兵",
  	uni_priest_plural: "牧师",
  	uni_vaelgoroth_crimson_doom: "“猩红灾厄”维戈洛斯",
  	uni_vaelgoroth_crimson_doom_plural: "“猩红灾厄”维戈洛斯",
  	uni_vaelgoroth_u: "“猩红灾厄”维戈洛斯",
  	uni_vaelgoroth_u_description: "这条巨龙被认为已经逃往世界深处,但其实并未溃退消失,而是被召唤了",
  	uni_vampire: "吸血鬼",
  	uni_vampire_plural: "吸血鬼",
  	uni_vampire_bat: "吸血蝙蝠",
  	uni_vampire_bat_plural: "吸血蝙蝠",
  	uni_vampire_servant: "吸血鬼下仆",
  	uni_vampire_servant_plural: "吸血鬼下仆",
  	uni_velociraptors: "迅猛龙",
  	uni_velociraptors_plural: "迅猛龙",
  	uni_warrior: "战士",
  	uni_warrior_description: "远古时代的步兵",
  	uni_warrior_plural: "战士",
  	uni_warrior_monk: "武僧",
  	uni_warrior_monk_description: "纪律严明,在战斗中令人生畏",
  	uni_warrior_monk_plural: "武僧",
  	uni_warg: "座狼",
  	uni_warg_plural: "座狼",
  	uni_werewolf: "狼人",
  	uni_werewolf_plural: "狼人",
  	uni_wendigo: "温迪戈",
  	uni_wendigo_plural: "温迪戈",
  	uni_white_company: "白色连队",
  	uni_white_company_description: "精锐弓手,装备长弓",
  	uni_white_company_plural: "白色连队",
  	uni_wind_elemental: "风元素",
  	uni_wind_elemental_description: "充满锋利风刃的龙卷风",
  	uni_wind_elemental_plural: "风元素",
  	uni_wolf: "狼",
  	uni_wolf_plural: "狼",
  	uni_wyvern: "双足飞龙",
  	uni_wyvern_plural: "双足飞龙",
  	uni_tamed_djinn: "驯服的灯神",
  	uni_tamed_djinn_description: "灯神已经被驯服,准备与我们并肩作战",
  	uni_tamed_djinn_plural: "驯服的灯神",
  	uni_titan: "泰坦",
  	uni_titan_plural: "泰坦",
  	uni_trap: "陷阱",
  	uni_trap_plural: "陷阱",
  	uni_trebuchet: "巨型投石机",
  	uni_trebuchet_description: "随着弹道学的发展,我们可以部署巨型投石机了。它们的攻击力相当强大",
  	uni_trebuchet_plural: "巨型投石机",
  	uni_troll_battle: "百战巨魔",
  	uni_troll_battle_plural: "百战巨魔",
  	uni_troll_cave: "洞穴巨魔",
  	uni_troll_cave_description: "身形巨大,但十分蠢笨,住在它们占据的洞穴中,并以此作为巢穴。它们巨大的棍棒可以一击粉碎一个人",
  	uni_troll_cave_plural: "洞穴巨魔",
  	uni_tyrannosaurus: "霸王龙",
  	uni_tyrannosaurus_plural: "霸王龙",
  	uni_zombie: "僵尸",
  	uni_zombie_description: "缓慢而腐烂,可以用疾病感染大片地区",
  	uni_zombie_plural: "僵尸",
  	combat_reports: "战斗记录",
  	combat_reports_info: "游戏最多保存10份战斗记录。您可以通过星形图标将其中5份设为收藏记录。收藏后的战斗记录不会被自动删除",
  	collapse: "折叠",
  	expand: "展开",
  	"delete": "删除",
  	star: "标星",
  	unstar: "取消标星",
  	cannot_delete_starred: "无法删除标星的战斗记录",
  	max_starred_reports: "收藏的战斗记录份数已达上限",
  	damage_statistics: "伤害统计",
  	army_losses: "我方损失",
  	enemy_losses: "敌方损失",
  	special_units: "特殊单位",
  	attack_breakdown: "攻击明细",
  	show_details: "显示详情",
  	hide_details: "隐藏详情",
  	detailed_combat_log: "战斗记录详情",
  	result: "结果",
  	enemy: "敌人",
  	type: "类别",
  	rounds: "回合数",
  	casualties: "损失数",
  	time: "时间",
  	actions: "操作",
  	no_losses: "无损失",
  	no_combat_reports: "无战斗记录",
  	no_combat_reports_description: "战斗后将出现战斗记录。",
  	total: "合计",
  	trample: "践踏",
  	splash: "溅射",
  	bonus: "加成",
  	mvp: "MVP"
  };
  var i18n = {
  	en: en
  };

  var jobs = [
  	{
  		id: "unemployed"
  	},
  	{
  		id: "farmer",
  		req: [
  			{
  				type: "building",
  				id: "farm",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "food",
  				value: 1.6
  			}
  		]
  	},
  	{
  		id: "fisher",
  		req: [
  			{
  				type: "building",
  				id: "dock",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "food",
  				value: 3.4
  			}
  		]
  	},
  	{
  		id: "lumberjack",
  		req: [
  			{
  				type: "building",
  				id: "lumberjack_camp",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "wood",
  				value: 0.7
  			}
  		]
  	},
  	{
  		id: "quarryman",
  		req: [
  			{
  				type: "building",
  				id: "quarry",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "stone",
  				value: 0.6
  			}
  		]
  	},
  	{
  		id: "miner",
  		req: [
  			{
  				type: "building",
  				id: "mine",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "copper",
  				value: 0.5
  			},
  			{
  				type: "resource",
  				id: "iron",
  				value: 0.3
  			}
  		]
  	},
  	{
  		id: "artisan",
  		req: [
  			{
  				type: "building",
  				id: "artisan_workshop",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 0.5
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 0.3
  			}
  		]
  	},
  	{
  		id: "merchant",
  		req: [
  			{
  				type: "building",
  				id: "marketplace",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 3
  			}
  		]
  	},
  	{
  		id: "trader",
  		req: [
  			{
  				type: "building",
  				id: "credit_union",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 6
  			}
  		]
  	},
  	{
  		id: "breeder",
  		req: [
  			{
  				type: "building",
  				id: "stable",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "cow",
  				value: 0.2
  			},
  			{
  				type: "resource",
  				id: "horse",
  				value: 0.1
  			}
  		]
  	},
  	{
  		id: "carpenter",
  		req: [
  			{
  				type: "building",
  				id: "carpenter_workshop",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "building_material",
  				value: 0.3
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: -3
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: -1.5
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: -0.5
  			}
  		]
  	},
  	{
  		id: "steelworker",
  		req: [
  			{
  				type: "building",
  				id: "steelworks",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "steel",
  				value: 0.4
  			},
  			{
  				type: "resource",
  				id: "copper",
  				value: -1
  			},
  			{
  				type: "resource",
  				id: "iron",
  				value: -0.5
  			}
  		]
  	},
  	{
  		id: "professor",
  		req: [
  			{
  				type: "building",
  				id: "university",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "crystal",
  				value: 0.06
  			},
  			{
  				type: "resource",
  				id: "research",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "researcher",
  		req: [
  			{
  				type: "building",
  				id: "research_plant",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "research",
  				value: 3
  			}
  		]
  	},
  	{
  		id: "supplier",
  		req: [
  			{
  				type: "building",
  				id: "grocery",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "supplies",
  				value: 0.4
  			},
  			{
  				type: "resource",
  				id: "food",
  				value: -2
  			},
  			{
  				type: "resource",
  				id: "cow",
  				value: -0.2
  			}
  		]
  	},
  	{
  		id: "skymancer",
  		req: [
  			{
  				type: "building",
  				id: "observatory",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 3
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 3
  			}
  		]
  	},
  	{
  		id: "harvester",
  		req: [
  			{
  				type: "building",
  				id: "mana_extractors",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "copper",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "iron",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 3
  			}
  		]
  	},
  	{
  		id: "alchemist",
  		req: [
  			{
  				type: "building",
  				id: "alchemic_laboratory",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "saltpetre",
  				value: 0.7
  			}
  		]
  	},
  	{
  		id: "natro_refiner",
  		req: [
  			{
  				type: "building",
  				id: "natronite_refinery",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "natronite",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: -5
  			},
  			{
  				type: "resource",
  				id: "saltpetre",
  				value: -0.5
  			}
  		]
  	},
  	{
  		id: "quartermaster",
  		req: [
  			{
  				type: "building",
  				id: "military_camp",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "food",
  				value: 1.5
  			},
  			{
  				type: "resource",
  				id: "supplies",
  				value: 0.2
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: -3
  			}
  		]
  	},
  	{
  		id: "lumiforger",
  		req: [
  			{
  				type: "building",
  				id: "lumix_plant",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "lumix",
  				value: 0.4
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: -20
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: -15
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: -10
  			}
  		]
  	}
  ];

  var legacies = [
  	{
  		id: "ancient_treasury",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 2
  			}
  		],
  		gen: [
  			{
  				type: "cap",
  				id: "research",
  				value: 1000
  			},
  			{
  				type: "cap",
  				id: "gold",
  				value: 1000
  			}
  		]
  	},
  	{
  		id: "enhanced_axes",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 2
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "wood",
  				value: 5,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 1,
  				manual: true
  			}
  		]
  	},
  	{
  		id: "fortune_teller",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 2
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "luck",
  				value: 1,
  				fix: true
  			}
  		]
  	},
  	{
  		id: "irrigation_techniques",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 2
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "food",
  				value: 5,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "food",
  				value: 1,
  				manual: true
  			}
  		]
  	},
  	{
  		id: "renowned_stonemasons",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 2
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "stone",
  				value: 5,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 1,
  				manual: true
  			}
  		]
  	},
  	{
  		id: "resource_cap",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 2
  			}
  		],
  		gen: [
  			{
  				type: "cap",
  				id: "wood",
  				value: 1000
  			},
  			{
  				type: "cap",
  				id: "stone",
  				value: 1000
  			},
  			{
  				type: "cap",
  				id: "copper",
  				value: 500
  			},
  			{
  				type: "cap",
  				id: "iron",
  				value: 500
  			}
  		]
  	},
  	{
  		id: "service_gods",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 2
  			}
  		],
  		gen: [
  			{
  				type: "cap",
  				id: "faith",
  				value: 1000
  			},
  			{
  				type: "cap",
  				id: "mana",
  				value: 1000
  			}
  		]
  	},
  	{
  		id: "charism",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 3
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 5,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "gift_nature",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 3
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "food",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "shopkeepers_and_breeders",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 3
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "tools",
  				value: 10,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "cow",
  				value: 10,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "horse",
  				value: 10,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "stock_resources",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 3
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 300,
  				fix: true
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 300,
  				fix: true
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 300,
  				fix: true
  			}
  		]
  	},
  	{
  		id: "strong_workers",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 3
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "food",
  				value: 2,
  				manual: true
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 2,
  				manual: true
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 2,
  				manual: true
  			}
  		]
  	},
  	{
  		id: "powered_weapons",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 3
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "archer",
  				type_gen: "stat",
  				gen: "attack",
  				value: 2,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "spearman",
  				type_gen: "stat",
  				gen: "defense",
  				value: 2,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "clever_villagers",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 4
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "research",
  				value: 10,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "deep_pockets",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 4
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 10,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "enhanced_pickaxes",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 4
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "copper",
  				value: 7,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "iron",
  				value: 7,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "free_hands",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 4
  			}
  		],
  		gen: [
  			{
  				type: "population",
  				id: "unemployed",
  				value: 2
  			}
  		]
  	},
  	{
  		id: "gift_creators",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 4
  			},
  			{
  				type: "legacy",
  				id: "gift_nature",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "copper",
  				value: 0.5
  			},
  			{
  				type: "resource",
  				id: "iron",
  				value: 0.5
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 0.5
  			}
  		]
  	},
  	{
  		id: "resource_cap_II",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 4
  			},
  			{
  				type: "legacy",
  				id: "resource_cap",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "cap",
  				id: "wood",
  				value: 2500
  			},
  			{
  				type: "cap",
  				id: "stone",
  				value: 2500
  			},
  			{
  				type: "cap",
  				id: "copper",
  				value: 1000
  			},
  			{
  				type: "cap",
  				id: "iron",
  				value: 1000
  			},
  			{
  				type: "cap",
  				id: "tools",
  				value: 1000
  			},
  			{
  				type: "cap",
  				id: "cow",
  				value: 250
  			},
  			{
  				type: "cap",
  				id: "horse",
  				value: 250
  			}
  		]
  	},
  	{
  		id: "service_gods_II",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 4
  			},
  			{
  				type: "legacy",
  				id: "service_gods",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "cap",
  				id: "faith",
  				value: 2500
  			},
  			{
  				type: "cap",
  				id: "mana",
  				value: 2500
  			}
  		]
  	},
  	{
  		id: "soothsayer",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 4
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "luck",
  				value: 2,
  				fix: true
  			}
  		]
  	},
  	{
  		id: "spikes_and_pits",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 4
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "settlement_defenses",
  				type_gen: "stat",
  				gen: "defense",
  				value: 40,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "strengthening_faith",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 4
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 10,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 5,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "zenix_familiar_l",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 4
  			}
  		]
  	},
  	{
  		id: "enhanced_axes_II",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 5
  			},
  			{
  				type: "legacy",
  				id: "enhanced_axes",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "wood",
  				value: 10,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 1,
  				manual: true
  			}
  		]
  	},
  	{
  		id: "irrigation_techniques_II",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 5
  			},
  			{
  				type: "legacy",
  				id: "irrigation_techniques",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "food",
  				value: 10,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "food",
  				value: 1,
  				manual: true
  			}
  		]
  	},
  	{
  		id: "renowned_stonemasons_II",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 5
  			},
  			{
  				type: "legacy",
  				id: "renowned_stonemasons",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "stone",
  				value: 10,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 1,
  				manual: true
  			}
  		]
  	},
  	{
  		id: "ancient_treasury_II",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 5
  			},
  			{
  				type: "legacy",
  				id: "ancient_treasury",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "cap",
  				id: "research",
  				value: 2500
  			},
  			{
  				type: "cap",
  				id: "gold",
  				value: 2500
  			}
  		]
  	},
  	{
  		id: "ancient_vault",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 5
  			},
  			{
  				type: "legacy",
  				id: "library_theresmore",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "army_of_men",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 5
  			}
  		],
  		gen: [
  			{
  				type: "cap",
  				id: "army",
  				value: 15
  			}
  		]
  	},
  	{
  		id: "stock_resources_II",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 5
  			},
  			{
  				type: "legacy",
  				id: "stock_resources",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 600,
  				fix: true
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 600,
  				fix: true
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 600,
  				fix: true
  			},
  			{
  				type: "cap",
  				id: "gold",
  				value: 500
  			}
  		]
  	},
  	{
  		id: "craftmen",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 6
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "supplies",
  				value: 15,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "building_material",
  				value: 15,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 15,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: 15,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "powered_weapons_II",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 6
  			},
  			{
  				type: "legacy",
  				id: "powered_weapons",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "archer",
  				type_gen: "stat",
  				gen: "attack",
  				value: 2,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "spearman",
  				type_gen: "stat",
  				gen: "defense",
  				value: 2,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "warrior",
  				type_gen: "stat",
  				gen: "attack",
  				value: 3,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "heavy_warrior",
  				type_gen: "stat",
  				gen: "defense",
  				value: 3,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "resource_cap_III",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 6
  			},
  			{
  				type: "legacy",
  				id: "resource_cap_II",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "cap",
  				id: "wood",
  				value: 5000
  			},
  			{
  				type: "cap",
  				id: "stone",
  				value: 5000
  			},
  			{
  				type: "cap",
  				id: "building_material",
  				value: 1000
  			},
  			{
  				type: "cap",
  				id: "steel",
  				value: 1000
  			},
  			{
  				type: "cap",
  				id: "supplies",
  				value: 1000
  			},
  			{
  				type: "cap",
  				id: "saltpetre",
  				value: 1000
  			},
  			{
  				type: "cap",
  				id: "crystal",
  				value: 1000
  			}
  		]
  	},
  	{
  		id: "shieldbearer",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 6
  			}
  		]
  	},
  	{
  		id: "shopkeepers_and_breeders_II",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 6
  			},
  			{
  				type: "legacy",
  				id: "shopkeepers_and_breeders",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "tools",
  				value: 15,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "cow",
  				value: 15,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "horse",
  				value: 15,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "strong_workers_II",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 6
  			},
  			{
  				type: "legacy",
  				id: "strong_workers",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "food",
  				value: 4,
  				manual: true
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 4,
  				manual: true
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 4,
  				manual: true
  			}
  		]
  	},
  	{
  		id: "coin_mercenary",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 7
  			},
  			{
  				type: "resource",
  				id: "coin",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "enhanced_pickaxes_II",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 7
  			},
  			{
  				type: "legacy",
  				id: "enhanced_pickaxes",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "copper",
  				value: 15,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "iron",
  				value: 15,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "grain_storage",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 7
  			}
  		]
  	},
  	{
  		id: "heirloom_horseshoes",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 7
  			},
  			{
  				type: "legacy",
  				id: "monument_1",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "heirloom_momento",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 7
  			},
  			{
  				type: "legacy",
  				id: "heirloom_horseshoes",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "heirloom_contract",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 7
  			},
  			{
  				type: "legacy",
  				id: "heirloom_momento",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "heirloom_wisdom",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 7
  			},
  			{
  				type: "resource",
  				id: "tome_wisdom",
  				value: 1
  			},
  			{
  				type: "legacy",
  				id: "heirloom_contract",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "heirloom_death",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 7
  			},
  			{
  				type: "resource",
  				id: "relic",
  				value: 1
  			},
  			{
  				type: "legacy",
  				id: "heirloom_wisdom",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "heirloom_wealth",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 7
  			},
  			{
  				type: "resource",
  				id: "coin",
  				value: 1
  			},
  			{
  				type: "legacy",
  				id: "heirloom_death",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "monument_1",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 7
  			}
  		]
  	},
  	{
  		id: "spikes_and_pits_II",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 7
  			},
  			{
  				type: "legacy",
  				id: "spikes_and_pits",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "settlement_defenses",
  				type_gen: "stat",
  				gen: "defense",
  				value: 80,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "strengthening_faith_II",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 7
  			},
  			{
  				type: "legacy",
  				id: "strengthening_faith",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 20,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 10,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "ancient_treasury_III",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 8
  			},
  			{
  				type: "legacy",
  				id: "ancient_treasury_II",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "cap",
  				id: "research",
  				value: 5000
  			},
  			{
  				type: "cap",
  				id: "gold",
  				value: 5000
  			}
  		]
  	},
  	{
  		id: "charism_II",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 8
  			},
  			{
  				type: "legacy",
  				id: "charism",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 10,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "clairvoyant",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 8
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "luck",
  				value: 3,
  				fix: true
  			}
  		]
  	},
  	{
  		id: "defensive_rampart",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 8
  			},
  			{
  				type: "resource",
  				id: "coin",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "guild_craftsmen",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 8
  			}
  		]
  	},
  	{
  		id: "library_theresmore",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 8
  			}
  		]
  	},
  	{
  		id: "monastic_orders",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 8
  			}
  		]
  	},
  	{
  		id: "resource_cap_IV",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 8
  			},
  			{
  				type: "legacy",
  				id: "resource_cap_III",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "cap",
  				id: "wood",
  				value: 10000
  			},
  			{
  				type: "cap",
  				id: "stone",
  				value: 10000
  			},
  			{
  				type: "cap",
  				id: "copper",
  				value: 7500
  			},
  			{
  				type: "cap",
  				id: "iron",
  				value: 7500
  			},
  			{
  				type: "cap",
  				id: "tools",
  				value: 7500
  			},
  			{
  				type: "cap",
  				id: "building_material",
  				value: 5000
  			},
  			{
  				type: "cap",
  				id: "steel",
  				value: 5000
  			},
  			{
  				type: "cap",
  				id: "crystal",
  				value: 2500
  			},
  			{
  				type: "cap",
  				id: "supplies",
  				value: 2500
  			},
  			{
  				type: "cap",
  				id: "saltpetre",
  				value: 2500
  			}
  		]
  	},
  	{
  		id: "service_gods_III",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 8
  			},
  			{
  				type: "legacy",
  				id: "service_gods_II",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "cap",
  				id: "faith",
  				value: 6000
  			},
  			{
  				type: "cap",
  				id: "mana",
  				value: 6000
  			}
  		]
  	},
  	{
  		id: "white_m_company",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 8
  			},
  			{
  				type: "resource",
  				id: "coin",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "cpt_galliard_story",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 9
  			},
  			{
  				type: "legacy",
  				id: "cpt_galliard_l",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "deep_pockets_II",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 9
  			},
  			{
  				type: "legacy",
  				id: "deep_pockets",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 20,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "elysian_field",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 9
  			},
  			{
  				type: "resource",
  				id: "tome_wisdom",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "cap",
  				id: "food",
  				value: 5000
  			},
  			{
  				type: "cap",
  				id: "cow",
  				value: 4000
  			},
  			{
  				type: "cap",
  				id: "horse",
  				value: 2000
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "battle_angel",
  				type_gen: "stat",
  				gen: "defense",
  				value: 2,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "free_hands_II",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 9
  			},
  			{
  				type: "legacy",
  				id: "free_hands",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "population",
  				id: "unemployed",
  				value: 5
  			}
  		]
  	},
  	{
  		id: "mercenary_agreements",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 9
  			},
  			{
  				type: "resource",
  				id: "coin",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "mercenary_veteran",
  				type_gen: "stat",
  				gen: "attack",
  				value: 3,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "canava_guard",
  				type_gen: "stat",
  				gen: "defense",
  				value: 5,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "white_company",
  				type_gen: "stat",
  				gen: "attack",
  				value: 5,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "powered_weapons_III",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 9
  			},
  			{
  				type: "legacy",
  				id: "powered_weapons_II",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "warrior",
  				type_gen: "stat",
  				gen: "attack",
  				value: 3,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "heavy_warrior",
  				type_gen: "stat",
  				gen: "defense",
  				value: 3,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "crossbowman",
  				type_gen: "stat",
  				gen: "attack",
  				value: 5,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "man_at_arms",
  				type_gen: "stat",
  				gen: "defense",
  				value: 5,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "stonemason_l",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 9
  			},
  			{
  				type: "legacy",
  				id: "renowned_stonemasons_II",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "woodworking",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 9
  			},
  			{
  				type: "legacy",
  				id: "enhanced_axes_II",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "army_of_men_II",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 10
  			},
  			{
  				type: "legacy",
  				id: "army_of_men",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "cap",
  				id: "army",
  				value: 30
  			}
  		]
  	},
  	{
  		id: "clever_villagers_II",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 10
  			},
  			{
  				type: "legacy",
  				id: "clever_villagers",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "research",
  				value: 20,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "militia_recruitment",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 10
  			}
  		]
  	},
  	{
  		id: "priest",
  		req: [
  			{
  				type: "legacy",
  				id: "shieldbearer",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "legacy",
  				value: 10
  			}
  		]
  	},
  	{
  		id: "resource_cap_V",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 10
  			},
  			{
  				type: "legacy",
  				id: "resource_cap_IV",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "cap",
  				id: "wood",
  				value: 20000
  			},
  			{
  				type: "cap",
  				id: "stone",
  				value: 20000
  			},
  			{
  				type: "cap",
  				id: "copper",
  				value: 15000
  			},
  			{
  				type: "cap",
  				id: "iron",
  				value: 15000
  			},
  			{
  				type: "cap",
  				id: "tools",
  				value: 15000
  			},
  			{
  				type: "cap",
  				id: "building_material",
  				value: 10000
  			},
  			{
  				type: "cap",
  				id: "steel",
  				value: 10000
  			},
  			{
  				type: "cap",
  				id: "crystal",
  				value: 5000
  			},
  			{
  				type: "cap",
  				id: "supplies",
  				value: 5000
  			},
  			{
  				type: "cap",
  				id: "saltpetre",
  				value: 5000
  			},
  			{
  				type: "cap",
  				id: "natronite",
  				value: 2500
  			}
  		]
  	},
  	{
  		id: "shopkeepers_and_breeders_III",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 10
  			},
  			{
  				type: "legacy",
  				id: "shopkeepers_and_breeders_II",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "tools",
  				value: 30,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "cow",
  				value: 30,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "horse",
  				value: 30,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "enhanced_axes_III",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 11
  			},
  			{
  				type: "legacy",
  				id: "enhanced_axes_II",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "wood",
  				value: 20,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 3,
  				manual: true
  			}
  		]
  	},
  	{
  		id: "irrigation_techniques_III",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 11
  			},
  			{
  				type: "legacy",
  				id: "irrigation_techniques_II",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "food",
  				value: 20,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "food",
  				value: 3,
  				manual: true
  			}
  		]
  	},
  	{
  		id: "renowned_stonemasons_III",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 11
  			},
  			{
  				type: "legacy",
  				id: "renowned_stonemasons_II",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "stone",
  				value: 20,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 3,
  				manual: true
  			}
  		]
  	},
  	{
  		id: "enhanced_pickaxes_III",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 12
  			},
  			{
  				type: "legacy",
  				id: "enhanced_pickaxes_II",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "copper",
  				value: 30,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "iron",
  				value: 30,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "mercenary_agreements_II",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 12
  			},
  			{
  				type: "resource",
  				id: "coin",
  				value: 1
  			},
  			{
  				type: "legacy",
  				id: "mercenary_agreements",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "mercenary_veteran",
  				type_gen: "stat",
  				gen: "defense",
  				value: 3,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "canava_guard",
  				type_gen: "stat",
  				gen: "attack",
  				value: 5,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "white_company",
  				type_gen: "stat",
  				gen: "attack",
  				value: 5,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "regional_market",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 12
  			},
  			{
  				type: "resource",
  				id: "coin",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "resource_cap_VI",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 12
  			},
  			{
  				type: "legacy",
  				id: "resource_cap_V",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "cap",
  				id: "wood",
  				value: 40000
  			},
  			{
  				type: "cap",
  				id: "stone",
  				value: 40000
  			},
  			{
  				type: "cap",
  				id: "copper",
  				value: 30000
  			},
  			{
  				type: "cap",
  				id: "iron",
  				value: 30000
  			},
  			{
  				type: "cap",
  				id: "tools",
  				value: 30000
  			},
  			{
  				type: "cap",
  				id: "building_material",
  				value: 20000
  			},
  			{
  				type: "cap",
  				id: "steel",
  				value: 20000
  			},
  			{
  				type: "cap",
  				id: "crystal",
  				value: 10000
  			},
  			{
  				type: "cap",
  				id: "supplies",
  				value: 10000
  			},
  			{
  				type: "cap",
  				id: "saltpetre",
  				value: 10000
  			},
  			{
  				type: "cap",
  				id: "natronite",
  				value: 5000
  			}
  		]
  	},
  	{
  		id: "ancient_treasury_IV",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 14
  			},
  			{
  				type: "legacy",
  				id: "ancient_treasury_III",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "cap",
  				id: "research",
  				value: 10000
  			},
  			{
  				type: "cap",
  				id: "gold",
  				value: 10000
  			}
  		]
  	},
  	{
  		id: "craftmen_II",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 14
  			},
  			{
  				type: "legacy",
  				id: "craftmen",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "supplies",
  				value: 25,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "building_material",
  				value: 25,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 25,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: 25,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "free_hands_III",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 14
  			},
  			{
  				type: "legacy",
  				id: "free_hands_II",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "population",
  				id: "unemployed",
  				value: 10
  			}
  		]
  	},
  	{
  		id: "resource_cap_VII",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 14
  			},
  			{
  				type: "legacy",
  				id: "resource_cap_VI",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "cap",
  				id: "wood",
  				value: 80000
  			},
  			{
  				type: "cap",
  				id: "stone",
  				value: 80000
  			},
  			{
  				type: "cap",
  				id: "copper",
  				value: 60000
  			},
  			{
  				type: "cap",
  				id: "iron",
  				value: 60000
  			},
  			{
  				type: "cap",
  				id: "tools",
  				value: 60000
  			},
  			{
  				type: "cap",
  				id: "building_material",
  				value: 40000
  			},
  			{
  				type: "cap",
  				id: "steel",
  				value: 40000
  			},
  			{
  				type: "cap",
  				id: "crystal",
  				value: 20000
  			},
  			{
  				type: "cap",
  				id: "supplies",
  				value: 20000
  			},
  			{
  				type: "cap",
  				id: "saltpetre",
  				value: 20000
  			},
  			{
  				type: "cap",
  				id: "natronite",
  				value: 10000
  			}
  		]
  	},
  	{
  		id: "spikes_and_pits_III",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 14
  			},
  			{
  				type: "resource",
  				id: "relic",
  				value: 1
  			},
  			{
  				type: "legacy",
  				id: "spikes_and_pits_II",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "settlement_defenses",
  				type_gen: "stat",
  				gen: "defense",
  				value: 150,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "juggernaut",
  				type_gen: "stat",
  				gen: "attack",
  				value: 3,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "juggernaut",
  				type_gen: "stat",
  				gen: "defense",
  				value: 6,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "strengthening_faith_III",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 14
  			},
  			{
  				type: "legacy",
  				id: "strengthening_faith_II",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 30,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 20,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "angel",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 15
  			},
  			{
  				type: "resource",
  				id: "tome_wisdom",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "army_of_men_III",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 15
  			},
  			{
  				type: "legacy",
  				id: "army_of_men_II",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "cap",
  				id: "army",
  				value: 50
  			}
  		]
  	},
  	{
  		id: "elysian_field_II",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 15
  			},
  			{
  				type: "resource",
  				id: "tome_wisdom",
  				value: 1
  			},
  			{
  				type: "legacy",
  				id: "elysian_field",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "cap",
  				id: "food",
  				value: 10000
  			},
  			{
  				type: "cap",
  				id: "cow",
  				value: 8000
  			},
  			{
  				type: "cap",
  				id: "horse",
  				value: 4000
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "battle_angel",
  				type_gen: "stat",
  				gen: "defense",
  				value: 4,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "juggernaut",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 15
  			},
  			{
  				type: "resource",
  				id: "relic",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "mercenary_agreements_III",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 15
  			},
  			{
  				type: "resource",
  				id: "coin",
  				value: 1
  			},
  			{
  				type: "legacy",
  				id: "mercenary_agreements_II",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "canava_guard",
  				type_gen: "stat",
  				gen: "attack",
  				value: 5,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "canava_guard",
  				type_gen: "stat",
  				gen: "defense",
  				value: 7,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "white_company",
  				type_gen: "stat",
  				gen: "attack",
  				value: 7,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "powered_weapons_IV",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 15
  			},
  			{
  				type: "legacy",
  				id: "powered_weapons_III",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "crossbowman",
  				type_gen: "stat",
  				gen: "attack",
  				value: 5,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "man_at_arms",
  				type_gen: "stat",
  				gen: "defense",
  				value: 5,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "knight",
  				type_gen: "stat",
  				gen: "defense",
  				value: 8,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "commander",
  				type_gen: "stat",
  				gen: "defense",
  				value: 12,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "cartomancer",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 16
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "luck",
  				value: 4,
  				fix: true
  			}
  		]
  	},
  	{
  		id: "deep_pockets_III",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 16
  			},
  			{
  				type: "legacy",
  				id: "deep_pockets_II",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 40,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "hall_dead",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 16
  			},
  			{
  				type: "resource",
  				id: "relic",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "hall_wisdom",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 16
  			},
  			{
  				type: "resource",
  				id: "tome_wisdom",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "machines_gods",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 16
  			},
  			{
  				type: "resource",
  				id: "tome_wisdom",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "undead_herds",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 16
  			},
  			{
  				type: "resource",
  				id: "relic",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "resource_cap_VIII",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 16
  			},
  			{
  				type: "legacy",
  				id: "resource_cap_VII",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "cap",
  				id: "wood",
  				value: 160000
  			},
  			{
  				type: "cap",
  				id: "stone",
  				value: 160000
  			},
  			{
  				type: "cap",
  				id: "copper",
  				value: 120000
  			},
  			{
  				type: "cap",
  				id: "iron",
  				value: 120000
  			},
  			{
  				type: "cap",
  				id: "tools",
  				value: 120000
  			},
  			{
  				type: "cap",
  				id: "building_material",
  				value: 80000
  			},
  			{
  				type: "cap",
  				id: "steel",
  				value: 80000
  			},
  			{
  				type: "cap",
  				id: "crystal",
  				value: 40000
  			},
  			{
  				type: "cap",
  				id: "supplies",
  				value: 40000
  			},
  			{
  				type: "cap",
  				id: "saltpetre",
  				value: 40000
  			},
  			{
  				type: "cap",
  				id: "natronite",
  				value: 20000
  			}
  		]
  	},
  	{
  		id: "service_gods_IV",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 16
  			},
  			{
  				type: "legacy",
  				id: "service_gods_III",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "cap",
  				id: "faith",
  				value: 12000
  			},
  			{
  				type: "cap",
  				id: "mana",
  				value: 12000
  			}
  		]
  	},
  	{
  		id: "clever_villagers_III",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 18
  			},
  			{
  				type: "legacy",
  				id: "clever_villagers_II",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "research",
  				value: 40,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "cpt_galliard_l",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 18
  			},
  			{
  				type: "resource",
  				id: "coin",
  				value: 2
  			},
  			{
  				type: "resource",
  				id: "gem",
  				value: 1
  			},
  			{
  				type: "legacy",
  				id: "white_m_company",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "enhanced_axes_IV",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 19
  			},
  			{
  				type: "legacy",
  				id: "enhanced_axes_III",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "wood",
  				value: 30,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "irrigation_techniques_IV",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 19
  			},
  			{
  				type: "legacy",
  				id: "irrigation_techniques_III",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "food",
  				value: 30,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "renowned_stonemasons_IV",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 19
  			},
  			{
  				type: "legacy",
  				id: "renowned_stonemasons_III",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "stone",
  				value: 30,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "enhanced_pickaxes_IV",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 19
  			},
  			{
  				type: "legacy",
  				id: "enhanced_pickaxes_III",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "copper",
  				value: 40,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "iron",
  				value: 40,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "ministry_interior_l",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 20
  			},
  			{
  				type: "resource",
  				id: "gem",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "ministry_war_l",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 20
  			},
  			{
  				type: "resource",
  				id: "gem",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "ministry_worship_l",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 20
  			},
  			{
  				type: "resource",
  				id: "gem",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "powered_weapons_V",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 20
  			},
  			{
  				type: "legacy",
  				id: "powered_weapons_IV",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "arquebusier",
  				type_gen: "stat",
  				gen: "attack",
  				value: 5,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "line_infantry",
  				type_gen: "stat",
  				gen: "attack",
  				value: 5,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "line_infantry",
  				type_gen: "stat",
  				gen: "defense",
  				value: 5,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "cuirassier",
  				type_gen: "stat",
  				gen: "defense",
  				value: 8,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "general",
  				type_gen: "stat",
  				gen: "defense",
  				value: 12,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "craftmen_III",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 21
  			},
  			{
  				type: "legacy",
  				id: "craftmen_II",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "supplies",
  				value: 40,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "building_material",
  				value: 40,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 40,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: 40,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "army_of_men_IV",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 25
  			},
  			{
  				type: "legacy",
  				id: "army_of_men_III",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "cap",
  				id: "army",
  				value: 100
  			}
  		]
  	},
  	{
  		id: "train_colonial",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 25
  			},
  			{
  				type: "resource",
  				id: "gem",
  				value: 1
  			},
  			{
  				type: "legacy",
  				id: "ministry_war_l",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "colonial_militia",
  				type_gen: "stat",
  				gen: "defense",
  				value: 2,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "elf_warrior",
  				type_gen: "stat",
  				gen: "defense",
  				value: 7,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "paladin",
  				type_gen: "stat",
  				gen: "defense",
  				value: 7,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "jager",
  				type_gen: "stat",
  				gen: "attack",
  				value: 7,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "free_hands_IV",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 28
  			},
  			{
  				type: "legacy",
  				id: "free_hands_III",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "population",
  				id: "unemployed",
  				value: 15
  			}
  		]
  	},
  	{
  		id: "spikes_and_pits_IV",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 28
  			},
  			{
  				type: "resource",
  				id: "relic",
  				value: 1
  			},
  			{
  				type: "legacy",
  				id: "spikes_and_pits_III",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "settlement_defenses",
  				type_gen: "stat",
  				gen: "defense",
  				value: 200,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "juggernaut",
  				type_gen: "stat",
  				gen: "attack",
  				value: 6,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "juggernaut",
  				type_gen: "stat",
  				gen: "defense",
  				value: 12,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "strengthening_faith_IV",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 28
  			},
  			{
  				type: "legacy",
  				id: "strengthening_faith_III",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 50,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 30,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "ancient_balor_l",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 30
  			},
  			{
  				type: "resource",
  				id: "relic",
  				value: 2
  			},
  			{
  				type: "resource",
  				id: "gem",
  				value: 1
  			},
  			{
  				type: "legacy",
  				id: "juggernaut",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "craftmen_IV",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 30
  			},
  			{
  				type: "legacy",
  				id: "craftmen_III",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "saltpetre",
  				value: 15,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 15,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "elysian_field_III",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 30
  			},
  			{
  				type: "resource",
  				id: "tome_wisdom",
  				value: 1
  			},
  			{
  				type: "legacy",
  				id: "elysian_field_II",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "cap",
  				id: "food",
  				value: 20000
  			},
  			{
  				type: "cap",
  				id: "cow",
  				value: 16000
  			},
  			{
  				type: "cap",
  				id: "horse",
  				value: 8000
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "battle_angel",
  				type_gen: "stat",
  				gen: "defense",
  				value: 8,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "seraphim_l",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 30
  			},
  			{
  				type: "resource",
  				id: "tome_wisdom",
  				value: 2
  			},
  			{
  				type: "resource",
  				id: "gem",
  				value: 1
  			},
  			{
  				type: "legacy",
  				id: "angel",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "acolyte_fate",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 32
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "luck",
  				value: 6,
  				fix: true
  			}
  		]
  	},
  	{
  		id: "deep_pockets_IV",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 32
  			},
  			{
  				type: "legacy",
  				id: "deep_pockets_III",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 60,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "service_gods_V",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 32
  			},
  			{
  				type: "legacy",
  				id: "service_gods_IV",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "cap",
  				id: "faith",
  				value: 25000
  			},
  			{
  				type: "cap",
  				id: "mana",
  				value: 25000
  			}
  		]
  	},
  	{
  		id: "powered_weapons_VI",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 45
  			},
  			{
  				type: "resource",
  				id: "gem",
  				value: 1
  			},
  			{
  				type: "legacy",
  				id: "powered_weapons_V",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "man_at_arms",
  				type_gen: "stat",
  				gen: "attack",
  				value: 5,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "man_at_arms",
  				type_gen: "stat",
  				gen: "defense",
  				value: 5,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "shieldbearer",
  				type_gen: "stat",
  				gen: "defense",
  				value: 8,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "artillery",
  				type_gen: "stat",
  				gen: "attack",
  				value: 20,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "army_of_men_V",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 50
  			},
  			{
  				type: "legacy",
  				id: "army_of_men_IV",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "cap",
  				id: "army",
  				value: 150
  			}
  		]
  	},
  	{
  		id: "craftmen_V",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 50
  			},
  			{
  				type: "legacy",
  				id: "craftmen_IV",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "saltpetre",
  				value: 30,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 30,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "train_colonial_II",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 50
  			},
  			{
  				type: "resource",
  				id: "gem",
  				value: 1
  			},
  			{
  				type: "legacy",
  				id: "train_colonial",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "colonial_militia",
  				type_gen: "stat",
  				gen: "attack",
  				value: 2,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "elf_warrior",
  				type_gen: "stat",
  				gen: "attack",
  				value: 14,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "behemoth",
  				type_gen: "stat",
  				gen: "defense",
  				value: 14,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "jager",
  				type_gen: "stat",
  				gen: "attack",
  				value: 14,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "spikes_and_pits_V",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 56
  			},
  			{
  				type: "resource",
  				id: "relic",
  				value: 1
  			},
  			{
  				type: "legacy",
  				id: "spikes_and_pits_IV",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "settlement_defenses",
  				type_gen: "stat",
  				gen: "defense",
  				value: 350,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "juggernaut",
  				type_gen: "stat",
  				gen: "attack",
  				value: 10,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "juggernaut",
  				type_gen: "stat",
  				gen: "defense",
  				value: 20,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "strengthening_faith_V",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 56
  			},
  			{
  				type: "legacy",
  				id: "strengthening_faith_IV",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 75,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 50,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "architecture_titan",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 60
  			},
  			{
  				type: "resource",
  				id: "titan_gift",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "wall_titan",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 60
  			},
  			{
  				type: "resource",
  				id: "titan_gift",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "weapons_titan",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 60
  			},
  			{
  				type: "resource",
  				id: "titan_gift",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "spearman",
  				type_gen: "stat",
  				gen: "defense",
  				value: 10,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "man_at_arms",
  				type_gen: "stat",
  				gen: "attack",
  				value: 10,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "arquebusier",
  				type_gen: "stat",
  				gen: "attack",
  				value: 10,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "cuirassier",
  				type_gen: "stat",
  				gen: "defense",
  				value: 10,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "line_infantry",
  				type_gen: "stat",
  				gen: "defense",
  				value: 10,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "deep_pockets_V",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 64
  			},
  			{
  				type: "legacy",
  				id: "deep_pockets_IV",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 80,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "powered_weapons_VII",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 80
  			},
  			{
  				type: "resource",
  				id: "gem",
  				value: 1
  			},
  			{
  				type: "legacy",
  				id: "powered_weapons_VI",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "line_infantry",
  				type_gen: "stat",
  				gen: "attack",
  				value: 8,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "line_infantry",
  				type_gen: "stat",
  				gen: "defense",
  				value: 8,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "cuirassier",
  				type_gen: "stat",
  				gen: "defense",
  				value: 8,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "artillery",
  				type_gen: "stat",
  				gen: "attack",
  				value: 20,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "clever_villagers_IV",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 36
  			},
  			{
  				type: "resource",
  				id: "light",
  				value: 3
  			},
  			{
  				type: "legacy",
  				id: "clever_villagers_III",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "research",
  				value: 60,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "powered_weapons_VIII",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 120
  			},
  			{
  				type: "resource",
  				id: "light",
  				value: 12
  			},
  			{
  				type: "legacy",
  				id: "powered_weapons_VII",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "steel_rider",
  				type_gen: "stat",
  				gen: "attack",
  				value: 16,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "steel_rider",
  				type_gen: "stat",
  				gen: "defense",
  				value: 16,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "marksman",
  				type_gen: "stat",
  				gen: "attack",
  				value: 10,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "artillery",
  				type_gen: "stat",
  				gen: "attack",
  				value: 25,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "spikes_and_pits_VI",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 90
  			},
  			{
  				type: "resource",
  				id: "relic",
  				value: 2
  			},
  			{
  				type: "resource",
  				id: "light",
  				value: 8
  			},
  			{
  				type: "legacy",
  				id: "spikes_and_pits_V",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "settlement_defenses",
  				type_gen: "stat",
  				gen: "defense",
  				value: 900,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "juggernaut",
  				type_gen: "stat",
  				gen: "attack",
  				value: 15,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "juggernaut",
  				type_gen: "stat",
  				gen: "defense",
  				value: 30,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "craftmen_VI",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 75
  			},
  			{
  				type: "resource",
  				id: "light",
  				value: 8
  			},
  			{
  				type: "legacy",
  				id: "craftmen_V",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "saltpetre",
  				value: 50,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 50,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "army_of_men_VI",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 90
  			},
  			{
  				type: "resource",
  				id: "light",
  				value: 8
  			},
  			{
  				type: "legacy",
  				id: "army_of_men_V",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "cap",
  				id: "army",
  				value: 250
  			}
  		]
  	},
  	{
  		id: "enhanced_axes_V",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 38
  			},
  			{
  				type: "resource",
  				id: "light",
  				value: 4
  			},
  			{
  				type: "legacy",
  				id: "enhanced_axes_IV",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "wood",
  				value: 50,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "irrigation_techniques_V",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 38
  			},
  			{
  				type: "resource",
  				id: "light",
  				value: 4
  			},
  			{
  				type: "legacy",
  				id: "irrigation_techniques_IV",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "food",
  				value: 50,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "renowned_stonemasons_V",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 38
  			},
  			{
  				type: "resource",
  				id: "light",
  				value: 4
  			},
  			{
  				type: "legacy",
  				id: "renowned_stonemasons_IV",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "stone",
  				value: 50,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "enhanced_pickaxes_V",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 38
  			},
  			{
  				type: "resource",
  				id: "light",
  				value: 4
  			},
  			{
  				type: "legacy",
  				id: "enhanced_pickaxes_IV",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "copper",
  				value: 60,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "iron",
  				value: 60,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "enhanced_axes_VI",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 60
  			},
  			{
  				type: "resource",
  				id: "light",
  				value: 6
  			},
  			{
  				type: "legacy",
  				id: "enhanced_axes_V",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "wood",
  				value: 100,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "irrigation_techniques_VI",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 60
  			},
  			{
  				type: "resource",
  				id: "light",
  				value: 6
  			},
  			{
  				type: "legacy",
  				id: "irrigation_techniques_V",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "food",
  				value: 100,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "renowned_stonemasons_VI",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 38
  			},
  			{
  				type: "resource",
  				id: "light",
  				value: 4
  			},
  			{
  				type: "legacy",
  				id: "renowned_stonemasons_V",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "stone",
  				value: 75,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "enhanced_pickaxes_VI",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 50
  			},
  			{
  				type: "resource",
  				id: "light",
  				value: 6
  			},
  			{
  				type: "legacy",
  				id: "enhanced_pickaxes_V",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "copper",
  				value: 80,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "iron",
  				value: 80,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "free_hands_V",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 56
  			},
  			{
  				type: "resource",
  				id: "light",
  				value: 8
  			},
  			{
  				type: "legacy",
  				id: "free_hands_IV",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "population",
  				id: "unemployed",
  				value: 22
  			}
  		]
  	},
  	{
  		id: "elysian_field_IV",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 60
  			},
  			{
  				type: "resource",
  				id: "tome_wisdom",
  				value: 2
  			},
  			{
  				type: "resource",
  				id: "light",
  				value: 8
  			},
  			{
  				type: "legacy",
  				id: "elysian_field_III",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "cap",
  				id: "food",
  				value: 40000
  			},
  			{
  				type: "cap",
  				id: "cow",
  				value: 32000
  			},
  			{
  				type: "cap",
  				id: "horse",
  				value: 16000
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "battle_angel",
  				type_gen: "stat",
  				gen: "attack",
  				value: 22,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "battle_angel",
  				type_gen: "stat",
  				gen: "defense",
  				value: 22,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "seraphim",
  				type_gen: "stat",
  				gen: "attack",
  				value: 160,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "seraphim",
  				type_gen: "stat",
  				gen: "defense",
  				value: 160,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "god_luck",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 70
  			},
  			{
  				type: "resource",
  				id: "gem",
  				value: 2
  			},
  			{
  				type: "legacy",
  				id: "acolyte_fate",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "luck",
  				value: 12,
  				fix: true
  			}
  		]
  	},
  	{
  		id: "train_colonial_III",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 90
  			},
  			{
  				type: "resource",
  				id: "gem",
  				value: 2
  			},
  			{
  				type: "resource",
  				id: "light",
  				value: 8
  			},
  			{
  				type: "legacy",
  				id: "train_colonial_II",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "colonial_militia",
  				type_gen: "stat",
  				gen: "attack",
  				value: 6,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "elf_warrior",
  				type_gen: "stat",
  				gen: "attack",
  				value: 22,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "behemoth",
  				type_gen: "stat",
  				gen: "defense",
  				value: 26,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "jager",
  				type_gen: "stat",
  				gen: "attack",
  				value: 24,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "light_circle",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 100
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "light",
  				value: 1,
  				fix: true
  			}
  		]
  	},
  	{
  		id: "strengthening_faith_VI",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 112
  			},
  			{
  				type: "resource",
  				id: "light",
  				value: 6
  			},
  			{
  				type: "legacy",
  				id: "strengthening_faith_V",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 100,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 75,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "deep_pockets_VI",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 120
  			},
  			{
  				type: "resource",
  				id: "light",
  				value: 6
  			},
  			{
  				type: "legacy",
  				id: "deep_pockets_V",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 100,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "elysian_field_V",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 120
  			},
  			{
  				type: "resource",
  				id: "tome_wisdom",
  				value: 3
  			},
  			{
  				type: "resource",
  				id: "light",
  				value: 16
  			},
  			{
  				type: "legacy",
  				id: "elysian_field_IV",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "cap",
  				id: "food",
  				value: 80000
  			},
  			{
  				type: "cap",
  				id: "cow",
  				value: 64000
  			},
  			{
  				type: "cap",
  				id: "horse",
  				value: 32000
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "battle_angel",
  				type_gen: "stat",
  				gen: "attack",
  				value: 44,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "battle_angel",
  				type_gen: "stat",
  				gen: "defense",
  				value: 44,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "seraphim",
  				type_gen: "stat",
  				gen: "attack",
  				value: 300,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "seraphim",
  				type_gen: "stat",
  				gen: "defense",
  				value: 300,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "powered_weapons_IX",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 200
  			},
  			{
  				type: "resource",
  				id: "light",
  				value: 16
  			},
  			{
  				type: "legacy",
  				id: "powered_weapons_VIII",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "steel_rider",
  				type_gen: "stat",
  				gen: "attack",
  				value: 22,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "steel_rider",
  				type_gen: "stat",
  				gen: "defense",
  				value: 22,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "rifleman_u",
  				type_gen: "stat",
  				gen: "attack",
  				value: 18,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "rifleman_u",
  				type_gen: "stat",
  				gen: "defense",
  				value: 18,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "machine_gun_u",
  				type_gen: "stat",
  				gen: "attack",
  				value: 42,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "light_circle_II",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 150
  			},
  			{
  				type: "legacy",
  				id: "light_circle",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "light",
  				value: 2,
  				fix: true
  			}
  		]
  	},
  	{
  		id: "army_of_men_VII",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 140
  			},
  			{
  				type: "resource",
  				id: "light",
  				value: 12
  			},
  			{
  				type: "legacy",
  				id: "army_of_men_VI",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "cap",
  				id: "army",
  				value: 350
  			}
  		]
  	},
  	{
  		id: "army_of_men_VIII",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 200
  			},
  			{
  				type: "resource",
  				id: "light",
  				value: 16
  			},
  			{
  				type: "legacy",
  				id: "army_of_men_VII",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "cap",
  				id: "army",
  				value: 450
  			}
  		]
  	},
  	{
  		id: "light_circle_III",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 200
  			},
  			{
  				type: "legacy",
  				id: "light_circle_II",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "light",
  				value: 4,
  				fix: true
  			}
  		]
  	},
  	{
  		id: "deep_pockets_VII",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 200
  			},
  			{
  				type: "resource",
  				id: "light",
  				value: 8
  			},
  			{
  				type: "legacy",
  				id: "deep_pockets_VI",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 120,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "light_circle_IV",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 250
  			},
  			{
  				type: "legacy",
  				id: "light_circle_III",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "light",
  				value: 8,
  				fix: true
  			}
  		]
  	},
  	{
  		id: "army_of_men_IX",
  		req: [
  			{
  				type: "resource",
  				id: "legacy",
  				value: 350
  			},
  			{
  				type: "resource",
  				id: "light",
  				value: 22
  			},
  			{
  				type: "legacy",
  				id: "army_of_men_VIII",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "cap",
  				id: "army",
  				value: 600
  			}
  		]
  	}
  ];

  var locations = [
  	{
  		id: "ancient_burial_place",
  		found: [
  			1
  		],
  		esp: 4,
  		level: 1,
  		army: [
  			{
  				id: "skeleton",
  				value: 11
  			},
  			{
  				id: "zombie",
  				value: 6
  			},
  			{
  				id: "ghost",
  				value: 2
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 0.5
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 0.5
  			}
  		]
  	},
  	{
  		id: "ancient_hideout",
  		found: [
  			12,
  			13
  		],
  		esp: 5,
  		level: 1,
  		army: [
  			{
  				id: "bandit",
  				value: 17
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 1
  			},
  			{
  				type: "cap",
  				id: "gold",
  				value: 800
  			}
  		]
  	},
  	{
  		id: "ancient_lighthouse",
  		found: [
  			16
  		],
  		esp: 45,
  		level: 5,
  		reqFound: [
  			{
  				type: "tech",
  				id: "explore_sorrounding",
  				value: 1
  			}
  		],
  		army: [
  			{
  				id: "ancient_legionary",
  				value: 280
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 2
  			},
  			{
  				type: "resource",
  				id: "light",
  				value: 1,
  				fix: true
  			}
  		]
  	},
  	{
  		id: "ancient_ruin",
  		found: [
  			14
  		],
  		esp: 45,
  		level: 5,
  		reqFound: [
  			{
  				type: "tech",
  				id: "explore_sorrounding",
  				value: 1
  			}
  		],
  		army: [
  			{
  				id: "ancient_ghost",
  				value: 180
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 70,
  				fix: true
  			},
  			{
  				type: "resource",
  				id: "light",
  				value: 1,
  				fix: true
  			}
  		]
  	},
  	{
  		id: "dark_knight_patrol",
  		found: [
  			32
  		],
  		esp: 55,
  		level: 6,
  		reqFound: [
  			{
  				type: "tech",
  				id: "dark_land",
  				value: 1
  			}
  		],
  		army: [
  			{
  				id: "dark_knight",
  				value: 110
  			},
  			{
  				id: "ancient_legionary",
  				value: 240
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 3
  			},
  			{
  				type: "resource",
  				id: "lumix",
  				value: 0.1
  			}
  		]
  	},
  	{
  		id: "dark_village",
  		found: [
  			35
  		],
  		esp: 45,
  		level: 6,
  		reqFound: [
  			{
  				type: "tech",
  				id: "explore_sorrounding",
  				value: 1
  			}
  		],
  		army: [
  			{
  				id: "ancient_legionary",
  				value: 210
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 50,
  				fix: true
  			},
  			{
  				type: "resource",
  				id: "light",
  				value: 1,
  				fix: true
  			}
  		]
  	},
  	{
  		id: "ball_lightning_field",
  		found: [
  			29
  		],
  		esp: 32,
  		level: 2,
  		reqFound: [
  			{
  				type: "tech",
  				id: "new_world_exploration",
  				value: 1
  			}
  		],
  		army: [
  			{
  				id: "ball_lightning",
  				value: 26
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "food",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "bandit_camp",
  		found: [
  			3,
  			4
  		],
  		esp: 2,
  		level: 1,
  		army: [
  			{
  				id: "bandit",
  				value: 9
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "food",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "barbarian_camp",
  		found: [
  			2
  		],
  		esp: 7,
  		level: 1,
  		army: [
  			{
  				id: "barbarian_warrior",
  				value: 17
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "wood",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "iron",
  				value: 0.3
  			},
  			{
  				type: "population",
  				id: "unemployed",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "barbarian_village",
  		found: [
  			7
  		],
  		esp: 16,
  		level: 2,
  		reqFound: [
  			{
  				type: "tech",
  				id: "tamed_barbarian",
  				value: 1
  			}
  		],
  		army: [
  			{
  				id: "barbarian_warrior",
  				value: 40
  			},
  			{
  				id: "barbarian_leader",
  				value: 3
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "wood",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "iron",
  				value: 0.3
  			},
  			{
  				type: "population",
  				id: "unemployed",
  				value: 3
  			}
  		]
  	},
  	{
  		id: "barren_hills",
  		found: [
  			5
  		],
  		esp: 13,
  		level: 2,
  		army: [
  			{
  				id: "hill_giant",
  				value: 7
  			},
  			{
  				id: "kobold",
  				value: 52
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 30,
  				fix: true
  			},
  			{
  				type: "resource",
  				id: "building_material",
  				value: 0.1
  			},
  			{
  				type: "resource",
  				id: "supplies",
  				value: 0.1
  			}
  		]
  	},
  	{
  		id: "basilisk_cave",
  		found: [
  			6
  		],
  		esp: 12,
  		level: 2,
  		army: [
  			{
  				id: "basilisk",
  				value: 7
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "cow",
  				value: 0.3
  			},
  			{
  				type: "resource",
  				id: "horse",
  				value: 0.1
  			},
  			{
  				type: "resource",
  				id: "supplies",
  				value: 0.1
  			}
  		]
  	},
  	{
  		id: "burning_pit",
  		found: [
  			8
  		],
  		esp: 8,
  		level: 2,
  		army: [
  			{
  				id: "imp",
  				value: 20
  			},
  			{
  				id: "lesser_demon",
  				value: 6
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "copper",
  				value: 0.5
  			},
  			{
  				type: "resource",
  				id: "iron",
  				value: 0.3
  			}
  		]
  	},
  	{
  		id: "black_mage_tower",
  		found: [
  			39
  		],
  		esp: 20,
  		level: 2,
  		army: [
  			{
  				id: "black_mage",
  				value: 1
  			},
  			{
  				id: "goblin_warrior",
  				value: 60
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 30,
  				fix: true
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 0.1
  			}
  		]
  	},
  	{
  		id: "bugbear_tribe",
  		found: [
  			9
  		],
  		esp: 8,
  		level: 2,
  		army: [
  			{
  				id: "bugbear",
  				value: 18
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "wood",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "bugbear_war_party",
  		found: [
  			9,
  			10
  		],
  		esp: 32,
  		level: 4,
  		reqFound: [
  			{
  				type: "tech",
  				id: "long_expedition",
  				value: 1
  			}
  		],
  		army: [
  			{
  				id: "bugbear_chieftain",
  				value: 1
  			},
  			{
  				id: "bugbear",
  				value: 120
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 2
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 2
  			}
  		]
  	},
  	{
  		id: "church_abyss",
  		found: [
  			24
  		],
  		esp: 35,
  		level: 5,
  		reqFound: [
  			{
  				type: "tech",
  				id: "explore_sorrounding",
  				value: 1
  			}
  		],
  		army: [
  			{
  				id: "vampire",
  				value: 280
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "mana",
  				value: 2
  			},
  			{
  				type: "resource",
  				id: "light",
  				value: 1,
  				fix: true
  			}
  		]
  	},
  	{
  		id: "citadel_dead",
  		found: [
  			20,
  			21
  		],
  		esp: 33,
  		level: 5,
  		reqFound: [
  			{
  				type: "tech",
  				id: "long_expedition",
  				value: 1
  			}
  		],
  		army: [
  			{
  				id: "zombie",
  				value: 350
  			},
  			{
  				id: "ghoul",
  				value: 130
  			},
  			{
  				id: "wyvern",
  				value: 30
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 70,
  				fix: true
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 0.5
  			},
  			{
  				type: "resource",
  				id: "saltpetre",
  				value: 0.2
  			}
  		]
  	},
  	{
  		id: "circle_necromancer",
  		found: [
  			31
  		],
  		esp: 45,
  		level: 6,
  		reqFound: [
  			{
  				type: "tech",
  				id: "explore_sorrounding",
  				value: 1
  			}
  		],
  		army: [
  			{
  				id: "necromancer",
  				value: 70
  			},
  			{
  				id: "faceless_horror",
  				value: 290
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "light",
  				value: 1,
  				fix: true
  			},
  			{
  				type: "cap",
  				id: "faith",
  				value: 5000
  			},
  			{
  				type: "cap",
  				id: "mana",
  				value: 5000
  			}
  		]
  	},
  	{
  		id: "construction_site",
  		found: [
  			18,
  			19
  		],
  		esp: 12,
  		level: 2,
  		army: [
  			{
  				id: "mercenary_veteran",
  				value: 25
  			}
  		],
  		gen: [
  			{
  				type: "cap",
  				id: "building_material",
  				value: 750
  			},
  			{
  				type: "cap",
  				id: "steel",
  				value: 750
  			},
  			{
  				type: "cap",
  				id: "crystal",
  				value: 300
  			},
  			{
  				type: "cap",
  				id: "supplies",
  				value: 300
  			}
  		]
  	},
  	{
  		id: "corrupted_lands",
  		found: [
  			18,
  			19,
  			20,
  			21,
  			22,
  			23,
  			24,
  			25
  		],
  		esp: 42,
  		level: 7,
  		reqFound: [
  			{
  				type: "tech",
  				id: "black_artifact",
  				value: 1
  			}
  		],
  		army: [
  			{
  				id: "mist_evil",
  				value: 1
  			},
  			{
  				id: "spawn_evil",
  				value: 750
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 3
  			},
  			{
  				type: "resource",
  				id: "food",
  				value: 3
  			},
  			{
  				type: "population",
  				id: "unemployed",
  				value: 3
  			}
  		]
  	},
  	{
  		id: "dark_pit",
  		found: [
  			18
  		],
  		esp: 35,
  		level: 5,
  		reqFound: [
  			{
  				type: "tech",
  				id: "explore_sorrounding",
  				value: 1
  			}
  		],
  		army: [
  			{
  				id: "greater_demon",
  				value: 220
  			},
  			{
  				id: "lesser_demon",
  				value: 360
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "stone",
  				value: 2
  			},
  			{
  				type: "resource",
  				id: "light",
  				value: 1,
  				fix: true
  			}
  		]
  	},
  	{
  		id: "desecrated_temple",
  		found: [
  			28,
  			29,
  			30,
  			31
  		],
  		esp: 45,
  		level: 4,
  		reqFound: [
  			{
  				type: "tech",
  				id: "temple_luna",
  				value: 1
  			}
  		],
  		army: [
  			{
  				id: "orc_shaman",
  				value: 15
  			},
  			{
  				id: "orc_worker",
  				value: 89
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "mana",
  				value: 2
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 0.2
  			}
  		]
  	},
  	{
  		id: "deserters_den",
  		found: [
  			10
  		],
  		esp: 16,
  		level: 2,
  		army: [
  			{
  				id: "bandit",
  				value: 26
  			},
  			{
  				id: "deserter",
  				value: 14
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 2
  			},
  			{
  				type: "resource",
  				id: "copper",
  				value: 0.5
  			}
  		]
  	},
  	{
  		id: "demoness_castle",
  		found: [
  			40
  		],
  		esp: 40,
  		level: 5,
  		reqFound: [
  			{
  				type: "prayer",
  				id: "demoniac_tome",
  				value: 1
  			}
  		],
  		army: [
  			{
  				id: "demoness",
  				value: 1
  			},
  			{
  				id: "greater_demon",
  				value: 20
  			},
  			{
  				id: "lesser_demon",
  				value: 60
  			},
  			{
  				id: "charmed_dweller",
  				value: 70
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 50,
  				fix: true
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 2
  			},
  			{
  				type: "population",
  				id: "unemployed",
  				value: 3
  			}
  		]
  	},
  	{
  		id: "demonic_portal",
  		found: [
  			11
  		],
  		esp: 28,
  		level: 3,
  		army: [
  			{
  				id: "greater_demon",
  				value: 10
  			},
  			{
  				id: "lesser_demon",
  				value: 22
  			},
  			{
  				id: "imp",
  				value: 50
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 30,
  				fix: true
  			},
  			{
  				type: "resource",
  				id: "faith",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 0.1
  			}
  		]
  	},
  	{
  		id: "dense_oasis",
  		found: [
  			29
  		],
  		esp: 48,
  		level: 5,
  		army: [
  			{
  				id: "naga",
  				value: 180
  			},
  			{
  				id: "naga_royal_guard",
  				value: 115
  			},
  			{
  				id: "naga_princess",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 20,
  				fix: true
  			},
  			{
  				type: "resource",
  				id: "luck",
  				value: 2,
  				fix: true
  			},
  			{
  				type: "resource",
  				id: "food",
  				value: 3
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 3
  			}
  		]
  	},
  	{
  		id: "elder_dragon",
  		found: [
  			15
  		],
  		esp: 99,
  		level: 9,
  		reqFound: [
  			{
  				type: "tech",
  				id: "tyrant_ash",
  				value: 1
  			}
  		],
  		army: [
  			{
  				id: "fire_elemental",
  				value: 14800
  			},
  			{
  				id: "ash_elemental",
  				value: 9200
  			},
  			{
  				id: "vaelgoroth_crimson_doom",
  				value: 1
  			},
  			{
  				id: "azrathis_flamebinder",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 500,
  				fix: true
  			},
  			{
  				type: "resource",
  				id: "light",
  				value: 4,
  				fix: true
  			},
  			{
  				type: "resource",
  				id: "luck",
  				value: 4,
  				fix: true
  			},
  			{
  				type: "resource",
  				id: "tome_wisdom",
  				value: 4,
  				fix: true
  			},
  			{
  				type: "resource",
  				id: "relic",
  				value: 4,
  				fix: true
  			},
  			{
  				type: "resource",
  				id: "coin",
  				value: 4,
  				fix: true
  			},
  			{
  				type: "resource",
  				id: "gem",
  				value: 4,
  				fix: true
  			}
  		]
  	},
  	{
  		id: "evil_abode",
  		found: [
  			22
  		],
  		esp: 35,
  		level: 5,
  		reqFound: [
  			{
  				type: "tech",
  				id: "explore_sorrounding",
  				value: 1
  			}
  		],
  		army: [
  			{
  				id: "succubus",
  				value: 220
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 2
  			},
  			{
  				type: "resource",
  				id: "light",
  				value: 1,
  				fix: true
  			}
  		]
  	},
  	{
  		id: "explore_desert",
  		found: [
  			21
  		],
  		esp: 55,
  		level: 6,
  		reqFound: [
  			{
  				type: "tech",
  				id: "myth_south",
  				value: 1
  			}
  		],
  		army: [
  			{
  				id: "naga",
  				value: 1200
  			},
  			{
  				id: "naga_royal_guard",
  				value: 560
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 20,
  				fix: true
  			},
  			{
  				type: "resource",
  				id: "luck",
  				value: 1,
  				fix: true
  			},
  			{
  				type: "resource",
  				id: "food",
  				value: 2
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 2
  			}
  		]
  	},
  	{
  		id: "hell_hole",
  		found: [
  			12
  		],
  		esp: 42,
  		level: 4,
  		reqFound: [
  			{
  				type: "prayer",
  				id: "demonology",
  				value: 1
  			}
  		],
  		army: [
  			{
  				id: "archdemon",
  				value: 3
  			},
  			{
  				id: "greater_demon",
  				value: 52
  			},
  			{
  				id: "lesser_demon",
  				value: 98
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 70,
  				fix: true
  			},
  			{
  				type: "resource",
  				id: "faith",
  				value: 2
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 2
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 0.2
  			}
  		]
  	},
  	{
  		id: "gold_mine",
  		found: [
  			28
  		],
  		esp: 55,
  		level: 5,
  		reqFound: [
  			{
  				type: "tech",
  				id: "long_expedition",
  				value: 1
  			}
  		],
  		army: [
  			{
  				id: "troll_battle",
  				value: 70
  			},
  			{
  				id: "troll_cave",
  				value: 120
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 150,
  				fix: true
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 15
  			}
  		]
  	},
  	{
  		id: "king_reptiles",
  		found: [
  			30
  		],
  		esp: 22,
  		level: 4,
  		reqFound: [
  			{
  				type: "tech",
  				id: "new_world_exploration",
  				value: 1
  			}
  		],
  		army: [
  			{
  				id: "velociraptors",
  				value: 67
  			},
  			{
  				id: "tyrannosaurus",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "food",
  				value: 2
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 2
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 2
  			}
  		]
  	},
  	{
  		id: "fire_mage_domain",
  		found: [
  			20
  		],
  		esp: 70,
  		level: 7,
  		reqFound: [
  			{
  				type: "tech",
  				id: "trail_fire",
  				value: 1
  			}
  		],
  		army: [
  			{
  				id: "fire_elemental",
  				value: 2200
  			},
  			{
  				id: "ash_elemental",
  				value: 760
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 30,
  				fix: true
  			},
  			{
  				type: "resource",
  				id: "luck",
  				value: 2,
  				fix: true
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 3
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 3
  			}
  		]
  	},
  	{
  		id: "lost_valley",
  		found: [
  			33,
  			34
  		],
  		esp: 32,
  		level: 6,
  		reqFound: [
  			{
  				type: "tech",
  				id: "ancient_artifact",
  				value: 1
  			}
  		],
  		army: [
  			{
  				id: "velociraptors",
  				value: 167
  			},
  			{
  				id: "tyrannosaurus",
  				value: 23
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "mana",
  				value: 2
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 2
  			}
  		]
  	},
  	{
  		id: "east_sacred_place",
  		found: [
  			13,
  			14
  		],
  		esp: 32,
  		level: 2,
  		reqFound: [
  			{
  				type: "prayer",
  				id: "sacred_place",
  				value: 1
  			}
  		],
  		army: [
  			{
  				id: "wind_elemental",
  				value: 28
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "eternal_halls",
  		found: [
  			11
  		],
  		esp: 30,
  		level: 3,
  		reqFound: [
  			{
  				type: "tech",
  				id: "persuade_people",
  				value: 1
  			}
  		],
  		army: [
  			{
  				id: "eternal_guardian",
  				value: 35
  			},
  			{
  				id: "golem",
  				value: 90
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "building_material",
  				value: 0.8
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 0.5
  			}
  		]
  	},
  	{
  		id: "ettin_camp",
  		found: [
  			1,
  			2,
  			3,
  			4,
  			5,
  			6,
  			7,
  			8,
  			9,
  			10,
  			11,
  			12,
  			13,
  			14,
  			15,
  			16,
  			17,
  			18,
  			19,
  			20
  		],
  		esp: 19,
  		level: 2,
  		reqFound: [
  			{
  				type: "tech",
  				id: "aid_request",
  				value: 1
  			}
  		],
  		army: [
  			{
  				id: "ettin",
  				value: 12
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 2
  			},
  			{
  				type: "resource",
  				id: "food",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "ettin_enslaver",
  		found: [
  			22
  		],
  		esp: 32,
  		level: 3,
  		reqFound: [
  			{
  				type: "tech",
  				id: "new_world_exploration",
  				value: 1
  			}
  		],
  		army: [
  			{
  				id: "ettin",
  				value: 42
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "wood",
  				value: 2
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 2
  			}
  		]
  	},
  	{
  		id: "earth_elemental_circle",
  		found: [
  			25
  		],
  		esp: 32,
  		level: 3,
  		reqFound: [
  			{
  				type: "tech",
  				id: "new_world_exploration",
  				value: 1
  			}
  		],
  		army: [
  			{
  				id: "earth_elemental",
  				value: 56
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "mana",
  				value: 2
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 0.5
  			}
  		]
  	},
  	{
  		id: "fire_elemental_circle",
  		found: [
  			23
  		],
  		esp: 32,
  		level: 3,
  		reqFound: [
  			{
  				type: "tech",
  				id: "new_world_exploration",
  				value: 1
  			}
  		],
  		army: [
  			{
  				id: "fire_elemental",
  				value: 56
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "mana",
  				value: 2
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 0.5
  			}
  		]
  	},
  	{
  		id: "frost_elemental_circle",
  		found: [
  			24
  		],
  		esp: 32,
  		level: 3,
  		reqFound: [
  			{
  				type: "tech",
  				id: "new_world_exploration",
  				value: 1
  			}
  		],
  		army: [
  			{
  				id: "frost_elemental",
  				value: 56
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "mana",
  				value: 2
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 0.5
  			}
  		]
  	},
  	{
  		id: "wind_elemental_circle",
  		found: [
  			23
  		],
  		esp: 32,
  		level: 3,
  		reqFound: [
  			{
  				type: "tech",
  				id: "new_world_exploration",
  				value: 1
  			}
  		],
  		army: [
  			{
  				id: "wind_elemental",
  				value: 56
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "mana",
  				value: 2
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 0.5
  			}
  		]
  	},
  	{
  		id: "fire_salamander_nest",
  		found: [
  			23
  		],
  		esp: 11,
  		level: 4,
  		reqFound: [
  			{
  				type: "tech",
  				id: "new_world_exploration",
  				value: 1
  			}
  		],
  		army: [
  			{
  				id: "fire_salamander",
  				value: 62
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "saltpetre",
  				value: 0.5
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 0.5
  			}
  		]
  	},
  	{
  		id: "galliard_mercenary_camp",
  		found: [
  			35
  		],
  		esp: 27,
  		level: 4,
  		reqFound: [
  			{
  				type: "tech",
  				id: "mercenary_bands",
  				value: 1
  			}
  		],
  		army: [
  			{
  				id: "galliard",
  				value: 1
  			},
  			{
  				id: "mercenary_veteran",
  				value: 70
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 2
  			},
  			{
  				type: "resource",
  				id: "iron",
  				value: 0.6
  			}
  		]
  	},
  	{
  		id: "giant_temple",
  		found: [
  			23
  		],
  		esp: 27,
  		level: 3,
  		reqFound: [
  			{
  				type: "tech",
  				id: "new_world_exploration",
  				value: 1
  			}
  		],
  		army: [
  			{
  				id: "gargoyle",
  				value: 43
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "gloomy_werewolf_forest",
  		found: [
  			19
  		],
  		esp: 5,
  		level: 4,
  		reqFound: [
  			{
  				type: "tech",
  				id: "monster_hunting",
  				value: 1
  			}
  		],
  		army: [
  			{
  				id: "werewolf",
  				value: 1
  			},
  			{
  				id: "wolf",
  				value: 130
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 50,
  				fix: true
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 1.5
  			},
  			{
  				type: "resource",
  				id: "supplies",
  				value: 0.3
  			}
  		]
  	},
  	{
  		id: "goblin_lair",
  		found: [
  			15,
  			16
  		],
  		esp: 2,
  		level: 1,
  		army: [
  			{
  				id: "goblin_marauder",
  				value: 12
  			},
  			{
  				id: "goblin_warrior",
  				value: 3
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "wood",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "gorgon_cave",
  		found: [
  			17
  		],
  		esp: 5,
  		level: 3,
  		reqFound: [
  			{
  				type: "tech",
  				id: "monster_hunting",
  				value: 1
  			}
  		],
  		army: [
  			{
  				id: "gorgon",
  				value: 1
  			},
  			{
  				id: "naga",
  				value: 70
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 50,
  				fix: true
  			},
  			{
  				type: "resource",
  				id: "copper",
  				value: 2
  			},
  			{
  				type: "resource",
  				id: "iron",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "gnoll_raiding_party",
  		found: [
  			17
  		],
  		esp: 8,
  		level: 2,
  		army: [
  			{
  				id: "gnoll_raider",
  				value: 25
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 0.5
  			}
  		]
  	},
  	{
  		id: "gnoll_camp",
  		found: [
  			17,
  			18
  		],
  		esp: 37,
  		level: 4,
  		reqFound: [
  			{
  				type: "tech",
  				id: "long_expedition",
  				value: 1
  			}
  		],
  		army: [
  			{
  				id: "gnoll_leader",
  				value: 1
  			},
  			{
  				id: "gnoll_raider",
  				value: 180
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 3
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "golem_cave",
  		found: [
  			21
  		],
  		esp: 15,
  		level: 2,
  		army: [
  			{
  				id: "golem",
  				value: 15
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 0.7
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 0.5
  			},
  			{
  				type: "resource",
  				id: "building_material",
  				value: 0.1
  			}
  		]
  	},
  	{
  		id: "gulud_ugdun",
  		found: [
  			37
  		],
  		esp: 25,
  		level: 5,
  		reqFound: [
  			{
  				type: "tech",
  				id: "path_children",
  				value: 1
  			}
  		],
  		army: [
  			{
  				id: "gulud",
  				value: 1
  			},
  			{
  				id: "orc_worker",
  				value: 350
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 150,
  				fix: true
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 5
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 0.5
  			}
  		]
  	},
  	{
  		id: "harpy_nest",
  		found: [
  			18
  		],
  		esp: 8,
  		level: 2,
  		army: [
  			{
  				id: "harpy",
  				value: 26
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "cow",
  				value: 0.3
  			},
  			{
  				type: "resource",
  				id: "horse",
  				value: 0.1
  			}
  		]
  	},
  	{
  		id: "haunted_library",
  		found: [
  			5
  		],
  		esp: 4,
  		level: 1,
  		army: [
  			{
  				id: "ghost",
  				value: 9
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "research",
  				value: 0.5
  			},
  			{
  				type: "cap",
  				id: "research",
  				value: 1500
  			}
  		]
  	},
  	{
  		id: "hobgoblin_encampment",
  		found: [
  			19
  		],
  		esp: 7,
  		level: 2,
  		army: [
  			{
  				id: "hobgoblin_grunt",
  				value: 21
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "wood",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 0.3
  			}
  		]
  	},
  	{
  		id: "hobgoblin_chieftain",
  		found: [
  			32
  		],
  		esp: 21,
  		level: 3,
  		reqFound: [
  			{
  				type: "tech",
  				id: "guild",
  				value: 1
  			}
  		],
  		army: [
  			{
  				id: "hobgoblin_grunt",
  				value: 50
  			},
  			{
  				id: "hobgoblin_archer",
  				value: 60
  			},
  			{
  				id: "hobgoblin_chieftain",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "wood",
  				value: 1.5
  			},
  			{
  				type: "resource",
  				id: "building_material",
  				value: 0.5
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: 0.5
  			}
  		]
  	},
  	{
  		id: "hydra_pit",
  		found: [
  			18
  		],
  		esp: 5,
  		level: 4,
  		reqFound: [
  			{
  				type: "tech",
  				id: "monster_hunting",
  				value: 1
  			}
  		],
  		army: [
  			{
  				id: "hydra",
  				value: 1
  			},
  			{
  				id: "giant_snake",
  				value: 110
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 50,
  				fix: true
  			},
  			{
  				type: "resource",
  				id: "cow",
  				value: 0.5
  			},
  			{
  				type: "resource",
  				id: "horse",
  				value: 0.3
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 0.3
  			}
  		]
  	},
  	{
  		id: "immense_door_e",
  		found: [
  			19
  		],
  		esp: 5,
  		level: 4,
  		reqFound: [
  			{
  				type: "tech",
  				id: "kobu_dominion",
  				value: 1
  			}
  		],
  		army: [
  			{
  				id: "immense_door",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 50,
  				fix: true
  			}
  		]
  	},
  	{
  		id: "lead_golem_mine",
  		found: [
  			31
  		],
  		esp: 28,
  		level: 3,
  		reqFound: [
  			{
  				type: "tech",
  				id: "new_world_exploration",
  				value: 1
  			}
  		],
  		army: [
  			{
  				id: "lead_golem",
  				value: 42
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "copper",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "iron",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "leprechaun_den",
  		found: [
  			37,
  			38,
  			39
  		],
  		esp: 11,
  		level: 2,
  		army: [
  			{
  				id: "trap",
  				value: 36
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "luck",
  				value: 1,
  				fix: true
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 0.2
  			}
  		]
  	},
  	{
  		id: "lich_temple",
  		found: [
  			19
  		],
  		esp: 31,
  		level: 4,
  		reqFound: [
  			{
  				type: "tech",
  				id: "necromancy",
  				value: 1
  			}
  		],
  		army: [
  			{
  				id: "zombie",
  				value: 70
  			},
  			{
  				id: "ghoul",
  				value: 40
  			},
  			{
  				id: "ghast",
  				value: 30
  			},
  			{
  				id: "lich",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 40,
  				fix: true
  			},
  			{
  				type: "resource",
  				id: "faith",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "kobold_city",
  		found: [
  			14
  		],
  		esp: 18,
  		level: 3,
  		reqFound: [
  			{
  				type: "tech",
  				id: "underground_kobold_mission",
  				value: 1
  			}
  		],
  		army: [
  			{
  				id: "kobold",
  				value: 99
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 40,
  				fix: true
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 2
  			},
  			{
  				type: "resource",
  				id: "food",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "kobold_underground_tunnels",
  		found: [
  			20
  		],
  		esp: 9,
  		level: 2,
  		army: [
  			{
  				id: "kobold",
  				value: 36
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 15,
  				fix: true
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 0.3
  			}
  		]
  	},
  	{
  		id: "kobold_stash",
  		found: [
  			11
  		],
  		esp: 9,
  		level: 2,
  		army: [
  			{
  				id: "kobold",
  				value: 26
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "luck",
  				value: 1,
  				fix: true
  			}
  		]
  	},
  	{
  		id: "korrigan_dolmen",
  		found: [
  			7
  		],
  		esp: 3,
  		level: 1,
  		army: [
  			{
  				id: "korrigan_slinger",
  				value: 6
  			},
  			{
  				id: "korrigan_swindler",
  				value: 10
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "wood",
  				value: 0.7
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 0.5
  			}
  		]
  	},
  	{
  		id: "markanat_forest",
  		found: [
  			22
  		],
  		esp: 12,
  		level: 4,
  		reqFound: [
  			{
  				type: "tech",
  				id: "long_expedition",
  				value: 1
  			}
  		],
  		army: [
  			{
  				id: "markanat",
  				value: 1
  			},
  			{
  				id: "giant_spider",
  				value: 140
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 50,
  				fix: true
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 2
  			}
  		]
  	},
  	{
  		id: "minotaur_maze",
  		found: [
  			20
  		],
  		esp: 5,
  		level: 4,
  		reqFound: [
  			{
  				type: "tech",
  				id: "monster_hunting",
  				value: 1
  			}
  		],
  		army: [
  			{
  				id: "minotaur",
  				value: 1
  			},
  			{
  				id: "kobold",
  				value: 210
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 50,
  				fix: true
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "building_material",
  				value: 0.5
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: 0.5
  			}
  		]
  	},
  	{
  		id: "mountain_cave",
  		found: [
  			22
  		],
  		esp: 17,
  		level: 3,
  		army: [
  			{
  				id: "mountain_giant",
  				value: 1
  			},
  			{
  				id: "goblin_marauder",
  				value: 52
  			},
  			{
  				id: "goblin_warrior",
  				value: 28
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 40,
  				fix: true
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 2
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: 0.3
  			}
  		]
  	},
  	{
  		id: "mountain_valley",
  		found: [
  			29
  		],
  		esp: 50,
  		level: 4,
  		reqFound: [
  			{
  				type: "tech",
  				id: "long_expedition",
  				value: 1
  			}
  		],
  		army: [
  			{
  				id: "frost_giant",
  				value: 1
  			},
  			{
  				id: "hill_giant",
  				value: 120
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 50,
  				fix: true
  			},
  			{
  				type: "resource",
  				id: "food",
  				value: 2
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 2
  			},
  			{
  				type: "cap",
  				id: "food",
  				value: 1000
  			}
  		]
  	},
  	{
  		id: "naga_nest",
  		found: [
  			23
  		],
  		esp: 8,
  		level: 2,
  		army: [
  			{
  				id: "naga",
  				value: 12
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "cow",
  				value: 0.2
  			},
  			{
  				type: "resource",
  				id: "horse",
  				value: 0.1
  			}
  		]
  	},
  	{
  		id: "djinn_palace",
  		found: [
  			25
  		],
  		esp: 32,
  		level: 4,
  		reqFound: [
  			{
  				type: "prayer",
  				id: "strange_lamp",
  				value: 1
  			}
  		],
  		army: [
  			{
  				id: "djinn",
  				value: 1
  			},
  			{
  				id: "naga",
  				value: 56
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "necromancer_crypt",
  		found: [
  			26
  		],
  		esp: 14,
  		level: 3,
  		army: [
  			{
  				id: "ghoul",
  				value: 26
  			},
  			{
  				id: "ghast",
  				value: 16
  			},
  			{
  				id: "necromancer",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 20,
  				fix: true
  			},
  			{
  				type: "resource",
  				id: "faith",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "north_sacred_place",
  		found: [
  			27
  		],
  		esp: 32,
  		level: 3,
  		reqFound: [
  			{
  				type: "prayer",
  				id: "sacred_place",
  				value: 1
  			}
  		],
  		army: [
  			{
  				id: "frost_elemental",
  				value: 28
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "mercenary_camp",
  		found: [
  			28
  		],
  		esp: 32,
  		level: 2,
  		army: [
  			{
  				id: "mercenary_veteran",
  				value: 30
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "iron",
  				value: 0.3
  			}
  		]
  	},
  	{
  		id: "myconid_cavern",
  		found: [
  			29
  		],
  		esp: 14,
  		level: 2,
  		army: [
  			{
  				id: "myconid",
  				value: 42
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "mana",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 0.1
  			}
  		]
  	},
  	{
  		id: "old_herd",
  		found: [
  			28,
  			29
  		],
  		esp: 4,
  		level: 1,
  		army: [
  			{
  				id: "dirty_rat",
  				value: 18
  			}
  		],
  		gen: [
  			{
  				type: "cap",
  				id: "cow",
  				value: 200
  			},
  			{
  				type: "cap",
  				id: "horse",
  				value: 100
  			}
  		]
  	},
  	{
  		id: "old_storage_room",
  		found: [
  			29,
  			30,
  			31
  		],
  		esp: 4,
  		level: 1,
  		army: [
  			{
  				id: "spider",
  				value: 5
  			}
  		],
  		gen: [
  			{
  				type: "cap",
  				id: "wood",
  				value: 500
  			},
  			{
  				type: "cap",
  				id: "stone",
  				value: 500
  			}
  		]
  	},
  	{
  		id: "orc_gormiak_citadel",
  		found: [
  			7,
  			8,
  			9
  		],
  		esp: 45,
  		level: 5,
  		reqFound: [
  			{
  				type: "tech",
  				id: "orcish_citadel",
  				value: 1
  			}
  		],
  		army: [
  			{
  				id: "orc_warrior",
  				value: 300
  			},
  			{
  				id: "orc_stone_thrower",
  				value: 150
  			},
  			{
  				id: "orc_warlord",
  				value: 3
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "iron",
  				value: 2
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: 1
  			},
  			{
  				type: "population",
  				id: "unemployed",
  				value: 3
  			}
  		]
  	},
  	{
  		id: "orc_horith_citadel",
  		found: [
  			10,
  			11
  		],
  		esp: 50,
  		level: 5,
  		reqFound: [
  			{
  				type: "tech",
  				id: "mankind_darkest",
  				value: 1
  			}
  		],
  		army: [
  			{
  				id: "orc_ironskin",
  				value: 300
  			},
  			{
  				id: "orc_flame_caster",
  				value: 150
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "mana",
  				value: 5
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 0.5
  			},
  			{
  				type: "population",
  				id: "unemployed",
  				value: 3
  			}
  		]
  	},
  	{
  		id: "orc_ogsog_citadel",
  		found: [
  			12,
  			13
  		],
  		esp: 50,
  		level: 5,
  		reqFound: [
  			{
  				type: "tech",
  				id: "mankind_darkest",
  				value: 1
  			}
  		],
  		army: [
  			{
  				id: "orc_champion",
  				value: 30
  			},
  			{
  				id: "orc_warrior",
  				value: 350
  			},
  			{
  				id: "orc_warlord",
  				value: 5
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "food",
  				value: 5
  			},
  			{
  				type: "resource",
  				id: "supplies",
  				value: 1
  			},
  			{
  				type: "population",
  				id: "unemployed",
  				value: 3
  			}
  		]
  	},
  	{
  		id: "orc_turgon_citadel",
  		found: [
  			14,
  			15
  		],
  		esp: 50,
  		level: 5,
  		reqFound: [
  			{
  				type: "tech",
  				id: "mankind_darkest",
  				value: 1
  			}
  		],
  		army: [
  			{
  				id: "orc_shaman",
  				value: 50
  			},
  			{
  				id: "orc_warg_rider",
  				value: 300
  			},
  			{
  				id: "orc_warlord",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "wood",
  				value: 3
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 3
  			},
  			{
  				type: "population",
  				id: "unemployed",
  				value: 3
  			}
  		]
  	},
  	{
  		id: "orc_raiding_party",
  		found: [
  			4,
  			5,
  			6
  		],
  		esp: 34,
  		level: 5,
  		reqFound: [
  			{
  				type: "tech",
  				id: "orcish_threat",
  				value: 1
  			}
  		],
  		army: [
  			{
  				id: "orc_warrior",
  				value: 200
  			},
  			{
  				id: "orc_warlord",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 2
  			}
  		]
  	},
  	{
  		id: "orcish_prison_camp",
  		found: [
  			1,
  			2,
  			3
  		],
  		esp: 34,
  		level: 5,
  		reqFound: [
  			{
  				type: "tech",
  				id: "burned_farms",
  				value: 1
  			}
  		],
  		army: [
  			{
  				id: "orc_worker",
  				value: 120
  			},
  			{
  				id: "orc_warrior",
  				value: 90
  			},
  			{
  				id: "orc_warg_rider",
  				value: 60
  			}
  		],
  		gen: [
  			{
  				type: "population",
  				id: "unemployed",
  				value: 2
  			}
  		]
  	},
  	{
  		id: "raider_hideout",
  		found: [
  			22
  		],
  		esp: 11,
  		level: 2,
  		army: [
  			{
  				id: "raider",
  				value: 40
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "luck",
  				value: 1,
  				fix: true
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 0.4
  			}
  		]
  	},
  	{
  		id: "rusted_warehouse",
  		found: [
  			31,
  			32
  		],
  		esp: 8,
  		level: 2,
  		army: [
  			{
  				id: "bandit",
  				value: 22
  			}
  		],
  		gen: [
  			{
  				type: "cap",
  				id: "wood",
  				value: 1000
  			},
  			{
  				type: "cap",
  				id: "stone",
  				value: 1000
  			},
  			{
  				type: "cap",
  				id: "copper",
  				value: 500
  			},
  			{
  				type: "cap",
  				id: "iron",
  				value: 500
  			},
  			{
  				type: "cap",
  				id: "tools",
  				value: 500
  			}
  		]
  	},
  	{
  		id: "save_damned",
  		found: [
  			31
  		],
  		esp: 45,
  		level: 4,
  		reqFound: [
  			{
  				type: "tech",
  				id: "explore_sorrounding",
  				value: 1
  			}
  		],
  		army: [
  			{
  				id: "faceless_horror",
  				value: 90
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 50,
  				fix: true
  			},
  			{
  				type: "population",
  				id: "unemployed",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "light",
  				value: 1,
  				fix: true
  			}
  		]
  	},
  	{
  		id: "sleeping_titan",
  		found: [
  			38
  		],
  		esp: 1,
  		level: 7,
  		reqFound: [
  			{
  				type: "tech",
  				id: "titan_mosaic",
  				value: 1
  			}
  		],
  		army: [
  			{
  				id: "titan",
  				value: 1
  			},
  			{
  				id: "golem",
  				value: 750
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 150,
  				fix: true
  			}
  		]
  	},
  	{
  		id: "skullface_encampment",
  		found: [
  			1,
  			2
  		],
  		esp: 13,
  		level: 3,
  		reqFound: [
  			{
  				type: "tech",
  				id: "bandit_chief",
  				value: 1
  			}
  		],
  		army: [
  			{
  				id: "skullface",
  				value: 1
  			},
  			{
  				id: "bandit",
  				value: 75
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 15,
  				fix: true
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 2
  			},
  			{
  				type: "resource",
  				id: "food",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "smuggler_warehouse",
  		found: [
  			35,
  			36,
  			37
  		],
  		esp: 31,
  		level: 4,
  		army: [
  			{
  				id: "bandit",
  				value: 96
  			},
  			{
  				id: "smuggler",
  				value: 56
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "luck",
  				value: 1,
  				fix: true
  			},
  			{
  				type: "resource",
  				id: "building_material",
  				value: 0.4
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: 0.4
  			}
  		]
  	},
  	{
  		id: "snakes_nest",
  		found: [
  			30
  		],
  		esp: 8,
  		level: 2,
  		army: [
  			{
  				id: "snake",
  				value: 9
  			},
  			{
  				id: "giant_snake",
  				value: 4
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "food",
  				value: 2
  			},
  			{
  				type: "resource",
  				id: "cow",
  				value: 0.3
  			}
  		]
  	},
  	{
  		id: "spider_forest",
  		found: [
  			31
  		],
  		esp: 13,
  		level: 2,
  		army: [
  			{
  				id: "spider",
  				value: 32
  			},
  			{
  				id: "giant_spider",
  				value: 8
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "wood",
  				value: 1.5
  			},
  			{
  				type: "resource",
  				id: "building_material",
  				value: 0.1
  			}
  		]
  	},
  	{
  		id: "son_atamar",
  		found: [
  			21
  		],
  		esp: 32,
  		level: 3,
  		reqFound: [
  			{
  				type: "tech",
  				id: "deserter_origin",
  				value: 1
  			}
  		],
  		army: [
  			{
  				id: "deserter",
  				value: 60
  			},
  			{
  				id: "son_atamar",
  				value: 30
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 30,
  				fix: true
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 2
  			},
  			{
  				type: "resource",
  				id: "supplies",
  				value: 0.2
  			}
  		]
  	},
  	{
  		id: "strange_village",
  		found: [
  			32
  		],
  		esp: 17,
  		level: 2,
  		army: [
  			{
  				id: "charmed_dweller",
  				value: 47
  			}
  		],
  		gen: [
  			{
  				type: "population",
  				id: "unemployed",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "south_sacred_place",
  		found: [
  			33,
  			34
  		],
  		esp: 32,
  		level: 3,
  		reqFound: [
  			{
  				type: "prayer",
  				id: "sacred_place",
  				value: 1
  			}
  		],
  		army: [
  			{
  				id: "fire_elemental",
  				value: 28
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "succubus_library",
  		found: [
  			33
  		],
  		esp: 29,
  		level: 4,
  		reqFound: [
  			{
  				type: "tech",
  				id: "new_world_exploration",
  				value: 1
  			}
  		],
  		army: [
  			{
  				id: "succubus",
  				value: 90
  			}
  		],
  		gen: [
  			{
  				type: "cap",
  				id: "research",
  				value: 5000
  			},
  			{
  				type: "cap",
  				id: "crystal",
  				value: 1000
  			}
  		]
  	},
  	{
  		id: "swarm_wasp",
  		found: [
  			29
  		],
  		esp: 10,
  		level: 4,
  		reqFound: [
  			{
  				type: "tech",
  				id: "new_world_exploration",
  				value: 1
  			}
  		],
  		army: [
  			{
  				id: "giant_wasp",
  				value: 540
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "supplies",
  				value: 0.2
  			}
  		]
  	},
  	{
  		id: "temple_gargoyle",
  		found: [
  			32
  		],
  		esp: 7,
  		level: 2,
  		army: [
  			{
  				id: "gargoyle",
  				value: 14
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "stone",
  				value: 0.6
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 0.6
  			}
  		]
  	},
  	{
  		id: "troll_cave",
  		found: [
  			35
  		],
  		esp: 8,
  		level: 2,
  		army: [
  			{
  				id: "troll_cave",
  				value: 9
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "copper",
  				value: 0.3
  			},
  			{
  				type: "resource",
  				id: "iron",
  				value: 0.2
  			}
  		]
  	},
  	{
  		id: "west_sacred_place",
  		found: [
  			37,
  			38
  		],
  		esp: 32,
  		level: 3,
  		reqFound: [
  			{
  				type: "prayer",
  				id: "sacred_place",
  				value: 1
  			}
  		],
  		army: [
  			{
  				id: "earth_elemental",
  				value: 28
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "wolf_pack",
  		found: [
  			24
  		],
  		esp: 2,
  		level: 1,
  		army: [
  			{
  				id: "wolf",
  				value: 9
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "food",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "worn_down_crypt",
  		found: [
  			37
  		],
  		esp: 14,
  		level: 3,
  		reqFound: [
  			{
  				type: "tech",
  				id: "guild",
  				value: 1
  			}
  		],
  		army: [
  			{
  				id: "skeletal_knight",
  				value: 67
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "research",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "huge_cave",
  		found: [
  			11
  		],
  		esp: 26,
  		level: 5,
  		reqFound: [
  			{
  				type: "tech",
  				id: "underground_library",
  				value: 1
  			}
  		],
  		army: [
  			{
  				id: "skeletal_knight",
  				value: 50
  			},
  			{
  				id: "skeleton",
  				value: 750
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "research",
  				value: 1.5
  			}
  		]
  	},
  	{
  		id: "wyvern_nest",
  		found: [
  			36
  		],
  		esp: 12,
  		level: 2,
  		army: [
  			{
  				id: "wyvern",
  				value: 12
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 30,
  				fix: true
  			},
  			{
  				type: "resource",
  				id: "supplies",
  				value: 0.3
  			}
  		]
  	},
  	{
  		id: "cave_bats",
  		found: [
  			1,
  			2,
  			3,
  			4,
  			5,
  			6,
  			7,
  			8,
  			9,
  			10,
  			11,
  			12,
  			13,
  			14,
  			15,
  			16,
  			17,
  			18,
  			19,
  			20,
  			33,
  			34,
  			35,
  			36,
  			37,
  			38,
  			39,
  			40
  		],
  		esp: 1,
  		level: 0,
  		army: [
  			{
  				id: "vampire_bat",
  				value: 2
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "wood",
  				value: 0.3
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 0.3
  			}
  		]
  	},
  	{
  		id: "kobold_looters",
  		found: [
  			1,
  			2,
  			3,
  			4,
  			5,
  			6,
  			7,
  			8,
  			9,
  			10,
  			11,
  			12,
  			13,
  			14,
  			15,
  			16,
  			17,
  			18,
  			19,
  			20,
  			21,
  			22,
  			23,
  			24,
  			25,
  			26,
  			27,
  			28,
  			29,
  			30,
  			31,
  			32
  		],
  		esp: 1,
  		level: 0,
  		army: [
  			{
  				id: "kobold",
  				value: 2
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 0.5
  			}
  		]
  	},
  	{
  		id: "nasty_pillagers",
  		found: [
  			1,
  			2,
  			3,
  			4,
  			5,
  			6,
  			7,
  			8,
  			9,
  			10,
  			11,
  			12,
  			13,
  			14,
  			15,
  			16,
  			17,
  			18,
  			19,
  			20,
  			25,
  			26,
  			27,
  			28,
  			29,
  			30,
  			31,
  			32
  		],
  		esp: 1,
  		level: 0,
  		army: [
  			{
  				id: "pillager",
  				value: 2
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "iron",
  				value: 0.2
  			}
  		]
  	},
  	{
  		id: "prisoner_wagon",
  		found: [
  			1,
  			2,
  			3,
  			4,
  			5,
  			6,
  			7,
  			8,
  			9,
  			10,
  			11,
  			12,
  			13,
  			14,
  			15,
  			16,
  			17,
  			18,
  			19,
  			20,
  			25,
  			26,
  			27,
  			28,
  			29,
  			30,
  			31,
  			32
  		],
  		esp: 1,
  		level: 0,
  		army: [
  			{
  				id: "bandit",
  				value: 2
  			}
  		],
  		gen: [
  			{
  				type: "population",
  				id: "unemployed",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "rat_cellar",
  		found: [
  			1,
  			2,
  			3,
  			4,
  			5,
  			6,
  			7,
  			8,
  			9,
  			10,
  			11,
  			12,
  			13,
  			14,
  			15,
  			16,
  			17,
  			18,
  			19,
  			20,
  			25,
  			26,
  			27,
  			28,
  			29,
  			30,
  			31,
  			32
  		],
  		esp: 1,
  		level: 0,
  		army: [
  			{
  				id: "dirty_rat",
  				value: 3
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "food",
  				value: 0.5
  			}
  		]
  	},
  	{
  		id: "necropolis",
  		found: [
  			33
  		],
  		esp: 35,
  		level: 6,
  		reqFound: [
  			{
  				type: "tech",
  				id: "explore_sorrounding",
  				value: 1
  			}
  		],
  		army: [
  			{
  				id: "necromancer",
  				value: 170
  			},
  			{
  				id: "skeleton",
  				value: 1590
  			},
  			{
  				id: "zombie",
  				value: 1590
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "light",
  				value: 2,
  				fix: true
  			},
  			{
  				type: "cap",
  				id: "faith",
  				value: 10000
  			},
  			{
  				type: "cap",
  				id: "mana",
  				value: 10000
  			}
  		]
  	},
  	{
  		id: "vampire_crypt",
  		found: [
  			35,
  			36
  		],
  		esp: 35,
  		level: 4,
  		reqFound: [
  			{
  				type: "tech",
  				id: "long_expedition",
  				value: 1
  			}
  		],
  		army: [
  			{
  				id: "vampire_bat",
  				value: 120
  			},
  			{
  				id: "vampire_servant",
  				value: 60
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "building_material",
  				value: 0.2
  			}
  		]
  	},
  	{
  		id: "vampire_lair",
  		found: [
  			37
  		],
  		esp: 32,
  		level: 4,
  		reqFound: [
  			{
  				type: "tech",
  				id: "trail_blood",
  				value: 1
  			}
  		],
  		army: [
  			{
  				id: "vampire",
  				value: 1
  			},
  			{
  				id: "vampire_servant",
  				value: 140
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 50,
  				fix: true
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 2
  			},
  			{
  				type: "resource",
  				id: "supplies",
  				value: 0.3
  			}
  		]
  	},
  	{
  		id: "far_west_island",
  		found: [
  			17,
  			18,
  			19,
  			20,
  			21,
  			22,
  			23,
  			24,
  			25,
  			35,
  			36
  		],
  		esp: 10,
  		level: 0,
  		reqFound: [
  			{
  				type: "tech",
  				id: "seafaring",
  				value: 1
  			}
  		],
  		army: [
  			{
  				id: "ravenous_crab",
  				value: 15
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 10,
  				fix: true
  			}
  		]
  	},
  	{
  		id: "old_outpost",
  		found: [
  			34
  		],
  		esp: 12,
  		level: 4,
  		reqFound: [
  			{
  				type: "tech",
  				id: "free_old_outpost",
  				value: 1
  			}
  		],
  		army: [
  			{
  				id: "bandit",
  				value: 120
  			},
  			{
  				id: "mercenary_veteran",
  				value: 90
  			},
  			{
  				id: "deserter",
  				value: 50
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 50,
  				fix: true
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "forgotten_shelter",
  		found: [
  			36
  		],
  		esp: 22,
  		level: 4,
  		reqFound: [
  			{
  				type: "tech",
  				id: "galliard_secret",
  				value: 1
  			}
  		],
  		army: [
  			{
  				id: "spectra_memory",
  				value: 250
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 50,
  				fix: true
  			},
  			{
  				type: "resource",
  				id: "research",
  				value: 2
  			}
  		]
  	},
  	{
  		id: "ancient_giant",
  		found: [
  			38
  		],
  		esp: 31,
  		level: 5,
  		reqFound: [
  			{
  				type: "tech",
  				id: "wings_freedom",
  				value: 1
  			}
  		],
  		army: [
  			{
  				id: "ancient_giant",
  				value: 1
  			},
  			{
  				id: "hill_giant",
  				value: 140
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 100,
  				fix: true
  			},
  			{
  				type: "resource",
  				id: "saltpetre",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "zombie_horde_small",
  		found: [
  			23,
  			24,
  			25,
  			26,
  			27
  		],
  		esp: 35,
  		level: 4,
  		reqFound: [
  			{
  				type: "tech",
  				id: "explore_sorrounding",
  				value: 1
  			}
  		],
  		army: [
  			{
  				id: "zombie",
  				value: 920
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "light",
  				value: 1,
  				fix: true
  			}
  		]
  	},
  	{
  		id: "zombie_horde_large",
  		found: [
  			24
  		],
  		esp: 35,
  		level: 5,
  		reqFound: [
  			{
  				type: "tech",
  				id: "explore_sorrounding",
  				value: 1
  			}
  		],
  		army: [
  			{
  				id: "zombie",
  				value: 2920
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 50,
  				fix: true
  			},
  			{
  				type: "resource",
  				id: "light",
  				value: 2,
  				fix: true
  			}
  		]
  	},
  	{
  		id: "zombie_horde_huge",
  		found: [
  			25
  		],
  		esp: 35,
  		level: 6,
  		reqFound: [
  			{
  				type: "tech",
  				id: "explore_sorrounding",
  				value: 1
  			}
  		],
  		army: [
  			{
  				id: "zombie",
  				value: 5920
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 150,
  				fix: true
  			},
  			{
  				type: "resource",
  				id: "light",
  				value: 3,
  				fix: true
  			}
  		]
  	}
  ];

  var spells = [
  	{
  		id: "praise_gods",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 250
  			},
  			{
  				type: "building",
  				id: "temple",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "blessing",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 500
  			},
  			{
  				type: "prayer",
  				id: "praise_gods",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "lucky_grove_f",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 600
  			},
  			{
  				type: "building",
  				id: "fortune_grove",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "sacrifices_gods",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 600
  			},
  			{
  				type: "prayer",
  				id: "praise_gods",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "acolyte_circle",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 800
  			},
  			{
  				type: "prayer",
  				id: "blessing",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "prayer_for_the_great_seeker",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 800
  			},
  			{
  				type: "prayer",
  				id: "blessing",
  				value: 1
  			},
  			{
  				type: "army",
  				id: "archer",
  				value: 3
  			}
  		]
  	},
  	{
  		id: "prayer_for_mother_earth",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 800
  			},
  			{
  				type: "prayer",
  				id: "blessing",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "prayer_wild_man",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 800
  			},
  			{
  				type: "prayer",
  				id: "blessing",
  				value: 1
  			},
  			{
  				type: "building",
  				id: "stable",
  				value: 3
  			}
  		]
  	},
  	{
  		id: "lucky_well_f",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 1000
  			},
  			{
  				type: "building",
  				id: "fortune_grove",
  				value: 3
  			}
  		]
  	},
  	{
  		id: "mana_defense",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 1200
  			},
  			{
  				type: "building",
  				id: "wall",
  				value: 1
  			},
  			{
  				type: "prayer",
  				id: "blessing",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "prayer_for_the_old_small_one",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 1200
  			},
  			{
  				type: "prayer",
  				id: "blessing",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "prayer_for_the_ancient_monk",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 1200
  			},
  			{
  				type: "prayer",
  				id: "prayer_for_the_old_small_one",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "prayer_for_the_great_warrior",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 1200
  			},
  			{
  				type: "prayer",
  				id: "prayer_for_the_great_seeker",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "prayer_goddess_luck",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 1200
  			},
  			{
  				type: "prayer",
  				id: "blessing",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "sacred_equipments",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 1200
  			},
  			{
  				type: "tech",
  				id: "warfare",
  				value: 1
  			},
  			{
  				type: "prayer",
  				id: "blessing",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "spear_wild_man",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 1200
  			},
  			{
  				type: "prayer",
  				id: "blessing",
  				value: 1
  			},
  			{
  				type: "army",
  				id: "light_cavarly",
  				value: 3
  			}
  		]
  	},
  	{
  		id: "strange_lamp",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 1200
  			},
  			{
  				type: "enemy",
  				id: "naga_nest",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "study_undead_creatures",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 1200
  			},
  			{
  				type: "enemy",
  				id: "ancient_burial_place",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "unveil_theresmore",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 1200
  			},
  			{
  				type: "prayer",
  				id: "blessing",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "ancient_spell_p",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 1250
  			},
  			{
  				type: "tech",
  				id: "ancient_spell",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "sacred_place",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 1600
  			},
  			{
  				type: "prayer",
  				id: "unveil_theresmore",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "growth_nature",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 2000
  			},
  			{
  				type: "tech",
  				id: "liturgical_rites",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "lighten_rocks",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 2000
  			},
  			{
  				type: "tech",
  				id: "liturgical_rites",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "magical_tools",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 2000
  			},
  			{
  				type: "tech",
  				id: "liturgical_rites",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "magical_lights",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 2000
  			},
  			{
  				type: "tech",
  				id: "liturgical_rites",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "desire_abundance",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 2000
  			},
  			{
  				type: "enemy",
  				id: "djinn_palace",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 5
  			},
  			{
  				type: "resource",
  				id: "food",
  				value: 5
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 5
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 5
  			},
  			{
  				type: "resource",
  				id: "supplies",
  				value: 0.3
  			},
  			{
  				type: "prayer",
  				id: "desire_magic",
  				value: -1
  			},
  			{
  				type: "prayer",
  				id: "desire_war",
  				value: -1
  			}
  		]
  	},
  	{
  		id: "desire_magic",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 2000
  			},
  			{
  				type: "enemy",
  				id: "djinn_palace",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "mana",
  				value: 10
  			},
  			{
  				type: "resource",
  				id: "research",
  				value: 10
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 0.3
  			},
  			{
  				type: "prayer",
  				id: "desire_abundance",
  				value: -1
  			},
  			{
  				type: "prayer",
  				id: "desire_war",
  				value: -1
  			}
  		]
  	},
  	{
  		id: "desire_war",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 2000
  			},
  			{
  				type: "enemy",
  				id: "djinn_palace",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "prayer",
  				id: "desire_magic",
  				value: -1
  			},
  			{
  				type: "prayer",
  				id: "desire_abundance",
  				value: -1
  			}
  		]
  	},
  	{
  		id: "focus_development",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 2000
  			},
  			{
  				type: "building",
  				id: "magic_circle",
  				value: 3
  			}
  		],
  		gen: [
  			{
  				type: "prayer",
  				id: "focus_research",
  				value: -1
  			},
  			{
  				type: "prayer",
  				id: "focus_magic",
  				value: -1
  			}
  		]
  	},
  	{
  		id: "focus_magic",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 2000
  			},
  			{
  				type: "building",
  				id: "magic_circle",
  				value: 3
  			}
  		],
  		gen: [
  			{
  				type: "prayer",
  				id: "focus_research",
  				value: -1
  			},
  			{
  				type: "prayer",
  				id: "focus_development",
  				value: -1
  			}
  		]
  	},
  	{
  		id: "focus_research",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 2000
  			},
  			{
  				type: "building",
  				id: "magic_circle",
  				value: 3
  			}
  		],
  		gen: [
  			{
  				type: "prayer",
  				id: "focus_development",
  				value: -1
  			},
  			{
  				type: "prayer",
  				id: "focus_magic",
  				value: -1
  			}
  		]
  	},
  	{
  		id: "life_magic_p",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 2000
  			},
  			{
  				type: "prayer",
  				id: "focus_development",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "highlightment_p",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 2000
  			},
  			{
  				type: "prayer",
  				id: "focus_research",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "mana_flowers_p",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 2000
  			},
  			{
  				type: "prayer",
  				id: "focus_magic",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "demonology",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 2500
  			},
  			{
  				type: "enemy",
  				id: "demonic_portal",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "demoniac_tome",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 2500
  			},
  			{
  				type: "tech",
  				id: "pentagram_tome",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "temple_mirune",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 5000
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 3500
  			},
  			{
  				type: "enemy",
  				id: "temple_gargoyle",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "create_sacred_golem",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 2500
  			},
  			{
  				type: "tech",
  				id: "construction_of_automata",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "eureka_halls_f",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 2500
  			},
  			{
  				type: "building",
  				id: "fortune_grove",
  				value: 5
  			}
  		]
  	},
  	{
  		id: "mana_defense_II",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 2500
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 200
  			},
  			{
  				type: "prayer",
  				id: "mana_defense",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "prayer_for_the_great_builder",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 2500
  			},
  			{
  				type: "tech",
  				id: "magic_arts_teaching",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "prayer_for_the_mysterious_arcane",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 2500
  			},
  			{
  				type: "tech",
  				id: "magic_arts_teaching",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "sacred_equipments_II",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 2500
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 200
  			},
  			{
  				type: "prayer",
  				id: "sacred_equipments",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "mage_p",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 2600
  			},
  			{
  				type: "prayer",
  				id: "mage_academy_f",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "mana_armor_p",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 2600
  			},
  			{
  				type: "prayer",
  				id: "mage_fields_f",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "the_aid",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 4000
  			},
  			{
  				type: "tech",
  				id: "the_scourge",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "sacred_den_f",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 4000
  			},
  			{
  				type: "prayer",
  				id: "focus_development",
  				value: 1
  			},
  			{
  				type: "building",
  				id: "magic_circle",
  				value: 6
  			}
  		]
  	},
  	{
  		id: "mage_academy_f",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 4000
  			},
  			{
  				type: "prayer",
  				id: "focus_research",
  				value: 1
  			},
  			{
  				type: "building",
  				id: "magic_circle",
  				value: 6
  			}
  		]
  	},
  	{
  		id: "mage_fields_f",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 4000
  			},
  			{
  				type: "prayer",
  				id: "focus_magic",
  				value: 1
  			},
  			{
  				type: "building",
  				id: "magic_circle",
  				value: 6
  			}
  		]
  	},
  	{
  		id: "zenix_aid",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 4000
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 400
  			},
  			{
  				type: "building",
  				id: "university",
  				value: 7
  			}
  		]
  	},
  	{
  		id: "dragon_skull",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 5000
  			},
  			{
  				type: "building",
  				id: "refugee_district",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "holy_light",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 5000
  			},
  			{
  				type: "building",
  				id: "temple",
  				value: 7
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "warrior_monk",
  				type_gen: "stat",
  				gen: "defense",
  				value: 3,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "cleric",
  				type_gen: "stat",
  				gen: "defense",
  				value: 3,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "power_spell_east",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 5000
  			},
  			{
  				type: "resource",
  				id: "horse",
  				value: 800
  			},
  			{
  				type: "enemy",
  				id: "east_sacred_place",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "power_spell_west",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 5000
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: 3000
  			},
  			{
  				type: "enemy",
  				id: "west_sacred_place",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "power_spell_north",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 5000
  			},
  			{
  				type: "resource",
  				id: "iron",
  				value: 8000
  			},
  			{
  				type: "enemy",
  				id: "north_sacred_place",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "power_spell_south",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 20000
  			},
  			{
  				type: "resource",
  				id: "faith",
  				value: 5000
  			},
  			{
  				type: "enemy",
  				id: "south_sacred_place",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "gold_consecration",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 6000
  			},
  			{
  				type: "tech",
  				id: "gold_domination_project",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "cap",
  				id: "gold",
  				value: 20000
  			}
  		]
  	},
  	{
  		id: "mother_earth_2",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 6000
  			},
  			{
  				type: "building",
  				id: "conclave",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "great_seeker_2",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 6000
  			},
  			{
  				type: "building",
  				id: "conclave",
  				value: 2
  			}
  		]
  	},
  	{
  		id: "great_warrior_2",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 6000
  			},
  			{
  				type: "building",
  				id: "conclave",
  				value: 3
  			}
  		]
  	},
  	{
  		id: "legion_light_p",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 6000
  			},
  			{
  				type: "building",
  				id: "magic_circle",
  				value: 8
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "warrior_monk",
  				type_gen: "stat",
  				gen: "defense",
  				value: 4,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "sacred_golem",
  				type_gen: "stat",
  				gen: "defense",
  				value: 8,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "battle_angel",
  				type_gen: "stat",
  				gen: "attack",
  				value: 8,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "battle_angel",
  				type_gen: "stat",
  				gen: "defense",
  				value: 6,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "seraphim",
  				type_gen: "stat",
  				gen: "attack",
  				value: 120,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "seraphim",
  				type_gen: "stat",
  				gen: "defense",
  				value: 80,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "old_small_one_2",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 6000
  			},
  			{
  				type: "building",
  				id: "conclave",
  				value: 3
  			}
  		]
  	},
  	{
  		id: "wild_man_2",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 6000
  			},
  			{
  				type: "building",
  				id: "conclave",
  				value: 2
  			}
  		]
  	},
  	{
  		id: "amusement_quarter_f",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 6700
  			},
  			{
  				type: "building",
  				id: "fortune_grove",
  				value: 7
  			}
  		]
  	},
  	{
  		id: "northern_star_power",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 7000
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 5000
  			},
  			{
  				type: "tech",
  				id: "northern_star",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "archmage_p",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 10000
  			},
  			{
  				type: "prayer",
  				id: "highschool_magic_f",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "armored_caravan_p",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 10000
  			},
  			{
  				type: "prayer",
  				id: "philosopher_stone_p",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "army_faith",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 10000
  			},
  			{
  				type: "building",
  				id: "temple",
  				value: 13
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "warrior_monk",
  				type_gen: "stat",
  				gen: "attack",
  				value: 5,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "cleric",
  				type_gen: "stat",
  				gen: "attack",
  				value: 5,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "highschool_magic_f",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 10000
  			},
  			{
  				type: "prayer",
  				id: "focus_research",
  				value: 1
  			},
  			{
  				type: "building",
  				id: "magic_circle",
  				value: 9
  			}
  		]
  	},
  	{
  		id: "magic_workshop_f",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 10000
  			},
  			{
  				type: "prayer",
  				id: "mana_forest_p",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "mana_forest_p",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 10000
  			},
  			{
  				type: "prayer",
  				id: "focus_magic",
  				value: 1
  			},
  			{
  				type: "building",
  				id: "magic_circle",
  				value: 9
  			}
  		]
  	},
  	{
  		id: "philosopher_stone_p",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 10000
  			},
  			{
  				type: "prayer",
  				id: "focus_development",
  				value: 1
  			},
  			{
  				type: "building",
  				id: "magic_circle",
  				value: 9
  			}
  		]
  	},
  	{
  		id: "spell_book_p",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 10000
  			},
  			{
  				type: "prayer",
  				id: "highschool_magic_f",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "accept_druid",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 13000
  			},
  			{
  				type: "tech",
  				id: "lonely_druid",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "prayer",
  				id: "banish_druid",
  				value: -1
  			}
  		]
  	},
  	{
  		id: "banish_druid",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 13000
  			},
  			{
  				type: "tech",
  				id: "lonely_druid",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "prayer",
  				id: "accept_druid",
  				value: -1
  			}
  		]
  	},
  	{
  		id: "prayer_lonely_druid",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 13500
  			},
  			{
  				type: "prayer",
  				id: "accept_druid",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "city_blessing",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 13500
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 10000
  			},
  			{
  				type: "tech",
  				id: "rage_druid",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "underground_tunnel_f",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 11000
  			},
  			{
  				type: "building",
  				id: "fortune_grove",
  				value: 8
  			}
  		]
  	},
  	{
  		id: "protection_power",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "stone",
  				value: 22000
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 5500
  			},
  			{
  				type: "prayer",
  				id: "northern_star_power",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "prayer",
  				id: "incremental_power",
  				value: -1
  			}
  		]
  	},
  	{
  		id: "incremental_power",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "steel",
  				value: 6000
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 5500
  			},
  			{
  				type: "prayer",
  				id: "northern_star_power",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "prayer",
  				id: "protection_power",
  				value: -1
  			}
  		]
  	},
  	{
  		id: "pilgrim_chant",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 16000
  			},
  			{
  				type: "tech",
  				id: "faith_world",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "ivory_tower_f",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 18000
  			},
  			{
  				type: "prayer",
  				id: "focus_research",
  				value: 1
  			},
  			{
  				type: "building",
  				id: "magic_circle",
  				value: 13
  			}
  		]
  	},
  	{
  		id: "magic_stable_f",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 18000
  			},
  			{
  				type: "prayer",
  				id: "mana_fortress_p",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "mana_fortress_p",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 18000
  			},
  			{
  				type: "prayer",
  				id: "mana_spiral_p",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "mana_materials_p",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 18000
  			},
  			{
  				type: "prayer",
  				id: "steel_palace_f",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "mana_spiral_p",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 18000
  			},
  			{
  				type: "prayer",
  				id: "focus_magic",
  				value: 1
  			},
  			{
  				type: "building",
  				id: "magic_circle",
  				value: 13
  			}
  		]
  	},
  	{
  		id: "steel_palace_f",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 18000
  			},
  			{
  				type: "prayer",
  				id: "focus_development",
  				value: 1
  			},
  			{
  				type: "building",
  				id: "magic_circle",
  				value: 13
  			}
  		]
  	},
  	{
  		id: "tome_wisdom_p",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 18000
  			},
  			{
  				type: "prayer",
  				id: "ivory_tower_f",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "warrior_gods",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 18000
  			},
  			{
  				type: "tech",
  				id: "new_old_gods",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "blessing_church",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 20000
  			},
  			{
  				type: "tech",
  				id: "new_old_gods",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "shape_mana",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 20000
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 12000
  			},
  			{
  				type: "tech",
  				id: "mana_investigation",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "blessing_prelate",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 25000
  			},
  			{
  				type: "tech",
  				id: "colonial_consacration",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "hope_children",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 15000
  			},
  			{
  				type: "enemy",
  				id: "gulud_ugdun",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "fate_shrine_f",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 17000
  			},
  			{
  				type: "building",
  				id: "fortune_grove",
  				value: 9
  			}
  		]
  	},
  	{
  		id: "summon_nikharul",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 20000
  			},
  			{
  				type: "tech",
  				id: "dark_crystal",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "prayer",
  				id: "control_fortress",
  				value: -1
  			}
  		]
  	},
  	{
  		id: "control_fortress",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 20000
  			},
  			{
  				type: "tech",
  				id: "dark_crystal",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "prayer",
  				id: "summon_nikharul",
  				value: -1
  			}
  		]
  	},
  	{
  		id: "enchanted_bullet",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 20000
  			},
  			{
  				type: "tech",
  				id: "zenix_return",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "enhanced_barracks_f",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 20000
  			},
  			{
  				type: "tech",
  				id: "zenix_return",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "lumix_refinery_f",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 20000
  			},
  			{
  				type: "tech",
  				id: "zenix_return",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "zenix_shield",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 20000
  			},
  			{
  				type: "prayer",
  				id: "enchanted_bullet",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "power_spell_fireball",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 20000
  			},
  			{
  				type: "prayer",
  				id: "zenix_shield",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "lumix_fountain",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 20000
  			},
  			{
  				type: "prayer",
  				id: "power_spell_fireball",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "gold_trasmutation",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 20000
  			},
  			{
  				type: "prayer",
  				id: "lumix_fountain",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "gold_factory_f",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 25000
  			},
  			{
  				type: "prayer",
  				id: "gold_trasmutation",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "prayer",
  				id: "mana_factory_f",
  				value: -1
  			}
  		]
  	},
  	{
  		id: "mana_factory_f",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 25000
  			},
  			{
  				type: "prayer",
  				id: "gold_trasmutation",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "prayer",
  				id: "gold_factory_f",
  				value: -1
  			}
  		]
  	},
  	{
  		id: "zenix_archmage",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 30000
  			},
  			{
  				type: "prayer",
  				id: "gold_trasmutation",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "mana",
  				value: 125
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 15,
  				perc: true
  			},
  			{
  				type: "prayer",
  				id: "zenix_funder",
  				value: -1
  			}
  		]
  	},
  	{
  		id: "zenix_funder",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 30000
  			},
  			{
  				type: "prayer",
  				id: "gold_trasmutation",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 50
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 15,
  				perc: true
  			},
  			{
  				type: "prayer",
  				id: "zenix_archmage",
  				value: -1
  			}
  		]
  	},
  	{
  		id: "zenix_master",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 35000
  			},
  			{
  				type: "prayer",
  				id: "gold_trasmutation",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "building_material",
  				value: 30,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: 30,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "supplies",
  				value: 30,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 30,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "saltpetre",
  				value: 30,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 30,
  				perc: true
  			},
  			{
  				type: "prayer",
  				id: "zenix_trainer",
  				value: -1
  			}
  		]
  	},
  	{
  		id: "zenix_trainer",
  		type: "prayer",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 35000
  			},
  			{
  				type: "prayer",
  				id: "gold_trasmutation",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "machine_gun_u",
  				type_gen: "stat",
  				gen: "attack",
  				value: 40,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "machine_gun_u",
  				type_gen: "stat",
  				gen: "defense",
  				value: 15,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "rifleman_u",
  				type_gen: "stat",
  				gen: "attack",
  				value: 22,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "rifleman_u",
  				type_gen: "stat",
  				gen: "defense",
  				value: 22,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "steel_rider",
  				type_gen: "stat",
  				gen: "attack",
  				value: 35,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "steel_rider",
  				type_gen: "stat",
  				gen: "defense",
  				value: 25,
  				perc: false
  			},
  			{
  				type: "prayer",
  				id: "zenix_master",
  				value: -1
  			}
  		]
  	},
  	{
  		id: "temple_ritual",
  		type: "spell",
  		cat: "resource",
  		req: [
  			{
  				type: "prayer",
  				id: "praise_gods",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "mana",
  				value: -2
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "faith",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "minor_blessing",
  		type: "spell",
  		cat: "resource",
  		req: [
  			{
  				type: "prayer",
  				id: "blessing",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "mana",
  				value: -2
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 1,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "food",
  				value: 1,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "acolyte_hymn",
  		type: "spell",
  		cat: "resource",
  		req: [
  			{
  				type: "prayer",
  				id: "acolyte_circle",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "mana",
  				value: -5
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 2,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "research",
  				value: 2,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "great_seeker_blessing",
  		type: "spell",
  		cat: "army",
  		req: [
  			{
  				type: "prayer",
  				id: "prayer_for_the_great_seeker",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "mana",
  				value: -5
  			},
  			{
  				type: "resource",
  				id: "food",
  				value: 2
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "archer",
  				type_gen: "stat",
  				gen: "attack",
  				value: 2,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "crossbowman",
  				type_gen: "stat",
  				gen: "attack",
  				value: 2,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "great_warrior_blessing",
  		type: "spell",
  		cat: "army",
  		req: [
  			{
  				type: "prayer",
  				id: "prayer_for_the_great_warrior",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "mana",
  				value: -5
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "warrior",
  				type_gen: "stat",
  				gen: "attack",
  				value: 2,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "spearman",
  				type_gen: "stat",
  				gen: "defense",
  				value: 2,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "heavy_warrior",
  				type_gen: "stat",
  				gen: "attack",
  				value: 2,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "goddess_luck_blessing",
  		type: "spell",
  		req: [
  			{
  				type: "prayer",
  				id: "prayer_goddess_luck",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "mana",
  				value: -5
  			},
  			{
  				type: "resource",
  				id: "luck",
  				value: 5,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "mana_energy_shield",
  		type: "spell",
  		cat: "defense",
  		req: [
  			{
  				type: "prayer",
  				id: "mana_defense",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "mana",
  				value: -5
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "settlement_defenses",
  				type_gen: "stat",
  				gen: "defense",
  				value: 80,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "mother_earth_blessing",
  		type: "spell",
  		cat: "resource",
  		req: [
  			{
  				type: "prayer",
  				id: "prayer_for_mother_earth",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "mana",
  				value: -5
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 5,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 5,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "old_small_one_blessing",
  		type: "spell",
  		cat: "resource",
  		req: [
  			{
  				type: "prayer",
  				id: "prayer_for_the_old_small_one",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "mana",
  				value: -5
  			},
  			{
  				type: "resource",
  				id: "copper",
  				value: 5,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "iron",
  				value: 5,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 5,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "sacred_armor",
  		type: "spell",
  		cat: "army",
  		req: [
  			{
  				type: "prayer",
  				id: "sacred_equipments",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "mana",
  				value: -5
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "commander",
  				type_gen: "stat",
  				gen: "attack",
  				value: 10,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "commander",
  				type_gen: "stat",
  				gen: "defense",
  				value: 20,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "mana_armor_s",
  		type: "spell",
  		req: [
  			{
  				type: "prayer",
  				id: "mana_armor_p",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "mana",
  				value: -25
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "light_cavarly",
  				type_gen: "stat",
  				gen: "defense",
  				value: 7,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "knight",
  				type_gen: "stat",
  				gen: "defense",
  				value: 7,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "commander",
  				type_gen: "stat",
  				gen: "defense",
  				value: 12,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "spell_ancient",
  		type: "spell",
  		cat: "resource",
  		req: [
  			{
  				type: "prayer",
  				id: "ancient_spell_p",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "mana",
  				value: -5
  			},
  			{
  				type: "resource",
  				id: "food",
  				value: 3
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 2
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 2
  			},
  			{
  				type: "resource",
  				id: "copper",
  				value: 1.5
  			},
  			{
  				type: "resource",
  				id: "iron",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "theresmore_revealed",
  		type: "spell",
  		cat: "resource",
  		req: [
  			{
  				type: "prayer",
  				id: "unveil_theresmore",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "mana",
  				value: -5
  			},
  			{
  				type: "resource",
  				id: "faith",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "faith",
  				value: 3,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "wild_man_blessing",
  		type: "spell",
  		cat: "resource",
  		req: [
  			{
  				type: "prayer",
  				id: "prayer_wild_man",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "mana",
  				value: -5
  			},
  			{
  				type: "resource",
  				id: "cow",
  				value: 5,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "horse",
  				value: 5,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "wild_man_spear",
  		type: "spell",
  		cat: "army",
  		req: [
  			{
  				type: "prayer",
  				id: "spear_wild_man",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "mana",
  				value: -5
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "light_cavarly",
  				type_gen: "stat",
  				gen: "attack",
  				value: 2,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "light_cavarly",
  				type_gen: "stat",
  				gen: "defense",
  				value: 2,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "growth_of_nature",
  		type: "spell",
  		cat: "resource",
  		req: [
  			{
  				type: "prayer",
  				id: "growth_nature",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "mana",
  				value: -7
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 3.5
  			}
  		]
  	},
  	{
  		id: "mana_flowers_s",
  		type: "spell",
  		cat: "resource",
  		req: [
  			{
  				type: "prayer",
  				id: "mana_flowers_p",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "mana",
  				value: 10
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 2,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "lighten_of_rocks",
  		type: "spell",
  		cat: "resource",
  		req: [
  			{
  				type: "prayer",
  				id: "lighten_rocks",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "mana",
  				value: -7
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 3.5
  			}
  		]
  	},
  	{
  		id: "magic_tools",
  		type: "spell",
  		cat: "resource",
  		req: [
  			{
  				type: "prayer",
  				id: "magical_tools",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "mana",
  				value: -7
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 2
  			}
  		]
  	},
  	{
  		id: "magic_lights",
  		type: "spell",
  		cat: "resource",
  		req: [
  			{
  				type: "prayer",
  				id: "magical_lights",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "mana",
  				value: -7
  			},
  			{
  				type: "resource",
  				id: "copper",
  				value: 1.5
  			},
  			{
  				type: "resource",
  				id: "iron",
  				value: 1.5
  			}
  		]
  	},
  	{
  		id: "mirune_blessing",
  		type: "spell",
  		cat: "resource",
  		req: [
  			{
  				type: "prayer",
  				id: "temple_mirune",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "mana",
  				value: -10
  			},
  			{
  				type: "resource",
  				id: "research",
  				value: 5
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 2.5
  			}
  		]
  	},
  	{
  		id: "dark_ritual",
  		type: "spell",
  		cat: "army",
  		req: [
  			{
  				type: "prayer",
  				id: "demonology",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "mana",
  				value: -10
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "warrior_monk",
  				type_gen: "stat",
  				gen: "attack",
  				value: 5,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "sacred_golem",
  				type_gen: "stat",
  				gen: "attack",
  				value: 5,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "cleric",
  				type_gen: "stat",
  				gen: "defense",
  				value: 5,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "great_builder_blessing",
  		type: "spell",
  		cat: "resource",
  		req: [
  			{
  				type: "prayer",
  				id: "prayer_for_the_great_builder",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "mana",
  				value: -10
  			},
  			{
  				type: "resource",
  				id: "building_material",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "building_material",
  				value: 3,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: 3,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "mana_dome",
  		type: "spell",
  		cat: "defense",
  		req: [
  			{
  				type: "prayer",
  				id: "mana_defense_II",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "mana",
  				value: -10
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "settlement_defenses",
  				type_gen: "stat",
  				gen: "defense",
  				value: 200,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "mysterious_arcane_blessing",
  		type: "spell",
  		cat: "resource",
  		req: [
  			{
  				type: "prayer",
  				id: "prayer_for_the_mysterious_arcane",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "mana",
  				value: -10
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 0.6
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 10,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "sacred_weapon",
  		type: "spell",
  		cat: "army",
  		req: [
  			{
  				type: "prayer",
  				id: "sacred_equipments_II",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "mana",
  				value: -10
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "man_at_arms",
  				type_gen: "stat",
  				gen: "attack",
  				value: 5,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "cleric",
  				type_gen: "stat",
  				gen: "attack",
  				value: 5,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "church_ritual",
  		type: "spell",
  		cat: "army",
  		req: [
  			{
  				type: "prayer",
  				id: "blessing_church",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "mana",
  				value: -20
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 10
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "general",
  				type_gen: "stat",
  				gen: "attack",
  				value: 25,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "general",
  				type_gen: "stat",
  				gen: "defense",
  				value: 25,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "great_seeker_eyesight",
  		type: "spell",
  		cat: "army",
  		req: [
  			{
  				type: "prayer",
  				id: "great_seeker_2",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "mana",
  				value: -20
  			},
  			{
  				type: "resource",
  				id: "food",
  				value: 5
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "arquebusier",
  				type_gen: "stat",
  				gen: "attack",
  				value: 5,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "arquebusier",
  				type_gen: "stat",
  				gen: "defense",
  				value: 5,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "great_warrior_fury",
  		type: "spell",
  		cat: "army",
  		req: [
  			{
  				type: "prayer",
  				id: "great_warrior_2",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "mana",
  				value: -20
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "warrior",
  				type_gen: "stat",
  				gen: "attack",
  				value: 5,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "warrior",
  				type_gen: "stat",
  				gen: "defense",
  				value: 5,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "heavy_warrior",
  				type_gen: "stat",
  				gen: "attack",
  				value: 5,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "heavy_warrior",
  				type_gen: "stat",
  				gen: "defense",
  				value: 5,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "mother_earth_grace",
  		type: "spell",
  		cat: "resource",
  		req: [
  			{
  				type: "prayer",
  				id: "mother_earth_2",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "mana",
  				value: -20
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 12,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 12,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "new_world_chant",
  		type: "spell",
  		cat: "army",
  		req: [
  			{
  				type: "prayer",
  				id: "pilgrim_chant",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "mana",
  				value: -20
  			},
  			{
  				type: "resource",
  				id: "food",
  				value: 5
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 5
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 5
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "spearman",
  				type_gen: "stat",
  				gen: "attack",
  				value: 3,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "spearman",
  				type_gen: "stat",
  				gen: "defense",
  				value: 3,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "old_small_one_grace",
  		type: "spell",
  		cat: "resource",
  		req: [
  			{
  				type: "prayer",
  				id: "old_small_one_2",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "mana",
  				value: -20
  			},
  			{
  				type: "resource",
  				id: "copper",
  				value: 12,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "iron",
  				value: 12,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 12,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "wild_man_dexterity",
  		type: "spell",
  		cat: "army",
  		req: [
  			{
  				type: "prayer",
  				id: "wild_man_2",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "mana",
  				value: -20
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "knight",
  				type_gen: "stat",
  				gen: "attack",
  				value: 5,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "knight",
  				type_gen: "stat",
  				gen: "defense",
  				value: 5,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "cuirassier",
  				type_gen: "stat",
  				gen: "attack",
  				value: 5,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "cuirassier",
  				type_gen: "stat",
  				gen: "defense",
  				value: 5,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "dragon_armor",
  		type: "spell",
  		cat: "army",
  		req: [
  			{
  				type: "prayer",
  				id: "dragon_skull",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "mana",
  				value: -20
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "cleric",
  				type_gen: "stat",
  				gen: "defense",
  				value: 5,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "shieldbearer",
  				type_gen: "stat",
  				gen: "defense",
  				value: 5,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "juggernaut",
  				type_gen: "stat",
  				gen: "defense",
  				value: 5,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "warrior_monk",
  				type_gen: "stat",
  				gen: "defense",
  				value: 5,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "dragon_weapon",
  		type: "spell",
  		cat: "army",
  		req: [
  			{
  				type: "prayer",
  				id: "dragon_skull",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "mana",
  				value: -20
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "warrior",
  				type_gen: "stat",
  				gen: "attack",
  				value: 5,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "heavy_warrior",
  				type_gen: "stat",
  				gen: "attack",
  				value: 5,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "light_cavarly",
  				type_gen: "stat",
  				gen: "attack",
  				value: 5,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "man_at_arms",
  				type_gen: "stat",
  				gen: "attack",
  				value: 5,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "life_magic_s",
  		type: "spell",
  		cat: "resource",
  		req: [
  			{
  				type: "prayer",
  				id: "life_magic_p",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "mana",
  				value: -25
  			},
  			{
  				type: "resource",
  				id: "food",
  				value: 4
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 4
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 4
  			}
  		]
  	},
  	{
  		id: "highlightment_s",
  		type: "spell",
  		cat: "resource",
  		req: [
  			{
  				type: "prayer",
  				id: "highlightment_p",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "mana",
  				value: -25
  			},
  			{
  				type: "resource",
  				id: "research",
  				value: 5
  			},
  			{
  				type: "resource",
  				id: "research",
  				value: 3,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "spell_book_s",
  		type: "spell",
  		cat: "army",
  		req: [
  			{
  				type: "prayer",
  				id: "spell_book_p",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "mana",
  				value: -25
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "mage_u",
  				type_gen: "stat",
  				gen: "attack",
  				value: 12,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "mage_u",
  				type_gen: "stat",
  				gen: "defense",
  				value: 12,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "mana_armor",
  		type: "spell",
  		cat: "army",
  		req: [
  			{
  				type: "prayer",
  				id: "shape_mana",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "mana",
  				value: -30
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "priest",
  				type_gen: "stat",
  				gen: "defense",
  				value: 5,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "shieldbearer",
  				type_gen: "stat",
  				gen: "defense",
  				value: 5,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "juggernaut",
  				type_gen: "stat",
  				gen: "defense",
  				value: 10,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "commander",
  				type_gen: "stat",
  				gen: "defense",
  				value: 10,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "mana_forest_s",
  		type: "spell",
  		cat: "resource",
  		req: [
  			{
  				type: "prayer",
  				id: "mana_forest_p",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "mana",
  				value: 35
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 3,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "druid_blessing",
  		type: "spell",
  		cat: "resource",
  		req: [
  			{
  				type: "prayer",
  				id: "prayer_lonely_druid",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "mana",
  				value: -40
  			},
  			{
  				type: "resource",
  				id: "food",
  				value: 10
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 10
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 15,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "blessing_city",
  		type: "spell",
  		cat: "resource",
  		req: [
  			{
  				type: "prayer",
  				id: "city_blessing",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "mana",
  				value: -40
  			},
  			{
  				type: "resource",
  				id: "saltpetre",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 10,
  				perc: true
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "settlement_defenses",
  				type_gen: "stat",
  				gen: "attack",
  				value: 50,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "settlement_defenses",
  				type_gen: "stat",
  				gen: "defense",
  				value: 50,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "northern_star_protection",
  		type: "spell",
  		cat: "defense",
  		req: [
  			{
  				type: "prayer",
  				id: "protection_power",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "mana",
  				value: -50
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "settlement_defenses",
  				type_gen: "stat",
  				gen: "defense",
  				value: 500,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "northern_star_incremental",
  		type: "spell",
  		cat: "resource",
  		req: [
  			{
  				type: "prayer",
  				id: "incremental_power",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "mana",
  				value: -50
  			},
  			{
  				type: "resource",
  				id: "building_material",
  				value: 15,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: 15,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "supplies",
  				value: 15,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 15,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "saltpetre",
  				value: 15,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 15,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "philosopher_stone_s",
  		type: "spell",
  		cat: "resource",
  		req: [
  			{
  				type: "prayer",
  				id: "philosopher_stone_p",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "mana",
  				value: -50
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 15
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 3,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "army_blessing",
  		type: "spell",
  		cat: "army",
  		req: [
  			{
  				type: "prayer",
  				id: "blessing_prelate",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "mana",
  				value: -60
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "line_infantry",
  				type_gen: "stat",
  				gen: "defense",
  				value: 15,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "cuirassier",
  				type_gen: "stat",
  				gen: "defense",
  				value: 15,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "general",
  				type_gen: "stat",
  				gen: "defense",
  				value: 25,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "mana_materials_s",
  		type: "spell",
  		cat: "resource",
  		req: [
  			{
  				type: "prayer",
  				id: "mana_materials_p",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "mana",
  				value: -75
  			},
  			{
  				type: "resource",
  				id: "building_material",
  				value: 7
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: 7
  			},
  			{
  				type: "resource",
  				id: "supplies",
  				value: 7
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 7
  			},
  			{
  				type: "resource",
  				id: "saltpetre",
  				value: 7
  			}
  		]
  	},
  	{
  		id: "tome_wisdom_s",
  		type: "spell",
  		cat: "army",
  		req: [
  			{
  				type: "prayer",
  				id: "tome_wisdom_p",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "mana",
  				value: -75
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "mage_u",
  				type_gen: "stat",
  				gen: "attack",
  				value: 24,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "mage_u",
  				type_gen: "stat",
  				gen: "defense",
  				value: 12,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "archmage_u",
  				type_gen: "stat",
  				gen: "attack",
  				value: 120,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "archmage_u",
  				type_gen: "stat",
  				gen: "defense",
  				value: 80,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "mana_spiral_s",
  		type: "spell",
  		cat: "resource",
  		req: [
  			{
  				type: "prayer",
  				id: "mana_spiral_p",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "mana",
  				value: 100
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 7,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "children_hope",
  		type: "spell",
  		cat: "resource",
  		req: [
  			{
  				type: "prayer",
  				id: "hope_children",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "mana",
  				value: -200
  			},
  			{
  				type: "resource",
  				id: "research",
  				value: 25,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 25,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 25,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 25,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "faith",
  				value: 25,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 25,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "enchanted_bullet_s",
  		type: "spell",
  		cat: "army",
  		req: [
  			{
  				type: "prayer",
  				id: "enchanted_bullet",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "mana",
  				value: -200
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "machine_gun_u",
  				type_gen: "stat",
  				gen: "attack",
  				value: 25,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "machine_gun_u",
  				type_gen: "stat",
  				gen: "defense",
  				value: 15,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "rifleman_u",
  				type_gen: "stat",
  				gen: "attack",
  				value: 20,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "rifleman_u",
  				type_gen: "stat",
  				gen: "defense",
  				value: 20,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "zenix_shield_s",
  		type: "spell",
  		cat: "defense",
  		req: [
  			{
  				type: "prayer",
  				id: "zenix_shield",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "mana",
  				value: -220
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "settlement_defenses",
  				type_gen: "stat",
  				gen: "defense",
  				value: 2500,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "power_spell_fireball_s",
  		type: "spell",
  		cat: "army",
  		req: [
  			{
  				type: "prayer",
  				id: "power_spell_fireball",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "mana",
  				value: -240
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "mage_u",
  				type_gen: "stat",
  				gen: "attack",
  				value: 36,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "archmage_u",
  				type_gen: "stat",
  				gen: "attack",
  				value: 120,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "archmage_u",
  				type_gen: "stat",
  				gen: "defense",
  				value: 80,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "lumix_fountain_s",
  		type: "spell",
  		cat: "resource",
  		req: [
  			{
  				type: "prayer",
  				id: "lumix_fountain",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "mana",
  				value: -250
  			},
  			{
  				type: "resource",
  				id: "lumix",
  				value: 0.5
  			},
  			{
  				type: "resource",
  				id: "lumix",
  				value: 20,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "gold_trasmutation_s",
  		type: "spell",
  		cat: "resource",
  		req: [
  			{
  				type: "prayer",
  				id: "gold_trasmutation",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "mana",
  				value: -250
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 75
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 15,
  				perc: true
  			}
  		]
  	}
  ];

  var tech = [
  	{
  		id: "trading_woods",
  		req: [
  			{
  				type: "building",
  				id: "lucky_grove_b",
  				value: 5
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 2,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 6,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "fine_lucky_wood",
  		req: [
  			{
  				type: "building",
  				id: "lucky_grove_b",
  				value: 10
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "wood",
  				value: 10,
  				perc: true
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "archer",
  				type_gen: "stat",
  				gen: "attack",
  				value: 2,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "crossbowman",
  				type_gen: "stat",
  				gen: "attack",
  				value: 4,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "elf_warrior",
  				type_gen: "stat",
  				gen: "attack",
  				value: 6,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "trained_longbowman",
  		req: [
  			{
  				type: "building",
  				id: "lucky_grove_b",
  				value: 15
  			}
  		]
  	},
  	{
  		id: "throwing_coin",
  		req: [
  			{
  				type: "building",
  				id: "lucky_well_b",
  				value: 5
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 5,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "dirty_money",
  		req: [
  			{
  				type: "building",
  				id: "lucky_well_b",
  				value: 10
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 10,
  				perc: true
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "white_company",
  				type_gen: "stat",
  				gen: "attack",
  				value: 8,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "white_company",
  				type_gen: "stat",
  				gen: "defense",
  				value: 8,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "mercenary_veteran",
  				type_gen: "stat",
  				gen: "attack",
  				value: 8,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "mercenary_veteran",
  				type_gen: "stat",
  				gen: "defense",
  				value: 8,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "canava_guard",
  				type_gen: "stat",
  				gen: "attack",
  				value: 8,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "canava_guard",
  				type_gen: "stat",
  				gen: "defense",
  				value: 8,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "fountain_gold",
  		req: [
  			{
  				type: "building",
  				id: "lucky_well_b",
  				value: 15
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 10
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 20,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "lucky_idea",
  		req: [
  			{
  				type: "building",
  				id: "eureka_halls_b",
  				value: 5
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "research",
  				value: 2
  			},
  			{
  				type: "resource",
  				id: "research",
  				value: 5,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "eureka",
  		req: [
  			{
  				type: "building",
  				id: "eureka_halls_b",
  				value: 10
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "research",
  				value: 7
  			},
  			{
  				type: "resource",
  				id: "luck",
  				value: 7,
  				fix: true
  			}
  		]
  	},
  	{
  		id: "master_history",
  		req: [
  			{
  				type: "building",
  				id: "eureka_halls_b",
  				value: 15
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "research",
  				value: 5
  			},
  			{
  				type: "resource",
  				id: "research",
  				value: 10,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "lucky_investments",
  		req: [
  			{
  				type: "building",
  				id: "amusement_quarter_b",
  				value: 5
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 4
  			},
  			{
  				type: "population",
  				id: "unemployed",
  				value: 2
  			}
  		]
  	},
  	{
  		id: "lucky_little_city",
  		req: [
  			{
  				type: "building",
  				id: "amusement_quarter_b",
  				value: 10
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "research",
  				value: 3
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 3
  			},
  			{
  				type: "resource",
  				id: "luck",
  				value: 3,
  				fix: true
  			},
  			{
  				type: "population",
  				id: "unemployed",
  				value: 3
  			}
  		]
  	},
  	{
  		id: "illgotten_gains",
  		req: [
  			{
  				type: "building",
  				id: "amusement_quarter_b",
  				value: 15
  			}
  		]
  	},
  	{
  		id: "prepare_tunnel",
  		req: [
  			{
  				type: "building",
  				id: "underground_tunnel_b",
  				value: 5
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "settlement_defenses",
  				type_gen: "stat",
  				gen: "defense",
  				value: 400,
  				perc: false
  			},
  			{
  				type: "cap",
  				id: "army",
  				value: 10
  			}
  		]
  	},
  	{
  		id: "tunnel_hq",
  		req: [
  			{
  				type: "building",
  				id: "underground_tunnel_b",
  				value: 10
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "commander",
  				type_gen: "stat",
  				gen: "attack",
  				value: 40,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "commander",
  				type_gen: "stat",
  				gen: "defense",
  				value: 40,
  				perc: false
  			},
  			{
  				type: "cap",
  				id: "army",
  				value: 15
  			}
  		]
  	},
  	{
  		id: "stocked_tunnel",
  		req: [
  			{
  				type: "building",
  				id: "underground_tunnel_b",
  				value: 15
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "food",
  				value: 7
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 7
  			},
  			{
  				type: "resource",
  				id: "supplies",
  				value: 3
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "settlement_defenses",
  				type_gen: "stat",
  				gen: "defense",
  				value: 700,
  				perc: false
  			},
  			{
  				type: "cap",
  				id: "army",
  				value: 35
  			}
  		]
  	},
  	{
  		id: "martial_arts",
  		req: [
  			{
  				type: "building",
  				id: "fate_shrine_b",
  				value: 5
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 5
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 5
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "warrior_monk",
  				type_gen: "stat",
  				gen: "attack",
  				value: 7,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "warrior_monk",
  				type_gen: "stat",
  				gen: "defense",
  				value: 7,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "fate_blessing",
  		req: [
  			{
  				type: "building",
  				id: "fate_shrine_b",
  				value: 10
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 10
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 10
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "cleric",
  				type_gen: "stat",
  				gen: "attack",
  				value: 7,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "cleric",
  				type_gen: "stat",
  				gen: "defense",
  				value: 7,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "avatar_fate",
  		req: [
  			{
  				type: "building",
  				id: "fate_shrine_b",
  				value: 15
  			}
  		]
  	},
  	{
  		id: "raider_teaching",
  		req: [
  			{
  				type: "building",
  				id: "mercenary_camp",
  				value: 5
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "light_cavarly",
  				type_gen: "stat",
  				gen: "attack",
  				value: 22,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "light_cavarly",
  				type_gen: "stat",
  				gen: "defense",
  				value: 18,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "cuirassier",
  				type_gen: "stat",
  				gen: "attack",
  				value: 25,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "cuirassier",
  				type_gen: "stat",
  				gen: "defense",
  				value: 22,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "pillaging_training",
  		req: [
  			{
  				type: "building",
  				id: "mercenary_camp",
  				value: 10
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 8,
  				perc: true
  			},
  			{
  				type: "cap",
  				id: "army",
  				value: 10
  			}
  		]
  	},
  	{
  		id: "mercenary_pockets",
  		req: [
  			{
  				type: "building",
  				id: "mercenary_camp",
  				value: 15
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 100,
  				fix: true
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "line_infantry",
  				type_gen: "stat",
  				gen: "attack",
  				value: 15,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "line_infantry",
  				type_gen: "stat",
  				gen: "defense",
  				value: 15,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "colonial_militia",
  				type_gen: "stat",
  				gen: "attack",
  				value: 11,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "colonial_militia",
  				type_gen: "stat",
  				gen: "defense",
  				value: 9,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "housing"
  	},
  	{
  		id: "monument_past",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 5
  			},
  			{
  				type: "tech",
  				id: "housing",
  				value: 1
  			},
  			{
  				type: "legacy",
  				id: "monument_1",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "heirloom_housing",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 10
  			},
  			{
  				type: "building",
  				id: "monument",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "population",
  				id: "farmer",
  				value: 1
  			},
  			{
  				type: "population",
  				id: "lumberjack",
  				value: 1
  			},
  			{
  				type: "population",
  				id: "quarryman",
  				value: 1
  			},
  			{
  				type: "population",
  				id: "unemployed",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "heirloom_horseshoes_t",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 10
  			},
  			{
  				type: "building",
  				id: "monument",
  				value: 1
  			},
  			{
  				type: "legacy",
  				id: "heirloom_horseshoes",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 1
  			},
  			{
  				type: "population",
  				id: "artisan",
  				value: 1
  			},
  			{
  				type: "population",
  				id: "breeder",
  				value: 1
  			},
  			{
  				type: "population",
  				id: "unemployed",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "heirloom_momento_t",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 10
  			},
  			{
  				type: "building",
  				id: "monument",
  				value: 1
  			},
  			{
  				type: "legacy",
  				id: "heirloom_momento",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "research",
  				value: 2
  			},
  			{
  				type: "resource",
  				id: "faith",
  				value: 2
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 2
  			},
  			{
  				type: "population",
  				id: "miner",
  				value: 1
  			},
  			{
  				type: "population",
  				id: "unemployed",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "heirloom_contract_t",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 10
  			},
  			{
  				type: "building",
  				id: "monument",
  				value: 1
  			},
  			{
  				type: "legacy",
  				id: "heirloom_contract",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 2
  			},
  			{
  				type: "cap",
  				id: "army",
  				value: 15
  			},
  			{
  				type: "population",
  				id: "merchant",
  				value: 1
  			},
  			{
  				type: "population",
  				id: "unemployed",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "heirloom_wisdom_t",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 10
  			},
  			{
  				type: "building",
  				id: "monument",
  				value: 1
  			},
  			{
  				type: "legacy",
  				id: "heirloom_wisdom",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "research",
  				value: 2
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "archer",
  				type_gen: "stat",
  				gen: "attack",
  				value: 3,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "archer",
  				type_gen: "stat",
  				gen: "defense",
  				value: 3,
  				perc: false
  			},
  			{
  				type: "population",
  				id: "unemployed",
  				value: 2
  			}
  		]
  	},
  	{
  		id: "heirloom_death_t",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 10
  			},
  			{
  				type: "building",
  				id: "monument",
  				value: 1
  			},
  			{
  				type: "legacy",
  				id: "heirloom_death",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "mana",
  				value: 2
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "spearman",
  				type_gen: "stat",
  				gen: "attack",
  				value: 3,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "spearman",
  				type_gen: "stat",
  				gen: "defense",
  				value: 3,
  				perc: false
  			},
  			{
  				type: "population",
  				id: "unemployed",
  				value: 2
  			}
  		]
  	},
  	{
  		id: "heirloom_wealth_t",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 10
  			},
  			{
  				type: "building",
  				id: "monument",
  				value: 1
  			},
  			{
  				type: "legacy",
  				id: "heirloom_wealth",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 2
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "warrior",
  				type_gen: "stat",
  				gen: "attack",
  				value: 3,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "warrior",
  				type_gen: "stat",
  				gen: "defense",
  				value: 3,
  				perc: false
  			},
  			{
  				type: "population",
  				id: "unemployed",
  				value: 2
  			}
  		]
  	},
  	{
  		id: "agricolture",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 10
  			},
  			{
  				type: "tech",
  				id: "housing",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "stone_masonry",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 20
  			},
  			{
  				type: "tech",
  				id: "housing",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "wood_cutting",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 20
  			},
  			{
  				type: "tech",
  				id: "housing",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "crop_rotation",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 100
  			},
  			{
  				type: "building",
  				id: "farm",
  				value: 5
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 5,
  				fix: true
  			},
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "farmer",
  				type_gen: "resource",
  				gen: "food",
  				value: 2,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "grain_surplus",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 150
  			},
  			{
  				type: "tech",
  				id: "crop_rotation",
  				value: 1
  			},
  			{
  				type: "legacy",
  				id: "grain_storage",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "pottery",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 150
  			},
  			{
  				type: "tech",
  				id: "stone_masonry",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "woodcarvers",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 150
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 20
  			},
  			{
  				type: "building",
  				id: "lumberjack_camp",
  				value: 5
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 10,
  				fix: true
  			},
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "lumberjack",
  				type_gen: "resource",
  				gen: "wood",
  				value: 2,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "wood_saw",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 170
  			},
  			{
  				type: "tech",
  				id: "woodcarvers",
  				value: 1
  			},
  			{
  				type: "legacy",
  				id: "woodworking",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "stone_extraction_tools",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 175
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 25
  			},
  			{
  				type: "building",
  				id: "quarry",
  				value: 5
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 10,
  				fix: true
  			},
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "quarryman",
  				type_gen: "resource",
  				gen: "stone",
  				value: 2,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "stone_processing",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 175
  			},
  			{
  				type: "tech",
  				id: "stone_extraction_tools",
  				value: 1
  			},
  			{
  				type: "legacy",
  				id: "stonemason_l",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "archery",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 200
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 150
  			},
  			{
  				type: "tech",
  				id: "wood_cutting",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "cap",
  				id: "army",
  				value: 2
  			}
  		]
  	},
  	{
  		id: "mining",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 250
  			},
  			{
  				type: "building",
  				id: "quarry",
  				value: 3
  			}
  		]
  	},
  	{
  		id: "house_of_workers",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 250
  			},
  			{
  				type: "tech",
  				id: "mining",
  				value: 1
  			},
  			{
  				type: "stat",
  				id: "ng_reset",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "architecture_titan_t",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 250
  			},
  			{
  				type: "tech",
  				id: "mining",
  				value: 1
  			},
  			{
  				type: "legacy",
  				id: "architecture_titan",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "mining_efficency",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 250
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 50
  			},
  			{
  				type: "building",
  				id: "mine",
  				value: 5
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 15,
  				fix: true
  			},
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "miner",
  				type_gen: "resource",
  				gen: "copper",
  				value: 2,
  				perc: true
  			},
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "miner",
  				type_gen: "resource",
  				gen: "iron",
  				value: 2,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "storage",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 300
  			},
  			{
  				type: "tech",
  				id: "agricolture",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "local_products",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 350
  			},
  			{
  				type: "building",
  				id: "artisan_workshop",
  				value: 5
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 20,
  				fix: true
  			},
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "artisan",
  				type_gen: "resource",
  				gen: "tools",
  				value: 2,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "writing",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 500
  			},
  			{
  				type: "tech",
  				id: "pottery",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "bronze_working",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 600
  			},
  			{
  				type: "resource",
  				id: "copper",
  				value: 300
  			},
  			{
  				type: "tech",
  				id: "mining",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "cap",
  				id: "army",
  				value: 3
  			}
  		]
  	},
  	{
  		id: "bronze_projectiles",
  		req: [
  			{
  				type: "resource",
  				id: "copper",
  				value: 500
  			},
  			{
  				type: "tech",
  				id: "bronze_working",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "archer",
  				type_gen: "stat",
  				gen: "attack",
  				value: 1,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "bronze_shield",
  		req: [
  			{
  				type: "resource",
  				id: "wood",
  				value: 500
  			},
  			{
  				type: "resource",
  				id: "copper",
  				value: 500
  			},
  			{
  				type: "tech",
  				id: "bronze_working",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "spearman",
  				type_gen: "stat",
  				gen: "defense",
  				value: 1,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "phalanx",
  				type_gen: "stat",
  				gen: "defense",
  				value: 1,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "shieldbearer",
  				type_gen: "stat",
  				gen: "defense",
  				value: 1,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "bronze_sword",
  		req: [
  			{
  				type: "resource",
  				id: "copper",
  				value: 750
  			},
  			{
  				type: "tech",
  				id: "bronze_working",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "warrior",
  				type_gen: "stat",
  				gen: "attack",
  				value: 1,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "warrior",
  				type_gen: "stat",
  				gen: "defense",
  				value: 1,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "heavy_warrior",
  				type_gen: "stat",
  				gen: "attack",
  				value: 1,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "heavy_warrior",
  				type_gen: "stat",
  				gen: "defense",
  				value: 1,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "mercenary_veteran",
  				type_gen: "stat",
  				gen: "attack",
  				value: 1,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "mercenary_veteran",
  				type_gen: "stat",
  				gen: "defense",
  				value: 1,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "bronze_lance",
  		req: [
  			{
  				type: "resource",
  				id: "copper",
  				value: 600
  			},
  			{
  				type: "tech",
  				id: "bronze_working",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "light_cavarly",
  				type_gen: "stat",
  				gen: "attack",
  				value: 2,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "ancient_balor_t",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 650
  			},
  			{
  				type: "tech",
  				id: "bronze_working",
  				value: 1
  			},
  			{
  				type: "legacy",
  				id: "ancient_balor_l",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "training_militia",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 700
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 400
  			},
  			{
  				type: "resource",
  				id: "copper",
  				value: 250
  			},
  			{
  				type: "tech",
  				id: "bronze_working",
  				value: 1
  			},
  			{
  				type: "legacy",
  				id: "militia_recruitment",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "oracle_t",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 500
  			},
  			{
  				type: "tech",
  				id: "religion",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "magic",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 750
  			},
  			{
  				type: "tech",
  				id: "religion",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "ancient_spell",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 1250
  			},
  			{
  				type: "tech",
  				id: "magic",
  				value: 1
  			},
  			{
  				type: "stat",
  				id: "ng_reset",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "zenix_familiar_t",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 720
  			},
  			{
  				type: "resource",
  				id: "food",
  				value: 500
  			},
  			{
  				type: "tech",
  				id: "magic",
  				value: 1
  			},
  			{
  				type: "legacy",
  				id: "zenix_familiar_l",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "mythology",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 750
  			},
  			{
  				type: "tech",
  				id: "writing",
  				value: 1
  			},
  			{
  				type: "building",
  				id: "common_house",
  				value: 8
  			}
  		]
  	},
  	{
  		id: "breeding",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 800
  			},
  			{
  				type: "building",
  				id: "farm",
  				value: 5
  			},
  			{
  				type: "tech",
  				id: "storage",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "ancient_stockpile",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 1000
  			},
  			{
  				type: "tech",
  				id: "remember_the_ancients",
  				value: 1
  			},
  			{
  				type: "legacy",
  				id: "ancient_vault",
  				value: 1
  			},
  			{
  				type: "stat",
  				id: "reset",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "fortification",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 1000
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 1000
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 1000
  			},
  			{
  				type: "tech",
  				id: "bronze_working",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "cap",
  				id: "army",
  				value: 2
  			}
  		]
  	},
  	{
  		id: "wall_titan_t",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 1000
  			},
  			{
  				type: "tech",
  				id: "fortification",
  				value: 1
  			},
  			{
  				type: "legacy",
  				id: "wall_titan",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "remember_the_ancients",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 1000
  			},
  			{
  				type: "tech",
  				id: "mythology",
  				value: 1
  			},
  			{
  				type: "legacy",
  				id: "library_theresmore",
  				value: 1
  			},
  			{
  				type: "stat",
  				id: "reset",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "servitude",
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 1250
  			},
  			{
  				type: "tech",
  				id: "bronze_working",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "lumberjack",
  				type_gen: "resource",
  				gen: "wood",
  				value: 2,
  				perc: true
  			},
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "quarryman",
  				type_gen: "resource",
  				gen: "stone",
  				value: 2,
  				perc: true
  			},
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "miner",
  				type_gen: "resource",
  				gen: "copper",
  				value: 2,
  				perc: true
  			},
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "miner",
  				type_gen: "resource",
  				gen: "iron",
  				value: 2,
  				perc: true
  			},
  			{
  				type: "population",
  				id: "unemployed",
  				value: 2
  			}
  		]
  	},
  	{
  		id: "mathematic",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 2500
  			},
  			{
  				type: "tech",
  				id: "writing",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "lumberjack",
  				type_gen: "resource",
  				gen: "wood",
  				value: 5,
  				perc: true
  			},
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "quarryman",
  				type_gen: "resource",
  				gen: "stone",
  				value: 5,
  				perc: true
  			},
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "miner",
  				type_gen: "resource",
  				gen: "copper",
  				value: 5,
  				perc: true
  			},
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "miner",
  				type_gen: "resource",
  				gen: "iron",
  				value: 5,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "research",
  				value: 5,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "municipal_administration",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 2500
  			},
  			{
  				type: "building",
  				id: "common_house",
  				value: 15
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 30,
  				fix: true
  			}
  		]
  	},
  	{
  		id: "warfare",
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 2500
  			},
  			{
  				type: "tech",
  				id: "iron_working",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 25,
  				fix: true
  			}
  		]
  	},
  	{
  		id: "phalanx_combat",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 2500
  			},
  			{
  				type: "tech",
  				id: "warfare",
  				value: 1
  			},
  			{
  				type: "stat",
  				id: "ng_reset",
  				value: 2
  			}
  		]
  	},
  	{
  		id: "boot_camp_t",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 3000
  			},
  			{
  				type: "tech",
  				id: "phalanx_combat",
  				value: 1
  			},
  			{
  				type: "stat",
  				id: "ng_reset",
  				value: 2
  			}
  		]
  	},
  	{
  		id: "canava_mercenary",
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 4000
  			},
  			{
  				type: "tech",
  				id: "warfare",
  				value: 1
  			},
  			{
  				type: "legacy",
  				id: "coin_mercenary",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "currency",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 3000
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 1500
  			},
  			{
  				type: "tech",
  				id: "mathematic",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "tamed_barbarian",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 3000
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 1000
  			},
  			{
  				type: "enemy",
  				id: "barbarian_camp",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "religion",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 3500
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 1500
  			},
  			{
  				type: "tech",
  				id: "writing",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "forging_equipments",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 3500
  			},
  			{
  				type: "building",
  				id: "artisan_workshop",
  				value: 7
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 500
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "spearman",
  				type_gen: "stat",
  				gen: "defense",
  				value: 2,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "warrior",
  				type_gen: "stat",
  				gen: "defense",
  				value: 2,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "heavy_warrior",
  				type_gen: "stat",
  				gen: "defense",
  				value: 2,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "cloistered_life",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 3500
  			},
  			{
  				type: "resource",
  				id: "faith",
  				value: 800
  			},
  			{
  				type: "tech",
  				id: "magic",
  				value: 1
  			},
  			{
  				type: "legacy",
  				id: "monastic_orders",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "regional_markets",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 4000
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 2500
  			},
  			{
  				type: "tech",
  				id: "currency",
  				value: 1
  			},
  			{
  				type: "legacy",
  				id: "regional_market",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "fortune_sanctuary",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 4500
  			},
  			{
  				type: "prayer",
  				id: "prayer_goddess_luck",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "enclosures",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 5000
  			},
  			{
  				type: "building",
  				id: "farm",
  				value: 15
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 25,
  				fix: true
  			},
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "farmer",
  				type_gen: "resource",
  				gen: "food",
  				value: 5,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "fine_marbles",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 5000
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 1000
  			},
  			{
  				type: "building",
  				id: "quarry",
  				value: 15
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 25,
  				fix: true
  			},
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "quarryman",
  				type_gen: "resource",
  				gen: "stone",
  				value: 5,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "fine_woods",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 5000
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 1000
  			},
  			{
  				type: "building",
  				id: "lumberjack_camp",
  				value: 15
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 25,
  				fix: true
  			},
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "lumberjack",
  				type_gen: "resource",
  				gen: "wood",
  				value: 5,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "iron_working",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 5000
  			},
  			{
  				type: "resource",
  				id: "iron",
  				value: 600
  			},
  			{
  				type: "tech",
  				id: "bronze_working",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "cap",
  				id: "army",
  				value: 3
  			}
  		]
  	},
  	{
  		id: "iron_projectiles",
  		req: [
  			{
  				type: "resource",
  				id: "iron",
  				value: 2500
  			},
  			{
  				type: "tech",
  				id: "iron_working",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "archer",
  				type_gen: "stat",
  				gen: "attack",
  				value: 2,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "crossbowman",
  				type_gen: "stat",
  				gen: "attack",
  				value: 2,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "white_company",
  				type_gen: "stat",
  				gen: "attack",
  				value: 2,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "iron_shield",
  		req: [
  			{
  				type: "resource",
  				id: "wood",
  				value: 5000
  			},
  			{
  				type: "resource",
  				id: "iron",
  				value: 4000
  			},
  			{
  				type: "tech",
  				id: "iron_working",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "spearman",
  				type_gen: "stat",
  				gen: "defense",
  				value: 2,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "phalanx",
  				type_gen: "stat",
  				gen: "defense",
  				value: 2,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "shieldbearer",
  				type_gen: "stat",
  				gen: "defense",
  				value: 2,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "cleric",
  				type_gen: "stat",
  				gen: "defense",
  				value: 2,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "iron_sword",
  		req: [
  			{
  				type: "resource",
  				id: "iron",
  				value: 7500
  			},
  			{
  				type: "tech",
  				id: "iron_working",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "warrior",
  				type_gen: "stat",
  				gen: "attack",
  				value: 2,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "warrior",
  				type_gen: "stat",
  				gen: "defense",
  				value: 1,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "heavy_warrior",
  				type_gen: "stat",
  				gen: "attack",
  				value: 2,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "heavy_warrior",
  				type_gen: "stat",
  				gen: "defense",
  				value: 1,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "mercenary_veteran",
  				type_gen: "stat",
  				gen: "attack",
  				value: 2,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "mercenary_veteran",
  				type_gen: "stat",
  				gen: "defense",
  				value: 1,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "canava_guard",
  				type_gen: "stat",
  				gen: "attack",
  				value: 2,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "canava_guard",
  				type_gen: "stat",
  				gen: "defense",
  				value: 1,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "man_at_arms",
  				type_gen: "stat",
  				gen: "attack",
  				value: 2,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "man_at_arms",
  				type_gen: "stat",
  				gen: "defense",
  				value: 1,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "commander",
  				type_gen: "stat",
  				gen: "attack",
  				value: 2,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "commander",
  				type_gen: "stat",
  				gen: "defense",
  				value: 1,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "iron_lance",
  		req: [
  			{
  				type: "resource",
  				id: "iron",
  				value: 6500
  			},
  			{
  				type: "tech",
  				id: "iron_working",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "light_cavarly",
  				type_gen: "stat",
  				gen: "attack",
  				value: 3,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "knight",
  				type_gen: "stat",
  				gen: "attack",
  				value: 3,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "holy_fury",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 5000
  			},
  			{
  				type: "tech",
  				id: "iron_working",
  				value: 1
  			},
  			{
  				type: "legacy",
  				id: "angel",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "seraphim_t",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 5000
  			},
  			{
  				type: "tech",
  				id: "holy_fury",
  				value: 1
  			},
  			{
  				type: "legacy",
  				id: "seraphim_l",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "mercenary_bands",
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 5000
  			},
  			{
  				type: "tech",
  				id: "feudalism",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "cap",
  				id: "army",
  				value: 5
  			}
  		]
  	},
  	{
  		id: "white_t_company",
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 7000
  			},
  			{
  				type: "tech",
  				id: "mercenary_bands",
  				value: 1
  			},
  			{
  				type: "legacy",
  				id: "white_m_company",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "galliard_mercenary",
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 10000
  			},
  			{
  				type: "enemy",
  				id: "galliard_mercenary_camp",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "mercenary_veteran",
  				type_gen: "stat",
  				gen: "attack",
  				value: 3,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "mercenary_veteran",
  				type_gen: "stat",
  				gen: "defense",
  				value: 3,
  				perc: false
  			},
  			{
  				type: "cap",
  				id: "army",
  				value: 5
  			}
  		]
  	},
  	{
  		id: "cpt_galliard_t",
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 10000
  			},
  			{
  				type: "tech",
  				id: "galliard_mercenary",
  				value: 1
  			},
  			{
  				type: "legacy",
  				id: "cpt_galliard_l",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "free_old_outpost",
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 9000
  			},
  			{
  				type: "tech",
  				id: "cpt_galliard_t",
  				value: 1
  			},
  			{
  				type: "legacy",
  				id: "cpt_galliard_story",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "mercenary_outpost_t",
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 11000
  			},
  			{
  				type: "enemy",
  				id: "old_outpost",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "galliard_secret",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 9000
  			},
  			{
  				type: "tech",
  				id: "mercenary_outpost_t",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "tome_ancient_lore",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 10000
  			},
  			{
  				type: "resource",
  				id: "faith",
  				value: 3000
  			},
  			{
  				type: "enemy",
  				id: "forgotten_shelter",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "research",
  				value: 10
  			},
  			{
  				type: "resource",
  				id: "saltpetre",
  				value: 2
  			}
  		]
  	},
  	{
  		id: "wings_freedom",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 11000
  			},
  			{
  				type: "tech",
  				id: "tome_ancient_lore",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "galliard_true_form",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 12000
  			},
  			{
  				type: "resource",
  				id: "faith",
  				value: 5000
  			},
  			{
  				type: "enemy",
  				id: "ancient_giant",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "cpt_galliard",
  				type_gen: "stat",
  				gen: "attack",
  				value: 240,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "cpt_galliard",
  				type_gen: "stat",
  				gen: "defense",
  				value: 180,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "end_ancient_era",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 5500
  			},
  			{
  				type: "building",
  				id: "common_house",
  				value: 15
  			},
  			{
  				type: "building",
  				id: "artisan_workshop",
  				value: 5
  			},
  			{
  				type: "tech",
  				id: "iron_working",
  				value: 1
  			},
  			{
  				type: "tech",
  				id: "religion",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "plenty_valley",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 6000
  			},
  			{
  				type: "cap",
  				id: "food",
  				value: 5000
  			}
  		]
  	},
  	{
  		id: "barbarian_tribes",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 6000
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 2000
  			},
  			{
  				type: "enemy",
  				id: "barbarian_village",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "bandit_chief",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 6000
  			},
  			{
  				type: "enemy",
  				id: "bandit_camp",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "deserter_origin",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 7000
  			},
  			{
  				type: "enemy",
  				id: "deserters_den",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "feudalism",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 7500
  			},
  			{
  				type: "building",
  				id: "city_center",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "cap",
  				id: "army",
  				value: 3
  			}
  		]
  	},
  	{
  		id: "espionage",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 7500
  			},
  			{
  				type: "tech",
  				id: "mercenary_bands",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "forging_equipments_II",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 7500
  			},
  			{
  				type: "building",
  				id: "artisan_workshop",
  				value: 13
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 1000
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "man_at_arms",
  				type_gen: "stat",
  				gen: "defense",
  				value: 4,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "knight",
  				type_gen: "stat",
  				gen: "defense",
  				value: 4,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "commander",
  				type_gen: "stat",
  				gen: "defense",
  				value: 4,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "architecture",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 8000
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 1500
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 1000
  			},
  			{
  				type: "tech",
  				id: "feudalism",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "crossbow",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 10000
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 2000
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 1000
  			},
  			{
  				type: "tech",
  				id: "feudalism",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "cap",
  				id: "army",
  				value: 3
  			}
  		]
  	},
  	{
  		id: "siege_techniques",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 10000
  			},
  			{
  				type: "tech",
  				id: "crossbow",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "besieging_engineers",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 10000
  			},
  			{
  				type: "tech",
  				id: "siege_techniques",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "education",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 10000
  			},
  			{
  				type: "tech",
  				id: "feudalism",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "embassy_nation",
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 25000
  			},
  			{
  				type: "diplomacy_alliance",
  				id: "theresmore_wanders",
  				value: 1
  			},
  			{
  				type: "diplomacy_alliance",
  				id: "nightdale_protectorate",
  				value: 1
  			},
  			{
  				type: "diplomacy_alliance",
  				id: "zultan_emirate",
  				value: 1
  			},
  			{
  				type: "diplomacy_alliance",
  				id: "western_kingdom",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "liturgical_rites",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 10000
  			},
  			{
  				type: "tech",
  				id: "education",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "necromancy",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 8000
  			},
  			{
  				type: "enemy",
  				id: "necromancer_crypt",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "food_conservation",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 10000
  			},
  			{
  				type: "tech",
  				id: "education",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "plate_armor",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 10000
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 4000
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: 500
  			},
  			{
  				type: "tech",
  				id: "steeling",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "cap",
  				id: "army",
  				value: 3
  			}
  		]
  	},
  	{
  		id: "siege_defense_weapons",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 10000
  			},
  			{
  				type: "building",
  				id: "wall",
  				value: 1
  			},
  			{
  				type: "tech",
  				id: "architecture",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "metal_casting",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 11500
  			},
  			{
  				type: "resource",
  				id: "iron",
  				value: 1000
  			},
  			{
  				type: "tech",
  				id: "feudalism",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "establish_boundaries",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 12000
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 10000
  			},
  			{
  				type: "tech",
  				id: "architecture",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 3,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "research",
  				value: 3,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "herald_canava",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 6000
  			},
  			{
  				type: "tech",
  				id: "establish_boundaries",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "moonlight_night",
  		confirm: true,
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 12000
  			},
  			{
  				type: "building",
  				id: "watchman_outpost",
  				value: 4
  			}
  		]
  	},
  	{
  		id: "daylong_celebration",
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 2000
  			},
  			{
  				type: "tech",
  				id: "moonlight_night",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 100,
  				fix: true
  			}
  		]
  	},
  	{
  		id: "banking",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 12000
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 8000
  			},
  			{
  				type: "tech",
  				id: "education",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "steeling",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 12000
  			},
  			{
  				type: "resource",
  				id: "copper",
  				value: 1500
  			},
  			{
  				type: "resource",
  				id: "iron",
  				value: 1000
  			},
  			{
  				type: "tech",
  				id: "metal_casting",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "steel_projectiles",
  		req: [
  			{
  				type: "resource",
  				id: "steel",
  				value: 2500
  			},
  			{
  				type: "tech",
  				id: "steeling",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "archer",
  				type_gen: "stat",
  				gen: "attack",
  				value: 3,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "crossbowman",
  				type_gen: "stat",
  				gen: "attack",
  				value: 3,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "white_company",
  				type_gen: "stat",
  				gen: "attack",
  				value: 3,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "steel_shield",
  		req: [
  			{
  				type: "resource",
  				id: "wood",
  				value: 15000
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: 4000
  			},
  			{
  				type: "tech",
  				id: "steeling",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "spearman",
  				type_gen: "stat",
  				gen: "defense",
  				value: 3,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "phalanx",
  				type_gen: "stat",
  				gen: "defense",
  				value: 3,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "shieldbearer",
  				type_gen: "stat",
  				gen: "defense",
  				value: 3,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "cleric",
  				type_gen: "stat",
  				gen: "defense",
  				value: 3,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "steel_sword",
  		req: [
  			{
  				type: "resource",
  				id: "iron",
  				value: 12500
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: 7500
  			},
  			{
  				type: "tech",
  				id: "steeling",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "warrior",
  				type_gen: "stat",
  				gen: "attack",
  				value: 3,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "warrior",
  				type_gen: "stat",
  				gen: "defense",
  				value: 1,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "heavy_warrior",
  				type_gen: "stat",
  				gen: "attack",
  				value: 3,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "heavy_warrior",
  				type_gen: "stat",
  				gen: "defense",
  				value: 1,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "mercenary_veteran",
  				type_gen: "stat",
  				gen: "attack",
  				value: 3,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "mercenary_veteran",
  				type_gen: "stat",
  				gen: "defense",
  				value: 1,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "canava_guard",
  				type_gen: "stat",
  				gen: "attack",
  				value: 3,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "canava_guard",
  				type_gen: "stat",
  				gen: "defense",
  				value: 1,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "man_at_arms",
  				type_gen: "stat",
  				gen: "attack",
  				value: 3,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "man_at_arms",
  				type_gen: "stat",
  				gen: "defense",
  				value: 1,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "commander",
  				type_gen: "stat",
  				gen: "attack",
  				value: 3,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "commander",
  				type_gen: "stat",
  				gen: "defense",
  				value: 1,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "steel_lance",
  		req: [
  			{
  				type: "resource",
  				id: "iron",
  				value: 16500
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: 6500
  			},
  			{
  				type: "tech",
  				id: "steeling",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "light_cavarly",
  				type_gen: "stat",
  				gen: "attack",
  				value: 4,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "knight",
  				type_gen: "stat",
  				gen: "attack",
  				value: 4,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "cataphract",
  				type_gen: "stat",
  				gen: "attack",
  				value: 4,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "guild",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 15000
  			},
  			{
  				type: "tech",
  				id: "education",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 40,
  				fix: true
  			},
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "artisan",
  				type_gen: "resource",
  				gen: "tools",
  				value: 5,
  				perc: true
  			},
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "merchant",
  				type_gen: "resource",
  				gen: "gold",
  				value: 5,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "craftsmen_guild",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 17500
  			},
  			{
  				type: "tech",
  				id: "guild",
  				value: 1
  			},
  			{
  				type: "legacy",
  				id: "guild_craftsmen",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "religious_orders",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 17500
  			},
  			{
  				type: "resource",
  				id: "faith",
  				value: 2000
  			},
  			{
  				type: "tech",
  				id: "guild",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "mana_conveyors",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 2000
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 1000
  			},
  			{
  				type: "tech",
  				id: "religious_orders",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "master_craftsmen",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 12000
  			},
  			{
  				type: "building",
  				id: "artisan_workshop",
  				value: 15
  			},
  			{
  				type: "building",
  				id: "grocery",
  				value: 3
  			},
  			{
  				type: "building",
  				id: "carpenter_workshop",
  				value: 3
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 40,
  				fix: true
  			},
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "artisan",
  				type_gen: "resource",
  				gen: "tools",
  				value: 5,
  				perc: true
  			},
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "supplier",
  				type_gen: "resource",
  				gen: "supplies",
  				value: 5,
  				perc: true
  			},
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "carpenter",
  				type_gen: "resource",
  				gen: "building_material",
  				value: 5,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "drilling_operation",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 11500
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 1500
  			},
  			{
  				type: "building",
  				id: "mine",
  				value: 15
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 30,
  				fix: true
  			},
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "miner",
  				type_gen: "resource",
  				gen: "copper",
  				value: 5,
  				perc: true
  			},
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "miner",
  				type_gen: "resource",
  				gen: "iron",
  				value: 5,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "professional_soldier",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 13000
  			},
  			{
  				type: "tech",
  				id: "plate_armor",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "knighthood",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 13000
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 5000
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: 600
  			},
  			{
  				type: "tech",
  				id: "steeling",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "cap",
  				id: "army",
  				value: 4
  			}
  		]
  	},
  	{
  		id: "fairs_and_markets",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 15000
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 5000
  			},
  			{
  				type: "tech",
  				id: "guild",
  				value: 1
  			},
  			{
  				type: "tech",
  				id: "banking",
  				value: 1
  			},
  			{
  				type: "building",
  				id: "marketplace",
  				value: 3
  			}
  		]
  	},
  	{
  		id: "network_of_watchmen",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 15000
  			},
  			{
  				type: "building",
  				id: "wall",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "cap",
  				id: "army",
  				value: 5
  			}
  		]
  	},
  	{
  		id: "large_storage_space",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 15000
  			},
  			{
  				type: "tech",
  				id: "food_conservation",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "glorious_retirement",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 10000
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 10000
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 100
  			},
  			{
  				type: "tech",
  				id: "banking",
  				value: 1
  			},
  			{
  				type: "tech",
  				id: "knighthood",
  				value: 1
  			},
  			{
  				type: "tech",
  				id: "moonlight_night",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "library_of_souls",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 18000
  			},
  			{
  				type: "resource",
  				id: "faith",
  				value: 6000
  			},
  			{
  				type: "enemy",
  				id: "worn_down_crypt",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "end_feudal_era",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 17000
  			},
  			{
  				type: "building",
  				id: "mansion",
  				value: 3
  			},
  			{
  				type: "building",
  				id: "carpenter_workshop",
  				value: 3
  			},
  			{
  				type: "building",
  				id: "steelworks",
  				value: 3
  			},
  			{
  				type: "building",
  				id: "university",
  				value: 3
  			},
  			{
  				type: "building",
  				id: "grocery",
  				value: 3
  			},
  			{
  				type: "tech",
  				id: "fairs_and_markets",
  				value: 1
  			},
  			{
  				type: "tech",
  				id: "knighthood",
  				value: 1
  			},
  			{
  				type: "tech",
  				id: "moonlight_night",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "favor_gods",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 18000
  			},
  			{
  				type: "resource",
  				id: "faith",
  				value: 5000
  			},
  			{
  				type: "tech",
  				id: "end_feudal_era",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "underground_library",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 25000
  			},
  			{
  				type: "resource",
  				id: "faith",
  				value: 7000
  			},
  			{
  				type: "building",
  				id: "library_souls",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "astronomy",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 27000
  			},
  			{
  				type: "building",
  				id: "academy_of_freethinkers",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "scientific_theory",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 28000
  			},
  			{
  				type: "building",
  				id: "academy_of_freethinkers",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 40,
  				fix: true
  			}
  		]
  	},
  	{
  		id: "chemistry",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 28000
  			},
  			{
  				type: "tech",
  				id: "scientific_theory",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "manufactures",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 29000
  			},
  			{
  				type: "tech",
  				id: "chemistry",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "printing_press",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 30000
  			},
  			{
  				type: "tech",
  				id: "scientific_theory",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "research",
  				value: 3,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "faith",
  				value: 3,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "monster_hunting",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 30000
  			},
  			{
  				type: "tech",
  				id: "printing_press",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "monster_epuration",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 30000
  			},
  			{
  				type: "enemy",
  				id: "hydra_pit",
  				value: 1
  			},
  			{
  				type: "enemy",
  				id: "gorgon_cave",
  				value: 1
  			},
  			{
  				type: "enemy",
  				id: "gloomy_werewolf_forest",
  				value: 1
  			},
  			{
  				type: "enemy",
  				id: "minotaur_maze",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "fertilizer",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 30000
  			},
  			{
  				type: "tech",
  				id: "chemistry",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "farmer",
  				type_gen: "resource",
  				gen: "food",
  				value: 5,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "alchemical_reactions",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 31000
  			},
  			{
  				type: "tech",
  				id: "fertilizer",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "gunpowder",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 32000
  			},
  			{
  				type: "tech",
  				id: "chemistry",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 40,
  				fix: true
  			}
  		]
  	},
  	{
  		id: "the_scourge",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 30000
  			},
  			{
  				type: "tech",
  				id: "gunpowder",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "storing_valuable_materials",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 32000
  			},
  			{
  				type: "tech",
  				id: "fertilizer",
  				value: 1
  			},
  			{
  				type: "tech",
  				id: "large_storage_space",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "military_science",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 33000
  			},
  			{
  				type: "tech",
  				id: "gunpowder",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "dragon_assault",
  		confirm: true,
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 34000
  			},
  			{
  				type: "prayer",
  				id: "dragon_skull",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "glorious_parade",
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 4000
  			},
  			{
  				type: "tech",
  				id: "dragon_assault",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 200,
  				fix: true
  			},
  			{
  				type: "population",
  				id: "unemployed",
  				value: 4
  			}
  		]
  	},
  	{
  		id: "the_vault",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 33000
  			},
  			{
  				type: "building",
  				id: "bank",
  				value: 8
  			}
  		]
  	},
  	{
  		id: "cuirassiers",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 35000
  			},
  			{
  				type: "tech",
  				id: "military_science",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "northern_star",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 35000
  			},
  			{
  				type: "diplomacy_owned",
  				id: "nightdale_protectorate",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "flame_atamar",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 35000
  			},
  			{
  				type: "diplomacy_owned",
  				id: "zultan_emirate",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "trail_power",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 45000
  			},
  			{
  				type: "diplomacy_owned",
  				id: "western_kingdom",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "exhibit_flame",
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 45000
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 7000
  			},
  			{
  				type: "tech",
  				id: "flame_atamar",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 10
  			},
  			{
  				type: "population",
  				id: "unemployed",
  				value: 5
  			},
  			{
  				type: "tech",
  				id: "infuse_flame",
  				value: -1
  			}
  		]
  	},
  	{
  		id: "infuse_flame",
  		req: [
  			{
  				type: "resource",
  				id: "copper",
  				value: 15000
  			},
  			{
  				type: "resource",
  				id: "iron",
  				value: 15000
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 7000
  			},
  			{
  				type: "tech",
  				id: "flame_atamar",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "strategist",
  				type_gen: "stat",
  				gen: "attack",
  				value: 10,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "strategist",
  				type_gen: "stat",
  				gen: "defense",
  				value: 10,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "commander",
  				type_gen: "stat",
  				gen: "attack",
  				value: 15,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "commander",
  				type_gen: "stat",
  				gen: "defense",
  				value: 15,
  				perc: false
  			},
  			{
  				type: "cap",
  				id: "army",
  				value: 15
  			},
  			{
  				type: "tech",
  				id: "exhibit_flame",
  				value: -1
  			}
  		]
  	},
  	{
  		id: "persuade_nobility",
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 150000
  			},
  			{
  				type: "tech",
  				id: "trail_power",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 100,
  				fix: true
  			},
  			{
  				type: "tech",
  				id: "persuade_people",
  				value: -1
  			}
  		]
  	},
  	{
  		id: "persuade_people",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 50000
  			},
  			{
  				type: "tech",
  				id: "trail_power",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "tech",
  				id: "persuade_nobility",
  				value: -1
  			}
  		]
  	},
  	{
  		id: "loved_people",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 10000
  			},
  			{
  				type: "enemy",
  				id: "eternal_halls",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 150,
  				fix: true
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 12
  			},
  			{
  				type: "population",
  				id: "unemployed",
  				value: 6
  			}
  		]
  	},
  	{
  		id: "economics",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 35000
  			},
  			{
  				type: "tech",
  				id: "printing_press",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 40,
  				fix: true
  			}
  		]
  	},
  	{
  		id: "ministry_interior_t",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 35000
  			},
  			{
  				type: "tech",
  				id: "economics",
  				value: 1
  			},
  			{
  				type: "legacy",
  				id: "ministry_interior_l",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "ministry_war_t",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 35000
  			},
  			{
  				type: "tech",
  				id: "economics",
  				value: 1
  			},
  			{
  				type: "legacy",
  				id: "ministry_war_l",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "ministry_worship_t",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 35000
  			},
  			{
  				type: "tech",
  				id: "economics",
  				value: 1
  			},
  			{
  				type: "legacy",
  				id: "ministry_worship_l",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "order_of_clerics",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 37000
  			},
  			{
  				type: "resource",
  				id: "faith",
  				value: 2500
  			},
  			{
  				type: "tech",
  				id: "printing_press",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "magic_arts_teaching",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 39000
  			},
  			{
  				type: "tech",
  				id: "order_of_clerics",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "mana_utilization",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 50000
  			},
  			{
  				type: "tech",
  				id: "magic_arts_teaching",
  				value: 1
  			},
  			{
  				type: "tech",
  				id: "dragon_assault",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "large_defensive_project",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 35000
  			},
  			{
  				type: "building",
  				id: "military_academy",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "commercial_monopolies",
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 70000
  			},
  			{
  				type: "cap",
  				id: "gold",
  				value: 70000
  			}
  		]
  	},
  	{
  		id: "gold_domination_project",
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 100000
  			},
  			{
  				type: "building",
  				id: "stock_exchange",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "exterminate_competition",
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 150000
  			},
  			{
  				type: "cap",
  				id: "gold",
  				value: 150000
  			},
  			{
  				type: "prayer",
  				id: "gold_consecration",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 10
  			}
  		]
  	},
  	{
  		id: "theresmore_richest_nation",
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 200000
  			},
  			{
  				type: "cap",
  				id: "gold",
  				value: 200000
  			},
  			{
  				type: "tech",
  				id: "exterminate_competition",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "coin",
  				value: 1,
  				fix: true
  			}
  		]
  	},
  	{
  		id: "poisoned_arrows",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 1000
  			},
  			{
  				type: "enemy",
  				id: "goblin_lair",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "archer",
  				type_gen: "stat",
  				gen: "attack",
  				value: 2,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "crossbowman",
  				type_gen: "stat",
  				gen: "attack",
  				value: 2,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "construction_of_automata",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 8000
  			},
  			{
  				type: "prayer",
  				id: "study_undead_creatures",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "safe_roads",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 9000
  			},
  			{
  				type: "enemy",
  				id: "bandit_camp",
  				value: 1
  			},
  			{
  				type: "enemy",
  				id: "deserters_den",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "agreement_passage_wanders",
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 15000
  			},
  			{
  				type: "diplomacy_alliance",
  				id: "theresmore_wanders",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "scout_mission_east",
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 15000
  			},
  			{
  				type: "diplomacy_owned",
  				id: "theresmore_wanders",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "large_pastures",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 9000
  			},
  			{
  				type: "tech",
  				id: "agreement_passage_wanders",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "breeder",
  				type_gen: "resource",
  				gen: "horse",
  				value: 5,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "great_pastures",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 9000
  			},
  			{
  				type: "tech",
  				id: "scout_mission_east",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "population",
  				id: "breeder",
  				type_gen: "resource",
  				gen: "horse",
  				value: 10,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "pentagram_tome",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 5000
  			},
  			{
  				type: "enemy",
  				id: "strange_village",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "underground_kobold_mission",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 7000
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 10000
  			},
  			{
  				type: "enemy",
  				id: "kobold_underground_tunnels",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "kobold_nation",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 15000
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 15000
  			},
  			{
  				type: "enemy",
  				id: "kobold_city",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "portal_of_the_dead",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 40000
  			},
  			{
  				type: "building",
  				id: "mine",
  				value: 15
  			},
  			{
  				type: "building",
  				id: "pillars_of_mana",
  				value: 5
  			}
  		]
  	},
  	{
  		id: "trail_blood",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 50000
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 10000
  			},
  			{
  				type: "enemy",
  				id: "vampire_crypt",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "mana_engine",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 56000
  			},
  			{
  				type: "building",
  				id: "mana_pit",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "long_expedition",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 56000
  			},
  			{
  				type: "tech",
  				id: "mana_engine",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "shores_theresmore",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 57000
  			},
  			{
  				type: "tech",
  				id: "long_expedition",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "mechanization",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 57000
  			},
  			{
  				type: "tech",
  				id: "mana_engine",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "storage_district",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 57000
  			},
  			{
  				type: "tech",
  				id: "mechanization",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "natronite_storage",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 59000
  			},
  			{
  				type: "tech",
  				id: "mechanization",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "research_district",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 59000
  			},
  			{
  				type: "tech",
  				id: "mechanization",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "adamantium_projectiles",
  		req: [
  			{
  				type: "resource",
  				id: "steel",
  				value: 10000
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 5000
  			},
  			{
  				type: "resource",
  				id: "saltpetre",
  				value: 5000
  			},
  			{
  				type: "tech",
  				id: "research_district",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "archer",
  				type_gen: "stat",
  				gen: "attack",
  				value: 4,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "crossbowman",
  				type_gen: "stat",
  				gen: "attack",
  				value: 4,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "white_company",
  				type_gen: "stat",
  				gen: "attack",
  				value: 4,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "arquebusier",
  				type_gen: "stat",
  				gen: "attack",
  				value: 4,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "adamantium_shield",
  		req: [
  			{
  				type: "resource",
  				id: "wood",
  				value: 25000
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: 10000
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 5000
  			},
  			{
  				type: "resource",
  				id: "saltpetre",
  				value: 5000
  			},
  			{
  				type: "tech",
  				id: "research_district",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "spearman",
  				type_gen: "stat",
  				gen: "defense",
  				value: 4,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "phalanx",
  				type_gen: "stat",
  				gen: "defense",
  				value: 4,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "shieldbearer",
  				type_gen: "stat",
  				gen: "defense",
  				value: 4,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "cleric",
  				type_gen: "stat",
  				gen: "defense",
  				value: 4,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "adamantium_sword",
  		req: [
  			{
  				type: "resource",
  				id: "steel",
  				value: 15000
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 7500
  			},
  			{
  				type: "resource",
  				id: "saltpetre",
  				value: 7500
  			},
  			{
  				type: "tech",
  				id: "research_district",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "warrior",
  				type_gen: "stat",
  				gen: "attack",
  				value: 3,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "warrior",
  				type_gen: "stat",
  				gen: "defense",
  				value: 2,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "heavy_warrior",
  				type_gen: "stat",
  				gen: "attack",
  				value: 3,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "heavy_warrior",
  				type_gen: "stat",
  				gen: "defense",
  				value: 2,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "mercenary_veteran",
  				type_gen: "stat",
  				gen: "attack",
  				value: 3,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "mercenary_veteran",
  				type_gen: "stat",
  				gen: "defense",
  				value: 2,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "canava_guard",
  				type_gen: "stat",
  				gen: "attack",
  				value: 3,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "canava_guard",
  				type_gen: "stat",
  				gen: "defense",
  				value: 2,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "man_at_arms",
  				type_gen: "stat",
  				gen: "attack",
  				value: 3,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "man_at_arms",
  				type_gen: "stat",
  				gen: "defense",
  				value: 2,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "commander",
  				type_gen: "stat",
  				gen: "attack",
  				value: 3,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "commander",
  				type_gen: "stat",
  				gen: "defense",
  				value: 2,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "adamantium_lance",
  		req: [
  			{
  				type: "resource",
  				id: "steel",
  				value: 12000
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 5500
  			},
  			{
  				type: "resource",
  				id: "saltpetre",
  				value: 5500
  			},
  			{
  				type: "tech",
  				id: "research_district",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "light_cavarly",
  				type_gen: "stat",
  				gen: "attack",
  				value: 5,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "knight",
  				type_gen: "stat",
  				gen: "attack",
  				value: 5,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "cataphract",
  				type_gen: "stat",
  				gen: "attack",
  				value: 5,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "cuirassier",
  				type_gen: "stat",
  				gen: "attack",
  				value: 5,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "harbor_project",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 60000
  			},
  			{
  				type: "tech",
  				id: "shores_theresmore",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "financial_markets",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 62000
  			},
  			{
  				type: "tech",
  				id: "research_district",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "natrocity",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 66000
  			},
  			{
  				type: "tech",
  				id: "financial_markets",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "biology",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 69000
  			},
  			{
  				type: "tech",
  				id: "research_district",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 50,
  				fix: true
  			},
  			{
  				type: "resource",
  				id: "food",
  				value: 4
  			},
  			{
  				type: "population",
  				id: "unemployed",
  				value: 4
  			}
  		]
  	},
  	{
  		id: "ecology",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 73000
  			},
  			{
  				type: "tech",
  				id: "research_district",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "flight",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 76000
  			},
  			{
  				type: "tech",
  				id: "natrocity",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "flintlock_musket",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 79000
  			},
  			{
  				type: "tech",
  				id: "mechanization",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "military_tactics",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 82000
  			},
  			{
  				type: "tech",
  				id: "flintlock_musket",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "land_mine",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 85000
  			},
  			{
  				type: "tech",
  				id: "military_tactics",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "field_artillery",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 85000
  			},
  			{
  				type: "tech",
  				id: "military_tactics",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "veteran_artillerymen",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 85000
  			},
  			{
  				type: "tech",
  				id: "field_artillery",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "communion_nature",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 90000
  			},
  			{
  				type: "tech",
  				id: "ecology",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "lonely_druid",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 13000
  			},
  			{
  				type: "tech",
  				id: "communion_nature",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "rage_druid",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 95000
  			},
  			{
  				type: "prayer",
  				id: "banish_druid",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "miracle_city",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 98000
  			},
  			{
  				type: "prayer",
  				id: "prayer_lonely_druid",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "preparation_war",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 98000
  			},
  			{
  				type: "prayer",
  				id: "city_blessing",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "mysterious_robbery",
  		confirm: true,
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 108000
  			},
  			{
  				type: "tech",
  				id: "miracle_city",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "fallen_angel",
  		confirm: true,
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 108000
  			},
  			{
  				type: "tech",
  				id: "preparation_war",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "joyful_nation_1",
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 8000
  			},
  			{
  				type: "tech",
  				id: "mysterious_robbery",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 300,
  				fix: true
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "joyful_nation_2",
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 8000
  			},
  			{
  				type: "tech",
  				id: "fallen_angel",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 300,
  				fix: true
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "end_era_4_1",
  		req: [
  			{
  				type: "tech",
  				id: "joyful_nation_1",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "tech",
  				id: "end_4",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "end_era_4_2",
  		req: [
  			{
  				type: "tech",
  				id: "joyful_nation_2",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "tech",
  				id: "end_4",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "seafaring",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 115000
  			},
  			{
  				type: "building",
  				id: "harbor_district",
  				value: 1
  			},
  			{
  				type: "tech",
  				id: "end_4",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "outpost_tiny_island",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 115000
  			},
  			{
  				type: "enemy",
  				id: "far_west_island",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "the_journey",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 121000
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 190000
  			},
  			{
  				type: "resource",
  				id: "food",
  				value: 14000
  			},
  			{
  				type: "resource",
  				id: "supplies",
  				value: 14000
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 12000
  			},
  			{
  				type: "building",
  				id: "island_outpost",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "beacon_faith",
  		req: [
  			{
  				type: "building",
  				id: "colony_hall",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "tech",
  				id: "military_colony",
  				value: -1
  			},
  			{
  				type: "tech",
  				id: "productive_hub",
  				value: -1
  			}
  		]
  	},
  	{
  		id: "military_colony",
  		req: [
  			{
  				type: "building",
  				id: "colony_hall",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "tech",
  				id: "beacon_faith",
  				value: -1
  			},
  			{
  				type: "tech",
  				id: "productive_hub",
  				value: -1
  			}
  		]
  	},
  	{
  		id: "productive_hub",
  		req: [
  			{
  				type: "building",
  				id: "colony_hall",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "tech",
  				id: "beacon_faith",
  				value: -1
  			},
  			{
  				type: "tech",
  				id: "military_colony",
  				value: -1
  			}
  		]
  	},
  	{
  		id: "colonial_docks",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 120000
  			},
  			{
  				type: "building",
  				id: "colony_hall",
  				value: 1
  			},
  			{
  				type: "tech",
  				id: "productive_hub",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "overseas_refinery",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 121000
  			},
  			{
  				type: "building",
  				id: "colony_hall",
  				value: 1
  			},
  			{
  				type: "tech",
  				id: "productive_hub",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "centralized_power",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 125000
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 50000
  			},
  			{
  				type: "building",
  				id: "colony_hall",
  				value: 2
  			},
  			{
  				type: "tech",
  				id: "seafaring",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "huge_cave_t",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 125000
  			},
  			{
  				type: "enemy",
  				id: "huge_cave",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "colonial_trade",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 126000
  			},
  			{
  				type: "building",
  				id: "colony_hall",
  				value: 5
  			},
  			{
  				type: "tech",
  				id: "productive_hub",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "new_world_militia",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 130000
  			},
  			{
  				type: "building",
  				id: "colony_hall",
  				value: 10
  			},
  			{
  				type: "tech",
  				id: "productive_hub",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "landed_estates",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 132000
  			},
  			{
  				type: "building",
  				id: "colony_hall",
  				value: 10
  			},
  			{
  				type: "tech",
  				id: "productive_hub",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "mass_transit",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 135000
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 10000
  			},
  			{
  				type: "tech",
  				id: "centralized_power",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "port_statue",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 140000
  			},
  			{
  				type: "building",
  				id: "colony_hall",
  				value: 15
  			},
  			{
  				type: "tech",
  				id: "productive_hub",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "colonial_camp",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 120000
  			},
  			{
  				type: "building",
  				id: "colony_hall",
  				value: 1
  			},
  			{
  				type: "tech",
  				id: "military_colony",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "guerrilla_warfare",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 121000
  			},
  			{
  				type: "building",
  				id: "colony_hall",
  				value: 1
  			},
  			{
  				type: "tech",
  				id: "military_colony",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "colonial_stronghold",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 126000
  			},
  			{
  				type: "building",
  				id: "colony_hall",
  				value: 5
  			},
  			{
  				type: "tech",
  				id: "military_colony",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "colonial_recruits",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 132000
  			},
  			{
  				type: "building",
  				id: "colony_hall",
  				value: 10
  			},
  			{
  				type: "tech",
  				id: "military_colony",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "dimensional_device",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 134000
  			},
  			{
  				type: "building",
  				id: "colony_hall",
  				value: 10
  			},
  			{
  				type: "tech",
  				id: "military_colony",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "fortified_colony",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 140000
  			},
  			{
  				type: "building",
  				id: "colony_hall",
  				value: 15
  			},
  			{
  				type: "tech",
  				id: "military_colony",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "steel_flesh",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 142000
  			},
  			{
  				type: "building",
  				id: "colony_hall",
  				value: 15
  			},
  			{
  				type: "tech",
  				id: "military_colony",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "faith_world",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 120000
  			},
  			{
  				type: "building",
  				id: "colony_hall",
  				value: 1
  			},
  			{
  				type: "tech",
  				id: "beacon_faith",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "new_old_gods",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 126000
  			},
  			{
  				type: "building",
  				id: "colony_hall",
  				value: 5
  			},
  			{
  				type: "tech",
  				id: "beacon_faith",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "mana_investigation",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 132000
  			},
  			{
  				type: "building",
  				id: "colony_hall",
  				value: 10
  			},
  			{
  				type: "tech",
  				id: "beacon_faith",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "colonial_consacration",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 140000
  			},
  			{
  				type: "building",
  				id: "colony_hall",
  				value: 15
  			},
  			{
  				type: "tech",
  				id: "beacon_faith",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "railroad",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 145000
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: 18000
  			},
  			{
  				type: "tech",
  				id: "mass_transit",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "strange_encounter",
  		req: [
  			{
  				type: "building",
  				id: "colony_hall",
  				value: 4
  			},
  			{
  				type: "tech",
  				id: "seafaring",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "colonial_exploitations",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 125000
  			},
  			{
  				type: "building",
  				id: "colony_hall",
  				value: 3
  			}
  		]
  	},
  	{
  		id: "artisan_complex",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 126000
  			},
  			{
  				type: "building",
  				id: "colony_hall",
  				value: 3
  			},
  			{
  				type: "tech",
  				id: "colonial_exploitations",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "alchemist_complex_t",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 128000
  			},
  			{
  				type: "building",
  				id: "colony_hall",
  				value: 5
  			},
  			{
  				type: "tech",
  				id: "artisan_complex",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "large_shed_t",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 128000
  			},
  			{
  				type: "building",
  				id: "colony_hall",
  				value: 5
  			},
  			{
  				type: "tech",
  				id: "artisan_complex",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "trenches",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 128000
  			},
  			{
  				type: "building",
  				id: "colony_hall",
  				value: 5
  			},
  			{
  				type: "tech",
  				id: "artisan_complex",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "new_world_exploration",
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 80000
  			},
  			{
  				type: "building",
  				id: "colony_hall",
  				value: 6
  			},
  			{
  				type: "tech",
  				id: "seafaring",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "mithril_projectiles",
  		req: [
  			{
  				type: "resource",
  				id: "steel",
  				value: 25000
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 5000
  			},
  			{
  				type: "tech",
  				id: "new_world_exploration",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "archer",
  				type_gen: "stat",
  				gen: "attack",
  				value: 5,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "crossbowman",
  				type_gen: "stat",
  				gen: "attack",
  				value: 5,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "white_company",
  				type_gen: "stat",
  				gen: "attack",
  				value: 5,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "arquebusier",
  				type_gen: "stat",
  				gen: "attack",
  				value: 5,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "ranger",
  				type_gen: "stat",
  				gen: "attack",
  				value: 5,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "elf_warrior",
  				type_gen: "stat",
  				gen: "attack",
  				value: 5,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "marksman",
  				type_gen: "stat",
  				gen: "attack",
  				value: 5,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "mithril_shield",
  		req: [
  			{
  				type: "resource",
  				id: "steel",
  				value: 20000
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 7000
  			},
  			{
  				type: "tech",
  				id: "new_world_exploration",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "spearman",
  				type_gen: "stat",
  				gen: "defense",
  				value: 5,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "phalanx",
  				type_gen: "stat",
  				gen: "defense",
  				value: 5,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "shieldbearer",
  				type_gen: "stat",
  				gen: "defense",
  				value: 5,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "cleric",
  				type_gen: "stat",
  				gen: "defense",
  				value: 5,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "paladin",
  				type_gen: "stat",
  				gen: "defense",
  				value: 5,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "mithril_sword",
  		req: [
  			{
  				type: "resource",
  				id: "steel",
  				value: 30000
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 12500
  			},
  			{
  				type: "tech",
  				id: "new_world_exploration",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "warrior",
  				type_gen: "stat",
  				gen: "attack",
  				value: 3,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "warrior",
  				type_gen: "stat",
  				gen: "defense",
  				value: 3,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "heavy_warrior",
  				type_gen: "stat",
  				gen: "attack",
  				value: 3,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "heavy_warrior",
  				type_gen: "stat",
  				gen: "defense",
  				value: 3,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "mercenary_veteran",
  				type_gen: "stat",
  				gen: "attack",
  				value: 3,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "mercenary_veteran",
  				type_gen: "stat",
  				gen: "defense",
  				value: 3,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "canava_guard",
  				type_gen: "stat",
  				gen: "attack",
  				value: 3,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "canava_guard",
  				type_gen: "stat",
  				gen: "defense",
  				value: 3,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "man_at_arms",
  				type_gen: "stat",
  				gen: "attack",
  				value: 3,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "man_at_arms",
  				type_gen: "stat",
  				gen: "defense",
  				value: 3,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "line_infantry",
  				type_gen: "stat",
  				gen: "attack",
  				value: 3,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "line_infantry",
  				type_gen: "stat",
  				gen: "defense",
  				value: 3,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "colonial_militia",
  				type_gen: "stat",
  				gen: "attack",
  				value: 3,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "colonial_militia",
  				type_gen: "stat",
  				gen: "defense",
  				value: 3,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "commander",
  				type_gen: "stat",
  				gen: "attack",
  				value: 3,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "commander",
  				type_gen: "stat",
  				gen: "defense",
  				value: 3,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "general",
  				type_gen: "stat",
  				gen: "attack",
  				value: 3,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "general",
  				type_gen: "stat",
  				gen: "defense",
  				value: 3,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "mithril_lance",
  		req: [
  			{
  				type: "resource",
  				id: "steel",
  				value: 17000
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 10000
  			},
  			{
  				type: "tech",
  				id: "new_world_exploration",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "light_cavarly",
  				type_gen: "stat",
  				gen: "attack",
  				value: 6,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "knight",
  				type_gen: "stat",
  				gen: "attack",
  				value: 6,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "cataphract",
  				type_gen: "stat",
  				gen: "attack",
  				value: 6,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "cuirassier",
  				type_gen: "stat",
  				gen: "attack",
  				value: 6,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "aid_request",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 132000
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 10000
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 10000
  			},
  			{
  				type: "tech",
  				id: "strange_encounter",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "elf_survivors",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 135000
  			},
  			{
  				type: "enemy",
  				id: "ettin_camp",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "elf_warriors",
  		req: [
  			{
  				type: "resource",
  				id: "crystal",
  				value: 14500
  			},
  			{
  				type: "building",
  				id: "elf_encampment",
  				value: 5
  			}
  		]
  	},
  	{
  		id: "temple_luna",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 150000
  			},
  			{
  				type: "building",
  				id: "colony_hall",
  				value: 8
  			}
  		]
  	},
  	{
  		id: "elf_last_village",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 155000
  			},
  			{
  				type: "enemy",
  				id: "desecrated_temple",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "atomic_theory",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 155000
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 18000
  			},
  			{
  				type: "tech",
  				id: "elf_survivors",
  				value: 1
  			},
  			{
  				type: "building",
  				id: "ministry_development",
  				value: 3
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 100,
  				fix: true
  			}
  		]
  	},
  	{
  		id: "mana_reactors",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 160000
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 15000
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 15000
  			},
  			{
  				type: "tech",
  				id: "atomic_theory",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "assembly_line",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 165000
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: 20000
  			},
  			{
  				type: "building",
  				id: "ministry_development",
  				value: 6
  			}
  		]
  	},
  	{
  		id: "replicable_parts",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 170000
  			},
  			{
  				type: "tech",
  				id: "assembly_line",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "metal_alloys",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 180000
  			},
  			{
  				type: "tech",
  				id: "replicable_parts",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "burned_farms",
  		req: [
  			{
  				type: "building",
  				id: "colony_hall",
  				value: 12
  			}
  		]
  	},
  	{
  		id: "orcish_threat",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 190000
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 120000
  			},
  			{
  				type: "enemy",
  				id: "orcish_prison_camp",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "general",
  				type_gen: "stat",
  				gen: "attack",
  				value: 20,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "general",
  				type_gen: "stat",
  				gen: "defense",
  				value: 20,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "orcish_citadel",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 190000
  			},
  			{
  				type: "enemy",
  				id: "orc_raiding_party",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "mankind_darkest",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 200000
  			},
  			{
  				type: "enemy",
  				id: "orc_gormiak_citadel",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "war_effort",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 18000
  			},
  			{
  				type: "tech",
  				id: "mankind_darkest",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 6,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "research",
  				value: 6,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "kobu_dominion",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 200000
  			},
  			{
  				type: "building",
  				id: "archeological_dig",
  				value: 10
  			}
  		]
  	},
  	{
  		id: "honor_humanity",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 200000
  			},
  			{
  				type: "enemy",
  				id: "orc_ogsog_citadel",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "line_infantry",
  				type_gen: "stat",
  				gen: "attack",
  				value: 4,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "line_infantry",
  				type_gen: "stat",
  				gen: "defense",
  				value: 8,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "swear_give_up",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 200000
  			},
  			{
  				type: "enemy",
  				id: "orc_turgon_citadel",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 150,
  				fix: true
  			},
  			{
  				type: "cap",
  				id: "army",
  				value: 50
  			}
  		]
  	},
  	{
  		id: "path_children",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 200000
  			},
  			{
  				type: "enemy",
  				id: "orc_horith_citadel",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "orc_horde",
  		confirm: true,
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 210000
  			},
  			{
  				type: "enemy",
  				id: "orc_horith_citadel",
  				value: 1
  			},
  			{
  				type: "enemy",
  				id: "orc_ogsog_citadel",
  				value: 1
  			},
  			{
  				type: "enemy",
  				id: "orc_turgon_citadel",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "the_triumph",
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 25000
  			},
  			{
  				type: "tech",
  				id: "orc_horde",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 450,
  				fix: true
  			}
  		]
  	},
  	{
  		id: "elf_decadence",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 215000
  			},
  			{
  				type: "tech",
  				id: "the_triumph",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "ancient_artifact",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 230000
  			},
  			{
  				type: "building",
  				id: "sanctum_healing",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "cavern_artifact",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 230000
  			},
  			{
  				type: "enemy",
  				id: "lost_valley",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "repair_elf_genoma",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 230000
  			},
  			{
  				type: "building",
  				id: "containment_cell",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "elf_warrior",
  				type_gen: "stat",
  				gen: "attack",
  				value: 22,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "elf_warrior",
  				type_gen: "stat",
  				gen: "defense",
  				value: 22,
  				perc: false
  			},
  			{
  				type: "cap",
  				id: "army",
  				value: 30
  			}
  		]
  	},
  	{
  		id: "elves_thrive",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 230000
  			},
  			{
  				type: "tech",
  				id: "repair_elf_genoma",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "myth_south",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 230000
  			},
  			{
  				type: "tech",
  				id: "repair_elf_genoma",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "kobu_dominion_storehouse",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 200000
  			},
  			{
  				type: "enemy",
  				id: "immense_door_e",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "drone",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 250000
  			},
  			{
  				type: "diplomacy_alliance",
  				id: "kobu_dominion_r",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "loot_storehouse",
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 250000
  			},
  			{
  				type: "tech",
  				id: "kobu_dominion_storehouse",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "steel",
  				value: 3,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 3,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 3,
  				perc: true
  			},
  			{
  				type: "tech",
  				id: "restore_crystal",
  				value: -1
  			}
  		]
  	},
  	{
  		id: "restore_crystal",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 500000
  			},
  			{
  				type: "tech",
  				id: "kobu_dominion_storehouse",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "tech",
  				id: "loot_storehouse",
  				value: -1
  			}
  		]
  	},
  	{
  		id: "human_dna",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 250000
  			},
  			{
  				type: "building",
  				id: "containment_cell",
  				value: 2
  			}
  		]
  	},
  	{
  		id: "genetic_hub_t",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 250000
  			},
  			{
  				type: "tech",
  				id: "human_dna",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "black_artifact",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 260000
  			},
  			{
  				type: "building",
  				id: "containment_cell",
  				value: 3
  			}
  		]
  	},
  	{
  		id: "trail_fire",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 270000
  			},
  			{
  				type: "enemy",
  				id: "explore_desert",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "tyrant_ash",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 280000
  			},
  			{
  				type: "enemy",
  				id: "fire_mage_domain",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "vaelgoroth_t",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 300000
  			},
  			{
  				type: "enemy",
  				id: "elder_dragon",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "the_portal_t",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 260000
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 12000
  			},
  			{
  				type: "enemy",
  				id: "corrupted_lands",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "survey_abyss",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 260000
  			},
  			{
  				type: "building",
  				id: "beacon_light",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "lumix_t",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 260000
  			},
  			{
  				type: "building",
  				id: "beacon_light",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "effort_abyss",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 260000
  			},
  			{
  				type: "building",
  				id: "lumix_plant",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "overlook_darkness",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 260000
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 12000
  			},
  			{
  				type: "tech",
  				id: "survey_abyss",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "delimiting_perimeter",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 260000
  			},
  			{
  				type: "resource",
  				id: "building_material",
  				value: 60000
  			},
  			{
  				type: "tech",
  				id: "overlook_darkness",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "arcane_study",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 260000
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 39000
  			},
  			{
  				type: "tech",
  				id: "delimiting_perimeter",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "extensive_cultivation_t",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 270000
  			},
  			{
  				type: "resource",
  				id: "horse",
  				value: 7500
  			},
  			{
  				type: "tech",
  				id: "effort_abyss",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "market_laws",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 270000
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 250000
  			},
  			{
  				type: "tech",
  				id: "effort_abyss",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "crystal_farm_t",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 270000
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 50000
  			},
  			{
  				type: "tech",
  				id: "extensive_cultivation_t",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "steel_mills_t",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 270000
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: 50000
  			},
  			{
  				type: "tech",
  				id: "market_laws",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "mana_maker_t",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 270000
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 40000
  			},
  			{
  				type: "tech",
  				id: "crystal_farm_t",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "abyss_shrine",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 280000
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 500000
  			},
  			{
  				type: "tech",
  				id: "arcane_study",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "underground_rooms",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 300000
  			},
  			{
  				type: "tech",
  				id: "arcane_study",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "explore_sorrounding",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 300000
  			},
  			{
  				type: "tech",
  				id: "underground_rooms",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "drain_mana",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 300000
  			},
  			{
  				type: "tech",
  				id: "underground_rooms",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "dark_land",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 330000
  			},
  			{
  				type: "resource",
  				id: "lumix",
  				value: 1000
  			},
  			{
  				type: "building",
  				id: "beacon_light",
  				value: 5
  			},
  			{
  				type: "enemy",
  				id: "dark_village",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "dark_castle",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 330000
  			},
  			{
  				type: "enemy",
  				id: "dark_knight_patrol",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "conquer_abyss",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 350000
  			},
  			{
  				type: "enemy",
  				id: "dark_knight_lord",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "light_square",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 350000
  			},
  			{
  				type: "resource",
  				id: "lumix",
  				value: 1000
  			},
  			{
  				type: "tech",
  				id: "dark_land",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "mercenary_abyss",
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 100000
  			},
  			{
  				type: "resource",
  				id: "lumix",
  				value: 1200
  			},
  			{
  				type: "building",
  				id: "light_square_b",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "gather_shooters",
  		req: [
  			{
  				type: "resource",
  				id: "wood",
  				value: 100000
  			},
  			{
  				type: "resource",
  				id: "lumix",
  				value: 1200
  			},
  			{
  				type: "building",
  				id: "light_square_b",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "marksman",
  				type_gen: "stat",
  				gen: "attack",
  				value: 12,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "marksman",
  				type_gen: "stat",
  				gen: "defense",
  				value: 8,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "gather_bastion",
  		req: [
  			{
  				type: "resource",
  				id: "stone",
  				value: 100000
  			},
  			{
  				type: "resource",
  				id: "lumix",
  				value: 1200
  			},
  			{
  				type: "building",
  				id: "light_square_b",
  				value: 2
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "cleric",
  				type_gen: "stat",
  				gen: "attack",
  				value: 6,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "cleric",
  				type_gen: "stat",
  				gen: "defense",
  				value: 18,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "gather_troops",
  		req: [
  			{
  				type: "resource",
  				id: "iron",
  				value: 50000
  			},
  			{
  				type: "resource",
  				id: "lumix",
  				value: 1200
  			},
  			{
  				type: "building",
  				id: "light_square_b",
  				value: 3
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "line_infantry",
  				type_gen: "stat",
  				gen: "attack",
  				value: 8,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "line_infantry",
  				type_gen: "stat",
  				gen: "defense",
  				value: 8,
  				perc: false
  			},
  			{
  				type: "cap",
  				id: "army",
  				value: 8
  			}
  		]
  	},
  	{
  		id: "gather_heavy",
  		req: [
  			{
  				type: "resource",
  				id: "steel",
  				value: 30000
  			},
  			{
  				type: "resource",
  				id: "lumix",
  				value: 1200
  			},
  			{
  				type: "building",
  				id: "light_square_b",
  				value: 4
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "steel_rider",
  				type_gen: "stat",
  				gen: "attack",
  				value: 12,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "steel_rider",
  				type_gen: "stat",
  				gen: "defense",
  				value: 18,
  				perc: false
  			},
  			{
  				type: "cap",
  				id: "army",
  				value: 8
  			}
  		]
  	},
  	{
  		id: "fortify_abyss",
  		req: [
  			{
  				type: "resource",
  				id: "building_material",
  				value: 50000
  			},
  			{
  				type: "resource",
  				id: "lumix",
  				value: 1200
  			},
  			{
  				type: "building",
  				id: "light_square_b",
  				value: 5
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "settlement_defenses",
  				type_gen: "stat",
  				gen: "attack",
  				value: 80,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "settlement_defenses",
  				type_gen: "stat",
  				gen: "defense",
  				value: 1200,
  				perc: false
  			}
  		]
  	},
  	{
  		id: "titan_mosaic",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 215000
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 12000
  			},
  			{
  				type: "enemy",
  				id: "giant_temple",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "titan_gift_t",
  		req: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 240000
  			},
  			{
  				type: "enemy",
  				id: "sleeping_titan",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "titan_gift",
  				value: 1,
  				fix: true
  			}
  		]
  	},
  	{
  		id: "dark_crystal",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 200000
  			},
  			{
  				type: "diplomacy_owned",
  				id: "lich_fortress",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "angel_palace_t",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 360000
  			},
  			{
  				type: "resource",
  				id: "faith",
  				value: 20000
  			},
  			{
  				type: "building",
  				id: "light_square_b",
  				value: 5
  			}
  		]
  	},
  	{
  		id: "rocketry",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 360000
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 20000
  			},
  			{
  				type: "building",
  				id: "light_square_b",
  				value: 5
  			}
  		]
  	},
  	{
  		id: "machine_gun",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 370000
  			},
  			{
  				type: "resource",
  				id: "lumix",
  				value: 2000
  			},
  			{
  				type: "tech",
  				id: "rocketry",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "probes",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 370000
  			},
  			{
  				type: "resource",
  				id: "lumix",
  				value: 3000
  			},
  			{
  				type: "tech",
  				id: "rocketry",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "super_soldier",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 370000
  			},
  			{
  				type: "resource",
  				id: "lumix",
  				value: 2000
  			},
  			{
  				type: "tech",
  				id: "rocketry",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "satellite",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 450000
  			},
  			{
  				type: "tech",
  				id: "probes",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 150,
  				fix: true
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 12,
  				perc: true
  			},
  			{
  				type: "resource",
  				id: "food",
  				value: 12,
  				perc: true
  			}
  		]
  	},
  	{
  		id: "artillery_officer_t",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 460000
  			},
  			{
  				type: "tech",
  				id: "satellite",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "the_signal",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 470000
  			},
  			{
  				type: "tech",
  				id: "satellite",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "decrypt_signal",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 500000
  			},
  			{
  				type: "tech",
  				id: "the_signal",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "nuclear_power",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 500000
  			},
  			{
  				type: "tech",
  				id: "decrypt_signal",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "zenix_return",
  		req: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 100000
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 100000
  			},
  			{
  				type: "tech",
  				id: "decrypt_signal",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "activate_signal",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 510000
  			},
  			{
  				type: "building",
  				id: "signal_machine",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "research_annhilator",
  		req: [
  			{
  				type: "resource",
  				id: "research",
  				value: 520000
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 180000
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 180000
  			},
  			{
  				type: "tech",
  				id: "activate_signal",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "create_annhilator",
  		req: [
  			{
  				type: "resource",
  				id: "steel",
  				value: 150000
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 130000
  			},
  			{
  				type: "resource",
  				id: "lumix",
  				value: 9000
  			},
  			{
  				type: "tech",
  				id: "research_annhilator",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "launch_annhilator",
  		req: [
  			{
  				type: "tech",
  				id: "create_annhilator",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "tech",
  				id: "destroy_annhilator",
  				value: -1
  			}
  		]
  	},
  	{
  		id: "destroy_annhilator",
  		req: [
  			{
  				type: "tech",
  				id: "create_annhilator",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "machine_gun_u",
  				type_gen: "stat",
  				gen: "attack",
  				value: 32,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "machine_gun_u",
  				type_gen: "stat",
  				gen: "defense",
  				value: 18,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "rifleman_u",
  				type_gen: "stat",
  				gen: "attack",
  				value: 28,
  				perc: false
  			},
  			{
  				type: "modifier",
  				type_id: "army",
  				id: "rifleman_u",
  				type_gen: "stat",
  				gen: "defense",
  				value: 28,
  				perc: false
  			},
  			{
  				type: "tech",
  				id: "launch_annhilator",
  				value: -1
  			}
  		]
  	},
  	{
  		id: "guide_mankind",
  		req: [
  			{
  				type: "resource",
  				id: "stone",
  				value: 300000
  			},
  			{
  				type: "resource",
  				id: "lumix",
  				value: 10000
  			},
  			{
  				type: "tech",
  				id: "destroy_annhilator",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "mindless_evil",
  		req: [
  			{
  				type: "tech",
  				id: "destroy_annhilator",
  				value: 1
  			},
  			{
  				type: "diplomacy_owned",
  				id: "baron_mordecai",
  				value: 1
  			},
  			{
  				type: "diplomacy_owned",
  				id: "hand_evil",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "save_theresmore",
  		req: [
  			{
  				type: "tech",
  				id: "mindless_evil",
  				value: 1
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "fame",
  				value: 750,
  				fix: true
  			}
  		]
  	}
  ];

  var units = [
  	{
  		id: "settlement_defenses",
  		type: "settlement",
  		attack: 1,
  		defense: 50,
  		order: 0,
  		category: 0,
  		splash: 20
  	},
  	{
  		id: "scout",
  		type: "recon",
  		attack: 2,
  		defense: 2,
  		order: 3,
  		category: 0,
  		req: [
  			{
  				type: "tech",
  				id: "archery",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 400
  			},
  			{
  				type: "resource",
  				id: "food",
  				value: 200
  			}
  		],
  		reqAttack: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 200
  			},
  			{
  				type: "resource",
  				id: "food",
  				value: 100
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "food",
  				value: -0.1
  			}
  		]
  	},
  	{
  		id: "explorer",
  		type: "recon",
  		attack: 5,
  		defense: 5,
  		order: 3,
  		category: 0,
  		req: [
  			{
  				type: "tech",
  				id: "guild",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 1000
  			},
  			{
  				type: "resource",
  				id: "supplies",
  				value: 100
  			}
  		],
  		reqAttack: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 400
  			},
  			{
  				type: "resource",
  				id: "supplies",
  				value: 20
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "food",
  				value: -0.2
  			}
  		]
  	},
  	{
  		id: "drone_u",
  		type: "recon",
  		attack: 10,
  		defense: 10,
  		order: 3,
  		cap: 5,
  		category: 0,
  		req: [
  			{
  				type: "tech",
  				id: "drone",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 100
  			}
  		],
  		reqAttack: [
  			{
  				type: "resource",
  				id: "natronite",
  				value: 50
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "research",
  				value: 5
  			}
  		]
  	},
  	{
  		id: "familiar",
  		type: "recon",
  		attack: 4,
  		defense: 4,
  		order: 3,
  		cap: 5,
  		category: 0,
  		req: [
  			{
  				type: "tech",
  				id: "zenix_familiar_t",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "food",
  				value: 100
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 100
  			}
  		],
  		reqAttack: [
  			{
  				type: "resource",
  				id: "food",
  				value: 100
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 100
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "research",
  				value: 0.4
  			}
  		]
  	},
  	{
  		id: "spy",
  		type: "spy",
  		attack: 7,
  		defense: 3,
  		order: 3,
  		category: 0,
  		req: [
  			{
  				type: "tech",
  				id: "espionage",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 1000
  			}
  		],
  		reqAttack: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 100
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "food",
  				value: -0.1
  			}
  		]
  	},
  	{
  		id: "archer",
  		type: "army",
  		attack: 3,
  		defense: 2,
  		order: 3,
  		category: 1,
  		req: [
  			{
  				type: "tech",
  				id: "archery",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 200
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 100
  			}
  		],
  		reqAttack: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 20
  			},
  			{
  				type: "resource",
  				id: "food",
  				value: 20
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "food",
  				value: -0.2
  			}
  		]
  	},
  	{
  		id: "battering_ram",
  		type: "army",
  		attack: 14,
  		defense: 2,
  		order: 3,
  		category: 1,
  		splash: 2,
  		req: [
  			{
  				type: "tech",
  				id: "warfare",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 800
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 1000
  			}
  		],
  		reqAttack: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 80
  			},
  			{
  				type: "resource",
  				id: "food",
  				value: 50
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "gold",
  				value: -5
  			}
  		]
  	},
  	{
  		id: "crossbowman",
  		type: "army",
  		attack: 11,
  		defense: 6,
  		order: 3,
  		category: 1,
  		req: [
  			{
  				type: "tech",
  				id: "crossbow",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 1000
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 400
  			},
  			{
  				type: "resource",
  				id: "supplies",
  				value: 50
  			}
  		],
  		reqAttack: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 40
  			},
  			{
  				type: "resource",
  				id: "food",
  				value: 40
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "food",
  				value: -0.5
  			}
  		]
  	},
  	{
  		id: "trebuchet",
  		type: "army",
  		attack: 28,
  		defense: 3,
  		order: 3,
  		category: 1,
  		splash: 3,
  		req: [
  			{
  				type: "tech",
  				id: "siege_techniques",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 1200
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 2000
  			}
  		],
  		reqAttack: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 100
  			},
  			{
  				type: "resource",
  				id: "food",
  				value: 100
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "gold",
  				value: -10
  			}
  		]
  	},
  	{
  		id: "white_company",
  		type: "army",
  		attack: 18,
  		defense: 11,
  		order: 3,
  		category: 1,
  		req: [
  			{
  				type: "tech",
  				id: "white_t_company",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 2500
  			}
  		],
  		reqAttack: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 75
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "gold",
  				value: -5
  			}
  		]
  	},
  	{
  		id: "strategist",
  		type: "army",
  		attack: 72,
  		defense: 12,
  		order: 3,
  		cap: 1,
  		category: 1,
  		splash: 4,
  		req: [
  			{
  				type: "prayer",
  				id: "zenix_aid",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 7500
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 400
  			}
  		],
  		reqAttack: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 1000
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 300
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "mana",
  				value: 3
  			},
  			{
  				type: "resource",
  				id: "food",
  				value: -3
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: -12
  			}
  		]
  	},
  	{
  		id: "mage_u",
  		type: "army",
  		attack: 48,
  		defense: 1,
  		order: 3,
  		cap: 50,
  		category: 1,
  		splash: 3,
  		req: [
  			{
  				type: "prayer",
  				id: "mage_p",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "faith",
  				value: 1250
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 1000
  			}
  		],
  		reqAttack: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 500
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 250
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "mana",
  				value: 1.2
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: -4
  			}
  		]
  	},
  	{
  		id: "arquebusier",
  		type: "army",
  		attack: 16,
  		defense: 7,
  		order: 3,
  		category: 1,
  		req: [
  			{
  				type: "tech",
  				id: "gunpowder",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 1500
  			},
  			{
  				type: "resource",
  				id: "saltpetre",
  				value: 100
  			}
  		],
  		reqAttack: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 80
  			},
  			{
  				type: "resource",
  				id: "food",
  				value: 40
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "food",
  				value: -0.9
  			}
  		]
  	},
  	{
  		id: "bombard",
  		type: "army",
  		attack: 42,
  		defense: 4,
  		order: 3,
  		category: 1,
  		splash: 4,
  		req: [
  			{
  				type: "tech",
  				id: "military_science",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 2000
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: 200
  			},
  			{
  				type: "resource",
  				id: "saltpetre",
  				value: 200
  			}
  		],
  		reqAttack: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 200
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "gold",
  				value: -15
  			}
  		]
  	},
  	{
  		id: "cannon",
  		type: "army",
  		attack: 88,
  		defense: 8,
  		order: 3,
  		category: 1,
  		splash: 5,
  		req: [
  			{
  				type: "tech",
  				id: "field_artillery",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 5000
  			},
  			{
  				type: "resource",
  				id: "saltpetre",
  				value: 1000
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: 500
  			}
  		],
  		reqAttack: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 500
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "gold",
  				value: -30
  			}
  		]
  	},
  	{
  		id: "artillery",
  		type: "army",
  		attack: 160,
  		defense: 15,
  		order: 3,
  		category: 1,
  		splash: 6,
  		req: [
  			{
  				type: "tech",
  				id: "metal_alloys",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 15000
  			},
  			{
  				type: "resource",
  				id: "saltpetre",
  				value: 5000
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: 5000
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 2500
  			}
  		],
  		reqAttack: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 1000
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 200
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "gold",
  				value: -40
  			}
  		]
  	},
  	{
  		id: "archmage_u",
  		type: "army",
  		attack: 260,
  		defense: 120,
  		order: 3,
  		cap: 5,
  		category: 1,
  		splash: 7,
  		req: [
  			{
  				type: "prayer",
  				id: "archmage_p",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "faith",
  				value: 7000
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 7000
  			}
  		],
  		reqAttack: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 1200
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 1200
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "food",
  				value: -12
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: -24
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 7
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 3
  			}
  		]
  	},
  	{
  		id: "ranger",
  		type: "army",
  		attack: 22,
  		defense: 15,
  		order: 3,
  		cap: 50,
  		category: 1,
  		splash: 3,
  		req: [
  			{
  				type: "tech",
  				id: "guerrilla_warfare",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "food",
  				value: 1500
  			},
  			{
  				type: "resource",
  				id: "supplies",
  				value: 750
  			}
  		],
  		reqAttack: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 200
  			},
  			{
  				type: "resource",
  				id: "food",
  				value: 100
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "food",
  				value: 1
  			}
  		]
  	},
  	{
  		id: "elf_warrior",
  		type: "army",
  		attack: 62,
  		defense: 55,
  		order: 3,
  		cap: 25,
  		category: 1,
  		splash: 3,
  		req: [
  			{
  				type: "tech",
  				id: "elf_warriors",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "supplies",
  				value: 2000
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 2000
  			}
  		],
  		reqAttack: [
  			{
  				type: "resource",
  				id: "supplies",
  				value: 250
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 150
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "food",
  				value: -4
  			}
  		]
  	},
  	{
  		id: "marksman",
  		type: "army",
  		attack: 35,
  		defense: 15,
  		order: 3,
  		category: 1,
  		req: [
  			{
  				type: "tech",
  				id: "trenches",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 3500
  			},
  			{
  				type: "resource",
  				id: "saltpetre",
  				value: 500
  			},
  			{
  				type: "resource",
  				id: "supplies",
  				value: 500
  			}
  		],
  		reqAttack: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 125
  			},
  			{
  				type: "resource",
  				id: "food",
  				value: 75
  			},
  			{
  				type: "resource",
  				id: "supplies",
  				value: 25
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "food",
  				value: -1.5
  			}
  		]
  	},
  	{
  		id: "longbowman",
  		type: "army",
  		attack: 91,
  		defense: 2,
  		order: 3,
  		category: 1,
  		splash: 2,
  		req: [
  			{
  				type: "tech",
  				id: "trained_longbowman",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 8000
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 8000
  			}
  		],
  		reqAttack: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 450
  			},
  			{
  				type: "resource",
  				id: "food",
  				value: 100
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "food",
  				value: -2.25
  			}
  		]
  	},
  	{
  		id: "machine_gun_u",
  		type: "army",
  		attack: 90,
  		defense: 35,
  		order: 3,
  		category: 1,
  		req: [
  			{
  				type: "tech",
  				id: "machine_gun",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 7000
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 750
  			},
  			{
  				type: "resource",
  				id: "lumix",
  				value: 200
  			}
  		],
  		reqAttack: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 150
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 50
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "food",
  				value: -1.5
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: -0.7
  			}
  		]
  	},
  	{
  		id: "spearman",
  		type: "army",
  		attack: 2,
  		defense: 7,
  		order: 1,
  		category: 3,
  		req: [
  			{
  				type: "tech",
  				id: "bronze_working",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 200
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 150
  			},
  			{
  				type: "resource",
  				id: "copper",
  				value: 50
  			}
  		],
  		reqAttack: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 30
  			},
  			{
  				type: "resource",
  				id: "food",
  				value: 25
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "food",
  				value: -0.2
  			}
  		]
  	},
  	{
  		id: "phalanx",
  		type: "army",
  		attack: 6,
  		defense: 20,
  		order: 1,
  		category: 3,
  		req: [
  			{
  				type: "tech",
  				id: "phalanx_combat",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 200
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 150
  			},
  			{
  				type: "resource",
  				id: "iron",
  				value: 150
  			}
  		],
  		reqAttack: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 30
  			},
  			{
  				type: "resource",
  				id: "food",
  				value: 30
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "food",
  				value: -0.3
  			}
  		]
  	},
  	{
  		id: "warrior_monk",
  		type: "army",
  		attack: 3,
  		defense: 13,
  		order: 1,
  		category: 3,
  		req: [
  			{
  				type: "prayer",
  				id: "prayer_for_the_ancient_monk",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "faith",
  				value: 800
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 400
  			}
  		],
  		reqAttack: [
  			{
  				type: "resource",
  				id: "food",
  				value: 10
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "food",
  				value: -0.4
  			}
  		]
  	},
  	{
  		id: "shieldbearer",
  		type: "army",
  		attack: 5,
  		defense: 23,
  		order: 1,
  		category: 3,
  		req: [
  			{
  				type: "tech",
  				id: "bronze_working",
  				value: 1
  			},
  			{
  				type: "legacy",
  				id: "shieldbearer",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 350
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 350
  			}
  		],
  		reqAttack: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 30
  			},
  			{
  				type: "resource",
  				id: "food",
  				value: 30
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "food",
  				value: -0.4
  			}
  		]
  	},
  	{
  		id: "priest",
  		type: "army",
  		attack: 1,
  		defense: 36,
  		order: 2,
  		category: 3,
  		req: [
  			{
  				type: "tech",
  				id: "religion",
  				value: 1
  			},
  			{
  				type: "legacy",
  				id: "priest",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "food",
  				value: 800
  			},
  			{
  				type: "resource",
  				id: "faith",
  				value: 800
  			}
  		],
  		reqAttack: [
  			{
  				type: "resource",
  				id: "food",
  				value: 80
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "food",
  				value: -1
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: -1
  			}
  		]
  	},
  	{
  		id: "sacred_golem",
  		type: "army",
  		attack: 8,
  		defense: 22,
  		order: 1,
  		category: 3,
  		trample: 50,
  		req: [
  			{
  				type: "prayer",
  				id: "create_sacred_golem",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 2000
  			},
  			{
  				type: "resource",
  				id: "faith",
  				value: 1000
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 800
  			}
  		],
  		reqAttack: [
  			{
  				type: "resource",
  				id: "mana",
  				value: 100
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "mana",
  				value: -1.5
  			}
  		]
  	},
  	{
  		id: "armored_caravan_u",
  		type: "army",
  		attack: 3,
  		defense: 44,
  		order: 2,
  		category: 3,
  		cap: 50,
  		trample: 50,
  		req: [
  			{
  				type: "prayer",
  				id: "armored_caravan_p",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "wood",
  				value: 10000
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: 2000
  			}
  		],
  		reqAttack: [
  			{
  				type: "resource",
  				id: "wood",
  				value: 120
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: 60
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 3
  			}
  		]
  	},
  	{
  		id: "cleric",
  		type: "army",
  		attack: 8,
  		defense: 24,
  		order: 2,
  		category: 3,
  		req: [
  			{
  				type: "tech",
  				id: "order_of_clerics",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "faith",
  				value: 1800
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 200
  			}
  		],
  		reqAttack: [
  			{
  				type: "resource",
  				id: "food",
  				value: 60
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "food",
  				value: -1
  			}
  		]
  	},
  	{
  		id: "juggernaut",
  		type: "army",
  		attack: 15,
  		defense: 50,
  		order: 1,
  		category: 3,
  		trample: 50,
  		req: [
  			{
  				type: "tech",
  				id: "bronze_working",
  				value: 1
  			},
  			{
  				type: "legacy",
  				id: "juggernaut",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "food",
  				value: 600
  			},
  			{
  				type: "resource",
  				id: "cow",
  				value: 600
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 400
  			}
  		],
  		reqAttack: [
  			{
  				type: "resource",
  				id: "food",
  				value: 150
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 150
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "food",
  				value: -2
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: -2
  			}
  		]
  	},
  	{
  		id: "paladin",
  		type: "army",
  		attack: 28,
  		defense: 56,
  		order: 1,
  		category: 3,
  		req: [
  			{
  				type: "prayer",
  				id: "warrior_gods",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "faith",
  				value: 2500
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: 500
  			}
  		],
  		reqAttack: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 200
  			},
  			{
  				type: "resource",
  				id: "food",
  				value: 100
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "crystal",
  				value: 0.1
  			},
  			{
  				type: "resource",
  				id: "food",
  				value: -1.5
  			}
  		]
  	},
  	{
  		id: "behemoth",
  		type: "army",
  		attack: 24,
  		defense: 98,
  		order: 1,
  		cap: 20,
  		category: 3,
  		trample: 100,
  		req: [
  			{
  				type: "tech",
  				id: "steel_flesh",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: 3000
  			},
  			{
  				type: "resource",
  				id: "saltpetre",
  				value: 1500
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 1000
  			}
  		],
  		reqAttack: [
  			{
  				type: "resource",
  				id: "saltpetre",
  				value: 100
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 100
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "food",
  				value: -6
  			}
  		]
  	},
  	{
  		id: "ancient_balor",
  		type: "army",
  		attack: 150,
  		defense: 750,
  		order: 1,
  		cap: 1,
  		category: 3,
  		splash: 8,
  		req: [
  			{
  				type: "tech",
  				id: "ancient_balor_t",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "food",
  				value: 10000
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 10000
  			}
  		],
  		reqAttack: [
  			{
  				type: "resource",
  				id: "food",
  				value: 1000
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 1000
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "iron",
  				value: 5
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: 2
  			},
  			{
  				type: "resource",
  				id: "food",
  				value: -50
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: -50
  			}
  		]
  	},
  	{
  		id: "smuggler",
  		type: "army",
  		attack: 2,
  		defense: 52,
  		order: 1,
  		category: 3,
  		req: [
  			{
  				type: "tech",
  				id: "illgotten_gains",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 250
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 250
  			}
  		],
  		reqAttack: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 25
  			},
  			{
  				type: "resource",
  				id: "tools",
  				value: 15
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "food",
  				value: -0.2
  			}
  		]
  	},
  	{
  		id: "mana_fortress_u",
  		type: "army",
  		attack: 20,
  		defense: 2250,
  		order: 1,
  		cap: 1,
  		category: 3,
  		splash: 12,
  		req: [
  			{
  				type: "prayer",
  				id: "mana_fortress_p",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "stone",
  				value: 25000
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 20000
  			}
  		],
  		reqAttack: [
  			{
  				type: "resource",
  				id: "stone",
  				value: 10000
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 10000
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "mana",
  				value: -150
  			}
  		]
  	},
  	{
  		id: "high_prelate_u",
  		type: "army",
  		attack: 400,
  		defense: 900,
  		order: 3,
  		cap: 1,
  		category: 3,
  		splash: 7,
  		req: [
  			{
  				type: "building",
  				id: "ivory_tower_b",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "faith",
  				value: 25000
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 25000
  			}
  		],
  		reqAttack: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 15000
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 15000
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 35
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 35
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 7
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 7
  			}
  		]
  	},
  	{
  		id: "warrior",
  		type: "army",
  		attack: 8,
  		defense: 8,
  		order: 2,
  		category: 2,
  		req: [
  			{
  				type: "tech",
  				id: "bronze_working",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 400
  			},
  			{
  				type: "resource",
  				id: "copper",
  				value: 200
  			}
  		],
  		reqAttack: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 40
  			},
  			{
  				type: "resource",
  				id: "food",
  				value: 40
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "food",
  				value: -0.4
  			}
  		]
  	},
  	{
  		id: "mercenary_veteran",
  		type: "army",
  		attack: 12,
  		defense: 8,
  		order: 1,
  		category: 2,
  		req: [
  			{
  				type: "tech",
  				id: "mercenary_bands",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 2500
  			}
  		],
  		reqAttack: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 150
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "gold",
  				value: -5
  			}
  		]
  	},
  	{
  		id: "heavy_warrior",
  		type: "army",
  		attack: 12,
  		defense: 12,
  		order: 2,
  		category: 2,
  		req: [
  			{
  				type: "tech",
  				id: "iron_working",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 800
  			},
  			{
  				type: "resource",
  				id: "iron",
  				value: 300
  			}
  		],
  		reqAttack: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 70
  			},
  			{
  				type: "resource",
  				id: "food",
  				value: 70
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "food",
  				value: -0.6
  			}
  		]
  	},
  	{
  		id: "canava_guard",
  		type: "army",
  		attack: 15,
  		defense: 15,
  		order: 2,
  		category: 2,
  		trample: 50,
  		req: [
  			{
  				type: "tech",
  				id: "canava_mercenary",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 2000
  			}
  		],
  		reqAttack: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 50
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "gold",
  				value: -5
  			}
  		]
  	},
  	{
  		id: "man_at_arms",
  		type: "army",
  		attack: 18,
  		defense: 14,
  		order: 2,
  		category: 2,
  		req: [
  			{
  				type: "tech",
  				id: "plate_armor",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 1500
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: 250
  			}
  		],
  		reqAttack: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 120
  			},
  			{
  				type: "resource",
  				id: "food",
  				value: 80
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "food",
  				value: -0.8
  			}
  		]
  	},
  	{
  		id: "line_infantry",
  		type: "army",
  		attack: 34,
  		defense: 22,
  		order: 2,
  		category: 2,
  		req: [
  			{
  				type: "tech",
  				id: "flintlock_musket",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 2500
  			},
  			{
  				type: "resource",
  				id: "saltpetre",
  				value: 500
  			},
  			{
  				type: "resource",
  				id: "supplies",
  				value: 250
  			}
  		],
  		reqAttack: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 250
  			},
  			{
  				type: "resource",
  				id: "food",
  				value: 120
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "food",
  				value: -1.4
  			}
  		]
  	},
  	{
  		id: "jager",
  		type: "army",
  		attack: 82,
  		defense: 18,
  		order: 2,
  		cap: 100,
  		category: 2,
  		trample: 75,
  		req: [
  			{
  				type: "tech",
  				id: "dimensional_device",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 2000
  			},
  			{
  				type: "resource",
  				id: "saltpetre",
  				value: 1000
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 500
  			}
  		],
  		reqAttack: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 200
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 100
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "food",
  				value: -1.8
  			}
  		]
  	},
  	{
  		id: "colonial_militia",
  		type: "army",
  		attack: 7,
  		defense: 8,
  		order: 1,
  		category: 2,
  		req: [
  			{
  				type: "tech",
  				id: "new_world_militia",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 100
  			},
  			{
  				type: "resource",
  				id: "saltpetre",
  				value: 10
  			}
  		],
  		reqAttack: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 15
  			},
  			{
  				type: "resource",
  				id: "food",
  				value: 5
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "food",
  				value: -0.1
  			}
  		]
  	},
  	{
  		id: "rifleman_u",
  		type: "army",
  		attack: 68,
  		defense: 55,
  		order: 2,
  		category: 2,
  		req: [
  			{
  				type: "tech",
  				id: "super_soldier",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 5000
  			},
  			{
  				type: "resource",
  				id: "natronite",
  				value: 750
  			},
  			{
  				type: "resource",
  				id: "lumix",
  				value: 100
  			}
  		],
  		reqAttack: [
  			{
  				type: "resource",
  				id: "food",
  				value: 200
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 75
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "food",
  				value: -1.6
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: -0.6
  			}
  		]
  	},
  	{
  		id: "battle_angel",
  		type: "army",
  		attack: 38,
  		defense: 36,
  		order: 2,
  		category: 2,
  		req: [
  			{
  				type: "tech",
  				id: "holy_fury",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "faith",
  				value: 2000
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 600
  			}
  		],
  		reqAttack: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 100
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 100
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "mana",
  				value: -1
  			}
  		]
  	},
  	{
  		id: "commander",
  		type: "army",
  		attack: 30,
  		defense: 26,
  		order: 3,
  		cap: 1,
  		category: 2,
  		trample: 100,
  		req: [
  			{
  				type: "tech",
  				id: "warfare",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 2500
  			}
  		],
  		reqAttack: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 200
  			},
  			{
  				type: "resource",
  				id: "food",
  				value: 120
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "food",
  				value: -2
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: -10
  			}
  		]
  	},
  	{
  		id: "tamed_djinn",
  		type: "army",
  		attack: 40,
  		defense: 40,
  		order: 2,
  		cap: 1,
  		category: 2,
  		splash: 4,
  		req: [
  			{
  				type: "prayer",
  				id: "desire_war",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 1000
  			}
  		],
  		reqAttack: [
  			{
  				type: "resource",
  				id: "mana",
  				value: 100
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "mana",
  				value: -5
  			}
  		]
  	},
  	{
  		id: "general",
  		type: "army",
  		attack: 60,
  		defense: 100,
  		order: 3,
  		cap: 1,
  		category: 2,
  		trample: 100,
  		req: [
  			{
  				type: "building",
  				id: "officer_training_ground",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 15000
  			}
  		],
  		reqAttack: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 1000
  			},
  			{
  				type: "resource",
  				id: "food",
  				value: 500
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "food",
  				value: -10
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: -30
  			}
  		]
  	},
  	{
  		id: "seraphim",
  		type: "army",
  		attack: 450,
  		defense: 400,
  		order: 2,
  		cap: 1,
  		category: 2,
  		trample: 100,
  		req: [
  			{
  				type: "tech",
  				id: "seraphim_t",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "faith",
  				value: 10000
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 5000
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 2000
  			}
  		],
  		reqAttack: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 1500
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 1500
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "research",
  				value: 15
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 1.5
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: -25
  			}
  		]
  	},
  	{
  		id: "nikharul_soulstealer",
  		type: "army",
  		attack: 1200,
  		defense: 150,
  		order: 2,
  		cap: 1,
  		category: 2,
  		splash: 8,
  		req: [
  			{
  				type: "prayer",
  				id: "summon_nikharul",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 12500
  			}
  		],
  		reqAttack: [
  			{
  				type: "resource",
  				id: "mana",
  				value: 6000
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "mana",
  				value: -360
  			}
  		]
  	},
  	{
  		id: "light_cavarly",
  		type: "army",
  		attack: 10,
  		defense: 4,
  		order: 2,
  		category: 4,
  		trample: 60,
  		req: [
  			{
  				type: "tech",
  				id: "breeding",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 400
  			},
  			{
  				type: "resource",
  				id: "food",
  				value: 300
  			},
  			{
  				type: "resource",
  				id: "horse",
  				value: 25
  			}
  		],
  		reqAttack: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 60
  			},
  			{
  				type: "resource",
  				id: "food",
  				value: 40
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "food",
  				value: -0.8
  			}
  		]
  	},
  	{
  		id: "knight",
  		type: "army",
  		attack: 26,
  		defense: 22,
  		order: 2,
  		category: 4,
  		trample: 70,
  		req: [
  			{
  				type: "tech",
  				id: "knighthood",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 3000
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: 250
  			},
  			{
  				type: "resource",
  				id: "horse",
  				value: 50
  			}
  		],
  		reqAttack: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 120
  			},
  			{
  				type: "resource",
  				id: "food",
  				value: 100
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "food",
  				value: -1.8
  			}
  		]
  	},
  	{
  		id: "cataphract",
  		type: "army",
  		attack: 18,
  		defense: 48,
  		order: 2,
  		category: 4,
  		trample: 100,
  		req: [
  			{
  				type: "tech",
  				id: "persuade_nobility",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 2000
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: 500
  			},
  			{
  				type: "resource",
  				id: "horse",
  				value: 75
  			}
  		],
  		reqAttack: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 150
  			},
  			{
  				type: "resource",
  				id: "supplies",
  				value: 50
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "food",
  				value: -0.8
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: -0.8
  			}
  		]
  	},
  	{
  		id: "cuirassier",
  		type: "army",
  		attack: 36,
  		defense: 28,
  		order: 2,
  		category: 4,
  		trample: 80,
  		req: [
  			{
  				type: "tech",
  				id: "cuirassiers",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 5000
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: 500
  			},
  			{
  				type: "resource",
  				id: "horse",
  				value: 200
  			},
  			{
  				type: "resource",
  				id: "saltpetre",
  				value: 200
  			}
  		],
  		reqAttack: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 200
  			},
  			{
  				type: "resource",
  				id: "food",
  				value: 200
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "food",
  				value: -2.8
  			}
  		]
  	},
  	{
  		id: "steel_rider",
  		type: "army",
  		attack: 52,
  		defense: 44,
  		order: 2,
  		cap: 100,
  		category: 4,
  		trample: 90,
  		req: [
  			{
  				type: "tech",
  				id: "human_dna",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 10000
  			},
  			{
  				type: "resource",
  				id: "steel",
  				value: 5000
  			},
  			{
  				type: "resource",
  				id: "horse",
  				value: 500
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 500
  			}
  		],
  		reqAttack: [
  			{
  				type: "resource",
  				id: "food",
  				value: 250
  			},
  			{
  				type: "resource",
  				id: "crystal",
  				value: 100
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "food",
  				value: -5
  			}
  		]
  	},
  	{
  		id: "cpt_galliard",
  		type: "army",
  		attack: 80,
  		defense: 65,
  		order: 2,
  		cap: 1,
  		category: 4,
  		trample: 100,
  		req: [
  			{
  				type: "tech",
  				id: "cpt_galliard_t",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "gold",
  				value: 10000
  			},
  			{
  				type: "resource",
  				id: "horse",
  				value: 3000
  			}
  		],
  		reqAttack: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 1000
  			},
  			{
  				type: "resource",
  				id: "supplies",
  				value: 1000
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 30
  			}
  		]
  	},
  	{
  		id: "avatar_fate_u",
  		type: "army",
  		attack: 1250,
  		defense: 1000,
  		order: 2,
  		cap: 1,
  		category: 4,
  		splash: 5,
  		req: [
  			{
  				type: "tech",
  				id: "avatar_fate",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "faith",
  				value: 90000
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 90000
  			}
  		],
  		reqAttack: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 9000
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 9000
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "faith",
  				value: 25
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 25
  			}
  		]
  	},
  	{
  		id: "vaelgoroth_u",
  		type: "army",
  		attack: 3200,
  		defense: 3600,
  		order: 3,
  		cap: 1,
  		category: 4,
  		splash: 15,
  		req: [
  			{
  				type: "tech",
  				id: "vaelgoroth_t",
  				value: 1
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 100000
  			}
  		],
  		reqAttack: [
  			{
  				type: "resource",
  				id: "mana",
  				value: 10000
  			}
  		],
  		gen: [
  			{
  				type: "resource",
  				id: "gold",
  				value: 500
  			},
  			{
  				type: "resource",
  				id: "mana",
  				value: 500
  			}
  		]
  	},
  	{
  		id: "ancient_giant",
  		type: "enemy",
  		attack: 250,
  		defense: 16000,
  		order: 3,
  		cap: 1,
  		category: 3,
  		trample: 100
  	},
  	{
  		id: "ancient_ghost",
  		type: "enemy",
  		attack: 140,
  		defense: 34,
  		order: 2,
  		category: 4
  	},
  	{
  		id: "ancient_legionary",
  		type: "enemy",
  		attack: 26,
  		defense: 158,
  		order: 1,
  		category: 3
  	},
  	{
  		id: "aqrabuamelu",
  		type: "enemy",
  		attack: 46,
  		defense: 63,
  		order: 1,
  		category: 2
  	},
  	{
  		id: "archdemon",
  		type: "enemy",
  		attack: 90,
  		defense: 52,
  		order: 3,
  		category: 2,
  		splash: 2
  	},
  	{
  		id: "archlich",
  		type: "enemy",
  		attack: 120,
  		defense: 90,
  		order: 3,
  		cap: 1,
  		category: 1,
  		splash: 8
  	},
  	{
  		id: "ball_lightning",
  		type: "enemy",
  		attack: 55,
  		defense: 20,
  		order: 1,
  		category: 4,
  		splash: 2
  	},
  	{
  		id: "balor",
  		type: "enemy",
  		attack: 195,
  		defense: 150,
  		order: 1,
  		category: 2,
  		splash: 5
  	},
  	{
  		id: "bandit",
  		type: "enemy",
  		attack: 3,
  		defense: 4,
  		order: 1,
  		category: 2
  	},
  	{
  		id: "barbarian_chosen",
  		type: "enemy",
  		attack: 30,
  		defense: 12,
  		order: 1,
  		category: 2,
  		trample: 100
  	},
  	{
  		id: "barbarian_drummer",
  		type: "enemy",
  		attack: 6,
  		defense: 18,
  		order: 2,
  		category: 3
  	},
  	{
  		id: "barbarian_leader",
  		type: "enemy",
  		attack: 48,
  		defense: 22,
  		order: 1,
  		category: 2,
  		trample: 100
  	},
  	{
  		id: "barbarian_king",
  		type: "enemy",
  		attack: 76,
  		defense: 56,
  		order: 3,
  		cap: 1,
  		category: 2,
  		trample: 100
  	},
  	{
  		id: "barbarian_warrior",
  		type: "enemy",
  		attack: 13,
  		defense: 6,
  		order: 1,
  		category: 2,
  		trample: 100
  	},
  	{
  		id: "baron_mordecai_darkthorn",
  		type: "enemy",
  		attack: 915,
  		defense: 1750,
  		order: 3,
  		cap: 1,
  		category: 2,
  		trample: 100
  	},
  	{
  		id: "basilisk",
  		type: "enemy",
  		attack: 35,
  		defense: 16,
  		order: 1,
  		category: 1
  	},
  	{
  		id: "black_mage",
  		type: "enemy",
  		attack: 52,
  		defense: 22,
  		order: 3,
  		cap: 1,
  		category: 1,
  		splash: 5
  	},
  	{
  		id: "bugbear",
  		type: "enemy",
  		attack: 7,
  		defense: 16,
  		order: 1,
  		category: 3
  	},
  	{
  		id: "bugbear_chieftain",
  		type: "enemy",
  		attack: 44,
  		defense: 32,
  		order: 2,
  		cap: 1,
  		category: 2,
  		trample: 100
  	},
  	{
  		id: "bulette",
  		type: "enemy",
  		attack: 140,
  		defense: 110,
  		order: 1,
  		category: 4,
  		trample: 100
  	},
  	{
  		id: "cavarly_archer",
  		type: "enemy",
  		attack: 18,
  		defense: 10,
  		order: 3,
  		category: 4
  	},
  	{
  		id: "charmed_dweller",
  		type: "enemy",
  		attack: 4,
  		defense: 4,
  		order: 1,
  		category: 2
  	},
  	{
  		id: "cyclop",
  		type: "enemy",
  		attack: 25,
  		defense: 76,
  		order: 1,
  		category: 2,
  		trample: 100
  	},
  	{
  		id: "cult_master",
  		type: "enemy",
  		attack: 80,
  		defense: 55,
  		order: 3,
  		cap: 1,
  		category: 1
  	},
  	{
  		id: "daimyo",
  		type: "enemy",
  		attack: 90,
  		defense: 90,
  		order: 3,
  		cap: 1,
  		category: 1,
  		trample: 100
  	},
  	{
  		id: "dark_knight",
  		type: "enemy",
  		attack: 250,
  		defense: 250,
  		order: 2,
  		category: 2,
  		trample: 100
  	},
  	{
  		id: "dark_knight_lord",
  		type: "enemy",
  		attack: 6000,
  		defense: 9000,
  		order: 3,
  		cap: 1,
  		category: 2,
  		trample: 100
  	},
  	{
  		id: "demoness",
  		type: "enemy",
  		attack: 50,
  		defense: 80,
  		order: 3,
  		cap: 1,
  		category: 1
  	},
  	{
  		id: "demonic_musketeer",
  		type: "enemy",
  		attack: 20,
  		defense: 20,
  		order: 2,
  		category: 2
  	},
  	{
  		id: "deserter",
  		type: "enemy",
  		attack: 7,
  		defense: 6,
  		order: 2,
  		category: 2
  	},
  	{
  		id: "dirty_rat",
  		type: "enemy",
  		attack: 1,
  		defense: 1,
  		order: 1,
  		category: 4
  	},
  	{
  		id: "djinn",
  		type: "enemy",
  		attack: 46,
  		defense: 36,
  		order: 2,
  		cap: 1,
  		category: 1
  	},
  	{
  		id: "draconic_diver",
  		type: "enemy",
  		attack: 20,
  		defense: 10,
  		order: 2,
  		category: 4
  	},
  	{
  		id: "draconic_leader",
  		type: "enemy",
  		attack: 80,
  		defense: 65,
  		order: 3,
  		category: 1,
  		trample: 100
  	},
  	{
  		id: "draconic_mage",
  		type: "enemy",
  		attack: 32,
  		defense: 10,
  		order: 3,
  		category: 1,
  		splash: 2
  	},
  	{
  		id: "draconic_warrior",
  		type: "enemy",
  		attack: 8,
  		defense: 14,
  		order: 1,
  		category: 2
  	},
  	{
  		id: "earth_elemental",
  		type: "enemy",
  		attack: 20,
  		defense: 48,
  		order: 1,
  		category: 3,
  		trample: 100
  	},
  	{
  		id: "eternal_guardian",
  		type: "enemy",
  		attack: 22,
  		defense: 84,
  		order: 1,
  		category: 3
  	},
  	{
  		id: "ettin",
  		type: "enemy",
  		attack: 39,
  		defense: 67,
  		order: 1,
  		category: 3,
  		trample: 100
  	},
  	{
  		id: "faceless_horror",
  		type: "enemy",
  		attack: 76,
  		defense: 108,
  		order: 2,
  		category: 4,
  		trample: 100
  	},
  	{
  		id: "fallen_angel",
  		type: "enemy",
  		attack: 150,
  		defense: 100,
  		order: 3,
  		cap: 1,
  		category: 2,
  		splash: 5
  	},
  	{
  		id: "fire_elemental",
  		type: "enemy",
  		attack: 28,
  		defense: 28,
  		order: 1,
  		category: 1,
  		splash: 2
  	},
  	{
  		id: "fire_salamander",
  		type: "enemy",
  		attack: 32,
  		defense: 20,
  		order: 1,
  		category: 4
  	},
  	{
  		id: "frost_elemental",
  		type: "enemy",
  		attack: 20,
  		defense: 42,
  		order: 1,
  		category: 1
  	},
  	{
  		id: "frost_giant",
  		type: "enemy",
  		attack: 112,
  		defense: 140,
  		order: 2,
  		cap: 1,
  		category: 3,
  		trample: 100
  	},
  	{
  		id: "galliard",
  		type: "enemy",
  		attack: 70,
  		defense: 120,
  		order: 2,
  		cap: 1,
  		category: 2,
  		trample: 100
  	},
  	{
  		id: "gargoyle",
  		type: "enemy",
  		attack: 8,
  		defense: 28,
  		order: 1,
  		category: 3
  	},
  	{
  		id: "ghast",
  		type: "enemy",
  		attack: 6,
  		defense: 8,
  		order: 2,
  		category: 4
  	},
  	{
  		id: "ghoul",
  		type: "enemy",
  		attack: 4,
  		defense: 5,
  		order: 1,
  		category: 2
  	},
  	{
  		id: "ghost",
  		type: "enemy",
  		attack: 5,
  		defense: 5,
  		order: 2,
  		category: 4
  	},
  	{
  		id: "giant_death_robot",
  		type: "enemy",
  		attack: 6000,
  		defense: 8000,
  		order: 2,
  		cap: 1,
  		category: 1,
  		splash: 5
  	},
  	{
  		id: "giant_snake",
  		type: "enemy",
  		attack: 16,
  		defense: 8,
  		order: 2,
  		category: 4
  	},
  	{
  		id: "giant_spider",
  		type: "enemy",
  		attack: 10,
  		defense: 8,
  		order: 2,
  		category: 4
  	},
  	{
  		id: "giant_wasp",
  		type: "enemy",
  		attack: 8,
  		defense: 4,
  		order: 1,
  		category: 4
  	},
  	{
  		id: "gnoll_leader",
  		type: "enemy",
  		attack: 23,
  		defense: 18,
  		order: 2,
  		cap: 1,
  		category: 2,
  		trample: 100
  	},
  	{
  		id: "gnoll_raider",
  		type: "enemy",
  		attack: 6,
  		defense: 5,
  		order: 1,
  		category: 2
  	},
  	{
  		id: "goblin_marauder",
  		type: "enemy",
  		attack: 3,
  		defense: 3,
  		order: 1,
  		category: 1
  	},
  	{
  		id: "goblin_overlord",
  		type: "enemy",
  		attack: 20,
  		defense: 15,
  		order: 3,
  		cap: 1,
  		category: 2,
  		splash: 5
  	},
  	{
  		id: "goblin_warrior",
  		type: "enemy",
  		attack: 3,
  		defense: 4,
  		order: 2,
  		category: 2
  	},
  	{
  		id: "goblin_wolfrider",
  		type: "enemy",
  		attack: 6,
  		defense: 7,
  		order: 2,
  		category: 4,
  		trample: 100
  	},
  	{
  		id: "golem",
  		type: "enemy",
  		attack: 11,
  		defense: 42,
  		order: 1,
  		category: 3
  	},
  	{
  		id: "gorgon",
  		type: "enemy",
  		attack: 950,
  		defense: 600,
  		order: 1,
  		cap: 1,
  		category: 2
  	},
  	{
  		id: "greater_demon",
  		type: "enemy",
  		attack: 16,
  		defense: 16,
  		order: 3,
  		category: 2,
  		trample: 100
  	},
  	{
  		id: "griffin",
  		type: "enemy",
  		attack: 42,
  		defense: 58,
  		order: 1,
  		category: 4
  	},
  	{
  		id: "gulud",
  		type: "enemy",
  		attack: 250,
  		defense: 180,
  		order: 3,
  		cap: 1,
  		category: 1,
  		splash: 6
  	},
  	{
  		id: "hand_evil",
  		type: "enemy",
  		attack: 950,
  		defense: 8000,
  		order: 3,
  		cap: 1,
  		category: 2,
  		splash: 7
  	},
  	{
  		id: "harpy",
  		type: "enemy",
  		attack: 6,
  		defense: 6,
  		order: 1,
  		category: 4
  	},
  	{
  		id: "hill_giant",
  		type: "enemy",
  		attack: 20,
  		defense: 36,
  		order: 1,
  		category: 3,
  		trample: 100
  	},
  	{
  		id: "hobgoblin_archer",
  		type: "enemy",
  		attack: 11,
  		defense: 4,
  		order: 3,
  		category: 1
  	},
  	{
  		id: "hobgoblin_chieftain",
  		type: "enemy",
  		attack: 20,
  		defense: 34,
  		order: 2,
  		cap: 1,
  		category: 2,
  		trample: 100
  	},
  	{
  		id: "hobgoblin_grunt",
  		type: "enemy",
  		attack: 6,
  		defense: 12,
  		order: 1,
  		category: 3,
  		trample: 100
  	},
  	{
  		id: "hydra",
  		type: "enemy",
  		attack: 950,
  		defense: 900,
  		order: 1,
  		cap: 1,
  		category: 4,
  		splash: 4
  	},
  	{
  		id: "hover_tank",
  		type: "enemy",
  		attack: 30,
  		defense: 120,
  		order: 1,
  		category: 3,
  		trample: 100
  	},
  	{
  		id: "immense_door",
  		type: "enemy",
  		attack: 120,
  		defense: 80000,
  		order: 1,
  		cap: 1,
  		category: 3
  	},
  	{
  		id: "imp",
  		type: "enemy",
  		attack: 3,
  		defense: 1,
  		order: 2,
  		category: 1
  	},
  	{
  		id: "katana_samurai",
  		type: "enemy",
  		attack: 26,
  		defense: 28,
  		order: 1,
  		category: 2
  	},
  	{
  		id: "kobold",
  		type: "enemy",
  		attack: 3,
  		defense: 2,
  		order: 1,
  		category: 2
  	},
  	{
  		id: "kobold_champion",
  		type: "enemy",
  		attack: 5,
  		defense: 12,
  		order: 1,
  		category: 3
  	},
  	{
  		id: "kobold_king",
  		type: "enemy",
  		attack: 42,
  		defense: 48,
  		order: 1,
  		cap: 1,
  		category: 2,
  		trample: 100
  	},
  	{
  		id: "korrigan_slinger",
  		type: "enemy",
  		attack: 3,
  		defense: 2,
  		order: 2,
  		category: 1
  	},
  	{
  		id: "korrigan_swindler",
  		type: "enemy",
  		attack: 3,
  		defense: 5,
  		order: 1,
  		category: 2
  	},
  	{
  		id: "lead_golem",
  		type: "enemy",
  		attack: 22,
  		defense: 72,
  		order: 1,
  		category: 3
  	},
  	{
  		id: "lesser_demon",
  		type: "enemy",
  		attack: 8,
  		defense: 8,
  		order: 1,
  		category: 3
  	},
  	{
  		id: "lich",
  		type: "enemy",
  		attack: 60,
  		defense: 50,
  		order: 3,
  		cap: 1,
  		category: 1,
  		splash: 3
  	},
  	{
  		id: "lizard_archer",
  		type: "enemy",
  		attack: 13,
  		defense: 6,
  		order: 3,
  		category: 1
  	},
  	{
  		id: "lizard_commander",
  		type: "enemy",
  		attack: 50,
  		defense: 75,
  		order: 3,
  		category: 1
  	},
  	{
  		id: "lizard_shaman",
  		type: "enemy",
  		attack: 22,
  		defense: 32,
  		order: 3,
  		category: 1
  	},
  	{
  		id: "lizard_warrior",
  		type: "enemy",
  		attack: 12,
  		defense: 12,
  		order: 1,
  		category: 2
  	},
  	{
  		id: "markanat",
  		type: "enemy",
  		attack: 900,
  		defense: 600,
  		order: 1,
  		cap: 1,
  		category: 4,
  		trample: 100
  	},
  	{
  		id: "mechanical_wolf",
  		type: "enemy",
  		attack: 26,
  		defense: 12,
  		order: 2,
  		category: 4
  	},
  	{
  		id: "mindless_evil_u",
  		type: "enemy",
  		attack: 12000,
  		defense: 150000,
  		order: 3,
  		cap: 1,
  		category: 1,
  		splash: 12
  	},
  	{
  		id: "minotaur",
  		type: "enemy",
  		attack: 1000,
  		defense: 1800,
  		order: 1,
  		cap: 1,
  		category: 3,
  		trample: 100
  	},
  	{
  		id: "mist_evil",
  		type: "enemy",
  		attack: 1,
  		defense: 35000,
  		order: 1,
  		cap: 1,
  		category: 3,
  		splash: 20
  	},
  	{
  		id: "mobile_turret",
  		type: "enemy",
  		attack: 150,
  		defense: 30,
  		order: 3,
  		category: 2
  	},
  	{
  		id: "mountain_giant",
  		type: "enemy",
  		attack: 34,
  		defense: 42,
  		order: 3,
  		category: 3,
  		trample: 100
  	},
  	{
  		id: "musket_ashigaru",
  		type: "enemy",
  		attack: 22,
  		defense: 18,
  		order: 2,
  		category: 2
  	},
  	{
  		id: "myconid",
  		type: "enemy",
  		attack: 3,
  		defense: 10,
  		order: 1,
  		category: 3
  	},
  	{
  		id: "naga",
  		type: "enemy",
  		attack: 12,
  		defense: 12,
  		order: 1,
  		category: 4
  	},
  	{
  		id: "naga_princess",
  		type: "enemy",
  		attack: 380,
  		defense: 1020,
  		order: 3,
  		cap: 1,
  		category: 4,
  		trample: 100
  	},
  	{
  		id: "naga_royal_guard",
  		type: "enemy",
  		attack: 110,
  		defense: 80,
  		order: 2,
  		category: 2,
  		trample: 100
  	},
  	{
  		id: "necromancer",
  		type: "enemy",
  		attack: 28,
  		defense: 15,
  		order: 3,
  		cap: 1,
  		category: 1,
  		splash: 4
  	},
  	{
  		id: "nikharul",
  		type: "enemy",
  		attack: 780,
  		defense: 1020,
  		order: 3,
  		cap: 1,
  		category: 1,
  		splash: 9
  	},
  	{
  		id: "oni",
  		type: "enemy",
  		attack: 45,
  		defense: 99,
  		order: 1,
  		category: 3
  	},
  	{
  		id: "orc_champion",
  		type: "enemy",
  		attack: 35,
  		defense: 130,
  		order: 1,
  		category: 2,
  		trample: 100
  	},
  	{
  		id: "orc_berserker",
  		type: "enemy",
  		attack: 55,
  		defense: 11,
  		order: 1,
  		category: 2,
  		trample: 100
  	},
  	{
  		id: "orc_flame_caster",
  		type: "enemy",
  		attack: 45,
  		defense: 12,
  		order: 3,
  		category: 1,
  		splash: 3
  	},
  	{
  		id: "orc_ironskin",
  		type: "enemy",
  		attack: 18,
  		defense: 169,
  		order: 1,
  		category: 3
  	},
  	{
  		id: "orc_shaman",
  		type: "enemy",
  		attack: 33,
  		defense: 28,
  		order: 3,
  		category: 1
  	},
  	{
  		id: "orc_stone_thrower",
  		type: "enemy",
  		attack: 31,
  		defense: 10,
  		order: 3,
  		category: 1
  	},
  	{
  		id: "orc_warg_rider",
  		type: "enemy",
  		attack: 33,
  		defense: 70,
  		order: 2,
  		category: 4,
  		trample: 100
  	},
  	{
  		id: "orc_warlord",
  		type: "enemy",
  		attack: 70,
  		defense: 150,
  		order: 2,
  		category: 2,
  		trample: 100
  	},
  	{
  		id: "orc_warrior",
  		type: "enemy",
  		attack: 25,
  		defense: 63,
  		order: 1,
  		category: 2,
  		trample: 100
  	},
  	{
  		id: "orc_worker",
  		type: "enemy",
  		attack: 17,
  		defense: 48,
  		order: 1,
  		category: 3
  	},
  	{
  		id: "pillager",
  		type: "enemy",
  		attack: 3,
  		defense: 5,
  		order: 1,
  		category: 2
  	},
  	{
  		id: "raider",
  		type: "enemy",
  		attack: 22,
  		defense: 10,
  		order: 1,
  		category: 4
  	},
  	{
  		id: "ravenous_crab",
  		type: "enemy",
  		attack: 2,
  		defense: 1,
  		order: 1,
  		category: 4
  	},
  	{
  		id: "red_dragon",
  		type: "enemy",
  		attack: 280,
  		defense: 180,
  		order: 3,
  		cap: 1,
  		category: 4,
  		splash: 12
  	},
  	{
  		id: "snake",
  		type: "enemy",
  		attack: 4,
  		defense: 4,
  		order: 1,
  		category: 4
  	},
  	{
  		id: "spider",
  		type: "enemy",
  		attack: 3,
  		defense: 2,
  		order: 1,
  		category: 4
  	},
  	{
  		id: "sluagh",
  		type: "enemy",
  		attack: 26,
  		defense: 6,
  		order: 1,
  		category: 4
  	},
  	{
  		id: "skeleton",
  		type: "enemy",
  		attack: 2,
  		defense: 2,
  		order: 1,
  		category: 3
  	},
  	{
  		id: "skeletal_knight",
  		type: "enemy",
  		attack: 18,
  		defense: 22,
  		order: 1,
  		category: 2
  	},
  	{
  		id: "skullface",
  		type: "enemy",
  		attack: 76,
  		defense: 60,
  		order: 3,
  		cap: 1,
  		category: 1,
  		trample: 100
  	},
  	{
  		id: "son_atamar",
  		type: "enemy",
  		attack: 22,
  		defense: 20,
  		order: 1,
  		category: 2
  	},
  	{
  		id: "spawn_evil",
  		type: "enemy",
  		attack: 54,
  		defense: 11,
  		order: 2,
  		category: 4
  	},
  	{
  		id: "spectra_memory",
  		type: "enemy",
  		attack: 5,
  		defense: 8,
  		order: 1,
  		category: 3
  	},
  	{
  		id: "succubus",
  		type: "enemy",
  		attack: 37,
  		defense: 23,
  		order: 1,
  		category: 2
  	},
  	{
  		id: "succubus_queen",
  		type: "enemy",
  		attack: 1500,
  		defense: 1750,
  		order: 2,
  		cap: 1,
  		category: 1,
  		splash: 5
  	},
  	{
  		id: "swamp_horror",
  		type: "enemy",
  		attack: 900,
  		defense: 1400,
  		order: 1,
  		cap: 1,
  		category: 3,
  		trample: 100
  	},
  	{
  		id: "titan",
  		type: "enemy",
  		attack: 1,
  		defense: 52000,
  		order: 1,
  		cap: 1,
  		category: 2,
  		splash: 40
  	},
  	{
  		id: "trap",
  		type: "enemy",
  		attack: 8,
  		defense: 41,
  		order: 1,
  		category: 3
  	},
  	{
  		id: "troll_cave",
  		type: "enemy",
  		attack: 16,
  		defense: 28,
  		order: 1,
  		category: 3,
  		trample: 100
  	},
  	{
  		id: "troll_battle",
  		type: "enemy",
  		attack: 42,
  		defense: 56,
  		order: 1,
  		category: 2,
  		trample: 100
  	},
  	{
  		id: "tyrannosaurus",
  		type: "enemy",
  		attack: 1750,
  		defense: 1200,
  		order: 1,
  		cap: 1,
  		category: 4,
  		trample: 100
  	},
  	{
  		id: "vampire",
  		type: "enemy",
  		attack: 80,
  		defense: 90,
  		order: 3,
  		cap: 1,
  		category: 2
  	},
  	{
  		id: "vampire_bat",
  		type: "enemy",
  		attack: 2,
  		defense: 1,
  		order: 1,
  		category: 4
  	},
  	{
  		id: "vampire_servant",
  		type: "enemy",
  		attack: 15,
  		defense: 32,
  		order: 1,
  		category: 3
  	},
  	{
  		id: "velociraptors",
  		type: "enemy",
  		attack: 37,
  		defense: 22,
  		order: 1,
  		category: 4
  	},
  	{
  		id: "warg",
  		type: "enemy",
  		attack: 22,
  		defense: 18,
  		order: 1,
  		category: 4,
  		trample: 100
  	},
  	{
  		id: "werewolf",
  		type: "enemy",
  		attack: 1150,
  		defense: 600,
  		order: 1,
  		cap: 1,
  		category: 1,
  		trample: 100
  	},
  	{
  		id: "wendigo",
  		type: "enemy",
  		attack: 47,
  		defense: 39,
  		order: 1,
  		category: 2
  	},
  	{
  		id: "wind_elemental",
  		type: "enemy",
  		attack: 22,
  		defense: 42,
  		order: 1,
  		category: 1,
  		splash: 3
  	},
  	{
  		id: "wolf",
  		type: "enemy",
  		attack: 4,
  		defense: 4,
  		order: 1,
  		category: 4
  	},
  	{
  		id: "wyvern",
  		type: "enemy",
  		attack: 32,
  		defense: 28,
  		order: 2,
  		category: 4,
  		trample: 100
  	},
  	{
  		id: "zombie",
  		type: "enemy",
  		attack: 3,
  		defense: 3,
  		order: 1,
  		category: 3
  	},
  	{
  		id: "ash_elemental",
  		type: "enemy",
  		attack: 95,
  		defense: 128,
  		order: 1,
  		category: 1,
  		splash: 2
  	},
  	{
  		id: "vaelgoroth_crimson_doom",
  		type: "enemy",
  		attack: 900,
  		defense: 2100,
  		order: 3,
  		cap: 1,
  		category: 4,
  		splash: 7
  	},
  	{
  		id: "azrathis_flamebinder",
  		type: "enemy",
  		attack: 2300,
  		defense: 500,
  		order: 3,
  		cap: 1,
  		category: 2,
  		splash: 9
  	}
  ];

  const translate = (id, prefix = '') => {
    const knownPrefixes = ['ancestor_', 'bui_', 'cat_', 'dip_', 'ene_', 'fai_', 'leg_', 'not_', 'pop_', 'res_', 'tec_', 'uni_'];
    let translated = i18n.en[prefix + id] ? i18n.en[prefix + id] : '';
    if (!translated) {
      prefix = knownPrefixes.find(knownPrefix => i18n.en[knownPrefix + id]);
      if (prefix) {
        translated = i18n.en[prefix + id];
      }
    }
    return translated;
  };

  const formatTime = timeToFormat => {
    const timeValues = {
      seconds: 0,
      minutes: 0,
      hours: 0,
      days: 0
    };
    let timeShort = '';
    let timeLong = '';
    timeValues.seconds = timeToFormat % 60;
    timeToFormat = (timeToFormat - timeToFormat % 60) / 60;
    timeValues.minutes = timeToFormat % 60;
    timeToFormat = (timeToFormat - timeToFormat % 60) / 60;
    timeValues.hours = timeToFormat % 24;
    timeToFormat = (timeToFormat - timeToFormat % 24) / 24;
    timeValues.days = timeToFormat;
    if (timeValues.days) {
      timeShort += `${timeValues.days}d `;
      timeLong += `${timeValues.days} days `;
    }
    if (timeValues.hours) {
      timeShort += `${timeValues.hours}h `;
      timeLong += `${timeValues.hours} hrs `;
    }
    if (timeValues.minutes) {
      timeShort += `${timeValues.minutes}m `;
      timeLong += `${timeValues.minutes} min `;
    }
    if (timeValues.seconds) {
      timeShort += `${timeValues.seconds}s `;
      timeLong += `${timeValues.seconds} sec `;
    }
    timeShort = timeShort.trim();
    timeLong = timeLong.trim();
    return {
      timeShort,
      timeLong,
      timeValues
    };
  };

  const logger = ({
    msgLevel,
    msg
  }) => {
    const logText = `[TA][${new Date().toLocaleTimeString()}] ${msg}`;
    const levelsToLog = ['', 'warn', 'error'];
    if (levelsToLog.includes(msgLevel)) {
      const logHolder = document.querySelector('#root > div > div > div > div.w-full.order-2.flex-grow.overflow-x-hidden.overflow-y-auto.pr-4');
      if (logHolder) {
        const taLogs = [...logHolder.querySelectorAll('.ta-log')];
        if (taLogs.length > 10) {
          for (let i = 10; i < taLogs.length; i++) {
            taLogs[i].remove();
          }
        }
        const p = document.createElement('p');
        p.classList.add('text-xs', 'mb-2', 'text-green-600', 'ta-log');
        p.innerText = logText;
        logHolder.insertAdjacentElement('afterbegin', p);
      }
    }
    console[msgLevel](logText);
  };

  let reactVarCache;
  function getReactData(el, level = 0) {
    let data;
    if (reactVarCache && el[reactVarCache]) {
      data = el[reactVarCache];
    } else {
      const key = Object.keys(el).find(k => k.startsWith('__reactFiber$'));
      if (key) {
        reactVarCache = key;
        data = el[reactVarCache];
      }
    }
    for (let i = 0; i < level && data; i++) {
      data = data.return;
    }
    return data;
  }
  function getNearestKey(el, limit = -1) {
    let key = undefined;
    let data = getReactData(el);
    let level = 0;
    while (!key && data && (limit < 0 || level <= limit)) {
      key = data.key;
      data = data.return;
      level++;
    }
    return key;
  }
  function getBtnIndex(el, level = 0) {
    let data = getReactData(el, level);
    if (data) {
      return data.index;
    } else {
      return undefined;
    }
  }
  let gameDataCache;
  function getGameData() {
    if (gameDataCache) {
      return gameDataCache;
    }
    const root = document.querySelector('#root');
    const key = Object.keys(root).find(k => k.startsWith('__reactContainer$'));
    if (key) {
      const container = root[key];
      gameDataCache = container.stateNode.current.child.memoizedProps.MainStore;
      return gameDataCache;
    } else {
      return undefined;
    }
  }
  var reactUtil = {
    getReactData,
    getNearestKey,
    getBtnIndex,
    getGameData
  };

  const getPagesSelector = () => {
    return [...document.querySelectorAll('#main-tabs > div > button')];
  };
  const getCurrentPageSelector = () => {
    return document.querySelector('#main-tabs > div > button[aria-selected="true"]');
  };
  const getSubPagesSelector = () => {
    const tabLists = [...document.querySelectorAll('div[role="tablist"]')];
    if (tabLists && tabLists.length >= 2) {
      return [...tabLists[1].querySelectorAll('button')];
    }
    return [];
  };
  const getCurrentSubPageSelector = () => {
    let currentSubPage;
    const subPages = getSubPagesSelector();
    if (subPages.length) {
      currentSubPage = subPages.find(subPage => subPage.getAttribute('aria-selected') === 'true');
    }
    return currentSubPage;
  };
  const hasPage = page => {
    const navButtons = getPagesSelector();
    const pageIndex = CONSTANTS.PAGES_INDEX[page];
    return !!navButtons.find(button => reactUtil.getBtnIndex(button, 1) === pageIndex);
  };
  const checkPage = (page, subPage) => {
    const currentPage = getCurrentPageSelector();
    const currentSubPage = getCurrentSubPageSelector();
    const pageIndex = CONSTANTS.PAGES_INDEX[page];
    const subPageIndex = CONSTANTS.SUBPAGES_INDEX[subPage];
    const isCorrectPage = !page || page && currentPage && reactUtil.getBtnIndex(currentPage, 1) === pageIndex;
    const isCorrectSubPage = !subPage || subPage && currentSubPage && reactUtil.getBtnIndex(currentSubPage, 1) === subPageIndex;
    return isCorrectPage && isCorrectSubPage;
  };
  const hasSubPage = subPage => {
    const subTabs = getSubPagesSelector();
    const subPageIndex = CONSTANTS.SUBPAGES_INDEX[subPage];
    return !!subTabs.find(button => reactUtil.getBtnIndex(button, 1) === subPageIndex);
  };
  const switchPage = async page => {
    let foundPage = hasPage(page);
    if (!foundPage) {
      await switchPage(CONSTANTS.PAGES.BUILD);
      return;
    }
    let switchedPage = false;
    const navButtons = getPagesSelector();
    const pageIndex = CONSTANTS.PAGES_INDEX[page];
    const pageButton = navButtons.find(button => reactUtil.getBtnIndex(button, 1) === pageIndex && button.getAttribute('aria-selected') !== 'true');
    if (pageButton) {
      pageButton.click();
      switchedPage = true;
    }
    if (switchedPage) {
      logger({
        msgLevel: 'debug',
        msg: `Switched page to ${page}`
      });
      await sleep(1000);
    }
  };
  const switchSubPage = async (subPage, page) => {
    if (page) {
      await switchPage(page);
    }
    let foundSubPage = hasSubPage(subPage);
    if (foundSubPage) {
      let switchedSubPage = false;
      const navButtons = getSubPagesSelector();
      const subPageIndex = CONSTANTS.SUBPAGES_INDEX[subPage];
      const subPageButton = navButtons.find(button => reactUtil.getBtnIndex(button, 1) === subPageIndex && button.getAttribute('aria-selected') !== 'true');
      if (subPageButton) {
        subPageButton.click();
        switchedSubPage = true;
      }
      if (switchedSubPage) {
        logger({
          msgLevel: 'debug',
          msg: `Switched subPage to ${subPage}`
        });
        await sleep(500);
      }
    }
  };
  var navigation = {
    getPagesSelector,
    hasPage,
    switchPage,
    checkPage,
    switchSubPage
  };

  const getActivePageContent = () => {
    return document.querySelector('#maintabs-container > div > div[role=tabpanel]');
  };
  const getAllButtons$3 = (activeOnly = true, extraSelectors = '') => {
    const activeOnlySelector = activeOnly ? ':not(.btn-off):not(.btn-off-cap)' : '';
    return [...getActivePageContent().querySelectorAll(`button.btn${activeOnlySelector}${extraSelectors}`)];
  };
  var selectors = {
    getActivePageContent,
    getAllButtons: getAllButtons$3
  };

  let keyGen = {
    manual: _gen('manual_'),
    armyArmy: _gen('army_create_'),
    armyAttack: _gen('army_combat_'),
    market: _gen('stock_'),
    resource: _gen('resource_'),
    research: _gen('tec_'),
    building: _gen('bui_'),
    population: _gen('population_'),
    magic: _gen('fai_'),
    enemy: _gen('enemy-'),
    diplomacy: _gen('dip_card_'),
    tooltipReq: _gen('tooltip_req_'),
    legacy: _gen('leg_'),
    ancestor: _gen('ancestor_')
  };
  function _gen(prefix) {
    return {
      key(id) {
        return prefix + id;
      },
      id(key) {
        return key.replace(new RegExp('^' + prefix), '');
      },
      check(key) {
        return key && !!key.match(new RegExp('^' + prefix + '.+'));
      }
    };
  }

  const get = (resourceName = 'gold') => {
    let resourceFound = false;
    let resourceToFind = {
      name: resourceName,
      current: 0,
      max: 0,
      speed: 0,
      ttf: null,
      ttz: null
    };
    const resources = [...document.querySelectorAll('#root div > div > div > table > tbody > tr > td:nth-child(1) > span')];
    resources.map(resource => {
      const key = reactUtil.getNearestKey(resource, 6);
      if (key === keyGen.resource.key(resourceName)) {
        resourceFound = true;
        const values = resource.parentNode.parentNode.childNodes[1].textContent.split('/').map(x => numberParser.parse(x.replace(/[^0-9KM\-,\.]/g, '').trim()));
        resourceToFind.current = values[0];
        resourceToFind.max = values[1];
        resourceToFind.speed = numberParser.parse(resource.parentNode.parentNode.childNodes[2].textContent.replace(/[^0-9KM\-,\.]/g, '').trim()) || 0;
        resourceToFind.ttf = resourceToFind.speed > 0 && resourceToFind.max !== resourceToFind.current ? formatTime(Math.ceil((resourceToFind.max - resourceToFind.current) / resourceToFind.speed)) : null;
        resourceToFind.ttz = resourceToFind.speed < 0 && resourceToFind.current ? formatTime(Math.ceil(resourceToFind.current / (resourceToFind.speed * -1))) : null;
      }
    });
    return resourceFound ? resourceToFind : null;
  };
  var resources = {
    get
  };

  const migrations = [() => {
    if (typeof state.options.pages[CONSTANTS.PAGES.BUILD] !== 'object') {
      const newOptions = getDefaultOptions();
      Object.keys(CONSTANTS.PAGES).every(key => {
        newOptions.pages[CONSTANTS.PAGES[key]] = {
          enabled: false,
          page: CONSTANTS.PAGES[key],
          subpages: {},
          options: {}
        };
        return newOptions.pages[CONSTANTS.PAGES[key]];
      });
      Object.keys(CONSTANTS.SUBPAGES).every(key => {
        const parent = CONSTANTS.PAGES[CONSTANTS.SUBPAGE_MAPPING[key]];
        newOptions.pages[parent].subpages[CONSTANTS.SUBPAGES[key]] = {
          enabled: false,
          subpage: CONSTANTS.SUBPAGES[key],
          options: {}
        };
        return newOptions.pages[parent].subpages[CONSTANTS.SUBPAGES[key]];
      });
      Object.keys(state.options.pages).forEach(key => {
        newOptions.pages[key].enabled = state.options.pages[key] || false;
        if (key === CONSTANTS.PAGES.RESEARCH) {
          Object.keys(state.options[key]).forEach(key => {
            if (key.includes('tech_')) {
              delete state.options[key];
            }
          });
          newOptions.pages[key].subpages[CONSTANTS.SUBPAGES.RESEARCH].enabled = newOptions.pages[key].enabled;
          newOptions.pages[key].subpages[CONSTANTS.SUBPAGES.RESEARCH].options = state.options[key];
        } else if (key === CONSTANTS.PAGES.BUILD) {
          newOptions.pages[key].subpages[CONSTANTS.SUBPAGES.CITY].enabled = newOptions.pages[key].enabled;
          newOptions.pages[key].subpages[CONSTANTS.SUBPAGES.COLONY].enabled = newOptions.pages[key].enabled;
          Object.keys(state.options[key]).forEach(id => {
            const building = buildings.find(building => building.id === id);
            if (building) {
              const subPage = building.tab === 1 ? CONSTANTS.SUBPAGES.CITY : CONSTANTS.SUBPAGES.COLONY;
              newOptions.pages[key].subpages[subPage].options[id] = state.options[key][id];
              newOptions.pages[key].subpages[subPage].options[`prio_${id}`] = state.options[key][`prio_${id}`];
            }
          });
          newOptions.pages[key].options.prioWonders = state.options.automation.prioWonders;
        } else {
          newOptions.pages[key].options = state.options[key];
          if (key === CONSTANTS.PAGES.POPULATION) {
            newOptions.pages[key].options.minimumFood = state.options.automation.minimumFood;
            newOptions.pages[key].options.populationRebalanceTime = state.options.automation.populationRebalanceTime;
          }
        }
      });
      const selectedAncestor = Object.keys(state.options.automation).find(key => key.includes('selected_ancestor_') && state.options.automation[key]);
      newOptions.ancestor.enabled = state.options.automation.ancestor;
      newOptions.ancestor.selected = selectedAncestor ? selectedAncestor.replace('selected_', '') : '';
      newOptions.prestige.enabled = state.options.automation.prestige;
      state.options = newOptions;
      localStorage.set('options', state.options);
    }
  }, () => {
    state.lastVisited = {};
    localStorage.set('lastVisited', state.lastVisited);
  }];
  const runMigrations = () => {
    const lastMigration = state.options.lastMigration || 0;
    let migrationsRan = false;
    for (let i = lastMigration; i < migrations.length; i++) {
      migrations[i]();
      migrationsRan = true;
    }
    state.options.lastMigration = migrations.length;
    localStorage.set('options', state.options);
    if (migrationsRan) {
      window.location.reload();
    }
  };

  const fights$2 = factions.concat(locations).map(fight => {
    return {
      key: fight.id,
      id: translate(fight.id),
      army: fight.army
    };
  });
  const applyUnitMods = unit => {
    const unitCopy = {
      ...unit
    };
    let run = reactUtil.getGameData().run;
    if (unitCopy && run && run.modifiers) {
      let bonusAttack = 0;
      let bonusDefense = 0;
      const unitMods = run.modifiers.find(mod => mod.id === unitCopy.id);
      if (unitMods && unitMods.mods) {
        for (let i = 0; i < unitMods.mods.length; i++) {
          const mod = unitMods.mods[i];
          if (mod.type === 'stat') {
            if (!mod.perc) {
              if (mod.id === 'attack') {
                bonusAttack += mod.value;
              }
              if (mod.id === 'defense') {
                bonusDefense += mod.value;
              }
            }
          }
        }
      }
      unitCopy.attack += bonusAttack;
      unitCopy.defense += bonusDefense;
    }
    return unitCopy;
  };
  const getEnemyArmy = enemyId => {
    const difficultyMode = parseInt(reactUtil.getGameData().SettingsStore.difficultyMode, 10) || 0;
    const difficultyModeMultiplier = difficultyMode === 1 ? 1.5 : difficultyMode === 2 ? 2 : difficultyMode === 3 ? 4.5 : 1;
    const randomBonus = difficultyMode === 1 ? 1.1 : difficultyMode === 2 ? 1.2 : difficultyMode === 3 ? 1.3 : 1;
    const army = fights$2.find(fight => fight.key === enemyId || fight.id === enemyId).army.map(unit => {
      const unitDetails = units.find(enemy => enemy.id === unit.id);
      const value = unitDetails.cap ? unit.value : Math.round(unit.value * difficultyModeMultiplier * randomBonus);
      return {
        ...unit,
        ...unitDetails,
        value
      };
    });
    return army;
  };
  const getUserArmy = (isDefending = false, onlyAvailable = false) => {
    const userArmy = [];
    let run = reactUtil.getGameData().run;
    if (run && run.army) {
      for (let i = 0; i < run.army.length; i++) {
        const unit = run.army[i];
        const unitsValue = onlyAvailable ? unit.value - unit.away : unit.value;
        if (unitsValue) {
          const unitDetails = units.find(unitDetails => unitDetails.id === unit.id);
          if (unitDetails) {
            if (unitDetails.category === 0) {
              if (!isDefending || unit.id !== 'settlement_defenses') {
                continue;
              }
            }
            userArmy.push({
              ...applyUnitMods(unitDetails),
              key: unitDetails.id,
              value: unitsValue
            });
          }
        }
      }
    }
    return userArmy;
  };
  const sortArmy = (army = [], isDefending = false) => {
    if (!army.length) {
      army = getUserArmy(isDefending, false);
    }
    const userOrder = [];
    const unitStats = {};
    army.forEach(unit => {
      if (!userOrder.includes(unit.id)) {
        userOrder.push(unit.id);
        unitStats[unit.id] = {
          attack: unit.attack,
          defense: unit.defense,
          splash: unit.splash || 0,
          trample: unit.trample || 0
        };
      }
    });
    userOrder.sort((a, b) => {
      if (a === 'settlement_defenses') {
        return -1;
      } else if (b === 'settlement_defenses') {
        return 1;
      }
      const aStats = unitStats[a];
      const bStats = unitStats[b];
      if (aStats.splash === bStats.splash && aStats.splash === 0) {
        if (aStats.trample === bStats.trample && aStats.trample === 0) {
          if (aStats.defense === bStats.defense) {
            return aStats.attack - bStats.attack;
          } else {
            return bStats.defense - aStats.defense;
          }
        } else {
          return aStats.trample * aStats.attack - bStats.trample * bStats.attack;
        }
      } else {
        return aStats.splash * aStats.attack - bStats.splash * bStats.attack;
      }
    });
    if (isDefending) {
      reactUtil.getGameData().run.armyOrder.defense = userOrder;
    } else {
      reactUtil.getGameData().run.armyOrder.away = userOrder;
    }
    if (!reactUtil.getGameData().ArmyStore.orderByBattleOrder) {
      reactUtil.getGameData().ArmyStore.toggleOrderByBattleOrder();
    }
    return userOrder;
  };
  const generateArmy = (army = [], attacker = false, isDefending = false, autoSortArmy = false, isUser = false) => {
    army = army.filter(unit => isDefending ? true : unit.category);
    let orderByBattleOrder = !!reactUtil.getGameData().ArmyStore.orderByBattleOrder;
    let userOrder = isDefending ? reactUtil.getGameData().run.armyOrder.defense : reactUtil.getGameData().run.armyOrder.away;
    if (isUser && autoSortArmy) {
      sortArmy(army, isDefending);
    }
    const units = [];
    army.forEach(squad => {
      for (let i = 0; i < squad.value; i++) {
        let sortOrder = Number(attacker ? squad.category : squad.order);
        if (isUser && orderByBattleOrder) {
          sortOrder = userOrder.indexOf(squad.id);
        }
        units.push({
          ...squad,
          sortOrder
        });
      }
    });
    return units.sort((a, b) => a.sortOrder - b.sortOrder);
  };
  const singleUnitAttack = (attUnit, defenders, deadUnits) => {
    if (defenders.length) {
      const splash = attUnit.splash || 1;
      if (splash > 1) {
   		let du = [];  
		for (let i = 0; i < splash; i++) {
          if (typeof defenders[i] === 'undefined') {
            break;
          }
          let eff = 1;
          let effectiveType = attUnit.category === 0 ? 0 : attUnit.category === 4 ? 1 : attUnit.category + 1;
          if (effectiveType === defenders[i].category) {
            eff *= 2;
          }
          if (attUnit.attack * eff >= defenders[i].defense) {
            deadUnits.push(defenders[i].id);
			du.push(i);
          } else {
            defenders[i].defense -= attUnit.attack * eff;
          }
        }
		for (let i=du.length-1; i>=0; i--)
			defenders.splice(du[i], 1);
      } else {
        let attRemaining = attUnit.attack;
        while (typeof defenders[0] !== 'undefined' && attRemaining > 0) {
          let unitAttack = attRemaining;
          let eff = 1;
          let effectiveType = attUnit.category === 0 ? 0 : attUnit.category === 4 ? 1 : attUnit.category + 1;
          if (effectiveType === defenders[0].category) {
            eff *= 2;
          }
          if (unitAttack * eff >= defenders[0].defense) {
            if (attUnit.trample > 0) {
              attRemaining = Math.floor((attRemaining - defenders[0].defense) * (attUnit.trample / 100));
            } else {
              attRemaining = 0;
            }
            deadUnits.push(defenders[0].id);
            defenders.splice(0, 1);
          } else {
            defenders[0].defense -= unitAttack * eff;
            attRemaining = 0;
          }
        }
      }
    }
    return {
      defenders,
      deadUnits
    };
  };
  const canWinBattle = (enemyId, isDefending = false, onlyAvailable = false, autoSortArmy = false) => {
    const forces = {
      player: {
        attack: generateArmy(getUserArmy(isDefending, onlyAvailable), true, isDefending, autoSortArmy, true),
        defense: generateArmy(getUserArmy(isDefending, onlyAvailable), false, isDefending, autoSortArmy, true)
      },
      enemy: {
        attack: generateArmy(getEnemyArmy(enemyId), true),
        defense: generateArmy(getEnemyArmy(enemyId), false)
      }
    };
    let result = 0;
    while (!result) {
      const deadUnits = {
        player: [],
        enemy: []
      };
      forces.player.attack.forEach(attUnit => {
        if (!forces.enemy.defense.length) {
          return;
        }
        const result = singleUnitAttack(attUnit, forces.enemy.defense, deadUnits.enemy);
        forces.enemy.defense = result.defenders;
        deadUnits.enemy = result.deadUnits;
      });
      forces.enemy.attack.forEach(attUnit => {
        if (!forces.player.defense.length) {
          return;
        }
        const result = singleUnitAttack(attUnit, forces.player.defense, deadUnits.player);
        forces.player.defense = result.defenders;
        deadUnits.player = result.deadUnits;
      });
      if (deadUnits.enemy.length) {
        deadUnits.enemy.forEach(deadUnitId => {
          const attackIndex = forces.enemy.attack.findIndex(unit => unit.id === deadUnitId);
          if (attackIndex > -1) {
            forces.enemy.attack.splice(attackIndex, 1);
          }
        });
      }
      if (deadUnits.player.length) {
        deadUnits.player.forEach(deadUnitId => {
          const attackIndex = forces.player.attack.findIndex(unit => unit.id === deadUnitId);
          if (attackIndex > -1) {
            forces.player.attack.splice(attackIndex, 1);
          }
        });
      }
      if (!forces.enemy.attack.length || !forces.player.attack.length) {
        result = forces.player.attack.length ? 1 : 2;
      }
    }
    return result === 1 ? true : false;
  };
  var armyCalculator = {
    canWinBattle,
    sortArmy
  };

  const ids = {
    resources: ['research', 'food', 'wood', 'stone', 'gold', 'tools', 'copper', 'iron', 'cow', 'horse', 'luck', 'mana', 'building_material', 'faith', 'supplies', 'crystal', 'steel', 'saltpetre', 'natronite'],
    prestige: ['legacy'],
    special: ['relic', 'coin', 'tome_wisdom', 'gem', 'titan_gift', 'light']
  };
  const setMaxResources = (type, amount = 1000000000) => {
    const resources = reactUtil.getGameData().run.resources;
    for (let i = 0; i < resources.length; i++) {
      if (ids[type].includes(resources[i].id)) {
        resources[i].value = amount + (resources[i].value ?? 0);
      }
    }
  };
  const cheats = {
    maxResources: () => {
      setMaxResources('resources');
    },
    maxLegacyPoints: (amount = 1) => {
      setMaxResources('prestige', amount);
    },
    maxPrestigeCurrencies: (amount = 1) => {
      setMaxResources('special', amount);
    }
  };

  function groupChoices(inputJSON) {
    let blockingArray = inputJSON.filter(item => item['gen']).filter(blocksOthers);
    blockingArray.sort(function (a, b) {
      return ('' + a['id']).localeCompare(b['id']);
    });
    let outputJSON = [];
    let foundIDs = [];
    for (let i = 0; i < blockingArray.length; i++) {
      if (!foundIDs.includes(blockingArray[i]['id'])) {
        const key = blockingArray[i];
        const value = [blockingArray[i]['id']].concat(blockedItems(blockingArray[i]['gen']));
        value.sort();
        outputJSON.push({
          key,
          value
        });
        value.forEach(function (item) {
          foundIDs.push(item);
        });
      }
    }
    outputJSON.push(foundIDs);
    return outputJSON;
  }
  function blocksOthers(value) {
    return value['gen'].find(item => item['value'] == -1 && item['type'] != 'resource');
  }
  function blockedItems(gen) {
    let returnValue = [];
    const blocked = gen.filter(item => item['value'] === -1);
    blocked.forEach(item => returnValue.push(item['id']));
    return returnValue;
  }

  const getUnitsList = () => {
    const unitsObject = state.options.pages[CONSTANTS.PAGES.ARMY].subpages[CONSTANTS.SUBPAGES.ARMY].options;
    if (Object.keys(unitsObject).length) {
      let unitsList = Object.keys(unitsObject).filter(key => !key.includes('prio_')).filter(key => !!unitsObject[key]).filter(key => !!unitsObject[`prio_${key}`]).map(key => {
        const unit = {
          key: key,
          id: translate(key, 'uni_'),
          max: unitsObject[key] === -1 ? 99999 : unitsObject[key],
          prio: unitsObject[`prio_${key}`]
        };
        return unit;
      }).sort((a, b) => {
        return b.prio - a.prio;
      });
      return unitsList;
    }
    return [];
  };
  const userEnabled$8 = () => {
    return (state.options.pages[CONSTANTS.PAGES.ARMY].enabled || false) && (state.options.pages[CONSTANTS.PAGES.ARMY].subpages[CONSTANTS.SUBPAGES.ARMY].enabled || false);
  };
  const getArmyNumbers = () => {
    return [reactUtil.getGameData().ArmyStore.ownedCount, reactUtil.getGameData().ArmyStore.cap];
  };
  const getControls = () => {
    const armyNumbers = getArmyNumbers();
    const allButtons = selectors.getAllButtons(true);
    const unitsOptionsList = getUnitsList();
    const controls = {
      units: []
    };
    allButtons.forEach(button => {
      const btnKey = reactUtil.getNearestKey(button, 7);
      if (btnKey) {
        const btnData = reactUtil.getReactData(button, 3);
        const unit = units.find(unit => keyGen.armyArmy.key(unit.id) === btnKey);
        if (unit && btnData.memoizedProps.content instanceof Object) {
          const armyData = reactUtil.getGameData().run.army[reactUtil.getGameData().idxs.army[unit.id]];
          let count = 0;
          if (armyData) {
            count = armyData.value;
          }
          unit.count = count;
          unit.button = button;
          unit.key = unit.id;
          const unitOptions = unitsOptionsList.find(unitOption => unitOption.key === unit.key);
          if (unitOptions) {
            const unitToAdd = {
              ...unit,
              ...unitOptions
            };
            if (unitToAdd.cap) {
              unitToAdd.max = Math.min(unitToAdd.cap, unitToAdd.max);
            }
            unitToAdd.max = Math.min(armyNumbers[1] - armyNumbers[0] + unitToAdd.count, unitToAdd.max);
            if (unitToAdd.max > unitToAdd.count) {
              controls.units.push(unitToAdd);
            }
          }
        }
      }
    });
    controls.units.sort((a, b) => b.prio - a.prio);
    return controls;
  };
  const isFull = () => {
    const armyNumbers = getArmyNumbers();
    return armyNumbers[0] >= armyNumbers[1];
  };
  const executeAction$8 = async () => {
    if (!navigation.checkPage(CONSTANTS.PAGES.ARMY, CONSTANTS.SUBPAGES.ARMY)) return;
    if (state.scriptPaused) return;
    if (isFull()) return;
    let controls = getControls();
    if (controls.units.length) {
      while (!state.scriptPaused && controls.units.length) {
        let refreshUnits = false;
        const highestPrio = controls.units[0].prio;
        const highestPrioUnits = controls.units.filter(unit => unit.prio === highestPrio);
        controls.units = controls.units.filter(unit => unit.prio < highestPrio);
        const totalCost = {};
        let maxBulkHire = 50;
        
          for (let i = 0; i < highestPrioUnits.length && !state.scriptPaused && !isFull(); i++) {
            const unit = highestPrioUnits[i];
            if (unit.gen) {
              for (let i = 0; i < unit.gen.length; i++) {
                const gen = unit.gen[i];
                if (gen.type === 'resource') {
                  totalCost[gen.id] = totalCost[gen.id] ? totalCost[gen.id] : 0;
                  totalCost[gen.id] += gen.value;
                }
              }
            }
            maxBulkHire = unit.max - unit.count;
          
          if (maxBulkHire > 1) {
            const usedResources = Object.keys(totalCost);
            for (let i = 0; i < usedResources.length && maxBulkHire > 1; i++) {
              const resId = usedResources[i];
              const resource = resources.get(resId);
              if (resource && totalCost[resId] < 0) {
                maxBulkHire = Math.min(maxBulkHire, Math.floor(resource.speed / (0-totalCost[resId])));
              }
            }
          }
          let shouldHire = true;
          // const unit = highestPrioUnits.shift();
          shouldHire = !unit.gen.filter(gen => gen.type === 'resource').find(gen => !resources.get(gen.id) || resources.get(gen.id).speed + maxBulkHire * gen.value <= 0);
          if (shouldHire && maxBulkHire > 0) {
            for (let i = 0; i < maxBulkHire; i++) {
              state.MainStore.ArmyStore.addArmy(unit.key);
            }
            logger({
              msgLevel: 'log',
              msg: `Hiring ${maxBulkHire} ${unit.id}(s) (current: ${unit.count}, target: ${unit.max})`
            });
            refreshUnits = true;
            await sleep(25);
            if (!navigation.checkPage(CONSTANTS.PAGES.ARMY, CONSTANTS.SUBPAGES.ARMY)) return;
          }
          }
        await sleep(1400);
        if (refreshUnits) {
          controls = getControls();
        }
      }
    }
  };
  var ArmyArmy = {
    page: CONSTANTS.PAGES.ARMY,
    subpage: CONSTANTS.SUBPAGES.ARMY,
    enabled: () => userEnabled$8() && navigation.hasPage(CONSTANTS.PAGES.ARMY),
    action: async () => {
      await navigation.switchSubPage(CONSTANTS.SUBPAGES.ARMY, CONSTANTS.PAGES.ARMY);
      if (navigation.checkPage(CONSTANTS.PAGES.ARMY, CONSTANTS.SUBPAGES.ARMY)) await executeAction$8();
    }
  };

  const userEnabled$7 = () => {
    return (state.options.pages[CONSTANTS.PAGES.ARMY].enabled || false) && (state.options.pages[CONSTANTS.PAGES.ARMY].subpages[CONSTANTS.SUBPAGES.EXPLORE].enabled || false);
  };
  const getSendToExplore = (container, activeOnly = true) => {
    const activeOnlySelector = activeOnly ? ':not(.btn-off):not(.btn-off-cap)' : '';
    return container.querySelector(`button.btn-blue${activeOnlySelector}`);
  };
  const executeAction$7 = async () => {
    if (!navigation.checkPage(CONSTANTS.PAGES.ARMY, CONSTANTS.SUBPAGES.EXPLORE)) return;
    if (state.scriptPaused) return;
    const limits = {
      scout: {
        min: state.options.pages[CONSTANTS.PAGES.ARMY].subpages[CONSTANTS.SUBPAGES.EXPLORE].options.scoutsMin ?? 0,
        max: state.options.pages[CONSTANTS.PAGES.ARMY].subpages[CONSTANTS.SUBPAGES.EXPLORE].options.scoutsMax ?? 0
      },
      explorer: {
        min: state.options.pages[CONSTANTS.PAGES.ARMY].subpages[CONSTANTS.SUBPAGES.EXPLORE].options.explorersMin ?? 0,
        max: state.options.pages[CONSTANTS.PAGES.ARMY].subpages[CONSTANTS.SUBPAGES.EXPLORE].options.explorersMax ?? 0
      },
      familiar: {
        min: state.options.pages[CONSTANTS.PAGES.ARMY].subpages[CONSTANTS.SUBPAGES.EXPLORE].options.familiarsMin ?? 0,
        max: state.options.pages[CONSTANTS.PAGES.ARMY].subpages[CONSTANTS.SUBPAGES.EXPLORE].options.familiarsMax ?? 0
      }
    };
    const container = document.querySelector('div.tab-container.sub-container');
    if (!container) {
      return;
    }
    let continueExploring = true;
    while (continueExploring) {
      continueExploring = false;
      let canExplore = false;
      const boxes = [...container.querySelectorAll('div.grid > div.flex')];
      boxes.shift();
      let unitsSent = [];
      for (let i = 0; i < boxes.length; i++) {
        const box = boxes[i];
        const unitKey = reactUtil.getNearestKey(box, 2);
        const removeUnitButton = box.querySelector('div.inline-flex button.btn-red.rounded-none');
        const addUnitButton = box.querySelector('div.inline-flex button.btn-green.rounded-none');
        const unit = units.find(unit => keyGen.armyAttack.key(unit.id) === unitKey);
        let count = box.querySelector('input[type="text"]').value.split(' / ').map(x => +x);
        if (!limits[unit.id]) {
          continue;
        }
        const limitMin = limits[unit.id].min;
        const limitMax = limits[unit.id].max;
        if (count[1] < limitMin) {
          continue;
        }
        for (let i = 0; i < count[0] - limitMax && removeUnitButton && !removeUnitButton.disabled; i++) {
          removeUnitButton.click();
          await sleep(25);
        }
        count = box.querySelector('input[type="text"]').value.split(' / ').map(x => +x);
        for (let i = 0; i < limitMax - count[0] && addUnitButton && !addUnitButton.disabled && !!getSendToExplore(container, false); i++) {
          addUnitButton.click();
          await sleep(25);
        }
        if (!getSendToExplore(container)) {
          const removeUnitButton = box.querySelector('div.inline-flex button.btn-red.rounded-none');
          if (removeUnitButton && !removeUnitButton.disabled) {
            removeUnitButton.click();
            await sleep(25);
          }
        }
        count = box.querySelector('input[type="text"]').value.split(' / ').map(x => +x);
        if (count[0] >= limitMin) {
          canExplore = true;
          unitsSent.push(`${count[0]} ${translate(unit.id, 'uni_')}(s)`);
        } else {
          const removeUnitButton = box.querySelector('div.inline-flex button.btn-red.rounded-none');
          while (removeUnitButton && !removeUnitButton.disabled) {
            removeUnitButton.click();
            await sleep(25);
          }
        }
      }
      const sendToExplore = getSendToExplore(container);
      if (!state.scriptPaused && sendToExplore && canExplore) {
        logger({
          msgLevel: 'log',
          msg: `Starting exploration: ${unitsSent.join(', ')}`
        });
        if (state.options.turbo.enabled && state.MainStore) {
          state.MainStore.ArmyStore.startExplore();
          if (state.options.instantArmy.enabled) {
            while (state.MainStore.ArmyStore.exploreInProgress) {
              await sleep(1);
            }
            continueExploring = state.MainStore.ArmyStore._foundEnemyCount != 0;
          }
        } else {
          const eTimes = localStorage.get('exploreTimes') || 1;
		  sendToExplore.click();
		  while (state.MainStore.ArmyStore.exploreInProgress) {
            await sleep(100);
          }
		  
		  for (let i=1; i< eTimes; i++) {
			var bton = getSendToExplore(container);
			while (!bton) {
				await sleep(100);
				bton = getSendToExplore(container);
			}
			bton.click();
			while (state.MainStore.ArmyStore.exploreInProgress) {
              await sleep(100);
            } 
		  }
		  localStorage.remove('exploreTimes');
        }
        await sleep(200);
      }
    }
  };
  const getMinWaitTime$1 = () => {
    let waitTime = 60000;
    if (reactUtil.getGameData().StatsStore && reactUtil.getGameData().StatsStore.ngResetNumber) {
      const ngResets = reactUtil.getGameData().StatsStore.ngResetNumber;
      for (let i = 0; i < ngResets; i++) {
        waitTime = waitTime / 2;
      }
    }
    waitTime = Math.ceil(Math.max(waitTime, 3000) / 2) + 1000;
    return waitTime;
  };
  var ArmyExplore = {
    page: CONSTANTS.PAGES.ARMY,
    subpage: CONSTANTS.SUBPAGES.EXPLORE,
    enabled: () => userEnabled$7() && navigation.hasPage(CONSTANTS.PAGES.ARMY) && new Date().getTime() - (state.lastVisited[`${CONSTANTS.PAGES.ARMY}${CONSTANTS.SUBPAGES.EXPLORE}`] || 0) > getMinWaitTime$1(),
    action: async () => {
      await navigation.switchSubPage(CONSTANTS.SUBPAGES.EXPLORE, CONSTANTS.PAGES.ARMY);
      if (navigation.checkPage(CONSTANTS.PAGES.ARMY, CONSTANTS.SUBPAGES.EXPLORE)) await executeAction$7();
    }
  };

  const fights$1 = factions.concat(locations).filter(fight => !fight.id.includes('orc_war_party_')).map(fight => {
    return {
      key: fight.id,
      id: translate(fight.id),
      army: fight.army,
      level: fight.level
    };
  }).filter(fight => typeof fight.level !== 'undefined');
  const factionFights = factions.map(faction => faction.id);
  const blockingFights = ['far_west_island', 'orcish_prison_camp', 'orc_raiding_party', 'orc_gormiak_citadel', 'orc_horith_citadel',
	'orc_ogsog_citadel', 'orc_turgon_citadel', 'lost_valley', 'corrupted_lands', 'dark_village'];
  const unassignAll = controlBox => {
    const allButtons = [...controlBox.querySelectorAll('button:not(.btn)')];
    for (let i = 0; i < allButtons.length; i++) {
      const button = allButtons[i];
      const parentClasses = button.parentElement.classList.toString();
      const classesToFind = ['absolute', 'top-0', 'right-7'];
      if (classesToFind.every(className => parentClasses.includes(className))) {
        button.click();
        break;
      }
    }
  };
  const assignAll = controlBox => {
    const allButtons = [...controlBox.querySelectorAll('button:not(.btn)')];
    for (let i = 0; i < allButtons.length; i++) {
      const button = allButtons[i];
      const parentClasses = button.parentElement.classList.toString();
      const classesToFind = ['absolute', 'top-0', 'right-0'];
      if (classesToFind.every(className => parentClasses.includes(className))) {
        button.click();
        break;
      }
    }
  };
  const userEnabled$6 = () => {
    return (state.options.pages[CONSTANTS.PAGES.ARMY].enabled || false) && (state.options.pages[CONSTANTS.PAGES.ARMY].subpages[CONSTANTS.SUBPAGES.ATTACK].enabled || false);
  };
  const executeAction$6 = async () => {
    if (!navigation.checkPage(CONSTANTS.PAGES.ARMY, CONSTANTS.SUBPAGES.ATTACK)) return;
    if (state.scriptPaused) return;
    const container = document.querySelector('div.tab-container.sub-container');
    if (container) {
      const boxes = [...container.querySelectorAll('div.grid > div.flex')];
      const controlBox = boxes.shift();
      let enemyList = [];
      let target;
      let continueAttacking = true;
      const enemySelectorButton = [...controlBox.querySelectorAll('button.btn')].find(button => reactUtil.getBtnIndex(button, 2) === 1);
      const sendToAttackButton = [...controlBox.querySelectorAll('button.btn')].find(button => reactUtil.getBtnIndex(button, 0) === 3);
      while (sendToAttackButton && continueAttacking) {
        continueAttacking = false;
        if (enemySelectorButton && !enemySelectorButton.disabled && !state.stopAttacks && !state.scriptPaused) {
          enemySelectorButton.click();
          await sleep(250);
          const modals = [...document.querySelectorAll('h3.modal-title')];
          if (modals.length) {
            enemyList = [...modals.map(modal => [...modal.parentElement.querySelectorAll('h5')]).flat()].map(h5 => {
              const key = reactUtil.getNearestKey(h5, 2);
              if (!keyGen.enemy.check(key)) {
                return undefined;
              }
              const enemyDetails = fights$1.find(fight => keyGen.enemy.key(fight.key) === key);
              return {
                button: h5,
                ...enemyDetails
              };
            }).filter(fight => fight).filter(fight => state.options.pages[CONSTANTS.PAGES.ARMY].subpages[CONSTANTS.SUBPAGES.ATTACK].options[fight.key]);
            enemyList.sort((a, b) => {
              let aLevel = a.level || 0;
              let bLevel = b.level || 0;
              if (factionFights.includes(a.key)) {
                aLevel -= 100;
              }
              if (factionFights.includes(b.key)) {
                bLevel -= 100;
              }
			  
			  if (blockingFights.includes(a.key)) {
				  aLevel -= 100;
			  }
			  if (blockingFights.includes(b.key)) {
				  bLevel -= 100;
			  }
			  
              return aLevel - bLevel;
            });
            target = enemyList.find(fight => armyCalculator.canWinBattle(fight.key, false, false, state.options.autoSortArmy.enabled));
            if (target && !state.scriptPaused) {
              target.button.click();
              await sleep(1000);
            } else {
              const closeButton = modals[0].parentElement.parentElement.parentElement.querySelector('div.absolute > button');
              if (closeButton) {
                closeButton.click();
                await sleep(20);
              }
            }
          }
          if (target && !state.stopAttacks) {
            assignAll(controlBox);
            if (state.options.autoSortArmy.enabled) {
              armyCalculator.sortArmy([], false);
            }
            if (!sendToAttackButton.disabled && !state.scriptPaused) {
              logger({
                msgLevel: 'log',
                msg: `Launching attack against ${target.id}`
              });
              if (state.options.turbo.enabled && state.MainStore) {
                state.MainStore.ArmyStore.startAttack();
                continueAttacking = true;
                if (state.options.instantArmy.enabled) {
                  while (state.MainStore.ArmyStore.attackInProgress) {
                    await sleep(1);
                  }
                }
              } else {
                sendToAttackButton.click();
              }
            } else {
              unassignAll(controlBox);
			  logger({
                msgLevel: 'log',
                msg: `Unassigning all army`
              });
            }
          }
          
        } else {
          unassignAll(controlBox);
		  logger({
                msgLevel: 'log',
                msg: `Unassigning all army`
          });
          break;
        }
        await sleep(10);
      }
    }
  };
  const getMinWaitTime = () => {
    let waitTime = 60000;
    if (reactUtil.getGameData().StatsStore && reactUtil.getGameData().StatsStore.ngResetNumber) {
      const ngResets = reactUtil.getGameData().StatsStore.ngResetNumber;
      for (let i = 0; i < ngResets; i++) {
        waitTime = waitTime / 2;
      }
    }
    waitTime = Math.ceil(Math.max(waitTime, 3000) / 2) + 1000;
    return waitTime;
  };
  var ArmyAttack = {
    page: CONSTANTS.PAGES.ARMY,
    subpage: CONSTANTS.SUBPAGES.ATTACK,
    enabled: () => userEnabled$6() && navigation.hasPage(CONSTANTS.PAGES.ARMY) && new Date().getTime() - (state.lastVisited[`${CONSTANTS.PAGES.ARMY}${CONSTANTS.SUBPAGES.ATTACK}`] || 0) > getMinWaitTime(),
    action: async () => {
      await navigation.switchSubPage(CONSTANTS.SUBPAGES.ATTACK, CONSTANTS.PAGES.ARMY);
      if (navigation.checkPage(CONSTANTS.PAGES.ARMY, CONSTANTS.SUBPAGES.ATTACK)) await executeAction$6();
    }
  };

  const getBuildSubpage = subpage => {
    const getBuildingsList = () => {
      const buildingsObject = state.options.pages[CONSTANTS.PAGES.BUILD].subpages[subpage].options;
      if (Object.keys(buildingsObject).length) {
        let buildingsList = Object.keys(buildingsObject).filter(key => !key.includes('prio_')).filter(key => !!buildingsObject[key]).filter(key => !!buildingsObject[`prio_${key}`]).map(key => {
          const building = {
            key: key,
            id: translate(key, 'bui_'),
            max: buildingsObject[key] === -1 ? 999 : buildingsObject[key],
            prio: buildingsObject[`prio_${key}`],
            isSafe: true
          };
          const buildingData = buildings.find(building => building.id === key);
          if (buildingData) {
            if (buildingData.gen) {
              const negativeGen = buildingData.gen.filter(gen => gen.value < 0 && gen.type === 'resource');
              building.isSafe = !negativeGen.length;
              if (negativeGen.length) {
                const requires = negativeGen.map(gen => {
                  return {
                    resource: gen.id,
                    parameter: 'speed',
                    minValue: Math.abs(gen.value)
                  };
                });
                building.requires = requires;
              }
            }
          }
          return {
            ...buildingData,
            ...building
          };
        }).sort((a, b) => {
          return b.prio - a.prio;
        });
        return buildingsList;
      }
      return [];
    };
    const userEnabled = () => {
      return (state.options.pages[CONSTANTS.PAGES.BUILD].enabled || false) && (state.options.pages[CONSTANTS.PAGES.BUILD].subpages[subpage].enabled || false);
    };
    const getAllButtons = () => {
      const buildingsList = getBuildingsList();
      const buttons = selectors.getAllButtons(true).map(button => {
        const id = reactUtil.getNearestKey(button, 6);
        const count = button.querySelector('span.right-0') ? numberParser.parse(button.querySelector('span.right-0').innerText) : 0;
        return {
          id: id,
          element: button,
          count: count,
          building: buildingsList.find(building => keyGen.building.key(building.key) === id)
        };
      }).filter(button => button.building && button.count < button.building.max).sort((a, b) => {
        if (a.building.prio !== b.building.prio) {
          return b.building.prio - a.building.prio;
        }
        return a.count - b.count;
      });
      return buttons;
    };
	
	const popAdjustBuildingList = ['common_house', 'house_workers', 'monument', 'hall_of_the_dead', 'city_hall', 
		'amusement_quarter_b', 'mansion', 'residential_block', 'ministry_interior', 'gan_eden', 
		'ministry_development', 'farm', 'granary', 'lumberjack_camp', 'quarry', 
		'mine', 'stable', 'sacred_den_b', 'fiefdom', 'foundry', 
		'carpenter_workshop', 'grocery', 'steelworks', 'alchemic_laboratory', 'builder_district', 
		'natronite_refinery', 'industrial_plant', 'university', 'observatory', 'ministry_war', 
		'soulstealer_citadel', 'city_center', 'refugee_district', 'city_lights', 'steel_palace_b',
		'artisan_workshop', 'marketplace', 'credit_union', 'railway_station', 'ministry_worship',
		'colony_hall', 'builders_complex', 'artisans_complex', 'alchemist_complex', 'lumix_plant',
		'extensive_cultivation_b', 'steel_mills_b', 'crystal_farm_b', 'elf_village', 'elf_town',
		'elf_encampment', 'dock', 'custom_house', 'financial_center', 'estates',
		'statue_virtue', 'pilgrim_camp', 'mana_extractors', 'beacon_light', 'light_turret',
		'probe_system', 'arcane_school', 'underground_house', 'light_square_b', 'mining_area'
		];
		
    const executeAction = async () => {
      let buttons = getAllButtons();
      let guidedStart = state.options.guidedStart.enabled;
      if (guidedStart) {
        if (reactUtil.getGameData().ResourcesStore.resources.findIndex(x => x.id == 'copper') > -1) {
          guidedStart = false;
        } else {
          const buildingsList = getBuildingsList();
          const watchedButtons = selectors.getAllButtons(false).map(button => {
            const id = reactUtil.getNearestKey(button, 6);
            const count = button.querySelector('span.right-0') ? numberParser.parse(button.querySelector('span.right-0').innerText) : 0;
            return {
              id: id,
              element: button,
              count: count,
              building: buildingsList.find(building => keyGen.building.key(building.key) === id)
            };
          }).filter(button => button.building && (button.building.key === 'common_house' && (!button.count || button.count < 3) || button.building.key === 'farm' && (!button.count || button.count < 1) || button.building.key === 'lumberjack_camp' && (!button.count || button.count < 1) || button.building.key === 'quarry' && (!button.count || button.count < 1)));
          if (watchedButtons.length == 0) {
            guidedStart = false;
          }
        }
      }
      if (buttons.length) {
        while (!state.scriptPaused && buttons.length) {
          let refreshButtons = false;
          const highestPrio = buttons[0].building.prio;
          const highestPrioBuildings = buttons.filter(button => button.building.prio === highestPrio);
          buttons = buttons.filter(button => button.building.prio < highestPrio);
          while (!state.scriptPaused && highestPrioBuildings.length) {
            let shouldBuild = true;
            const button = highestPrioBuildings.shift();
            if (guidedStart) {
              shouldBuild = false;
              if (button.building.key === 'common_house' && (!button.count || button.count < 3)) {
                shouldBuild = true;
              } else if (button.building.key === 'farm' && (!button.count || button.count < 1)) {
                shouldBuild = true;
              } else if (button.building.key === 'lumberjack_camp' && (!button.count || button.count < 1)) {
                shouldBuild = true;
              } else if (button.building.key === 'quarry' && (!button.count || button.count < 1)) {
                shouldBuild = true;
              }
            } else if (!button.building.isSafe && button.building.requires.length) {
              shouldBuild = !button.building.requires.find(req => !resources.get(req.resource) || resources.get(req.resource)[req.parameter] <= req.minValue);
              if (button.building.key === 'common_house' && (!button.count || button.count < 10)) {
                shouldBuild = true;
              }
            }
            if (shouldBuild) {
              if (state.options.turbo.enabled && state.MainStore) {
                state.MainStore.BuildingsStore.addBuilding(button.building.key);
              } else {
                button.element.click();
              }
			  
			  if (popAdjustBuildingList.includes(button.building.key))
				  localStorage.set("popAdjust", true);
			  
              logger({
                msgLevel: 'log',
                msg: `Building ${button.building.id}`
              });
              refreshButtons = true;
              await sleep(25);
              if (!navigation.checkPage(CONSTANTS.PAGES.BUILD)) return;
            }
          }
          await sleep(1400);
          if (refreshButtons) {
            buttons = getAllButtons();
          }
        }
      }
      const buildingsList = getBuildingsList();
      state.buildings = selectors.getAllButtons(false).map(button => {
        const id = reactUtil.getNearestKey(button, 6);
        let count = reactUtil.getGameData().idxs.buildings[id] ? reactUtil.getGameData().idxs.buildings[id] : 0;
        const building = buildingsList.find(building => keyGen.building.key(building.key) === id);
        if (!building) {
          return {};
        }
        if (button.className.includes('btn-cap') && building.cap) {
          count = building.cap;
        }
        return {
          id: id,
          count: count,
          canBuild: !button.classList.toString().includes('btn-off'),
          ...building
        };
      }).filter(building => building.id);
    };
    return {
      page: CONSTANTS.PAGES.BUILD,
      subpage: subpage,
      enabled: () => userEnabled() && navigation.hasPage(CONSTANTS.PAGES.BUILD) && getBuildingsList().length,
      action: async () => {
        await navigation.switchSubPage(subpage, CONSTANTS.PAGES.BUILD);
        if (navigation.checkPage(CONSTANTS.PAGES.BUILD)) await executeAction();
      }
    };
  };

  const resourcesToTrade = ['cow', 'horse', 'food', 'copper', 'wood', 'stone', 'iron', 'tools'];
  const timeToFillResource = 90;
  const timeToWaitUntilFullGold = 60;
  const secondsBetweenSells = 90;
  const getTimeToFillResource = () => {
    return state.options.pages[CONSTANTS.PAGES.MARKETPLACE].options.timeToFillResource || timeToFillResource;
  };
  const getTimeToWaitUntilFullGold = () => {
    return state.options.pages[CONSTANTS.PAGES.MARKETPLACE].options.timeToWaitUntilFullGold || timeToWaitUntilFullGold;
  };
  const getSecondsBetweenSells = () => {
    return state.options.pages[CONSTANTS.PAGES.MARKETPLACE].options.secondsBetweenSells || secondsBetweenSells;
  };
  const getResourcesToTrade = () => {
    const userResourcesToTrade = Object.keys(state.options.pages[CONSTANTS.PAGES.MARKETPLACE].options).filter(key => key.includes('resource_') && state.options.pages[CONSTANTS.PAGES.MARKETPLACE].options[key]).map(key => key.replace('resource_', ''));
    return userResourcesToTrade.length ? userResourcesToTrade : resourcesToTrade;
  };
  const lastSell = localStorage.get('lastSell') || {};
  const shouldSell = () => {
    return !!getResourcesToTrade().find(resName => {
      if (!lastSell[resName]) lastSell[resName] = 0;
      const res = resources.get(resName);
      if (res && (res.current === res.max || res.current + res.speed * getTimeToFillResource() >= res.max) && lastSell[resName] + getSecondsBetweenSells() * 1000 < new Date().getTime()) return true;
    });
  };
  const hasNotEnoughGold = () => {
    const gold = resources.get('gold');
    return gold.current + gold.speed * getTimeToWaitUntilFullGold() < gold.max;
  };
  const userEnabled$5 = () => {
    return state.options.pages[CONSTANTS.PAGES.MARKETPLACE].enabled || false;
  };
  const executeAction$5 = async () => {
    let gold = resources.get('gold');
    if (gold && gold.current < gold.max && shouldSell()) {
      const resourceHolders = [];
      [...document.querySelectorAll('div > div.tab-container > div > div > div')].forEach(resourceHolder => {
        const resKey = reactUtil.getNearestKey(resourceHolder, 2);
        if (resKey) {
          const resName = keyGen.market.id(resKey);
          const res = resources.get(resName);
          if (getResourcesToTrade().includes(resName) && res && (res.current === res.max || res.current + res.speed * getTimeToFillResource() >= res.max)) {
            resourceHolders.push(resourceHolder);
          }
        }
      });
      let goldEarned = 0;
      let soldTotals = {};
      for (let i = 0; i < resourceHolders.length && !state.scriptPaused; i++) {
        gold = resources.get('gold');
        const resourceHolder = resourceHolders[i];
        const resKey = reactUtil.getNearestKey(resourceHolder, 2);
        const resName = keyGen.market.id(resKey);
        let res = resources.get(resName);
        const initialPrice = numberParser.parse(resourceHolder.querySelector('div:nth-child(2) > div > table > tbody > tr > td:nth-child(2)').innerText);
        let price = initialPrice;
        let sellButtons = resourceHolder.querySelectorAll('div > div.grid.gap-3 button.btn-red:not(.btn-dark)');
        while (!state.scriptPaused && sellButtons && sellButtons.length && gold.current < gold.max && res.current + res.speed * getTimeToFillResource() * 2 >= res.max) {
          let maxSellButton = 2;
          const missingResToSell = Math.ceil((gold.max - gold.current) / price);
          if (missingResToSell < 80) {
            maxSellButton = 0;
          } else if (missingResToSell < 800) {
            maxSellButton = 1;
          }
          maxSellButton = Math.min(maxSellButton, sellButtons.length - 1);
          sellButtons[maxSellButton].click();
          lastSell[resName] = new Date().getTime();
          soldTotals[resName] = soldTotals[resName] ? soldTotals[resName] : {
            amount: 0,
            gold: 0
          };
          soldTotals[resName].amount += +sellButtons[maxSellButton].innerText;
          soldTotals[resName].gold += +sellButtons[maxSellButton].innerText * price;
          logger({
            msgLevel: 'debug',
            msg: `Selling ${sellButtons[maxSellButton].innerText} of ${res.name} for ${price}`
          });
          goldEarned += numberParser.parse(sellButtons[maxSellButton].innerText) * price;
          await sleep(10);
          if (!navigation.checkPage(CONSTANTS.PAGES.MARKETPLACE)) return;
          sellButtons = resourceHolder.querySelectorAll('div:nth-child(2) > div.grid.gap-3 button:not(.btn-dark)');
          gold = resources.get('gold');
          res = resources.get(resName);
          price = numberParser.parse(resourceHolder.querySelector('div:nth-child(2) > div > table > tbody > tr > td:nth-child(2)').innerText);
          await sleep(25);
          if (price / initialPrice < 0.1) {
            break;
          }
        }
      }
      if (goldEarned) {
        const totals = Object.keys(soldTotals).filter(resName => soldTotals[resName] && soldTotals[resName].gold && soldTotals[resName].amount).map(resName => `${resName}: ${new Intl.NumberFormat().format(soldTotals[resName].amount)} units for ${new Intl.NumberFormat().format(Math.round(soldTotals[resName].gold))} gold (avg price: ${(soldTotals[resName].gold / soldTotals[resName].amount).toFixed(2)})`);
        logger({
          msgLevel: 'log',
          msg: `Earned ${new Intl.NumberFormat().format(goldEarned)} gold on Marketplace [${totals.join(', ')}]`
        });
        localStorage.set('lastSell', lastSell);
      }
    }
  };
  var Marketplace = {
    page: CONSTANTS.PAGES.MARKETPLACE,
    enabled: () => userEnabled$5() && navigation.hasPage(CONSTANTS.PAGES.MARKETPLACE) && hasNotEnoughGold() && shouldSell(),
    action: async () => {
      await navigation.switchPage(CONSTANTS.PAGES.MARKETPLACE);
      if (navigation.checkPage(CONSTANTS.PAGES.MARKETPLACE)) await executeAction$5();
    }
  };

  const hasUnassignedPopulation = () => {
    let unassignedPopulation = false;
    const navButtons = navigation.getPagesSelector();
    const pageIndex = CONSTANTS.PAGES_INDEX[CONSTANTS.PAGES.POPULATION];
    navButtons.forEach(button => {
      if (reactUtil.getBtnIndex(button, 1) === pageIndex) {
        unassignedPopulation = !!button.querySelector('span');
      }
    });
    return unassignedPopulation;
  };
  const shouldRebalance = () => {
    return state.options.pages[CONSTANTS.PAGES.POPULATION].options.populationRebalanceTime > 0 && (!state.lastVisited.populationRebalance || state.lastVisited.populationRebalance + state.options.pages[CONSTANTS.PAGES.POPULATION].options.populationRebalanceTime * 60 * 1000 < new Date().getTime());
  };
  const allJobs = jobs.filter(job => job.gen && job.gen.length).map(job => {
    return {
      ...job,
      id: translate(job.id, 'pop_'),
      key: job.id,
      gen: job.gen.filter(gen => gen.type === 'resource').map(gen => {
        return {
          id: gen.id,
          value: gen.value
        };
      })
    };
  }).map(job => {
    return {
      ...job,
      isSafe: !job.gen.find(gen => gen.value < 0),
      resourcesGenerated: job.gen.filter(gen => gen.value > 0).map(gen => {
        return {
          id: gen.id,
          value: gen.value
        };
      }),
      resourcesUsed: job.gen.filter(gen => gen.value < 0).map(gen => {
        return {
          id: gen.id,
          value: gen.value
        };
      })
    };
  });
  const userEnabled$4 = () => {
    if (!localStorage.get('popAdjust'))
      return false;
    localStorage.remove('popAdjust');
	return state.options.pages[CONSTANTS.PAGES.POPULATION].enabled || false;
  };
  let allowedJobs;
  const getAllJobs = () => {
    const jobsOptions = state.options.pages[CONSTANTS.PAGES.POPULATION].options;
    if (Object.keys(jobsOptions).length) {
      let allowedJobs = Object.keys(jobsOptions).filter(key => !key.includes('prio_')).filter(key => !!jobsOptions[key]).filter(key => !!jobsOptions[`prio_${key}`]).map(key => {
        const jobData = allJobs.find(job => job.key === key) || {};
        const job = {
          ...jobData,
          max: jobsOptions[key] === -1 ? 999 : jobsOptions[key],
          prio: jobsOptions[`prio_${key}`]
        };
        return job;
      });
      return allowedJobs;
    }
    return [];
  };
  const getAllAvailableJobs = () => {
    const container = selectors.getActivePageContent();
    const availableJobs = [...container.querySelectorAll('h5')].map(job => {
      const jobTitle = reactUtil.getNearestKey(job, 7);
      return {
        ...allowedJobs.find(allowedJob => keyGen.population.key(allowedJob.key) === jobTitle),
        container: job.parentElement.parentElement,
        current: +job.parentElement.parentElement.querySelector('input').value.split('/').shift().trim(),
        maxAvailable: +job.parentElement.parentElement.querySelector('input').value.split('/').pop().trim()
      };
    }).filter(job => job.id && !!job.container.querySelector('button.btn-green') && job.current < Math.min(job.max, job.maxAvailable)).sort((a, b) => {
      if (a.prio === b.prio) {
        return a.current - b.current;
      }
      return b.prio - a.prio;
    });
    return availableJobs;
  };
  const executeAction$4 = async () => {
    allowedJobs = getAllJobs();
    if (allowedJobs.length && shouldRebalance()) {
      const unassignAllButton = document.querySelector('div.flex.justify-center.mx-auto.pt-3.font-bold.text-lg > button');
      if (unassignAllButton) {
        unassignAllButton.click();
        logger({
          msgLevel: 'log',
          msg: 'Unassigning all workers'
        });
        await sleep(10);
      }
      state.lastVisited.populationRebalance = new Date().getTime();
      localStorage.set('lastVisited', state.lastVisited);
    }
    let canAssignJobs = true;
    const container = selectors.getActivePageContent();
    if (!container.querySelector('div > span.ml-2')) {
      return;
    }
    let availablePop = container.querySelector('div > span.ml-2').textContent.split('/').map(pop => numberParser.parse(pop.trim()));
    let availableJobs = getAllAvailableJobs();
    if (availablePop[0] > 0 && availableJobs.length) {
      const minimumFood = state.options.pages[CONSTANTS.PAGES.POPULATION].options.minimumFood || 0;
      const unsafeJobRatio = state.options.pages[CONSTANTS.PAGES.POPULATION].options.unsafeJobRatio ?? 2;
      while (!state.scriptPaused && canAssignJobs) {
        canAssignJobs = false;
        if (availableJobs.length) {
          const foodJob = availableJobs.find(job => job.resourcesGenerated.find(res => res.id === 'food'));
          if (foodJob && resources.get('food').speed <= minimumFood && foodJob.current < foodJob.maxAvailable) {
            const addJobButton = foodJob.container.querySelector('button.btn-green');
            if (addJobButton) {
              logger({
                msgLevel: 'log',
                msg: `Assigning worker as ${foodJob.id}`
              });
              addJobButton.click();
              canAssignJobs = true;
              foodJob.current += 1;
              await sleep(20);
              if (!navigation.checkPage(CONSTANTS.PAGES.POPULATION)) return;
            }
          } else {
            let unassigned = container.querySelector('div > span.ml-2').textContent.split('/').map(pop => numberParser.parse(pop.trim())).shift();
            if (unassigned > 0) {
              const resourcesToProduce = ['natronite', 'saltpetre', 'tools', 'wood', 'stone', 'iron', 'copper', 'mana', 'faith', 'research', 'materials', 'steel', 'supplies', 'gold', 'crystal', 'horse', 'cow', 'food'].filter(res => resources.get(res)).filter(res => availableJobs.find(job => job.resourcesGenerated.find(resGen => resGen.id === res)));
              const resourcesWithNegativeGen = resourcesToProduce.filter(res => resources.get(res) && resources.get(res).speed < 0);
              const resourcesWithNoGen = resourcesToProduce.filter(res => !resourcesWithNegativeGen.includes(res) && resources.get(res) && !resources.get(res).speed);
              const resourcesSorted = resourcesWithNegativeGen.concat(resourcesWithNoGen);
              if (resourcesSorted.length) {
                for (let i = 0; i < resourcesSorted.length && !state.scriptPaused; i++) {
                  if (unassigned === 0) break;
                  const resourceName = resourcesSorted[i];
                  const jobsForResource = availableJobs.filter(job => job.current < job.max && job.resourcesGenerated.find(resGen => resGen.id === resourceName)).sort((a, b) => b.resourcesGenerated.find(resGen => resGen.id === resourceName).value - a.resourcesGenerated.find(resGen => resGen.id === resourceName).value);
                  if (jobsForResource.length) {
                    for (let i = 0; i < jobsForResource.length && !state.scriptPaused; i++) {
                      if (unassigned === 0) break;
                      const job = jobsForResource[i];
                      let isSafeToAdd = job.current < Math.min(job.max, job.maxAvailable);
                      const isFoodJob = !!job.resourcesGenerated.find(res => res.id === 'food');
                      if (isFoodJob) {
                        isSafeToAdd = isSafeToAdd || resources.get('food').speed <= minimumFood && foodJob.current < foodJob.maxAvailable;
                      }
                      if (!job.isSafe) {
                        job.resourcesUsed.every(resUsed => {
                          const res = resources.get(resUsed.id);
                          if (!res || res.speed <= Math.abs(resUsed.value * unsafeJobRatio)) {
                            isSafeToAdd = false;
                          }
                          if (res && resUsed.id === 'food' && res.speed - resUsed.value < minimumFood) {
                            const foodJob = getAllAvailableJobs().find(job => job.resourcesGenerated.find(res => res.id === 'food'));
                            if (foodJob) {
                              i -= 1;
                              job = foodJob;
                              isSafeToAdd = true;
                              return false;
                            } else {
                              isSafeToAdd = false;
                            }
                          }
                          return isSafeToAdd;
                        });
                      }
                      if (isSafeToAdd) {
                        const addJobButton = job.container.querySelector('button.btn-green');
                        if (addJobButton) {
                          logger({
                            msgLevel: 'log',
                            msg: `Assigning worker as ${job.id}`
                          });
                          addJobButton.click();
                          job.current += 1;
                          unassigned -= 1;
                          canAssignJobs = !!unassigned;
                          await sleep(20);
                          if (!navigation.checkPage(CONSTANTS.PAGES.POPULATION)) return;
                        }
                      }
                    }
                  }
                }
              }
              availableJobs = getAllAvailableJobs();
              for (let i = 0; i < availableJobs.length; i++) {
                if (!navigation.checkPage(CONSTANTS.PAGES.POPULATION)) break;
                if (state.scriptPaused) break;
                const job = availableJobs[i];
                let isSafeToAdd = job.current < Math.min(job.max, job.maxAvailable);
                const isFoodJob = !!job.resourcesGenerated.find(res => res.id === 'food');
                if (isFoodJob) {
                  isSafeToAdd = isSafeToAdd || resources.get('food').speed <= minimumFood && foodJob.current < foodJob.maxAvailable;
                }
                if (!job.isSafe) {
                  job.resourcesUsed.every(resUsed => {
                    const res = resources.get(resUsed.id);
                    if (!res || res.speed <= Math.abs(resUsed.value * unsafeJobRatio)) {
                      isSafeToAdd = false;
                    }
                    if (res && resUsed.id === 'food' && res.speed - resUsed.value < minimumFood) {
                      const foodJob = availableJobs.find(job => job.resourcesGenerated.find(res => res.id === 'food'));
                      if (foodJob) {
                        job = foodJob;
                        isSafeToAdd = true;
                        return false;
                      } else {
                        isSafeToAdd = false;
                      }
                    }
                    return isSafeToAdd;
                  });
                }
                if (isSafeToAdd && !state.scriptPaused) {
                  const addJobButton = job.container.querySelector('button.btn-green');
                  if (addJobButton) {
                    logger({
                      msgLevel: 'log',
                      msg: `Assigning worker as ${job.id}`
                    });
                    addJobButton.click();
                    job.current += 1;
                    unassigned -= 1;
                    canAssignJobs = !!unassigned;
                    await sleep(20);
                    if (!navigation.checkPage(CONSTANTS.PAGES.POPULATION)) return;
                    break;
                  }
                }
              }
            }
          }
          availableJobs = getAllAvailableJobs();
        }
        const unassigned = container.querySelector('div > span.ml-2').textContent.split('/').map(pop => numberParser.parse(pop.trim())).shift();
        if (unassigned === 0) {
          canAssignJobs = false;
        }
        await sleep(10);
        if (!navigation.checkPage(CONSTANTS.PAGES.POPULATION)) return;
      }
    }
  };
  var Population = {
    page: CONSTANTS.PAGES.POPULATION,
    enabled: () => userEnabled$4() && navigation.hasPage(CONSTANTS.PAGES.POPULATION) && (hasUnassignedPopulation() || shouldRebalance()) && getAllJobs().length,
    action: async () => {
      await navigation.switchPage(CONSTANTS.PAGES.POPULATION);
      if (navigation.checkPage(CONSTANTS.PAGES.POPULATION)) await executeAction$4();
    }
  };

  const loggingResearch = ['housing', 'moonlight_night', 'dragon_assault', 'mysterious_robbery', 'fallen_angel',
    'orc_horde', 'create_annhilator', 'mindless_evil'];
  const exploreResearch = ['seafaring', 'burned_farms', 'orcish_threat', 'orcish_citadel', 'mankind_darkest',
    'ancient_artifact', 'black_artifact', 'explore_sorrounding'];
  const exploreTimes = 6;
  const ngResearch = [];
  
  const dangerousFightsMapping = {
    moonlight_night: 'army_of_goblin',
    dragon_assault: 'army_of_dragon',
    mysterious_robbery: 'fallen_angel_army_1',
    fallen_angel: 'fallen_angel_army_2',
    orc_horde: 'orc_horde_boss',
    kobold_nation: 'king_kobold_nation',
    barbarian_tribes: 'barbarian_horde',
    mindless_evil: 'mindless_evil_boss'
  };
  const resetResearch = ['launch_annhilator'];
  const userEnabled$3 = () => {
    return state.options.pages[CONSTANTS.PAGES.RESEARCH].subpages[CONSTANTS.SUBPAGES.RESEARCH].enabled || false;
  };
  const getAllowedResearch = () => {
    const researchOptions = state.options.pages[CONSTANTS.PAGES.RESEARCH].subpages[CONSTANTS.SUBPAGES.RESEARCH].options;
    if (Object.keys(researchOptions).length) {
      let allowedResearch = Object.keys(researchOptions).filter(key => !!researchOptions[key]).map(key => {
        const research = {
          key: key,
          id: translate(key, 'tec_'),
          prio: researchOptions[key]
        };
        const researchData = tech.find(technology => technology.id === key);
        return {
          ...researchData,
          ...research
        };
      });
      return allowedResearch;
    }
    return [];
  };
  const getAllButtons$2 = () => {
    const buttonsList = selectors.getAllButtons(true);
    const allowedResearch = getAllowedResearch().map(tech => {
      let button = buttonsList.find(button => reactUtil.getNearestKey(button, 7) === keyGen.research.key(tech.key));
      return {
        ...tech,
        button
      };
    }).filter(tech => tech.button).sort((a, b) => b.prio - a.prio);
    return allowedResearch;
  };
  const getAllResearchButtons = () => {
    const buttonsList = selectors.getAllButtons(false);
    const allowedResearch = getAllowedResearch().map(tech => {
      let button = buttonsList.find(button => reactUtil.getNearestKey(button, 7) === keyGen.research.key(tech.key));
      return {
        ...tech,
        button
      };
    }).filter(tech => tech.button).sort((a, b) => b.prio - a.prio);
    return allowedResearch;
  };
  const awaitResearch = 50;
  
  const executeAction$3 = async () => {
    let ignoredTech = [];
    let buttonsList = getAllButtons$2();
    if (buttonsList.length) {
      while (!state.scriptPaused && buttonsList.length) {
        const highestPrio = buttonsList[0].prio;
        buttonsList = buttonsList.filter(tech => tech.prio === highestPrio);
		var researched = false;
        for (let i = 0; i < buttonsList.length; i++) {
          const research = buttonsList[i];
          if (state.options.pages[CONSTANTS.PAGES.RESEARCH].subpages[CONSTANTS.SUBPAGES.RESEARCH].options.dangerousFights && dangerousFightsMapping[research.key]) {
            const canWinBattle = armyCalculator.canWinBattle(dangerousFightsMapping[research.key], true, false, state.options.autoSortArmy.enabled);
            if (canWinBattle) {
              const canWinNow = armyCalculator.canWinBattle(dangerousFightsMapping[research.key], true, true, state.options.autoSortArmy.enabled);
              if (canWinNow) {
                state.stopAttacks = false;
                logger({
                  msgLevel: 'debug',
                  msg: `Will try starting a dangerous research. Research: ${research.id} (${research.key}). Fight: ${dangerousFightsMapping[research.key]}`
                });
              } else {
                ignoredTech.push(research.id);
                logger({
                  msgLevel: 'debug',
                  msg: `Can win ${research.id}, but we need to unassign all units first.`
                });
                state.stopAttacks = true;
                continue;
              }
            } else {
              ignoredTech.push(research.id);
              logger({
                msgLevel: 'debug',
                msg: `Can't win ${research.id}, ignoring it for this round.`
              });
              continue;
            }
          }
          const isResetResearch = resetResearch.includes(research.key);
          if (isResetResearch) {
            state.scriptPaused = true;
            await sleep(1000, true);
            const fullPageOverlay = document.querySelector('#headlessui-portal-root div.absolute.top-0.right-0.z-20.pt-4.pr-4 > button');
            if (fullPageOverlay && fullPageOverlay.innerText.includes('Close')) {
              fullPageOverlay.click();
            }
          }
          if (state.options.turbo.enabled && state.MainStore && !isResetResearch) {
            state.MainStore.TechsStore.addTech(research.key);
          } else {
            research.button.click();
			researched = true;
          }
		  
		  if (loggingResearch.includes(research.key))
			  logger({
				msgLevel: 'warn',
				msg: `Researching ${research.id}`
			  });
          if (exploreResearch.includes(research.key))
			  localStorage.set('exploreTimes', exploreTimes);
		  
          logger({
            msgLevel: 'log',
            msg: `Researching ${research.id}`
          });
          await sleep(25);
		  
          if (ngResearch.includes(research.key)) {
			manualNG();
			await sleep(1000);
			await tasks.autoPrestige();
			localStorage.remove('manualNG');
		  }
		  
          if (isResetResearch) {
            await sleep(6000, true);
            const fullPageOverlay = document.querySelector('#headlessui-portal-root div.absolute.top-0.right-0.z-20.pt-4.pr-4 > button');
            if (fullPageOverlay && fullPageOverlay.innerText.includes('Close')) {
              fullPageOverlay.click();
            }
            await sleep(2500, true);
            logger({
              msgLevel: 'log',
              msg: `Reset started.`
            });
            state.scriptPaused = false;
            return;
          }
          if (research.confirm) {
            if (!navigation.checkPage(CONSTANTS.PAGES.RESEARCH, CONSTANTS.SUBPAGES.RESEARCH)) return;
            await sleep(1000);
            const redConfirmButton = [...document.querySelectorAll('#headlessui-portal-root .btn.btn-red')].find(button => reactUtil.getBtnIndex(button, 0) === 1);
            if (redConfirmButton) {
              redConfirmButton.click();
              await sleep(400);
              if (!navigation.checkPage(CONSTANTS.PAGES.RESEARCH, CONSTANTS.SUBPAGES.RESEARCH)) return;
            }
          }
          if (!navigation.checkPage(CONSTANTS.PAGES.RESEARCH, CONSTANTS.SUBPAGES.RESEARCH)) return;
        }
		if (researched)
          await sleep(3100);
        buttonsList = getAllButtons$2().filter(tech => !ignoredTech.includes(tech.id));
		if (researched && !buttonsList.length && getAllResearchButtons().filter(tech => !ignoredTech.includes(tech.id)).length) {
          await sleep(awaitResearch);
		  buttonsList = getAllButtons$2().filter(tech => !ignoredTech.includes(tech.id));
		}
      }
    }
  };
  const hasResearches = () => {
    const pageIndex = CONSTANTS.PAGES_INDEX[CONSTANTS.PAGES.RESEARCH];
    const resNavButton = navigation.getPagesSelector().find(page => reactUtil.getBtnIndex(page, 1) === pageIndex);
    if (resNavButton) {
      const researchesAvailable = resNavButton.querySelector('span.inline-block');
      if (researchesAvailable) {
        return true;
      }
    }
    return false;
  };
  var ResearchResearch = {
    page: CONSTANTS.PAGES.RESEARCH,
    subpage: CONSTANTS.SUBPAGES.RESEARCH,
    enabled: () => userEnabled$3() && navigation.hasPage(CONSTANTS.PAGES.RESEARCH) && getAllowedResearch().length && hasResearches(),
    action: async () => {
      await navigation.switchSubPage(CONSTANTS.SUBPAGES.RESEARCH, CONSTANTS.PAGES.RESEARCH);
      if (navigation.checkPage(CONSTANTS.PAGES.RESEARCH, CONSTANTS.SUBPAGES.RESEARCH)) await executeAction$3();
    }
  };

  const userEnabled$2 = () => {
    return (state.options.pages[CONSTANTS.PAGES.MAGIC].enabled || false) && (state.options.pages[CONSTANTS.PAGES.MAGIC].subpages[CONSTANTS.SUBPAGES.PRAYERS].enabled || false);
  };
  const getAllowedPrayers = () => {
    const prayersOptions = state.options.pages[CONSTANTS.PAGES.MAGIC].subpages[CONSTANTS.SUBPAGES.PRAYERS].options;
    if (Object.keys(prayersOptions).length) {
      let allowedPrayers = Object.keys(prayersOptions).filter(key => !!prayersOptions[key]).map(key => {
        const prayer = {
          key: key,
          id: translate(key, 'fai_'),
          prio: prayersOptions[key]
        };
        const prayerData = spells.find(spell => spell.id === key);
        return {
          ...prayerData,
          ...prayer
        };
      });
      return allowedPrayers;
    }
    return [];
  };
  const getAllButtons$1 = () => {
    const buttonsList = selectors.getAllButtons(true, ':not(.btn-progress)');
    const allowedPrayers = getAllowedPrayers().map(prayer => {
      const button = buttonsList.find(button => reactUtil.getNearestKey(button, 6) === keyGen.magic.key(prayer.key));
      return {
        ...prayer,
        button
      };
    }).filter(prayer => prayer.button).sort((a, b) => b.prio - a.prio);
    return allowedPrayers;
  };
  const executeAction$2 = async () => {
    let buttonsList = getAllButtons$1();
    if (buttonsList.length) {
      while (!state.scriptPaused && buttonsList.length) {
        const highestPrio = buttonsList[0].prio;
        buttonsList = buttonsList.filter(prayer => prayer.prio === highestPrio);
        for (let i = 0; i < buttonsList.length; i++) {
          const prayer = buttonsList[i];
          if (state.options.turbo.enabled && state.MainStore) {
            state.MainStore.MagicStore.addPrayer(prayer.key);
          } else {
            prayer.button.click();
          }
          logger({
            msgLevel: 'log',
            msg: `Researching prayer ${prayer.id}`
          });
          await sleep(25);
          if (!navigation.checkPage(CONSTANTS.PAGES.MAGIC, CONSTANTS.SUBPAGES.PRAYERS)) return;
        }
        await sleep(3100);
        buttonsList = getAllButtons$1();
      }
    }
  };
  
  const hasMagics = () => {
    const pageIndex = CONSTANTS.PAGES_INDEX[CONSTANTS.PAGES.MAGIC];
    const resNavButton = navigation.getPagesSelector().find(page => reactUtil.getBtnIndex(page, 1) === pageIndex);
    if (resNavButton) {
      const magicsAvailable = resNavButton.querySelector('span.inline-block');
      if (magicsAvailable) {
        return true;
      }
    }
    return false;
  };  
  var MagicPrayers = {
    page: CONSTANTS.PAGES.MAGIC,
    subpage: CONSTANTS.SUBPAGES.PRAYERS,
    enabled: () => userEnabled$2() && navigation.hasPage(CONSTANTS.PAGES.MAGIC) && getAllowedPrayers().length && resources.get('faith') && resources.get('faith').max && hasMagics(),
    action: async () => {
      await navigation.switchSubPage(CONSTANTS.SUBPAGES.PRAYERS, CONSTANTS.PAGES.MAGIC);
      if (navigation.checkPage(CONSTANTS.PAGES.MAGIC, CONSTANTS.SUBPAGES.PRAYERS)) await executeAction$2();
    }
  };

  const userEnabled$1 = () => {
    return (state.options.pages[CONSTANTS.PAGES.MAGIC].enabled || false) && (state.options.pages[CONSTANTS.PAGES.MAGIC].subpages[CONSTANTS.SUBPAGES.SPELLS].enabled || false);
  };
  const getAllowedSpells = () => {
    const spellOptions = state.options.pages[CONSTANTS.PAGES.MAGIC].subpages[CONSTANTS.SUBPAGES.SPELLS].options;
    if (Object.keys(spellOptions).length) {
      let allowedSpells = Object.keys(spellOptions).map(key => {
        const spell = {
          key: key,
          id: translate(key, 'fai_'),
          enabled: spellOptions[key]
        };
        const spellData = spells.find(spell => spell.id === key);
        return {
          ...spellData,
          ...spell
        };
      }).filter(spell => spell.type && spell.gen);
      return allowedSpells;
    }
    return [];
  };
  const getAllButtons = () => {
    const allowedSpells = getAllowedSpells();
    const buttonsList = selectors.getAllButtons(true).map(button => {
      const spell = allowedSpells.find(spell => reactUtil.getNearestKey(button, 4) === keyGen.magic.key(spell.key));
      return {
        ...spell,
        button
      };
    }).filter(spell => spell.button).sort((a, b) => a.gen.find(gen => gen.id === 'mana').value - b.gen.find(gen => gen.id === 'mana').value);
    return buttonsList;
  };
  const executeAction$1 = async () => {
    const buttonsList = getAllButtons();
    const enabledSpells = buttonsList.filter(button => button.enabled);
    const disabledSpells = buttonsList.filter(button => !button.enabled);
    for (let i = 0; i < disabledSpells.length && !state.scriptPaused; i++) {
      const spell = disabledSpells[i];
      if (spell.button.classList.contains('btn-dark')) {
        logger({
          msgLevel: 'log',
          msg: `Cancelling spell ${spell.id}`
        });
        spell.button.click();
        await sleep(25);
      }
      if (!navigation.checkPage(CONSTANTS.PAGES.MAGIC, CONSTANTS.SUBPAGES.SPELLS)) return;
    }
    for (let i = 0; i < enabledSpells.length && !state.scriptPaused; i++) {
      const spell = enabledSpells[i];
      const hasEnoughMana = resources.get('mana').speed + spell.gen.find(gen => gen.id === 'mana').value > (state.options.pages[CONSTANTS.PAGES.MAGIC].subpages[CONSTANTS.SUBPAGES.SPELLS].options.minimumMana || 0);
      if (!spell.button.classList.contains('btn-dark') && hasEnoughMana) {
        logger({
          msgLevel: 'log',
          msg: `Casting spell ${spell.id}`
        });
        spell.button.click();
        await sleep(25);
      }
      if (!navigation.checkPage(CONSTANTS.PAGES.MAGIC, CONSTANTS.SUBPAGES.SPELLS)) return;
    }
  };
  var MagicSpells = {
    page: CONSTANTS.PAGES.MAGIC,
    subpage: CONSTANTS.SUBPAGES.SPELLS,
    enabled: () => userEnabled$1() && navigation.hasPage(CONSTANTS.PAGES.MAGIC) && getAllowedSpells().length && resources.get('mana') && resources.get('mana').max,
    action: async () => {
      await navigation.switchSubPage(CONSTANTS.SUBPAGES.SPELLS, CONSTANTS.PAGES.MAGIC);
      if (navigation.checkPage(CONSTANTS.PAGES.MAGIC, CONSTANTS.SUBPAGES.SPELLS)) await executeAction$1();
    }
  };

  const isAtWar = () => {
    return !![...document.querySelectorAll('p.text-red-700')].find(p => p.innerText.includes('You are now at war with this faction'));
  };
  const userEnabled = () => {
    return state.options.pages[CONSTANTS.PAGES.DIPLOMACY].enabled || false;
  };
  const mapToFaction = button => {
    let factionName = reactUtil.getNearestKey(button, 12);
    let level = 0;
    let parent = button.parentElement;
    let factionNameEl;
    while (!factionNameEl && level < 5) {
      factionNameEl = parent.querySelector('div.font-bold > button.font-bold');
      if (factionNameEl) ; else {
        factionNameEl = null;
        parent = parent.parentElement;
        level += 1;
      }
    }
    if (factionName && factionNameEl) {
      const factionData = factions.find(faction => keyGen.diplomacy.key(faction.id) === factionName);
      return {
        ...factionData,
        button,
        level: level,
        buttonCount: parent.querySelectorAll(`button.btn`).length,
        key: factionData.id,
        id: translate(factionData.id, 'dip_'),
        option: state.options.pages[CONSTANTS.PAGES.DIPLOMACY].options[factionData.id]
      };
    }
  };
  const getFactionsWithButtons = () => {
    const allButtons = selectors.getAllButtons(true).map(button => mapToFaction(button)).filter(button => button);
    const listOfFactions = {};
    for (let i = 0; i < allButtons.length; i++) {
      const button = allButtons[i];
      listOfFactions[button.key] = listOfFactions[button.key] ? listOfFactions[button.key] : button;
      listOfFactions[button.key].buttons = listOfFactions[button.key].buttons ? listOfFactions[button.key].buttons : {};
      let buttonType = undefined;
      if (button.level === 2) {
        buttonType = CONSTANTS.DIPLOMACY_BUTTONS.DELEGATION;
      } else if (button.level === 3) {
        if (button.button.classList.contains('btn-dark')) {
          buttonType = CONSTANTS.DIPLOMACY_BUTTONS.CANCEL_TRADE;
        } else {
          buttonType = CONSTANTS.DIPLOMACY_BUTTONS.ACCEPT_TRADE;
        }
      } else if (button.level === 4) {
        if (button.button.classList.contains('btn-blue')) {
          buttonType = CONSTANTS.DIPLOMACY_BUTTONS.ALLY;
        } else if (button.button.classList.contains('btn-green')) {
          buttonType = CONSTANTS.DIPLOMACY_BUTTONS.IMPROVE_RELATIONSHIPS;
        } else {
          if (button.button.parentElement.parentElement.parentElement.className.includes('border-red')) {
            buttonType = CONSTANTS.DIPLOMACY_BUTTONS.WAR;
          } else {
            buttonType = CONSTANTS.DIPLOMACY_BUTTONS.INSULT;
          }
        }
      }
      if (buttonType) {
        listOfFactions[button.key].buttons[buttonType] = button.button;
      }
      delete listOfFactions[button.key].button;
    }
    return listOfFactions;
  };
  const executeAction = async () => {
    let factionsWithButtons = getFactionsWithButtons();
    let factionKeys = Object.keys(factionsWithButtons);
    let tookAction = true;
    let longAction = false;
    while (!state.scriptPaused && tookAction) {
      if (!navigation.checkPage(CONSTANTS.PAGES.DIPLOMACY)) return;
      tookAction = false;
      longAction = false;
      for (let i = 0; i < factionKeys.length; i++) {
        if (state.scriptPaused) return;
        if (!navigation.checkPage(CONSTANTS.PAGES.DIPLOMACY)) return;
        const faction = factionsWithButtons[factionKeys[i]];
        if (faction.option && faction.option !== CONSTANTS.DIPLOMACY.DISABLED) {
          if (faction.option !== CONSTANTS.DIPLOMACY.JUST_TRADE && faction.option !== CONSTANTS.DIPLOMACY.TRADE_AND_ALLY) {
            if (faction.buttons[CONSTANTS.DIPLOMACY_BUTTONS.CANCEL_TRADE]) {
              logger({
                msgLevel: 'log',
                msg: `Canceling trade with ${faction.id}`
              });
              tookAction = true;
              faction.buttons[CONSTANTS.DIPLOMACY_BUTTONS.CANCEL_TRADE].click();
            }
          } else if (faction.option === CONSTANTS.DIPLOMACY.JUST_TRADE || faction.option === CONSTANTS.DIPLOMACY.TRADE_AND_ALLY) {
            if (faction.buttons[CONSTANTS.DIPLOMACY_BUTTONS.ACCEPT_TRADE]) {
              let canTrade;
              if (!faction.commercial) {
                canTrade = false;
              } else {
                canTrade = faction.commercial.filter(res => res.type === 'resource').every(res => {
                  if (res.value < 0) {
                    const currentRes = resources.get(res.id);
                    return currentRes.speed > Math.abs(res.value);
                  } else {
                    return true;
                  }
                });
              }
              if (canTrade) {
                logger({
                  msgLevel: 'log',
                  msg: `Starting trading with ${faction.id}`
                });
                tookAction = true;
                faction.buttons[CONSTANTS.DIPLOMACY_BUTTONS.ACCEPT_TRADE].click();
              }
            }
          }
          if (faction.buttons[CONSTANTS.DIPLOMACY_BUTTONS.DELEGATION]) {
            logger({
              msgLevel: 'log',
              msg: `Sending delegation to ${faction.id}`
            });
            longAction = true;
            tookAction = true;
            faction.buttons[CONSTANTS.DIPLOMACY_BUTTONS.DELEGATION].click();
          } else if (faction.option === CONSTANTS.DIPLOMACY.GO_TO_WAR && state.options.pages[CONSTANTS.PAGES.ARMY].subpages[CONSTANTS.SUBPAGES.ATTACK].options[faction.key] && !isAtWar()) {
            if (faction.buttons[CONSTANTS.DIPLOMACY_BUTTONS.INSULT]) {
              logger({
                msgLevel: 'log',
                msg: `Insulting ${faction.id}`
              });
              longAction = true;
              tookAction = true;
              faction.buttons[CONSTANTS.DIPLOMACY_BUTTONS.INSULT].click();
            }
            if (faction.buttons[CONSTANTS.DIPLOMACY_BUTTONS.WAR]) {
              const canWinBattle = armyCalculator.canWinBattle(faction.key, false, false, state.options.autoSortArmy.enabled);
              if (canWinBattle) {
                logger({
                  msgLevel: 'log',
                  msg: `Going to war with ${faction.id}`
                });
                tookAction = true;
                faction.buttons[CONSTANTS.DIPLOMACY_BUTTONS.WAR].click();
                await sleep(200);
                const redConfirmButton = [...document.querySelectorAll('#headlessui-portal-root .btn.btn-red')].find(button => reactUtil.getBtnIndex(button, 0) === 1);
                if (redConfirmButton) {
                  redConfirmButton.click();
                  await sleep(200);
                }
                await sleep(3100);
              } else {
                logger({
                  msgLevel: 'debug',
                  msg: `Can't win the fight against ${faction.id}, so no war is being started`
                });
              }
            }
          } else if (faction.option === CONSTANTS.DIPLOMACY.TRADE_AND_ALLY || faction.option === CONSTANTS.DIPLOMACY.ONLY_ALLY) {
            if (faction.buttons[CONSTANTS.DIPLOMACY_BUTTONS.IMPROVE_RELATIONSHIPS]) {
              logger({
                msgLevel: 'log',
                msg: `Improving relationships with ${faction.id}`
              });
              longAction = true;
              tookAction = true;
              faction.buttons[CONSTANTS.DIPLOMACY_BUTTONS.IMPROVE_RELATIONSHIPS].click();
            }
            if (faction.buttons[CONSTANTS.DIPLOMACY_BUTTONS.ALLY]) {
              logger({
                msgLevel: 'log',
                msg: `Allying with ${faction.id}`
              });
              longAction = true;
              tookAction = true;
              faction.buttons[CONSTANTS.DIPLOMACY_BUTTONS.ALLY].click();
            }
          } else if (faction.option === CONSTANTS.DIPLOMACY.JUST_TRADE && !faction.buttons[CONSTANTS.DIPLOMACY_BUTTONS.CANCEL_TRADE] && !faction.buttons[CONSTANTS.DIPLOMACY_BUTTONS.ACCEPT_TRADE]) {
            if (faction.buttons[CONSTANTS.DIPLOMACY_BUTTONS.IMPROVE_RELATIONSHIPS]) {
              logger({
                msgLevel: 'log',
                msg: `Improving relationships with ${faction.id}`
              });
              longAction = true;
              tookAction = true;
              faction.buttons[CONSTANTS.DIPLOMACY_BUTTONS.IMPROVE_RELATIONSHIPS].click();
            }
          }
        }
      }
      if (tookAction) {
        if (longAction) {
          await sleep(3100);
        } else {
          await sleep(25);
        }
        factionsWithButtons = getFactionsWithButtons();
        factionKeys = Object.keys(factionsWithButtons);
      }
    }
  };
  var Diplomacy = {
    page: CONSTANTS.PAGES.DIPLOMACY,
    enabled: () => userEnabled() && navigation.hasPage(CONSTANTS.PAGES.DIPLOMACY),
    action: async () => {
      await navigation.switchPage(CONSTANTS.PAGES.DIPLOMACY);
      if (navigation.checkPage(CONSTANTS.PAGES.DIPLOMACY)) await executeAction();
    }
  };

  var pages = {
    ArmyArmy,
    ArmyExplore,
    ArmyAttack,
    BuildCity: getBuildSubpage(CONSTANTS.SUBPAGES.CITY),
    BuildColony: getBuildSubpage(CONSTANTS.SUBPAGES.COLONY),
    BuildAbyss: getBuildSubpage(CONSTANTS.SUBPAGES.ABYSS),
    Marketplace,
    Population,
    ResearchResearch,
    MagicPrayers,
    MagicSpells,
    Diplomacy
  };

  const calculateTippyTTF = () => {
    let potentialResourcesToFillTable = document.querySelectorAll('div.tippy-box > div.tippy-content > div > div > table');
    if (potentialResourcesToFillTable.length) {
      potentialResourcesToFillTable = potentialResourcesToFillTable[0];
      const rows = potentialResourcesToFillTable.querySelectorAll('tr');
      rows.forEach(row => {
        const cells = row.querySelectorAll('td');
        let reqKey = reactUtil.getNearestKey(cells[0], 1);
        if (!keyGen.tooltipReq.check(reqKey)) {
          return;
        }
        reqKey = keyGen.tooltipReq.id(reqKey);
        let dataList;
        let dataId;
        let reqField = 'req';
        if (reqKey.startsWith(CONSTANTS.TOOLTIP_PREFIX.BUILDING)) {
          dataList = buildings;
          dataId = reqKey.replace(CONSTANTS.TOOLTIP_PREFIX.BUILDING, '');
        } else if (reqKey.startsWith(CONSTANTS.TOOLTIP_PREFIX.TECH)) {
          dataList = tech;
          dataId = reqKey.replace(CONSTANTS.TOOLTIP_PREFIX.TECH, '');
        } else if (reqKey.startsWith(CONSTANTS.TOOLTIP_PREFIX.PRAYER)) {
          dataList = spells;
          dataId = reqKey.replace(CONSTANTS.TOOLTIP_PREFIX.PRAYER, '');
        } else if (reqKey.startsWith(CONSTANTS.TOOLTIP_PREFIX.UNIT)) {
          dataList = units;
          dataId = reqKey.replace(CONSTANTS.TOOLTIP_PREFIX.UNIT, '');
        } else if (reqKey.startsWith(CONSTANTS.TOOLTIP_PREFIX.FACTION_IMPROVE)) {
          dataList = factions;
          dataId = reqKey.replace(CONSTANTS.TOOLTIP_PREFIX.FACTION_IMPROVE, '');
          reqField = 'reqImproveRelationship';
        } else if (reqKey.startsWith(CONSTANTS.TOOLTIP_PREFIX.FACTION_DELEGATION)) {
          dataList = factions;
          dataId = reqKey.replace(CONSTANTS.TOOLTIP_PREFIX.FACTION_DELEGATION, '');
          reqField = 'reqDelegation';
        }
        if (!dataId || !dataList) {
          return;
        }
        let match = dataId.match(/^([a-zA-Z_]+)(\d+)$/);
        if (!match) {
          return;
        }
        dataId = match[1];
        let reqIdx = match[2];
        let data = dataList.find(d => dataId === d.id);
        if (!data) {
          return;
        }
        let req = data[reqField];
        if (req) {
          req = req[reqIdx];
        }
        if (!req) {
          return;
        }
        const resource = resources.get(req.id);
        if (resource) {
          let ttf = '✅';
          const target = numberParser.parse(cells[1].textContent.split(' ').shift().replace(/[^0-9KM\-,\.]/g, '').trim());
          if (target > resource.max || resource.speed <= 0) {
            ttf = 'never';
          } else if (target > resource.current) {
            ttf = formatTime(Math.ceil((target - resource.current) / resource.speed)).timeShort;
          }
          if (!cells[2]) {
            const ttfElement = document.createElement('td');
            ttfElement.className = 'px-4 3xl:py-1 text-right';
            ttfElement.textContent = ttf;
            row.appendChild(ttfElement);
          } else {
            cells[2].textContent = ttf;
          }
        }
      });
    }
  };

  const calculateTTF = () => {
    const resourceTrNodes = document.querySelectorAll('#root > div > div:not(#maintabs-container) > div > div > div > table:not(.hidden) > tbody > tr');
    resourceTrNodes.forEach(row => {
      const cells = row.querySelectorAll('td');
      const resourceName = keyGen.resource.id(reactUtil.getNearestKey(cells[0], 5));
      const resource = resources.get(resourceName);
      let ttf = '';
      if (resource && resource.current < resource.max && resource.speed) {
        ttf = resource.ttf ? resource.ttf.timeShort : resource.ttz ? resource.ttz.timeShort : '';
      }
      if (!cells[3]) {
        const ttfElement = document.createElement('td');
        ttfElement.className = 'px-3 3xl:px-5 py-3 lg:py-2 3xl:py-3 whitespace-nowrap w-1/3 text-right';
        ttfElement.textContent = ttf;
        row.appendChild(ttfElement);
      } else {
        cells[3].textContent = ttf;
      }
    });
  };

  const getUnitName = (unitKey = '') => unitKey.replace('army_combat_', '').replace('army_defense_', '');
  const removeAllUnits = async button => {
    const unitKey = reactUtil.getNearestKey(button.parentElement);
    const unitName = getUnitName(unitKey);
    const type = unitKey.includes('army_combat_') ? 'updateAway' : 'updateDefense';
    reactUtil.getGameData().ArmyStore[type](unitName, 0);
    await sleep(10);
  };
  const addAllUnits = async button => {
    const unitKey = reactUtil.getNearestKey(button.parentElement);
    const unitName = getUnitName(unitKey);
    const type = unitKey.includes('army_combat_') ? 'updateAway' : 'updateDefense';
    reactUtil.getGameData().ArmyStore[type](unitName, Number.MAX_SAFE_INTEGER);
    await sleep(10);
  };
  const moveLeft = async button => {
    if (!reactUtil.getGameData().ArmyStore.orderByBattleOrder) {
      return;
    }
    const unitKey = reactUtil.getNearestKey(button.parentElement);
    const unitName = getUnitName(unitKey);
    const type = unitKey.includes('army_combat_') ? 'away' : 'defense';
    const position = reactUtil.getGameData().run.armyOrder[type].indexOf(unitName);
    if (position < 1 || type === 'defense' && position === 1) {
      return;
    }
    const prev = reactUtil.getGameData().run.armyOrder[type][position - 1];
    reactUtil.getGameData().run.armyOrder[type][position - 1] = reactUtil.getGameData().run.armyOrder[type][position];
    reactUtil.getGameData().run.armyOrder[type][position] = prev;
  };
  const moveRight = async button => {
    if (!reactUtil.getGameData().ArmyStore.orderByBattleOrder) {
      return;
    }
    const unitKey = reactUtil.getNearestKey(button.parentElement);
    const unitName = getUnitName(unitKey);
    const type = unitKey.includes('army_combat_') ? 'away' : 'defense';
    const position = reactUtil.getGameData().run.armyOrder[type].indexOf(unitName);
    if (position === -1 || position === reactUtil.getGameData().run.armyOrder[type].length - 1) {
      return;
    }
    const next = reactUtil.getGameData().run.armyOrder[type][position + 1];
    reactUtil.getGameData().run.armyOrder[type][position + 1] = reactUtil.getGameData().run.armyOrder[type][position];
    reactUtil.getGameData().run.armyOrder[type][position] = next;
  };
  const getRemoveAllButton = () => {
    const removeAllButton = document.createElement('div');
    removeAllButton.classList.add('absolute', 'right-7');
    removeAllButton.style = 'top: 1.5rem';
    removeAllButton.innerHTML = `<button type="button" class="text-gray-400 dark:text-mydark-100 hover:text-blue-600 dark:hover:text-blue-500 focus:text-blue-600 dark:focus:text-blue-500">
  <svg viewBox="0 0 24 24" role="presentation" class="icon"><path d="M12 2C17.5 2 22 6.5 22 12S17.5 22 12 22 2 17.5 2 12 6.5 2 12 2M12 4C10.1 4 8.4 4.6 7.1 5.7L18.3 16.9C19.3 15.5 20 13.8 20 12C20 7.6 16.4 4 12 4M16.9 18.3L5.7 7.1C4.6 8.4 4 10.1 4 12C4 16.4 7.6 20 12 20C13.9 20 15.6 19.4 16.9 18.3Z" style="fill: currentcolor;"></path></svg>
  </button>`;
    removeAllButton.addEventListener('click', function (e) {
      removeAllUnits(e.currentTarget);
    });
    return removeAllButton;
  };
  const getAddAllButton = () => {
    const addAllButton = document.createElement('div');
    addAllButton.classList.add('absolute', 'right-0');
    addAllButton.style = 'top: 1.5rem';
    addAllButton.innerHTML = `<button type="button" class="text-gray-400 dark:text-mydark-100 hover:text-blue-600 dark:hover:text-blue-500 focus:text-blue-600 dark:focus:text-blue-500">
  <svg viewBox="0 0 24 24" role="presentation" class="icon"><path d="M19.5,3.09L20.91,4.5L16.41,9H20V11H13V4H15V7.59L19.5,3.09M20.91,19.5L19.5,20.91L15,16.41V20H13V13H20V15H16.41L20.91,19.5M4.5,3.09L9,7.59V4H11V11H4V9H7.59L3.09,4.5L4.5,3.09M3.09,19.5L7.59,15H4V13H11V20H9V16.41L4.5,20.91L3.09,19.5Z" style="fill: currentcolor;"></path></svg>
  </button>`;
    addAllButton.addEventListener('click', function (e) {
      addAllUnits(e.currentTarget);
    });
    return addAllButton;
  };
  const getMoveLeftButton = () => {
    const moveLeftButton = document.createElement('div');
    moveLeftButton.classList.add('absolute', 'left-0');
    moveLeftButton.style = 'top: 1.5rem';
    moveLeftButton.innerHTML = `<button type="button" class="text-gray-400 dark:text-mydark-100 hover:text-blue-600 dark:hover:text-blue-500 focus:text-blue-600 dark:focus:text-blue-500">
  <svg viewBox="0 0 24 24" role="presentation" class="icon"><path d="m4.431 12.822 13 9A1 1 0 0 0 19 21V3a1 1 0 0 0-1.569-.823l-13 9a1.003 1.003 0 0 0 0 1.645z" style="fill: currentcolor;"></path></svg>
  </button>`;
    moveLeftButton.addEventListener('click', function (e) {
      moveLeft(e.currentTarget);
    });
    return moveLeftButton;
  };
  const getMoveRightButton = () => {
    const moveRightButton = document.createElement('div');
    moveRightButton.classList.add('absolute');
    moveRightButton.style = 'top: 1.5rem; left: 1.25rem;';
    moveRightButton.innerHTML = `<button type="button" class="text-gray-400 dark:text-mydark-100 hover:text-blue-600 dark:hover:text-blue-500 focus:text-blue-600 dark:focus:text-blue-500">
  <svg viewBox="0 0 24 24" role="presentation" class="icon"><path d="M5.536 21.886a1.004 1.004 0 0 0 1.033-.064l13-9a1 1 0 0 0 0-1.644l-13-9A1 1 0 0 0 5 3v18a1 1 0 0 0 .536.886z" style="fill: currentcolor;"></path></svg>
  </button>`;
    moveRightButton.addEventListener('click', function (e) {
      moveRight(e.currentTarget);
    });
    return moveRightButton;
  };
  const allowedSubpages = [CONSTANTS.SUBPAGES.ATTACK, CONSTANTS.SUBPAGES.GARRISON, CONSTANTS.SUBPAGES.EXPLORE];
  const addArmyButtons = () => {
    const isCorrectPage = allowedSubpages.find(subpage => navigation.checkPage(CONSTANTS.PAGES.ARMY, subpage));
    if (isCorrectPage) {
      const container = document.querySelector('div.tab-container.sub-container:not(.addArmyButtonsDone)');
      if (container) {
        const boxes = [...container.querySelectorAll('div.flex > div.grid > div.flex')];
        boxes.shift();
        boxes.forEach(box => {
          box.querySelector('div.flex-1.text-center.relative.mb-2').insertAdjacentElement('beforeend', getAddAllButton());
          box.querySelector('div.flex-1.text-center.relative.mb-2').insertAdjacentElement('beforeend', getRemoveAllButton());
          box.querySelector('div.flex-1.text-center.relative.mb-2').insertAdjacentElement('beforeend', getMoveLeftButton());
          box.querySelector('div.flex-1.text-center.relative.mb-2').insertAdjacentElement('beforeend', getMoveRightButton());
          const costBox = box.querySelector('div.my-4');
          if (costBox) {
            costBox.classList.toggle('my-4');
            costBox.style = 'margin-top: 1.75rem; margin-bottom: 1.5rem;';
          } else {
            const nameBox = box.querySelector('div.flex-1.text-center.relative');
            if (nameBox) {
              nameBox.classList.toggle('mb-2');
              nameBox.classList.toggle('mb-7');
              nameBox.classList.toggle('lg:mb-4');
            }
          }
        });
        container.classList.add('addArmyButtonsDone');
      }
    }
  };

  const autoClicker = async () => {
    if (!state.haveManualResourceButtons) return;
    if (state.scriptPaused) return;
    const manualResources = [keyGen.manual.key('food'), keyGen.manual.key('wood'), keyGen.manual.key('stone')];
    while (!state.scriptPaused && state.haveManualResourceButtons) {
      if (state.stopAutoClicking) {
        await sleep(1000);
        continue;
      }
      const buttons = [...document.querySelectorAll('#root > div.flex.flex-wrap.w-full.mx-auto.p-2 > div.w-full.lg\\:pl-2 > div > div.order-2.flex.flex-wrap.gap-3 > button')];
      if (!buttons.length) {
        state.haveManualResourceButtons = false;
        return;
      }
      const buttonsToClick = buttons.filter(button => manualResources.includes(reactUtil.getNearestKey(button, 2)));
      if (buttonsToClick.length && !reactUtil.getGameData().SettingsStore.showSettings) {
        while (buttonsToClick.length && !reactUtil.getGameData().SettingsStore.showSettings) {
          const buttonToClick = buttonsToClick.shift();
          buttonToClick.click();
          await sleep(100);
        }
      } else {
        await sleep(1000);
      }
    }
  };

  const defaultAncestor = 'ancestor_gatherer';
  const autoAncestor = async () => {
    if (!state.options.ancestor.enabled || !state.options.ancestor.selected) return;
    const ancestorToSelect = state.options.ancestor.selected;
    const ancestorPage = [...document.querySelectorAll('div.text-center.mb-6 > h2.text-xl')].find(h2 => h2.textContent === translate('path_choise'));
    if (ancestorPage) {
      state.stopAutoClicking = true;
      let ancestor = [...document.querySelectorAll('button.group')].find(button => reactUtil.getNearestKey(button, 4) === keyGen.ancestor.key(ancestorToSelect));
      if (!ancestor) {
        ancestor = [...document.querySelectorAll('button.group')].find(button => reactUtil.getNearestKey(button, 4) === keyGen.ancestor.key(defaultAncestor));
      }
      if (ancestor) {
        ancestor.click();
        state.stopAttacks = false;
        state.haveManualResourceButtons = true;
        await sleep(1000, true);
      }
      state.stopAutoClicking = false;
    }
  };

  const getEnabledLegacies = () => {
    const enabledLegaciesOptions = state.options.prestige.options ?? {};
    if (Object.keys(enabledLegaciesOptions).length) {
      let enabledLegacies = Object.keys(enabledLegaciesOptions).filter(key => !!enabledLegaciesOptions[key]).map(key => {
        const legacy = {
          key: key,
          id: translate(key, 'leg_'),
          prio: enabledLegaciesOptions[key]
        };
        legacy.cost = legacies.find(leg => leg.id === key).req.find(req => req.id === 'legacy').value;
        return legacy;
      });
      return enabledLegacies;
    }
    return [];
  };
  const autoPrestige = async () => {
    if (!state.options.prestige.enabled) return;
    let buttons = [...document.querySelectorAll('h3.modal-title')].map(h3 => [...h3.parentElement.querySelectorAll('button.btn')]).flat();
    if (!buttons.find(button => keyGen.legacy.check(reactUtil.getNearestKey(button, 6)))) {
      return;
    }
    logger({
      msgLevel: 'log',
      msg: `Picking prestige.`
    });
    const enabledLegacies = getEnabledLegacies();
    const activeLegacies = buttons.filter(button => !button.classList.contains('btn-red') && !button.classList.toString().includes('btn-off')).map(button => {
      const id = reactUtil.getNearestKey(button, 6);
      const legacyData = enabledLegacies.find(leg => `leg_${leg.key}` === id);
      if (legacyData) {
        return {
          button,
          prio: legacyData.prio,
          cost: legacyData.cost
        };
      }
    }).filter(legacy => legacy).sort((a, b) => {
      if (a.prio === b.prio) return a.cost - b.cost;
      return b.prio - a.prio;
    });
    for (let i = 0; i < activeLegacies.length; i++) {
      activeLegacies[i].button.click();
      await sleep(1);
    }
    let prestigeButton = buttons.find(button => button.classList.contains('btn-red') && button.classList.contains('px-6'));
    if (prestigeButton) {
      localStorage.set('lastVisited', {});
      state.stopAutoClicking = true;
      state.stopAttacks = false;
      state.haveManualResourceButtons = true;
      await sleep(300, true);
      prestigeButton.click();
      await sleep(2000, true);
      let redConfirmButton = [...document.querySelectorAll('#headlessui-portal-root .btn.btn-red')].find(button => reactUtil.getBtnIndex(button, 0) === 1);
      while (redConfirmButton) {
        redConfirmButton.click();
        await sleep(1000, true);
        redConfirmButton = [...document.querySelectorAll('#headlessui-portal-root .btn.btn-red')].find(button => reactUtil.getBtnIndex(button, 0) === 1);
      }
      await sleep(1000, true);
      state.stopAutoClicking = false;
    }
  };

const manualNG = async () => {
    const div = [...document.querySelectorAll('#root > div.flex > div')].find(div => reactUtil.getBtnIndex(div, 0) === 2);
    if (!div) return;
    const ngButton = [...div.querySelectorAll('button')].find(button => reactUtil.getBtnIndex(button, 0) === 0);
    if (!ngButton) return;
	localStorage.set('manualNG', true);
    ngButton.click();
  };
  
  const autoNGPlus = async () => {
    if (!state.options.ngplus.enabled) return;
    if (!reactUtil.getGameData() || !reactUtil.getGameData().LegacyStore || !reactUtil.getGameData().LegacyStore.ownedLegacies) return;
    if (!reactUtil.getGameData().LegacyStore.ownedLegacies.length) return;
    if (state.options.ngplus.value > reactUtil.getGameData().LegacyStore.ownedLegacies.length) return;
    const div = [...document.querySelectorAll('#root > div.flex > div')].find(div => reactUtil.getBtnIndex(div, 0) === 2);
    if (!div) return;
    const ngButton = [...div.querySelectorAll('button')].find(button => reactUtil.getBtnIndex(button, 0) === 5);
    if (!ngButton) return;
    localStorage.set('lastVisited', {});
    state.stopAutoClicking = true;
    state.stopAttacks = false;
    state.haveManualResourceButtons = true;
    await sleep(300, true);
    ngButton.click();
    await sleep(5000, true);
    let redConfirmButton = [...document.querySelectorAll('#headlessui-portal-root .btn.btn-red')].find(button => reactUtil.getBtnIndex(button, 0) === 0);
    while (redConfirmButton) {
      redConfirmButton.click();
      await sleep(2000, true);
      redConfirmButton = [...document.querySelectorAll('#headlessui-portal-root .btn.btn-red')].find(button => reactUtil.getBtnIndex(button, 0) === 1);
    }
    state.stopAutoClicking = false;
  };

  const autoDifficulty = async () => {
    if (!state.options.difficulty.enabled) return;
    const difficultyModalTitle = [...document.querySelectorAll('h3.modal-title')].find(h3 => h3.innerText.trim() === translate('difficulty'));
    if (difficultyModalTitle) {
      state.stopAutoClicking = true;
      const difficultyOptions = [...difficultyModalTitle.parentElement.querySelectorAll('div.p-4 h5')];
      if (!state.options.difficulty.selected) {
        difficultyOptions[0].click();
      } else {
        const difficultyOptionToSelect = difficultyOptions.find(difficultyOption => difficultyOption.innerText.trim() === translate(state.options.difficulty.selected));
        if (difficultyOptionToSelect) {
          difficultyOptionToSelect.click();
        } else {
          difficultyOptions[0].click();
        }
      }
      await sleep(1000, true);
      state.stopAutoClicking = false;
    }
  };

  const autoPath = async () => {
    if (!state.options.path.enabled) return;
    const pathModalTitle = [...document.querySelectorAll('h3.modal-title')].find(h3 => h3.innerText.trim() === translate('path_choise'));
    if (pathModalTitle) {
      state.stopAutoClicking = true;
      const pathOptions = [...pathModalTitle.parentElement.querySelectorAll('div.p-4')];
      if (!state.options.path.selected) {
        pathOptions[0].click();
      } else {
        const pathOptionToSelect = pathOptions.find(pathOption => pathOption.innerText.trim() === translate(state.options.path.selected));
        if (pathOptionToSelect) {
          pathOptionToSelect.click();
        } else {
          pathOptions[0].click();
        }
      }
      await sleep(1000, true);
      state.stopAutoClicking = false;
    }
  };

  let initialWaitTime;
  let initialwaitTimeOracle;
  const initCheats = async () => {
    if (!state.MainStore) return;
    if (state.options.instantArmy.enabled && initialWaitTime == undefined) {
      initialWaitTime = state.MainStore.ArmyStore.waitTime;
      state.MainStore.ArmyStore.waitTime = 0;
    } else if (!state.options.instantArmy.enabled && initialWaitTime != undefined) {
      state.MainStore.ArmyStore.waitTime = initialWaitTime;
      initialWaitTime = undefined;
    }
    if (state.options.instantOracle.enabled && initialwaitTimeOracle == undefined) {
      initialwaitTimeOracle = state.MainStore.ArmyStore.waitTime;
      state.MainStore.ArmyStore.waitTimeOracle = 0;
    } else if (!state.options.instantOracle.enabled && initialwaitTimeOracle != undefined) {
      state.MainStore.ArmyStore.waitTimeOracle = initialwaitTimeOracle;
      initialwaitTimeOracle = undefined;
    }
  };

  function getDefaultExportFromCjs (x) {
  	return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
  }

  var lzString = {exports: {}};

  var hasRequiredLzString;
  function requireLzString() {
    if (hasRequiredLzString) return lzString.exports;
    hasRequiredLzString = 1;
    (function (module) {
      // Copyright (c) 2013 Pieroxy <[email protected]>
      // This work is free. You can redistribute it and/or modify it
      // under the terms of the WTFPL, Version 2
      // For more information see LICENSE.txt or http://www.wtfpl.net/
      //
      // For more information, the home page:
      // http://pieroxy.net/blog/pages/lz-string/testing.html
      //
      // LZ-based compression algorithm, version 1.4.5
      var LZString = function () {
        // private property
        var f = String.fromCharCode;
        var keyStrBase64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
        var keyStrUriSafe = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-$";
        var baseReverseDic = {};
        function getBaseValue(alphabet, character) {
          if (!baseReverseDic[alphabet]) {
            baseReverseDic[alphabet] = {};
            for (var i = 0; i < alphabet.length; i++) {
              baseReverseDic[alphabet][alphabet.charAt(i)] = i;
            }
          }
          return baseReverseDic[alphabet][character];
        }
        var LZString = {
          compressToBase64: function (input) {
            if (input == null) return "";
            var res = LZString._compress(input, 6, function (a) {
              return keyStrBase64.charAt(a);
            });
            switch (res.length % 4) {
              // To produce valid Base64
              default: // When could this happen ?
              case 0:
                return res;
              case 1:
                return res + "===";
              case 2:
                return res + "==";
              case 3:
                return res + "=";
            }
          },
          decompressFromBase64: function (input) {
            if (input == null) return "";
            if (input == "") return null;
            return LZString._decompress(input.length, 32, function (index) {
              return getBaseValue(keyStrBase64, input.charAt(index));
            });
          },
          compressToUTF16: function (input) {
            if (input == null) return "";
            return LZString._compress(input, 15, function (a) {
              return f(a + 32);
            }) + " ";
          },
          decompressFromUTF16: function (compressed) {
            if (compressed == null) return "";
            if (compressed == "") return null;
            return LZString._decompress(compressed.length, 16384, function (index) {
              return compressed.charCodeAt(index) - 32;
            });
          },
          //compress into uint8array (UCS-2 big endian format)
          compressToUint8Array: function (uncompressed) {
            var compressed = LZString.compress(uncompressed);
            var buf = new Uint8Array(compressed.length * 2); // 2 bytes per character

            for (var i = 0, TotalLen = compressed.length; i < TotalLen; i++) {
              var current_value = compressed.charCodeAt(i);
              buf[i * 2] = current_value >>> 8;
              buf[i * 2 + 1] = current_value % 256;
            }
            return buf;
          },
          //decompress from uint8array (UCS-2 big endian format)
          decompressFromUint8Array: function (compressed) {
            if (compressed === null || compressed === undefined) {
              return LZString.decompress(compressed);
            } else {
              var buf = new Array(compressed.length / 2); // 2 bytes per character
              for (var i = 0, TotalLen = buf.length; i < TotalLen; i++) {
                buf[i] = compressed[i * 2] * 256 + compressed[i * 2 + 1];
              }
              var result = [];
              buf.forEach(function (c) {
                result.push(f(c));
              });
              return LZString.decompress(result.join(''));
            }
          },
          //compress into a string that is already URI encoded
          compressToEncodedURIComponent: function (input) {
            if (input == null) return "";
            return LZString._compress(input, 6, function (a) {
              return keyStrUriSafe.charAt(a);
            });
          },
          //decompress from an output of compressToEncodedURIComponent
          decompressFromEncodedURIComponent: function (input) {
            if (input == null) return "";
            if (input == "") return null;
            input = input.replace(/ /g, "+");
            return LZString._decompress(input.length, 32, function (index) {
              return getBaseValue(keyStrUriSafe, input.charAt(index));
            });
          },
          compress: function (uncompressed) {
            return LZString._compress(uncompressed, 16, function (a) {
              return f(a);
            });
          },
          _compress: function (uncompressed, bitsPerChar, getCharFromInt) {
            if (uncompressed == null) return "";
            var i,
              value,
              context_dictionary = {},
              context_dictionaryToCreate = {},
              context_c = "",
              context_wc = "",
              context_w = "",
              context_enlargeIn = 2,
              // Compensate for the first entry which should not count
              context_dictSize = 3,
              context_numBits = 2,
              context_data = [],
              context_data_val = 0,
              context_data_position = 0,
              ii;
            for (ii = 0; ii < uncompressed.length; ii += 1) {
              context_c = uncompressed.charAt(ii);
              if (!Object.prototype.hasOwnProperty.call(context_dictionary, context_c)) {
                context_dictionary[context_c] = context_dictSize++;
                context_dictionaryToCreate[context_c] = true;
              }
              context_wc = context_w + context_c;
              if (Object.prototype.hasOwnProperty.call(context_dictionary, context_wc)) {
                context_w = context_wc;
              } else {
                if (Object.prototype.hasOwnProperty.call(context_dictionaryToCreate, context_w)) {
                  if (context_w.charCodeAt(0) < 256) {
                    for (i = 0; i < context_numBits; i++) {
                      context_data_val = context_data_val << 1;
                      if (context_data_position == bitsPerChar - 1) {
                        context_data_position = 0;
                        context_data.push(getCharFromInt(context_data_val));
                        context_data_val = 0;
                      } else {
                        context_data_position++;
                      }
                    }
                    value = context_w.charCodeAt(0);
                    for (i = 0; i < 8; i++) {
                      context_data_val = context_data_val << 1 | value & 1;
                      if (context_data_position == bitsPerChar - 1) {
                        context_data_position = 0;
                        context_data.push(getCharFromInt(context_data_val));
                        context_data_val = 0;
                      } else {
                        context_data_position++;
                      }
                      value = value >> 1;
                    }
                  } else {
                    value = 1;
                    for (i = 0; i < context_numBits; i++) {
                      context_data_val = context_data_val << 1 | value;
                      if (context_data_position == bitsPerChar - 1) {
                        context_data_position = 0;
                        context_data.push(getCharFromInt(context_data_val));
                        context_data_val = 0;
                      } else {
                        context_data_position++;
                      }
                      value = 0;
                    }
                    value = context_w.charCodeAt(0);
                    for (i = 0; i < 16; i++) {
                      context_data_val = context_data_val << 1 | value & 1;
                      if (context_data_position == bitsPerChar - 1) {
                        context_data_position = 0;
                        context_data.push(getCharFromInt(context_data_val));
                        context_data_val = 0;
                      } else {
                        context_data_position++;
                      }
                      value = value >> 1;
                    }
                  }
                  context_enlargeIn--;
                  if (context_enlargeIn == 0) {
                    context_enlargeIn = Math.pow(2, context_numBits);
                    context_numBits++;
                  }
                  delete context_dictionaryToCreate[context_w];
                } else {
                  value = context_dictionary[context_w];
                  for (i = 0; i < context_numBits; i++) {
                    context_data_val = context_data_val << 1 | value & 1;
                    if (context_data_position == bitsPerChar - 1) {
                      context_data_position = 0;
                      context_data.push(getCharFromInt(context_data_val));
                      context_data_val = 0;
                    } else {
                      context_data_position++;
                    }
                    value = value >> 1;
                  }
                }
                context_enlargeIn--;
                if (context_enlargeIn == 0) {
                  context_enlargeIn = Math.pow(2, context_numBits);
                  context_numBits++;
                }
                // Add wc to the dictionary.
                context_dictionary[context_wc] = context_dictSize++;
                context_w = String(context_c);
              }
            }

            // Output the code for w.
            if (context_w !== "") {
              if (Object.prototype.hasOwnProperty.call(context_dictionaryToCreate, context_w)) {
                if (context_w.charCodeAt(0) < 256) {
                  for (i = 0; i < context_numBits; i++) {
                    context_data_val = context_data_val << 1;
                    if (context_data_position == bitsPerChar - 1) {
                      context_data_position = 0;
                      context_data.push(getCharFromInt(context_data_val));
                      context_data_val = 0;
                    } else {
                      context_data_position++;
                    }
                  }
                  value = context_w.charCodeAt(0);
                  for (i = 0; i < 8; i++) {
                    context_data_val = context_data_val << 1 | value & 1;
                    if (context_data_position == bitsPerChar - 1) {
                      context_data_position = 0;
                      context_data.push(getCharFromInt(context_data_val));
                      context_data_val = 0;
                    } else {
                      context_data_position++;
                    }
                    value = value >> 1;
                  }
                } else {
                  value = 1;
                  for (i = 0; i < context_numBits; i++) {
                    context_data_val = context_data_val << 1 | value;
                    if (context_data_position == bitsPerChar - 1) {
                      context_data_position = 0;
                      context_data.push(getCharFromInt(context_data_val));
                      context_data_val = 0;
                    } else {
                      context_data_position++;
                    }
                    value = 0;
                  }
                  value = context_w.charCodeAt(0);
                  for (i = 0; i < 16; i++) {
                    context_data_val = context_data_val << 1 | value & 1;
                    if (context_data_position == bitsPerChar - 1) {
                      context_data_position = 0;
                      context_data.push(getCharFromInt(context_data_val));
                      context_data_val = 0;
                    } else {
                      context_data_position++;
                    }
                    value = value >> 1;
                  }
                }
                context_enlargeIn--;
                if (context_enlargeIn == 0) {
                  context_enlargeIn = Math.pow(2, context_numBits);
                  context_numBits++;
                }
                delete context_dictionaryToCreate[context_w];
              } else {
                value = context_dictionary[context_w];
                for (i = 0; i < context_numBits; i++) {
                  context_data_val = context_data_val << 1 | value & 1;
                  if (context_data_position == bitsPerChar - 1) {
                    context_data_position = 0;
                    context_data.push(getCharFromInt(context_data_val));
                    context_data_val = 0;
                  } else {
                    context_data_position++;
                  }
                  value = value >> 1;
                }
              }
              context_enlargeIn--;
              if (context_enlargeIn == 0) {
                context_enlargeIn = Math.pow(2, context_numBits);
                context_numBits++;
              }
            }

            // Mark the end of the stream
            value = 2;
            for (i = 0; i < context_numBits; i++) {
              context_data_val = context_data_val << 1 | value & 1;
              if (context_data_position == bitsPerChar - 1) {
                context_data_position = 0;
                context_data.push(getCharFromInt(context_data_val));
                context_data_val = 0;
              } else {
                context_data_position++;
              }
              value = value >> 1;
            }

            // Flush the last char
            while (true) {
              context_data_val = context_data_val << 1;
              if (context_data_position == bitsPerChar - 1) {
                context_data.push(getCharFromInt(context_data_val));
                break;
              } else context_data_position++;
            }
            return context_data.join('');
          },
          decompress: function (compressed) {
            if (compressed == null) return "";
            if (compressed == "") return null;
            return LZString._decompress(compressed.length, 32768, function (index) {
              return compressed.charCodeAt(index);
            });
          },
          _decompress: function (length, resetValue, getNextValue) {
            var dictionary = [],
              enlargeIn = 4,
              dictSize = 4,
              numBits = 3,
              entry = "",
              result = [],
              i,
              w,
              bits,
              resb,
              maxpower,
              power,
              c,
              data = {
                val: getNextValue(0),
                position: resetValue,
                index: 1
              };
            for (i = 0; i < 3; i += 1) {
              dictionary[i] = i;
            }
            bits = 0;
            maxpower = Math.pow(2, 2);
            power = 1;
            while (power != maxpower) {
              resb = data.val & data.position;
              data.position >>= 1;
              if (data.position == 0) {
                data.position = resetValue;
                data.val = getNextValue(data.index++);
              }
              bits |= (resb > 0 ? 1 : 0) * power;
              power <<= 1;
            }
            switch (bits) {
              case 0:
                bits = 0;
                maxpower = Math.pow(2, 8);
                power = 1;
                while (power != maxpower) {
                  resb = data.val & data.position;
                  data.position >>= 1;
                  if (data.position == 0) {
                    data.position = resetValue;
                    data.val = getNextValue(data.index++);
                  }
                  bits |= (resb > 0 ? 1 : 0) * power;
                  power <<= 1;
                }
                c = f(bits);
                break;
              case 1:
                bits = 0;
                maxpower = Math.pow(2, 16);
                power = 1;
                while (power != maxpower) {
                  resb = data.val & data.position;
                  data.position >>= 1;
                  if (data.position == 0) {
                    data.position = resetValue;
                    data.val = getNextValue(data.index++);
                  }
                  bits |= (resb > 0 ? 1 : 0) * power;
                  power <<= 1;
                }
                c = f(bits);
                break;
              case 2:
                return "";
            }
            dictionary[3] = c;
            w = c;
            result.push(c);
            while (true) {
              if (data.index > length) {
                return "";
              }
              bits = 0;
              maxpower = Math.pow(2, numBits);
              power = 1;
              while (power != maxpower) {
                resb = data.val & data.position;
                data.position >>= 1;
                if (data.position == 0) {
                  data.position = resetValue;
                  data.val = getNextValue(data.index++);
                }
                bits |= (resb > 0 ? 1 : 0) * power;
                power <<= 1;
              }
              switch (c = bits) {
                case 0:
                  bits = 0;
                  maxpower = Math.pow(2, 8);
                  power = 1;
                  while (power != maxpower) {
                    resb = data.val & data.position;
                    data.position >>= 1;
                    if (data.position == 0) {
                      data.position = resetValue;
                      data.val = getNextValue(data.index++);
                    }
                    bits |= (resb > 0 ? 1 : 0) * power;
                    power <<= 1;
                  }
                  dictionary[dictSize++] = f(bits);
                  c = dictSize - 1;
                  enlargeIn--;
                  break;
                case 1:
                  bits = 0;
                  maxpower = Math.pow(2, 16);
                  power = 1;
                  while (power != maxpower) {
                    resb = data.val & data.position;
                    data.position >>= 1;
                    if (data.position == 0) {
                      data.position = resetValue;
                      data.val = getNextValue(data.index++);
                    }
                    bits |= (resb > 0 ? 1 : 0) * power;
                    power <<= 1;
                  }
                  dictionary[dictSize++] = f(bits);
                  c = dictSize - 1;
                  enlargeIn--;
                  break;
                case 2:
                  return result.join('');
              }
              if (enlargeIn == 0) {
                enlargeIn = Math.pow(2, numBits);
                numBits++;
              }
              if (dictionary[c]) {
                entry = dictionary[c];
              } else {
                if (c === dictSize) {
                  entry = w + w.charAt(0);
                } else {
                  return null;
                }
              }
              result.push(entry);

              // Add w+entry[0] to the dictionary.
              dictionary[dictSize++] = w + entry.charAt(0);
              enlargeIn--;
              w = entry;
              if (enlargeIn == 0) {
                enlargeIn = Math.pow(2, numBits);
                numBits++;
              }
            }
          }
        };
        return LZString;
      }();
      if (module != null) {
        module.exports = LZString;
      } else if (typeof angular !== 'undefined' && angular != null) {
        angular.module('LZString', []).factory('LZString', function () {
          return LZString;
        });
      }
    })(lzString);
    return lzString.exports;
  }

  var lzStringExports = requireLzString();
  var LZString = /*@__PURE__*/getDefaultExportFromCjs(lzStringExports);

  // https://stackoverflow.com/a/1421988
  const isNumber = n => /^-?[\d.]+(?:e-?\d+)?$/.test(n);
  const id$1 = 'theresmore-automation-options-panel';
  let start$1;
  const buildingCats = ['living_quarters', 'resource', 'science', 'commercial_area', 'defense', 'faith', 'warehouse', 'wonders'];
  const unsafeResearch = ['kobold_nation', 'barbarian_tribes', 'orcish_threat', 'huge_cave_t', 'mindless_evil'];
  const buildingGroups = groupChoices(buildings);
  buildingGroups.pop();
  const researchGroups = groupChoices(tech);
  const groupedResearchs = researchGroups.pop();
  const prayerGroups = groupChoices(spells.filter(prayer => prayer.type === 'prayer'));
  const groupedPrayers = prayerGroups.pop();
  const userUnits = units.filter(unit => unit.type !== 'enemy' && unit.type !== 'settlement' && unit.type !== 'spy');
  const userUnitsCategory = ['Recon', 'Ranged', 'Shock', 'Tank', 'Rider'];
  const fights = factions.concat(locations).filter(fight => !fight.id.includes('orc_war_party_')).map(fight => {
    return {
      key: fight.id,
      id: translate(fight.id),
      army: fight.army,
      level: fight.level
    };
  }).filter(fight => typeof fight.level !== 'undefined');
  let fightLevels = [];
  for (let i = 0; i < 15; i++) {
    const hasFight = !!fights.find(fight => fight.level === i);
    if (hasFight) {
      fightLevels.push(i);
    }
  }
  const generateMultiSelect = (item, data) => {
    const options = [];
    item['value'].forEach(option => {
      options.push(`<option value="${option}">${translate(option)}</option>`);
    });
    return `<select class="option dark:bg-mydark-200 ${data.class ? data.class : ''}"
  ${data.setting ? `data-setting="${data.setting}"` : ''}
  ${data.page ? `data-page="${data.page}"` : ''}
  ${data.subpage ? `data-subpage="${data.subpage}"` : ''}
  ${data.key ? `data-key="${data.key}"` : ''}
  ${data.multiselectkey ? `data-multiselectkey="${data.multiselectkey}"` : ''}
  >${options.join('')}</select>`;
  };
  const generatePrioritySelect = (data, defaultOptions) => {
    defaultOptions = defaultOptions || [{
      key: 'Disabled',
      value: 0
    }, {
      key: 'Lowest',
      value: 1
    }, {
      key: 'Low',
      value: 2
    }, {
      key: 'Medium Low',
      value: 3
    }, {
      key: 'Medium',
      value: 4
    }, {
      key: 'Medium High',
      value: 5
    }, {
      key: 'High',
      value: 6
    }, {
      key: 'Highest',
      value: 7
    }];
    const options = [];
    defaultOptions.forEach(option => {
      options.push(`<option value="${option.value}">${option.key}</option>`);
    });
    return `<select class="option dark:bg-mydark-200 ${data.class ? data.class : ''}"
  ${data.setting ? `data-setting="${data.setting}"` : ''}
  ${data.page ? `data-page="${data.page}"` : ''}
  ${data.subpage ? `data-subpage="${data.subpage}"` : ''}
  ${data.key ? `data-key="${data.key}"` : ''}
  ${data.multiselectkey ? `data-multiselectkey="${data.multiselectkey}"` : ''}
  ${data.subkey ? `data-subkey="${data.subkey}"` : ''}
  >${options.join('')}</select>`;
  };
  const createPanel$1 = startFunction => {
    start$1 = startFunction;
    const saveTextarea = document.createElement('textarea');
    saveTextarea.id = `${id$1}-save`;
    saveTextarea.classList.add('taSaveArea');
    document.querySelector('div#root').insertAdjacentElement('afterend', saveTextarea);
    const panelElement = document.createElement('div');
    panelElement.id = id$1;
    panelElement.classList.add('taPanelElement');
    const innerPanelElement = document.createElement('div');
    innerPanelElement.classList.add('dark');
    innerPanelElement.classList.add('dark:bg-mydark-300');
    innerPanelElement.classList.add('taInnerPanelElement');
    innerPanelElement.innerHTML = `
    <h2 class="text-xl">Theresmore Automation Options:</h2>

    <div class="mb-2 taOptionsBar">
      <button id="saveOptions" type="button" class="btn btn-green w-min px-4 mr-2">Save options</button>
      <button id="saveOptionsAndClose" type="button" class="btn btn-green w-min px-4 mr-2">Save and Close</button>
      <button id="exportOptions" type="button" class="btn btn-blue w-min px-4 mr-2">Export options</button>
      <button id="importOptions" type="button" class="btn btn-blue w-min px-4 mr-2">Import options</button>
    </div>

    <div class="taTabs">
      <div class="taTab">
        <input type="radio" name="topLevelOptions" id="topLevelOptions-${CONSTANTS.PAGES.BUILD}" checked class="taTab-switch">
        <label for="topLevelOptions-${CONSTANTS.PAGES.BUILD}" class="taTab-label"><input type="checkbox" data-page="${CONSTANTS.PAGES.BUILD}" data-key="enabled" class="option" /> ${CONSTANTS.PAGES.BUILD}</label>
        <div class="taTab-content">
          <p class="mb-2">Max values: -1 -> build unlimited; 0 -> do not build;</p>
          <div class="taTabs">
            ${[CONSTANTS.SUBPAGES.CITY, CONSTANTS.SUBPAGES.COLONY, CONSTANTS.SUBPAGES.ABYSS].map(subpage => `
            <div class="taTab">
              <input type="radio" name="${CONSTANTS.PAGES.BUILD}PageOptions" id="${CONSTANTS.PAGES.BUILD}PageOptions-${subpage}" ${subpage == CONSTANTS.SUBPAGES.CITY ? 'checked' : ''} class="taTab-switch">
              <label for="${CONSTANTS.PAGES.BUILD}PageOptions-${subpage}" class="taTab-label"><input type="checkbox" data-page="${CONSTANTS.PAGES.BUILD}" data-subpage="${subpage}" data-key="enabled" class="option" /> ${subpage}</label>
              <div class="taTab-content">
                <div class="mb-2">
                  <input type="number" class="option text-center lg:text-sm text-gray-700 bg-gray-100 dark:text-mydark-50 dark:bg-mydark-200 border-y border-gray-400 dark:border-mydark-200 setAllMaxInput" value="0" min="-1" max="999" step="1" />
                  <button type="button" class="btn btn-blue w-min px-4 mr-2 setAllMax">Set all max</button>
                  <br/>
                  ${generatePrioritySelect({
    class: 'setAllPrioSelect'
  })}
                  <button type="button" class="btn btn-blue w-min px-4 mr-2 setAllPrio">Set all Priority</button>
                </div>

                ${buildingCats.map(cat => `
                  <div class="flex flex-wrap min-w-full mt-3 p-3 shadow rounded-lg ring-1 ring-gray-300 dark:ring-mydark-200 bg-gray-100 dark:bg-mydark-600">
                    <div class="w-full pb-3 font-bold text-center xl:text-left">${translate(cat)}</div>
                    <div class="grid gap-3 grid-cols-fill-240 min-w-full px-12 xl:px-0 mb-2">
                      ${buildings.filter(building => building.cat === cat).filter(building => building.tab === CONSTANTS.SUBPAGES_INDEX[subpage] + 1).map(building => `<div class="flex flex-col mb-2"><label><span class="font-bold">${translate(building.id)}</span><br/>
                          Max:
                            <input type="number" data-page="${CONSTANTS.PAGES.BUILD}" data-subpage="${subpage}" data-key="options" data-subkey="${building.id}"
                            class="option text-center lg:text-sm text-gray-700 bg-gray-100 dark:text-mydark-50 dark:bg-mydark-200 border-y border-gray-400 dark:border-mydark-200"
                            value="0" min="-1" max="${building.cap ? building.cap : 999}" step="1" /><br />
                          Prio: ${generatePrioritySelect({
    page: CONSTANTS.PAGES.BUILD,
    subpage: subpage,
    key: 'options',
    subkey: `prio_${building.id}`
  })}</label></div>`).join('')}
                    </div>
                  </div>
                `).join('')}

              </div>
            </div>`).join('')}
          </div>

        </div>
      </div>

      <div class="taTab">
        <input type="radio" name="topLevelOptions" id="topLevelOptions-${CONSTANTS.PAGES.RESEARCH}" class="taTab-switch">
        <label for="topLevelOptions-${CONSTANTS.PAGES.RESEARCH}" class="taTab-label"><input type="checkbox" data-page="${CONSTANTS.PAGES.RESEARCH}" data-subpage="${CONSTANTS.SUBPAGES.RESEARCH}" data-key="enabled" class="option" /> ${CONSTANTS.PAGES.RESEARCH}</label>
        <div class="taTab-content">
          <div class="mb-2"><label>Dangerous fights should require enough army to win before researching:
            <input type="checkbox" data-page="${CONSTANTS.PAGES.RESEARCH}" data-subpage="${CONSTANTS.SUBPAGES.RESEARCH}"
              data-key="options" data-subkey="dangerousFights" class="option" />
          </label></div>

          <div class="mb-2">
            <button type="button" class="btn btn-blue w-min px-4 mr-2 minus1Medium">Set all regular to Medium</button>
            <button type="button" class="btn btn-blue w-min px-4 mr-2 zeroDisabled">Set all regular to Disabled</button>
          </div>

          <div class="flex flex-wrap min-w-full mt-3 p-3 shadow rounded-lg ring-1 ring-gray-300 dark:ring-mydark-200 bg-gray-100 dark:bg-mydark-600">
            <div class="w-full pb-3 font-bold text-center xl:text-left">Exclusive researches:</div>
            <div class="grid gap-3 grid-cols-fill-240 min-w-full px-12 xl:px-0 mb-2">
              ${researchGroups.map(item => {
    return `<div class="flex flex-col mb-2"><label>${generateMultiSelect(item, {
      page: CONSTANTS.PAGES.RESEARCH,
      subpage: CONSTANTS.SUBPAGES.RESEARCH,
      key: 'options',
      multiselectkey: item['key']['id']
    })}<br />
                Prio: ${generatePrioritySelect({
      page: CONSTANTS.PAGES.RESEARCH,
      subpage: CONSTANTS.SUBPAGES.RESEARCH,
      key: 'options',
      multiselectkey: item['key']['id'],
      subkey: 'multiSelectPriority'
    })}</label></div>`;
  }).join('')}
            </div>
          </div>

          <div class="flex flex-wrap min-w-full mt-3 p-3 shadow rounded-lg ring-1 ring-gray-300 dark:ring-mydark-200 bg-gray-100 dark:bg-mydark-600">
            <div class="w-full pb-3 font-bold text-center xl:text-left">Regular researches:</div>
            <div class="grid gap-3 grid-cols-fill-240 min-w-full px-12 xl:px-0 mb-2">
              ${tech.filter(technology => !technology.confirm && !unsafeResearch.includes(technology.id) && !groupedResearchs.includes(technology.id)).map(technology => {
    return `<div class="flex flex-col mb-2"><label><span class="font-bold">${translate(technology.id, 'tec_')}</span><br />
                  Prio: ${generatePrioritySelect({
      page: CONSTANTS.PAGES.RESEARCH,
      subpage: CONSTANTS.SUBPAGES.RESEARCH,
      key: 'options',
      subkey: technology.id
    })}</label></div>`;
  }).join('')}
            </div>
          </div>

          <div class="flex flex-wrap min-w-full mt-3 p-3 shadow rounded-lg ring-1 ring-gray-300 dark:ring-mydark-200 bg-gray-100 dark:bg-mydark-600 unsafe">
            <div class="w-full pb-3 font-bold text-center xl:text-left">Dangerous researches (requiring confirmation):</div>
            <div class="grid gap-3 grid-cols-fill-240 min-w-full px-12 xl:px-0 mb-2">
              ${tech.filter(technology => technology.confirm || unsafeResearch.includes(technology.id)).map(technology => {
    return `<div class="flex flex-col mb-2"><label><span class="font-bold">${translate(technology.id, 'tec_')}</span><br />
                  Prio: ${generatePrioritySelect({
      page: CONSTANTS.PAGES.RESEARCH,
      subpage: CONSTANTS.SUBPAGES.RESEARCH,
      key: 'options',
      subkey: technology.id
    })}</label></div>`;
  }).join('')}
            </div>
          </div>
        </div>
      </div>

      <div class="taTab">
        <input type="radio" name="topLevelOptions" id="topLevelOptions-${CONSTANTS.PAGES.MARKETPLACE}" class="taTab-switch">
        <label for="topLevelOptions-${CONSTANTS.PAGES.MARKETPLACE}" class="taTab-label"><input type="checkbox" data-page="${CONSTANTS.PAGES.MARKETPLACE}" data-key="enabled" class="option" /> ${CONSTANTS.PAGES.MARKETPLACE}</label>
        <div class="taTab-content">

        <div class="grid gap-3 grid-cols-fill-240 min-w-full px-12 xl:px-0 mb-2">
          ${['cow', 'horse', 'food', 'copper', 'wood', 'stone', 'iron', 'tools'].map(res => {
    return `<div class="flex flex-col mb-2"><label>
                <input type="checkbox" data-page="${CONSTANTS.PAGES.MARKETPLACE}" data-key="options" data-subkey="resource_${res}" class="option" />
              Sell ${translate(res, 'res_')}</label></div>`;
  }).join('')}
        </div>
        <div>Don't sell if max gold can be reached in
          <input type="number" class="option w-min text-center lg:text-sm text-gray-700 bg-gray-100 dark:text-mydark-50 dark:bg-mydark-200 border-y border-gray-400 dark:border-mydark-200" value="60"
          data-page="${CONSTANTS.PAGES.MARKETPLACE}" data-key="options" data-subkey="timeToWaitUntilFullGold" /> seconds</div>
        <div>Sell the same resource at most every
          <input type="number" class="option w-min text-center lg:text-sm text-gray-700 bg-gray-100 dark:text-mydark-50 dark:bg-mydark-200 border-y border-gray-400 dark:border-mydark-200" value="90"
          data-page="${CONSTANTS.PAGES.MARKETPLACE}" data-key="options" data-subkey="secondsBetweenSells" /> seconds</div>
        <div>Sell the resource if it can be refilled in at most
          <input type="number" class="option w-min text-center lg:text-sm text-gray-700 bg-gray-100 dark:text-mydark-50 dark:bg-mydark-200 border-y border-gray-400 dark:border-mydark-200" value="90"
          data-page="${CONSTANTS.PAGES.MARKETPLACE}" data-key="options" data-subkey="timeToFillResource" /> seconds</div>

        </div>
      </div>

      <div class="taTab">
        <input type="radio" name="topLevelOptions" id="topLevelOptions-${CONSTANTS.PAGES.POPULATION}" class="taTab-switch">
        <label for="topLevelOptions-${CONSTANTS.PAGES.POPULATION}" class="taTab-label"><input type="checkbox" data-page="${CONSTANTS.PAGES.POPULATION}" data-key="enabled" class="option" /> ${CONSTANTS.PAGES.POPULATION}</label>
        <div class="taTab-content">

          <p class="mb-2">Max values: -1 -> hire unlimited; 0 -> do not hire;</p>

          <div class="mb-2">
            <button type="button" class="btn btn-blue w-min px-4 mr-2 minus1Medium">Set all to -1/Medium</button>
            <button type="button" class="btn btn-blue w-min px-4 mr-2 zeroDisabled">Set all to 0/Disabled</button>
          </div>

          <div class="flex flex-wrap min-w-full mt-3 p-3 shadow rounded-lg ring-1 ring-gray-300 dark:ring-mydark-200 bg-gray-100 dark:bg-mydark-600 mb-2">
            <div class="w-full pb-3 font-bold text-center xl:text-left">Hire:</div>
            <div class="grid gap-3 grid-cols-fill-240 min-w-full px-12 xl:px-0 mb-2">
              ${jobs.filter(job => job.gen).map(job => {
    return `<div class="flex flex-col mb-2"><label><span class="font-bold">${translate(job.id, 'pop_')}</span><br />
                  Max:
                    <input type="number" data-page="${CONSTANTS.PAGES.POPULATION}" data-key="options" data-subkey="${job.id}"
                    class="option text-center lg:text-sm text-gray-700 bg-gray-100 dark:text-mydark-50 dark:bg-mydark-200 border-y border-gray-400 dark:border-mydark-200"
                    value="0" min="-1" max="999" step="1" /><br />
                  Prio: ${generatePrioritySelect({
      page: CONSTANTS.PAGES.POPULATION,
      key: 'options',
      subkey: `prio_${job.id}`
    })}</label></div>`;
  }).join('')}
            </div>
          </div>

          <div class="mb-2"><label>Minimum Food production to aim for:
            <input type="number" class="option w-min text-center lg:text-sm text-gray-700 bg-gray-100 dark:text-mydark-50 dark:bg-mydark-200 border-y border-gray-400 dark:border-mydark-200"
            data-page="${CONSTANTS.PAGES.POPULATION}" data-key="options" data-subkey="minimumFood" value="1" min="0" max="999999" step="1" /></label></div>

          <div class="mb-2"><label>Ratio for unsafe jobs (speed of resource production to usage):
            <input type="number" class="option w-min text-center lg:text-sm text-gray-700 bg-gray-100 dark:text-mydark-50 dark:bg-mydark-200 border-y border-gray-400 dark:border-mydark-200"
            data-page="${CONSTANTS.PAGES.POPULATION}" data-key="options" data-subkey="unsafeJobRatio"
            value="2" min="0" max="999999" step="0.01" /></label></div>


          <div class="mb-2"><label>Rebalance population every:
            <input type="number" class="option w-min text-center lg:text-sm text-gray-700 bg-gray-100 dark:text-mydark-50 dark:bg-mydark-200 border-y border-gray-400 dark:border-mydark-200"
              data-page="${CONSTANTS.PAGES.POPULATION}" data-key="options" data-subkey="populationRebalanceTime" value="0" min="0" max="999999" step="1" />
            minutes (0 to disable)</label></div>

        </div>
      </div>

      <div class="taTab">
        <input type="radio" name="topLevelOptions" id="topLevelOptions-${CONSTANTS.PAGES.ARMY}" class="taTab-switch">
        <label for="topLevelOptions-${CONSTANTS.PAGES.ARMY}" class="taTab-label"><input type="checkbox" data-page="${CONSTANTS.PAGES.ARMY}" data-key="enabled" class="option" /> ${CONSTANTS.PAGES.ARMY}</label>
        <div class="taTab-content">

        <div class="taTabs">
          <div class="taTab">
            <input type="radio" name="${CONSTANTS.PAGES.ARMY}PageOptions"
              id="${CONSTANTS.PAGES.ARMY}PageOptions-${CONSTANTS.SUBPAGES.ARMY}"
              checked class="taTab-switch">
            <label for="${CONSTANTS.PAGES.ARMY}PageOptions-${CONSTANTS.SUBPAGES.ARMY}" class="taTab-label"><input type="checkbox" data-page="${CONSTANTS.PAGES.ARMY}" data-subpage="${CONSTANTS.SUBPAGES.ARMY}" data-key="enabled" class="option" /> ${CONSTANTS.SUBPAGES.ARMY}</label>
            <div class="taTab-content">
              <p class="mb-2">Max values: -1 -> hire unlimited; 0 -> do not hire;</p>

              ${userUnitsCategory.map((cat, index) => `
                <div class="flex flex-wrap min-w-full mt-3 p-3 shadow rounded-lg ring-1 ring-gray-300 dark:ring-mydark-200 bg-gray-100 dark:bg-mydark-600">
                  <div class="w-full pb-3 font-bold text-center xl:text-left">${cat}</div>
                  <div class="grid gap-3 grid-cols-fill-240 min-w-full px-12 xl:px-0 mb-2">
                    ${userUnits.filter(unit => unit.category === index).map(unit => {
    return `<div class="flex flex-col mb-2"><label><span class="font-bold">${translate(unit.id, 'uni_')}</span><br/>
                        Max:
                          <input type="number" data-page="${CONSTANTS.PAGES.ARMY}" data-subpage="${CONSTANTS.SUBPAGES.ARMY}" data-key="options" data-subkey="${unit.id}"
                          class="option text-center lg:text-sm text-gray-700 bg-gray-100 dark:text-mydark-50 dark:bg-mydark-200 border-y border-gray-400 dark:border-mydark-200"
                          value="0" min="-1" max="${unit.cap ? unit.cap : 999}" step="1" /><br />
                        Prio: ${generatePrioritySelect({
      page: CONSTANTS.PAGES.ARMY,
      subpage: CONSTANTS.SUBPAGES.ARMY,
      key: 'options',
      subkey: `prio_${unit.id}`
    })}</label></div>`;
  }).join('')}
                  </div>
                </div>
              `).join('')}
            </div>
          </div>

          <div class="taTab">
            <input type="radio" name="${CONSTANTS.PAGES.ARMY}PageOptions"
              id="${CONSTANTS.PAGES.ARMY}PageOptions-${CONSTANTS.SUBPAGES.EXPLORE}"
              class="taTab-switch">
            <label for="${CONSTANTS.PAGES.ARMY}PageOptions-${CONSTANTS.SUBPAGES.EXPLORE}" class="taTab-label"><input type="checkbox" data-page="${CONSTANTS.PAGES.ARMY}" data-subpage="${CONSTANTS.SUBPAGES.EXPLORE}" data-key="enabled" class="option" /> ${CONSTANTS.SUBPAGES.EXPLORE}</label>
            <div class="taTab-content">

              <div class="mb-2"><label>Scouts to send:<br />
              Min: <input type="number" class="option w-min text-center lg:text-sm text-gray-700 bg-gray-100 dark:text-mydark-50 dark:bg-mydark-200 border-y border-gray-400 dark:border-mydark-200"
              data-page="${CONSTANTS.PAGES.ARMY}" data-subpage="${CONSTANTS.SUBPAGES.EXPLORE}"
              data-key="options" data-subkey="scoutsMin" value="0" min="0" max="999999" step="1" /><br />
              Max: <input type="number" class="option w-min text-center lg:text-sm text-gray-700 bg-gray-100 dark:text-mydark-50 dark:bg-mydark-200 border-y border-gray-400 dark:border-mydark-200"
              data-page="${CONSTANTS.PAGES.ARMY}" data-subpage="${CONSTANTS.SUBPAGES.EXPLORE}"
              data-key="options" data-subkey="scoutsMax" value="0" min="0" max="999999" step="1" /></label></div>

              <div class="mb-2"><label>Explorers to send:<br />
              Min: <input type="number" class="option w-min text-center lg:text-sm text-gray-700 bg-gray-100 dark:text-mydark-50 dark:bg-mydark-200 border-y border-gray-400 dark:border-mydark-200"
              data-page="${CONSTANTS.PAGES.ARMY}" data-subpage="${CONSTANTS.SUBPAGES.EXPLORE}"
              data-key="options" data-subkey="explorersMin" value="0" min="0" max="999999" step="1" /><br />
              Max: <input type="number" class="option w-min text-center lg:text-sm text-gray-700 bg-gray-100 dark:text-mydark-50 dark:bg-mydark-200 border-y border-gray-400 dark:border-mydark-200"
              data-page="${CONSTANTS.PAGES.ARMY}" data-subpage="${CONSTANTS.SUBPAGES.EXPLORE}"
              data-key="options" data-subkey="explorersMax" value="0" min="0" max="999999" step="1" /></label></div>


              <div class="mb-2"><label>Familiars to send:<br />
              Min: <input type="number" class="option w-min text-center lg:text-sm text-gray-700 bg-gray-100 dark:text-mydark-50 dark:bg-mydark-200 border-y border-gray-400 dark:border-mydark-200"
              data-page="${CONSTANTS.PAGES.ARMY}" data-subpage="${CONSTANTS.SUBPAGES.EXPLORE}"
              data-key="options" data-subkey="familiarsMin" value="0" min="0" max="999999" step="1" /><br />
              Max: <input type="number" class="option w-min text-center lg:text-sm text-gray-700 bg-gray-100 dark:text-mydark-50 dark:bg-mydark-200 border-y border-gray-400 dark:border-mydark-200"
              data-page="${CONSTANTS.PAGES.ARMY}" data-subpage="${CONSTANTS.SUBPAGES.EXPLORE}"
              data-key="options" data-subkey="familiarsMax" value="0" min="0" max="999999" step="1" /></label></div>
            </div>
          </div>

          <div class="taTab">
            <input type="radio" name="${CONSTANTS.PAGES.ARMY}PageOptions"
              id="${CONSTANTS.PAGES.ARMY}PageOptions-${CONSTANTS.SUBPAGES.ATTACK}"
              class="taTab-switch">
            <label for="${CONSTANTS.PAGES.ARMY}PageOptions-${CONSTANTS.SUBPAGES.ATTACK}" class="taTab-label"><input type="checkbox" data-page="${CONSTANTS.PAGES.ARMY}" data-subpage="${CONSTANTS.SUBPAGES.ATTACK}" data-key="enabled" class="option" /> ${CONSTANTS.SUBPAGES.ATTACK}</label>
            <div class="taTab-content">

              <p class="mb-2">Check all fights to take</p>

              <div class="mb-2">
                ${fightLevels.map(level => `
                <button type="button" class="btn btn-blue w-min px-4 mr-2 toggleLevelFights" data-checked="1" data-level="${level}">Toggle all Level ${level}</button>
                `).join('')}
              </div>

              ${fightLevels.map(level => `
                <div class="flex flex-wrap min-w-full mt-3 p-3 shadow rounded-lg ring-1 ring-gray-300 dark:ring-mydark-200 bg-gray-100 dark:bg-mydark-600 taFights level${level}">
                  <div class="w-full pb-3 font-bold text-center xl:text-left">Level ${level}</div>
                  <div class="grid gap-3 grid-cols-fill-240 min-w-full px-12 xl:px-0 mb-2">
                    ${fights.filter(fight => fight.level === level).map(fight => {
    return `<div class="flex flex-col mb-2"><label>
                        <input type="checkbox"  data-page="${CONSTANTS.PAGES.ARMY}" data-subpage="${CONSTANTS.SUBPAGES.ATTACK}"
                          data-key="options" data-subkey="${fight.key}" class="option" />
                        <span class="font-bold">${fight.id}</span></label></div>`;
  }).join('')}
                  </div>
                </div>
              `).join('')}

            </div>
          </div>
        </div>

        </div>
      </div>

      <div class="taTab">
        <input type="radio" name="topLevelOptions" id="topLevelOptions-${CONSTANTS.PAGES.MAGIC}" class="taTab-switch">
        <label for="topLevelOptions-${CONSTANTS.PAGES.MAGIC}" class="taTab-label"><input type="checkbox" data-page="${CONSTANTS.PAGES.MAGIC}" data-key="enabled" class="option" /> ${CONSTANTS.PAGES.MAGIC}</label>
        <div class="taTab-content">
          <div class="taTabs">
            <div class="taTab">
              <input type="radio" name="${CONSTANTS.PAGES.MAGIC}PageOptions" id="${CONSTANTS.PAGES.MAGIC}PageOptions-${CONSTANTS.SUBPAGES.PRAYERS}" checked class="taTab-switch">
              <label for="${CONSTANTS.PAGES.MAGIC}PageOptions-${CONSTANTS.SUBPAGES.PRAYERS}" class="taTab-label"><input type="checkbox" data-page="${CONSTANTS.PAGES.MAGIC}" data-subpage="${CONSTANTS.SUBPAGES.PRAYERS}" data-key="enabled" class="option" /> ${CONSTANTS.SUBPAGES.PRAYERS}</label>
              <div class="taTab-content">
                <div class="mb-2">
                  <button type="button" class="btn btn-blue w-min px-4 mr-2 minus1Medium">Set all to Medium</button>
                  <button type="button" class="btn btn-blue w-min px-4 mr-2 zeroDisabled">Set all to Disabled</button>
                </div>

          <div class="flex flex-wrap min-w-full mt-3 p-3 shadow rounded-lg ring-1 ring-gray-300 dark:ring-mydark-200 bg-gray-100 dark:bg-mydark-600">
            <div class="w-full pb-3 font-bold text-center xl:text-left">Exclusive researches:</div>
            <div class="grid gap-3 grid-cols-fill-240 min-w-full px-12 xl:px-0 mb-2">
              ${prayerGroups.map(item => {
    return `<div class="flex flex-col mb-2"><label>${generateMultiSelect(item, {
      page: CONSTANTS.PAGES.MAGIC,
      subpage: CONSTANTS.SUBPAGES.PRAYERS,
      key: 'options',
      multiselectkey: item['key']['id']
    })}<br />
                Prio: ${generatePrioritySelect({
      page: CONSTANTS.PAGES.MAGIC,
      subpage: CONSTANTS.SUBPAGES.PRAYERS,
      key: 'options',
      multiselectkey: item['key']['id'],
      subkey: 'multiSelectPriority'
    })}</label></div>`;
  }).join('')}
            </div>
          </div>

                <div class="flex flex-wrap min-w-full mt-3 p-3 shadow rounded-lg ring-1 ring-gray-300 dark:ring-mydark-200 bg-gray-100 dark:bg-mydark-600">
                  <div class="w-full pb-3 font-bold text-center xl:text-left">Regular Prayers:</div>
                  <div class="grid gap-3 grid-cols-fill-240 min-w-full px-12 xl:px-0 mb-2">
                    ${spells.filter(prayer => prayer.type === 'prayer' && !groupedPrayers.includes(prayer.id)).map(prayer => {
    return `<div class="flex flex-col mb-2"><label><span class="font-bold">${translate(prayer.id)}</span><br/>
                        Prio: ${generatePrioritySelect({
      page: CONSTANTS.PAGES.MAGIC,
      subpage: CONSTANTS.SUBPAGES.PRAYERS,
      key: 'options',
      subkey: prayer.id
    })}</label></div>`;
  }).join('')}
                  </div>
                </div>
              </div>
            </div>

            <div class="taTab">
              <input type="radio" name="${CONSTANTS.PAGES.MAGIC}PageOptions"
              id="${CONSTANTS.PAGES.MAGIC}PageOptions-${CONSTANTS.SUBPAGES.SPELLS}"  class="taTab-switch">
              <label for="${CONSTANTS.PAGES.MAGIC}PageOptions-${CONSTANTS.SUBPAGES.SPELLS}" class="taTab-label"><input type="checkbox" data-page="${CONSTANTS.PAGES.MAGIC}" data-subpage="${CONSTANTS.SUBPAGES.SPELLS}" data-key="enabled" class="option" /> ${CONSTANTS.SUBPAGES.SPELLS}</label>
              <div class="taTab-content">
                <div class="mb-2"><label>Minimum Mana production to leave:
                <input type="number" class="option w-min text-center lg:text-sm text-gray-700 bg-gray-100 dark:text-mydark-50 dark:bg-mydark-200 border-y border-gray-400 dark:border-mydark-200"
                data-page="${CONSTANTS.PAGES.MAGIC}" data-subpage="${CONSTANTS.SUBPAGES.SPELLS}"
                data-key="options" data-subkey="minimumMana" value="0" min="0" max="999999" step="1" /></label></div>

                <div class="mb-2">
                  <button type="button" class="btn btn-blue w-min px-4 mr-2 spellsResourceEnable">Enable all Resource spells</button>
                  <button type="button" class="btn btn-blue w-min px-4 mr-2 spellsResourceDisable">Disable all Resource spells</button>
                  <button type="button" class="btn btn-blue w-min px-4 mr-2 spellsArmyEnable">Enable all Army spells</button>
                  <button type="button" class="btn btn-blue w-min px-4 mr-2 spellsArmyDisable">Disable all Army spells</button>
                </div>

                <div class="flex flex-wrap min-w-full mt-3 p-3 shadow rounded-lg ring-1 ring-gray-300 dark:ring-mydark-200 bg-gray-100 dark:bg-mydark-600 spellsResource">
                  <div class="w-full pb-3 font-bold text-center xl:text-left">Resource spells:</div>
                  <div class="grid gap-3 grid-cols-fill-240 min-w-full px-12 xl:px-0 mb-2">
                    ${spells.filter(spell => spell.type === 'spell').filter(spell => spell.gen && !spell.gen.find(gen => gen.type === 'modifier' && gen.type_id === 'army')).map(spell => {
    return `<div class="flex flex-col mb-2"><label>
                        <input type="checkbox" data-page="${CONSTANTS.PAGES.MAGIC}" data-subpage="${CONSTANTS.SUBPAGES.SPELLS}"
                          data-key="options" data-subkey="${spell.id}" class="option" />
                        <span class="font-bold">${translate(spell.id)}</span></label></div>`;
  }).join('')}
                  </div>
                </div>

                <div class="flex flex-wrap min-w-full mt-3 p-3 shadow rounded-lg ring-1 ring-gray-300 dark:ring-mydark-200 bg-gray-100 dark:bg-mydark-600 spellsArmy">
                  <div class="w-full pb-3 font-bold text-center xl:text-left">Army spells:</div>
                  <div class="grid gap-3 grid-cols-fill-240 min-w-full px-12 xl:px-0 mb-2">
                    ${spells.filter(spell => spell.type === 'spell').filter(spell => spell.gen && spell.gen.find(gen => gen.type === 'modifier' && gen.type_id === 'army')).map(spell => {
    return `<div class="flex flex-col mb-2"><label>
                        <input type="checkbox" data-page="${CONSTANTS.PAGES.MAGIC}" data-subpage="${CONSTANTS.SUBPAGES.SPELLS}"
                          data-key="options" data-subkey="${spell.id}" class="option" />
                        <span class="font-bold">${translate(spell.id)}</span></label></div>`;
  }).join('')}
                  </div>
                </div>
              </div>
            </div>
          </div>

        </div>
      </div>

      <div class="taTab">
        <input type="radio" name="topLevelOptions" id="topLevelOptions-${CONSTANTS.PAGES.DIPLOMACY}" class="taTab-switch">
        <label for="topLevelOptions-${CONSTANTS.PAGES.DIPLOMACY}" class="taTab-label"><input type="checkbox" data-page="${CONSTANTS.PAGES.DIPLOMACY}" data-key="enabled" class="option" /> ${CONSTANTS.PAGES.DIPLOMACY}</label>
        <div class="taTab-content">

          <div class="flex flex-wrap min-w-full mt-3 p-3 shadow rounded-lg ring-1 ring-gray-300 dark:ring-mydark-200 bg-gray-100 dark:bg-mydark-600 spellsArmy">
            <div class="grid gap-3 grid-cols-fill-240 min-w-full px-12 xl:px-0 mb-2">
              ${factions.filter(faction => faction.gen).filter(faction => faction.relationship).map(faction => {
    const options = [{
      key: 'Disabled',
      value: CONSTANTS.DIPLOMACY.DISABLED
    }, {
      key: 'Go to war',
      value: CONSTANTS.DIPLOMACY.GO_TO_WAR
    }, {
      key: 'Just trade',
      value: CONSTANTS.DIPLOMACY.JUST_TRADE
    }, {
      key: 'Trade, then ally',
      value: CONSTANTS.DIPLOMACY.TRADE_AND_ALLY
    }, {
      key: 'Ally without trading',
      value: CONSTANTS.DIPLOMACY.ONLY_ALLY
    }];
    return `<div class="flex flex-col mb-2"><label><span class="font-bold">${translate(faction.id)}</span><br />
                  ${generatePrioritySelect({
      page: CONSTANTS.PAGES.DIPLOMACY,
      key: 'options',
      subkey: `${faction.id}`
    }, options)}
                  </label></div>`;
  }).join('')}
            </div>
          </div>

        </div>
      </div>

      <div class="taTab">
        <input type="radio" name="topLevelOptions" id="topLevelOptions-Automation" class="taTab-switch">
        <label for="topLevelOptions-Automation" class="taTab-label">Automation</label>
        <div class="taTab-content">

          <div class="mb-6">
            <h3 class="text-lg">Auto-sort army:</h3>
            <div class="mb-2"><label>Enabled:
              <input type="checkbox" data-setting="autoSortArmy" data-key="enabled" class="option" />
            </label></div>
          </div>

          <div class="mb-6">
            <h3 class="text-lg">Auto-ancestor:</h3>
            <div class="mb-2"><label>Enabled:
              <input type="checkbox" data-setting="ancestor" data-key="enabled" class="option" />
            </label></div>

            <div class="mb-2">
              Ancestor to pick:

              <select class="option dark:bg-mydark-200"
              data-setting="ancestor" data-key="selected"
              >
                ${['ancestor_farmer', 'ancestor_believer', 'ancestor_forager', 'ancestor_gatherer', 'ancestor_miner', 'ancestor_researcher', 'ancestor_spellcrafter', 'ancestor_trader', 'ancestor_warrior'].map(ancestor => `<option value="${ancestor}">${translate(ancestor)}</option>`).join('')}
              </select>
            </div>
          </div>

          <div class="mb-6">
            <h3 class="text-lg">Auto-NG+:</h3>
            <div class="mb-2"><label>Enabled:
              <input type="checkbox" data-setting="ngplus" data-key="enabled" class="option" />
            </label></div>

            <div class="mb-2"><label>Minimum Legacies to NG+:
              <input type="number" class="option w-min text-center lg:text-sm text-gray-700 bg-gray-100 dark:text-mydark-50 dark:bg-mydark-200 border-y border-gray-400 dark:border-mydark-200"
              data-setting="ngplus" data-key="value" value="0" min="0" max="999" step="1" /></label>
            </div>
          </div>

          <div class="mb-6">
            <h3 class="text-lg">Auto-difficulty:</h3>
            <div class="mb-2"><label>Enabled:
              <input type="checkbox" data-setting="difficulty" data-key="enabled" class="option" />
            </label></div>

            <div class="mb-2">
              Difficulty to pick:

              <select class="option dark:bg-mydark-200"
              data-setting="difficulty" data-key="selected"
              >
                ${['difficulty_99', 'difficulty_0', 'difficulty_1', 'difficulty_2', 'difficulty_3'].map(difficulty => `<option value="${difficulty}">${translate(difficulty)}</option>`).join('')}
              </select>
            </div>
          </div>

          <div class="mb-6">
            <h3 class="text-lg">Auto-path:</h3>
            <div class="mb-2"><label>Enabled:
              <input type="checkbox" data-setting="path" data-key="enabled" class="option" />
            </label></div>

            <div class="mb-2">
              Path to pick:

              <select class="option dark:bg-mydark-200"
              data-setting="path" data-key="selected"
              >
                ${['humans', 'evil_path'].map(path => `<option value="${path}">${translate(path)}</option>`).join('')}
              </select>
            </div>
          </div>

          <div class="mb-6">
            <h3 class="text-lg">Auto-prestige:</h3>
            <div class="mb-2"><label>Enabled:
              <input type="checkbox" data-setting="prestige" data-key="enabled" class="option" />
            </label></div>
          </div>

          <div class="mb-2">
            <button type="button" class="btn btn-blue w-min px-4 mr-2 minus1Medium">Set all to Medium</button>
            <button type="button" class="btn btn-blue w-min px-4 mr-2 zeroDisabled">Set all to Disabled</button>
          </div>

          <div class="flex flex-wrap min-w-full mt-3 p-3 shadow rounded-lg ring-1 ring-gray-300 dark:ring-mydark-200 bg-gray-100 dark:bg-mydark-600">
            <div class="grid gap-3 grid-cols-fill-240 min-w-full px-12 xl:px-0 mb-2">
              ${legacies.map(legacy => {
    return `<div class="flex flex-col mb-2"><label>
                  <span class="font-bold">${translate(legacy.id, 'leg_')} (${legacy.req.find(req => req.id === 'legacy').value})</span><br />
                  Prio: ${generatePrioritySelect({
      setting: 'prestige',
      key: 'options',
      subkey: legacy.id
    })}</label></div>`;
  }).join('')}
            </div>
          </div>

        </div>
      </div>

      <div class="taTab">
        <input type="radio" name="topLevelOptions" id="topLevelOptions-Cosmetics" class="taTab-switch">
        <label for="topLevelOptions-Cosmetics" class="taTab-label">Cosmetics</label>
        <div class="taTab-content">

          <div class="mb-2"><label>Hide full-page overlays:
          <input type="checkbox" data-setting="cosmetics" data-key="hideFullPageOverlay" data-subkey="enabled" class="option" />
          </div>

          <div class="mb-2"><label>Hide toasts:
          <input type="checkbox" data-setting="cosmetics" data-key="toasts" data-subkey="enabled" class="option" />
          </div>
        </div>
      </div>

      <div class="taTab">
        <input type="radio" name="topLevelOptions" id="topLevelOptions-Cheats" class="taTab-switch">
        <label for="topLevelOptions-Cheats" class="taTab-label">Cheats</label>
        <div class="taTab-content">
          <div class="mb-2">
            The cheats will be applied immediately upon pressing the button. Please save your game state before if you're unsure about your decisions.
          </div>

          <div class="mb-2">
            <button type="button" class="btn btn-blue w-min px-4 mr-2 maxResources">Max resources</button>
          </div>

          <div class="mb-2">
            Legacy Points:
              <button type="button" class="btn btn-blue w-min px-4 mr-2 maxLegacyPoints10">+10</button>
              <button type="button" class="btn btn-blue w-min px-4 mr-2 maxLegacyPoints100">+100</button>
              <button type="button" class="btn btn-blue w-min px-4 mr-2 maxLegacyPoints1000">+1000</button>
          </div>

          <div class="mb-2">
            Prestige Currencies:
              <button type="button" class="btn btn-blue w-min px-4 mr-2 maxPrestigeCurrencies1">+1</button>
              <button type="button" class="btn btn-blue w-min px-4 mr-2 maxPrestigeCurrencies10">+10</button>
              <button type="button" class="btn btn-blue w-min px-4 mr-2 maxPrestigeCurrencies100">+100</button>
          </div>

          <div class="mb-2"><label>Turbo mode:
            <input type="checkbox" data-setting="turbo" data-key="enabled" class="option" />
            Turbo Speed: <input type="number" data-setting="turbo" data-key="maxSleep" class="option text-center lg:text-sm text-gray-700 bg-gray-100 dark:text-mydark-50 dark:bg-mydark-200 border-y border-gray-400 dark:border-mydark-200" value="50" min="10" max="5000" step="10" />
          </div>
          <div class="mb-2"><label>Instant attack/explore:
            <input type="checkbox" data-setting="instantArmy" data-key="enabled" class="option" />
          </div>
          <div class="mb-2"><label>Instant oracle:
            <input type="checkbox" data-setting="instantOracle" data-key="enabled" class="option" />
          </div>
          <div class="mb-2"><label>Guided start:
            <input type="checkbox" data-setting="guidedStart" data-key="enabled" class="option" /> || Guided start builds 3 Common Houses, 1 Farm, 1 Lumberjack Camp and 1 Quarry before everything else.
          </div>

        </div>
      </div>
    </div>

    <div class="absolute top-0 right-0 z-20 pt-4 pr-4">
      <a href="#" title="Close" id="closeOptions">X</a>
    </div>
  `;
    panelElement.appendChild(innerPanelElement);
    document.querySelector('div#root').insertAdjacentElement('afterend', panelElement);
    document.querySelector('#closeOptions').addEventListener('click', togglePanel);
    document.querySelector('#saveOptions').addEventListener('click', saveOptions);
    document.querySelector('#saveOptionsAndClose').addEventListener('click', saveOptionsAndClose);
    document.querySelector('#exportOptions').addEventListener('click', exportOptions);
    document.querySelector('#importOptions').addEventListener('click', importOptions);

    // Cheats
    document.querySelector('button.maxResources').addEventListener('click', cheats.maxResources);
    document.addEventListener('keydown', e => {
      // shortcut for maxResources
      if (e.ctrlKey && e.key === 'm') {
        e.preventDefault();
        cheats.maxResources();
      }
    });
    document.querySelector('button.maxLegacyPoints10').addEventListener('click', () => {
      cheats.maxLegacyPoints(10);
    });
    document.querySelector('button.maxLegacyPoints100').addEventListener('click', () => {
      cheats.maxLegacyPoints(100);
    });
    document.querySelector('button.maxLegacyPoints1000').addEventListener('click', () => {
      cheats.maxLegacyPoints(1000);
    });
    document.querySelector('button.maxPrestigeCurrencies1').addEventListener('click', () => {
      cheats.maxPrestigeCurrencies(1);
    });
    document.querySelector('button.maxPrestigeCurrencies10').addEventListener('click', () => {
      cheats.maxPrestigeCurrencies(10);
    });
    document.querySelector('button.maxPrestigeCurrencies100').addEventListener('click', () => {
      cheats.maxPrestigeCurrencies(100);
    });
    const setAllValues = (allContainers, options) => {
      allContainers.forEach(container => {
        if (options.number != undefined) {
          container.querySelectorAll('input.option[type=number]').forEach(input => input.value = options.number);
        }
        if (options.checked != undefined) {
          container.querySelectorAll('input.option[type=checkbox]').forEach(input => input.checked = options.checked ? 'checked' : '');
        }
        if (options.select != undefined) {
          container.querySelectorAll('select').forEach(select => {
            if (!select.dataset.multiselectkey || select.dataset.subkey) {
              select.value = options.select;
            }
          });
        }
      });
    };
    const setAllMaxs = [...document.querySelectorAll('.setAllMax')];
    setAllMaxs.forEach(button => {
      button.addEventListener('click', function (e) {
        const allGrids = [...e.currentTarget.parentElement.parentElement.querySelectorAll('div.flex.flex-wrap:not(.unsafe)')];
        setAllValues(allGrids, {
          number: e.currentTarget.parentElement.querySelector('.setAllMaxInput').value
        });
      });
    });
    const setAllPrio = [...document.querySelectorAll('.setAllPrio')];
    setAllPrio.forEach(button => {
      button.addEventListener('click', function (e) {
        const allGrids = [...e.currentTarget.parentElement.parentElement.querySelectorAll('div.flex.flex-wrap:not(.unsafe)')];
        setAllValues(allGrids, {
          select: e.currentTarget.parentElement.querySelector('.setAllPrioSelect').value
        });
      });
    });
    const minus1Mediums = [...document.querySelectorAll('.minus1Medium')];
    minus1Mediums.forEach(button => {
      button.addEventListener('click', function (e) {
        const allGrids = [...e.currentTarget.parentElement.parentElement.querySelectorAll('div.flex.flex-wrap:not(.unsafe)')];
        setAllValues(allGrids, {
          select: 4,
          number: -1
        });
      });
    });
    const zeroDisabled = [...document.querySelectorAll('.zeroDisabled')];
    zeroDisabled.forEach(button => {
      button.addEventListener('click', function (e) {
        const allGrids = [...e.currentTarget.parentElement.parentElement.querySelectorAll('div.flex.flex-wrap:not(.unsafe)')];
        setAllValues(allGrids, {
          select: 0,
          number: 0
        });
      });
    });
    const spellsResourceEnable = [...document.querySelectorAll('.spellsResourceEnable')];
    spellsResourceEnable.forEach(button => {
      button.addEventListener('click', function (e) {
        const allGrids = [...e.currentTarget.parentElement.parentElement.querySelectorAll('div.flex.flex-wrap.spellsResource')];
        setAllValues(allGrids, {
          checked: true
        });
      });
    });
    const spellsResourceDisable = [...document.querySelectorAll('.spellsResourceDisable')];
    spellsResourceDisable.forEach(button => {
      button.addEventListener('click', function (e) {
        const allGrids = [...e.currentTarget.parentElement.parentElement.querySelectorAll('div.flex.flex-wrap.spellsResource')];
        setAllValues(allGrids, {
          checked: false
        });
      });
    });
    const spellsArmyEnable = [...document.querySelectorAll('.spellsArmyEnable')];
    spellsArmyEnable.forEach(button => {
      button.addEventListener('click', function (e) {
        const allGrids = [...e.currentTarget.parentElement.parentElement.querySelectorAll('div.flex.flex-wrap.spellsArmy')];
        setAllValues(allGrids, {
          checked: true
        });
      });
    });
    const spellsArmyDisable = [...document.querySelectorAll('.spellsArmyDisable')];
    spellsArmyDisable.forEach(button => {
      button.addEventListener('click', function (e) {
        const allGrids = [...e.currentTarget.parentElement.parentElement.querySelectorAll('div.flex.flex-wrap.spellsArmy')];
        setAllValues(allGrids, {
          checked: false
        });
      });
    });
    const toggleLevelFights = [...document.querySelectorAll('.toggleLevelFights')];
    toggleLevelFights.forEach(button => {
      button.addEventListener('click', function (e) {
        const toggleState = e.currentTarget.dataset.checked === '1';
        const allGrids = [...document.querySelectorAll(`div.taFights.level${e.currentTarget.dataset.level}`)];
        setAllValues(allGrids, {
          checked: toggleState
        });
        e.currentTarget.dataset.checked = toggleState ? '0' : '1';
      });
    });
    const options = [...document.querySelector(`div#${id$1}`).querySelectorAll('.option')];
    options.forEach(option => {
      const setting = option.dataset.setting;
      const page = option.dataset.page;
      const subPage = option.dataset.subpage;
      const key = option.dataset.key;
      const multiSelectKey = option.dataset.multiselectkey;
      const subKey = option.dataset.subkey;
      let root;
      if (setting) {
        root = state.options[setting];
      } else {
        if (subPage) {
          root = state.options.pages[page].subpages[subPage];
        } else {
          root = state.options.pages[page];
        }
      }
      if (root) {
        if (typeof multiSelectKey !== 'undefined') {
          if (typeof subKey !== 'undefined') {
            const multiSelectOption = options.filter(option => option.dataset.multiselectkey === multiSelectKey && !option.dataset.subkey);
            if (multiSelectOption.length > 0) {
              const selected = multiSelectOption[0].value;
              if (selected) {
                const value = root[key][selected];
                if (value) {
                  option.value = value;
                }
              }
            }
          } else {
            const choices = option.options;
            for (let i = 0; i < choices.length; i++) {
              const choice = choices[i].value;
              const value = root[key][choice];
              if (value > 0) {
                option.value = choice;
              }
            }
          }
        } else {
          const value = subKey ? root[key][subKey] : root[key];
          if (typeof value !== 'undefined') {
            if (option.type === 'checkbox') {
              if (value) {
                option.checked = 'checked';
              }
            } else if (option.type === 'number') {
              option.value = value;
            } else if (option.type === 'select-one') {
              option.value = value;
            }
          }
        }
      }
    });
  };
  const updatePanel$1 = () => {};
  let previousScriptState = state.scriptPaused;
  const togglePanel = () => {
    const panelElement = document.querySelector(`div#${id$1}`);
    panelElement.classList.toggle('taPanelElementVisible');
    if (panelElement.classList.contains('taPanelElementVisible')) {
      previousScriptState = state.scriptPaused;
      state.scriptPaused = true;
    } else {
      state.scriptPaused = previousScriptState;
      if (!state.scriptPaused) {
        start$1();
      }
    }
  };
  const saveOptions = () => {
    const options = [...document.querySelector(`div#${id$1}`).querySelectorAll('.option')];
    state.options = getDefaultOptions();
    const multiSelectOptions = options.filter(option => option.dataset.multiselectkey && !option.dataset.subkey);
    const multiSelectOptionPriorities = options.filter(option => option.dataset.multiselectkey && option.dataset.subkey);
    multiSelectOptions.forEach(option => {
      const page = option.dataset.page;
      const subPage = option.dataset.subpage;
      const multiSelectKey = option.dataset.multiselectkey;
      const key = option.dataset.key;
      const selected = option.value;
      const choices = option.options;
      const priority = multiSelectOptionPriorities.filter(priority => priority.dataset.multiselectkey === multiSelectKey);
      let value = 0;
      if (priority.length > 0) value = Number(priority[0].value);
      if (typeof value === 'undefined') {
        value = 0;
      }
      for (let i = 0; i < choices.length; i++) {
        let root = state.options.pages[page].subpages[subPage];
        const choice = choices[i].value;
        if (selected === choice) {
          root[key][choice] = value;
        } else {
          root[key][choice] = 0;
        }
      }
    });
    options.filter(option => !option.dataset.multiselectkey).forEach(option => {
      const setting = option.dataset.setting;
      const page = option.dataset.page;
      const subPage = option.dataset.subpage;
      const key = option.dataset.key;
      const subKey = option.dataset.subkey;
      let value;
      if (option.type === 'checkbox') {
        value = !!option.checked;
      } else if (option.type === 'number') {
        value = Number(option.value);
      } else if (option.type === 'select-one') {
        value = option.value;
      }
      if (isNumber(value)) {
        value = +value;
      }
      let root;
      if (setting) {
        root = state.options[setting];
      } else {
        if (subPage) {
          root = state.options.pages[page].subpages[subPage];
        } else {
          root = state.options.pages[page];
        }
      }
      if (root) {
        if (subKey) {
          root[key][subKey] = value;
        } else {
          root[key] = value;
        }
      }
    });
    initCheats();
    localStorage.set('options', state.options);
  };
  const saveOptionsAndClose = () => {
    saveOptions();
    togglePanel();
  };
  const exportOptions = () => {
    document.querySelector(`#${id$1}-save`).value = LZString.compressToBase64(JSON.stringify(state.options));
    document.querySelector(`#${id$1}-save`).select();
    document.execCommand('copy');
    window.alert('Options copied to clipboard');
  };
  const importOptions = () => {
    const saveString = window.prompt('Paste exported Theresmore Automation settings here');
    if (saveString) {
      const saveData = JSON.parse(LZString.decompressFromBase64(saveString));
      if (!Array.isArray(saveData)) {
        localStorage.set('options', saveData);
        state.options = saveData;
        runMigrations();
        location.reload();
      }
    }
  };
  var manageOptions = {
    createPanel: createPanel$1,
    updatePanel: updatePanel$1,
    togglePanel
  };

  const id = 'theresmore-automation';
  let controlPanel;
  const createPanel = switchScriptState => {
    let scriptState = state.scriptPaused ? `Start` : `Stop`;
    const controlPanelElement = document.createElement('div');
    controlPanelElement.id = id;
    controlPanelElement.classList.add('dark');
    controlPanelElement.classList.add('dark:bg-mydark-300');
    controlPanelElement.classList.add('taControlPanelElement');
    controlPanelElement.innerHTML = `
    <p class="mb-2">Theresmore Automation ${taVersion ? `v${taVersion}` : ''}</p>
    <div>
      <button type="button" class="btn btn-blue mb-2 taScriptState">${scriptState}</button>
      <button type="button" class="btn btn-blue mb-2 taManageOptions">Manage Options</button>
    </div>
    <div class="mb-2">
      Legacies: <span class="legacyCount">0</span>; LP: <span class="lpCount">0</span>
    </div>
  </p>
  `;
    document.querySelector('div#root').insertAdjacentElement('afterend', controlPanelElement);
    controlPanel = document.querySelector(`div#${id}`);
    controlPanel.querySelector('.taScriptState').addEventListener('click', switchScriptState);
    controlPanel.querySelector('.taManageOptions').addEventListener('click', manageOptions.togglePanel);
  };
  const updatePanel = () => {
    let scriptState = state.scriptPaused ? `Start` : `Stop`;
    controlPanel.querySelector('.taScriptState').innerHTML = scriptState;
  };
  var managePanel = {
    createPanel,
    updatePanel
  };

  const appendStyles = () => {
    const styleContainer = document.createElement('style');
    styleContainer.innerHTML = `
  .taSaveArea {
    position: absolute;
    top: -1000px;
    left: -1000px;
    width: 1px;
    height: 1px;
  }

  .taControlPanelElement {
    position: fixed;
    bottom: 10px;
    left: 10px;
    z-index: 99999999;
    border: 1px black solid;
    padding: 10px;
  }

  .taPanelElement {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999999999;
    padding: 20px;
    height: 100vh;
    width: 100vw;
    display: none;
    backdrop-filter: blur(10px);
  }

  .taPanelElementVisible {
    display: block;
  }

  .taInnerPanelElement {
    position: relative;
    height: 100%;
    width: 100%;
    padding: 10px;
    border: 1px black solid;
    overflow-y: auto;
    overflow-x: none;
  }

  .toastifyDisabled {
    display: none!important;
  }

  .taTabs {
    position: relative;
    margin: 3rem 0;
    background: #1abc9c;
  }
  .taTabs::before,
  .taTabs::after {
    content: "";
    display: table;
  }
  .taTabs::after {
    clear: both;
  }
  .taTab {
    float: left;
  }
  .taTab-switch {
    display: none;
  }
  .taTab-label {
    position: relative;
    display: block;
    line-height: 2.75em;
    height: 3em;
    padding: 0 1.618em;
    background: #1abc9c;
    border-right: 0.125rem solid #16a085;
    color: #fff;
    cursor: pointer;
    top: 0;
    transition: all 0.25s;
  }
  .taTab-label:hover {
    top: -0.25rem;
    transition: top 0.25s;
  }
  .taTab-content {
    position: absolute;
    z-index: 1;
    top: 2.75em;
    left: 0;
    padding: 1.618rem;
    opacity: 0;
    transition: all 0.35s;
    width: 100%;
  }
  .taTab-switch:checked + .taTab-label {
    background: #fff;
    color: #2c3e50;
    border-bottom: 0;
    border-right: 0.125rem solid #fff;
    transition: all 0.35s;
    z-index: 1;
    top: -0.0625rem;
  }
  .taTab-switch:checked + label + .taTab-content {
    z-index: 2;
    opacity: 1;
    transition: all 0.35s;
  }

  .taOptionsBar {
    position: fixed;
    z-index: 100;
  }

  .right-14 {
    right: 3.5rem;
  }
  `;
    document.querySelector('head').insertAdjacentElement('beforeend', styleContainer);
  };
  var manageStyles = {
    appendStyles
  };

  const modalsToKill = Object.keys(i18n.en).filter(key => key.includes('img_') && !key.includes('_description')).map(key => i18n.en[key]);
  const hideFullPageOverlay = () => {
    if (!state.scriptPaused && state.options.cosmetics.hideFullPageOverlay.enabled) {
      const modalTitles = [...document.querySelectorAll('#headlessui-portal-root div.modal-container h3.modal-title')];
      modalTitles.forEach(modalTitle => {
        if (modalTitle) {
          if (!modalsToKill.includes(modalTitle.innerText.trim())) {
            return;
          }
          const fullPageOverlay = document.querySelector('#headlessui-portal-root div.absolute.top-0.right-0.z-20.pt-4.pr-4 > button');
          if (fullPageOverlay && fullPageOverlay.innerText.includes('Close')) {
            if (!localStorage.get("manualNG") || modalTitle.innerText !== '光荣退休')
			  fullPageOverlay.click();
          }
        }
      });
    }
  };
  const removeToasts = () => {
    const toastify = document.querySelector('div.Toastify');
    const toastifyDisabled = document.querySelector('div.ToastifyDisabled');
    if (toastify && state.options.cosmetics.toasts.enabled) {
      toastify.classList.remove('Toastify');
      toastify.classList.add('toastifyDisabled');
    } else if (toastifyDisabled && !state.options.cosmetics.toasts.enabled) {
      toastify.classList.remove('toastifyDisabled');
      toastify.classList.add('Toastify');
    }
  };
  var cosmetics = {
    hideFullPageOverlay,
    removeToasts
  };

  const updateStats = () => {
    const controlPanel = document.querySelector('div#theresmore-automation');
    if (controlPanel && reactUtil.getGameData()) {
      controlPanel.querySelector('.legacyCount').innerText = reactUtil.getGameData().LegacyStore.ownedLegacies.length ?? 0;
      controlPanel.querySelector('.lpCount').innerText = (reactUtil.getGameData().run.resources.find(res => res.id === 'legacy') || {
        value: 0
      }).value ?? 0;
    }
  };

  var tasks = {
    calculateTippyTTF,
    calculateTTF,
    addArmyButtons,
    autoClicker,
    autoAncestor,
    autoPrestige,
    autoNGPlus,
    autoDifficulty,
    autoPath,
    managePanel,
    manageOptions,
    manageStyles,
    cosmetics,
    updateStats,
    initCheats
  };

  let mainLoopRunning = false;
  let hideFullPageOverlayInterval;
  const switchScriptState = () => {
    state.scriptPaused = !state.scriptPaused;
    localStorage.set('scriptPaused', state.scriptPaused);
    tasks.managePanel.updatePanel();
    if (!state.scriptPaused) {
      start();
    } else {
      logger({
        msgLevel: 'warn',
        msg: 'Pausing automation'
      });
    }
  };
  const mainLoop = async () => {
    if (mainLoopRunning) {
      setTimeout(mainLoop, 1000);
      return;
    }
    mainLoopRunning = true;
    while (!state.scriptPaused) {
      tasks.cosmetics.removeToasts();
      await tasks.autoPrestige();
      await tasks.autoNGPlus();
      await tasks.autoAncestor();
      await tasks.autoDifficulty();
      await tasks.autoPath();
      const pagesToCheck = [];
      Object.keys(state.options.pages).forEach(page => {
        if (state.options.pages[page].enabled || page === CONSTANTS.PAGES.RESEARCH) {
          if (pages[page]) {
            pagesToCheck.push(page);
          }
          if (state.options.pages[page].subpages) {
            Object.keys(state.options.pages[page].subpages).forEach(subpage => {
              if (state.options.pages[page].subpages[subpage].enabled) {
                if (pages[page + subpage]) {
                  pagesToCheck.push(page + subpage);
                }
              }
            });
          }
        }
      });
      pagesToCheck.sort((a, b) => {
        return state.lastVisited[a] - state.lastVisited[b];
      });
      while (!state.scriptPaused && pagesToCheck.length) {
        const pageToCheck = pagesToCheck.shift();
        if (pages[pageToCheck] && pages[pageToCheck].enabled()) {
          const page = pages[pageToCheck];
          if (page) {
            logger({
              msgLevel: 'debug',
              msg: `Executing page ${page.page} ${page.subpage ? page.subpage : ''} action`
            });
            state.lastVisited[pageToCheck] = new Date().getTime();
            localStorage.set('lastVisited', state.lastVisited);
            try {
              await page.action();
            } catch (e) {
              logger({
                msgLevel: 'error',
                msg: `Error executing page ${page.page} ${page.subpage ? page.subpage : ''} action`
              });
			  logger({
                msgLevel: 'info',
                msg: e.message
              });
            }
            await sleep(200);
          }
        }
      }
      // await sleep(1000);
    }
    mainLoopRunning = false;
  };
  const init = async () => {
    let gameReadyForInit = false;
    while (!gameReadyForInit) {
      if (document.getElementsByTagName('header').length) {
        // Grab the internal MainStore from react
        const el = document.getElementsByTagName('header')[0];
        const fiberKey = Object.keys(el).find(k => k.startsWith('__reactFiber$'));
        if (fiberKey) {
          const fiberNode = el[fiberKey];
          state.MainStore = fiberNode.memoizedProps.children._owner.memoizedProps.MainStore;
          gameReadyForInit = true;
        }
      }
      if (!gameReadyForInit) {
        await sleep(1000, true);
      }
    }
    tasks.manageStyles.appendStyles();
    tasks.managePanel.createPanel(switchScriptState);
    tasks.manageOptions.createPanel(start);
    tasks.managePanel.updatePanel();
    setInterval(tasks.calculateTTF, 100);
    setInterval(tasks.calculateTippyTTF, 100);
    setInterval(tasks.addArmyButtons, 100);
    setInterval(tasks.updateStats, 100);
    await start();
  };
  const start = async () => {
    runMigrations();
    document.querySelector('html').classList.add('dark');
    tasks.managePanel.updatePanel();
    tasks.initCheats();
    if (!state.scriptPaused) {
      logger({
        msgLevel: 'warn',
        msg: 'Starting automation'
      });
      if (!hideFullPageOverlayInterval) {
        clearInterval(hideFullPageOverlayInterval);
        hideFullPageOverlayInterval = setInterval(tasks.cosmetics.hideFullPageOverlay, 500);
		localStorage.remove('manualNG');
      }
      await sleep(2000);
      mainLoop();
      await sleep(1000);
      tasks.autoClicker();
    } else {
      if (!hideFullPageOverlayInterval) {
        clearInterval(hideFullPageOverlayInterval);
      }
    }
  };
  init();

})();
//# sourceMappingURL=bundle.user.js.map