From a7b880c033bcbc3234c42a6143116e2b19b47a92 Mon Sep 17 00:00:00 2001 From: yairm210 Date: Wed, 15 Dec 2021 23:12:28 +0200 Subject: [PATCH] 3.18.10 --- .../jsons/translations/French.properties | 2 - .../jsons/translations/Indonesian.properties | 52 ----- .../jsons/translations/Russian.properties | 58 ------ .../jsons/translations/Swedish.properties | 56 ----- .../completionPercentages.properties | 8 +- buildSrc/src/main/kotlin/BuildConfig.kt | 4 +- changelog.md | 12 ++ .../com/unciv/app/desktop/UniqueDocsWriter.kt | 2 +- docs/uniques.md | 194 +++++++++--------- 9 files changed, 116 insertions(+), 272 deletions(-) diff --git a/android/assets/jsons/translations/French.properties b/android/assets/jsons/translations/French.properties index e548b0147a..15a9aacf88 100644 --- a/android/assets/jsons/translations/French.properties +++ b/android/assets/jsons/translations/French.properties @@ -135,7 +135,6 @@ Ally = Allié [questName] (+[influenceAmount] influence) = [questName] (+[influenceAmount] influence) [remainingTurns] turns remaining = [remainingTurns] tours restant - Current leader is [civInfo] with [amount] [stat] generated. = Le dirigeant actuel est [civInfo] et a généré [amount] [stat]. Current leader is [civInfo] with [amount] Technologies discovered. = Le durugeant actuel est [civInfo] avec [amount] Technologies découvertes. @@ -1228,7 +1227,6 @@ Holy city of: [religionName] = Pressure = # Religion overview screen - # Requires translation! Religion Name: = Nom de la religion: # Requires translation! Founding Civ: = diff --git a/android/assets/jsons/translations/Indonesian.properties b/android/assets/jsons/translations/Indonesian.properties index d70193752e..5f830d9e9a 100644 --- a/android/assets/jsons/translations/Indonesian.properties +++ b/android/assets/jsons/translations/Indonesian.properties @@ -5318,117 +5318,65 @@ This means exploration and trade is important to grow your cities! = Ini berarti #################### Lines from Unique Types ####################### - # Requires translation! Provides [stats] per turn = Menyediakan [stats] per giliran - # Requires translation! Provides [stats] [cityFilter] per turn = Menyediakan [stats] [cityFilter] per giliran - # Requires translation! Provides [amount] Happiness = menyediakan [amount] kebahagiaan - # Requires translation! Provides military units every ≈[amount] turns = menyediakan unit militer setiap≈[amount] giliran - # Requires translation! Provides a unique luxury = menyediakan barang mewah unik - # Requires translation! May choose [amount] additional [beliefType] beliefs when [foundingOrEnhancing] a religion = Dapat memilih [amount] tambahan [beliefType] pengikut saat [foundingOrEnhancing] agama - # Requires translation! May buy [buildingFilter] buildings for [amount] [stat] [cityFilter] at an increasing price ([amount2]) = Dapat membeli [buildingFilter] bangunan untuk [amount] [stat] [cityFilter] dengan peningkatan harga ([amount2]) - # Requires translation! May buy [baseUnitFilter] units for [amount] [stat] [cityFilter] = Dapat membeli [baseUnitFilter] unit untuk [amount] [stat] [cityFilter] - # Requires translation! May buy [buildingFilter] buildings for [amount] [stat] [cityFilter] = Dapat membeli [buildingFilter] bangunan untuk [amount] [stat] [cityFilter] - # Requires translation! May buy [baseUnitFilter] units with [stat] [cityFilter] = Dapat membeli [baseUnitFilter] unit dengan [stat] [cityFilter] - # Requires translation! May buy [buildingFilter] buildings with [stat] for [amount] times their normal Production cost = Dapat membeli [buildingFilter] bangunan dengan [stat] untuk [amount] kali harga normal produksinya - # Requires translation! Triggers victory = Memicu kemenangan - # Requires translation! Can be purchased for [amount] [stat] [cityFilter] = Bisa dibeli untuk [amount] [stat] [cityFilter] - # Requires translation! Must not be next to [terrainFilter] = Harus tidak di sebelah [terrainFilter] - # Requires translation! Deal [amount] damage to adjacent enemy units = Memberi [amount] kerusakan untuk unit musuh sekitar when at war = saat sedang berperang when not at war = saat tidak sedang berperang while the empire is happy = selama kerajaan sedang bahagia during a Golden Age = di saat Masa Kejayaan - # Requires translation! during the [era] = selama [era] - # Requires translation! before the [era] = sebelum [era] - # Requires translation! starting from the [era] = Mulai dari [era] - # Requires translation! after discovering [tech] = setelah menemukan [tech] - # Requires translation! before discovering [tech] = sebelum menemukan [tech] - # Requires translation! after adopting [policy] = setelah mengadopsi [policy] - # Requires translation! before adopting [policy] = sebelum mengadopsi [policy] if this city has at least [amount] specialists = jika kota ini memiliki setidaknya [amount] spesialis for [mapUnitFilter] units = untuk unit [mapUnitFilter] vs cities = vs kota vs [mapUnitFilter] units = vs unit [mapUnitFilter] - # Requires translation! when fighting units from a Civilization with more Cities than you = saat unit pertempuran dari peradaban dengan jumlah kota lebih dari kamu when attacking = saat menyerang when defending = saat bertahan - # Requires translation! when fighting in [tileFilter] tiles = saat bertempur di [tileFilter] - # Requires translation! on foreign continents = di benua asing - # Requires translation! when above [amount] HP = saat diatas [amount] HP - # Requires translation! when below [amount] HP = saat dibawah [amount] HP - # Requires translation! with [amount] to [amount2] neighboring [tileFilter] tiles = dari [amount] ke [amount2] bersebelahan [tileFilter] satuan - # Requires translation! with [amount] to [amount2] neighboring [tileFilter] [tileFilter2] tiles = dari [amount] ke [amount2] bersebelahan [tileFilter] [tileFilter2] satuan - # Requires translation! in [tileFilter] tiles = dalam [tileFilter] satuan - # Requires translation! in [tileFilter] [tileFilter2] tiles = dalam [tileFilter] [tileFilter2] satuan - # Requires translation! in tiles without [tileFilter] = di lahan tanpa [tileFilter] - # Requires translation! on water maps = di peta air - # Requires translation! in [regionType] Regions = di daerah [regionType] - # Requires translation! in all except [regionType] Regions = di semua tempat kecuali didaerah [regionType] - # Requires translation! Free [baseUnitFilter] found in the ruins = [baseUnitFilter] ditemukan di reruntuhan - # Requires translation! [amount] Free Social Policies = gratis [amount] kebijakan sosial - # Requires translation! [amount] population in a random city = [amount] populasi di kota secara acak - # Requires translation! [amount] free random researchable Tech(s) from the [era] = gratis [amount] teknologi acak yang dapat diteliti dari [era] - # Requires translation! Gain [amount] [stat] = Memperoleh [amount] [stat] - # Requires translation! Gain [amount]-[amount2] [stat] = Memperoleh [amount]-[amount2] [stat] - # Requires translation! Gain enough Faith for a Pantheon = Mendapatkan keyakinan yang cukup untuk membangun Pantheon - # Requires translation! Gain enough Faith for [amount]% of a Great Prophet = Mendapatkan keyakinan yang cukup untuk [amount]% dari Nabi - # Requires translation! Reveal up to [amount/'all'] [tileFilter] within a [amount] tile radius = Mengungkapkan hingga [amount/'all'] [tileFilter] dalam [amount] satuan daerah - # Requires translation! From a randomly chosen tile [amount] tiles away from the ruins, reveal tiles up to [amount2] tiles away with [amount3]% chance = dari daerah yang dipilih secara acak [amount] satuan dari reruntuhan, mengungkapkan hingga [amount2] jarak satuan dengan [amount3]% kemungkinan - # Requires translation! This Unit gains [amount] XP = Unit ini mendapatkan [amount] XP - # Requires translation! This Unit upgrades for free including special upgrades = unit ini secara gratis ditingkatkan dan sudah termasuk peningkatan spesial - # Requires translation! This Unit gains the [promotion] promotion = unit ini memperoleh promosi [promotion] - # Requires translation! +[amount]% attack strength to all [mapUnitFilter] Units for [amount2] turns = +[amount]% kekuatan serangan untuk semua [mapUnitFilter] unit dalam [amount2] giliran - # Requires translation! Hidden before founding a Pantheon = Tersembunyi sebelum membangun Pantheon - # Requires translation! Hidden after founding a Pantheon = Tersembunyi setelah membangun Pantheon - # Requires translation! Hidden after generating a Great Prophet = Tersembunyi setelah mendapatkan Nabi diff --git a/android/assets/jsons/translations/Russian.properties b/android/assets/jsons/translations/Russian.properties index 45f30074d2..fd3ad360ff 100644 --- a/android/assets/jsons/translations/Russian.properties +++ b/android/assets/jsons/translations/Russian.properties @@ -340,15 +340,10 @@ Width = Ширина Radius = Радиус Enable Religion = Включить религию - # Requires translation! Resource Setting = Распределение ресурсов - # Requires translation! Sparse = Редкое - # Requires translation! Abundant = Обильное - # Requires translation! Strategic Balance = Стратегический баланс - # Requires translation! Legendary Start = Легендарное начало Advanced Settings = Дополнительные настройки @@ -1202,7 +1197,6 @@ Undesirable = Desirable = # Requires translation! Featureless = - # Requires translation! Fresh Water = Пресная вода # improvementFilters @@ -5461,117 +5455,65 @@ This means exploration and trade is important to grow your cities! = #################### Lines from Unique Types ####################### - # Requires translation! Provides [stats] per turn = Даёт [stats] за ход - # Requires translation! Provides [stats] [cityFilter] per turn = Даёт [stats] [cityFilter] за ход - # Requires translation! Provides [amount] Happiness = Даёт [amount] Счастья - # Requires translation! Provides military units every ≈[amount] turns = Даёт военных юнитов каждые ≈[amount] ходов - # Requires translation! Provides a unique luxury = Даёт уникальный редкий ресурс - # Requires translation! May choose [amount] additional [beliefType] beliefs when [foundingOrEnhancing] a religion = Можно дополнительно выбрать [amount] верований [beliefType] когда [foundingOrEnhancing] религия - # Requires translation! May buy [buildingFilter] buildings for [amount] [stat] [cityFilter] at an increasing price ([amount2]) = Можно покупать здания: [buildingFilter] за [amount] [stat] [cityFilter] по возрастающей стоимости ([amount2]) - # Requires translation! May buy [baseUnitFilter] units for [amount] [stat] [cityFilter] = Можно покупать юниты: [baseUnitFilter] за [amount] [stat] [cityFilter] - # Requires translation! May buy [buildingFilter] buildings for [amount] [stat] [cityFilter] = Можно покупать здания: [buildingFilter] за [amount] [stat] [cityFilter] - # Requires translation! May buy [baseUnitFilter] units with [stat] [cityFilter] = Можно покупать юниты: [baseUnitFilter] за [stat] [cityFilter] - # Requires translation! May buy [buildingFilter] buildings with [stat] for [amount] times their normal Production cost = Можно покупать здания: [buildingFilter] за [stat] по стоимости в [amount] раз(а) большей стоимости их производства - # Requires translation! Triggers victory = Приводит к победе - # Requires translation! Can be purchased for [amount] [stat] [cityFilter] = Можно купить за [amount] [stat] [cityFilter] - # Requires translation! Must not be next to [terrainFilter] = Не должен быть рядом с клеткой [terrainFilter] - # Requires translation! Deal [amount] damage to adjacent enemy units = Наносит [amount] урона соседним вражеским юнитам when at war = во время войны when not at war = в мирное время while the empire is happy = когда цивилизация счастлива during a Golden Age = во время Золотого века - # Requires translation! during the [era] = во время эпохи: [era] - # Requires translation! before the [era] = до эпохи: [era] - # Requires translation! starting from the [era] = начиная с эпохи: [era] - # Requires translation! after discovering [tech] = после исследования: [tech] - # Requires translation! before discovering [tech] = до исследования: [tech] - # Requires translation! after adopting [policy] = после принятия: [policy] - # Requires translation! before adopting [policy] = до принятия: [policy] if this city has at least [amount] specialists = если в этом городе имеется как минимум [amount] специалистов for [mapUnitFilter] units = для юнитов: [mapUnitFilter] vs cities = против городов vs [mapUnitFilter] units = против юнитов: [mapUnitFilter] - # Requires translation! when fighting units from a Civilization with more Cities than you = когда сражается с юнитами из цивилизации с большим числом городов чем у вас when attacking = когда атакует when defending = когда защищается - # Requires translation! when fighting in [tileFilter] tiles = когда сражается на клетках [tileFilter] - # Requires translation! on foreign continents = на внешних континентах - # Requires translation! when above [amount] HP = когда больше [amount] ОЗ - # Requires translation! when below [amount] HP = когда меньше [amount] ОЗ - # Requires translation! with [amount] to [amount2] neighboring [tileFilter] tiles = от [amount] до [amount2] соседних клеток [tileFilter] - # Requires translation! with [amount] to [amount2] neighboring [tileFilter] [tileFilter2] tiles = от [amount] до [amount2] соседних клеток [tileFilter] [tileFilter2] - # Requires translation! in [tileFilter] tiles = на клетках [tileFilter] - # Requires translation! in [tileFilter] [tileFilter2] tiles = на клетках [tileFilter] [tileFilter2] - # Requires translation! in tiles without [tileFilter] = на клетках, не имеющих [tileFilter] - # Requires translation! on water maps = на водоемах - # Requires translation! in [regionType] Regions = в областях: [regionType] - # Requires translation! in all except [regionType] Regions = во всех областях за исключением: [regionType] - # Requires translation! Free [baseUnitFilter] found in the ruins = Бесплатный юнит: [baseUnitFilter] найден в руинах - # Requires translation! [amount] Free Social Policies = [amount] бесплатных общественных институтов - # Requires translation! [amount] population in a random city = [amount] населения в случайном городе - # Requires translation! [amount] free random researchable Tech(s) from the [era] = [amount] бесплатных случайных технологий из эпохи [era] - # Requires translation! Gain [amount] [stat] = Даёт [amount] [stat] - # Requires translation! Gain [amount]-[amount2] [stat] = Даёт [amount]-[amount2] [stat] - # Requires translation! Gain enough Faith for a Pantheon = Даёт очки веры, достаточных для пантеона - # Requires translation! Gain enough Faith for [amount]% of a Great Prophet = Даёт очки веры, достаточных для [amount]% Великого Пророка - # Requires translation! Reveal up to [amount/'all'] [tileFilter] within a [amount] tile radius = Открывает [amount/'all'] [tileFilter] в радиусе [amount] клеток - # Requires translation! From a randomly chosen tile [amount] tiles away from the ruins, reveal tiles up to [amount2] tiles away with [amount3]% chance = В случайно выбранной клетке, удаленной на [amount] клеток от руин, открывает до [amount2] клеток с шансом в [amount3]% - # Requires translation! This Unit gains [amount] XP = Этот юнит получает [amount] ОО - # Requires translation! This Unit upgrades for free including special upgrades = Этот юнит модернизируется бесплатно включая специальные улучшения - # Requires translation! This Unit gains the [promotion] promotion = Этот юнит получает повышение [promotion] - # Requires translation! +[amount]% attack strength to all [mapUnitFilter] Units for [amount2] turns = +[amount]% к силе атаки для всех юнитов: [mapUnitFilter] на [amount2] ходов - # Requires translation! Hidden before founding a Pantheon = Скрыто до основания пантеона - # Requires translation! Hidden after founding a Pantheon = Скрыто после основания пантеона - # Requires translation! Hidden after generating a Great Prophet = Скрыто после появления Великого Пророка diff --git a/android/assets/jsons/translations/Swedish.properties b/android/assets/jsons/translations/Swedish.properties index 3028977b76..d475b98380 100644 --- a/android/assets/jsons/translations/Swedish.properties +++ b/android/assets/jsons/translations/Swedish.properties @@ -55,7 +55,6 @@ Requires at least one of the following resources worked near the city: = Kräver Wonder is being built elsewhere = Undret byggs någon annanstans National Wonder is being built elsewhere = Det Nationella Undret byggs någon annanstans Requires a [buildingName] in all cities = Kräver en [buildingName] i alla städer - # Requires translation! [buildingName] required: = [buildingName] krävs: Requires a [buildingName] in this city = Kräver en [buildingName] i denna stad Cannot be built with [buildingName] = Kan inte byggas med [buildingName] @@ -3776,7 +3775,6 @@ Stone = Sten Fish = Fisk Horses = Hästar - # Requires translation! Guaranteed with Strategic Balance resource option = Garanteras vid Strategisk Balans-resursalternativet Iron = Järn @@ -4484,9 +4482,7 @@ Coffee House = Kafé Neuschwanstein = Neuschwanstein - # Requires translation! Recycling Center = Återvinningscenter - # Requires translation! Limited to [amount] per Civilization = Begränsas till [amount] per Civilisation @@ -5321,117 +5317,65 @@ This means exploration and trade is important to grow your cities! = Det betyder #################### Lines from Unique Types ####################### - # Requires translation! Provides [stats] per turn = Ger [stats] per drag - # Requires translation! Provides [stats] [cityFilter] per turn = Ger [stats] [cityFilter] per drag - # Requires translation! Provides [amount] Happiness = Ger [amount] Lycka - # Requires translation! Provides military units every ≈[amount] turns = Ger militära enheter vart ≈[amount] drag - # Requires translation! Provides a unique luxury = Ger en unik lyxresurs - # Requires translation! May choose [amount] additional [beliefType] beliefs when [foundingOrEnhancing] a religion = Får välja [amount] extra [beliefType]-trossatser vid [foundingOrEnhancing] av en religion - # Requires translation! May buy [buildingFilter] buildings for [amount] [stat] [cityFilter] at an increasing price ([amount2]) = Får köpa [buildingFilter]-byggnader för [amount] [stat] [cityFilter] till en ökande kostnad ([amount2]) - # Requires translation! May buy [baseUnitFilter] units for [amount] [stat] [cityFilter] = Får köpa [baseUnitFilter]-enheter för [amount] [stat] [cityFilter] - # Requires translation! May buy [buildingFilter] buildings for [amount] [stat] [cityFilter] = Får köpa [buildingFilter]-byggnader för [amount] [stat] [cityFilter] - # Requires translation! May buy [baseUnitFilter] units with [stat] [cityFilter] = Får köpa [baseUnitFilter]-enheter med [stat] [cityFilter] - # Requires translation! May buy [buildingFilter] buildings with [stat] for [amount] times their normal Production cost = Får köpa [buildingFilter]-byggnader med [stat] för [amount] gånger deras vanliga Produktionskostnad - # Requires translation! Triggers victory = Leder till seger - # Requires translation! Can be purchased for [amount] [stat] [cityFilter] = Kan köpas för [amount] [stat] [cityFilter] - # Requires translation! Must not be next to [terrainFilter] = Får inte vara bredvid [terrainFilter] - # Requires translation! Deal [amount] damage to adjacent enemy units = Gör [amount] skada till angränsande fiendeenheter when at war = medan i krig when not at war = medan ej i krig while the empire is happy = medan riket är lyckligt during a Golden Age = under en Guldålder - # Requires translation! during the [era] = under [era] - # Requires translation! before the [era] = innan [era] - # Requires translation! starting from the [era] = med början i [era] - # Requires translation! after discovering [tech] = efter upptäckten av [tech] - # Requires translation! before discovering [tech] = innan upptäckten av [tech] - # Requires translation! after adopting [policy] = efter att [policy] anammats - # Requires translation! before adopting [policy] = innan [policy] anammats if this city has at least [amount] specialists = om denna stad har minst [amount] specialister for [mapUnitFilter] units = för [mapUnitFilter]-enheter vs cities = mot städer vs [mapUnitFilter] units = mot [mapUnitFilter]-enheter - # Requires translation! when fighting units from a Civilization with more Cities than you = vid strid mot enheter från en Civilisation med fler Städer än du when attacking = vid anfall when defending = vid försvar - # Requires translation! when fighting in [tileFilter] tiles = vid strid i [tileFilter]-rutor - # Requires translation! on foreign continents = på främmande kontinenter - # Requires translation! when above [amount] HP = medan över [amount] KP - # Requires translation! when below [amount] HP = medan under [amount] KP - # Requires translation! with [amount] to [amount2] neighboring [tileFilter] tiles = med [amount] till [amount2] angränsande [tileFilter]-rutor - # Requires translation! with [amount] to [amount2] neighboring [tileFilter] [tileFilter2] tiles = med [amount] till [amount2] angränsande [tileFilter] [tileFilter2]-rutor - # Requires translation! in [tileFilter] tiles = i [tileFilter]-rutor - # Requires translation! in [tileFilter] [tileFilter2] tiles = i [tileFilter] [tileFilter2]-rutor - # Requires translation! in tiles without [tileFilter] = i rutor utan [tileFilter] - # Requires translation! on water maps = på vattenkartor - # Requires translation! in [regionType] Regions = i [regionType]-regioner - # Requires translation! in all except [regionType] Regions = i alla utom [regionType]-regioner - # Requires translation! Free [baseUnitFilter] found in the ruins = Gratis [baseUnitFilter] hittad i ruinerna - # Requires translation! [amount] Free Social Policies = [amount] Gratis Socialpolicys - # Requires translation! [amount] population in a random city = [amount] befolkning i en slumpmässig stad - # Requires translation! [amount] free random researchable Tech(s) from the [era] = [amount] gratis slumpmässiga forskningsbara Teknologi(er) från [era] - # Requires translation! Gain [amount] [stat] = Få [amount] [stat] - # Requires translation! Gain [amount]-[amount2] [stat] = Få [amount]-[amount2] [stat] - # Requires translation! Gain enough Faith for a Pantheon = Få tillräckligt med Tro för ett Panteon - # Requires translation! Gain enough Faith for [amount]% of a Great Prophet = Få tillräckligt med Tro för [amount]% av en Stor Profet - # Requires translation! Reveal up to [amount/'all'] [tileFilter] within a [amount] tile radius = Visa upp till [amount/'all'] [tileFilter] inom [amount] rutors radie - # Requires translation! From a randomly chosen tile [amount] tiles away from the ruins, reveal tiles up to [amount2] tiles away with [amount3]% chance = Från en slumpmässigt vald ruta [amount] rutor från ruinen, visa rutor upp till [amount2] rutor bort med [amount3]% sannolikhet - # Requires translation! This Unit gains [amount] XP = Denna Enhet får [amount] EP - # Requires translation! This Unit upgrades for free including special upgrades = Denna Enhet uppgraderas gratis inklusive specialuppgraderingar - # Requires translation! This Unit gains the [promotion] promotion = Denna Enhet får [promotion]-befordringen - # Requires translation! +[amount]% attack strength to all [mapUnitFilter] Units for [amount2] turns = +[amount]% attackstyrka för alla [mapUnitFilter]-enheter under [amount2] drag - # Requires translation! Hidden before founding a Pantheon = Gömt innan en Panteon stiftas - # Requires translation! Hidden after founding a Pantheon = Gömt efter en Panteon stiftas - # Requires translation! Hidden after generating a Great Prophet = Gömt efter att en Stor Profet alstrats diff --git a/android/assets/jsons/translations/completionPercentages.properties b/android/assets/jsons/translations/completionPercentages.properties index 81f3847f47..abda6e8e37 100644 --- a/android/assets/jsons/translations/completionPercentages.properties +++ b/android/assets/jsons/translations/completionPercentages.properties @@ -1,14 +1,14 @@ Persian_(Pinglish-UN) = 17 Italian = 98 -Russian = 95 +Russian = 96 German = 98 -Swedish = 98 +Swedish = 99 Turkish = 80 Ukrainian = 89 Filipino = 3 -French = 71 +French = 73 Portuguese = 61 -Indonesian = 98 +Indonesian = 99 Finnish = 44 Spanish = 91 Malay = 28 diff --git a/buildSrc/src/main/kotlin/BuildConfig.kt b/buildSrc/src/main/kotlin/BuildConfig.kt index 9479ddc208..88f63f1722 100644 --- a/buildSrc/src/main/kotlin/BuildConfig.kt +++ b/buildSrc/src/main/kotlin/BuildConfig.kt @@ -3,8 +3,8 @@ package com.unciv.build object BuildConfig { const val kotlinVersion = "1.5.30" const val appName = "Unciv" - const val appCodeNumber = 656 - const val appVersion = "3.18.9-patch1" + const val appCodeNumber = 657 + const val appVersion = "3.18.10" const val gdxVersion = "1.10.0" const val roboVMVersion = "2.3.1" diff --git a/changelog.md b/changelog.md index 6c1c1aee23..d9e454e0de 100644 --- a/changelog.md +++ b/changelog.md @@ -1,3 +1,15 @@ +## 3.18.10 + +Sort Maintenance Using Fixed Point - By itanasi + +Moved Coal discovery back to industrialization - By xlenstra + +Improvements to TurnChecker data usage - By GGGuenni + +AI for Inquisitor and Missionary - By Interdice + +Add a couple missing template strings - By SimonCeder + ## 3.18.9 Uniques and conditionals for translating are taken directly from the uniquetypes diff --git a/desktop/src/com/unciv/app/desktop/UniqueDocsWriter.kt b/desktop/src/com/unciv/app/desktop/UniqueDocsWriter.kt index febfe74683..34e441a4a1 100644 --- a/desktop/src/com/unciv/app/desktop/UniqueDocsWriter.kt +++ b/desktop/src/com/unciv/app/desktop/UniqueDocsWriter.kt @@ -12,7 +12,7 @@ class UniqueDocsWriter { fun write() { val lines = ArrayList() - val targetTypesToUniques = UniqueType.values().groupBy { it.targetTypes.first() } + val targetTypesToUniques = UniqueType.values().groupBy { it.targetTypes.minOrNull()!! } .toSortedMap() fun replaceExamples(text:String):String { diff --git a/docs/uniques.md b/docs/uniques.md index acff0591db..e94784480a 100644 --- a/docs/uniques.md +++ b/docs/uniques.md @@ -15,6 +15,11 @@ - [Deprecated uniques](#deprecated-uniques) ## Global uniques +#### [stats] +Example: "[+1 Gold, +2 Production]" + +Applicable to: Improvement, Global, FollowerBelief + #### [stats] [cityFilter] Example: "[+1 Gold, +2 Production] [in all cities]" @@ -80,6 +85,11 @@ Example: "[20]% [Culture] [in all cities]" Applicable to: Global +#### [amount]% Production when constructing [buildingFilter] wonders [cityFilter] +Example: "[20]% Production when constructing [buildingFilter] wonders [in all cities]" + +Applicable to: Resource, Global, FollowerBelief + #### [amount]% Production when constructing [buildingFilter] buildings [cityFilter] Example: "[20]% Production when constructing [buildingFilter] buildings [in all cities]" @@ -205,6 +215,29 @@ Applicable to: Global #### Triggers a Cultural Victory upon completion Applicable to: Global +#### [amount]% Strength +Example: "[20]% Strength" + +Applicable to: Unit, Global + +#### [amount] Movement +Example: "[20] Movement" + +Applicable to: Unit, Global + +#### [amount] Sight +Example: "[20] Sight" + +Applicable to: Unit, Global, Terrain + +#### [amount]% Spread Religion Strength +Example: "[20]% Spread Religion Strength" + +Applicable to: Unit, Global + +#### Normal vision when embarked +Applicable to: Unit, Global + #### Free [baseUnitFilter] appears Example: "Free [Melee] appears" @@ -308,55 +341,16 @@ Applicable to: FollowerBelief #### Remove extra unhappiness from annexed cities Applicable to: Building -#### Cost increases by [amount] per owned city -Example: "Cost increases by [20] per owned city" - -Applicable to: Building - -#### Cannot be built with [buildingName] -Example: "Cannot be built with [Library]" - -Applicable to: Building - -#### Requires a [buildingName] in this city -Example: "Requires a [Library] in this city" - -Applicable to: Building - -#### Requires a [buildingName] in all cities -Example: "Requires a [Library] in all cities" - -Applicable to: Building - -#### Must be on [terrainFilter] -Example: "Must be on [Grassland]" - -Applicable to: Building - -#### Must not be on [terrainFilter] -Example: "Must not be on [Grassland]" - -Applicable to: Building - -#### Must be next to [terrainFilter] -Example: "Must be next to [Grassland]" - -Applicable to: Building - -#### Must not be next to [terrainFilter] -Example: "Must not be next to [Grassland]" - -Applicable to: Building - -#### Unsellable -Applicable to: Building - -## Unit uniques #### Consumes [amount] [resource] Example: "Consumes [20] [Iron]" Applicable to: Unit, Improvement, Building +#### Provides [amount] [resource] +Example: "Provides [20] [Iron]" + +Applicable to: Improvement, Building + #### Unbuildable Applicable to: Unit, Building @@ -383,11 +377,63 @@ Example: "Hidden until [20] social policy branches have been completed" Applicable to: Unit, Building +#### Cost increases by [amount] per owned city +Example: "Cost increases by [20] per owned city" + +Applicable to: Building + +#### Cannot be built with [buildingName] +Example: "Cannot be built with [Library]" + +Applicable to: Building + +#### Requires a [buildingName] in this city +Example: "Requires a [Library] in this city" + +Applicable to: Building + +#### Requires a [buildingName] in all cities +Example: "Requires a [Library] in all cities" + +Applicable to: Building + #### Not displayed as an available construction without [buildingName/tech/resource/policy] Example: "Not displayed as an available construction without [buildingName/tech/resource/policy]" Applicable to: Unit, Building +#### Must be on [terrainFilter] +Example: "Must be on [Grassland]" + +Applicable to: Building + +#### Must not be on [terrainFilter] +Example: "Must not be on [Grassland]" + +Applicable to: Building + +#### Must be next to [terrainFilter] +Example: "Must be next to [Grassland]" + +Applicable to: Building + +#### Must not be next to [terrainFilter] +Example: "Must not be next to [Grassland]" + +Applicable to: Building + +#### Unsellable +Applicable to: Building + +#### Hidden when religion is disabled +Applicable to: Unit, Ruins, Building + +#### Hidden when [victoryType] Victory is disabled +Example: "Hidden when [victoryType] Victory is disabled" + +Applicable to: Unit, Building + +## Unit uniques #### Founds a new city Applicable to: Unit @@ -404,40 +450,17 @@ Example: "Can see invisible [Wounded] units" Applicable to: Unit -#### [amount]% Strength -Example: "[20]% Strength" - -Applicable to: Unit, Global - #### [amount]% Strength decreasing with distance from the capital Example: "[20]% Strength decreasing with distance from the capital" Applicable to: Unit -#### [amount] Movement -Example: "[20] Movement" - -Applicable to: Unit, Global - -#### [amount] Sight -Example: "[20] Sight" - -Applicable to: Unit, Global, Terrain - -#### [amount]% Spread Religion Strength -Example: "[20]% Spread Religion Strength" - -Applicable to: Unit, Global - #### May found a religion Applicable to: Unit #### May enhance a religion Applicable to: Unit -#### Normal vision when embarked -Applicable to: Unit, Global - #### Cannot attack Applicable to: Unit @@ -515,14 +538,6 @@ Applicable to: Unit #### Religious Unit Applicable to: Unit -#### Hidden when religion is disabled -Applicable to: Unit, Ruins, Building - -#### Hidden when [victoryType] Victory is disabled -Example: "Hidden when [victoryType] Victory is disabled" - -Applicable to: Unit, Building - ## Promotion uniques #### Heal this unit by [amount] HP Example: "Heal this unit by [20] HP" @@ -591,6 +606,9 @@ Applicable to: Terrain #### Provides a one-time Production bonus to the closest city when cut down Applicable to: Terrain +#### Tile provides yield without assigned population +Applicable to: Improvement, Terrain + #### Nullifies all other stats this tile provides Applicable to: Terrain @@ -648,6 +666,9 @@ Example: "Considered [terrainQuality] when determining start locations" Applicable to: Terrain +#### Doesn't generate naturally +Applicable to: Resource, Terrain + #### Occurs at temperature between [amount] and [amount] and humidity between [amount] and [amount] Example: "Occurs at temperature between [20] and [20] and humidity between [20] and [20]" @@ -680,19 +701,6 @@ Applicable to: Terrain Applicable to: Terrain ## Improvement uniques -#### [stats] -Example: "[+1 Gold, +2 Production]" - -Applicable to: Improvement, Global, FollowerBelief - -#### Provides [amount] [resource] -Example: "Provides [20] [Iron]" - -Applicable to: Improvement, Building - -#### Tile provides yield without assigned population -Applicable to: Improvement, Terrain - #### Can also be built on tiles adjacent to fresh water Applicable to: Improvement @@ -755,11 +763,6 @@ Applicable to: Improvement Applicable to: Improvement ## Resource uniques -#### [amount]% Production when constructing [buildingFilter] wonders [cityFilter] -Example: "[20]% Production when constructing [buildingFilter] wonders [in all cities]" - -Applicable to: Resource, Global, FollowerBelief - #### Generated with weight [amount] Example: "Generated with weight [20]" @@ -786,9 +789,6 @@ Applicable to: Resource #### Guaranteed with Strategic Balance resource option Applicable to: Resource -#### Doesn't generate naturally -Applicable to: Resource, Terrain - #### Deposits in [tileFilter] tiles always provide [amount] resources Example: "Deposits in [Farm] tiles always provide [20] resources" @@ -1052,6 +1052,7 @@ Applicable to: Conditional - "[stats] from every specialist" - Deprecated As of 3.16.16 - removed 3.17.11, replace with "[stats] from every specialist [in all cities]" - "[stats] if this city has at least [amount] specialists" - Deprecated As of 3.16.16 - removed 3.17.11, replace with "[stats] " - "Not displayed as an available construction unless [buildingName] is built" - Deprecated As of 3.16.11, replace with "Not displayed as an available construction without [buildingName]" + - "[stats] once [tech] is discovered" - Deprecated As of 3.17.10, replace with "[stats] " - "Double movement in coast" - Deprecated As of 3.17.1 - removed 3.17.13, replace with "Double movement in [terrainFilter]" - "Double movement rate through Forest and Jungle" - Deprecated As of 3.17.1 - removed 3.17.13, replace with "Double movement in [terrainFilter]" - "Double movement in Snow, Tundra and Hills" - Deprecated As of 3.17.1 - removed 3.17.13, replace with "Double movement in [terrainFilter]" @@ -1068,5 +1069,4 @@ Applicable to: Conditional - "[amount] Visibility Range" - Deprecated As of 3.17.5 - removed 3.18.5, replace with "[amount] Sight" - "Limited Visibility" - Deprecated As of 3.17.5 - removed 3.18.5, replace with "[-1] Sight" - "[stats] on [tileFilter] tiles once [tech] is discovered" - Deprecated As of 3.17.10, replace with "[stats] from [tileFilter] tiles " - - "[stats] once [tech] is discovered" - Deprecated As of 3.17.10, replace with "[stats] " - "Deal 30 damage to adjacent enemy units" - Deprecated As of 3.17.10, replace with "Adjacent enemy units ending their turn take [30] damage" \ No newline at end of file