diff --git a/android/assets/jsons/Translations/Simplified_Chinese.json b/android/assets/jsons/Translations/Simplified_Chinese.json new file mode 100644 index 00000000..256c9099 --- /dev/null +++ b/android/assets/jsons/Translations/Simplified_Chinese.json @@ -0,0 +1,1343 @@ +Hiawatha=海华沙 +Difficulty=难度 +'The nation that destroys its soil destroys itself.' - Franklin Delano Roosevelt=“一个毁掉自己所有土壤的国家也将毁灭自身。”——富兰克林·德拉诺·罗斯福 +Golden Age=黄金时代 +England=英格兰 +Chieftain=酋长 +Basics=基础 +Load game=读取游戏 +WaterMelee=海军近战单位 ++2 science from every specialist=每个专业人员+2科研 +Freedom=自由政策 +Colosseum=竞技场 +Strategic Resources provide +1 Production, and Horses, Iron and Uranium Resources provide double quantity=每处战略资源+1产能,并且马、铁和铀资源储量加倍 +[resourceName] revealed near [cityName]=[resourceName] 被发现在 [cityName] +Lasers=激光 +Ancient ruins=远古遗迹 +air units=空军单位 +Air Repair=空中维修 +Check for idle units=回合结束前查看闲置单位 +[civName] has declared war on us!=[civName]已经对我们宣战! +Research [technology]=研究[technology] +Constitution=宪政主义 ++1 production and gold from all sea resources worked by the city=所在城市每个已开发的海洋资源+1产能和金钱 +Small=小 +Atomic Theory=原子理论 +AI=电脑 +-25% to purchasing items in cities=所有城市购买项目所需的金钱花费-25% +Offer trade=提供贸易 +Submarine=潜艇 +Founds a new city=建立一座城市,组建此单位时城市的食物积累停止 +Increases embarked movement +1=陆军单位处于船运状态时的移动力+1 +Stonehenge=巨石阵 +Cultural=文化 +Horseback Riding=骑术 +Woodsman=林地幽灵 +Barracks=军营 +Keep going=继续... +Lost ability=失去能力 +Neuschwanstein=新天鹅堡 +Legion=古罗马军团 +Jungle=丛林 +Haka War Dance=哈卡战舞 ++20% production towards Wonder construction=建造奇观时产能积累速率+20% +Provides [amountOfCulture] culture at [30] Influence=当影响力不低于30时提供[amountOfCulture]文化 +Pillage=劫掠 +Found city=建立城市 +I think not.=我认为不可行。 +Convert production to gold at a rate of 4 to 1=转化1/4产能为金钱 +Free Social Policy=免费推行1项社会政策 +Reach highest influence above 60 for alliance.=影响力≥60且高于其他文明以成为友邦同盟 +Stop movement=停止移动 +The Great Library=大图书馆 +turn=回合 +Shock I=冲击I级 +Game options= +Open Borders=开放边境 +Limited Visibility=视野受限 +Mine=矿井 +Bazaar=巴扎 +Workshop=工坊 +Military units gain 50% more Experience from combat=军事单位通过战斗获得经验+50% +Defensive buildings in all cities are 25% more effective=所有城市防御建筑防御力+25% +Set up=架设 +Food=食物 +Save map=保存地图 +Honor=荣誉政策 +Happiness=快乐 +Built Apollo Program=开启阿波罗计划 +'There's a basic principle about consumer electronics: it gets more powerful all the time and it gets cheaper all the time.' - Trip Hawkins=“消费类电子产品有一个基本法则:它的功能越来越强,它的价格越来越低。”——崔普·霍金斯(美国艺电(EA)公司创始人) +Pick promotion=选择晋升项 +Piety=虔信政策 +Free Great Person=免费的伟人 +Autocracy Complete=完整的独裁政策 +[cityName] has been disconnected from your capital!=[cityName]与您的首都的连接已经中断! +Artillery=火炮 +'Few romances can ever surpass that of the granite citadel on top of the beetling precipices of Machu Picchu, the crown of Inca Land.' - Hiram Bingham=“很少有能超越这座建立在马丘比丘顶峰峭壁上的石头城塞的浪漫,它是印加的皇冠。”——海勒姆·宾厄姆(美国探险家) +Napoleon=拿破仑 ++33% great person generation in all cities=所有城市伟人点数积累速率+33% +Marsh=沼泽 +Kremlin=克里姆林宫 +Nanotechnology=纳米技术 +Could not upload map!=无法上传地图! +Enables embarked units to enter ocean tiles=拥有船运能力的单位能够进入海洋 +Warrior Code=尚武精神 +Terrains & Resources=地形地貌与资源 +Longbowman=长弓手 +Copy Game ID=复制游戏ID +Tradition Complete=完整的传统政策 +Swordsman=剑士 +SS Booster=飞船助推器 +Evasion=规避能力 +A pleasure to meet you.=很高兴见到你。 ++1 science from every trading post, +17% science from universities=每处贸易站+1科研,大学+17%科研产出 +Cultured=文化型 +Sentry=警戒能力 +Porcelain Tower=大报恩寺塔 +Culture cost of adopting new Policies reduced by 10%=推行新的社会政策所需的文化-10% ++1 happiness for each monument, temple and monastery=每座纪念碑、神庙、修道院+1快乐 +Show resources and improvements=显示资源与设施 +[percent]% chance to intercept air attacks=[percent]%几率拦截来袭的敌军飞机 ++15% Production when building Mounted Units in this city=所在城市组建骑乘单位时产能积累速率+15% +Complete all the spaceship parts + to win!=完成建造太空飞船 +胜利! +Mint=铸币厂 +You have entered the [newEra]!=您已进入了[newEra]! +Military Academy=军事学院 +Improved by [improvement]=开发该资源所需设施:[improvement] +Representation=代议制度 +Market=市场 +Our status=我们的进度 +Defence bonus=防御力加成 +What do you have in mind?=你有什么想法? +You have denounced our allies=对我们盟友的侮辱也是对我们的冒犯,请好自为之! ++25% Production towards any buildings that already exist in the Capital=在其他城市建造首都已建有的建筑时产能积累速率+25% +You have denounced our enemies=敌人的敌人就是朋友,你的谴责是维护公正的仗义执言,我们期待听到更多。 +Bombard strength=轰击战斗力 +Destroy all enemies + to win!=消灭所有敌人 +胜利! +Chemistry=化学 +Landed Elite=缙绅阶层 +Bronze Working=青铜器 +'And homeless near a thousand homes I stood, and near a thousand tables pined and wanted food.' - William Wordsworth=“我站在无数无家可归者身边,无数空空如也的桌子面前,渴求着食物。”——威廉·华兹华斯 +Stats=统计 +Monarchy=君主政体 +Scientific Theory=科学理论 +Show autosaves=显示自动存档 +Philosophy=哲学 +Logistics=后勤补给 +Computers=电子计算机 +[turnsToExpansion] turns to expansion=此城市将在[turnsToExpansion]回合后扩张 ++1 culture for every 2 citizens=每2个市民+1文化 +Demands=要求 +Pick a tech=选择一项科技 +Standard=标准 +Guilds=行会 +Iron=铁 +Rocketry=火箭 +Tile improvement speed +25%, receive a free worker near the capital=地块设施建造速度+25%,首都附近获得1个工人 +Republic=共和政体 ++2 culture from each wonder=每座奇观+2文化 +provides=提供 +SS Engine=飞船发动机 +Saved at=保存时间 +Destroy [civName]=毁灭[civName]文明 +Taj Mahal=泰姬陵 +Saved game name=游戏存档名称 +Your alliance with [name] is faltering.=您与[name]的盟友关系正日薄西山 +Flood plains=冲积平原 +Persia=波斯 +'The meek shall inherit the Earth, but not its mineral rights.' - J. Paul Getty=“谦卑的人会继承地球,而不是它的采矿权。”——吉恩·保罗·盖蒂(美国实业家) +Your use of nuclear weapons is disgusting!= +'He who commands the sea has command of everything.' - Themistocles=“谁主宰了海洋,谁就主宰了一切。”——地米斯托克利(古希腊政治家兼军事家) +'Measure what is measurable, and make measurable what is not so.' - Galileo Galilei=“测量一切可测之物,并把不可测的变为可测。”——伽利略 +Babylon=巴比伦 +Fortify=驻守 +Barrage III=弹幕III级 +Declarations of war=宣战 ++3 culture in capital and increased rate of border expansion=首都+3文化,边界扩张速度加快 +Can only be built in annexed cities=只能建造在吞并的城市 +War Chariot=埃及战车 +Automate=自动工作 +Could not upload game!=无法上传游戏数据! +Cannot enter ocean tiles=不能进入海洋地块 +Username=玩家姓名 +Manufactory=制造中心 +An ancient tribe trains our [unitName] in their ways of combat!=一个古老的部落以他们的战斗方式训练了我们的[unitName]! +Each city founded increases culture cost of policies 33% less than normal. Starts a golden age.=每新建城市导致推行政策所需文化成本的增幅低于正常值33%,立即开启一次黄金时代 ++1 Movement=+1移动力 +Community=开发者社区 +25% of food is carried over after a new citizen is born=城市增加新的市民后保留25%食物储备以加速成长 +Show pixel units=显示像素单位 +[nation] refused to stop settling cities near us!=[nation]拒绝停止在我们附近建城! +Your citizens have been happy with your rule for so long that the empire enters a Golden Age!=人民为您英明领导下取得的丰功伟绩欢欣鼓舞,您的帝国进入了黄金时代! +'The press is the best instrument for enlightening the mind of man, and improving him as a rational, moral and social being.' - Thomas Jefferson=“印刷机是启蒙人心的最好工具,能将人提升为有理性有道德的社会人。”——托马斯·杰斐逊 +Policies=政策 +Siam=暹罗 +Please don't settle new cities near us.=请不要在我们附近建立新的城市。 +Hwach'a=火厢车 +Victory status=胜利进度 +Populism=民粹主义 +Accuracy II=精准II级 +Commerce=商业政策 +Lighthouse=灯塔 +'I think that if ever a mortal heard the word of God it would be in a garden at the cool of the day.' - F. Frankfort Moore=“我相信如果有凡人能听到神谕,那一定是在天气凉爽时的花园之中。”——弗兰克·法兰克福·摩尔(英国作家) +Rifleman=来复枪兵 +Patronage=赞助政策 +turns=回合 +Ranged strength=远程战斗力 ++15% production when building military units and new military units start with 15 Experience=组建军事单位时产能积累速率+15%,新的军事单位初始经验值为15 +Marine=海军陆战队 +1 extra Interception may be made per turn=+1额外拦截次数/回合 +Great general provides double combat bonus, and spawns 50% faster=大军事家提供双倍战斗力加成,大军事家产生速率+50% +Plantation=种植园 +Occupied!=可以占领! +Gold from all trade routes +25%=所有贸易路线的金币收益+25% +[civName] has denied your trade request=[civName]拒绝了您的贸易请求 +Wonder=奇观 +What would you like to do with the city?=你想如何处理这座城市? +'When pieces of bronze or gold or iron break, the metal-smith welds them together again in the fire, and the bond is established.' - Sri Guru Granth Sahib=“当整块的青铜、黄金或黑铁碎裂时,工匠们会用火重新熔铸,让它们再次结为一体。”——锡克教圣典《格兰斯·沙希伯》 +'Things always seem fairer when we look back at them, and it is out of that inaccessible tower of the past that Longing leans and beckons.' - James Russell Lowell=“我们所失去的总是要在回望之时才更知道它的美好,而那曾经不可一世的高塔如今是多么的渴望能够有所依靠。”——詹姆斯·罗素·洛威尔(美国诗人) +You have won a cultural victory!=恭喜!您赢得了文化胜利! +Forbidden Palace=紫禁城 +Siege I=攻坚I级 ++1 gold and -1 unhappiness for every 2 citizens in capital=首都每2个市民+1金钱,-1不满 +Cossack=哥萨克骑兵 +Oasis=绿洲 +Tank=坦克 +Deer=野鹿 +Heals [amountHealed] damage if it kills a unit=消灭敌方单位后回复[amountHealed]生命值 +Suleiman I=苏莱曼一世 ++15% science while empire is happy=帝国处于快乐时科研产出+15% +Elizabeth=伊丽莎白 +City States=城邦 +An enemy [unit] has attacked our [ourUnit]=敌方的[unit]攻击了我们的[ourUnit] +Branches completed=已完成的社会政策分支 +[civName] has accepted your trade request=[civName]接受了您的贸易请求 +Melee=近战单位 +Iroquois=易洛魁 +Hide=隐藏 +Scouting III=侦察III级 +We have encountered the City-State of [name]!=我们遇到了城邦[name]! +'The winds and the waves are always on the side of the ablest navigators.' - Edward Gibbon=“风浪永远站在最出色的领航员一边。”——爱德华·吉本(英国历史学家) +War Elephant=印度战象 +Landship=履带战车 +Janissary=苏丹亲兵 +Are you sure you want to delete this map?=您真想删除这张地图吗? +Oil well=油井 +Show tutorials=显示教程 +Population=人口 +Immortal=仙人 +Show pixel improvements=显示像素设施 +Exit city=离开城市界面 +67% chance to earn 25 Gold and recruit a Barbarian unit from a conquered encampment, -25% land units maintenance.=击败蛮族营地中的蛮族单位有67%几率得到25金钱并使其加入,陆上单位维护费-25% +Quick=快速 +Scouting I=侦察I级 +Movement=移动力 +No barbarians=无蛮族 +Big Ben=大本钟 +Specialist Allocation=专业人员分配 +Unhappiness from number of Cities doubled, Unhappiness from number of Citizens halved.=城市数量导致的不满加倍,市民数量导致的不满减半 +Caravel=轻帆船 +Can build improvements on tiles=可以在地块上建造设施 +Can only attack water=只能攻击海上目标 +'Three things are to be looked to in a building: that it stands on the right spot; that it be securely founded; that it be successfulyl executed.' - Johann Wolfgang von Goethe=“在一幢建筑里要看三样东西:它是否被正确地选址;它是否被牢固地奠基;它是否被成功地建造。”——约翰·沃尔夫冈·冯·歌德 ++1 additional Culture for each adjacent Moai=每个相邻的摩艾石像群额外+1文化 +Accuracy I=精准I级 +Reduce culture cost of future policies by 10%=未来推行社会政策的文化花费-10% +Refrigeration=制冷 +Favorable=惺惺相惜 +Pharmaceuticals=制药学 ++2 Gold for each source of Oil and oasis=每处石油资源和每处绿洲+2金钱 +The civilization of [civName] has been destroyed!=[civName]文明已经灭亡! +Volley=齐射能力 +Bowman=巴比伦弓手 +Chariot Archer=战车射手 ++15% production of naval units=组建海上单位时产能积累速率+15% +Protectionism=贸易保护 +Electronics=电子学 +We have captured a barbarian encampment and recovered [goldAmount] gold!=我们摧毁蛮族营地并获得了[goldAmount]金钱! +Trade routes=贸易路线 +Map editor=地图编辑器 +Stone Works=石工坊 +'O, let not the pains of death which come upon thee enter into my body. I am the god Tem, and I am the foremost part of the sky, and the power which protecteth me is that which is with all the gods forever.' - The Book of the Dead, translated by Sir Ernest Alfred Wallis Budge=“哦,别让你所受的死亡痛苦进入我的身体。我是创世神泰姆,我处在天界的最高层,神力护佑着我和所有其他神灵直到永远。”——“死者之书”译文,欧内斯特·阿尔弗雷德·沃利斯·巴吉爵士(英国考古学家) +City-State Influence degrades at half and recovers at twice the normal rate=对城邦影响力衰减速度减半,恢复速度加倍 +Your trade mission to [civName] has earned you [goldAmount] gold and [influenceAmount] influence!=您与[civName]拓展贸易获得[goldAmount]金钱和[influenceAmount]影响力! +Statue of Liberty=自由女神像 +Random=随机 +Buildings enabled=解锁建筑 +Longhouse=长屋 +Arabia=阿拉伯 +Education=教育学 +Coal=煤 +Raze=摧毁 +Must be next to desert=城市必须紧邻沙漠 +Maintenance on roads & railroads reduced by 33%, +2 gold from all trade routes=道路和铁路的维修费-33%,所有贸易路线的金钱产出+2 +We have conquered the city of [cityname]!=我们已经占领城市[cityname]! +'Why man, he doth bestride the narrow world like a colossus, and we petty men walk under his huge legs, and peep about to find ourselves dishonorable graves.' - William Shakespeare, Julius Caesar=“嘿,老兄,他像一个巨人似的跨越这狭隘的世界;我们这些渺小的凡人一个个在他粗大的两腿下行走,四处张望着,替自己寻找不光荣的坟墓。”——威廉·莎士比亚:《尤利乌斯·恺撒》 +You have entered a golden age!=你开启了一个黄金时代! +Samurai=日本武士 +Interception III=拦截III级 +Provides 1 happiness per social policy=每项已推行的社会政策+1快乐 +This unit and all others in adjacent tiles heal 5 additional HP per turn=本单位及其相邻单位每回合额外回复5生命值 +Hagia Sophia=圣索菲亚大教堂 +'It is well that war is so terrible, or we should grow too fond of it.' - Robert E. Lee=“幸好战争是如此恐怖,否则我们将会打到乐此不疲。”——罗伯特·爱德华·李 +Legalism=律法统治 +Double movement in coast=海滨移动时双倍移动力 +Sipahi=西帕希骑兵 +We have found survivors in the ruins - population added to [cityName]=我们在废墟中找到了幸存者 - [cityName]的人口增加了 +National Wonder=国家奇观 +Maori Warrior=毛利勇士 +Interception II=拦截II级 +Library=图书馆 +Stadium=体育场 +1 additional attack per turn=每回合有一次额外的攻击机会 +Bonus stats for improvement: =开发该资源后设施所获奖励效果: +Liberate=解放 +'Their rising all at once was as the sound of thunder heard remote' - Milton=“他们立刻一同起立,发出的声响犹如一阵远雷。”——弥尔顿 +[otherCiv]'s trade offer=[otherCiv]的贸易提供 +Gold cost of upgrading military units reduced by 33%=升级军事单位所需的金钱-33% +Flanking=侧翼夹击 +Who knows what the future holds?=谁知道未来会怎样? +'How happy are those whose walls already rise!' - Virgil=“你们是多么的幸运,因为你们的城墙已经筑起!”——维吉尔 +Never!=愤怒是无能的表现。 +Nuclear Missile=核导弹 +There's nothing on the table=未选择任何交易 +Oxford University=牛津大学 +France=法兰西 +Sugar=蔗糖 +Sounds good!=听起来还不错。 +Provides 3 happiness at 30 Influence=当影响力不低于30时提供3快乐 +Movement cost=移动力消耗 +No=否 +Can be built on =可以建造于: +Building time of culture buildings reduced by 15%=文化建筑的建造时间-15% +'I am become Death, the destroyer of worlds.' - J. Robert Oppenheimer=“我成了死神,世界的毁灭者。”——尤利乌斯·罗伯特·奥本海默 +Diplomacy=外交 +[cityName] is starving!=[cityName]正在闹饥荒! +Heal this Unit by 50 HP; Doing so will consume this opportunity to choose a Promotion=立即回复50生命值,同时放弃本次晋升机会 +Boarding Party II=接舷II级 +Shock II=冲击II级 +Receive free Great Scientist when you discover Writing, Earn Great Scientists 50% faster=发明文字后立即获得一个大科学家,大科学家点数积累速率+50% +Landing=登陆作战 +'The night is far spent, the day is at hand: let us therefore cast off the works of darkness, and let us put on the armor of light.' - The Holy Bible: Romans, 13:12=“黑夜已深,白昼将近:我们当脱去暗昧的行为,带上光明的兵器。”——圣经·罗马书 13:12 +'The unleashed power of the atom has changed everything save our modes of thinking, and we thus drift toward unparalleled catastrophes.' - Albert Einstein=“被释放的原子能已经改变了一切,除了我们的思维模式,因此我们正在滑向空前的灾难。”——阿尔伯特·爱因斯坦 +Next turn=下一回合 +'Only within the moment of time represented by the present century has one species, man, acquired significant power to alter the nature of his world.' - Rachel Carson=“直到进入本世纪的时候,作为一个物种的人类才获得了足以改变他所在世界的本质的强大能力。”——雷切尔·卡森(美国生态学家) +Settler=移民 +'Architecture begins where engineering ends.' - Walter Gropius=“建筑设计学起于工程学终止之处。”——沃尔特·格罗佩斯(著名德国建筑师) +Annex=吞并 +[amount] enemy units were spotted near our territory=我们的领土附近发现了[amount]个敌方单位 +Must not be on hill=城市不能位于山脉 +Sheep=绵羊 +Cost of acquiring new tiles reduced by 25%=购买新地块花费-25% +Convert production to science at a rate of 4 to 1=转化1/4产能为科研 +Desert=沙漠 +Load [saveFileName]=读取[saveFileName] +Industrial era=工业时代 +One more turn...!=再来一回合...! +Aluminum=铝 ++1 happiness in each city=每座城市+1快乐 +Display options=显示选项 +Mobility=机动能力 +Steam Power=蒸汽机 +Ballista=罗马弩炮 +Puppeted cities do not increase your tech or policy cost, but their citizens generate 1.5x the regular unhappiness.=“傀儡城市”不会额外增加您研发科技和推行社会政策时的花费,但其人口产生的不满是正常值的1.5倍。 +Downloading...=下载中... +You'll pay for this!=你会为此付出代价的! +Ramesses II=拉美西斯二世 +Currency=货币制度 +'Any man who can drive safely while kissing a pretty girl is simply not giving the kiss the attention it deserves.' - Albert Einstein=“任何能够在安全行驶的同时亲吻一个年轻姑娘的男人一定没有给那个吻应有的注意力。”——阿尔伯特·爱因斯坦 +Agreements=协定 +Great person points=伟人点数 +Wonders=奇观 +Scout=斥候 +Modern Armor=现代坦克 +Create [improvement]=建造[improvement] +Turtle Ship=龟船 +Increases production of spaceship parts by 25%=建造太空飞船部件时产能积累速率+25% +'The temple is like no other building in the world. It has towers and decoration and all the refinements which the human genius can conceive of.' - Antonio da Magdalena=“这座寺庙不同于世界上的其他任何建筑。它拥有人类的天才们能够构想出的最精致的高塔和装饰。”——安东尼奥·达·马格达连那(葡萄牙传教士,最早游历吴哥窟的西方人) +Very well, we shall look for new lands to settle.=好的,我们将会寻找新的建城位置。 +Enables construction of Spaceship parts=允许建造太空飞船的部件 +Academy=学院 +Chichen Itza=奇琴伊察 +Download map=下载地图 +That is acceptable.=这是可以接受的。 +Hurry Wonder=加速奇观建造 +Unlocked at=解锁时代: +Enables conversion of city production to science=可将城市产能转化为科研 +Can discover a technology=可以发现1项科技 +'Joyfully to the breeze royal Odysseus spread his sail, and with his rudder skillfully he steered.' - Homer=“愉快地乘着轻风,高贵的奥德修斯扬起他的船帆,熟练地掌控着他的舵柄。”——荷马 +Specialists=专业人员 ++2 Range=+2航程 +Type: =城邦类型: +Choose a free great person=选择1个免费的伟人 +Ignores terrain cost=所有地形都只消耗1移动力 +Turns between autosaves=自动存档间隔回合 +Our trade offer=我们的贸易提供 +The City-State of [name] has been destroyed!=[name]城邦已经灭亡! +Replaces [improvement]=替换现有设施:[improvement] +Bank=银行 +Hill=丘陵 +Triplane=三翼机 +Circus=马戏场 +Maritime=航海型 +Terrains=地形 +Biology=生物学 ++1 food from Ocean and Coast tiles=每个海滨地块和海洋地块+1食物 +Provides 3 food in capital and 1 food in other cities at 30 Influence=当影响力不低于30时为首都提供3食物,为其他城市提供1食物 +Start new game=开始新游戏 +Unforgivable=仇深似海 ++2 Science from each worked Jungle tile=每个工作的丛林地块+2科研 +'Men, like bullets, go farthest when they are smoothest.' - Jean Paul=“人就像子弹,最圆滑的才走得最远。”——让·保罗 +You declared war on us!=不知死活的蠢货!你竟敢向我们宣战! +Raze city=摧毁城市 +Silk=丝绸 +Atomic Bomb= +'Libraries are as the shrine where all the relics of the ancient saints, full of true virtue, and all that without delusion or imposture are preserved and reposed.' - Sir Francis Bacon=“图书馆就像是供奉古代圣哲全部遗物的圣坛,充满了真正的美德,保护着一切非谬误无伪装的事物在其中安眠。”——弗朗西斯·培根爵士 ++1 production per 5 population=每5人口+1产能 +'Those who lose dreaming are lost.' - Australian Aboriginal saying=“没有梦想的人,人生也是迷茫的。”——澳大利亚土著谚语 +Free Great Artist Appears=免费的大艺术家出现 +Destroying the city instantly razes the city to the ground.=摧毁一座城市会將城市夷为平地。 +Missing translations:=未翻译的词条: +Fish=鱼群 +Cover I=隐蔽I级 +Copy User ID=复制玩家ID +Battleship=战列舰 +Tile improvements enabled=解锁地块设施 +Sorry.=请您原谅我的鲁莽。 +[otherCiv]'s items=[otherCiv]的贸易项目 +Construct road=建造道路 +Trades=贸易 +replaces=替代 +Each city with a garrison increases happiness by 1 and culture by 2=每座有驻军的城市+1快乐和+2文化 +Captured!=可以俘虏! +Great Merchants are earned 25% faster, +1 Science from every Mint, Market, Bank and Stock Exchange.=大商业家的诞生速度+25%,每座铸币厂、市场、银行和证券交易所+1科研 +National Wonders=国家奇观 +Trapping=捕猎 ++1 population in each city=每座城市+1人口 +Sleep=休眠 +Can build improvement: Manufactory=可以建造设施:制造中心 +Writing=文字 +You have achieved victory through the awesome power of your Culture. Your civilization's greatness - the magnificence of its monuments and the power of its artists - have astounded the world! Poets will honor you as long as beauty brings gladness to a weary heart.=您依靠文化的强大力量取得了胜利。您的文明的伟大创作——富丽堂皇的建筑和鬼斧神工的艺术品震惊了世界!这些沁入心扉的美丽给疲乏的心带来温暖,给悲伤的人送去欢乐,诗人为您赞叹,乐者为您歌唱! +Plastics=塑料 +You and [name] are no longer allies!=您与[name]不再是盟友了! +Other=其他 +Remove Jungle=砍伐丛林 +Copy to clipboard=复制当前游戏数据到剪贴板 +Buy for [amount] gold=花费[amount]金钱购买 +'1. A robot may not injure a human being or, through inaction, allow a human being to come to harm. 2. A robot must obey any orders given to it by human beings, except when such orders would conflict with the First Law. 3. A robot must protect its own existence as long as such protection does not conflict with the First or Second Law.' - Isaac Asimov=“1、机器人不得伤害人,也不得见人受到伤害而袖手旁观。2、机器人应服从人的一切命令,但不得违反第一定律。3、机器人应保护自身的安全,但不得违反第一、第二定律。”——艾萨克·阿西莫夫 +Apollo Program=阿波罗计划 +Scientific=科技 +Food and Culture from Friendly City-States are increased by 50%=友好城邦提供的食物和文化增加50% +'Come to me, all who labor and are heavy burdened, and I will give you rest.' - New Testament, Matthew 11:28=“凡劳苦担重担的人,可以到我这里来,我就使你们得安息。”——圣经·马太福音 11:28 +Requires a [buildingName] in all cities=需要所有城市建有[buildingName] +Bananas=香蕉 +Cattle=牛群 +Polynesia=波利尼西亚 +Double movement rate through Forest and Jungle=通过森林或丛林时移动速度加倍 +Spaceship parts remaining=尚未完成的飞船部件 +Carrier=航空母舰 +No movement cost to pillage=劫掠不消耗移动力 +Gunpowder=火药 +Cannot provide unit upkeep for [unitName] - unit has been disbanded!=无法为[unitName]提供维护费 - 单位已被解散! +SS Stasis Chamber=飞船休眠舱 +Economics=经济学 +units in open terrain=位于开阔地形的单位 +Bombard=轰击 +'Give me your tired, your poor, your huddled masses yearning to breathe free, the wretched refuse of your teeming shore. Send these, the homeless, tempest-tossed to me, I lift my lamp beside the golden door!' - Emma Lazarus=“给我你们的疲乏,你们的贫困,拥挤在旅途渴望自由呼吸的人们,被彼岸无情抛弃颠沛流离的惊魂。把这些无家可归,饱尝风雨的苦难者全都给我,我伫立在金色的大门旁高举起灯火!”——艾玛·拉扎路斯(美国诗人) +Bombardment II=轰炸II级 +Circus Maximus=大竞技场 +Plains=平原 +Bombardment I=轰炸I级 +Quarry=采石场 +You're losing control of [name].=您正在失去与[name]的脆弱友谊 +Requires Manhattan Project=需要完成曼哈顿计划 +Can attack submarines=能够发现和攻击潜艇单位 +'Ben, I want to say one word to you, just one word: plastics.' - Buck Henry and Calder Willingham, The Graduate=“本,我只想对你说一个词,就一个词:塑料。”——巴克·亨利/卡尔德·威灵汉姆,《毕业生》 +Gold per turn=金钱/回合 +Walls of Babylon=巴比伦城墙 +Quantity of strategic resources produced by the empire increased by 100%=帝国生产的战略资源+100% +Ivory=象牙 +Medium=中 ++10% science and production in all cities=所有城市+10%的科研和产能产出 +Marathon=马拉松 +Annexed cities become part of your regular empire.=“吞并城市”意味着该城市将成为您的帝国直辖的一部分。 +'Wisdom and virtue are like the two wheels of a cart.' - Japanese proverb=“智慧和美德就像是一辆手推车的两个轮子。”——日本俗语 +Formation II=列阵II级 +An enemy [unit] was destroyed while attacking [cityname]=敌方的[unit]在攻击[cityname]时被消灭 +Temples give +10% gold=神庙的金钱产出+10% +Pleasure doing business with you!=很高兴和您做生意! +Cannon=加农炮 +Fascism=法西斯 +Yes=是 +Factory=工厂 +War=战争 +Hanging Gardens=空中花园 +Wat=经院 +Stop exploration=停止探索 +Golden Ages last 50% longer. During a Golden Age, units receive +1 Movement and +10% Strength=黄金时代持续时间+50%,处于黄金时代时单位+1移动力、+10%战斗力 +Lumber mill=锯木场 +Mountain=山脉 +Public School=公立学校 +[leaderName] of [nation]=[nation]的[leaderName] +Armor=装甲单位 +'Every particle of matter is attracted by or gravitates to every other particle of matter with a force inversely proportional to the squares of their distances.' - Isaac Newton=“任何物质粒子都会与其他物质粒子相互吸引,产生的引力和距离的平方成反比。”——艾萨克·牛顿 +GOLDEN AGE=黄金时代 +Pick now!=选择此项! +'To achieve great things, two things are needed: a plan, and not quite enough time.' - Leonard Bernstein=“为了完成伟大的工作,有两样东西是必须的:一个计划,以及不多的时间。”——伦纳德·伯恩斯坦(美国音乐家) +Upload map=上传地图 +Mercantilism=重商主义 ++10 HP when healing=生命回复时额外回复10生命值 +Zero=零式战斗机 +City strength=城市战斗力 ++1 Production from each worked Forest tile=每个工作的森林地块+1产能 +Overview=概览 +Trading post=贸易站 +National College=国立研究院 +Anti-Aircraft Gun=高射炮 +Siege II=攻坚II级 +Wolfpack I=狼群I级 +Targeting III (air)=空中定位III级 +The Wheel=轮子 +2 free great scientists appear=2个免费的大科学家出现 +Work Boats=工船 +Next unit=下个闲置单位 +Retract offer=撤回报价 +HIGHLY EXPERIMENTAL - YOU HAVE BEEN WARNED!=⚠警告!试验性功能! +Strength=战斗力 +Unit upkeep=单位维护费 +Naresuan's Elephant=纳黎萱战象 +Trireme=三列桨战船 +'Bushido is realized in the presence of death. This means choosing death whenever there is a choice between life and death. There is no other reasoning.' - Yamamoto Tsunetomo=“所谓武士道,就是看透死亡。于生死两难之际,应果断选择死,而不需要任何原因。”——山本常朝(日本江户时代武士) +Show worked tiles=显示工作地块 +Combustion=内燃机 +An enemy [unit] was spotted in our territory=我们的领土内发现了敌方的[unit] +Unique to [civName], replaces [unitName]=[civName]文明独有,替代[unitName] +Greece=希腊 +Mounted=骑乘单位 +Starting Era=起始时代 +Requires a [buildingName] in this city=需要城市建有[buildingName] +Future Tech=未来科技 +Granary=粮仓 +You fulfilled your promise to stop settling cities near us!=感谢你履行了不在我们附近建城的承诺。 ++1 gold from all science buildings=所有科研建筑+1金钱 +Cavalry=近代骑兵 +Music volume=音乐音量 +Can start an 8-turn golden age=可以开启8回合黄金时代 ++1 construction in every city, +5% construction when constructing buildings=每座城市+1产能,城市建造建筑时产能积累速率+5% +Eiffel Tower=艾菲尔铁塔 +Civilopedia=文明百科 +Growth bonus=积累速率 +Boarding Party I=接舷I级 +Fontset=字体设置 +provide=提供 +Bonus as Attacker [amount]%=主动发起攻击时+[amount]%战斗力 +units in rough terrain=位于复杂地形的单位 +Could not download game!=无法下载游戏数据! +Player ID from clipboard=从剪贴板获取玩家ID +Remove extra unhappiness from annexed cities=消除来自吞并的城市的额外不满 +Total War=全面战争 +Walls=城墙 +Great Artist=大艺术家 +Defeated=战败 +The Ottomans=奥斯曼 +Number of city-states=城邦数量 +Reduces damage taken from interception by 50%=遭受拦截时的损伤-50% +Conquest victory=征服胜利 +Upgrades to [upgradedUnit]=可升级为[upgradedUnit] +An enemy [unit] has destroyed our [ourUnit]=敌方的[unit]击杀了我们的[ourUnit] +Fallout=核辐射 +'Mathematics is the gate and key to the sciences.' - Roger Bacon=“数学是通向科学世界的大门钥匙。”——罗杰·培根(中世纪英国科学家) +Civil Society=公民社会 +Future era=未来时代 +Friend=秦晋之好 +Provides [resource]=获得资源:[resource] +Wonders enabled=解锁奇观 +Do you really want to disband this unit?=您真的想解散这个单位吗? +Join Game=加入游戏 +'Where tillage begins, other arts follow. The farmers therefore are the founders of human civilization.' - Daniel Webster=“只要人们开始耕作,其他艺术将随之而生。因此农夫是人类文明的奠基者。”——丹尼尔·韦伯斯特(美国政治家) +Barbarians=蛮族 +You have won a scientific victory!=恭喜!您赢得了科技胜利! +Collective Rule=集体统治 +Remove Road=拆毁道路 ++1 Production from specialists=每个专业人员+1产能 +No ancient ruins=无远古遗迹 +Units in cities cost no Maintenance, garrisoned city +50% attacking strength=镇守城市的单位无需维护费,有单位镇守的城市+50%远程战斗力 +Road=道路 +An enemy [unit] was destroyed while attacking our [ourUnit]=敌方的[unit]在攻击我方[ourUnit]时被消灭 +Penalty vs [unitType]=对战[unitType]时战斗力- +Stable=马厩 +Our [$attackerName] was attacked by an intercepting [$interceptorName]=我们的[$attackerName]被敌方的[$interceptorName]拦截并攻击 +Masonry=石工术 +'If the brain were so simple we could understand it, we would be so simple we couldn't.' - Lyall Watson=“如果大脑简单到能让我们理解,我们的思维就会简单到不能理解大脑。”——莱尔·沃森(南非生物学家) +Sound effects volume=音效音量 +Provides land units every 20 turns at 30 Influence=当影响力不低于30时每20回合提供陆军单位 +[tradeOffer] to [otherCivName] has ended=与[otherCivName]的[tradeOffer]协议已经结束 +Citrus=柑橘 +Organized Religion=教会组织 +defence vs ranged=对远程攻击防御 +We have found a stash of [amount] gold in the ruins!=我们在废墟中找到了[amount]金钱! +Songhai= +Entrepreneurship=创业精神 +Coastal Raider III=海掠III级 +Civil Service=文官制度 +Map uploaded successfully!=地图上传成功! +You betrayed your promise to not settle cities near us=你违背了不在我们附近建城的承诺,请好自为之。 +Map options= +Warlord=军阀 +Deity=天神 +'Nothing is particularly hard if you divide it into small jobs.' - Henry Ford=“如果你把大任务分解成小任务,任何事都不会特别难。”——亨利·福特 +Trebuchet=抛石机 +Free Thought=思想自由 +You have won a domination victory!=恭喜!您赢得了征服胜利! +Incense=熏香 +Free great scientist appears=免费的大科学家出现 ++15% production when constructing wonders, +1 happiness for every 10 citizens in a city=建造奇观时产能积累速率+15%,城市中每10市民+1快乐 +Free Great General appears near the Capital=免费的大軍事家出现在首都附近 +Annex city=吞并城市 +Mobile Tactics=机动战术 +Robotics=机器人学 +Free Religion=信仰自由 +Stop automation=停止自动工作 +Ranged=远程单位 +Prince=王子 +Siege III=攻坚III级 +Must not be on plains=城市不能位于平原 +Production=产能 +Hospital=医院 +Receive triple Gold from Barbarian encampments and pillaging Cities. Embarked units can defend themselves.= +Culture=文化 +Great War Bomber=一战轰炸机 +Spearman=枪兵 +Delete save=删除存档 +'A Horse! A Horse! My kingdom for a horse!' - Shakespeare (Richard III)=“用我的王国换一匹马!”——威廉·莎士比亚:《理查三世》 +Hanse=汉萨会馆 +vs [unitType]=对战[unitType] +Ancient era=远古时代 +Exit map editor=退出地图编辑器 +Peace Treaty=和平条约 +Requires=需要 +Online Multiplayer=在线多人游戏 +Himeji Castle=姬路城 +Medic=治疗I级 +Players can enter your game by copying the game ID to the clipboard, and clicking on the Join Game button=其他玩家可以将接收到的游戏ID复制到剪贴板,同时点击“加入游戏”按钮加入游戏 +Units=单位 +Nebuchadnezzar II=尼布甲尼撒二世 +'Do not wait to strike til the iron is hot, but make it hot by striking.' - William Butler Yeats=“不要等铁变热才对其锻打;而要通过锻打而使其变热。”——威廉·巴特勒·叶芝 +Impassible=不能通行 +Minuteman=快速民兵 +Free Great Person of choice near capital=首都附近出现1个免费的伟人,类型可以选择 +Satellites=人造卫星 +Mercantile=商业型 +Pick a free tech=选择1项免费科技 +Theatre=剧院 +'Vision is the art of seeing things invisible.' - Jonathan Swift=“洞察力是看到不可见事物的艺术。”——乔纳森·斯威夫特(英国作家) +Resolution=分辨率 +Wu Zetian=武则天 +A [greatPerson] has been born in [cityName]!=[cityName] - 一个[greatPerson]已经出现! +[cityName] cannot continue work on [construction]=[cityName]无法继续建造/组建[construction] +Bombardment III=轰炸III级 +Modern era=电气时代 +Targeting I=定位I级 +Cost=花费 +Blitz=闪击战术 ++1 Range=+1射程 +America=美利坚 +Destroyer=驱逐舰 +Negotiate Peace=议和 +Discipline=军事纪律 +Rifling=膛线 +Extended Range=射程拓展 +Wolfpack II=狼群II级 +Download music=下载音乐 +Set current user=设置为当前玩家 +Navigation=航海术 +Solar Plant=太阳能电站 +Hydro Plant=水电站 +Disband unit=解散单位 +Brandenburg Gate=勃兰登堡门 +A puppeted city can be annexed at any time.=可以在任何时候选择吞并已傀儡城市。 +Would you like to purchase [constructionName] for [buildingGoldCost] gold?=你想花费[buildingGoldCost]金钱购买[constructionName]吗? +Complete 4 policy branches + to win!=完成4个社会政策分支 +胜利! +Pasture=牧场 +Fishing Boats=渔船 +Machine Gun=机关枪 +Autocracy=独裁政策 +Animal Husbandry=家畜驯养 +'He who destroys a good book kills reason itself.' - John Milton=“毁禁一本好书就是杀死理性本身。”——弥尔顿 +Move unit=移动单位 +'Happiness: a good bank account, a good cook and a good digestion' - Jean Jacques Rousseau=“幸福:一个好的银行账户,一个好厨师和一个好胃口。”——让·雅克·卢梭 +Gift [giftAmount] gold (+[influenceAmount] influence)=赠予[giftAmount]金钱(+[influenceAmount]影响力) +Excellent!=真是荣幸之至!互相尊重、平等互利是建立友好关系的第一步。 +Truffles=松露 +Build [building]=建造[building] +Wine=红酒 +Bomber=轰炸机 +Maybe you put too many players into too small a map?=可能您在如此小的地图上放置了太多玩家? +'There is only one good, knowledge, and one evil, ignorance.' - Socrates=“世上只有一种善,那就是知识,也只有一种恶,那就是无知。”——苏格拉底 +You have achieved victory through mastery of Science! You have conquered the mysteries of nature and led your people on a voyage to a brave new world! Your triumph will be remembered as long as the stars burn in the night sky!=您通过掌握先进的科技取得了胜利!您已经征服了大自然的神秘,带领人民踏上了通往美丽新世界的航程!只要星星在夜空中燃烧,您的胜利就会被永远铭记! +Dyes=染料 +WaterCivilian=海上平民单位 +Not this time.=这次不行,我只和有诚意的人交易。 ++2 Science for all specialists and Great Person tile improvements=所有专业人员和伟人设施+2科研 +Declare war on [civName]?=向[civName]宣战吗? ++1 Visibility Range=+1视野 +Drill I=操练I级 +Invisible to others=对其他单位隐形 +Great Merchant=大商业家 +SS Cockpit=飞船驾驶舱 +You have no control over the the production of puppeted cities.=您无法控制已傀儡城市的产能。 +All units move through Forest and Jungle Tiles in friendly territory as if they have roads. These tiles can be used to establish City Connections upon researching the Wheel.=单位在己方森林和丛林地块上移动时视同在道路上移动,此类地块在研究轮子科技后可建立城市连接 +Manhattan Project=曼哈顿计划 +[cityName] has been connected to your capital!=[cityName]已建立与您的首都的连接! +Sailing=帆船 +Can construct roads=可以建造道路 +Bison=野牛 +Military Tradition=军事传统 ++1 happiness, +2 culture and +3 gold from every Castle=每一座城堡+3金钱、+2文化和+1快乐 +Requires [resource]=需要资源:[resource] ++25% Defence against ranged attacks=遭受远程攻击时+25%防御力 +Culture and Gold costs of acquiring new tiles reduced by 25% in this city=所在城市扩展新地块所需文化和金钱花费-25% +Interception I=拦截I级 +To create a multiplayer game, check the 'multiplayer' toggle in the New Game screen, and for each human player insert that player's user ID.=创建多人游戏时,首先请选中“开始新游戏”界面的“在线多人游戏”复选框,同时将每个参与游戏的玩家ID填入其想扮演文明的“Player ID”文本框内。 +Social policies=社会政策 +Training of settlers increased +50% in capital, receive a new settler near the capital=首都组建移民速度+50%,首都附近获得1个移民 +Palace=宫殿 +Tutorials=教程 +Landmark=风景地标 +Production to science conversion in cities increased by 33%=产能向科研转化收益+33% +Rationalism Complete=完整的理性政策 +Declare Friendship ([numberOfTurns] turns)=宣布相互友善([numberOfTurns]回合) ++1 culture for each monument, temple and monastery. Gain a free policy.=每座纪念碑、神庙和修道院+1文化,免费推行1项社会政策 +An enemy [unit] has captured our [ourUnit]=敌方的[unit]俘虏了我们的[ourUnit] +Combined Arms=协同作战 +Remove Marsh=移除沼泽 +'Compound interest is the most powerful force in the universe.' - Albert Einstein=“复息利率是宇宙中最强大的力量。”——阿尔伯特·爱因斯坦 +May create improvements on water resources=可在水上资源建造设施(工船将被消耗掉) +Oligarchy=寡头政治 +Industrialization=工业化 +'There never was a good knife made of bad steel.' - Benjamin Franklin=“从没有一把由坏钢铸成的好刀。”——本杰明·富兰克林 +Museum=博物馆 +Obsolete with [obsoleteTech]=研发下列科技后过时:[obsoleteTech] +Base values=基础产出 +Frigate=护卫舰 +Paratrooper=伞兵 +Mughal Fort=莫卧儿城塞 +Waiting for other players...=等待其他玩家... +'Wherever we look, the work of the chemist has raised the level of our civilization and has increased the productive capacity of the nation.' - Calvin Coolidge=“无论从哪方面看,化学家的工作都提高了我们文明的程度,增加了国家的生产力。”——卡尔文·柯立芝(美国第30任总统) +Combat very likely to create Great Generals=战斗能更快地产生出大军事家 +Horseman=骑手 ++20% bonus outside friendly territory=境外作战时战斗力+20% +Pick [technology] as free tech=选择[technology]作为免费科技 +Observatory=天文台 +Humanism=人文主义 +Sejong=李裪 +Uranium=铀 +An enemy [unit] has attacked [cityname]=敌方的[unit]攻击了[cityname] +Stopped expansion=扩张已停止 +Ocean=海洋 +Otto von Bismark=奥托·冯·俾斯麦 +Clear resource=清除资源 +'The root of the evil is not the construction of new, more dreadful weapons. It is the spirit of conquest.' - Ludwig von Mises=“邪恶的根源并不是什么不断更新的致命武器,而是人对征服的欲望。”——路德维希·冯·米塞斯 +Bonus vs [unitType]=对战[unitType]时战斗力+ +All newly-trained melee, mounted, and armored units in this city receive the Drill I promotion=所在城市新组建的近战、骑乘和装甲单位获得“操练I级”晋升 +Train [unit]=组建[unit] ++2 Culture per turn from cities before discovering Steam Power=在发明蒸汽机之前,每座城市的文化+2 +'The art of war teaches us to rely not on the likelihood of the enemy's not attacking, but rather on the fact that we have made our position unassailable.' - Sun Tzu=“故用兵之法:无恃其不来,恃吾有以待也。无恃其不攻,恃吾有所不可攻也。”——孙子 +'The merchants and the traders have come; their profits are pre-ordained...' - Sri Guru Granth Sahib=“商人和贸易者利润的大小,早在他们开始经营的时候就已经决定了……”——锡克教圣典《格兰斯·沙希伯》 +Captured cities retain their previous borders=已占领城市保留先前的边界 +Chivalry=骑士制度 +An enemy [unit] was spotted near our territory=我们的领土附近发现了敌方的[unit] +'They that go down to the sea in ships, that do business in great waters; these see the works of the Lord, and his wonders in the deep.' - The Bible, Psalms 107:23-24=“在大海上坐船,在大水里经理事务的;他们看到耶和华的作为,并他在深水中的奇事。”——圣经·诗篇 107:23-24 +Notre Dame=巴黎圣母院 +Farm=农场 +Fortification=驻守防御力加成 +Tile Improvements=地块设施 +Bonus for units in 2 tile radius 15%=周围2格地块内所有我方陆军单位+15%战斗力 +Honor Complete=完整的荣誉政策 +Sovereignty=主权在民 +Neutral=泛泛之交 +Uniques=独有 +Spaceship part=太空飞船的部件 +George Washington=乔治·华盛顿 +Drill II=操练II级 +Relationship changes in another [turnsToRelationshipChange] turns=将在[turnsToRelationshipChange]回合后失去对该城邦的影响 +Liberty Complete=完整的自主政策 +Terracotta Army=兵马俑 +Acoustics=声学 +Stone=花岗石 +Scientific Revolution=科技革命 +Pick construction=选择建造/组建项目 +Aqueduct=引水渠 +Map type=地图类型 +Attacker Bonus=主动攻击加成 +One of our trades with [nation] has ended=我们与[nation]的一项贸易已经结束 +Rome=罗马 +Version=版本 +Provides a free [buildingName] in the city=城市获得一座免费的建筑:[buildingName] +Enemy=宿命之敌 +Map generation type= +'Better is bread with a happy heart than wealth with vexation.' - Amenemope=“快乐的温饱胜过烦恼的富裕。”——阿蒙尼莫普(古埃及学者) +Knight=骑士 +Trade Unions=联合公会 +One City Challenge=单城市挑战 +Ranged attacks may be performed over obstacles=越过障碍进行远程攻击 +Immediately creates a cheapest available cultural building in each of your first 4 cities for free=前4座城市免费获得一座文化建筑 +Metal Casting=金属铸造 +Gold=Gold +Broadcast Tower=广播塔 +Cover II=隐蔽II级 +Sortie=连续出击 +Maintenance=建筑维护费 +Dogfighting I=缠斗I级 +Silver=白银 +University=大学 +Science victory=科技胜利 +Adopt policy=推行政策 +An enemy [unit] has captured [cityname]=敌方的[unit]占领了[cityname] +'Now, somehow, in some new way, the sky seemed almost alien.' - Lyndon B. Johnson=“现在,不知怎的,通过某种新的手段,天空好像都被别国所占据了。”——林登·贝恩斯·约翰逊 +Spices=香料 +Turn=回合 +National ability=民族特性 +One of our trades with [nation] has been cut short=我们与[nation]的一项贸易已被削减 +'The only thing that saves us from the bureaucracy is it inefficiency' - Eugene McCarthy=“唯一能从官僚主义里拯救我们的是它自己的低效。”——尤金·麦卡锡(美国政治家) +Our mutual military struggle brings us closer together.=共同的戎马岁月拉近了彼此的距离。 +Alexander=亚历山大 ++1 gold from every trading post, double gold from Great Merchant trade missions=每处贸易站+1金钱,大商业家拓展贸易获得的金钱加倍 +Harbor=港口 +Tradition=传统政策 +Work has started on [construction]=开始建造/组建:[construction] +Points per turn=获得点数/回合 +Mathematics=数学 +City ruins=城市废墟 +Military Caste=军人阶层 +Crab=螃蟹 +Hoplite=希腊重步兵 +Unhappiness from population decreased by 10%=来自人口的不满-10% +Language=语言设置 +Burial Tomb=陵墓 +[greatPerson] points=[greatPerson]点数 +Bonus when intercepting [amount]%=执行拦截任务时+[amount]%战斗力 +Mechanized Infantry=机械化步兵 +'The whole country was tied together by radio. We all experienced the same heroes and comedians and singers. They were giants.' - Woody Allen=“整个国家被无线电联结在一起,我们都熟识同样的英雄、同样的喜剧演员和同样的歌手。他们都是时代的巨人。”——伍迪·艾伦 +Iron Working=铁器 +Anti-Tank Gun=反坦克炮 +This unit and all others in adjacent tiles heal 5 additional HP. This unit heals 5 additional HP outside of friendly territory.=本单位及其相邻单位每回合额外回复5生命值,该单位在己方领土以外每回合额外回复5生命值 +'So teach us to number our days, so that we may apply our hearts unto wisdom.' - Bible Psalms 90:12=“求你指教我们怎样数算自己的日子,好叫我们得着智慧的心。”——圣经·诗篇 90:12 +Secularism=世俗主义 +We will remember this.=这种侮辱我们绝不会忘记。请好自为之! +Korea=朝鲜 +Brute=蛮族勇士 +Stopped population growth=人口增长已停止 +We have discovered the lost technology of [techName] in the ruins!=我们在废墟中发现了失传已久的技术:[techName]! +Musketeer=法国火枪手 +Empire enters golden age=帝国进入黄金时代 ++1 Gold from each Trade Route, Oil resources provide double quantity=每条贸易路线+1金钱,石油储量加倍 +'I think we agree, the past is over.' - George W. Bush=“我想我们都同意:过去已经结束了。”——乔治·沃克·布什 +Discover Technology=发现科技 +Rough terrain penalty=复杂地形惩罚 +Chu-Ko-Nu=诸葛弩兵 +Shock III=冲击III级 +Drill III=操练III级 ++1 happiness from each luxury resource=每种奢侈资源额外+1快乐 +Bonus when intercepting [bonusAmount]%=拦截敌方飞机时+[bonusAmount]%战斗力 +Rationalism=理性政策 +Targeting I (air)=空中定位I级 +City health=城市耐久 +[cityName] has been razed to the ground!=[cityName]已被夷为平地! +Lakes=湖泊 +Our relationship: =我们的关系: +Metallurgy=冶金学 +Boarding Party III=接舷III级 ++10% food growth and +2 food in capital=首都食物积累速率+10%,+2食物 +Flight=航空 +Requires [buildingName] to be built in the city=需要城市建有[buildingName] +We have signed a public declaration of friendship=真是美好的一天!我们宣布:两个文明间将彼此尊重、相互友善! +Remove=删除 +Enemy city [cityName] has attacked our [ourUnit]=敌方城市[cityName]攻击了我们的[ourUnit] +Sell for [sellAmount] gold=卖掉获得[sellAmount]金钱 +Cannot enter ocean tiles until Astronomy=研究出天文学之前不能进入海洋地块 +Cost of purchasing culture buildings reduced by 50%=购买文化建筑时的金钱花费-50% +Remove Forest=砍伐森林 +Sydney Opera House=悉尼歌剧院 +Siege=攻坚能力 +Great General=大军事家 +Mining=采矿 ++5% Production for every Trade Route with a City-State in the empire=每条通往城邦的贸易路线+5%产能 +Windmill=风车 +Fertilizer=化肥 +Human=玩家 ++15% combat strength for melee units which have another military unit in an adjacent tile=近战单位可从每个相邻的己方单位获得15%战斗力加成 +in=完成需 +You can assign your own user ID there easily, and other players can copy their user IDs here and send them to you for you to include them in the game.=直接点击“设置为当前玩家”就可自动填入你自己的玩家ID。对于其他玩家,他们可在终端上打开游戏并在当前界面点击“复制玩家ID”按钮将他们的ID复制到剪贴板,然后通过网络发送给你,你可以在“开始新游戏”界面将接收到的ID填入他们想扮演文明的“Player ID”文本框内使其加入游戏。 +Citizenship=公民制度 +Foreign Legion=外籍军团 +Cultural victory=文化胜利 +India=印度 +Ally: =同盟: +Introduction to [nation]=介绍认识[nation] +'We live only to discover beauty, all else is a form of waiting' - Kahlil Gibran=“我们活着只为去发现美。其他一切都是某种形式的等待。”——哈里利·纪伯伦 +Farewell.=再见。 +'Don't clap too hard - it's a very old building.' - John Osbourne=“别拍那么重——这是座非常古老的建筑。”——约翰·奥斯本(英国剧作家) +Are you sure you want to sell this [building]?=您真的想卖掉[building]吗? +Renaissance era=启蒙时代 +Move units with a single tap=点击目标地块立即移动 +Universal Suffrage=普选制度 +Germany=德意志 +'The Law is a fortress on a hill that armies cannot take or floods wash away.' –- The Prophet Muhammed=“律法当如山巅之城:无论是敌人还是洪水都无法征服。”——先知穆罕默德 +Military Science=军事科学 +NUKE=核武器攻击 +You have declared friendship with our enemies!=渡尽劫波兄弟在,相逢一笑泯恩仇!我们宣布:冰释前嫌、携手前进! +World size=世界大小 +Could not load game=无法读取游戏 +[policyBranch] policy branch unlocked!=[policyBranch]分支解锁! +[unit] has no work to do.=[unit]处于闲置状态 +Moai=摩艾石像群 +[year] AD=公元[year]年 +Archaeology=考古学 +Longswordsman=长剑士 +Auto-assign city production=自动分配城市产能 ++1 gold from worked water tiles in city=所在城市每个工作的水上地块+1金钱 ++1 happiness from each Walls, Castle and Arsenal=每座城墙、城堡和兵工厂+1快乐 +Worker=工人 +Puppeted cities also generate 25% less Gold and Science.=已傀儡城市的金钱和科研产出-25%。 +Final=实际产出 +Machu Picchu=马丘比丘 +'Architecture has recorded the great ideas of the human race. Not only every religious symbol, but every human thought has its page in that vast book.' - Victor Hugo=“建筑记录了人类所有的伟大理念:不仅包括每一种宗教符号,还包括人类思想史的每一页。”——维克多·雨果 +Show minimap=显示小地图 +'It is a newspaper's duty to print the news and raise hell.' - The Chicago Times=“报纸的任务就是印出新闻和制造麻烦。”——芝加哥时报 +[turnsToPopulation] turns to new population=此城市将在[turnsToPopulation]轮后有1个新市民 +Acquire=变更为本城市所属 + for =,当建造在拥有下列资源的地块上时: +Barrage I=弹幕I级 +'Whoso pulleth out this sword of this stone and anvil, is rightwise king born of all England.' - Malory=“谁能将这柄剑从石台中拔出,他就是全英格兰真正的国王。”——托马斯·马洛里(中世纪英国诗人) +Nuclear Fission=核裂变 +Strategic resources=战略资源 +Adopt free policy=推行免费的政策 +Steel=炼钢 +No defensive terrain bonus=无地形防御力加成 +Rocket Artillery=火箭炮 +'Is it a fact - or have I dreamt it - that, by means of electricity, the world of matter has become a great nerve, vibrating thousands of miles in a breathless point of time?' - Nathaniel Hawthorne=“这是事实还是我的空想:电流能把物质世界变成一个巨大的神经网络,让震颤在瞬息之间传送数千英里?”——纳撒尼尔·霍桑(美国作家) +[year] BC=公元前[year]年 +'Wars may be fought with weapons, but they are won by men. It is the spirit of the men who follow and of the man who leads that gains the victory.' - George S. Patton=“战争是武器间的较量,但胜利必定要由人来夺取。是引领者及其追随者们的精神力量使他们赢得了胜利。”——乔治·史密斯·巴顿 +Temple=神庙 +Food eaten=人口消耗 +Terrain=地形修正 +Horses=马 +Start game!=开始游戏! +Puppet=傀儡城市 +Tundra=冻土 +Declare war=宣战 +Customs house=海关 +Snow=雪原 +'Most of us can, as we choose, make of this world either a palace or a prison' - John Lubbock=“我们中的大多数都能够自己做出选择,是把这个世界变成一座宫殿还是一座监狱。”——约翰·鲁伯克(英国学者) +The Oracle=神谕所 +Barbarian encampment=蛮族营地 +Reformation=宗教改革 +'Pale Death beats equally at the poor man's gate and at the palaces of kings.' - Horace=“苍白的死神平等地叩响穷人房舍的小门和国王宫殿的大门。”——昆图斯·贺拉斯·弗拉库斯 +Nothing=无 +Emperor=皇帝 +Trade=贸易 +Units fight as though they were at full strength even when damaged=受伤单位造成的伤害不减 ++15% combat strength for units fighting in friendly territory=单位在境内+15%战斗力 +'Industrialization based on machinery, already referred to as a characteristic of our age, is but one aspect of the revolution that is being wrought by technology.' - Emily Greene Balch=“由机械的发展而产生的工业化大生产,虽被看作我们这个时代的标志,但它其实不过是科技进步带来的诸多革命之一。”——艾米莉·格伦尼·巴尔奇(美国女经济学家) +Coast=海滨 +Medic II=治疗II级 +Clear terrain features=清除地貌 +You refused to stop settling cities near us=你拒绝停止在我们附近建城的决定是愚蠢的,好自为之! ++33% culture in all cities with a world wonder, immediately enter a golden age=所有拥有奇观的城市文化产出+33%,立即进入黄金时代 +Theocracy=神权政治 +Copper=赤铜 +[cityName] has been founded!=已建立城市:[cityName]! +Indirect Fire=间瞄射击 +Enables embarkation for land units=陆军单位拥有船运能力 +Courthouse=法庭 +Meritocracy=精英政治 +'The impact of nanotechnology is expected to exceed the impact that the electronics revolution has had on our lives.' - Richard Schwartz=“纳米技术给我们的生活所带来的冲击预计将超过电子革命。”——理查德·舒瓦茨(美国学者) +Scouting II=侦察II级 +Accept=同意 +We shall do as we please.=我们只是自己的奴隶,这里不需要弱者叽叽喳喳。 +'All men can see these tactics whereby I conquer, but what none can see is the strategy out of which victory is evolved.' - Sun Tzu=“人皆知吾所以胜之形,而莫知吾所以制胜之形”——孙子 +Upgrade to [unitType] ([goldCost] gold)=升级为[unitType]([goldCost]金钱) +Commerce Complete=完整的商业政策 +City=城市 +Range=攻击范围 +Remove your troops in our border immediately!=请停止这种无理而且野蛮的行径!马上让你的单位滚出我的领土! +Opera House=歌剧院 +Conduct Trade Mission=拓展贸易 +You have been defeated. Your civilization has been overwhelmed by its many foes. But your people do not despair, for they know that one day you shall return - and lead them forward to victory!=您被打败了。虽然您的文明曾经被许多敌人所征服,但是您的人民永不放弃,因为他们知道总有一天您会回来的!届时,您的文明将会成为天空中最耀眼的恒星! +Oil=石油 +Wonder is being built elsewhere=其他城市正在建造该奇观 +Cristo Redentor=救世基督像 +'John Henry said to his Captain, / 'A man ain't nothin' but a man, / And before I'll let your steam drill beat me down, / I'll die with the hammer in my hand.'' - Anonymous: The Ballad of John Henry, the Steel-Drivin' Man=他向队长立誓言:“硬汉虽说只是人,若要气钻胜过我,除非我死把锤扔。”——佚名:钢铁汉子约翰·亨利之歌(美国民谣) +Seaport=海运码头 +Clear improvements=清除设施 +Indicates the capital city=表示首都 +We noticed your new city near our borders, despite your promise. This will have....implications.=尽管你答应了,我们还是注意到你在我们边境附近建立了新城市。如果有不好的影响...这将是你自找的! +Their citizens generate 2x the unhappiness, unless you build a courthouse.=该城市人口产生的不满将是正常值的2倍,建造“法庭”可以使该值降低到正常值。 +Can embark and move over Coasts and Oceans immediately. +1 Sight when embarked. +10% Combat Strength bonus if within 2 tiles of a Moai.=单位初始就拥有船运能力,可进入海滨和海洋地块,单位处于船运状态时+1视野。摩艾石像群周围2格内单位+10%战斗力 +'Aeronautics was neither an industry nor a science. It was a miracle.' - Igor Sikorsky=“航空既不是一种工业也不是一门科学。它是一个奇迹。”——伊戈尔·西科尔斯基(美籍俄裔飞机设计师) +'The wonder is, not that the field of stars is so vast, but that man has measured it.' - Anatole France=“奇迹的不是那片星域如此辽阔,而是人类竟然成功测量了它。”——阿纳托尔·法郎士(法国小说家) ++25% great people rate=伟人点数积累速率+25% +Very well.=很好。 +Machinery=机械 +Targeting II=定位II级 +Copy saved game to clipboard=复制游戏存档到剪贴板 +'A good rule for rocket experimenters to follow is this: always assume that it will explode.' - Astronautics Magazine, 1937=“火箭研究人员要遵守的最好规矩就是:永远要假定它会爆炸。”——航天学杂志,1937 +[turnsToStarvation] turns to lose population=此城市将在[turnsToStarvation]轮后失去1个市民 +Multiplayer=多人游戏 +Gain 2 free technologies=获得2项免费科技 +Moving=移动中 +Pick a policy=选择一项社会政策 ++2 movement for all naval units=所有海军+2移动力 +'Those who cannot remember the past are condemned to repeat it.' - George Santayana=“不能铭记历史的人注定要重蹈覆辙。”——乔治·桑塔亚那(西班牙哲学家) +Liberating a city returns it to its original owner, giving you a massive relationship boost with them!=“解放城市”会将该城市归还给初始拥有者,这样做会极大增进两者的关系! +Gold cost of purchasing units -33%=购买单位时的金钱花费-33% +Hubble Space Telescope=哈勃太空望远镜 +B17=B-17“空中堡垒” +Ecology=生态学 +Reach 30 for friendship.=影响力到达30以建立友谊 +WaterSubmarine=海军潜艇单位 +Current points=当前点数 +'Education is the best provision for old age.' - Aristotle=“教育是老年生活最好的保障。”——亚里士多德 +Forest=森林 +Game Speed=游戏速度 +[unit] finished exploring.=[unit]已完成探索 ++25% gold in capital=首都金钱产出+25% +Companion Cavalry=马其顿禁卫骑兵 +Competitor=瑜亮之争 +Worker construction increased 25%=设施建造速度+25% +wounded units=受伤单位 +Ambush II=伏击II级 +'In preparing for battle I have always found that plans are useless, but planning is indispensable.' - Dwight D. Eisenhower=“在准备作战时,我常常发现定好的计划没有用处,但计划的过程仍必不可少。”——德怀特·戴维·艾森豪威尔 +XP for new units=新组建单位的初始经验值 +-15% to purchasing items in cities=所有城市购买项目所需的金钱花费-15% +Optics=光学 +Tileset=地块设置 +'The day when two army corps can annihilate each other in one second, all civilized nations, it is to be hoped, will recoil from war and discharge their troops.' - Alfred Nobel=“当在战场上交锋的两支军队能够在一秒钟之内同时毁灭对方的那一天到来时,也许他们会选择放弃战争并解除武装。”——阿尔弗雷德·诺贝尔 +Indeed!=这是无比正确的命运抉择! +Civilian=平民单位 +An enemy [RangedUnit] has destroyed the defence of [cityname]=敌方的[RangedUnit]摧毁了[cityname]的防御 +Enemy city [cityName] has destroyed our [ourUnit]=敌方城市[cityName]击杀了我们的[ourUnit] +Ballistics=弹道学 ++33% combat bonus in Forest/Jungle=位于森林/丛林时战斗力+33% +'...the location is one of the most beautiful to be found, holy and unapproachable, a worthy temple for the divine friend who has brought salvation and true blessing to the world.' - King Ludwig II of Bavaria=“……选址是所能找到的当中风景最美丽的,圣洁而不可亵渎,一座配得起神圣朋友的圣所,他们给这个世界带来超度和真正的赐福。”——巴伐利亚国王路德维希二世 +All land military units have +1 sight, 50% discount when purchasing tiles=陆军单位+1视野,购买地块花费-50% +Construction=建筑构造学 +'The introduction of so powerful an agent as steam to a carriage on wheels will make a great change in the situation of man.' - Thomas Jefferson=“引入蒸汽这样一个强大的助手来驱动车轮进行运输,将极大地改变人类的境地。”——托马斯·杰斐逊 +land units=陆军单位 +Could not download music!=无法下载音乐! +Clear current map=清除当前地图 +Can build improvement: Landmark=可以建造设施:风景地标 +Great Engineer=大工程师 +Could not load game from clipboard!=无法从剪贴板中读取游戏! +Catherine=叶卡捷琳娜二世 +Mohawk Warrior=莫霍克战士 +Crossbowman=弩手 +Unbuildable=不可组建单位 +Kamehameha I=卡美哈梅哈一世 +Auto-build roads=自动建造道(铁)路 +Coastal Raider II=海掠II级 +Domination=征服 +Food converts to production=食物转化为产能 ++1 happiness for every city connected to capital, -5% unhappiness from citizens=每座与首都相连的城市+1快乐, 来自于市民的不满-5% +Unit will heal every turn, even if it performs an action=每回合回复生命值(包括执行指令后) +How about something else...=谈判桌上的尔虞我诈才是我的兴趣所在。 +Close=关闭 +-33% unit upkeep costs=单位维护费-33% +Wheat=小麦 +Particle Physics=粒子物理 +Reveals [resource] on the map=在地图上显示[resource] +'In nothing do men more nearly approach the gods than in giving health to men.' - Cicero=“没有什么比给予他人健康更使人接近诸神。”——西塞罗 +Promotions=晋升 +Base happiness=基础快乐 +Mandate Of Heaven=天命观念 +March=长途行军 +Golden Age length increases +50%=黄金时代持续时间+50% +[wonder] has been built in a faraway land=[wonder]已在遥远的土地上建成 +Professional Army=职业军队 +Cotton=棉花 +Ramkhamhaeng=兰甘亨 +'The ancient Oracle said that I was the wisest of all the Greeks. It is because I alone, of all the Greeks, know that I know nothing' - Socrates=“先知的神谕曾说我是全希腊最聪明的人。因为我是所有希腊人中唯一知道自己一无所知的人。”——苏格拉底 +You have captured our cities!=多行不义必自毙!你竟敢占领我们的城市! +Invalid game ID!=无效的游戏ID! +[nation] agreed to stop settling cities near us!=[nation]同意停止在我们附近建城! +Construct improvement=建造设施 +Ironclad=铁甲舰 +Radar=雷达 +Agriculture=农业 +'For it soars to a height to match the sky, and as if surging up from among the other buildings it stands on high and looks down upon the remainder of the city, adorning it, because it is a part of it, but glorying in its own beauty' - Procopius, De Aedificis=“它高耸入云,从城市中矗立而起,俯视周遭;它是城中之物,但有超俗之美。”——《论建筑》,普罗科匹厄斯(拜占庭学者) +Armory=军械所 +Stock Exchange=证券交易所 +It looks like we can't make a map with the parameters you requested!=无法根据您的设置创建地图! +Your so-called 'friendship' is worth nothing.=你所谓的“友谊”一文不值。 +Must set up to ranged attack=必须架设才能远程攻击 +Information era=信息时代 +40% of food is carried over after a new citizen is born=城市增加新的市民后保留40%食物储备以加速成长 +Your arrogant demands are in bad taste=你的傲慢要求不合情理。 +Buy=购买 +Calendar=历法 +[amount] enemy units were spotted in our territory=我们的领土内发现了[amount]个敌方单位 +'He made an instrument to know if the moon shine at full or no.' - Samuel Butler=“他制造了一种仪器来仔细观察月亮的光芒。”——塞缪尔·巴特勒(英国学者) +Influence: =影响力: +Musketman=火枪手 +Can build improvement: Academy=可以建造设施:学院 +Luxury resources=奢侈资源 +Physics=物理学 +Remove Fallout=消除核辐射 +Enables nuclear weapon=允许建造核武器 + OR =或 +Great Wall=长城 +Pikeman=长枪兵 ++1 production from all sea resources worked by the city=所在城市每个已开发的海洋资源+1产能 +'Every great advance in science has issued from a new audacity of imagination.' - John Dewey=“科学的每一项重要进展都得力于大胆的想象力。”——约翰·杜威(美国教育家) +Can only be built in coastal cities=只能建在海滨城市 +Save game=保存游戏 +Coastal Raider I=海掠I级 +Wolfpack III=狼群III级 +Targeting III=定位III级 +Landsknecht=自由佣兵 ++1 happiness from every university, observatory and public school=每所大学、天文台和公立学校+1快乐 +Load map=读取地图 +Sistine Chapel=西斯廷教堂 +Leaning Tower of Pisa=比萨斜塔 +Harun al-Rashid=哈伦·拉希德 +'The katun is established at Chichen Itza. The settlement of the Itza shall take place there. The quetzal shall come, the green bird shall come. Ah Kantenal shall come. It is the word of God. The Itza shall come.' - The Books of Chilam Balam=“这个卡吞建立在奇琴伊察。伊察将在那里定居。格查尔鸟将会到来,绿色的鸟将会到来。阿·坎特纳尔将会到来。这是神的预言。伊察将会到来。”——《奇兰巴兰之书》(玛雅人的预言书) +Barrage II=弹幕II级 +'I live and love in God's peculiar light.' - Michelangelo Buonarroti=“我在上帝的圣光之下爱与生活。”——米开朗基罗·博纳洛第 +The world has been convulsed by war. Many great and powerful civilizations have fallen, but you have survived - and emerged victorious! The world will long remember your glorious triumph!=世界因战争而动荡不安。许多伟大而强盛的文明衰落了,但您幸存了下来——并且取得了胜利!世界将永远记住您的光辉与荣耀! +Can undertake a trade mission with City-State, giving a large sum of gold and [influenceAmount] Influence=可以拓展与城邦的贸易,获得大笔金钱和[influenceAmount]影响力 +Cocoa=可可 +We have allied with [nation].=我们已和[nation]缔结同盟 +Name=名称 +Piety Complete=完整的虔信政策 +Catapult=投石车 +Improvements=设施 ++1 culture in every city=每座城市+1文化 +Your warmongering ways are unacceptable to us.=你的穷兵黩武行径是我们无法容忍的! +[tradeOffer] from [otherCivName] has ended=与[otherCivName]的[tradeOffer]协议已经结束 +Click to copy=点击复制 +Formation I=列阵I级 +Architecture=建筑设计学 +Requires [buildingName] to be built in all cities=需要所有城市建有[buildingName] +Units enabled=解锁单位 +Razing the city annexes it, and starts razing the city to the ground.=“摧毁城市”意味着吞并该城市,同时开始将该城市夷为平地。 +Gain gold for each unit killed=杀死敌方单位时获得金钱 +May our nations forever remain united!=我们两个文明将永远肝胆相照、休戚与共地站在一起! +'Justice is an unassailable fortress, built on the brow of a mountain which cannot be overthrown by the violence of torrents, nor demolished by the force of armies.' - Joseph Addison=“正义是一座牢不可破的堡垒,屹立在山巅,既不为肆虐的洪流所冲倒,也不为军队的武力所毁坏。”——约瑟夫·艾迪生(英国散文家) +Democracy=民主主义 +Can only be built on Coastal tiles=只能建造在沿海地块 +Victory conditions=胜利方式 +[cityname] has expanded its borders!=[cityname]的边界已扩张! +Camp=猎场 +Options=选项 +Composite Bowman=复合弓兵 +Action=行动 +Archer=弓箭手 +Accuracy III=精准III级 +Militaristic=军事型 +Liberty=自主政策 +'Instrumental or mechanical science is the noblest and, above all others, the most useful.' - Leonardo da Vinci=“研究工具或机械的学问是最崇高的,也是所有学问当中最有用的。”——列奥纳多·达·芬奇 +Russia=俄罗斯 +Helicopter Gunship=武装直升机 +Electricity=电学 +China=中华 +Whales=鲸鱼 +Great War Infantry=一战步兵 +Pentagon=五角大楼 +Peace=和平 +Required tech: [requiredTech]=需要科技:[requiredTech] +Theology=神学 +Krepost=俄罗斯营垒 +'Three things are necessary for the salvarion of man: to know what he ought to believe; to know what he ought to desire; and to know what he ought to do' - St. Thomas Aquinas=“有三点是自我救赎所必需的:知道自己应该信什么;知道自己应该要什么;知道自己应该做什么。”——圣托马斯·阿奎那 +Health=生命 +Nuclear Plant=核电站 +Charge=猛烈冲锋 +Enemy land units must spend 1 extra movement point when inside your territory (obsolete upon Dynamite)=境内敌方陆军单位在任何地块额外消耗1移动力 +Huge=巨大 +Rough Terrain=复杂地形 +Bonus when performing air sweep [bonusAmount]%=空中游猎时+[bonusAmount]%战斗力 +Colossus=太阳神巨像 +Paper Maker=造纸坊 +Satrap's Court=总督府 +Years of peace have strengthened our relations.=多年的和平时光让我们更加珍视彼此的关系。 +You and [name] are no longer friends!=您与[name]不再是朋友了! +Aristocracy=贵族政治 +Infantry=现代步兵 +Our [interceptorName] intercepted and destroyed an enemy [attackerName]=我们的[interceptorName]拦截并摧毁了敌方的[attackerName] +Askia= +Castle=城堡 +'Regard your soldiers as your children, and they will follow you into the deepest valleys; look on them as your own beloved sons, and they will stand by you even unto death.' - Sun Tzu=“视卒如婴儿,故可与之赴深溪;视卒如爱子,故可与之俱死。”——孙子 +WaterRanged=海军远程单位 +Foreign Land=境外 +Monument=纪念碑 +Tile yields=地块产出 +Our open borders have brought us closer together.=开放的边界促进了彼此的了解,让我们的人民心心相通! +User ID=玩家ID +Epic=史诗 +Panzer=“虎II”坦克 +Gems=宝石 +Once you've created your game, enter this screen again to copy the Game ID and send it to the other players.=当你创建了多人游戏后,进入此界面同时点击“复制游戏ID”按钮将游戏ID复制到剪贴板并通过网络发送给其他玩家。 +Ally=歃血之盟 +Tiny=极小 +Police State=警察国家 +Dogfighting III=缠斗III级 +A barbarian [unitType] has joined us!=蛮族的[unitType]加入了我们! +'Even brute beasts and wandering birds do not fall into the same traps or nets twice.' - Saint Jerome=“即便是凶残的野兽和恍惚的小鸟也不会落入相同的陷阱或罗网两次。”——圣哲罗姆(古罗马学者) +Can build improvement: Customs house=可以建造设施:海关 +The Great Lighthouse=大灯塔 +Lancer=枪骑兵 +Specialist Buildings=专业建筑 +'Every genuine work of art has as much reason for being as the earth and the sun' - Ralph Waldo Emerson=“每一件伟大的艺术品都应如日月般长存。”——拉尔夫·沃尔多·爱默生 ++1 Science Per 2 Population=每2人口+1科研 +[civName] has denounced us!=[civName]谴责了我们! +Mass Media=大众传媒 +[cityName] has grown!=[cityName]人口增长! +Militarism=军国主义 +'As soon as men decide that all means are permitted to fight an evil, then their good becomes indistinguishable from the evil that they set out to destroy.' - Christopher Dawson=“当人们决定可以使用一切方式来同邪恶斗争时,他们的善良将变得和他们想要消灭的邪恶一样可怕。”——克里斯托弗·道森(英国学者) +Banking=银行业 +Compass=罗盘 +Replaceable Parts=可更换部件 +Mobile SAM=防空导弹车 +Technologies=科技 +A [unitName] has joined us!=[unitName]加入了我们! +[civName] gave us a [unitName] as gift near [cityName]!=[civName]将[cityName]附近的[unitName]赠予我们! +Working...=进行中... +Requires worked [resource] near city=需要城市附近有已开发的资源:[resource] +Provides 1 extra copy of each improved luxury resource near this City=所在城市每处已开发的奢侈资源额外增加1份 ++20% production when training melee units=组建近战单位时产能积累速率+20% +Current saves=当前存档 +Research Lab=研发实验室 +Show=显示 +Cities=城市 +Resources=资源 +Undefeated civs=未被征服的文明 +No human players selected!=未选择玩家! +Explore=自由探索 +All military naval units receive +1 movement and +1 sight=所有海军军事单位+1移动力和+1视野 +Denounce ([numberOfTurns] turns)=谴责([numberOfTurns]回合) +Closest city=最近的城市 +Hermitage=冬宫 +Alhambra=阿尔罕布拉宫 +Large=大 +Darius I=大流士一世 +Maintenance cost=建筑维护费 +Ambush I=伏击I级 +'Time crumbles things; everything grows old and is forgotten under the power of time' - Aristotle=“时间能粉碎一切;所有事物终将在时流中衰老并被遗忘。”——亚里士多德 +Forge=锻造场 +Freedom Complete=完整的自由政策 +Pearls=珍珠 +Furs=毛皮 +Medical Lab=医学实验室 +Occurs on [listOfTerrains]=可能出现在以下地形:[listOfTerrains] +50% of excess happiness added to culture towards policies=富余快乐的50%转化为文化 +Can speed up construction of a wonder=可以加快一座奇观的建造速度 +'Here Hector entered, with a spear eleven cubits long in his hand; the bronze point gleamed in front of him, and was fastened to the shaft of the spear by a ring of gold.' - Homer=“赫克托耳手持十一肘的长矛走上战场;黄金圆环固定的青铜矛尖在他身前闪耀。”——荷马 +Classical era=古典时代 +Declare war on [nation]=宣战[nation] +Wounded military units deal +25% damage=受伤单位给予敌方造成的伤害+25% +Fighter=战斗机 +Spaceship Factory=太空飞船工厂 +Occupied City=吞并的城市 +Warrior=勇士 +Railroad=铁路 +-10% combat strength for adjacent enemy units=相邻的敌方单位-10%战斗力 +'The Taj Mahal rises above the banks of the river like a solitary tear suspended on the cheek of time.' - Rabindranath Tagore=“泰姬陵伫立在河岸,如同时间的脸颊上一滴孤单的泪水。”——罗宾德拉纳特·泰戈尔 +Promote=晋升 +Radio=无线电 +We have encountered [civName]!=我们遇到了[civName]! +In resistance for another [numberOfTurns] turns=抵抗将持续额外[numberOfTurns]回合. +Ship of the Line=主力舰 +Hotseat=热座模式 +Enables Open Borders agreements=允许签订开放边境协定 +Our [attackerName] was destroyed by an intercepting [interceptorName]=我们的[attackerName]被敌方的[interceptorName]拦截并摧毁 +The population will gradually dwindle until the city is destroyed.=城市人口将会持续地减少直至该城市被完全摧毁。 +'The haft of the arrow has been feathered with one of the eagle's own plumes, we often give our enemies the means of our own destruction' - Aesop=“那老鹰所中箭矢的箭尾是由一根它自己的羽毛制成的。我们总是给敌人提供毁灭我们自己的工具。”——伊索 +[construction] has been built in [cityName]=[construction]已经在[cityName]被建造/组建 +Produce [thingToProduce]=产能利用:[thingToProduce] +Astronomy=天文学 +'The nations of the West hope that by means of steam communication all the world will become as one family.' - Townsend Harris=“西方国家希望蒸汽机所推动的相互交流能让全世界亲如一家。”——唐森·哈利斯(美国政治家) +Gandhi=甘地 +Persian Immortal=波斯长生军 +We have lost alliance with [nation].=我们和[nation]不再是同盟关系 +Ironworks=钢铁厂 +'Computers are like Old Testament gods: lots of rules and no mercy.' - Joseph Campbell=“计算机就如同旧约中的上帝:诸多戒命且没有怜悯。”——约瑟夫·坎贝尔(美国学者) +Get =获得 +Enables conversion of city production to gold=可将城市产能转化为金钱 +Oda Nobunaga=织田信长 +Gatling Gun=加特林机枪 +King=国王 +'Shall the clay say to him that fashioneth it, what makest thou?' - Bible Isaiah 45:9=“泥土岂可对陶工说:你在做什么呢?”——圣经·以赛亚书 45:9 +Archery=弓箭 +Start Golden Age=开启黄金时代 +Free Technology=获得1项免费科技 +Must be next to mountain=城市必须紧邻山脉 +Transportation upkeep=道(铁)路维护费 +Targeting II (air)=空中定位II级 +Can be found on =可能发现该资源的地形地貌: +Increases production of spaceship parts by 50%=建造太空飞船部件时产能积累速率+50% +You have declared friendship with our allies=兄弟齐心、其利断金!我们宣布:我们与盟友间兄弟般的友谊永世长存! +Our [$interceptorName] intercepted and attacked an enemy [$attackerName]=我们的[$interceptorName]拦截并攻击了敌方的[$attackerName] +Angkor Wat=吴哥窟 +Monastery=修道院 +Dogfighting II=缠斗II级 +6 tiles in every direction always visible=全方向6格视野范围 +Japan=日本 ++25% bonus vs Barbarians; gain Culture when you kill a barbarian unit=所有军事单位对蛮族的战斗力+25%,杀死蛮族单位时可获得文化奖励 +Marble=大理石 +Connects trade routes over water=通过水路建立贸易路线 +Operational Range=航程拓展 ++15% growth and +2 food in all cities=每座城市食物积累速率+15%,+2食物 +Load copied data=读取剪贴板中的游戏数据 +-50% food consumption by specialists=专业人员消耗的食物减半 +Tiles=地块 +Unassigned population=空闲人口 +'Thou shalt not muzzle the ox when he treadeth out the corn.' - Bible Deuteronomy 25:4=“牛在踹谷的时候,不可笼住它的嘴。”——圣经·申命记 25:4 +Stop razing city=停止摧毁城市 +Pay only one third the usual cost for naval unit maintenance. Melee naval units have a 1/3 chance to capture defeated naval units.=海上单位维护费为正常值的1/3,海军近战单位拥有1/3几率俘获战败的敌方海军单位 +Great Scientist=大科学家 +Grassland=草原 +Free Speech=言论自由 +Research of [technologyName] has completed!=[technologyName]的研究已完成! +Printing Press=印刷机 +Egypt=埃及 +Science=科研 +Improves movement speed on roads=提高道路上的移动速度 +Specialists produce half normal unhappiness=城市人口中专业人员产生的不满减半 +The Pyramids=大金字塔 +Culture in all cities increased by 25%=所有城市的文化产出+25% +Heal Instantly=浴火重生 +Disband this unit for [goldAmount] gold?=要解散这个单位获得[goldAmount]金钱吗? +Engineering=工程学 +[nation] starting location=[nation]起始位置 +Augustus Caesar=奥古斯都·恺撒 +The city will not produce anything.=城市将不会建造/组建任何项目 +Dynamite=炸药 +Provides 2 free workers=提供2个免费工人 +Destroy=摧毁 +Pottery=制陶 +'I find the great thing in this world is not so much where we stand, as in what direction we are moving.' - Oliver Wendell Holmes=“我认为现代世界里最重要的不是我们所处的位置,而是我们前进的方向。”——老奥利弗·温德尔·霍姆斯(美国诗人) +The Louvre=卢浮宫 +Tile yield from great improvement +100%, golden ages increase by 50%=建有设施的地块产出+100%,黄金时代持续时间+50% +Medieval era=中古时代 +Buildings=建筑 +Bonuses=相关加成 +water units=海军单位 +Galleass=桨帆战舰 +Our items=我们的贸易项目 +Attack=攻击 +You have publicly denounced us!=批判的武器不能代替武器的批判,谴责是无力的懦夫行为。 +Remove Railroad=拆除铁路 +Total=总计 +Can move after attacking=攻击后可移动 +[resourceName] not required=无需战略资源:[resourceName] +Pick improvement=选择设施 +May contain [listOfResources]=可能拥有下列资源:[listOfResources] +Camel Archer=骆驼骑射手 +Global status=全球进度 +[percentage] to unit defence=[percentage]单位防御力 diff --git a/android/assets/jsons/Tutorials/Tutorials_Czech.json b/android/assets/jsons/Tutorials/Tutorials_Czech.json index 65720d86..0fb5d10a 100644 --- a/android/assets/jsons/Tutorials/Tutorials_Czech.json +++ b/android/assets/jsons/Tutorials/Tutorials_Czech.json @@ -67,7 +67,7 @@ ] ], - Slow_Start: [ + _Slow_Start: [ [ "Během prvních pár tahů,", " máme jen velmi málo možností na výběr,", diff --git a/android/assets/jsons/Tutorials/Tutorials_English.json b/android/assets/jsons/Tutorials/Tutorials_English.json index 1c8eb0fd..89226ea8 100644 --- a/android/assets/jsons/Tutorials/Tutorials_English.json +++ b/android/assets/jsons/Tutorials/Tutorials_English.json @@ -45,7 +45,7 @@ ], - Slow_Start: [ + _Slow_Start: [ [ "In your first couple of turns,", " you will have very little options,", diff --git a/android/assets/jsons/Tutorials/Tutorials_French.json b/android/assets/jsons/Tutorials/Tutorials_French.json index c54b9b96..44c00286 100644 --- a/android/assets/jsons/Tutorials/Tutorials_French.json +++ b/android/assets/jsons/Tutorials/Tutorials_French.json @@ -211,7 +211,7 @@ ] ], - Slow_Start: [ + _Slow_Start: [ [ "Lors de vos premiers tours,", " vous aurez peu de choix.", diff --git a/android/assets/jsons/Tutorials/Tutorials_Italian.json b/android/assets/jsons/Tutorials/Tutorials_Italian.json index dc3b239f..01ee56dc 100644 --- a/android/assets/jsons/Tutorials/Tutorials_Italian.json +++ b/android/assets/jsons/Tutorials/Tutorials_Italian.json @@ -151,7 +151,7 @@ ] ], - Slow_Start: [ + _Slow_Start: [ [ "Nei tuoi primi turni, avrai ben poche opzioni, ma con il crescere della tua civiltà, aumenterà anche la quantità di cose che richiedono la tua attenzione." ] diff --git a/android/assets/jsons/Tutorials/Tutorials_Korean.json b/android/assets/jsons/Tutorials/Tutorials_Korean.json index 6cd51c76..69ae5769 100644 --- a/android/assets/jsons/Tutorials/Tutorials_Korean.json +++ b/android/assets/jsons/Tutorials/Tutorials_Korean.json @@ -71,7 +71,7 @@ ] ], - Slow_Start: [ + _Slow_Start: [ [ "이렇게 초반 몇 턴동안에는,", " 행동할 수 있는 선택지가 매우 적습니다.", diff --git a/android/assets/jsons/Tutorials/Tutorials_Polish.json b/android/assets/jsons/Tutorials/Tutorials_Polish.json index 1885243c..06d91ede 100644 --- a/android/assets/jsons/Tutorials/Tutorials_Polish.json +++ b/android/assets/jsons/Tutorials/Tutorials_Polish.json @@ -73,7 +73,7 @@ ] ], - Slow_Start: [ + _Slow_Start: [ [ "W pierwszych paru turach większość czynności będzie ograniczona,", "jednakże wraz z rozwojem Twojej cywilizacji ilość czynności zwiększy się", diff --git a/android/assets/jsons/Tutorials/Tutorials_Russian.json b/android/assets/jsons/Tutorials/Tutorials_Russian.json index 8411956b..a31dd257 100644 --- a/android/assets/jsons/Tutorials/Tutorials_Russian.json +++ b/android/assets/jsons/Tutorials/Tutorials_Russian.json @@ -139,7 +139,7 @@ ] ], - Slow_Start: [ + _Slow_Start: [ [ "В ваши первые несколько ходов", " у вас будет очень мало возможностей,", diff --git a/android/assets/jsons/Tutorials/Tutorials_Simplified_Chinese.json b/android/assets/jsons/Tutorials/Tutorials_Simplified_Chinese.json index 364ad513..158089c3 100644 --- a/android/assets/jsons/Tutorials/Tutorials_Simplified_Chinese.json +++ b/android/assets/jsons/Tutorials/Tutorials_Simplified_Chinese.json @@ -162,7 +162,7 @@ ] ], - Slow_Start: [ + _Slow_Start: [ [ "在游戏开始的最初几回合,", "您只需进行很少的操作。", diff --git a/android/assets/jsons/Tutorials/Tutorials_Traditional_Chinese.json b/android/assets/jsons/Tutorials/Tutorials_Traditional_Chinese.json index 89e1ec9f..64a37fd7 100644 --- a/android/assets/jsons/Tutorials/Tutorials_Traditional_Chinese.json +++ b/android/assets/jsons/Tutorials/Tutorials_Traditional_Chinese.json @@ -162,7 +162,7 @@ ] ], - Slow_Start: [ + _Slow_Start: [ [ "在游戏开始的最初几回合,", "您只需进行很少的操作。", diff --git a/android/assets/jsons/Tutorials/Tutorials_Ukrainian.json b/android/assets/jsons/Tutorials/Tutorials_Ukrainian.json index 73d2eb9f..22f6ca71 100644 --- a/android/assets/jsons/Tutorials/Tutorials_Ukrainian.json +++ b/android/assets/jsons/Tutorials/Tutorials_Ukrainian.json @@ -71,7 +71,7 @@ ] ], - Slow_Start: [ + _Slow_Start: [ [ "In your first couple of turns,", " you will have very little options,", diff --git a/core/src/com/unciv/UncivGame.kt b/core/src/com/unciv/UncivGame.kt index 8a9825b6..74abaeb3 100644 --- a/core/src/com/unciv/UncivGame.kt +++ b/core/src/com/unciv/UncivGame.kt @@ -9,9 +9,9 @@ import com.unciv.logic.GameInfo import com.unciv.logic.GameSaver import com.unciv.logic.GameStarter import com.unciv.logic.map.MapParameters -import com.unciv.models.gamebasics.Ruleset import com.unciv.models.metadata.GameParameters import com.unciv.models.metadata.GameSettings +import com.unciv.models.ruleset.Ruleset import com.unciv.ui.LanguagePickerScreen import com.unciv.ui.utils.CameraStageBaseScreen import com.unciv.ui.utils.ImageGetter diff --git a/core/src/com/unciv/logic/GameInfo.kt b/core/src/com/unciv/logic/GameInfo.kt index 70c3449e..8406c83c 100644 --- a/core/src/com/unciv/logic/GameInfo.kt +++ b/core/src/com/unciv/logic/GameInfo.kt @@ -10,7 +10,7 @@ import com.unciv.logic.civilization.LocationAction import com.unciv.logic.civilization.PlayerType import com.unciv.logic.map.TileInfo import com.unciv.logic.map.TileMap -import com.unciv.models.gamebasics.Difficulty +import com.unciv.models.ruleset.Difficulty import com.unciv.models.metadata.GameParameters import java.util.* diff --git a/core/src/com/unciv/logic/GameStarter.kt b/core/src/com/unciv/logic/GameStarter.kt index d54513d7..e036ae8a 100644 --- a/core/src/com/unciv/logic/GameStarter.kt +++ b/core/src/com/unciv/logic/GameStarter.kt @@ -5,7 +5,7 @@ import com.unciv.Constants import com.unciv.UncivGame import com.unciv.logic.civilization.CivilizationInfo import com.unciv.logic.map.* -import com.unciv.models.gamebasics.Ruleset +import com.unciv.models.ruleset.Ruleset import com.unciv.models.metadata.GameParameters import java.util.* import kotlin.collections.ArrayList diff --git a/core/src/com/unciv/logic/automation/Automation.kt b/core/src/com/unciv/logic/automation/Automation.kt index afe9660f..b9a914e3 100644 --- a/core/src/com/unciv/logic/automation/Automation.kt +++ b/core/src/com/unciv/logic/automation/Automation.kt @@ -5,9 +5,9 @@ import com.unciv.logic.city.CityInfo import com.unciv.logic.civilization.CivilizationInfo import com.unciv.logic.map.BFS import com.unciv.logic.map.TileInfo -import com.unciv.models.gamebasics.VictoryType -import com.unciv.models.gamebasics.unit.BaseUnit -import com.unciv.models.gamebasics.unit.UnitType +import com.unciv.models.ruleset.VictoryType +import com.unciv.models.ruleset.unit.BaseUnit +import com.unciv.models.ruleset.unit.UnitType import com.unciv.models.stats.Stats import kotlin.math.max import kotlin.math.sqrt diff --git a/core/src/com/unciv/logic/automation/ConstructionAutomation.kt b/core/src/com/unciv/logic/automation/ConstructionAutomation.kt index 1110afe1..b6db33b0 100644 --- a/core/src/com/unciv/logic/automation/ConstructionAutomation.kt +++ b/core/src/com/unciv/logic/automation/ConstructionAutomation.kt @@ -7,8 +7,8 @@ import com.unciv.logic.city.CityConstructions import com.unciv.logic.city.SpecialConstruction import com.unciv.logic.civilization.CityAction import com.unciv.logic.civilization.PlayerType -import com.unciv.models.gamebasics.Building -import com.unciv.models.gamebasics.VictoryType +import com.unciv.models.ruleset.Building +import com.unciv.models.ruleset.VictoryType import com.unciv.models.stats.Stat import kotlin.math.min import kotlin.math.sqrt diff --git a/core/src/com/unciv/logic/automation/NextTurnAutomation.kt b/core/src/com/unciv/logic/automation/NextTurnAutomation.kt index 307c2674..42a966c7 100644 --- a/core/src/com/unciv/logic/automation/NextTurnAutomation.kt +++ b/core/src/com/unciv/logic/automation/NextTurnAutomation.kt @@ -10,9 +10,9 @@ import com.unciv.logic.civilization.diplomacy.DiplomaticStatus import com.unciv.logic.civilization.diplomacy.RelationshipLevel import com.unciv.logic.map.MapUnit import com.unciv.logic.trade.* -import com.unciv.models.gamebasics.VictoryType -import com.unciv.models.gamebasics.tech.Technology -import com.unciv.models.gamebasics.tr +import com.unciv.models.ruleset.VictoryType +import com.unciv.models.ruleset.tech.Technology +import com.unciv.models.ruleset.tr import kotlin.math.min class NextTurnAutomation{ diff --git a/core/src/com/unciv/logic/automation/SpecificUnitAutomation.kt b/core/src/com/unciv/logic/automation/SpecificUnitAutomation.kt index 336f3026..2906b1d2 100644 --- a/core/src/com/unciv/logic/automation/SpecificUnitAutomation.kt +++ b/core/src/com/unciv/logic/automation/SpecificUnitAutomation.kt @@ -7,8 +7,8 @@ import com.unciv.logic.civilization.GreatPersonManager import com.unciv.logic.civilization.diplomacy.DiplomacyFlags import com.unciv.logic.map.MapUnit import com.unciv.logic.map.TileInfo -import com.unciv.models.gamebasics.tile.ResourceType -import com.unciv.models.gamebasics.tile.TileResource +import com.unciv.models.ruleset.tile.ResourceType +import com.unciv.models.ruleset.tile.TileResource import com.unciv.models.stats.Stats import com.unciv.ui.worldscreen.unit.UnitActions diff --git a/core/src/com/unciv/logic/automation/UnitAutomation.kt b/core/src/com/unciv/logic/automation/UnitAutomation.kt index 64948967..1c01fe69 100644 --- a/core/src/com/unciv/logic/automation/UnitAutomation.kt +++ b/core/src/com/unciv/logic/automation/UnitAutomation.kt @@ -10,7 +10,7 @@ import com.unciv.logic.civilization.diplomacy.DiplomaticStatus import com.unciv.logic.map.MapUnit import com.unciv.logic.map.PathsToTilesWithinTurn import com.unciv.logic.map.TileInfo -import com.unciv.models.gamebasics.unit.UnitType +import com.unciv.models.ruleset.unit.UnitType import com.unciv.ui.worldscreen.unit.UnitAction import com.unciv.ui.worldscreen.unit.UnitActions diff --git a/core/src/com/unciv/logic/automation/WorkerAutomation.kt b/core/src/com/unciv/logic/automation/WorkerAutomation.kt index 764ae3d4..57c42702 100644 --- a/core/src/com/unciv/logic/automation/WorkerAutomation.kt +++ b/core/src/com/unciv/logic/automation/WorkerAutomation.kt @@ -7,7 +7,7 @@ import com.unciv.logic.civilization.CivilizationInfo import com.unciv.logic.map.BFS import com.unciv.logic.map.MapUnit import com.unciv.logic.map.TileInfo -import com.unciv.models.gamebasics.tile.TileImprovement +import com.unciv.models.ruleset.tile.TileImprovement class WorkerAutomation(val unit: MapUnit) { diff --git a/core/src/com/unciv/logic/battle/Battle.kt b/core/src/com/unciv/logic/battle/Battle.kt index 7af682c8..5182ad4d 100644 --- a/core/src/com/unciv/logic/battle/Battle.kt +++ b/core/src/com/unciv/logic/battle/Battle.kt @@ -11,7 +11,7 @@ import com.unciv.logic.civilization.PopupAlert import com.unciv.logic.civilization.diplomacy.DiplomaticModifiers import com.unciv.logic.map.RoadStatus import com.unciv.logic.map.TileInfo -import com.unciv.models.gamebasics.unit.UnitType +import com.unciv.models.ruleset.unit.UnitType import java.util.* import kotlin.math.max diff --git a/core/src/com/unciv/logic/battle/BattleDamage.kt b/core/src/com/unciv/logic/battle/BattleDamage.kt index f754a98d..b5632fc3 100644 --- a/core/src/com/unciv/logic/battle/BattleDamage.kt +++ b/core/src/com/unciv/logic/battle/BattleDamage.kt @@ -3,7 +3,7 @@ package com.unciv.logic.battle import com.unciv.Constants import com.unciv.logic.map.MapUnit import com.unciv.logic.map.TileInfo -import com.unciv.models.gamebasics.unit.UnitType +import com.unciv.models.ruleset.unit.UnitType import java.util.* import kotlin.collections.HashMap import kotlin.collections.set diff --git a/core/src/com/unciv/logic/battle/CityCombatant.kt b/core/src/com/unciv/logic/battle/CityCombatant.kt index 47e339d4..f36a1f83 100644 --- a/core/src/com/unciv/logic/battle/CityCombatant.kt +++ b/core/src/com/unciv/logic/battle/CityCombatant.kt @@ -4,7 +4,7 @@ import com.unciv.Constants import com.unciv.logic.city.CityInfo import com.unciv.logic.civilization.CivilizationInfo import com.unciv.logic.map.TileInfo -import com.unciv.models.gamebasics.unit.UnitType +import com.unciv.models.ruleset.unit.UnitType import kotlin.math.pow import kotlin.math.roundToInt diff --git a/core/src/com/unciv/logic/battle/ICombatant.kt b/core/src/com/unciv/logic/battle/ICombatant.kt index 58a7f5e3..053ab041 100644 --- a/core/src/com/unciv/logic/battle/ICombatant.kt +++ b/core/src/com/unciv/logic/battle/ICombatant.kt @@ -2,7 +2,7 @@ package com.unciv.logic.battle import com.unciv.logic.civilization.CivilizationInfo import com.unciv.logic.map.TileInfo -import com.unciv.models.gamebasics.unit.UnitType +import com.unciv.models.ruleset.unit.UnitType interface ICombatant{ fun getName(): String diff --git a/core/src/com/unciv/logic/battle/MapUnitCombatant.kt b/core/src/com/unciv/logic/battle/MapUnitCombatant.kt index 9d318d3e..38b4ee79 100644 --- a/core/src/com/unciv/logic/battle/MapUnitCombatant.kt +++ b/core/src/com/unciv/logic/battle/MapUnitCombatant.kt @@ -3,7 +3,7 @@ package com.unciv.logic.battle import com.unciv.logic.civilization.CivilizationInfo import com.unciv.logic.map.MapUnit import com.unciv.logic.map.TileInfo -import com.unciv.models.gamebasics.unit.UnitType +import com.unciv.models.ruleset.unit.UnitType class MapUnitCombatant(val unit: MapUnit) : ICombatant { override fun getHealth(): Int = unit.health diff --git a/core/src/com/unciv/logic/city/CityConstructions.kt b/core/src/com/unciv/logic/city/CityConstructions.kt index 30a203de..698a5020 100644 --- a/core/src/com/unciv/logic/city/CityConstructions.kt +++ b/core/src/com/unciv/logic/city/CityConstructions.kt @@ -5,8 +5,8 @@ import com.unciv.Constants import com.unciv.logic.automation.ConstructionAutomation import com.unciv.logic.civilization.AlertType import com.unciv.logic.civilization.PopupAlert -import com.unciv.models.gamebasics.Building -import com.unciv.models.gamebasics.tr +import com.unciv.models.ruleset.Building +import com.unciv.models.ruleset.tr import com.unciv.models.stats.Stats import com.unciv.ui.utils.withItem import com.unciv.ui.utils.withoutItem @@ -33,10 +33,10 @@ class CityConstructions { return toReturn } - internal fun getBuildableBuildings(): List = cityInfo.getGameBasics().Buildings.values + internal fun getBuildableBuildings(): List = cityInfo.getRuleset().Buildings.values .filter { it.isBuildable(this) } - fun getConstructableUnits() = cityInfo.getGameBasics().Units.values + fun getConstructableUnits() = cityInfo.getRuleset().Units.values .filter { it.isBuildable(this) } fun getStats(): Stats { @@ -94,7 +94,7 @@ class CityConstructions { } internal fun getConstruction(constructionName: String): IConstruction { - val gameBasics = cityInfo.getGameBasics() + val gameBasics = cityInfo.getRuleset() if (gameBasics.Buildings.containsKey(constructionName)) return gameBasics.Buildings[constructionName]!! else if (gameBasics.Units.containsKey(constructionName)) @@ -155,7 +155,7 @@ class CityConstructions { //region state changing functions fun setTransients(){ - builtBuildingObjects = ArrayList(builtBuildings.map { cityInfo.getGameBasics().Buildings[it]!! }) + builtBuildingObjects = ArrayList(builtBuildings.map { cityInfo.getRuleset().Buildings[it]!! }) } fun addProductionPoints(productionToAdd: Int) { @@ -218,13 +218,13 @@ class CityConstructions { } fun addBuilding(buildingName:String){ - val buildingObject = cityInfo.getGameBasics().Buildings[buildingName]!! + val buildingObject = cityInfo.getRuleset().Buildings[buildingName]!! builtBuildingObjects = builtBuildingObjects.withItem(buildingObject) builtBuildings.add(buildingName) } fun removeBuilding(buildingName:String){ - val buildingObject = cityInfo.getGameBasics().Buildings[buildingName]!! + val buildingObject = cityInfo.getRuleset().Buildings[buildingName]!! builtBuildingObjects = builtBuildingObjects.withoutItem(buildingObject) builtBuildings.remove(buildingName) } diff --git a/core/src/com/unciv/logic/city/CityInfo.kt b/core/src/com/unciv/logic/city/CityInfo.kt index 249ef8da..37ff2615 100644 --- a/core/src/com/unciv/logic/city/CityInfo.kt +++ b/core/src/com/unciv/logic/city/CityInfo.kt @@ -15,8 +15,8 @@ import com.unciv.logic.map.TileMap import com.unciv.logic.trade.TradeLogic import com.unciv.logic.trade.TradeOffer import com.unciv.logic.trade.TradeType -import com.unciv.models.gamebasics.tile.ResourceSupplyList -import com.unciv.models.gamebasics.tile.ResourceType +import com.unciv.models.ruleset.tile.ResourceSupplyList +import com.unciv.models.ruleset.tile.ResourceType import com.unciv.models.stats.Stats import com.unciv.ui.utils.withoutItem import kotlin.math.min @@ -119,7 +119,7 @@ class CityInfo { fun getTiles(): List = tiles.map { tileMap[it] } fun getWorkableTiles() = getTiles().filter { it in tilesInRange } - fun getGameBasics() = civInfo.gameInfo.ruleSet + fun getRuleset() = civInfo.gameInfo.ruleSet fun getCityResources(): ResourceSupplyList { val cityResources = ResourceSupplyList() @@ -134,7 +134,7 @@ class CityInfo { } for (building in cityConstructions.getBuiltBuildings().filter { it.requiredResource != null }) { - val resource = getGameBasics().TileResources[building.requiredResource]!! + val resource = getRuleset().TileResources[building.requiredResource]!! cityResources.add(resource, -1, "Buildings") } @@ -161,7 +161,7 @@ class CityInfo { // Even if the improvement exists (we conquered an enemy city or somesuch) or we have a city on it, we won't get the resource until the correct tech is researched if (resource.improvement!=null){ - val improvement = getGameBasics().TileImprovements[resource.improvement!!]!! + val improvement = getRuleset().TileImprovements[resource.improvement!!]!! if(improvement.techRequired!=null && !civInfo.tech.isResearched(improvement.techRequired!!)) return 0 } @@ -472,15 +472,15 @@ class CityInfo { private fun tryUpdateRoadStatus(){ if(getCenterTile().roadStatus==RoadStatus.None - && getGameBasics().TileImprovements["Road"]!!.techRequired in civInfo.tech.techsResearched) + && getRuleset().TileImprovements["Road"]!!.techRequired in civInfo.tech.techsResearched) getCenterTile().roadStatus=RoadStatus.Road else if(getCenterTile().roadStatus!=RoadStatus.Railroad - && getGameBasics().TileImprovements["Railroad"]!!.techRequired in civInfo.tech.techsResearched) + && getRuleset().TileImprovements["Railroad"]!!.techRequired in civInfo.tech.techsResearched) getCenterTile().roadStatus=RoadStatus.Railroad } - fun getGoldForSellingBuilding(buildingName:String) = getGameBasics().Buildings[buildingName]!!.cost / 10 + fun getGoldForSellingBuilding(buildingName:String) = getRuleset().Buildings[buildingName]!!.cost / 10 fun sellBuilding(buildingName:String){ cityConstructions.builtBuildings.remove(buildingName) diff --git a/core/src/com/unciv/logic/city/CityStats.kt b/core/src/com/unciv/logic/city/CityStats.kt index 9ff267f9..d89a82ac 100644 --- a/core/src/com/unciv/logic/city/CityStats.kt +++ b/core/src/com/unciv/logic/city/CityStats.kt @@ -6,9 +6,9 @@ import com.unciv.logic.civilization.CityStateType import com.unciv.logic.civilization.diplomacy.RelationshipLevel import com.unciv.logic.map.BFS import com.unciv.logic.map.RoadStatus -import com.unciv.models.gamebasics.Building -import com.unciv.models.gamebasics.unit.BaseUnit -import com.unciv.models.gamebasics.unit.UnitType +import com.unciv.models.ruleset.Building +import com.unciv.models.ruleset.unit.BaseUnit +import com.unciv.models.ruleset.unit.UnitType import com.unciv.models.stats.Stat import com.unciv.models.stats.Stats @@ -74,7 +74,7 @@ class CityStats { private fun getStatPercentBonusesFromRailroad(): Stats { val stats = Stats() - val techEnablingRailroad = cityInfo.getGameBasics().TileImprovements["Railroad"]!!.techRequired!! + val techEnablingRailroad = cityInfo.getRuleset().TileImprovements["Railroad"]!!.techRequired!! // If we conquered enemy cities connected by railroad, but we don't yet have that tech, // we shouldn't get bonuses, it's as if the tracks aare layed out but we can't operate them. if (cityInfo.civInfo.tech.isResearched(techEnablingRailroad) diff --git a/core/src/com/unciv/logic/civilization/CivInfoStats.kt b/core/src/com/unciv/logic/civilization/CivInfoStats.kt index 14f54863..6acc5f46 100644 --- a/core/src/com/unciv/logic/civilization/CivInfoStats.kt +++ b/core/src/com/unciv/logic/civilization/CivInfoStats.kt @@ -2,7 +2,7 @@ package com.unciv.logic.civilization import com.unciv.logic.civilization.diplomacy.RelationshipLevel import com.unciv.logic.map.RoadStatus -import com.unciv.models.gamebasics.tile.ResourceType +import com.unciv.models.ruleset.tile.ResourceType import com.unciv.models.stats.Stat import com.unciv.models.stats.StatMap import com.unciv.models.stats.Stats diff --git a/core/src/com/unciv/logic/civilization/CivInfoTransientUpdater.kt b/core/src/com/unciv/logic/civilization/CivInfoTransientUpdater.kt index f09ce4da..f03c59b1 100644 --- a/core/src/com/unciv/logic/civilization/CivInfoTransientUpdater.kt +++ b/core/src/com/unciv/logic/civilization/CivInfoTransientUpdater.kt @@ -4,7 +4,7 @@ import com.badlogic.gdx.graphics.Color import com.unciv.logic.city.CityInfo import com.unciv.logic.map.BFS import com.unciv.logic.map.TileInfo -import com.unciv.models.gamebasics.tile.ResourceSupplyList +import com.unciv.models.ruleset.tile.ResourceSupplyList import java.util.* import kotlin.collections.HashMap import kotlin.collections.set diff --git a/core/src/com/unciv/logic/civilization/CivilizationInfo.kt b/core/src/com/unciv/logic/civilization/CivilizationInfo.kt index 174152f6..0ea16890 100644 --- a/core/src/com/unciv/logic/civilization/CivilizationInfo.kt +++ b/core/src/com/unciv/logic/civilization/CivilizationInfo.kt @@ -14,10 +14,10 @@ import com.unciv.logic.map.MapUnit import com.unciv.logic.map.TileInfo import com.unciv.logic.trade.TradeEvaluation import com.unciv.logic.trade.TradeRequest -import com.unciv.models.gamebasics.* -import com.unciv.models.gamebasics.tech.TechEra -import com.unciv.models.gamebasics.tile.ResourceSupplyList -import com.unciv.models.gamebasics.unit.BaseUnit +import com.unciv.models.ruleset.* +import com.unciv.models.ruleset.tech.TechEra +import com.unciv.models.ruleset.tile.ResourceSupplyList +import com.unciv.models.ruleset.unit.BaseUnit import com.unciv.models.stats.Stats import java.util.* import kotlin.collections.ArrayList diff --git a/core/src/com/unciv/logic/civilization/PolicyManager.kt b/core/src/com/unciv/logic/civilization/PolicyManager.kt index 43a82f0d..8cdd31c3 100644 --- a/core/src/com/unciv/logic/civilization/PolicyManager.kt +++ b/core/src/com/unciv/logic/civilization/PolicyManager.kt @@ -1,8 +1,8 @@ package com.unciv.logic.civilization import com.unciv.Constants -import com.unciv.models.gamebasics.Policy -import com.unciv.models.gamebasics.VictoryType +import com.unciv.models.ruleset.Policy +import com.unciv.models.ruleset.VictoryType import kotlin.math.min import kotlin.math.pow import kotlin.math.roundToInt diff --git a/core/src/com/unciv/logic/civilization/TechManager.kt b/core/src/com/unciv/logic/civilization/TechManager.kt index badc5063..36afc782 100644 --- a/core/src/com/unciv/logic/civilization/TechManager.kt +++ b/core/src/com/unciv/logic/civilization/TechManager.kt @@ -5,8 +5,8 @@ import com.badlogic.gdx.graphics.Color import com.unciv.Constants import com.unciv.UncivGame import com.unciv.logic.map.RoadStatus -import com.unciv.models.gamebasics.tech.Technology -import com.unciv.models.gamebasics.unit.BaseUnit +import com.unciv.models.ruleset.tech.Technology +import com.unciv.models.ruleset.unit.BaseUnit import com.unciv.ui.utils.withItem import java.util.* import kotlin.collections.ArrayList @@ -43,10 +43,10 @@ class TechManager { return toReturn } - fun getGameBasics() = civInfo.gameInfo.ruleSet + fun getRuleset() = civInfo.gameInfo.ruleSet fun costOfTech(techName: String): Int { - var techCost = getGameBasics().Technologies[techName]!!.cost.toFloat() + var techCost = getRuleset().Technologies[techName]!!.cost.toFloat() if (civInfo.isPlayerCivilization()) techCost *= civInfo.getDifficulty().researchCostModifier techCost *= civInfo.gameInfo.gameParameters.gameSpeed.getModifier() @@ -69,7 +69,7 @@ class TechManager { fun currentTechnology(): Technology? { val currentTechnologyName = currentTechnologyName() if (currentTechnologyName == null) return null - return getGameBasics().Technologies[currentTechnologyName] + return getRuleset().Technologies[currentTechnologyName] } fun currentTechnologyName(): String? { @@ -89,7 +89,7 @@ class TechManager { fun isResearched(TechName: String): Boolean = techsResearched.contains(TechName) fun canBeResearched(TechName: String): Boolean { - return getGameBasics().Technologies[TechName]!!.prerequisites.all { isResearched(it) } + return getRuleset().Technologies[TechName]!!.prerequisites.all { isResearched(it) } } fun getTechUniques() = researchedTechUniques @@ -110,7 +110,7 @@ class TechManager { (isResearched(techToCheck.name) || prerequisites.contains(techToCheck)) ) continue //no need to add or check prerequisites for (prerequisite in techToCheck.prerequisites) - checkPrerequisites.add(getGameBasics().Technologies[prerequisite]!!) + checkPrerequisites.add(getRuleset().Technologies[prerequisite]!!) prerequisites.add(techToCheck) } @@ -132,8 +132,8 @@ class TechManager { // We finished it! // http://www.civclub.net/bbs/forum.php?mod=viewthread&tid=123976 overflowScience = techsInProgress[currentTechnology]!! - costOfTech(currentTechnology) - if(overflowScience > max(scienceForNewTurn * 5, getGameBasics().Technologies[currentTechnology]!!.cost)) - overflowScience = max(scienceForNewTurn * 5, getGameBasics().Technologies[currentTechnology]!!.cost) + if(overflowScience > max(scienceForNewTurn * 5, getRuleset().Technologies[currentTechnology]!!.cost)) + overflowScience = max(scienceForNewTurn * 5, getRuleset().Technologies[currentTechnology]!!.cost) addTechnology(currentTechnology) } @@ -151,7 +151,7 @@ class TechManager { techsResearched.add(techName) // this is to avoid concurrent modification problems - val newTech = getGameBasics().Technologies[techName]!! + val newTech = getRuleset().Technologies[techName]!! researchedTechnologies = researchedTechnologies.withItem(newTech) for(unique in newTech.uniques) researchedTechUniques = researchedTechUniques.withItem(unique) @@ -163,11 +163,11 @@ class TechManager { val currentEra = civInfo.getEra() if (previousEra < currentEra) { civInfo.addNotification("You have entered the [$currentEra era]!", null, Color.GOLD) - getGameBasics().PolicyBranches.values.filter { it.era == currentEra } + getRuleset().PolicyBranches.values.filter { it.era == currentEra } .forEach { civInfo.addNotification("[" + it.name + "] policy branch unlocked!", null, Color.PURPLE) } } - for(revealedResource in getGameBasics().TileResources.values.filter{ techName == it.revealedBy }){ + for(revealedResource in getRuleset().TileResources.values.filter{ techName == it.revealedBy }){ for (tileInfo in civInfo.gameInfo.tileMap.values .filter { it.resource == revealedResource.name && civInfo == it.getOwner() }) { @@ -181,7 +181,7 @@ class TechManager { } } - val obsoleteUnits = getGameBasics().Units.values.filter { it.obsoleteTech == techName } + val obsoleteUnits = getRuleset().Units.values.filter { it.obsoleteTech == techName } for (city in civInfo.cities) if (city.cityConstructions.getCurrentConstruction() in obsoleteUnits) { val currentConstructionUnit = city.cityConstructions.getCurrentConstruction() as BaseUnit @@ -217,7 +217,7 @@ class TechManager { techsToResearch = newTechToReseach } - researchedTechnologies.addAll(techsResearched.map { getGameBasics().Technologies[it]!! }) + researchedTechnologies.addAll(techsResearched.map { getRuleset().Technologies[it]!! }) researchedTechUniques.addAll(researchedTechnologies.flatMap { it.uniques }) updateTransientBooleans() } @@ -235,9 +235,9 @@ class TechManager { } fun getBestRoadAvailable(): RoadStatus { - if (!isResearched(RoadStatus.Road.improvement(getGameBasics())!!.techRequired!!)) return RoadStatus.None + if (!isResearched(RoadStatus.Road.improvement(getRuleset())!!.techRequired!!)) return RoadStatus.None - val techEnablingRailroad = RoadStatus.Railroad.improvement(getGameBasics())!!.techRequired!! + val techEnablingRailroad = RoadStatus.Railroad.improvement(getRuleset())!!.techRequired!! val canBuildRailroad = isResearched(techEnablingRailroad) return if (canBuildRailroad) RoadStatus.Railroad else RoadStatus.Road diff --git a/core/src/com/unciv/logic/civilization/VictoryManager.kt b/core/src/com/unciv/logic/civilization/VictoryManager.kt index 44e00f32..d5e45c92 100644 --- a/core/src/com/unciv/logic/civilization/VictoryManager.kt +++ b/core/src/com/unciv/logic/civilization/VictoryManager.kt @@ -1,7 +1,7 @@ package com.unciv.logic.civilization import com.unciv.models.Counter -import com.unciv.models.gamebasics.VictoryType +import com.unciv.models.ruleset.VictoryType class VictoryManager { @Transient lateinit var civInfo: CivilizationInfo diff --git a/core/src/com/unciv/logic/civilization/diplomacy/DiplomacyManager.kt b/core/src/com/unciv/logic/civilization/diplomacy/DiplomacyManager.kt index 6b772b03..e8ed584c 100644 --- a/core/src/com/unciv/logic/civilization/diplomacy/DiplomacyManager.kt +++ b/core/src/com/unciv/logic/civilization/diplomacy/DiplomacyManager.kt @@ -8,7 +8,7 @@ import com.unciv.logic.civilization.CivilizationInfo import com.unciv.logic.civilization.PopupAlert import com.unciv.logic.trade.Trade import com.unciv.logic.trade.TradeType -import com.unciv.models.gamebasics.tile.ResourceSupplyList +import com.unciv.models.ruleset.tile.ResourceSupplyList enum class RelationshipLevel{ Unforgivable, diff --git a/core/src/com/unciv/logic/map/MapGenerator.kt b/core/src/com/unciv/logic/map/MapGenerator.kt index c835b68b..c34a06a2 100644 --- a/core/src/com/unciv/logic/map/MapGenerator.kt +++ b/core/src/com/unciv/logic/map/MapGenerator.kt @@ -4,9 +4,9 @@ import com.badlogic.gdx.math.Vector2 import com.unciv.Constants import com.unciv.logic.HexMath import com.unciv.models.Counter -import com.unciv.models.gamebasics.Ruleset -import com.unciv.models.gamebasics.tile.ResourceType -import com.unciv.models.gamebasics.tile.TerrainType +import com.unciv.models.ruleset.Ruleset +import com.unciv.models.ruleset.tile.ResourceType +import com.unciv.models.ruleset.tile.TerrainType import java.util.* import kotlin.collections.HashMap import kotlin.math.* diff --git a/core/src/com/unciv/logic/map/MapUnit.kt b/core/src/com/unciv/logic/map/MapUnit.kt index bebb9553..ebb92eb2 100644 --- a/core/src/com/unciv/logic/map/MapUnit.kt +++ b/core/src/com/unciv/logic/map/MapUnit.kt @@ -9,11 +9,11 @@ import com.unciv.logic.automation.WorkerAutomation import com.unciv.logic.civilization.CivilizationInfo import com.unciv.logic.map.action.MapUnitAction import com.unciv.logic.map.action.StringAction -import com.unciv.models.gamebasics.Ruleset -import com.unciv.models.gamebasics.tech.TechEra -import com.unciv.models.gamebasics.tile.TerrainType -import com.unciv.models.gamebasics.unit.BaseUnit -import com.unciv.models.gamebasics.unit.UnitType +import com.unciv.models.ruleset.Ruleset +import com.unciv.models.ruleset.tech.TechEra +import com.unciv.models.ruleset.tile.TerrainType +import com.unciv.models.ruleset.unit.BaseUnit +import com.unciv.models.ruleset.unit.UnitType import java.text.DecimalFormat class MapUnit { diff --git a/core/src/com/unciv/logic/map/RoadStatus.kt b/core/src/com/unciv/logic/map/RoadStatus.kt index 71e84926..4d9c7a51 100644 --- a/core/src/com/unciv/logic/map/RoadStatus.kt +++ b/core/src/com/unciv/logic/map/RoadStatus.kt @@ -2,7 +2,7 @@ package com.unciv.logic.map import com.unciv.logic.map.RoadStatus.Railroad import com.unciv.logic.map.RoadStatus.Road -import com.unciv.models.gamebasics.Ruleset +import com.unciv.models.ruleset.Ruleset /** * You can use RoadStatus.name to identify [Road] and [Railroad] diff --git a/core/src/com/unciv/logic/map/TileInfo.kt b/core/src/com/unciv/logic/map/TileInfo.kt index adad4ffb..041519a2 100644 --- a/core/src/com/unciv/logic/map/TileInfo.kt +++ b/core/src/com/unciv/logic/map/TileInfo.kt @@ -5,9 +5,9 @@ import com.unciv.Constants import com.unciv.UncivGame import com.unciv.logic.city.CityInfo import com.unciv.logic.civilization.CivilizationInfo -import com.unciv.models.gamebasics.Ruleset -import com.unciv.models.gamebasics.tile.* -import com.unciv.models.gamebasics.tr +import com.unciv.models.ruleset.Ruleset +import com.unciv.models.ruleset.tile.* +import com.unciv.models.ruleset.tr import com.unciv.models.stats.Stats import kotlin.math.abs diff --git a/core/src/com/unciv/logic/map/TileMap.kt b/core/src/com/unciv/logic/map/TileMap.kt index 72ae413c..3a804e4e 100644 --- a/core/src/com/unciv/logic/map/TileMap.kt +++ b/core/src/com/unciv/logic/map/TileMap.kt @@ -5,7 +5,7 @@ import com.unciv.Constants import com.unciv.logic.GameInfo import com.unciv.logic.HexMath import com.unciv.logic.civilization.CivilizationInfo -import com.unciv.models.gamebasics.Ruleset +import com.unciv.models.ruleset.Ruleset class TileMap { diff --git a/core/src/com/unciv/logic/map/UnitPromotions.kt b/core/src/com/unciv/logic/map/UnitPromotions.kt index b844f2a1..e24e2942 100644 --- a/core/src/com/unciv/logic/map/UnitPromotions.kt +++ b/core/src/com/unciv/logic/map/UnitPromotions.kt @@ -1,7 +1,7 @@ package com.unciv.logic.map -import com.unciv.models.gamebasics.unit.Promotion -import com.unciv.models.gamebasics.unit.UnitType +import com.unciv.models.ruleset.unit.Promotion +import com.unciv.models.ruleset.unit.UnitType class UnitPromotions{ @Transient lateinit var unit:MapUnit diff --git a/core/src/com/unciv/logic/trade/TradeEvaluation.kt b/core/src/com/unciv/logic/trade/TradeEvaluation.kt index 163c65c3..cb3a4f64 100644 --- a/core/src/com/unciv/logic/trade/TradeEvaluation.kt +++ b/core/src/com/unciv/logic/trade/TradeEvaluation.kt @@ -5,7 +5,7 @@ import com.unciv.logic.automation.Automation import com.unciv.logic.automation.ThreatLevel import com.unciv.logic.civilization.CivilizationInfo import com.unciv.logic.civilization.diplomacy.RelationshipLevel -import com.unciv.models.gamebasics.tile.ResourceType +import com.unciv.models.ruleset.tile.ResourceType import kotlin.math.min import kotlin.math.sqrt diff --git a/core/src/com/unciv/logic/trade/TradeLogic.kt b/core/src/com/unciv/logic/trade/TradeLogic.kt index 62d48000..a261b2fd 100644 --- a/core/src/com/unciv/logic/trade/TradeLogic.kt +++ b/core/src/com/unciv/logic/trade/TradeLogic.kt @@ -3,8 +3,8 @@ package com.unciv.logic.trade import com.unciv.Constants import com.unciv.logic.civilization.CivilizationInfo import com.unciv.logic.civilization.diplomacy.DiplomaticStatus -import com.unciv.models.gamebasics.tile.ResourceType -import com.unciv.models.gamebasics.tr +import com.unciv.models.ruleset.tile.ResourceType +import com.unciv.models.ruleset.tr class TradeLogic(val ourCivilization:CivilizationInfo, val otherCivilization: CivilizationInfo){ diff --git a/core/src/com/unciv/logic/trade/TradeOffer.kt b/core/src/com/unciv/logic/trade/TradeOffer.kt index 9ad9320d..6c3cecbe 100644 --- a/core/src/com/unciv/logic/trade/TradeOffer.kt +++ b/core/src/com/unciv/logic/trade/TradeOffer.kt @@ -1,6 +1,6 @@ package com.unciv.logic.trade -import com.unciv.models.gamebasics.tr +import com.unciv.models.ruleset.tr data class TradeOffer(var name:String, var type: TradeType, /** 0 for offers that are immediate (e.g. gold transfer) */ var duration:Int, var amount:Int=1) { diff --git a/core/src/com/unciv/models/metadata/GameParameters.kt b/core/src/com/unciv/models/metadata/GameParameters.kt index 41f78bd2..db0f274a 100644 --- a/core/src/com/unciv/models/metadata/GameParameters.kt +++ b/core/src/com/unciv/models/metadata/GameParameters.kt @@ -1,8 +1,8 @@ package com.unciv.models.metadata import com.unciv.logic.civilization.PlayerType -import com.unciv.models.gamebasics.VictoryType -import com.unciv.models.gamebasics.tech.TechEra +import com.unciv.models.ruleset.VictoryType +import com.unciv.models.ruleset.tech.TechEra class GameParameters { // Default values are the default new game var difficulty = "Prince" diff --git a/core/src/com/unciv/models/gamebasics/BasicHelp.kt b/core/src/com/unciv/models/ruleset/BasicHelp.kt similarity index 84% rename from core/src/com/unciv/models/gamebasics/BasicHelp.kt rename to core/src/com/unciv/models/ruleset/BasicHelp.kt index 72dcc218..06665e42 100644 --- a/core/src/com/unciv/models/gamebasics/BasicHelp.kt +++ b/core/src/com/unciv/models/ruleset/BasicHelp.kt @@ -1,4 +1,4 @@ -package com.unciv.models.gamebasics +package com.unciv.models.ruleset import com.unciv.models.stats.INamed diff --git a/core/src/com/unciv/models/gamebasics/Building.kt b/core/src/com/unciv/models/ruleset/Building.kt similarity index 99% rename from core/src/com/unciv/models/gamebasics/Building.kt rename to core/src/com/unciv/models/ruleset/Building.kt index a697013d..dadfcda9 100644 --- a/core/src/com/unciv/models/gamebasics/Building.kt +++ b/core/src/com/unciv/models/ruleset/Building.kt @@ -1,4 +1,4 @@ -package com.unciv.models.gamebasics +package com.unciv.models.ruleset import com.unciv.Constants import com.unciv.logic.city.CityConstructions diff --git a/core/src/com/unciv/models/gamebasics/Difficulty.kt b/core/src/com/unciv/models/ruleset/Difficulty.kt similarity index 95% rename from core/src/com/unciv/models/gamebasics/Difficulty.kt rename to core/src/com/unciv/models/ruleset/Difficulty.kt index be57aabe..bb2da27c 100644 --- a/core/src/com/unciv/models/gamebasics/Difficulty.kt +++ b/core/src/com/unciv/models/ruleset/Difficulty.kt @@ -1,4 +1,4 @@ -package com.unciv.models.gamebasics +package com.unciv.models.ruleset import com.unciv.models.stats.INamed import java.util.* diff --git a/core/src/com/unciv/models/gamebasics/ICivilopedia.kt b/core/src/com/unciv/models/ruleset/ICivilopedia.kt similarity index 61% rename from core/src/com/unciv/models/gamebasics/ICivilopedia.kt rename to core/src/com/unciv/models/ruleset/ICivilopedia.kt index e2513c1a..700ccddd 100644 --- a/core/src/com/unciv/models/gamebasics/ICivilopedia.kt +++ b/core/src/com/unciv/models/ruleset/ICivilopedia.kt @@ -1,4 +1,4 @@ -package com.unciv.models.gamebasics +package com.unciv.models.ruleset interface ICivilopedia { diff --git a/core/src/com/unciv/models/gamebasics/Nation.kt b/core/src/com/unciv/models/ruleset/Nation.kt similarity index 96% rename from core/src/com/unciv/models/gamebasics/Nation.kt rename to core/src/com/unciv/models/ruleset/Nation.kt index 11f26856..8ee93c7f 100644 --- a/core/src/com/unciv/models/gamebasics/Nation.kt +++ b/core/src/com/unciv/models/ruleset/Nation.kt @@ -1,8 +1,7 @@ -package com.unciv.models.gamebasics +package com.unciv.models.ruleset import com.badlogic.gdx.graphics.Color import com.unciv.logic.civilization.CityStateType -import com.unciv.logic.civilization.CivilizationInfo import com.unciv.models.stats.INamed import com.unciv.ui.utils.colorFromRGB diff --git a/core/src/com/unciv/models/gamebasics/Policy.kt b/core/src/com/unciv/models/ruleset/Policy.kt similarity index 91% rename from core/src/com/unciv/models/gamebasics/Policy.kt rename to core/src/com/unciv/models/ruleset/Policy.kt index 508b78f6..1e4995e0 100644 --- a/core/src/com/unciv/models/gamebasics/Policy.kt +++ b/core/src/com/unciv/models/ruleset/Policy.kt @@ -1,4 +1,4 @@ -package com.unciv.models.gamebasics +package com.unciv.models.ruleset import com.unciv.models.stats.INamed diff --git a/core/src/com/unciv/models/gamebasics/PolicyBranch.kt b/core/src/com/unciv/models/ruleset/PolicyBranch.kt similarity index 58% rename from core/src/com/unciv/models/gamebasics/PolicyBranch.kt rename to core/src/com/unciv/models/ruleset/PolicyBranch.kt index ac0ad94c..880b3415 100644 --- a/core/src/com/unciv/models/gamebasics/PolicyBranch.kt +++ b/core/src/com/unciv/models/ruleset/PolicyBranch.kt @@ -1,6 +1,6 @@ -package com.unciv.models.gamebasics +package com.unciv.models.ruleset -import com.unciv.models.gamebasics.tech.TechEra +import com.unciv.models.ruleset.tech.TechEra class PolicyBranch : Policy() { var policies: ArrayList = arrayListOf() diff --git a/core/src/com/unciv/models/gamebasics/Ruleset.kt b/core/src/com/unciv/models/ruleset/Ruleset.kt similarity index 83% rename from core/src/com/unciv/models/gamebasics/Ruleset.kt rename to core/src/com/unciv/models/ruleset/Ruleset.kt index 561d33e6..0545ffb7 100644 --- a/core/src/com/unciv/models/gamebasics/Ruleset.kt +++ b/core/src/com/unciv/models/ruleset/Ruleset.kt @@ -1,14 +1,14 @@ -package com.unciv.models.gamebasics +package com.unciv.models.ruleset import com.badlogic.gdx.Gdx import com.badlogic.gdx.utils.Json -import com.unciv.models.gamebasics.tech.TechColumn -import com.unciv.models.gamebasics.tech.Technology -import com.unciv.models.gamebasics.tile.Terrain -import com.unciv.models.gamebasics.tile.TileImprovement -import com.unciv.models.gamebasics.tile.TileResource -import com.unciv.models.gamebasics.unit.BaseUnit -import com.unciv.models.gamebasics.unit.Promotion +import com.unciv.models.ruleset.tech.TechColumn +import com.unciv.models.ruleset.tech.Technology +import com.unciv.models.ruleset.tile.Terrain +import com.unciv.models.ruleset.tile.TileImprovement +import com.unciv.models.ruleset.tile.TileResource +import com.unciv.models.ruleset.unit.BaseUnit +import com.unciv.models.ruleset.unit.Promotion import com.unciv.models.stats.INamed import kotlin.collections.set @@ -118,6 +118,25 @@ class Ruleset { Translations.add(file.readString(Charsets.UTF_8.name())) } } + for(language in Translations.getLanguages()){ + val translationsOfLanguage = HashMap() + val stringBuilder=StringBuilder() + for(translation in Translations.values) { + + stringBuilder.append(translation.entry) + stringBuilder.append('=') + + + if (translation.containsKey(language)) + stringBuilder.append(translation[language]!!) + stringBuilder.appendln() + } + + val finalFile = stringBuilder.toString() + Gdx.files.local("jsons/Translations/$language.json") + .writeString(finalFile,false,Charsets.UTF_8.name()) + } + val translationFilesTime = System.currentTimeMillis() - translationStart println("Loading translation files - "+translationFilesTime+"ms") } diff --git a/core/src/com/unciv/models/gamebasics/Translations.kt b/core/src/com/unciv/models/ruleset/Translations.kt similarity index 99% rename from core/src/com/unciv/models/gamebasics/Translations.kt rename to core/src/com/unciv/models/ruleset/Translations.kt index 8c46675d..af4d75f4 100644 --- a/core/src/com/unciv/models/gamebasics/Translations.kt +++ b/core/src/com/unciv/models/ruleset/Translations.kt @@ -1,4 +1,4 @@ -package com.unciv.models.gamebasics +package com.unciv.models.ruleset import com.badlogic.gdx.utils.JsonReader import com.unciv.UncivGame @@ -29,6 +29,8 @@ class Translations : HashMap(){ } currentEntry = currentEntry.next } + + } fun get(text:String,language:String): String { diff --git a/core/src/com/unciv/models/gamebasics/tech/TechColumn.kt b/core/src/com/unciv/models/ruleset/tech/TechColumn.kt similarity index 84% rename from core/src/com/unciv/models/gamebasics/tech/TechColumn.kt rename to core/src/com/unciv/models/ruleset/tech/TechColumn.kt index dc62f425..1a0db7db 100644 --- a/core/src/com/unciv/models/gamebasics/tech/TechColumn.kt +++ b/core/src/com/unciv/models/ruleset/tech/TechColumn.kt @@ -1,4 +1,4 @@ -package com.unciv.models.gamebasics.tech +package com.unciv.models.ruleset.tech import java.util.* diff --git a/core/src/com/unciv/models/gamebasics/tech/TechEra.kt b/core/src/com/unciv/models/ruleset/tech/TechEra.kt similarity index 76% rename from core/src/com/unciv/models/gamebasics/tech/TechEra.kt rename to core/src/com/unciv/models/ruleset/tech/TechEra.kt index 181b8255..99315394 100644 --- a/core/src/com/unciv/models/gamebasics/tech/TechEra.kt +++ b/core/src/com/unciv/models/ruleset/tech/TechEra.kt @@ -1,4 +1,4 @@ -package com.unciv.models.gamebasics.tech +package com.unciv.models.ruleset.tech enum class TechEra{ Ancient, diff --git a/core/src/com/unciv/models/gamebasics/tech/Technology.kt b/core/src/com/unciv/models/ruleset/tech/Technology.kt similarity index 94% rename from core/src/com/unciv/models/gamebasics/tech/Technology.kt rename to core/src/com/unciv/models/ruleset/tech/Technology.kt index 786fa5e6..16242364 100644 --- a/core/src/com/unciv/models/gamebasics/tech/Technology.kt +++ b/core/src/com/unciv/models/ruleset/tech/Technology.kt @@ -1,11 +1,11 @@ -package com.unciv.models.gamebasics.tech +package com.unciv.models.ruleset.tech import com.unciv.UncivGame import com.unciv.logic.civilization.CivilizationInfo -import com.unciv.models.gamebasics.Building -import com.unciv.models.gamebasics.Ruleset -import com.unciv.models.gamebasics.tr -import com.unciv.models.gamebasics.unit.BaseUnit +import com.unciv.models.ruleset.Building +import com.unciv.models.ruleset.Ruleset +import com.unciv.models.ruleset.tr +import com.unciv.models.ruleset.unit.BaseUnit import java.util.* class Technology { diff --git a/core/src/com/unciv/models/gamebasics/tile/ResourceType.kt b/core/src/com/unciv/models/ruleset/tile/ResourceType.kt similarity index 61% rename from core/src/com/unciv/models/gamebasics/tile/ResourceType.kt rename to core/src/com/unciv/models/ruleset/tile/ResourceType.kt index 40be1429..882e7c16 100644 --- a/core/src/com/unciv/models/gamebasics/tile/ResourceType.kt +++ b/core/src/com/unciv/models/ruleset/tile/ResourceType.kt @@ -1,4 +1,4 @@ -package com.unciv.models.gamebasics.tile +package com.unciv.models.ruleset.tile enum class ResourceType { Luxury, diff --git a/core/src/com/unciv/models/gamebasics/tile/Terrain.kt b/core/src/com/unciv/models/ruleset/tile/Terrain.kt similarity index 93% rename from core/src/com/unciv/models/gamebasics/tile/Terrain.kt rename to core/src/com/unciv/models/ruleset/tile/Terrain.kt index 506c4661..fa81f4a7 100644 --- a/core/src/com/unciv/models/gamebasics/tile/Terrain.kt +++ b/core/src/com/unciv/models/ruleset/tile/Terrain.kt @@ -1,8 +1,8 @@ -package com.unciv.models.gamebasics.tile +package com.unciv.models.ruleset.tile import com.badlogic.gdx.graphics.Color -import com.unciv.models.gamebasics.Ruleset -import com.unciv.models.gamebasics.tr +import com.unciv.models.ruleset.Ruleset +import com.unciv.models.ruleset.tr import com.unciv.models.stats.NamedStats import com.unciv.ui.utils.colorFromRGB diff --git a/core/src/com/unciv/models/gamebasics/tile/TerrainType.kt b/core/src/com/unciv/models/ruleset/tile/TerrainType.kt similarity index 62% rename from core/src/com/unciv/models/gamebasics/tile/TerrainType.kt rename to core/src/com/unciv/models/ruleset/tile/TerrainType.kt index 85621cc2..8ee3560d 100644 --- a/core/src/com/unciv/models/gamebasics/tile/TerrainType.kt +++ b/core/src/com/unciv/models/ruleset/tile/TerrainType.kt @@ -1,4 +1,4 @@ -package com.unciv.models.gamebasics.tile +package com.unciv.models.ruleset.tile enum class TerrainType { Land, diff --git a/core/src/com/unciv/models/gamebasics/tile/TileImprovement.kt b/core/src/com/unciv/models/ruleset/tile/TileImprovement.kt similarity index 94% rename from core/src/com/unciv/models/gamebasics/tile/TileImprovement.kt rename to core/src/com/unciv/models/ruleset/tile/TileImprovement.kt index ddddb3c5..e82ee909 100644 --- a/core/src/com/unciv/models/gamebasics/tile/TileImprovement.kt +++ b/core/src/com/unciv/models/ruleset/tile/TileImprovement.kt @@ -1,8 +1,8 @@ -package com.unciv.models.gamebasics.tile +package com.unciv.models.ruleset.tile import com.unciv.logic.civilization.CivilizationInfo -import com.unciv.models.gamebasics.Ruleset -import com.unciv.models.gamebasics.tr +import com.unciv.models.ruleset.Ruleset +import com.unciv.models.ruleset.tr import com.unciv.models.stats.NamedStats import com.unciv.models.stats.Stats import java.util.* diff --git a/core/src/com/unciv/models/gamebasics/tile/TileResource.kt b/core/src/com/unciv/models/ruleset/tile/TileResource.kt similarity index 96% rename from core/src/com/unciv/models/gamebasics/tile/TileResource.kt rename to core/src/com/unciv/models/ruleset/tile/TileResource.kt index 540c1364..076eada7 100644 --- a/core/src/com/unciv/models/gamebasics/tile/TileResource.kt +++ b/core/src/com/unciv/models/ruleset/tile/TileResource.kt @@ -1,6 +1,6 @@ -package com.unciv.models.gamebasics.tile +package com.unciv.models.ruleset.tile -import com.unciv.models.gamebasics.tr +import com.unciv.models.ruleset.tr import com.unciv.models.stats.NamedStats import com.unciv.models.stats.Stats import java.util.* diff --git a/core/src/com/unciv/models/gamebasics/unit/BaseUnit.kt b/core/src/com/unciv/models/ruleset/unit/BaseUnit.kt similarity index 97% rename from core/src/com/unciv/models/gamebasics/unit/BaseUnit.kt rename to core/src/com/unciv/models/ruleset/unit/BaseUnit.kt index 80171153..0ca5fc2d 100644 --- a/core/src/com/unciv/models/gamebasics/unit/BaseUnit.kt +++ b/core/src/com/unciv/models/ruleset/unit/BaseUnit.kt @@ -1,4 +1,4 @@ -package com.unciv.models.gamebasics.unit +package com.unciv.models.ruleset.unit import com.unciv.Constants import com.unciv.UncivGame @@ -6,9 +6,9 @@ import com.unciv.logic.city.CityConstructions import com.unciv.logic.city.IConstruction import com.unciv.logic.civilization.CivilizationInfo import com.unciv.logic.map.MapUnit -import com.unciv.models.gamebasics.Ruleset -import com.unciv.models.gamebasics.Translations -import com.unciv.models.gamebasics.tr +import com.unciv.models.ruleset.Ruleset +import com.unciv.models.ruleset.Translations +import com.unciv.models.ruleset.tr import com.unciv.models.stats.INamed // This is BaseUnit because Unit is already a base Kotlin class and to avoid mixing the two up diff --git a/core/src/com/unciv/models/gamebasics/unit/Promotion.kt b/core/src/com/unciv/models/ruleset/unit/Promotion.kt similarity index 81% rename from core/src/com/unciv/models/gamebasics/unit/Promotion.kt rename to core/src/com/unciv/models/ruleset/unit/Promotion.kt index 2a634d1e..9c01290c 100644 --- a/core/src/com/unciv/models/gamebasics/unit/Promotion.kt +++ b/core/src/com/unciv/models/ruleset/unit/Promotion.kt @@ -1,6 +1,6 @@ -package com.unciv.models.gamebasics.unit +package com.unciv.models.ruleset.unit -import com.unciv.models.gamebasics.ICivilopedia +import com.unciv.models.ruleset.ICivilopedia import com.unciv.models.stats.INamed class Promotion : ICivilopedia, INamed{ diff --git a/core/src/com/unciv/models/gamebasics/unit/UnitType.kt b/core/src/com/unciv/models/ruleset/unit/UnitType.kt similarity index 97% rename from core/src/com/unciv/models/gamebasics/unit/UnitType.kt rename to core/src/com/unciv/models/ruleset/unit/UnitType.kt index 760401aa..34eb5354 100644 --- a/core/src/com/unciv/models/gamebasics/unit/UnitType.kt +++ b/core/src/com/unciv/models/ruleset/unit/UnitType.kt @@ -1,4 +1,4 @@ -package com.unciv.models.gamebasics.unit +package com.unciv.models.ruleset.unit enum class UnitType{ City, diff --git a/core/src/com/unciv/models/stats/Stats.kt b/core/src/com/unciv/models/stats/Stats.kt index 95e127a4..1cecf28d 100644 --- a/core/src/com/unciv/models/stats/Stats.kt +++ b/core/src/com/unciv/models/stats/Stats.kt @@ -1,6 +1,6 @@ package com.unciv.models.stats -import com.unciv.models.gamebasics.tr +import com.unciv.models.ruleset.tr open class Stats() { diff --git a/core/src/com/unciv/ui/CivilopediaScreen.kt b/core/src/com/unciv/ui/CivilopediaScreen.kt index c9bedd25..27a32aa3 100644 --- a/core/src/com/unciv/ui/CivilopediaScreen.kt +++ b/core/src/com/unciv/ui/CivilopediaScreen.kt @@ -4,8 +4,8 @@ import com.badlogic.gdx.Gdx import com.badlogic.gdx.scenes.scene2d.Actor import com.badlogic.gdx.scenes.scene2d.ui.* import com.unciv.UncivGame -import com.unciv.models.gamebasics.Ruleset -import com.unciv.models.gamebasics.tr +import com.unciv.models.ruleset.Ruleset +import com.unciv.models.ruleset.tr import com.unciv.ui.utils.* import java.util.* @@ -21,7 +21,7 @@ class CivilopediaScreen(ruleset: Ruleset) : CameraStageBaseScreen() { this.image = image } - constructor() : this("","") // Needed for GameBAsics json deserializing + constructor() : this("","") // Needed for GameBasics json deserializing } val categoryToEntries = LinkedHashMap>() @@ -112,7 +112,9 @@ class CivilopediaScreen(ruleset: Ruleset) : CameraStageBaseScreen() { sp.setupOverscroll(5f, 1f, 200f) entryTable.add(sp).width(Value.percentWidth(0.25f, entryTable)).height(Value.percentHeight(0.7f, entryTable)) .pad(Value.percentWidth(0.02f, entryTable)) - entryTable.add(description).colspan(4).width(Value.percentWidth(0.65f, entryTable)).height(Value.percentHeight(0.7f, entryTable)) + entryTable.add(ScrollPane(description)).colspan(4) + .width(Value.percentWidth(0.65f, entryTable)) + .height(Value.percentHeight(0.7f, entryTable)) .pad(Value.percentWidth(0.02f, entryTable)) // Simply changing these to x*width, y*height won't work diff --git a/core/src/com/unciv/ui/EmpireOverviewScreen.kt b/core/src/com/unciv/ui/EmpireOverviewScreen.kt index cbedee21..81ce454f 100644 --- a/core/src/com/unciv/ui/EmpireOverviewScreen.kt +++ b/core/src/com/unciv/ui/EmpireOverviewScreen.kt @@ -11,8 +11,8 @@ import com.unciv.logic.civilization.CivilizationInfo import com.unciv.logic.civilization.diplomacy.DiplomaticStatus import com.unciv.logic.trade.Trade import com.unciv.logic.trade.TradeOffersList -import com.unciv.models.gamebasics.tile.ResourceType -import com.unciv.models.gamebasics.tr +import com.unciv.models.ruleset.tile.ResourceType +import com.unciv.models.ruleset.tr import com.unciv.ui.cityscreen.CityScreen import com.unciv.ui.utils.* import java.text.DecimalFormat diff --git a/core/src/com/unciv/ui/LanguagePickerScreen.kt b/core/src/com/unciv/ui/LanguagePickerScreen.kt index 1b35fb06..2b4a9391 100644 --- a/core/src/com/unciv/ui/LanguagePickerScreen.kt +++ b/core/src/com/unciv/ui/LanguagePickerScreen.kt @@ -5,8 +5,8 @@ import com.badlogic.gdx.scenes.scene2d.Touchable import com.badlogic.gdx.scenes.scene2d.ui.Label import com.badlogic.gdx.scenes.scene2d.ui.Table import com.unciv.UncivGame -import com.unciv.models.gamebasics.Ruleset -import com.unciv.models.gamebasics.tr +import com.unciv.models.ruleset.Ruleset +import com.unciv.models.ruleset.tr import com.unciv.ui.pickerscreens.PickerScreen import com.unciv.ui.utils.ImageGetter import com.unciv.ui.utils.enable diff --git a/core/src/com/unciv/ui/VictoryScreen.kt b/core/src/com/unciv/ui/VictoryScreen.kt index 14d9880a..bcd552e6 100644 --- a/core/src/com/unciv/ui/VictoryScreen.kt +++ b/core/src/com/unciv/ui/VictoryScreen.kt @@ -6,8 +6,8 @@ import com.badlogic.gdx.scenes.scene2d.ui.Table import com.badlogic.gdx.scenes.scene2d.ui.TextButton import com.unciv.UncivGame import com.unciv.logic.civilization.CivilizationInfo -import com.unciv.models.gamebasics.VictoryType -import com.unciv.models.gamebasics.tr +import com.unciv.models.ruleset.VictoryType +import com.unciv.models.ruleset.tr import com.unciv.ui.newgamescreen.NewGameScreen import com.unciv.ui.pickerscreens.PickerScreen import com.unciv.ui.pickerscreens.PolicyPickerScreen diff --git a/core/src/com/unciv/ui/cityscreen/CityInfoTable.kt b/core/src/com/unciv/ui/cityscreen/CityInfoTable.kt index ee13ff87..6b9408ae 100644 --- a/core/src/com/unciv/ui/cityscreen/CityInfoTable.kt +++ b/core/src/com/unciv/ui/cityscreen/CityInfoTable.kt @@ -10,8 +10,8 @@ import com.badlogic.gdx.utils.Align import com.unciv.UncivGame import com.unciv.logic.city.CityInfo import com.unciv.logic.civilization.GreatPersonManager -import com.unciv.models.gamebasics.Building -import com.unciv.models.gamebasics.tr +import com.unciv.models.ruleset.Building +import com.unciv.models.ruleset.tr import com.unciv.models.stats.Stat import com.unciv.ui.utils.* import com.unciv.ui.worldscreen.optionstable.YesNoPopupTable diff --git a/core/src/com/unciv/ui/cityscreen/CityScreen.kt b/core/src/com/unciv/ui/cityscreen/CityScreen.kt index fe8e61ca..29a91b1e 100644 --- a/core/src/com/unciv/ui/cityscreen/CityScreen.kt +++ b/core/src/com/unciv/ui/cityscreen/CityScreen.kt @@ -11,7 +11,7 @@ import com.unciv.UncivGame import com.unciv.logic.HexMath import com.unciv.logic.city.CityInfo import com.unciv.logic.map.TileInfo -import com.unciv.models.gamebasics.tr +import com.unciv.models.ruleset.tr import com.unciv.models.stats.Stat import com.unciv.models.stats.Stats import com.unciv.ui.tilegroups.TileSetStrings diff --git a/core/src/com/unciv/ui/cityscreen/CityScreenCityPickerTable.kt b/core/src/com/unciv/ui/cityscreen/CityScreenCityPickerTable.kt index 87453e21..2f84afa3 100644 --- a/core/src/com/unciv/ui/cityscreen/CityScreenCityPickerTable.kt +++ b/core/src/com/unciv/ui/cityscreen/CityScreenCityPickerTable.kt @@ -5,7 +5,7 @@ import com.badlogic.gdx.scenes.scene2d.ui.Table import com.badlogic.gdx.scenes.scene2d.ui.TextButton import com.badlogic.gdx.scenes.scene2d.ui.TextField import com.badlogic.gdx.utils.Align -import com.unciv.models.gamebasics.tr +import com.unciv.models.ruleset.tr import com.unciv.ui.utils.CameraStageBaseScreen import com.unciv.ui.utils.ImageGetter import com.unciv.ui.utils.onClick diff --git a/core/src/com/unciv/ui/cityscreen/CityScreenTileTable.kt b/core/src/com/unciv/ui/cityscreen/CityScreenTileTable.kt index 7152f23e..653c2abf 100644 --- a/core/src/com/unciv/ui/cityscreen/CityScreenTileTable.kt +++ b/core/src/com/unciv/ui/cityscreen/CityScreenTileTable.kt @@ -7,7 +7,7 @@ import com.badlogic.gdx.scenes.scene2d.ui.TextButton import com.unciv.UncivGame import com.unciv.logic.city.CityInfo import com.unciv.logic.map.TileInfo -import com.unciv.models.gamebasics.tr +import com.unciv.models.ruleset.tr import com.unciv.ui.utils.CameraStageBaseScreen import com.unciv.ui.utils.ImageGetter import com.unciv.ui.utils.disable diff --git a/core/src/com/unciv/ui/cityscreen/ConstructionsTable.kt b/core/src/com/unciv/ui/cityscreen/ConstructionsTable.kt index 03548ddd..774da564 100644 --- a/core/src/com/unciv/ui/cityscreen/ConstructionsTable.kt +++ b/core/src/com/unciv/ui/cityscreen/ConstructionsTable.kt @@ -9,9 +9,9 @@ import com.badlogic.gdx.utils.Align import com.unciv.UncivGame import com.unciv.logic.city.CityInfo import com.unciv.logic.city.SpecialConstruction -import com.unciv.models.gamebasics.Building -import com.unciv.models.gamebasics.tr -import com.unciv.models.gamebasics.unit.BaseUnit +import com.unciv.models.ruleset.Building +import com.unciv.models.ruleset.tr +import com.unciv.models.ruleset.unit.BaseUnit import com.unciv.ui.utils.* import com.unciv.ui.worldscreen.optionstable.YesNoPopupTable @@ -94,7 +94,7 @@ class ConstructionsTable(val cityScreen: CityScreen) : Table(CameraStageBaseScre constructionPickerTable.background = ImageGetter.getBackground(Color.BLACK) val units = ArrayList() - for (unit in city.getGameBasics().Units.values.filter { it.shouldBeDisplayed(cityConstructions) }) { + for (unit in city.getRuleset().Units.values.filter { it.shouldBeDisplayed(cityConstructions) }) { val turnsToUnit = cityConstructions.turnsToConstruction(unit.name) units += getProductionButton(unit.name, unit.name.tr() + "\r\n" + turnsToUnit + (if(turnsToUnit>1) " {turns}".tr() else " {turn}".tr()), @@ -107,7 +107,7 @@ class ConstructionsTable(val cityScreen: CityScreen) : Table(CameraStageBaseScre val buildableNationalWonders = ArrayList
() val buildableBuildings = ArrayList
() - for (building in city.getGameBasics().Buildings.values) { + for (building in city.getRuleset().Buildings.values) { if (!building.shouldBeDisplayed(cityConstructions) && building.name != cityConstructions.currentConstruction) continue val turnsToBuilding = cityConstructions.turnsToConstruction(building.name) val productionTextButton = getProductionButton(building.name, diff --git a/core/src/com/unciv/ui/mapeditor/LoadMapScreen.kt b/core/src/com/unciv/ui/mapeditor/LoadMapScreen.kt index 1cace642..541f0e40 100644 --- a/core/src/com/unciv/ui/mapeditor/LoadMapScreen.kt +++ b/core/src/com/unciv/ui/mapeditor/LoadMapScreen.kt @@ -8,7 +8,7 @@ import com.badlogic.gdx.scenes.scene2d.ui.TextButton import com.unciv.UncivGame import com.unciv.logic.MapSaver import com.unciv.logic.map.TileMap -import com.unciv.models.gamebasics.tr +import com.unciv.models.ruleset.tr import com.unciv.ui.pickerscreens.PickerScreen import com.unciv.ui.saves.Gzip import com.unciv.ui.utils.* diff --git a/core/src/com/unciv/ui/mapeditor/MapEditorMenuPopup.kt b/core/src/com/unciv/ui/mapeditor/MapEditorMenuPopup.kt index 77ceda61..4f44862f 100644 --- a/core/src/com/unciv/ui/mapeditor/MapEditorMenuPopup.kt +++ b/core/src/com/unciv/ui/mapeditor/MapEditorMenuPopup.kt @@ -9,7 +9,7 @@ import com.unciv.UncivGame import com.unciv.logic.MapSaver import com.unciv.logic.map.MapType import com.unciv.logic.map.RoadStatus -import com.unciv.models.gamebasics.tr +import com.unciv.models.ruleset.tr import com.unciv.ui.saves.Gzip import com.unciv.ui.utils.onClick import com.unciv.ui.worldscreen.optionstable.DropBox diff --git a/core/src/com/unciv/ui/mapeditor/MapEditorScreen.kt b/core/src/com/unciv/ui/mapeditor/MapEditorScreen.kt index 4ebb0da6..2d4d1f18 100644 --- a/core/src/com/unciv/ui/mapeditor/MapEditorScreen.kt +++ b/core/src/com/unciv/ui/mapeditor/MapEditorScreen.kt @@ -6,7 +6,7 @@ import com.badlogic.gdx.scenes.scene2d.ui.TextButton import com.unciv.UncivGame import com.unciv.logic.MapSaver import com.unciv.logic.map.TileMap -import com.unciv.models.gamebasics.tr +import com.unciv.models.ruleset.tr import com.unciv.ui.tilegroups.TileGroup import com.unciv.ui.tilegroups.TileSetStrings import com.unciv.ui.utils.CameraStageBaseScreen diff --git a/core/src/com/unciv/ui/mapeditor/TileEditorOptionsTable.kt b/core/src/com/unciv/ui/mapeditor/TileEditorOptionsTable.kt index 2f5bad99..aeac28a2 100644 --- a/core/src/com/unciv/ui/mapeditor/TileEditorOptionsTable.kt +++ b/core/src/com/unciv/ui/mapeditor/TileEditorOptionsTable.kt @@ -10,11 +10,11 @@ import com.unciv.Constants import com.unciv.UncivGame import com.unciv.logic.map.RoadStatus import com.unciv.logic.map.TileInfo -import com.unciv.models.gamebasics.tile.Terrain -import com.unciv.models.gamebasics.tile.TerrainType -import com.unciv.models.gamebasics.tile.TileImprovement -import com.unciv.models.gamebasics.tile.TileResource -import com.unciv.models.gamebasics.tr +import com.unciv.models.ruleset.tile.Terrain +import com.unciv.models.ruleset.tile.TerrainType +import com.unciv.models.ruleset.tile.TileImprovement +import com.unciv.models.ruleset.tile.TileResource +import com.unciv.models.ruleset.tr import com.unciv.ui.tilegroups.TileGroup import com.unciv.ui.tilegroups.TileSetStrings import com.unciv.ui.utils.* diff --git a/core/src/com/unciv/ui/newgamescreen/MapParametersTable.kt b/core/src/com/unciv/ui/newgamescreen/MapParametersTable.kt index 5f2ddee3..c98d48ee 100644 --- a/core/src/com/unciv/ui/newgamescreen/MapParametersTable.kt +++ b/core/src/com/unciv/ui/newgamescreen/MapParametersTable.kt @@ -6,7 +6,7 @@ import com.badlogic.gdx.scenes.scene2d.ui.Table import com.badlogic.gdx.scenes.scene2d.utils.ChangeListener import com.unciv.logic.map.MapParameters import com.unciv.logic.map.MapType -import com.unciv.models.gamebasics.tr +import com.unciv.models.ruleset.tr import com.unciv.ui.utils.CameraStageBaseScreen import com.unciv.ui.utils.toLabel diff --git a/core/src/com/unciv/ui/newgamescreen/NationTable.kt b/core/src/com/unciv/ui/newgamescreen/NationTable.kt index d3e298a8..5cfd894b 100644 --- a/core/src/com/unciv/ui/newgamescreen/NationTable.kt +++ b/core/src/com/unciv/ui/newgamescreen/NationTable.kt @@ -3,10 +3,10 @@ package com.unciv.ui.newgamescreen import com.badlogic.gdx.scenes.scene2d.Touchable import com.badlogic.gdx.scenes.scene2d.ui.Label import com.badlogic.gdx.scenes.scene2d.ui.Table -import com.unciv.models.gamebasics.Nation -import com.unciv.models.gamebasics.Ruleset -import com.unciv.models.gamebasics.Translations -import com.unciv.models.gamebasics.tr +import com.unciv.models.ruleset.Nation +import com.unciv.models.ruleset.Ruleset +import com.unciv.models.ruleset.Translations +import com.unciv.models.ruleset.tr import com.unciv.ui.utils.CameraStageBaseScreen import com.unciv.ui.utils.ImageGetter import com.unciv.ui.utils.toLabel diff --git a/core/src/com/unciv/ui/newgamescreen/NewGameScreen.kt b/core/src/com/unciv/ui/newgamescreen/NewGameScreen.kt index b5684d36..d0e2e954 100644 --- a/core/src/com/unciv/ui/newgamescreen/NewGameScreen.kt +++ b/core/src/com/unciv/ui/newgamescreen/NewGameScreen.kt @@ -10,8 +10,8 @@ import com.unciv.logic.GameInfo import com.unciv.logic.GameSaver import com.unciv.logic.GameStarter import com.unciv.logic.civilization.PlayerType -import com.unciv.models.gamebasics.Ruleset -import com.unciv.models.gamebasics.tr +import com.unciv.models.ruleset.Ruleset +import com.unciv.models.ruleset.tr import com.unciv.ui.pickerscreens.PickerScreen import com.unciv.ui.utils.disable import com.unciv.ui.utils.enable diff --git a/core/src/com/unciv/ui/newgamescreen/NewGameScreenOptionsTable.kt b/core/src/com/unciv/ui/newgamescreen/NewGameScreenOptionsTable.kt index fcb9131c..9ac6d1c8 100644 --- a/core/src/com/unciv/ui/newgamescreen/NewGameScreenOptionsTable.kt +++ b/core/src/com/unciv/ui/newgamescreen/NewGameScreenOptionsTable.kt @@ -8,10 +8,10 @@ import com.badlogic.gdx.scenes.scene2d.ui.Table import com.badlogic.gdx.scenes.scene2d.utils.ChangeListener import com.badlogic.gdx.utils.Array import com.unciv.logic.MapSaver -import com.unciv.models.gamebasics.Ruleset -import com.unciv.models.gamebasics.VictoryType -import com.unciv.models.gamebasics.tech.TechEra -import com.unciv.models.gamebasics.tr +import com.unciv.models.ruleset.Ruleset +import com.unciv.models.ruleset.VictoryType +import com.unciv.models.ruleset.tech.TechEra +import com.unciv.models.ruleset.tr import com.unciv.models.metadata.GameSpeed import com.unciv.ui.utils.CameraStageBaseScreen import com.unciv.ui.utils.toLabel diff --git a/core/src/com/unciv/ui/newgamescreen/PlayerPickerTable.kt b/core/src/com/unciv/ui/newgamescreen/PlayerPickerTable.kt index f304f859..432b8620 100644 --- a/core/src/com/unciv/ui/newgamescreen/PlayerPickerTable.kt +++ b/core/src/com/unciv/ui/newgamescreen/PlayerPickerTable.kt @@ -10,8 +10,8 @@ import com.badlogic.gdx.scenes.scene2d.ui.TextField import com.badlogic.gdx.utils.Align import com.unciv.UncivGame import com.unciv.logic.civilization.PlayerType -import com.unciv.models.gamebasics.Ruleset -import com.unciv.models.gamebasics.tr +import com.unciv.models.ruleset.Ruleset +import com.unciv.models.ruleset.tr import com.unciv.models.metadata.GameParameters import com.unciv.models.metadata.Player import com.unciv.ui.utils.* diff --git a/core/src/com/unciv/ui/pickerscreens/GreatPersonPickerScreen.kt b/core/src/com/unciv/ui/pickerscreens/GreatPersonPickerScreen.kt index 33ca4742..48d2528a 100644 --- a/core/src/com/unciv/ui/pickerscreens/GreatPersonPickerScreen.kt +++ b/core/src/com/unciv/ui/pickerscreens/GreatPersonPickerScreen.kt @@ -4,8 +4,8 @@ import com.badlogic.gdx.scenes.scene2d.ui.Button import com.unciv.UncivGame import com.unciv.logic.civilization.CivilizationInfo import com.unciv.logic.civilization.GreatPersonManager -import com.unciv.models.gamebasics.tr -import com.unciv.models.gamebasics.unit.BaseUnit +import com.unciv.models.ruleset.tr +import com.unciv.models.ruleset.unit.BaseUnit import com.unciv.ui.utils.ImageGetter import com.unciv.ui.utils.onClick import com.unciv.ui.utils.toLabel diff --git a/core/src/com/unciv/ui/pickerscreens/ImprovementPickerScreen.kt b/core/src/com/unciv/ui/pickerscreens/ImprovementPickerScreen.kt index f45e2e0f..ed323d2b 100644 --- a/core/src/com/unciv/ui/pickerscreens/ImprovementPickerScreen.kt +++ b/core/src/com/unciv/ui/pickerscreens/ImprovementPickerScreen.kt @@ -6,8 +6,8 @@ import com.badlogic.gdx.scenes.scene2d.ui.Table import com.badlogic.gdx.scenes.scene2d.ui.VerticalGroup import com.unciv.logic.map.RoadStatus import com.unciv.logic.map.TileInfo -import com.unciv.models.gamebasics.tile.TileImprovement -import com.unciv.models.gamebasics.tr +import com.unciv.models.ruleset.tile.TileImprovement +import com.unciv.models.ruleset.tr import com.unciv.ui.utils.ImageGetter import com.unciv.ui.utils.addSeparatorVertical import com.unciv.ui.utils.onClick diff --git a/core/src/com/unciv/ui/pickerscreens/PickerScreen.kt b/core/src/com/unciv/ui/pickerscreens/PickerScreen.kt index 325bda55..e81dbeaf 100644 --- a/core/src/com/unciv/ui/pickerscreens/PickerScreen.kt +++ b/core/src/com/unciv/ui/pickerscreens/PickerScreen.kt @@ -2,7 +2,7 @@ package com.unciv.ui.pickerscreens import com.badlogic.gdx.scenes.scene2d.ui.* import com.unciv.UncivGame -import com.unciv.models.gamebasics.tr +import com.unciv.models.ruleset.tr import com.unciv.ui.utils.* open class PickerScreen : CameraStageBaseScreen() { diff --git a/core/src/com/unciv/ui/pickerscreens/PolicyPickerScreen.kt b/core/src/com/unciv/ui/pickerscreens/PolicyPickerScreen.kt index a0bc6e46..1530b367 100644 --- a/core/src/com/unciv/ui/pickerscreens/PolicyPickerScreen.kt +++ b/core/src/com/unciv/ui/pickerscreens/PolicyPickerScreen.kt @@ -6,8 +6,8 @@ import com.badlogic.gdx.scenes.scene2d.ui.Table import com.badlogic.gdx.scenes.scene2d.ui.TextButton import com.unciv.UncivGame import com.unciv.logic.civilization.CivilizationInfo -import com.unciv.models.gamebasics.Policy -import com.unciv.models.gamebasics.tr +import com.unciv.models.ruleset.Policy +import com.unciv.models.ruleset.tr import com.unciv.ui.utils.* import com.unciv.ui.worldscreen.WorldScreen diff --git a/core/src/com/unciv/ui/pickerscreens/PromotionPickerScreen.kt b/core/src/com/unciv/ui/pickerscreens/PromotionPickerScreen.kt index ac3f3807..a153359a 100644 --- a/core/src/com/unciv/ui/pickerscreens/PromotionPickerScreen.kt +++ b/core/src/com/unciv/ui/pickerscreens/PromotionPickerScreen.kt @@ -8,9 +8,9 @@ import com.badlogic.gdx.scenes.scene2d.ui.VerticalGroup import com.badlogic.gdx.utils.Align import com.unciv.UncivGame import com.unciv.logic.map.MapUnit -import com.unciv.models.gamebasics.Translations -import com.unciv.models.gamebasics.tr -import com.unciv.models.gamebasics.unit.Promotion +import com.unciv.models.ruleset.Translations +import com.unciv.models.ruleset.tr +import com.unciv.models.ruleset.unit.Promotion import com.unciv.ui.utils.* class PromotionPickerScreen(val unit: MapUnit) : PickerScreen() { diff --git a/core/src/com/unciv/ui/pickerscreens/TechPickerScreen.kt b/core/src/com/unciv/ui/pickerscreens/TechPickerScreen.kt index 4adf33b8..e1fb3e58 100644 --- a/core/src/com/unciv/ui/pickerscreens/TechPickerScreen.kt +++ b/core/src/com/unciv/ui/pickerscreens/TechPickerScreen.kt @@ -8,8 +8,8 @@ import com.unciv.Constants import com.unciv.UncivGame import com.unciv.logic.civilization.CivilizationInfo import com.unciv.logic.civilization.TechManager -import com.unciv.models.gamebasics.tech.Technology -import com.unciv.models.gamebasics.tr +import com.unciv.models.ruleset.tech.Technology +import com.unciv.models.ruleset.tr import com.unciv.ui.utils.* import java.util.* diff --git a/core/src/com/unciv/ui/saves/LoadGameScreen.kt b/core/src/com/unciv/ui/saves/LoadGameScreen.kt index 86aa54c0..15425e71 100644 --- a/core/src/com/unciv/ui/saves/LoadGameScreen.kt +++ b/core/src/com/unciv/ui/saves/LoadGameScreen.kt @@ -10,7 +10,7 @@ import com.badlogic.gdx.scenes.scene2d.ui.TextButton import com.badlogic.gdx.scenes.scene2d.utils.ChangeListener import com.unciv.UncivGame import com.unciv.logic.GameSaver -import com.unciv.models.gamebasics.tr +import com.unciv.models.ruleset.tr import com.unciv.ui.pickerscreens.PickerScreen import com.unciv.ui.utils.disable import com.unciv.ui.utils.enable diff --git a/core/src/com/unciv/ui/saves/SaveGameScreen.kt b/core/src/com/unciv/ui/saves/SaveGameScreen.kt index edc8846d..eb9db615 100644 --- a/core/src/com/unciv/ui/saves/SaveGameScreen.kt +++ b/core/src/com/unciv/ui/saves/SaveGameScreen.kt @@ -7,7 +7,7 @@ import com.badlogic.gdx.scenes.scene2d.utils.ChangeListener import com.badlogic.gdx.utils.Json import com.unciv.UncivGame import com.unciv.logic.GameSaver -import com.unciv.models.gamebasics.tr +import com.unciv.models.ruleset.tr import com.unciv.ui.pickerscreens.PickerScreen import com.unciv.ui.utils.enable import com.unciv.ui.utils.onClick diff --git a/core/src/com/unciv/ui/tilegroups/TileGroup.kt b/core/src/com/unciv/ui/tilegroups/TileGroup.kt index 461b9269..c69c85f8 100644 --- a/core/src/com/unciv/ui/tilegroups/TileGroup.kt +++ b/core/src/com/unciv/ui/tilegroups/TileGroup.kt @@ -11,7 +11,7 @@ import com.unciv.logic.HexMath import com.unciv.logic.civilization.CivilizationInfo import com.unciv.logic.map.RoadStatus import com.unciv.logic.map.TileInfo -import com.unciv.models.gamebasics.unit.UnitType +import com.unciv.models.ruleset.unit.UnitType import com.unciv.ui.utils.ImageGetter import com.unciv.ui.utils.center import com.unciv.ui.utils.centerX diff --git a/core/src/com/unciv/ui/trade/DiplomacyScreen.kt b/core/src/com/unciv/ui/trade/DiplomacyScreen.kt index 18b94cc4..4f278d47 100644 --- a/core/src/com/unciv/ui/trade/DiplomacyScreen.kt +++ b/core/src/com/unciv/ui/trade/DiplomacyScreen.kt @@ -18,7 +18,7 @@ import com.unciv.logic.civilization.diplomacy.RelationshipLevel import com.unciv.logic.trade.TradeLogic import com.unciv.logic.trade.TradeOffer import com.unciv.logic.trade.TradeType -import com.unciv.models.gamebasics.tr +import com.unciv.models.ruleset.tr import com.unciv.ui.utils.* import com.unciv.ui.worldscreen.optionstable.YesNoPopupTable import kotlin.math.roundToInt diff --git a/core/src/com/unciv/ui/trade/OfferColumnsTable.kt b/core/src/com/unciv/ui/trade/OfferColumnsTable.kt index 4445a54f..2ebf56e2 100644 --- a/core/src/com/unciv/ui/trade/OfferColumnsTable.kt +++ b/core/src/com/unciv/ui/trade/OfferColumnsTable.kt @@ -6,7 +6,7 @@ import com.unciv.logic.trade.TradeLogic import com.unciv.logic.trade.TradeOffer import com.unciv.logic.trade.TradeOffersList import com.unciv.logic.trade.TradeType -import com.unciv.models.gamebasics.tr +import com.unciv.models.ruleset.tr import com.unciv.ui.utils.CameraStageBaseScreen import com.unciv.ui.utils.addSeparator diff --git a/core/src/com/unciv/ui/trade/OffersListScroll.kt b/core/src/com/unciv/ui/trade/OffersListScroll.kt index 7bcac8a8..b3ae5f75 100644 --- a/core/src/com/unciv/ui/trade/OffersListScroll.kt +++ b/core/src/com/unciv/ui/trade/OffersListScroll.kt @@ -8,7 +8,7 @@ import com.unciv.logic.trade.TradeOffer import com.unciv.logic.trade.TradeOffersList import com.unciv.logic.trade.TradeType import com.unciv.logic.trade.TradeType.* -import com.unciv.models.gamebasics.tr +import com.unciv.models.ruleset.tr import com.unciv.ui.cityscreen.ExpanderTab import com.unciv.ui.utils.CameraStageBaseScreen import com.unciv.ui.utils.disable diff --git a/core/src/com/unciv/ui/trade/TradeTable.kt b/core/src/com/unciv/ui/trade/TradeTable.kt index 8b3c3ea1..b1ed6c88 100644 --- a/core/src/com/unciv/ui/trade/TradeTable.kt +++ b/core/src/com/unciv/ui/trade/TradeTable.kt @@ -6,7 +6,7 @@ import com.badlogic.gdx.scenes.scene2d.ui.TextButton import com.unciv.logic.civilization.CivilizationInfo import com.unciv.logic.trade.TradeLogic import com.unciv.logic.trade.TradeRequest -import com.unciv.models.gamebasics.tr +import com.unciv.models.ruleset.tr import com.unciv.ui.utils.CameraStageBaseScreen import com.unciv.ui.utils.disable import com.unciv.ui.utils.enable diff --git a/core/src/com/unciv/ui/utils/CameraStageBaseScreen.kt b/core/src/com/unciv/ui/utils/CameraStageBaseScreen.kt index 406d8cc8..013ed4e0 100644 --- a/core/src/com/unciv/ui/utils/CameraStageBaseScreen.kt +++ b/core/src/com/unciv/ui/utils/CameraStageBaseScreen.kt @@ -12,7 +12,7 @@ import com.badlogic.gdx.scenes.scene2d.ui.* import com.badlogic.gdx.scenes.scene2d.utils.ClickListener import com.badlogic.gdx.utils.viewport.ExtendViewport import com.unciv.UncivGame -import com.unciv.models.gamebasics.tr +import com.unciv.models.ruleset.tr import kotlin.concurrent.thread open class CameraStageBaseScreen : Screen { diff --git a/core/src/com/unciv/ui/utils/ImageGetter.kt b/core/src/com/unciv/ui/utils/ImageGetter.kt index 88d1403d..740a27f3 100644 --- a/core/src/com/unciv/ui/utils/ImageGetter.kt +++ b/core/src/com/unciv/ui/utils/ImageGetter.kt @@ -12,8 +12,8 @@ import com.badlogic.gdx.scenes.scene2d.utils.Drawable import com.badlogic.gdx.scenes.scene2d.utils.TextureRegionDrawable import com.badlogic.gdx.utils.Align import com.unciv.UncivGame -import com.unciv.models.gamebasics.Nation -import com.unciv.models.gamebasics.tile.ResourceType +import com.unciv.models.ruleset.Nation +import com.unciv.models.ruleset.tile.ResourceType object ImageGetter { private const val whiteDotLocation = "OtherIcons/whiteDot" diff --git a/core/src/com/unciv/ui/utils/Tutorials.kt b/core/src/com/unciv/ui/utils/Tutorials.kt index 6e3e8a78..3ba4911a 100644 --- a/core/src/com/unciv/ui/utils/Tutorials.kt +++ b/core/src/com/unciv/ui/utils/Tutorials.kt @@ -4,7 +4,7 @@ import com.badlogic.gdx.Gdx import com.badlogic.gdx.scenes.scene2d.ui.TextButton import com.badlogic.gdx.utils.Array import com.unciv.UncivGame -import com.unciv.models.gamebasics.tr +import com.unciv.models.ruleset.tr import com.unciv.ui.worldscreen.optionstable.PopupTable import java.util.* import kotlin.collections.ArrayList diff --git a/core/src/com/unciv/ui/worldscreen/AlertPopup.kt b/core/src/com/unciv/ui/worldscreen/AlertPopup.kt index e80ff056..3952712f 100644 --- a/core/src/com/unciv/ui/worldscreen/AlertPopup.kt +++ b/core/src/com/unciv/ui/worldscreen/AlertPopup.kt @@ -5,7 +5,7 @@ import com.badlogic.gdx.scenes.scene2d.ui.TextButton import com.unciv.logic.civilization.AlertType import com.unciv.logic.civilization.CivilizationInfo import com.unciv.logic.civilization.PopupAlert -import com.unciv.models.gamebasics.tr +import com.unciv.models.ruleset.tr import com.unciv.ui.utils.* import com.unciv.ui.worldscreen.optionstable.PopupTable diff --git a/core/src/com/unciv/ui/worldscreen/TileMapHolder.kt b/core/src/com/unciv/ui/worldscreen/TileMapHolder.kt index 4e06dd81..2c67cef1 100644 --- a/core/src/com/unciv/ui/worldscreen/TileMapHolder.kt +++ b/core/src/com/unciv/ui/worldscreen/TileMapHolder.kt @@ -17,7 +17,7 @@ import com.unciv.logic.civilization.CivilizationInfo import com.unciv.logic.map.MapUnit import com.unciv.logic.map.TileInfo import com.unciv.logic.map.TileMap -import com.unciv.models.gamebasics.unit.UnitType +import com.unciv.models.ruleset.unit.UnitType import com.unciv.ui.tilegroups.TileSetStrings import com.unciv.ui.tilegroups.WorldTileGroup import com.unciv.ui.utils.* diff --git a/core/src/com/unciv/ui/worldscreen/TradePopup.kt b/core/src/com/unciv/ui/worldscreen/TradePopup.kt index 09d551f6..c502c8c8 100644 --- a/core/src/com/unciv/ui/worldscreen/TradePopup.kt +++ b/core/src/com/unciv/ui/worldscreen/TradePopup.kt @@ -7,7 +7,7 @@ import com.unciv.Constants import com.unciv.logic.civilization.diplomacy.DiplomacyFlags import com.unciv.logic.trade.TradeLogic import com.unciv.logic.trade.TradeType -import com.unciv.models.gamebasics.tr +import com.unciv.models.ruleset.tr import com.unciv.ui.trade.DiplomacyScreen import com.unciv.ui.utils.addSeparator import com.unciv.ui.utils.toLabel diff --git a/core/src/com/unciv/ui/worldscreen/WorldScreen.kt b/core/src/com/unciv/ui/worldscreen/WorldScreen.kt index 278a7b00..2e8f1402 100644 --- a/core/src/com/unciv/ui/worldscreen/WorldScreen.kt +++ b/core/src/com/unciv/ui/worldscreen/WorldScreen.kt @@ -14,9 +14,9 @@ import com.unciv.UncivGame import com.unciv.logic.GameSaver import com.unciv.logic.civilization.CivilizationInfo import com.unciv.logic.civilization.diplomacy.DiplomaticStatus -import com.unciv.models.gamebasics.tile.ResourceType -import com.unciv.models.gamebasics.tr -import com.unciv.models.gamebasics.unit.UnitType +import com.unciv.models.ruleset.tile.ResourceType +import com.unciv.models.ruleset.tr +import com.unciv.models.ruleset.unit.UnitType import com.unciv.ui.VictoryScreen import com.unciv.ui.cityscreen.CityScreen import com.unciv.ui.pickerscreens.GreatPersonPickerScreen @@ -479,7 +479,7 @@ class WorldScreen(val viewingCiv:CivilizationInfo) : CameraStageBaseScreen() { private fun showTutorialsOnNextTurn(){ val shownTutorials = UncivGame.Current.settings.tutorialsShown - displayTutorials("Slow_Start") + displayTutorials("_Slow_Start") if("_BarbarianEncountered" !in shownTutorials && viewingCiv.viewableTiles.any { it.getUnits().any { unit -> unit.civInfo.isBarbarian() } }) displayTutorials("_BarbarianEncountered") diff --git a/core/src/com/unciv/ui/worldscreen/WorldScreenTopBar.kt b/core/src/com/unciv/ui/worldscreen/WorldScreenTopBar.kt index f2fd9e4e..979d803b 100644 --- a/core/src/com/unciv/ui/worldscreen/WorldScreenTopBar.kt +++ b/core/src/com/unciv/ui/worldscreen/WorldScreenTopBar.kt @@ -9,8 +9,8 @@ import com.badlogic.gdx.scenes.scene2d.ui.Table import com.badlogic.gdx.scenes.scene2d.ui.TextButton import com.unciv.UncivGame import com.unciv.logic.civilization.CivilizationInfo -import com.unciv.models.gamebasics.tile.ResourceType -import com.unciv.models.gamebasics.tr +import com.unciv.models.ruleset.tile.ResourceType +import com.unciv.models.ruleset.tr import com.unciv.models.stats.Stats import com.unciv.ui.EmpireOverviewScreen import com.unciv.ui.utils.* diff --git a/core/src/com/unciv/ui/worldscreen/bottombar/BattleTable.kt b/core/src/com/unciv/ui/worldscreen/bottombar/BattleTable.kt index 30a7fb5c..dbdb179e 100644 --- a/core/src/com/unciv/ui/worldscreen/bottombar/BattleTable.kt +++ b/core/src/com/unciv/ui/worldscreen/bottombar/BattleTable.kt @@ -11,8 +11,8 @@ import com.badlogic.gdx.scenes.scene2d.ui.TextButton import com.unciv.UncivGame import com.unciv.logic.automation.UnitAutomation import com.unciv.logic.battle.* -import com.unciv.models.gamebasics.tr -import com.unciv.models.gamebasics.unit.UnitType +import com.unciv.models.ruleset.tr +import com.unciv.models.ruleset.unit.UnitType import com.unciv.ui.utils.* import com.unciv.ui.worldscreen.WorldScreen import com.unciv.ui.worldscreen.optionstable.PopupTable diff --git a/core/src/com/unciv/ui/worldscreen/optionstable/PopupTable.kt b/core/src/com/unciv/ui/worldscreen/optionstable/PopupTable.kt index 741ddb52..abbba98b 100644 --- a/core/src/com/unciv/ui/worldscreen/optionstable/PopupTable.kt +++ b/core/src/com/unciv/ui/worldscreen/optionstable/PopupTable.kt @@ -7,7 +7,7 @@ import com.badlogic.gdx.scenes.scene2d.ui.Label import com.badlogic.gdx.scenes.scene2d.ui.Table import com.badlogic.gdx.scenes.scene2d.ui.TextButton import com.badlogic.gdx.utils.Align -import com.unciv.models.gamebasics.tr +import com.unciv.models.ruleset.tr import com.unciv.ui.utils.* open class PopupTable(val screen: CameraStageBaseScreen): Table(CameraStageBaseScreen.skin) { diff --git a/core/src/com/unciv/ui/worldscreen/optionstable/WorldScreenMenuTable.kt b/core/src/com/unciv/ui/worldscreen/optionstable/WorldScreenMenuTable.kt index f31c95df..22551675 100644 --- a/core/src/com/unciv/ui/worldscreen/optionstable/WorldScreenMenuTable.kt +++ b/core/src/com/unciv/ui/worldscreen/optionstable/WorldScreenMenuTable.kt @@ -4,7 +4,7 @@ import com.badlogic.gdx.Gdx import com.badlogic.gdx.graphics.Color import com.unciv.UncivGame import com.unciv.logic.map.RoadStatus -import com.unciv.models.gamebasics.tr +import com.unciv.models.ruleset.tr import com.unciv.ui.CivilopediaScreen import com.unciv.ui.VictoryScreen import com.unciv.ui.mapeditor.MapEditorScreen diff --git a/core/src/com/unciv/ui/worldscreen/optionstable/WorldScreenOptionsTable.kt b/core/src/com/unciv/ui/worldscreen/optionstable/WorldScreenOptionsTable.kt index 6c2730de..e662a6b6 100644 --- a/core/src/com/unciv/ui/worldscreen/optionstable/WorldScreenOptionsTable.kt +++ b/core/src/com/unciv/ui/worldscreen/optionstable/WorldScreenOptionsTable.kt @@ -7,8 +7,8 @@ import com.badlogic.gdx.scenes.scene2d.ui.* import com.badlogic.gdx.scenes.scene2d.utils.ChangeListener import com.badlogic.gdx.utils.Array import com.unciv.UncivGame -import com.unciv.models.gamebasics.Ruleset -import com.unciv.models.gamebasics.tr +import com.unciv.models.ruleset.Ruleset +import com.unciv.models.ruleset.tr import com.unciv.ui.utils.* import com.unciv.ui.worldscreen.WorldScreen import kotlin.concurrent.thread diff --git a/core/src/com/unciv/ui/worldscreen/optionstable/YesNoPopupTable.kt b/core/src/com/unciv/ui/worldscreen/optionstable/YesNoPopupTable.kt index 9fcca804..977ea78c 100644 --- a/core/src/com/unciv/ui/worldscreen/optionstable/YesNoPopupTable.kt +++ b/core/src/com/unciv/ui/worldscreen/optionstable/YesNoPopupTable.kt @@ -2,7 +2,7 @@ package com.unciv.ui.worldscreen.optionstable import com.badlogic.gdx.scenes.scene2d.ui.TextButton import com.unciv.UncivGame -import com.unciv.models.gamebasics.tr +import com.unciv.models.ruleset.tr import com.unciv.ui.utils.CameraStageBaseScreen import com.unciv.ui.utils.onClick import com.unciv.ui.utils.toLabel diff --git a/core/src/com/unciv/ui/worldscreen/unit/UnitActions.kt b/core/src/com/unciv/ui/worldscreen/unit/UnitActions.kt index 59aae37d..bcd20ee5 100644 --- a/core/src/com/unciv/ui/worldscreen/unit/UnitActions.kt +++ b/core/src/com/unciv/ui/worldscreen/unit/UnitActions.kt @@ -8,8 +8,8 @@ import com.unciv.logic.automation.WorkerAutomation import com.unciv.logic.map.MapUnit import com.unciv.logic.map.RoadStatus import com.unciv.logic.map.TileInfo -import com.unciv.models.gamebasics.Building -import com.unciv.models.gamebasics.tr +import com.unciv.models.ruleset.Building +import com.unciv.models.ruleset.tr import com.unciv.ui.pickerscreens.ImprovementPickerScreen import com.unciv.ui.pickerscreens.PromotionPickerScreen import com.unciv.ui.pickerscreens.TechPickerScreen diff --git a/core/src/com/unciv/ui/worldscreen/unit/UnitTable.kt b/core/src/com/unciv/ui/worldscreen/unit/UnitTable.kt index 393b78e2..facccddf 100644 --- a/core/src/com/unciv/ui/worldscreen/unit/UnitTable.kt +++ b/core/src/com/unciv/ui/worldscreen/unit/UnitTable.kt @@ -11,7 +11,7 @@ import com.unciv.logic.battle.CityCombatant import com.unciv.logic.city.CityInfo import com.unciv.logic.map.MapUnit import com.unciv.logic.map.TileInfo -import com.unciv.models.gamebasics.tr +import com.unciv.models.ruleset.tr import com.unciv.ui.pickerscreens.PromotionPickerScreen import com.unciv.ui.utils.* import com.unciv.ui.worldscreen.WorldScreen diff --git a/desktop/src/com/unciv/app/desktop/DesktopLauncher.kt b/desktop/src/com/unciv/app/desktop/DesktopLauncher.kt index 79c017e3..f329ede2 100644 --- a/desktop/src/com/unciv/app/desktop/DesktopLauncher.kt +++ b/desktop/src/com/unciv/app/desktop/DesktopLauncher.kt @@ -9,10 +9,11 @@ import com.badlogic.gdx.backends.lwjgl.LwjglApplicationConfiguration import com.badlogic.gdx.graphics.Texture import com.badlogic.gdx.tools.texturepacker.TexturePacker import com.unciv.UncivGame -import com.unciv.models.gamebasics.tr +import com.unciv.models.ruleset.tr import java.io.File import kotlin.concurrent.thread + internal object DesktopLauncher { @JvmStatic fun main(arg: Array) { @@ -28,6 +29,7 @@ internal object DesktopLauncher { val game = UncivGame("Desktop") + tryActivateDiscord(game) LwjglApplication(game, config) diff --git a/tests/src/de/tomgrill/gdxtesting/examples/BasicTests.java b/tests/src/de/tomgrill/gdxtesting/examples/BasicTests.java index 3fdf29fa..cb35f327 100644 --- a/tests/src/de/tomgrill/gdxtesting/examples/BasicTests.java +++ b/tests/src/de/tomgrill/gdxtesting/examples/BasicTests.java @@ -4,7 +4,7 @@ package de.tomgrill.gdxtesting.examples; import com.badlogic.gdx.Gdx; import com.unciv.UncivGame; -import com.unciv.models.gamebasics.Ruleset; +import com.unciv.models.ruleset.Ruleset; import org.junit.Test; import org.junit.runner.RunWith; @@ -25,7 +25,7 @@ public class BasicTests { } @Test - public void gameBasicsLoad() { + public void loadRuleset() { assertTrue("This test will only pass when the jsons can be loaded", new Ruleset(true).getBuildings().size() > 0); } diff --git a/tests/src/de/tomgrill/gdxtesting/examples/TranslationTests.java b/tests/src/de/tomgrill/gdxtesting/examples/TranslationTests.java index e7975de6..d3d929ed 100644 --- a/tests/src/de/tomgrill/gdxtesting/examples/TranslationTests.java +++ b/tests/src/de/tomgrill/gdxtesting/examples/TranslationTests.java @@ -5,8 +5,8 @@ package de.tomgrill.gdxtesting.examples; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.files.FileHandle; import com.badlogic.gdx.utils.Array; -import com.unciv.models.gamebasics.Nation; -import com.unciv.models.gamebasics.Ruleset; +import com.unciv.models.ruleset.Nation; +import com.unciv.models.ruleset.Ruleset; import org.junit.Test; import org.junit.runner.RunWith;