diff --git a/android/assets/jsons/Buildings.json b/android/assets/jsons/Buildings.json index d8020d21e6..6b62b13840 100644 --- a/android/assets/jsons/Buildings.json +++ b/android/assets/jsons/Buildings.json @@ -42,6 +42,7 @@ isWonder:true, greatPersonPoints:{production:1}, requiredTech:"Calendar" + quote:"'Time crumbles things; everything grows old and is forgotten under the power of time' - Aristotle" }, { name:"Library", @@ -59,6 +60,7 @@ providesFreeBuilding: "Library", freeTechs:1, requiredTech:"Writing" + quote:"'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" }, { name:"Paper Maker", @@ -100,6 +102,7 @@ isWonder:true, uniques:["Worker construction increased 25%","Provides 2 free workers"], requiredTech:"Masonry" + quote:"'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" }, { name:"Barracks", @@ -116,6 +119,7 @@ isWonder:true, uniques:["Can only be built in coastal cities", "+1 gold from worked water tiles in city"], requiredTech:"Iron Working" + quote:"'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" }, { name:"Krepost", @@ -145,7 +149,8 @@ isWonder:true, providesFreeBuilding: "Lighthouse", uniques:["Can only be built in coastal cities", "All military naval units receive +1 movement and +1 sight"] - requiredTech:"Optics" + requiredTech:"Optics", + quote:"'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" }, { name:"Stable", @@ -170,7 +175,8 @@ food:10, culture:1, isWonder:true, - requiredTech:"Mathematics" + requiredTech:"Mathematics", + quote:"'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" }, { name:"Colosseum", @@ -183,7 +189,8 @@ name:"Terracotta Army", culture:6, isWonder:true, - requiredTech:"Construction" + requiredTech:"Construction", + quote:"'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" }, { name:"Temple", @@ -223,7 +230,8 @@ greatPersonPoints:{science:1}, isWonder:true, uniques:["Free Social Policy"], - requiredTech:"Philosophy" + requiredTech:"Philosophy", + quote:"'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" }, { name:"Market", @@ -268,7 +276,8 @@ providesFreeBuilding: "Walls", freeTechs:1, uniques:["Enemy land units must spend 1 extra movement point when inside your territory (obsolete upon Dynamite)"] - requiredTech:"Engineering" + requiredTech:"Engineering", + quote:"'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" }, // Medieval Era @@ -287,7 +296,8 @@ greatPersonPoints:{culture:1}, isWonder:true, uniques:["+33% great person generation in all cities"], - requiredTech:"Theology" + requiredTech:"Theology", + quote:"'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" }, { name:"National College", @@ -304,7 +314,8 @@ greatPersonPoints:{production:1}, isWonder:true, uniques:["Golden Age length increases +50%"], - requiredTech:"Civil Service" + requiredTech:"Civil Service", + quote:"'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" }, { name:"Machu Picchu", @@ -313,7 +324,8 @@ culture:1, isWonder:true, uniques:["Gold from all trade routes +25%"], - requiredTech:"Guilds" + requiredTech:"Guilds", + quote:"'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" }, { name:"Workshop", @@ -413,7 +425,8 @@ greatPersonPoints:{production:1}, isWonder:true, uniques:["Cost of acquiring new tiles reduced by 25%"], - requiredTech:"Chivalry" + requiredTech:"Chivalry", + quote:"'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" }, { name:"Alhambra", @@ -423,7 +436,8 @@ providesFreeBuilding:"Castle", percentStatBonus:{culture:20}, uniques:["All newly-trained melee, mounted, and armored units in this city receive the Drill I promotion"], - requiredTech:"Chivalry" + requiredTech:"Chivalry", + quote:"'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" }, { name:"Ironworks", @@ -439,7 +453,8 @@ happiness:10, greatPersonPoints:{gold:1}, isWonder:true, - requiredTech:"Physics" + requiredTech:"Physics", + quote:"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" }, { name:"Armory", diff --git a/android/assets/jsons/Nations.json b/android/assets/jsons/Nations.json index 752204ecc8..6eb888be3e 100644 --- a/android/assets/jsons/Nations.json +++ b/android/assets/jsons/Nations.json @@ -531,9 +531,7 @@ hateYes:["Hm... very well, fine.","I suppose I should agree...","Very well..."] afterPeace:"It seems you implemented some interesting strategies... Very well, perhaps we should call it a tie." - tradeRequest:"We have many things to discuss and have much to benefit from each other." - - outerColor:[20,25,73], + tradeRequest:"We have many things to discuss and have much to benefit from each other.", innerColor:[187,33,51], uniqueName:"Scholars of the Jade Hall" unique:"+2 Science for all specialists and Great Person tile improvements", @@ -541,8 +539,86 @@ "Changwon","Andong","Gongju","Haeju","Cheongju","Mokpo","Dongducheon","Geoje","Suncheon","Jinju","Sangju", "Rason","Gyeongju","Chungju","Sacheon","Gimje","Anju"] }, - /* + { + name:"Australia", + leaderName:"John Curtin", + adjective:["Australian"], + startBias:["Avoid Tundra"], + preferredVictoryType:"Scientific", + + startIntroPart1: "The people of the Australian nation salute you, Johnatan Joseph Curtin, their Prime Minister, as their leader. You have been the fourteenth prime minister of this nation, once one of the largest colonies of the British empire. You were born in a land mixed with primal nature and human civilization, and ascended on your seat as minister while the accursed Japanese empire, planning to rule the entire Asian continent, sought to conquer Australia. Your wise and careful leadership, horever, united with some luck, twarted their plans, and contributed to the rise of an indipendent, British control-free Australia. Unfortunately, your very ill health prevented you to see that dream come true, as your life ended shortly before the Second World War finally come to a close after six years of bloodshed.", + startIntroPart2: "Mister Curtin, the Australian people consider you as one of their most famous people of their history, and the best leader they could ever have, but not they call for your leadership, so that they are free to ascend to true greatness. Will you answer the call? Will you build a civilization that will stand the test of time?", + + declaringWar:"After thorough deliberation, Australia finds itself at a crossroads. Prepare yourself - war is upon us.", + attacked:"We will mobilize every means of resistance to stop this transgression against our nation!", + defeated:"The principles for which we have fought will survive longer than any nation you could ever build.", + introduction:"My name is Jonathan Joseph Curtin, and I speak for the people of Australia as their Prime Minister. We seek sympathetic allies in the fight against the hawks of war.", + + neutralHello:"Greetings.", + neutralLetsHearIt:["I'm listening.","What do you have in mind?"], + neutralNo:["Sorry but no.","I decline.","I regret I must refuse."], + neutralYes:["As you wish!","So be it!","I agree!"], + + hateHello:"You again, it seems...", + hateLetsHearIt:["Speak your mind.","I'm listening!"], + hateNo:["No.","It shall not be.","Thanks, but no thanks."], + hateYes:["Fine...","I accept."], + + afterPeace:"The war is over, for now. At least I see it alive.", + tradeRequest:"I hope you will receive my offer with my sincerest thanks.", + + outerColor:[0,102,0], + innerColor:[255,255,0], + uniqueName:"Land Down Under", + unique:"+1 Food in coastal Cities. +1 Culture from Pastures", + cities:["Sydney", "Launceston", "Ballaarat", "Perth", "Brisbane", "Melbourne", "Townsville", "Geelong", "Adelaide", + "Hobart", "Bendigo", "Broken Hill", "Cairns", "Newcastle", "Maitland", "Rockhampton", "Wagga Wagga", + "Wollongong", "Albury", "Alice Springs", "Bathurst", "Queanbeyan", "Bundaberg", "Coffs Harbor", "Darwin", + "Fremantle", "Gladstone", "Goulburn", "Hervey Bay", "Kalgoorlie", "Lismore", "Lithgow", "Maryborough", + "Orange", "Port Macquarie", "Port Pirie", "Boomahnoomoonah", "Tweed Heads"] + ///Unique unit: Digger (replaces Infantry, and has +10% Strenght against anti-cavalry units, +10% Strenght on coastal tiles) + ///Unique building: Outback Station (replaces Windmill, adds +1 Food) + }, + { + name:"Nubia", + leaderName:"Amanitore", + adjective:["Nubian"], + startBias:["Desert"], + preferredVictoryType:"Domination", + + startIntroPart1: "O wise Queen of Nubia, Amanitore, we greet thee. You are the leader of the mysterious and fascinating Nubian civilization. For centuries, your people has known lots and lots of centuries of trade, friendships and warfare with the Egyptians, from which they have been culturally inspired, building pyramids and burial tombs that, while not as big as the majestic Pyramids of Kheops, Khephren and Menkaure, were no less amazing than these. After some centuries of servitude under the ambitious Pharaohs of Egypt, your ancestor Piankhi took revenge and subdued the entire land of the Pharaohs." + startIntroPart2: "Amanitore, watchful Queen of Nubia, the empire you command shall claim the horizon as its border. Fear not enemies, for your cities shall know prosperity and piety. Can you build a civilization that stands the test of time?" + + declaringWar:"We have arrows, finely honed. We shall deliver them freely to your throat." + attacked:"As predicted, you know only how to take. Come, then - choose the manner of your defear." + defeated:"Though Nubia falls, our pyramids shall remain long after your plans and palaces fall to ruin." + introduction:"I am Amanitore of Nubia. All are welcome in our magnificent cities - provided they come as friends." + + neutralHello:"Greetings to you." + neutralLetsHearIt:["Let us hear.","Please, talk.","What do you suggest?"] + neutralNo:["I must refuse.","Sorry, but no.","I'm afraid this is unacceptable."] + neutralYes:["How gracious of you.","So shall it be.","Of course!"] + + hateHello:"You again?" + hateLetsHearIt:["What are you to say?","What is it?","Speak."] + hateNo:["The Gods forbid this!","Are you out of your mind?","I cannot do that."] + hateYes:["Hm... very well, fine.","I suppose I should agree...","Very well..."] + + afterPeace:"At least you know how to speak of peace. May war never touch us again!" + tradeRequest:"Our delegation brings goodwill. Oh, here's also some fresh camel liver. Just don't cook it!" + + outerColor:[255,255,51], + innerColor:[153,76,0], + uniqueName:"Ta-Seti" + unique:"+50% Production toward Ranged units, which gain +50% combat experience. +1 Production from Mines over a Strategic Resource, and +2 Gold from Mines over a Luxury Resource.", + cities:["Kerma","Napata","Nuri","El-Kurru","Kawa","Sedeinga","Heh","Qasr Ibrim","Faras","Shaat","Iken","Abu Simbel","Buhen", + "Dengeil","Miam","Tombos","Kurgus","Toshka","Soleb","Wad ban Naqa","Debba","Bugdumbush","Baki","Amara", + "Musawwarat es-Sufra","El Fura","Ukma","Pedeme","Defeia"] + //Nubians should have Pitati Archer as their unique unit, which replaces Archer and it's stronger. Can also move three tiles. + //There should also be another new Unique Improvement - but only for G&K, since it uses Faith. + }, + { // REQUIRES RIVERS name:"Aztecs", leaderName:"Montezuma I", @@ -918,7 +994,42 @@ "Fredrikstad","Kolding","Horsens","Tromsoe","Vejle","Koge","Sandnes","Holstebro","Slagelse","Drammen", "Hillerod","Sonderborg","Skien","Svendborg","Holbaek","Hjorring","Fladstrand","Haderslev","Ringsted","Skrive"] }, + { + name:"Philippines", + leaderName:"Jose Rizal", + adjective:["Filipinos"], + startBias:["Coastal"], + prefferedVictoryType:"Cultural", + + startIntroPart1:"O magnificent Rizal, your people call you to change their world once more. Can you defend this beautiful and tranquil omeland against all manner of foe?" + startIntroPart2:"Can you forge a place for the Philippine Republic through peace and harmony with the world around you? Can you build a civilization that can stand the test of time?" + + declaringWar:"We bleed into the same earth and bleed we must!" + attacked:"You sure about that!" + defeated: "You have destroyed a beautiful creation. In its place is the blood of the thousands that you have lustfully slain.", + introduction: "At long last a friendly face has come to our shores. I am José Rizal, leader of the Philippine Republic! Cometellme of your people and their culture.", + + neutralHello:"Hello." + neutralLetsHearIt:["What do you need.","Go on"] + neutralNo:["Sorry I cannot do that.","No Sorry."] + neutralYes:["Of Course!","Yes"] + + hateHello:["You again"] + hateLetsHearIt:["Hurry Up!,"So?"] + hateNo:["Of Course Not!,"Are you crazy no"] + hateYes:["Ok Fine","I Agree"] + + afterPeace:"Impressive! I Offer you peace because war only bring destruction", + tradeRequest:"Here's the list for our own benefits", + innerColor:[185,132,66] + uniqueName:"Pearl Of The Orient" + unique:"Upon signingOpen Borders, both Civilizations receive a Cargo Ship. Foreign Units within your borders provide Culture." + cities:["Manila","Quezon","Cebu",Pasig","Makati","Cagayan de Oro","Baguio","Davao City","Bacolod","Taguig","Pasay", + "Bataan","Angeles","Marikina"] + }, */ + + //City states { @@ -1124,6 +1235,8 @@ innerColor:[0,102,102], cities:["Edinburgh"] }, + + //Barbarian { @@ -1131,4 +1244,5 @@ outerColor:[0,0,0], innerColor:[182,0,0] } + ] diff --git a/android/build.gradle b/android/build.gradle index dac08e9c7e..737d66056a 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -21,8 +21,8 @@ android { applicationId "com.unciv.app" minSdkVersion 14 targetSdkVersion 29 - versionCode 296 - versionName "3.0.3" + versionCode 297 + versionName "3.0.4" } // Had to add this crap for Travis to build, it wanted to sign the app diff --git a/core/src/com/unciv/logic/civilization/PopupAlert.kt b/core/src/com/unciv/logic/civilization/PopupAlert.kt index fd0758f406..8f2d397c59 100644 --- a/core/src/com/unciv/logic/civilization/PopupAlert.kt +++ b/core/src/com/unciv/logic/civilization/PopupAlert.kt @@ -1,8 +1,9 @@ package com.unciv.logic.civilization enum class AlertType{ - WarDeclaration, Defeated, + WonderBuilt, + WarDeclaration, FirstContact, CityConquered, BorderConflict, @@ -10,7 +11,6 @@ enum class AlertType{ CitiesSettledNearOtherCiv, DemandToStopSettlingCitiesNear, CitySettledNearOtherCivDespiteOurPromise, - WonderBuilt } class PopupAlert { diff --git a/core/src/com/unciv/ui/EmpireOverviewScreen.kt b/core/src/com/unciv/ui/EmpireOverviewScreen.kt index 44610dae1a..877b874068 100644 --- a/core/src/com/unciv/ui/EmpireOverviewScreen.kt +++ b/core/src/com/unciv/ui/EmpireOverviewScreen.kt @@ -85,7 +85,7 @@ class EmpireOverviewScreen : CameraStageBaseScreen(){ val setResourcesButton = TextButton("Resources".tr(),skin) setResourcesButton.onClick { centerTable.clear() - centerTable.add(getResourcesTable()).height(stage.height*0.8f) + centerTable.add(ScrollPane(getResourcesTable())).size(stage.width*0.8f, stage.height*0.8f) centerTable.pack() } topTable.add(setResourcesButton) diff --git a/core/src/com/unciv/ui/worldscreen/WorldScreen.kt b/core/src/com/unciv/ui/worldscreen/WorldScreen.kt index fab39f496d..23a763a175 100644 --- a/core/src/com/unciv/ui/worldscreen/WorldScreen.kt +++ b/core/src/com/unciv/ui/worldscreen/WorldScreen.kt @@ -36,6 +36,7 @@ import kotlin.concurrent.thread class WorldScreen(val viewingCiv:CivilizationInfo) : CameraStageBaseScreen() { val gameInfo = game.gameInfo var isPlayersTurn = viewingCiv == gameInfo.currentPlayerCiv // todo this should be updated when passing turns + var waitingForAutosave = false val tileMapHolder: TileMapHolder = TileMapHolder(this, gameInfo.tileMap) val minimapWrapper = MinimapHolder(tileMapHolder) @@ -188,8 +189,8 @@ class WorldScreen(val viewingCiv:CivilizationInfo) : CameraStageBaseScreen() { !gameInfo.oneMoreTurnMode && gameInfo.civilizations.any { it.victoryManager.hasWon() } -> game.screen = VictoryScreen() viewingCiv.policies.freePolicies > 0 -> game.screen = PolicyPickerScreen(this) viewingCiv.greatPeople.freeGreatPeople > 0 -> game.screen = GreatPersonPickerScreen() - viewingCiv.tradeRequests.isNotEmpty() -> TradePopup(this) viewingCiv.popupAlerts.any() -> AlertPopup(this, viewingCiv.popupAlerts.first()) + viewingCiv.tradeRequests.isNotEmpty() -> TradePopup(this) } } updateNextTurnButton() @@ -366,9 +367,13 @@ class WorldScreen(val viewingCiv:CivilizationInfo) : CameraStageBaseScreen() { } if(shouldAutoSave) { - game.worldScreen.nextTurnButton.disable() + val newWorldScreen = game.worldScreen + newWorldScreen.waitingForAutosave = true + newWorldScreen.shouldUpdate = true GameSaver().autoSave(gameInfoClone) { - createNewWorldScreen() // only enable the user to next turn once we've saved the current one + // only enable the user to next turn once we've saved the current one + newWorldScreen.waitingForAutosave = false + newWorldScreen.shouldUpdate = true } } } @@ -387,7 +392,7 @@ class WorldScreen(val viewingCiv:CivilizationInfo) : CameraStageBaseScreen() { nextTurnButton.setText(text.tr()) nextTurnButton.color = if (text == "Next turn") Color.WHITE else Color.GRAY nextTurnButton.pack() - if (alertPopupIsOpen || !isPlayersTurn) nextTurnButton.disable() + if (alertPopupIsOpen || !isPlayersTurn || waitingForAutosave) nextTurnButton.disable() else nextTurnButton.enable() nextTurnButton.setPosition(stage.width - nextTurnButton.width - 10f, topBar.y - nextTurnButton.height - 10f) }