var ExpPack = {};
(function () {	
	/* Topics */
	ExpPack.addTopic = function () {
		GDT.addTopics([
		{
		    id: "Alternate World",
		    name: "虚拟世界".localize("game topic"),
		    genreWeightings: [0.7, 1, 0.9, 1, 0.8, 0.8],
			audienceWeightings: [0.7, 0.9, 1]
		}, {
		    id: "Archery",
		    name: "箭术".localize("game topic"),
		    genreWeightings: [1, 0.6, 0.9, 1, 1, 0.7],
		    audienceWeightings: [0.8, 0.8, 1]
		}, {
		    id: "Assassin",
		    name: "刺客".localize("game topic"),
		    genreWeightings: [1, 0.9, 0.8, 1, 1, 0.6],
		    audienceWeightings: [0.6, 0.7, 1]
		}, {
		    id: "Astronaut",
		    name: "宇航员".localize("game topic"),
		    genreWeightings: [0.8, 1, 0.6, 1, 1, 0.8],
			audienceWeightings: [0.8, 1, 0.8]
		}, {
		    id: "Athletics",
		    name: "田径".localize("game topic"),
		    genreWeightings: [0.8, 0.6, 1, 0.8, 1, 0.9],
			audienceWeightings: [0.8, 1, 0.8]
		}, {
		    id: "Amusement Park",
		    name: "游乐场".localize("game topic"),
		    genreWeightings: [0.7, 0.8, 0.8, 1, 0.8, 0.9],
			audienceWeightings: [0.9, 1, 0.7]
		}, /* B */ {
	    	id: "Baking",
	    	name: "烘焙".localize("game topic"),
	    	genreWeightings: [0.6, 0.6, 0.6, 1, 0.9, 1],
	    	audienceWeightings: [1, 0.9, 0.7]
		}, {
		    id: "Biathlon",
		    name: "冬季两项".localize("game topic"),
		    genreWeightings: [0.8, 1, 0.6, 1, 0.9, 1],
		    audienceWeightings: [0.8, 1, 0.9]
		}, {
			id: "Beat-em-up",
			name: "血腥打斗".localize("game topic"),
			genreWeightings: [1, 0.6, 0.9, 0.6, 0.8, 0.9],
			audienceWeightings: [0.6, 0.8, 1]
		}, {
		    id: "Bobsleigh",
		    name: "雪橇".localize("game topic"),
		    genreWeightings: [1, 0.6, 0.9, 0.8, 0.9, 0.7],
		    audienceWeightings: [0.6, 0.8, 1]
		}, /* C */ {
		    id: "Canoeing",
		    name: "划独木舟".localize("game topic"),
		    genreWeightings: [0.8, 0.9, 1, 0.7, 1, 0.8],
		    audienceWeightings: [0.8, 1, 0.9]
		}, {
		    id: "Card Game",
		    name: "卡牌".localize("game topic"),
		    genreWeightings: [0.6, 0.6, 1, 0.8, 0.9, 1],
		    audienceWeightings: [1, 1, 0.9]
		}, {
		    id: "Cavemen",
		    name: "穴居人".localize("game topic"),
		    genreWeightings: [0.9, 1, 1, 0.6, 0.6, 0.9],
		    audienceWeightings: [1, 1, 0.9]
		}, {
		    id: "Chess",
		    name: "西洋棋".localize("game topic"),
		    genreWeightings: [0.6, 0.6, 0.6, 1, 1, 1],
		    audienceWeightings: [0.6, 1, 0.9]
		}, {
		    id: "Construction",
		    name: "施工".localize("game topic"),
		    genreWeightings: [0.6, 0.6, 0.7, 1, 0.9, 1],
		    audienceWeightings: [1, 0.8, 0.7]
		}, {
		    id: "Crime",
		    name: "犯罪".localize("game topic"),
		    genreWeightings: [1, 0.8, 0.7, 1, 0.7, 0.9],
		    audienceWeightings: [0.6, 0.8, 1]
		}, {
		    id: "Cycling",
		    name: "自行车".localize("game topic"),
		    genreWeightings: [0.9, 1, 0.8, 0.8, 1, 0.9],
		    audienceWeightings: [0.8, 1, 0.9]
		},  /* D */ {
			id: "Dark Fantasy",
			name: "黑暗幻想".localize("game topic"),
			genreWeightings: [1, 0.8, 1, 0.6, 1, 0.6],
			audienceWeightings: [0.6, 0.6, 1]
		}, {
	    	id: "Demons",
	    	name: "恶魔".localize("game topic"),
	    	genreWeightings: [1, 0.8, 1, 0.6, 0.6, 0.6],
	    	audienceWeightings: [0.6, 0.7, 1]
		}, {
	    	id: "Dinosaurs",
	    	name: "恐龙".localize("game topic"),
	    	genreWeightings: [1, 0.9, 0.6, 0.9, 0.7, 0.6],
	    	audienceWeightings: [1, 0.9, 0.7]
		}, {
	    	id: "Doctor",
	    	name: "医生".localize("game topic"),
	    	genreWeightings: [0.6, 0.6, 0.9, 1, 1, 0.7],
	    	audienceWeightings: [0.6, 0.8, 1]
		}, {
			id: "Doomsday",
			name: "末日".localize("game topic"),
			genreWeightings: [1, 1, 0.8, 0.6, 0.7, 0.6],
			audienceWeightings: [0.6, 0.7, 1]
		}, /* E */ {
		    id: "E-Sports",
		    name: "电子竞技".localize("game topic"),
		    genreWeightings: [1, 0.6, 1, 1, 1, 0.6],
		    audienceWeightings: [1, 1, 1]
		}, {
		    id: "Educational",
		    name: "教育".localize("game topic"),
		    genreWeightings: [0.6, 0.6, 0.6, 1, 0.8, 1],
		    audienceWeightings: [1, 0.8, 0.6]
		}, /* F */ {
		    id: "Fairy Tale",
		    name: "童话".localize("game topic"),
		    genreWeightings: [0.8, 1, 0.8, 0.8, 0.6, 1],
		    audienceWeightings: [1, 0.8, 0.6]
		}, {
		    id: "Fishing",
		    name: "垂钓".localize("game topic"),
		    genreWeightings: [0.6, 0.7, 0.9, 1, 1, 0.8],
		    audienceWeightings: [0.7, 1, 0.9]
		}, {
		    id: "Football",
		    name: "足球".localize("game topic"),
		    genreWeightings: [1, 0.7, 1, 0.8, 1, 0.9],
		    audienceWeightings: [0.9, 1, 0.9]
		}, {
		    id: "Formula 1",
		    name: "一级方程式".localize("game topic"),
		    genreWeightings: [1, 0.8, 0.8, 0.8, 1, 1],
		    audienceWeightings: [0.7, 1, 1]
		}, /* G */ {
		    id: "Ghosts",
		    name: "幽灵".localize("game topic"),
		    genreWeightings: [0.8, 1, 0.9, 0.6, 0.6, 0.8],
		    audienceWeightings: [1, 0.8, 0.9]
		}, {
		    id: "Goblin",
		    name: "哥布林".localize("game topic"),
		    genreWeightings: [0.9, 1, 1, 0.8, 0.6, 1],
		    audienceWeightings: [0.9, 1, 0.9]
		}, {
		    id: "Gods",
		    name: "神".localize("game topic"),
		    genreWeightings: [1, 1, 1, 0.7, 0.8, 0.6],
		    audienceWeightings: [0.7, 1, 0.9]
		}, /* H */ {
		    id: "Hide and Seek",
		    name: "捉迷藏".localize("game topic"),
		    genreWeightings: [0.6, 1, 0.7, 0.8, 0.7, 1],
		    audienceWeightings: [1, 0.9, 0.6]
		}, {
		    id: "Hockey",
		    name: "曲棍球".localize("game topic"),
		    genreWeightings: [0.8, 0.6, 0.7, 1, 1, 0.7],
		    audienceWeightings: [0.9, 1, 0.9]
		}, {
		    id: "Horse Racing",
		    name: "马术".localize("game topic"),
		    genreWeightings: [1, 0.7, 0.9, 0.8, 1, 0.7],
		    audienceWeightings: [0.7, 0.8, 1]
		}, {
			id: "Hotel",
			name: "酒店".localize("game topic"),
			genreWeightings: [0.7, 0.8, 0.7, 1, 0.8, 0.9],
			audienceWeightings: [0.9, 1, 0.8]
		}, /* I */ {
		    id: "Ice Hockey",
		    name: "冰球".localize("game topic"),
		    genreWeightings: [1, 0.6, 0.9, 0.8, 1, 0.7],
		    audienceWeightings: [0.8, 0.9, 1]
		}, /* J */ {
		    id: "Judo",
		    name: "柔道".localize("game topic"),
		    genreWeightings: [1, 0.6, 0.8, 1, 1, 0.7],
		    audienceWeightings: [0.7, 1, 1]
		}, /* K */ {
		    id: "Karate",
		    name: "空手道".localize("game topic"),
		    genreWeightings: [1, 0.7, 1, 0.7, 1, 0.7],
		    audienceWeightings: [0.7, 0.9, 1]
		}, /* M */ {
	    	id: "Maze",
	    	name: "迷宫".localize("game topic"),
	    	genreWeightings: [0.8, 0.8, 0.9, 1, 0.9, 1],
	    	audienceWeightings: [0.8, 1, 0.9]
		}, {
	    	id: "Mining",
	    	name: "采矿业".localize("game topic"),
	    	genreWeightings: [0.8, 1, 0.9, 0.8, 0.7, 1],
	    	audienceWeightings: [1, 0.9, 0.7]
		}, {
		    id: "Motorcross",
		    name: "越野".localize("game topic"),
		    genreWeightings: [1, 1, 0.8, 0.6, 0.9, 0.7],
		    audienceWeightings: [0.8, 0.9, 1]
		}, {
			id: "Modern",
			name: "现在".localize("game topic"),
			genreWeightings: [1, 0.8, 0.6, 0.6, 0.8, 0.6],
			audienceWeightings: [0.7, 0.9, 1]
		}, {
		    id: "Mummies",
		    name: "木乃伊".localize("game topic"),
		    genreWeightings: [1, 1, 0.7, 0.7, 0.7, 1],
		    audienceWeightings: [0.7, 1, 0.8]
		}, /* P */ {
	    	id: "Parkour",
	    	name: "跑酷".localize("game topic"),
	    	genreWeightings: [1, 1, 0.7, 1, 0.9, 0.6],
	    	audienceWeightings: [0.7, 0.9, 1]
		}, {
	    	id: "Police",
	    	name: "警察".localize("game topic"),
	    	genreWeightings: [1, 0.9, 0.7, 0.9, 0.7, 0.6],
	    	audienceWeightings: [0.9, 1, 0.7]
		}, {
	    	id: "Politics",
	    	name: "政治".localize("game topic"),
	    	genreWeightings: [0.6, 0.6, 0.8, 1, 1, 0.7],
	    	audienceWeightings: [0.6, 0.8, 1],
	    	missionOverrides: [
			[0, 0, 0, 1, 0.8, 0.9, 0, 0, 0],
			[0, 0, 0, 0, 0, 0, 0, 0, 0],
			[0, 0, 0, 0, 0, 0, 0, 0, 0],
			[0.8, 0.9, 1, 1, 0.8, 0.9, 1, 0.9, 0.8],
			[0, 0, 0, 0, 0, 0, 0, 0, 0],
			[0, 0, 0, 1, 0.9, 0, 0, 0, 0]
			]
		}, {
	    	id: "Puzzle",
	    	name: "谜题".localize("game topic"),
	    	genreWeightings: [0.8, 1, 0.6, 0.7, 1, 1],
	    	audienceWeightings: [1, 1, 0.9]
	    }, /* R */ {
			id: "Robot",
			name: "机器人".localize("game topic"),
			genreWeightings: [1, 0.8, 0.8, 0.7, 1, 0.9],
			audienceWeightings: [1, 0.9, 0.8]
		}, {
			id: "Rugby",
			name: "橄榄球".localize("game topic"),
			genreWeightings: [1, 0.7, 1, 0.7, 1, 0.7],
			audienceWeightings: [0.7, 0.9, 1]
		}, {
			id: "Restaurant",
			name: "餐厅".localize("game topic"),
			genreWeightings: [0.7, 0.8, 0.7, 1, 0.8, 0.9],
			audienceWeightings: [0.9, 1, 0.7]
		}, /* S */ {
		    id: "Sailing",
		    name: "帆船".localize("game topic"),
		    genreWeightings: [0.8, 1, 0.9, 0.9, 1, 0.8],
		    audienceWeightings: [0.7, 1, 0.8]
		}, {
			id: "Samurais",
			name: "日本武士".localize("game topic"),
			genreWeightings: [1, 0.7, 0.9, 0.7, 0.9, 0.6],
			audienceWeightings: [0.7, 0.9, 1]
		}, {
			id: "Science",
			name: "科学".localize("game topic"),
			genreWeightings: [0.6, 0.6, 0.7, 1, 1, 0.8],
			audienceWeightings: [0.8, 1, 0.9]
		}, {
		    id: "Skiing",
		    name: "滑雪".localize("game topic"),
		    genreWeightings: [1, 0.9, 0.9, 0.8, 1, 0.7],
		    audienceWeightings: [0.8, 1, 0.8]
		}, {
		    id: "Surfing",
		    name: "冲浪".localize("game topic"),
		    genreWeightings: [1, 0.9, 0.9, 0.8, 1, 0.8],
		    audienceWeightings: [0.8, 1, 0.7]
		}, {
		    id: "Survival",
		    name: "求生".localize("game topic"),
		    genreWeightings: [0.9, 1, 1, 0.8, 1, 0.6],
		    audienceWeightings: [0.8, 1, 0.9]
		}, {
		    id: "Swimming",
		    name: "游泳".localize("game topic"),
		    genreWeightings: [0.8, 0.9, 1, 0.7, 1, 1],
		    audienceWeightings: [0.8, 1, 0.9]
		}, {
		    id: "Super Star",
		    name: "明星".localize("game topic"),
		    genreWeightings: [0.6, 0.8, 0.7, 1, 0.8, 1],
		    audienceWeightings: [0.9, 1, 0.7]
		}, /* T */ {
		    id: "Table Tennis",
		    name: "乒乓球".localize("game topic"),
		    genreWeightings: [0.8, 0.9,0.8, 1, 1, 0.8],
		    audienceWeightings: [0.8, 1, 0.9]
		}, {
		    id: "Tennis",
		    name: "网球".localize("game topic"),
		    genreWeightings: [1, 0.9, 0.8, 0.8, 1, 0.9],
		    audienceWeightings: [0.8, 1, 0.9]
		}, {
  			id: "Tower Defense",
   			name: "塔防".localize("game topic"),
   			genreWeightings: [1, 0.7, 0.6, 0.9, 1, 0.7],
   			audienceWeightings: [0.6, 1, 0.8]

		}, /* W */ {
			id: "Wrestling",
			name: "摔角".localize("game topic"),
			genreWeightings: [1, 0.6, 0.9, 0.8, 1, 0.7],
			audienceWeightings: [0.6, 0.9, 1]
		}]);
	};
	/*  */    
	
	/* Platforms */
	
	/* Grapple */
	ExpPack.addPlatformGrapintosh = function () {
		var icon = './mods/ExpansionPack/source/img/Grapple.png';
		GDT.addPlatform(
			{
				id: 'Grapintosh',
				name: 'Grapintosh',
				company: 'Grapple',
				startAmount: 0.351,
				unitsSold: 0.534,
				marketKeyPoints: [{date: "2/3/2",amount: 0.215}, {date: "5/7/4",amount: 0.478}, {date: "11/9/3",amount: 0.738}],
				licencePrize: 20000,
				published: '1/7/4',
				platformRetireDate: '4/6/2',
				developmentCosts: 25000,
				genreWeightings: [1, 0.8, 0.9, 1, 1, 0.7],
				audienceWeightings: [0.8, 0.9, 1],
				techLevel: 1,
				iconUri: icon,
				events: [
					{
						id: '12111996-0000-0000-0000-DZJENGISKHAN',
						date: '1/5/1',
						getNotification: function (company) {
							return new Notification({
								header: "行业新闻".localize(),
								text: "今天，一个新的硬件开发厂商Grapple公布了其最新开\n发的电子计算机，名为Grapintosh。Grapintosh使用的\n是一款名为Grap OS的操作系统。虽然这个在这个新的\n平台上开发游戏有点贵，但是Grapple说如果你要想把\n你的资金用在正确的地方，Grapintosh绝对是个不错的\n选择。 Grapintosh将于{0}开始发售。".localize().format(General.getETADescription('1/5/1', '1/7/4')),
								image: icon
							});
						}
					}
				]
			});
	};
	
	ExpPack.addPlatformGrMac = function () {
		var icon = './mods/ExpansionPack/source/img/Grapple.png';		
		GDT.addPlatform(
			{
				id: '12111996-0000-0000-0001-DZJENGISKHAN',
				name: 'grMac',
				company: 'Grapple',
				startAmount: 2.6,
				unitsSold: 6.434,
				licencePrize: 40000,
				published: '16/8/1',
				platformRetireDate: '260/12/4',
				developmentCosts: 500,
				genreWeightings: [1, 0.9, 1, 1, 1, 0.8],
				audienceWeightings: [0.8, 0.9, 1],
				techLevel: 6,
				iconUri: icon,
				events: [
					{
						id: '12111996-1111-0000-0001-DZJENGISKHAN',
						date: '16/5/4',
						getNotification: function (company) {
							return new Notification({
								header: "行业新闻".localize(),
								text: "作为Grapintosh这款成功的电脑的开发者，Grapple宣\n布其开发的一个新的平台，名为GrMac。Grapple 把所有\n硬件组合在屏幕后，并称之为‘一体机’。{n}事实上这种计算机的硬件非常紧凑，但却不影响这款电\n脑的性能。\n消息称grMac将于 {0} 发布".localize().format(General.getETADescription('16/5/4', '16/8/1')),
								image: icon
							});
						}
					}
				]
			});
	};
	/*  */

	/* Itara */
	ExpPack.addPlatformItaraBackflash = function () {
		var icon = './mods/ExpansionPack/source/img/Itara.png';
		GDT.addPlatform(
			{
				id: '31102000-2-1-4-1-LINELIAR',
				name: 'Itara Backflash',
				company: 'Itara',
				startAmount: 1.3,
				unitsSold: 4.2,
				licencePrize: 150000,
				published: '12/11/3',
				platformRetireDate: '16/1/2',
				developmentCosts: 125000,
				genreWeightings: [0.8, 1, 0.6, 0.7, 1, 0.6],
				audienceWeightings: [0.8, 1, 0.7],
				techLevel: 2,
				iconUri: icon,
				events: [
					{
						id: '31102000-2-1-4-1-1-LINELIAR',
						date: '12/7/3',
						getNotification: function (company) {
							return new Notification({
								header: "行业新闻".localize(),
								text: "活跃在早期的游戏机市场的Itara，今天发布消息表示他\n们即将发布一款新的游戏主机名为 Itara Backflash。{n} 这款游戏机发布之后将会和TES这样的游戏机展开竞争。\nItara还表示他们预计Backflash将会取得非常好的成\n绩。{n} Itara Flashback 将会于 {0} 发布.".localize().format(General.getETADescription('12/7/3', '12/11/3')),
								image: icon
							});
						}
					}
				]
			});
	};
	/*  */
	
	/* Ninvento */	
	ExpPack.addPlatform3GS = function () {			
		var icon = './mods/ExpansionPack/source/img/3GS.png';
		GDT.addPlatform(
			{
				id: '12111996-0000-0001-0000-DZJENGISKHAN',
				name: '3GS',
				company: 'Ninvento',
				startAmount: 1.5,
				unitsSold: 3.582,
				licencePrize: 100000,
				published: '21/9/3',
				platformRetireDate: '24/5/1',
				developmentCosts: 80000,
				genreWeightings: [0.7, 1, 0.8, 1, 0.6, 1],
				audienceWeightings: [0.9, 1, 0.6],
				techLevel: 4,
				iconUri: icon,
				events: [
					{
						id: '12111996-1111-0001-0000-DZJENGISKHAN',
						date: '21/5/1',
						getNotification: function (company) {
							return new Notification({
								header: "Industry News".localize(),
								text: "因GS名扬四海的Ninvento于今天发布消息称，他们正准\n备发布一款新的掌上游戏机名为3GS。消息指出，这款掌\n上游戏机成为市场上第一款拥有3D画面的掌上游戏机。{n} Ninvento 表示3GS将于 {0} 发布。".localize().format(General.getETADescription('21/5/1', '21/9/3')),
								image: icon
							});
						}
					}
				]
			});
	};
			
	ExpPack.addPlatform2GS = function () {		
		var icon = './mods/ExpansionPack/source/img/2GS.png';
		GDT.addPlatform(
			{
				id: '12111996-0000-0001-0001-DZJENGISKHAN',
				name: '2GS',
				company: 'Ninvento',
				startAmount: 2.125,
				unitsSold: 3.634,
				licencePrize: 250000,
				published: '21/4/2',
				platformRetireDate: '29/2/1',
				developmentCosts: 150000,
				genreWeightings: [0.7, 0.8, 0.9, 1, 0.6, 1],
				audienceWeightings: [1, 0.8, 0.6],
				techLevel: 5,
				iconUri: icon,
				events: [
					{
						id: '12111996-1111-0001-0001-DZJENGISKHAN',
						date: '21/1/4',
						getNotification: function (company) {
							return new Notification({
								header: "行业新闻".localize(),
								text: "Ninvento在今天发布了一款新的掌上游戏机，3GS的继承者，2DS。尽管2GS\n有着和3GS相同的机械学原理，但是其更加先进的画面\n性能也给玩家带来更好的游戏体验。据闻 2GS 将于 {0} \n发布。".localize().format(General.getETADescription('21/1/4', '21/4/2')),
								image: icon
							});
						}
					}
				]
			});
	};
	
	ExpPack.addPlatformGamelingColor = function () {
		var gameling = Platforms.allPlatforms.first(function(p){return p.id == 'Gameling';});
		if (gameling){
			gameling.platformRetireDate = '10/4/2';
		}
		
		var icon = './mods/ExpansionPack/source/img/gamelingColor.png';
		GDT.addPlatform(
			{
				id: '12111996-0000-0001-0010-DZJENGISKHAN',
				name: 'Gameling Color',
				company: 'Ninvento',
				startAmount: 0.7,
				unitsSold: 0.854,
				licencePrize: 15000,
				published: '9/11/2',
				platformRetireDate: '15/2/1',
				developmentCosts: 80000,
				genreWeightings: [0.7, 0.9, 1, 0.9, 0.6, 1],
				audienceWeightings: [1, 0.8, 0.6],
				techLevel: 3,
				iconUri: icon,
				events: [
					{
						id: '12111996-1111-0001-0010-DZJENGISKHAN',
						date: '9/8/4',
						getNotification: function (company) {
							return new Notification({
								header: "行业新闻".localize(),
								text: "Ninvento发布了其最新名为 Gameling Color的游\n戏机！就像它的名字一样，它是又一款掌上游戏机，有\n着160x144的分辨率和超过3万的色数。{n} 我们不知道它会不会比Gameling更加成功，但是我们都\n等不及了！ \n Ninvento称Gameling Color 将于 {0} 发布".localize().format(General.getETADescription('9/8/4', '9/11/2')),
								image: icon
							});
						}
					}
				]
			});
	};
	/*  */
	
	/* Vonny */
	ExpPack.addPlatformViva = function () {		
		var icon = './mods/ExpansionPack/source/img/vivaPlaysystem.png';
		GDT.addPlatform(
			{
				id: '12111996-0000-0010-0000-DZJENGISKHAN',
				name: 'Viva Playsystem',
				company: 'Vonny',
				startAmount: 4.635,
				unitsSold: 5.430,
				licencePrize: 750000,
				published: '22/6/2',
				platformRetireDate: '29/2/1',
				developmentCosts: 300000,
				genreWeightings: [0.7, 0.8, 0.9, 1, 0.6, 1],
				audienceWeightings: [1, 0.8, 0.6],
				techLevel: 6,
				iconUri: icon,
				events: [
					{
						id: '12111996-1111-0010-0001-DZJENGISKHAN',
						date: '22/3/4',
						getNotification: function (company) {
							return new Notification({
								header: "行业新闻".localize(),
								text: "PPS的开发公司Vony承认了最近流传甚广的消息，称他\n们正在开发一款新的游戏机名为Viva Playsystem，简称\nVPS。{n} 他们并没有放出更多有关这款游戏机的消息，但他们表\n示VPS将于 {0} 发布。".localize().format(General.getETADescription('22/3/4', '22/6/2')), /*'22/3/4', '22/6/2'*/
								image: icon
							});
						}
					}
				]
			});
	};
	/*  */
	
	/* Events */
	ExpPack.addEventCuriosity = function () {
		var eventId = "12111996-0001-0000-0001-DZJENGISKHAN";
		
		var fanCuriosity = {
			id: eventId,
			isRandom: true,
			maxTriggers: 1,
			trigger: function (company) {
				
				return company.currentLevel == 3 && company.isGameProgressBetween(0.2, 0.9);
			},
			getNotification: function (company) {
				var game = company.currentGame;

				var msg = "老板，我们公司的粉丝不知道从哪里得知我们正在\n开发 {0}，\n问我们这款游戏是怎么样的一款游戏。我们可以全盘托\n出，从而让这款游戏先火起来。我们也可以有选择性地\n告诉他们一点点信息，甚至可以什么都不说，不过这样\n可能会让他们失望，希望要不失去一些粉丝的支持才好。"
					.localize().format(game.title);
				return new Notification({
					sourceId: eventId,
					header: "告诉他们吗？".localize(),
					text: msg,
					options: ["他们想知道什么就告诉他们什么!", "透露一点点消息", "什么都不说!"]
				});
			},
			complete: function (decision) {
				var company = GameManager.company;

				if (decision === 0) {
					var n = new Notification({
						header: "你把粉丝们想知道的信息都告诉他们了".localize(),
						text: "粉丝们对你透露的信息感到非常兴奋，甚至不断地把消\n息越传越广。"
					});
					n.adjustHype(5 + 6 * company.getRandom());
		
					company.activeNotifications.addRange(n.split());
					return;
				}
				if (decision === 1) {
					var n = new Notification({
						header: "你只透露了一点点消息".localize(),
						text: "粉丝们对你透露的信息感到非常兴奋，但是他们想要知\n道的不仅仅是这些。"
					});
					n.adjustHype(5 + 3 * company.getRandom());
					return;
				}
				if (decision === 2) {
					var n = new Notification({
						header: "你什么都没有说".localize(),
						text: "粉丝们感到沮丧:("
					});
					return;
				}
			}
		};
		GDT.addEvent(fanCuriosity);
	};
	
	ExpPack.addEventVac = function () {
		var eventId = "12111996-0001-0000-0010-DZJENGISKHAN";
			
		var vacuumCleaner = {
			id: eventId,
			isRandom: true,
			maxTriggers: 1,
			trigger: function (company) {
				
				return company.currentLevel == 1 && company.isGameProgressBetween(0.6, 0.9);
			},
		getNotification: function (company) {
				var game = company.currentGame;
	
				var msg = "当你正在车库埋头认真地开发着你的游戏的时候，你听\n到有人敲门。打开门后，你发现原来是一个想向你推销\n吸尘器的男人。\n\n你想要以3K的价格购买这个吸尘器吗？"
					.localize().format(game.title);
				return new Notification({
					sourceId: eventId,
					header: "吸尘器".localize(),
					text: msg,
					options: ["就买吧！", "请他离开", "骂他一顿"]
				});
			},
			complete: function (decision) {
				var company = GameManager.company;
	
				if (decision === 0) {
					var n = new Notification({
						header: "吸尘器".localize(),
						text: "你以3K的价格买下了这个吸尘器。但貌似那个推销吸尘\n器的男人看到了你在做什么。如果他大肆宣扬的话..."
					});
				
					n.adjustHype(1 + 10 * company.getRandom());
					n.adjustCash(-3000, "Vacuum Cleaner");
					
					company.activeNotifications.addRange(n.split());
					return;
				}
				if (decision === 1) {
					var n = new Notification({
						header: "又是我啦！".localize(),
						text: "‘嘿，我回来啦。’那个男人说。这次他说服你以8K\n的价格买下了这个吸尘器。"
					});
					n.adjustCash(-5000, "Vacuum Cleaner");
					company.notifications.push(n);
					return;
				}
				if (decision === 2) {
					var n = new Notification({
						header: "吸尘器".localize(),
						text: "那个男人说：‘别以为你躲在车库我就不知道你在干什么，\n这里是你的公司，你在这里开发游戏！我说得没错吧！\n我这就去抹黑你！你给我小心点！’"
					});
					n.adjustHype(15 + 25 * company.getRandom());
					company.activeNotifications.addRange(n.split());
					return;
				}
			}
		};
		GDT.addEvent(vacuumCleaner);
	};
	
	ExpPack.addEventMovieGame = function () {
		var eventId = "12111996-0001-0000-0100-DZJENGISKHAN";

		var movieGame = {
			id: eventId,
			isRandom: true,
			maxTriggers: 1,
			trigger: function (company) {
				return (company.currenLevel == 3 || company.currentLevel == 4) && company.isGameProgressBetween(0.5, 0.9);
			},
			getNotification: function (company) {
				var game = company.currentGame;

				var msg = "老板，一个电影导演来找我们，是想给我们开发的游戏\n《{0}》制作\n一部电影。\n如果我们同意的话，这估计会使这个游戏火起来，但制作一部电影需要支付不少钱，可能会上千万甚至上亿呢！"
					.localize().format(game.title);

				return new Notification({
					sourceId: eventId,
					header: "制作电影".localize(),
					text: msg,
					options: ["签订投资合同", "不要投资！"]
				});
			},
			complete: function (decision) {
				var company = GameManager.company;

				if (decision === 0) {
					var n = new Notification({
						header: "投资给游戏拍电影！".localize(),
						text: "这个电影受到了各界的好评，不仅我们的游戏火起来，我们还获得不少粉丝呢!"
					});
					n.adjustHype(75 + 555 * company.getRandom());
					n.adjustFans(2500 + 25000 * company.getRandom());
					n.adjustCash(-10000000 + -200000000 * company.getRandom(), "投资拍电影");

					company.activeNotifications.addRange(n.split());
					return;
				}
				if (decision === 1) {
					var n = new Notification({
						header: "没有投资拍电影".localize(),
						text: "你拒绝了这个提议，一切都回到正常。但说不定以后还有合作的机会？",
					});
					return;
				}
			}
		};

		GDT.addEvent(movieGame);
	};
	
	ExpPack.addEventFire = function () {
		var eventId = "12111996-0001-0000-0101-DZJENGISKHAN";

		var fire = {
			id: eventId,
			isRandom: true,
			maxTriggers: 1,
			trigger: function (company) {
				return company.currentLevel == 3 && company.isGameProgressBetween(0.5, 0.9);
			},
			getNotification: function (company) {
				var game = company.currentGame;

				var msg = "‘救命！公司发生了火灾，我们要立即逃命！’{n} .... 当人人都逃走的时候，\n你召集一些员工一起把火扑灭了。然后你看了看办公室\n里面，幸亏发现得早，造成损失并不严重，不过有些机\n器被烧坏了。"
					.localize().format(game.title);

				return new Notification({
					sourceId: eventId,
					header: "办公室失火了！".localize(),
					text: msg,
					options: ["修好所有的东西....."]
				});
			},
			complete: function (decision) {
				var company = GameManager.company;

				if (decision === 0) {
					var n = new Notification({
						header: "修好东西".localize(),
						text: "你成功保住了正在开发的游戏资源，但是公司设备的折\n损倒是有点贵。这个游戏最好能把这些钱赚回来。"
					});
					n.adjustCash(-15000 + -20000 * company.getRandom(), "火灾损失");

					company.activeNotifications.addRange(n.split());
					return;
				}
			}
		};

		GDT.addEvent(fire);
	};

	ExpPack.addEventSalesChannels1 = function () {
		var eventId = "12111996-0001-0000-0000-SWIRLYIP0001";
		
		var SalesChannels1 = {
			id: eventId,
			isRandom: false,
			maxTriggers: 9999,
			trigger: function (company) {
				
				return company.currentLevel == 1 && company.isGameProgressBetween(0.8, 0.81);
			},
			getNotification: function (company) {
				var game = company.currentGame;

				var msg = "眼下你就要完成公司的新作{0}了，\n接下来当然是发售了，在发售之前，你还需要选择选择\n相应的销售渠道。\n游戏进行到不同阶段将出现不同的销售渠道。\n\n在下决定之前请务必谨慎考虑，选择了销售渠道之后就\n没有再选择的机会了。{n}万事开头难，如果你没有钱，就只能亲自包装游戏并对\n外销售了。\n\n你也可以找天际游戏代理公司，对你的游戏进行代理，\n但是包装费和代理费是要付钱的。"
					.localize().format(game.title);
				return new Notification({
					sourceId: eventId,
					header: "销售渠道".localize(),
					text: msg,
					options: ["自己进行包装和销售", "找天际游戏代理公司代理你的游戏"]
				});
			},
			complete: function (decision) {
				var company = GameManager.company;

				if (decision === 0) {
					var n = new Notification({
						header: "自己进行包装和销售".localize(),
						text: "你决定自己进行包装和销售，希望辛苦不会白费吧！"
					});
					n.adjustFans(1 + 10 * company.getRandom());

					company.activeNotifications.addRange(n.split());
					return;
				}
				if (decision === 1) {
					var n = new Notification({
						header: "找天际游戏代理公司代理你的游戏".localize(),
						text: "对于天际游戏代理公司来说，几千不算是多少钱，\n但是你也是这样认为的吗？？"
					});
					n.adjustCash(-4000 + -7000 * company.getRandom(), "销售渠道");
					n.adjustHype(5 + 20 * company.getRandom());
					n.adjustFans(50 + 100 * company.getRandom());
					
					company.activeNotifications.addRange(n.split());
					return;
				}
			}
		};
		GDT.addEvent(SalesChannels1);
	};
	
	ExpPack.addEventSalesChannels2 = function () {
		var eventId = "12111996-0001-0000-0000-SWIRLYIP0002";
		
		var SalesChannels2 = {
			id: eventId,
			isRandom: false,
			maxTriggers: 9999,
			trigger: function (company) {
				
				return company.currentLevel == 2 && company.isGameProgressBetween(0.8, 0.81);
			},
			getNotification: function (company) {
				var game = company.currentGame;

				var msg = "眼下你就要完成公司的新作{0}了，\n接下来当然是发售了，在发售之前，你还需要选择选择\n相应的销售渠道。\n游戏进行到不同阶段将出现不同的销售渠道。\n\n在下决定之前请务必谨慎考虑，选择了销售渠道之后就\n没有再选择的机会了。{n}你仍然可以选择自己进行包装，自己拿去销售，但是相\n信你已经积累到一定的资金了，除非真的缺钱，不然还\n是不太建议亲力亲为。毕竟从包装到销售都自己搞定的\n话，效率是多低啊...\n\n在之前与天际游戏代理公司的合作中你发展得不错，你\n可以和这个公司继续合作。基于你的公司的实力和你们\n两家公司之间的良好关系，天际游戏代理公司同意给你\n更加优异的代理服务。但是同时收费也不便宜了。"
					.localize().format(game.title);
				return new Notification({
					sourceId: eventId,
					header: "销售渠道".localize(),
					text: msg,
					options: ["自己进行包装和销售", "找天际游戏代理公司代理你的游戏"]
				});
			},
			complete: function (decision) {
				var company = GameManager.company;

				if (decision === 0) {
					var n = new Notification({
						header: "在《天际大漩涡游戏网》发布".localize(),
						text: "你决定在《天际大漩涡游戏网》发布你的新作，希望\n收到应有的成效吧！"
					});
					n.adjustHype(1 + 10 * company.getRandom());

					company.activeNotifications.addRange(n.split());
					return;
				}
				if (decision === 1) {
					var n = new Notification({
						header: "找天际游戏代理公司代理你的游戏".localize(),
						text: "你决定找天际游戏代理公司代理你的游戏，相信会收到\n不错的成效。"
					});
					n.adjustCash(-10000 + -35000 * company.getRandom(), "销售渠道");
					n.adjustHype(25 + 100 * company.getRandom());
					n.adjustFans(100 + 2500 * company.getRandom());

					company.activeNotifications.addRange(n.split());
					return;
				}
			}
		};
		GDT.addEvent(SalesChannels2);
	};	
	
	ExpPack.addEventSalesChannels3 = function () {
		var eventId = "12111996-0001-0000-0000-SWIRLYIP0003";
		
		var SalesChannels3 = {
			id: eventId,
			isRandom: false,
			maxTriggers: 9999,
			trigger: function (company) {
				
				return company.currentLevel == 3 && company.isGameProgressBetween(0.8, 0.81);
			},
			getNotification: function (company) {
				var game = company.currentGame;

				var msg = "眼下你就要完成公司的新作{0}了，\n接下来当然是发售了，在发售之前，你还需要选择选择\n相应的销售渠道。\n游戏进行到不同阶段将出现不同的销售渠道。\n\n在下决定之前请务必谨慎考虑，选择了销售渠道之后就\n没有再选择的机会了。{n}你仍然可以选择自己进行包装，自己拿去销售，但是相\n信你已经积累到一定的资金了，除非真的缺钱，不然还\n是不太建议亲力亲为。毕竟从包装到销售都自己搞定的\n话，效率是多低啊...\n\n在之前与天际游戏代理公司的合作中你发展得不错，你\n可以和这个公司继续合作。基于你的公司的实力和你们\n两家公司之间的良好关系，天际游戏代理公司同意与你\n继续保持合作。\n\n作为新兴的游戏平台，真气猪游戏平台集网上销售、平\n台对战、联机游戏等功能于一身，正蓬勃发展着。"
					.localize().format(game.title);
				return new Notification({
					sourceId: eventId,
					header: "销售渠道".localize(),
					text: msg,
					options: ["自己进行包装和销售", "找天际游戏代理公司代理你的游戏", "真气猪游戏平台"]
				});
			},
			complete: function (decision) {
				var company = GameManager.company;

				if (decision === 0) {
					var n = new Notification({
						header: "在《天际大漩涡游戏网》发布".localize(),
						text: "你决定在《天际大漩涡游戏网》发布你的新作，希望\n收到应有的成效吧！"
					});
					n.adjustHype(1 + 10 * company.getRandom());

					company.activeNotifications.addRange(n.split());
					return;
				}
				if (decision === 1) {
					var n = new Notification({
						header: "找天际游戏代理公司代理你的游戏".localize(),
						text: "你决定找天际游戏代理公司代理你的游戏，相信会收到\n不错的成效。"
					});
					n.adjustCash(-12000 + -45000 * company.getRandom(), "销售渠道");
					n.adjustHype(25 + 150 * company.getRandom());
					n.adjustFans(150 + 3500 * company.getRandom());

					company.activeNotifications.addRange(n.split());
					return;
				}
				if (decision === 2) {
					var n = new Notification({
						header: "在真气猪游戏平台发布游戏".localize(),
						text: "你决定找真气猪游戏平台试试，真等不及想看看结果呢。"
					});
					n.adjustCash(-1000 + -5000 * company.getRandom(), "销售渠道");
					n.adjustHype(35 + 2000 * company.getRandom());
					n.adjustFans(100 + 25000 * company.getRandom());

					company.activeNotifications.addRange(n.split());
					return;
				}
			}
		};
		GDT.addEvent(SalesChannels3);
	};	
	
	ExpPack.addEventSalesChannels4 = function () {
		var eventId = "12111996-0001-0000-0000-SWIRLYIP0004";
		
		var SalesChannels4 = {
			id: eventId,
			isRandom: false,
			maxTriggers: 9999,
			trigger: function (company) {
				
				return company.currentLevel == 4 && company.isGameProgressBetween(0.8, 0.81);
			},
			getNotification: function (company) {
				var game = company.currentGame;

				var msg = "眼下你就要完成公司的新作{0}了，\n接下来当然是发售了，在发售之前，你还需要选择选择\n相应的销售渠道。\n游戏进行到不同阶段将出现不同的销售渠道。\n\n在下决定之前请务必谨慎考虑，选择了销售渠道之后就\n没有再选择的机会了。{n}你仍然可以选择自己进行包装和销售，但是你已经有自\n己的市场部门，所以自行发售游戏绝对不再是坏事了。\n\n在之前与天际游戏代理公司的合作中你发展得不错，你\n可以和这个公司继续合作。基于你的公司的实力和你们\n两家公司之间的良好关系，天际游戏代理公司同意与你\n保持合作。\n\n经过长时间的发展，真气猪游戏平台已经成为全世界最多玩家的游戏平台，基本上没有游戏是不在这个平台发布游戏的了。真气猪同意与你进行更深入的合作。"
					.localize().format(game.title);
				return new Notification({
					sourceId: eventId,
					header: "销售渠道".localize(),
					text: msg,
					options: ["交给公司的市场部", "找天际游戏代理公司代理你的游戏", "真气猪游戏平台"]
				});
			},
			complete: function (decision) {
				var company = GameManager.company;

				if (decision === 0) {
					var n = new Notification({
						header: "交给公司的市场部".localize(),
						text: "你决定在自行发布你的新作，让我们看看结果如何吧！"
					});
					n.adjustHype(5 + 350 * company.getRandom());
					n.adjustFans(1000 + 25000 * company.getRandom());

					company.activeNotifications.addRange(n.split());
					return;
				}
				if (decision === 1) {
					var n = new Notification({
						header: "找天际游戏代理公司代理你的游戏".localize(),
						text: "你决定找天际游戏代理公司代理你的游戏，相信会收到\n不错的成效。"
					});
					n.adjustCash(-20000 + -50000 * company.getRandom(), "销售渠道");
					n.adjustHype(35 + 200 * company.getRandom());
					n.adjustFans(500 + 32500 * company.getRandom());

					company.activeNotifications.addRange(n.split());
					return;
				}
				if (decision === 2) {
					var n = new Notification({
						header: "在真气猪游戏平台发布游戏".localize(),
						text: "你决定在真气猪游戏平台发布你的游戏，结果应该会不错。"
					});
					n.adjustCash(-50000 + -150000 * company.getRandom(), "销售渠道");
					n.adjustHype(135 + 300 * company.getRandom());
					n.adjustFans(1500 + 15500 * company.getRandom());

					company.activeNotifications.addRange(n.split());
					return;
				}
			}
		};
		GDT.addEvent(SalesChannels4);
	};		
	
	ExpPack.addEventBilly = function () {
		var eventId = "12111996-0001-0000-0011-DZJENGISKHAN";

		var billyBrakeIn = {
			id: eventId,
			isRandom: true,
			maxTriggers: 1,
			trigger: function (company) {
				return company.currenLevel == 1 && company.isGameProgressBetween(0.2, 0.9);
			},
			getNotification: function (company) {
				var game = company.currentGame;

				var msg = "邻居家的孩子正在讨论着你正在开发的这款游戏：\n {0}。 \n听说是其中一个叫比利的孩子偷偷潜入了你的车库，看\n到了你那堆设计图纸。{n}先不管他是怎么做到的。\n但是你打算怎么做呢？\n\n你可以向孩子的父母告状，让这些孩子给父母教训一顿;\n你也可以什么都不做，当然也可以邀请这些孩子来看看\n你开发的这款游戏。"
					.localize().format(game.title);
				
				company.adjustHype(5 + 10 * company.getRandom());

				return new Notification({
					sourceId: eventId,
					header: "那个叫比利的孩子".localize(),
					text: msg,
					options: ["告状去", "不管就好", "邀请孩子们来玩"]
				});
			},
			complete: function (decision) {
				var company = GameManager.company;

				if (decision === 0) {
					var n = new Notification({
						header: "那个叫比利的孩子".localize(),
						text: "你告诉比利的父母，他的父母向你保证下次不会再发\n生这样的事情。"
					});
					n.adjustHype(5 + 10 * company.getRandom());

					company.activeNotifications.addRange(n.split());
					return;
				}
				if (decision === 1) {
					var n = new Notification({
						header: "文件不见了".localize(),
						text: "几天前你还在研究那堆复杂的图纸和文档，但是现在你找遍整\n个车库都没找到它们。{n}地板上那些浅浅的小脚印，让你恍然大悟。但很不幸，\n你只能重新花钱去收集这些文档。",
						weeksUntilFired: 1 + 2 * company.getRandom()
					});
					n.adjustCash(-500, "restoring documents");
					company.notifications.push(n);
					return;
				}
				if (decision === 2) {
					var n = new Notification({
						header: "那个叫比利的孩子".localize(),
						text: "你邀请了比利那帮小孩子和比利的父母、一些好奇的邻\n居来到你的车库，给他们看你这个正在开发的游戏。孩\n子们十分兴奋，接下来的好几个星期你都能听到他们讨\n论。"
					});
					n.adjustHype(15 + 25 * company.getRandom());
					company.activeNotifications.addRange(n.split());
					return;
				}
			}
		};

		GDT.addEvent(billyBrakeIn);
	};
	/*  */
	
	/* Researches */
	ExpPack.addResearch = function () {
		/* Graphic items */
		GDT.addResearchItem(
		{
			id: "Realistic Particles",
			name: "真实粒子效果".localize(),
			v: 6,
			canResearch: function (company) {
				return LevelCalculator.getMissionLevel('Graphic') > 7
			},
			category: "Graphic",
			categoryDisplayName: "Graphic"
		});
		GDT.addResearchItem(
		{
			id: "Advanced Shaders",
			name: "高级着色器".localize(),
			v: 6,
			canResearch: function (company) {
				return LevelCalculator.getMissionLevel('Graphic') > 5
			},
			category: "Graphic",
			categoryDisplayName: "Graphic"
		});
		(
		{
			id: "Animated Textures",
			name: "动态材质".localize(),
			v: 2,
			canResearch: function (company) {
				return LevelCalculator.getMissionLevel('Graphic') > 3
			},
			category: "Graphic",
			categoryDisplayName: "Graphic"
		});
		/*  */
		
		/* Sound items */
		GDT.addResearchItem(
		{
			id: "Realistic Sound",
			name: "真实音效".localize(),
			v: 6,
			canResearch: function () {
				return LevelCalculator.getMissionLevel('Sound') > 6
			},
			category: "Sound",
			categoryDisplayName: "Sound"
		});
		GDT.addResearchItem(
		{
			id: "Copywriten Music",
			name: "制成品音效".localize(),
			v: 8,
			canResearch: function () {
				return LevelCalculator.getMissionLevel('Sound') > 7
			},
			category: "Sound",
			categoryDisplayName: "Sound"
		});
		/*  */
		
		/* A.I. items */
		GDT.addResearchItem(
		{
			id: "Superior AI",
			name: "超级AI".localize(),
			v: 8,
			canResearch: function () {
				return LevelCalculator.getMissionLevel('AI') > 7
			},
			category: "AI",
			categoryDisplayName: "A.I."
		});
		GDT.addResearchItem(
		{
			id: "AI Difficulty",
			name: "可选AI难度".localize(),
			v: 4,
			canResearch: function () {
				return LevelCalculator.getMissionLevel('AI') > 4
			},
			category: "AI",
			categoryDisplayName: "A.I."
		});
		/*  */
		
		/* Gameplay */
		GDT.addResearchItem(
		{
			id: "Cheat Codes",
			name: "作弊码".localize(),
			v: 4,
			canResearch: function () {
				return LevelCalculator.getMissionLevel('Gameplay') > 3
			},
			category: "Gameplay",
			categoryDisplayName: "Gameplay"
		});
		GDT.addResearchItem(
		{
			id: "Premium Content",
			name: "额外内容".localize(),
			v: 8,
			canResearch: function () {
				return LevelCalculator.getMissionLevel('Gameplay') > 6
			},
			category: "Gameplay",
			categoryDisplayName: "Gameplay"
		});
		/*  */
		
		/* Engine items */
		GDT.addResearchItem(
		{
			id: "Quick Saving",
			name: "快速保存".localize(),
			v: 2,
			canResearch: function (company) {
				return LevelCalculator.getMissionLevel('Engine') > 3;
			},
			category: "Engine",
			categoryDisplayName: "Engine".localize()
		});
		GDT.addResearchItem(
		{
			id: "Seasons",
			name: "季节交替".localize(),
			v: 6,
			canResearch: function (e) {
				return LevelCalculator.getMissionLevel('Engine') > 6
			},
			category: "Engine",
			categoryDisplayName: "Engine"
		});
		/*  */
		
		/* Story/Quests */
		GDT.addResearchItem(
		{
			id: "Collectables",
			name: "收藏品".localize(),
			v: 2,
			canResearch: function () {
				return LevelCalculator.getMissionLevel('Story/Quests') > 2
			},
			category: "Story/Quests",
			categoryDisplayName: "Story/Quests"
		});
		GDT.addResearchItem(
		{
			id: "Simple quests",
			name: "简单任务功能".localize(),
			v: 2,
			canResearch: function () {
				return LevelCalculator.getMissionLevel('Story/Quests') > 3
			},
			category: "Story/Quests",
			categoryDisplayName: "Story/Quests"
		});
		GDT.addResearchItem(
		{
			id: "Advanced quests",
			name: "优化任务功能".localize(),
			v: 6,
			canResearch: function () {
				return LevelCalculator.getMissionLevel('Story/Quests') > 6
			},
			category: "Story/Quests",
			categoryDisplayName: "Story/Quests"
		});
		/*  */
		
		/* Dialogues items */
		GDT.addResearchItem(
		{
			id: "Language Settings",
			name: "语言选项".localize(),
			v: 4,
			canResearch: function () {
				return LevelCalculator.getMissionLevel('Dialogs') > 4
			},
			category: "Dialogs",
			categoryDisplayName: "Dialogues",
		});
		/*  */
		
		/* World Design items */
		GDT.addResearchItem(
		{
			id: "Realistic Water",
			name: "真实水面".localize(),
			v: 4,
			canResearch: function () {
				return LevelCalculator.getMissionLevel('World Design') > 3
			},
			category: "World Design",
			categoryDisplayName: "World Design"
		});
		GDT.addResearchItem(
		{
			id: "Realistic Plant Life",
			name: "真实植物".localize(),
			v: 6,
			canResearch: function () {
				return LevelCalculator.getMissionLevel('World Design') > 6
			},
			category: "World Design",
			categoryDisplayName: "World Design"
		});
		/*  */
		
		/* Level Design items */
		GDT.addResearchItem(
		{
			id: "Bosses",
			name: "关卡Boss".localize(),
			v: 2,
			canResearch: function () {
				return LevelCalculator.getMissionLevel('Level Design') > 2
			},
			category: "Level Design",
			categoryDisplayName: "Level Design"
		});
		GDT.addResearchItem(
		{
			id: "Swift Loading",
			name: "快速读取".localize(),
			v: 4,
			canResearch: function () {
				return LevelCalculator.getMissionLevel('Level Design') > 5
			},
			category: "Level Design",
			categoryDisplayName: "Level Design"
		});
		/*  */
	};
	/*  */
})();
//					GameManager.company.researchPoints += 100;
//					VisualsManager.researchPoints.updatePoints(GameManager.company.researchPoints); 