From 6637ee73a4dad6abd756f920f3afa9edea5c1c83 Mon Sep 17 00:00:00 2001 From: Yair Morgenstern Date: Wed, 22 May 2024 23:01:33 +0300 Subject: [PATCH 1/4] Fixed "don't allow era select" if the game has no techs --- core/src/com/unciv/ui/screens/newgamescreen/GameOptionsTable.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/src/com/unciv/ui/screens/newgamescreen/GameOptionsTable.kt b/core/src/com/unciv/ui/screens/newgamescreen/GameOptionsTable.kt index 03703a9aab..c378a6fd36 100644 --- a/core/src/com/unciv/ui/screens/newgamescreen/GameOptionsTable.kt +++ b/core/src/com/unciv/ui/screens/newgamescreen/GameOptionsTable.kt @@ -408,7 +408,7 @@ class GameOptionsTable( } private fun Table.addEraSelectBox() { - if (ruleset.technologies.isEmpty()) return // mod with no techs + if (ruleset.eras.isEmpty()) return // mod with no techs val eras = ruleset.eras.keys addSelectBox("{Starting Era}:", eras, gameParameters.startingEra) { gameParameters.startingEra = it; null } From 4bbeece29e1f60866d07a5a8596d26ac8a3ea14f Mon Sep 17 00:00:00 2001 From: Yair Morgenstern Date: Wed, 22 May 2024 23:33:04 +0300 Subject: [PATCH 2/4] Added links to base ruleset template in docs --- docs/Modders/Making-a-new-Civilization.md | 1 + docs/Modders/Mods.md | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/Modders/Making-a-new-Civilization.md b/docs/Modders/Making-a-new-Civilization.md index ea44d78ca8..c57faadebb 100644 --- a/docs/Modders/Making-a-new-Civilization.md +++ b/docs/Modders/Making-a-new-Civilization.md @@ -92,3 +92,4 @@ You have a working mod, now it's time to go wild! - Expand the abilities of your civ by adding new [uniques](uniques.md) - Add new civs, buildings or units - Expand into other game objects by exploring the rest of the [mod file structure](Mod-file-structure/1-Overview.md) +- Try creating a base ruleset [from this template](https://github.com/yairm210/Unciv-minimal-base-ruleset) diff --git a/docs/Modders/Mods.md b/docs/Modders/Mods.md index b8c8cd8308..8d20e1862d 100644 --- a/docs/Modders/Mods.md +++ b/docs/Modders/Mods.md @@ -13,7 +13,7 @@ The game only knows how to recognize existing definitions, so you can't add *new There are three main kinds of mods: - **Extension mods** - these add new nations/units/buildings/resources to a base ruleset - can be either to the default ruleset, or to a base ruleset mod. Easy to do and probably the better place to get started - for example, [creating a new Civilization](Making-a-new-Civilization.md) -- **Base Ruleset mods** - these replace the entire existing ruleset - tech tree, units, policies, nations etc - to give an entirely different experience than the base game. These generally require quite a bit of work, but give a whole new experience, and so are the most popular. +- **Base Ruleset mods** - these replace the entire existing ruleset - tech tree, units, policies, nations etc - to give an entirely different experience than the base game. These generally require quite a bit of work, but give a whole new experience, and so are the most popular. [A minimal example can be found here](https://github.com/yairm210/Unciv-minimal-base-ruleset) as a template to build off of ("Use this template" green button in top right, "Create a new repository") - **Ruleset-agnostic mods** - these do not contain any ruleset-related jsons, but instead contain other affects. Audiovisual mods (including tilesets, unitsets, and UI skins) and map mods are in this category. Creating and editing mods from your phone is NOT RECOMMENDED - it's *much easier* using a desktop device! From 479bc3ec85530856c4b2c5221a09140752decd63 Mon Sep 17 00:00:00 2001 From: Yair Morgenstern Date: Thu, 23 May 2024 06:59:15 +0300 Subject: [PATCH 3/4] Fixed preferred victory type ruleset validation - should NOT be invariant! (#11640) --- .../com/unciv/models/ruleset/validation/RulesetValidator.kt | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/core/src/com/unciv/models/ruleset/validation/RulesetValidator.kt b/core/src/com/unciv/models/ruleset/validation/RulesetValidator.kt index 268d0bf514..bef6302223 100644 --- a/core/src/com/unciv/models/ruleset/validation/RulesetValidator.kt +++ b/core/src/com/unciv/models/ruleset/validation/RulesetValidator.kt @@ -270,6 +270,8 @@ class RulesetValidator(val ruleset: Ruleset) { uniqueValidator.checkUniques(nation, lines, true, tryFixUnknownUniques) + if (nation.preferredVictoryType != Constants.neutralVictoryType && nation.preferredVictoryType !in ruleset.victories) + lines.add("${nation.name}'s preferredVictoryType is ${nation.preferredVictoryType} which does not exist!", sourceObject = nation) if (nation.cityStateType != null && nation.cityStateType !in ruleset.cityStateTypes) lines.add("${nation.name} is of city-state type ${nation.cityStateType} which does not exist!", sourceObject = nation) if (nation.favoredReligion != null && nation.favoredReligion !in ruleset.religions) @@ -577,9 +579,6 @@ class RulesetValidator(val ruleset: Ruleset) { lines.add("${nation.name} can settle cities, but has no city names!", sourceObject = nation) } - if (nation.preferredVictoryType != Constants.neutralVictoryType && nation.preferredVictoryType !in ruleset.victories) - lines.add("${nation.name}'s preferredVictoryType is ${nation.preferredVictoryType} which does not exist!", sourceObject = nation) - // https://www.w3.org/TR/WCAG20/#visual-audio-contrast-contrast val constrastRatio = nation.getContrastRatio() if (constrastRatio < 3) { From f1c0288a43021be0a3b98be9ee00b4656aae9aac Mon Sep 17 00:00:00 2001 From: yairm210 Date: Thu, 23 May 2024 03:59:24 +0000 Subject: [PATCH 4/4] 4.11.14-patch1 --- buildSrc/src/main/kotlin/BuildConfig.kt | 4 ++-- core/src/com/unciv/UncivGame.kt | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/buildSrc/src/main/kotlin/BuildConfig.kt b/buildSrc/src/main/kotlin/BuildConfig.kt index 83f57a2570..a58fcea84c 100644 --- a/buildSrc/src/main/kotlin/BuildConfig.kt +++ b/buildSrc/src/main/kotlin/BuildConfig.kt @@ -4,8 +4,8 @@ package com.unciv.build object BuildConfig { const val kotlinVersion = "1.8.21" const val appName = "Unciv" - const val appCodeNumber = 998 - const val appVersion = "4.11.14" + const val appCodeNumber = 999 + const val appVersion = "4.11.14-patch1" const val gdxVersion = "1.12.1" const val ktorVersion = "2.2.3" diff --git a/core/src/com/unciv/UncivGame.kt b/core/src/com/unciv/UncivGame.kt index 61f81afc02..13b166b130 100644 --- a/core/src/com/unciv/UncivGame.kt +++ b/core/src/com/unciv/UncivGame.kt @@ -471,7 +471,7 @@ open class UncivGame(val isConsoleMode: Boolean = false) : Game(), PlatformSpeci companion object { //region AUTOMATICALLY GENERATED VERSION DATA - DO NOT CHANGE THIS REGION, INCLUDING THIS COMMENT - val VERSION = Version("4.11.14", 998) + val VERSION = Version("4.11.14-patch1", 999) //endregion /** Global reference to the one Gdx.Game instance created by the platform launchers - do not use without checking [isCurrentInitialized] first. */