From fc01fde1638613fe4bbb6df1fbbdf56058a15bbd Mon Sep 17 00:00:00 2001 From: Xander Lenstra <71121390+xlenstra@users.noreply.github.com> Date: Tue, 5 Oct 2021 19:38:58 +0200 Subject: [PATCH] Nations now have a favoured religion they try choose when available (#5406) --- .../assets/jsons/Civ V - Vanilla/Nations.json | 33 +++++++++++++++++++ .../logic/automation/NextTurnAutomation.kt | 8 +++-- core/src/com/unciv/models/ruleset/Nation.kt | 2 ++ 3 files changed, 40 insertions(+), 3 deletions(-) diff --git a/android/assets/jsons/Civ V - Vanilla/Nations.json b/android/assets/jsons/Civ V - Vanilla/Nations.json index 4ec306a636..da74e7969a 100644 --- a/android/assets/jsons/Civ V - Vanilla/Nations.json +++ b/android/assets/jsons/Civ V - Vanilla/Nations.json @@ -29,6 +29,7 @@ "outerColor": [27,53,63], "innerColor": [213,249,255], + "favoredReligion": "Islam", "uniqueName": "Ingenuity", "uniques": ["Receive free [Great Scientist] when you discover [Writing]", "[Great Scientist] is earned [50]% faster"], "cities": ["Babylon","Akkad","Dur-Kurigalzu","Nippur","Borsippa","Sippar","Opis","Mari","Shushan","Eshnunna", @@ -58,6 +59,7 @@ "outerColor": [181, 232, 232], "innerColor": [68,142,249], + "favoredReligion": "Christianity", "uniqueName": "Hellenic League", "uniques": ["City-State Influence degrades [50]% slower", "City-State Influence recovers at twice the normal rate", "City-State territory always counts as friendly territory"], "cities": ["Athens","Sparta","Corinth","Argos","Knossos","Mycenae","Pharsalos","Ephesus","Halicarnassus","Rhodes", @@ -83,6 +85,7 @@ "tradeRequest": "My friend, do you think you can accept this request?", "outerColor": [9, 112, 84], "innerColor": [255,255,255], + "favouredReligion": "Taoism", "uniqueName": "Art of War", "uniques": ["Great General provides double combat bonus", "[Great General] is earned [50]% faster"], "cities": ["Beijing","Shanghai","Guangzhou","Nanjing","Xian","Chengdu","Hangzhou","Tianjin","Macau","Shandong", @@ -112,6 +115,7 @@ "outerColor": [ 231, 213, 0], "innerColor": [98,10,210], + "favoredReligion": "Islam", "uniqueName": "Monument Builders", "uniques": ["+[20]% Production when constructing [Wonders]"], "cities": ["Thebes","Memphis","Heliopolis","Elephantine","Alexandria","Pi-Ramesses","Giza","Byblos","Akhetaten", @@ -138,6 +142,7 @@ "tradeRequest": "Would you be interested in a trade agreement with England?", "outerColor": [ 114, 0, 0], "innerColor": [255,255,255], + "favoredReligion": "Christianity", "uniqueName": "Sun Never Sets", "uniques": ["[+2] Movement "], "cities": ["London","York","Nottingham","Hastings","Canterbury","Coventry","Warwick","Newcastle","Oxford","Liverpool", @@ -162,6 +167,7 @@ "tradeRequest": "France offers you this exceptional proposition.", "outerColor": [ 38, 98, 255], "innerColor": [239,236,148], + "favoredReligion": "Christianity", "uniqueName": "Ancien Régime", "uniques": ["[+2 Culture] per turn from cities before [Steam Power]"], "cities": ["Paris","Orleans","Lyon","Troyes","Tours","Marseille","Chartres","Avignon","Rouen","Grenoble", @@ -187,6 +193,7 @@ "tradeRequest": "How would you like it if I propose this kind of exchange?", "outerColor": [ 236, 178, 0], "innerColor": [0,0,0], + "favoredReligion": "Christianity", "uniqueName": "Siberian Riches", "uniques": ["[+1 Production] from every [Strategic resource]","Double quantity of [Horses] produced", "Double quantity of [Iron] produced","Double quantity of [Uranium] produced"], @@ -213,6 +220,7 @@ "tradeRequest": "I offer this, for your consideration.", "outerColor": [ 53,0,87], "innerColor": [238,201,9], + "favoredReligion": "Christianity", "uniqueName": "The Glory of Rome", "uniques": ["+25% Production towards any buildings that already exist in the Capital"], "cities": ["Rome","Antium","Cumae","Neapolis","Ravenna","Arretium","Mediolanum","Arpinum","Circei","Setia", @@ -238,6 +246,7 @@ "tradeRequest": "Come forth, let's do business.", "outerColor": [ 41,83,42], "innerColor": [146,221,9], + "favoredReligion": "Islam", "uniqueName": "Trade Caravans", "uniques": ["[+1 Gold] from each Trade Route", "Double quantity of [Oil] produced"], "cities": ["Mecca","Medina","Damascus","Baghdad","Najran","Kufah","Basra","Khurasan","Anjar","Fustat", @@ -261,6 +270,7 @@ "tradeRequest": "Is the following trade of interest to you?", "outerColor": [ 28,51,119], "innerColor": [255,255,255], + "favoredReligion": "Christianity", "uniqueName": "Manifest Destiny", "uniques": ["[+1] Sight ", "-[50]% Gold cost of acquiring tiles [in all cities]"], "cities": ["Washington","New York","Boston","Philadelphia","Atlanta","Chicago","Seattle","San Francisco","Los Angeles","Houston", @@ -288,6 +298,7 @@ "tradeRequest": "I would be grateful if you agreed on the following proposal.", "outerColor": [215,225,225], "innerColor": [185,0,0], + "favoredReligion": "Shinto", "uniqueName": "Bushido", "uniques": ["Units fight as though they were at full strength even when damaged"], "cities": ["Kyoto","Osaka","Tokyo","Satsuma","Kagoshima","Nara","Nagoya","Izumo","Nagasaki","Yokohama", @@ -313,6 +324,7 @@ "tradeRequest": "My friend, are you interested in this arrangement?", "outerColor": [16,126,5], "innerColor": [255,153,51], + "favoredReligion": "Hinduism", "uniqueName": "Population Growth", "uniques": ["Unhappiness from number of Cities doubled", "[-50]% unhappiness from population [in all cities]"], "cities": ["Delhi","Mumbai","Vijayanagara","Pataliputra","Varanasi","Agra","Calcutta","Lahore","Bangalore","Hyderabad","Madurai","Ahmedabad", @@ -336,6 +348,7 @@ "tradeRequest": "It would be in your best interest, to carefully consider this proposal.", "outerColor": [150,150,150], "innerColor": [60,60,60], + "favoredReligion": "Christianity", "uniqueName": "Furor Teutonicus", "uniques": ["67% chance to earn 25 Gold and recruit a Barbarian unit from a conquered encampment", "[-25]% maintenance costs for [Land] units"], @@ -365,6 +378,7 @@ "tradeRequest": "Let us do business! Would you be interested?", "outerColor": [245,248,185], "innerColor": [18,84,30], + "favoredReligion": "Islam", "uniqueName": "Barbary Corsairs", "uniques": ["[-66]% maintenance costs for [Water] units", "50% chance of capturing defeated Barbarian naval units and earning 25 Gold"], @@ -392,6 +406,7 @@ "tradeRequest": "We have many things to discuss and have much to benefit from each other.", "outerColor": [26,32,96], "innerColor": [255,0,0], + "favoredReligion": "Confucianism", "uniqueName": "Scholars of the Jade Hall", "uniques": ["[+2 Science] from every specialist [in all cities]", "[+2 Science] from every [Great Improvement]","Receive a tech boost when scientific buildings/wonders are built in capital"], "cities": ["Seoul","Busan","Jeonju","Daegu","Pyongyang","Kaesong","Suwon","Gwangju","Gangneung","Hamhung","Wonju","Ulsan", @@ -417,6 +432,7 @@ "tradeRequest": "Does this trade work for you, my friend?", "outerColor": [54,72,72], "innerColor": [246,205,137], + "favoredReligion": "Christianity", "uniqueName": "The Great Warpath", "uniques": ["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."], "cities": ["Onondaga","Osininka","Grand River","Akwesasme","Buffalo Creek","Brantford","Montreal","Genesse River", @@ -441,6 +457,7 @@ "tradeRequest": "In my endless magnanimity, I am making you this offer. You agree, of course?", "outerColor": [153,5,3], "innerColor": [244,232,54], + "favoredReligion": "Zoroastrianism", "uniqueName": "Achaemenid Legacy", "uniques": ["Golden Age length increased by [50]%", "[+1] Movement ", "[+10]% Strength "], "cities": ["Persepolis","Parsagadae","Susa","Ecbatana","Tarsus","Gordium","Bactra","Sardis","Ergili","Dariushkabir", @@ -469,6 +486,7 @@ "tradeRequest": "Come, let our people feast together!", "outerColor": [225,105,0], "innerColor": [255,255,78], + "favoredReligion": "Christianity", "uniqueName": "Wayfinding", "uniques": ["Can embark and move over Coasts and Oceans immediately", "Normal vision when embarked ", "+[10]% Strength if within [2] tiles of a [Moai]"], "cities": ["Honolulu","Samoa","Tonga","Nuku Hiva","Raiatea","Aotearoa","Tahiti","Hilo","Te Wai Pounamu","Rapa Nui", @@ -494,6 +512,7 @@ "tradeRequest": "Greetings. I believe this is a fair proposal for both parties. What do you think?", "outerColor": [228,208,43], "innerColor": [193,21,17], + "favoredReligion": "Buddhism", "uniqueName": "Father Governs Children", "uniques": ["[+50]% [Food] from City-States","[+50]% [Culture] from City-States","[+50]% [Faith] from City-States","Military Units gifted from City-States start with [+10] XP"], "cities": ["Sukhothai","Si Satchanalai","Muang Saluang","Lampang","Phitsanulok","Kamphaeng Pet","Nakhom Chum","Vientiane", @@ -519,6 +538,7 @@ "tradeRequest": "I hope this deal will receive your blessing.", "outerColor": [102,0,0], "innerColor": [255,102,102], + "favoredReligion": "Christianity", "uniqueName": "Seven Cities of Gold", "uniques": ["100 Gold for discovering a Natural Wonder (bonus enhanced to 500 Gold if first to discover it)", "Double Happiness from Natural Wonders", "Tile yields from Natural Wonders doubled"], @@ -545,6 +565,7 @@ "tradeRequest": "Can I interest you in this deal?", "outerColor": [214,145,19], "innerColor": [90,0,10], + "favoredReligion": "Islam", "uniqueName": "River Warlord", "uniques": ["Receive triple Gold from Barbarian encampments and pillaging Cities", "Embarked units can defend themselves"], "cities": ["Gao","Tombouctu","Jenne","Taghaza","Tondibi","Kumbi Saleh","Kukia","Walata","Tegdaoust","Argungu","Gwandu", @@ -569,6 +590,7 @@ "tradeRequest": "I am not always this generous, but we hope you take this rare opportunity we give you.", "outerColor": [81,0,9], "innerColor": [255,120,0], + "favoredReligion": "Tengriism", "uniqueName": "Mongol Terror", "uniques": ["+30% Strength when fighting City-State units and cities", "[+1] Movement "], "cities": ["Karakorum","Beshbalik","Turfan","Hsia","Old Sarai","New Sarai","Tabriz","Tiflis","Otrar","Sanchu","Kazan", @@ -597,6 +619,7 @@ "outerColor": [139,32,23], "innerColor": [134,238,214], + "favoredReligion": "Christianity", "uniqueName": "Sacrificial Captives", "uniques": ["Earn [100]% of killed [Military] unit's [Strength] as [Culture]"], "cities": ["Tenochtitlan","Teotihuacan","Tlatelolco","Texcoco","Tlaxcala","Calixtlahuaca","Xochicalco","Tlacopan", @@ -635,6 +658,7 @@ "outerColor": [255,184,33], "innerColor": [3,115,86], + "favoredReligion": "Christianity", "uniqueName": "Great Andean Road", "uniques": ["Units ignore terrain costs when moving into any tile with Hills", "Maintenance on roads & railroads reduced by [50]%", @@ -662,6 +686,7 @@ "tradeRequest": "This is a fine deal! Even a drunk beggar would agree!", "outerColor": [51,25,0], "innerColor": [255,255,102], + "favoredReligion": "Christianity", "uniqueName": "Viking Fury", "uniques": ["+1 Movement for all embarked units", "Units pay only 1 movement point to disembark", "Melee units pay no movement cost to pillage"], @@ -689,6 +714,7 @@ "tradeRequest": "This is better than you deserve, but let it not be said that I am an unfair man.", "outerColor": [180, 178, 164], "innerColor": [70, 0, 4], + "favoredReligion": "Tengriism", "uniqueName": "Scourge of God", "uniques": ["[+1 Production] from every [Pasture]", "Cities are razed [2] times as fast", "Starts with [Animal Husbandry]", "\"Borrows\" city names from other civilizations in the game"], "cities": ["Atilla's Court"] @@ -711,6 +737,7 @@ "tradeRequest": "I believe I have something that may be of some importance to you.", "outerColor": [255, 144, 0], "innerColor": [255, 255, 255], + "favoredReligion": "Christianity", "uniqueName": "Dutch East India Company", "uniques": ["Retain [50]% of the happiness from a luxury after the last copy has been traded away"], "cities": ["Amsterdam", "Rotterdam", "Utrecht", "Groningen", "Breda", "Nijmegen", "Den Haag", "Haarlem", "Arnhem", "Zutphen", "Maastricht", "Tilburg", "Eindhoven", "Dordrecht", "Leiden", "'s Hertogenbosch", "Almere", "Alkmaar", "Brielle", "Vlissingen", "Apeldoorn", "Enschede", "Amersfoort", "Zwolle", "Venlo", "Uden", "Grave", "Delft", "Gouda", "Nieuwstadt", "Weesp", "Coevorden", "Kerkrade"] @@ -736,6 +763,7 @@ "tradeRequest": "My friend, it is my belief that this settlement can benefit both our peoples.", "outerColor": [37,56,123], "innerColor": [227,225,44], + "favoredReligion": "Christianity", "uniqueName": "Nobel Prize", "uniques": ["Gain [90] Influence with a [Great Person] gift to a City-State", "When declaring friendship, both parties gain a [10]% boost to great person generation"], "cities": ["Stockholm","Uppsala","Gothenburg","Malmö","Linköping","Kalmar","Skara","Västerås","Jönköping", @@ -764,6 +792,7 @@ "tradeRequest": "I see you admire my new damask. Nobody should say that I am an unjust woman. Let's reach an agreement!", "outerColor": [234,0,0], "innerColor": [255,255,255], + "favoredReligion": "Christianity", "uniqueName": "Diplomatic Marriage", "uniques": ["Can spend Gold to annex or puppet a City-State that has been your ally for [5] turns."], "cities": ["Vienna", "Salzburg", "Graz", "Linz", "Klagenfurt", "Bregenz", "Innsbruck", "Kitzbühel", @@ -791,6 +820,7 @@ "tradeRequest": "I just had the marvelous idea, and I think you'll appreciate it too.", "outerColor": [205,205,205], "innerColor": [81,0,137], + "favoredReligion": "Islam", "uniqueName": "Phoenician Heritage", "uniques": ["Gain a free [Harbor] [in all coastal cities]","Land units may cross [Mountain] tiles after the first [Great General] is earned", "Units ending their turn on [Mountain] tiles take [50] damage"], @@ -817,6 +847,7 @@ "tradeRequest": "I have heard that you adept at certain kinds of ... interactions. Show me.", "outerColor": [114, 162, 233], "innerColor": [61, 0, 109], + "favoredReligion": "Christianity", "uniqueName": "Patriarchate of Constantinople", "uniques": ["May choose [1] additional belief(s) of any type when [founding] a religion"], @@ -854,6 +885,7 @@ "outerColor": [12,75,25], "innerColor": [157,172,255], + "favoredReligion": "Christianity", "uniqueName": "Druidic Lore", "uniques": ["[+1 Faith] [in all cities] ", "[+2 Faith] [in all cities] "], @@ -892,6 +924,7 @@ "outerColor": [19,70,24], "innerColor": [255,46,46], + "favoredReligion": "Christianity", "uniqueName": "Spirit of Adwa", "uniques": ["[+20]% Strength "], "cities": ["Addis Ababa","Harar","Adwa","Lalibela","Gondar","Axum","Dire Dawa","Bahir Dar","Adama", diff --git a/core/src/com/unciv/logic/automation/NextTurnAutomation.kt b/core/src/com/unciv/logic/automation/NextTurnAutomation.kt index 353a4b92f1..c031655b9d 100644 --- a/core/src/com/unciv/logic/automation/NextTurnAutomation.kt +++ b/core/src/com/unciv/logic/automation/NextTurnAutomation.kt @@ -321,10 +321,12 @@ object NextTurnAutomation { private fun foundReligion(civInfo: CivilizationInfo) { if (civInfo.religionManager.religionState != ReligionState.FoundingReligion) return - val religionIcon = civInfo.gameInfo.ruleSet.religions + val availableReligionIcons = civInfo.gameInfo.ruleSet.religions .filterNot { civInfo.gameInfo.religions.values.map { religion -> religion.name }.contains(it) } - .randomOrNull() - ?: return // Wait what? How did we pass the checking when using a great prophet but not this? + val religionIcon = + if (civInfo.nation.favoredReligion in availableReligionIcons) civInfo.nation.favoredReligion + else availableReligionIcons.randomOrNull() + ?: return // Wait what? How did we pass the checking when using a great prophet but not this? val chosenBeliefs = chooseBeliefs(civInfo, civInfo.religionManager.getBeliefsToChooseAtFounding()).toList() civInfo.religionManager.chooseBeliefs(religionIcon, religionIcon, chosenBeliefs) } diff --git a/core/src/com/unciv/models/ruleset/Nation.kt b/core/src/com/unciv/models/ruleset/Nation.kt index dc11f9f0ff..cfd30c576a 100644 --- a/core/src/com/unciv/models/ruleset/Nation.kt +++ b/core/src/com/unciv/models/ruleset/Nation.kt @@ -53,6 +53,8 @@ class Nation : RulesetObject() { var adjective = ArrayList() */ + var favoredReligion: String? = null + @Transient private lateinit var outerColorObject: Color fun getOuterColor(): Color = outerColorObject