diff --git a/core/src/com/unciv/models/metadata/GameParameters.kt b/core/src/com/unciv/models/metadata/GameParameters.kt index c03a03c865..a31187bfbe 100644 --- a/core/src/com/unciv/models/metadata/GameParameters.kt +++ b/core/src/com/unciv/models/metadata/GameParameters.kt @@ -28,6 +28,7 @@ class GameParameters : IsPartOfGameInfoSerialization { // Default values are the var nuclearWeaponsEnabled = true @Deprecated("As of 4.2.3") var religionEnabled = true + var espionageEnabled = false var noStartBias = false var victoryTypes: ArrayList = arrayListOf() diff --git a/core/src/com/unciv/models/metadata/GameSettings.kt b/core/src/com/unciv/models/metadata/GameSettings.kt index a87fda2e1b..66148d4c29 100644 --- a/core/src/com/unciv/models/metadata/GameSettings.kt +++ b/core/src/com/unciv/models/metadata/GameSettings.kt @@ -64,6 +64,7 @@ class GameSettings { var multiplayer = GameSettingsMultiplayer() var showExperimentalWorldWrap = false // We're keeping this as a config due to ANR problems on Android phones for people who don't know what they're doing :/ + var enableEspionageOption = false var lastOverviewPage: String = "Cities" diff --git a/core/src/com/unciv/ui/newgamescreen/GameOptionsTable.kt b/core/src/com/unciv/ui/newgamescreen/GameOptionsTable.kt index dc2ff7deb1..86884462c0 100644 --- a/core/src/com/unciv/ui/newgamescreen/GameOptionsTable.kt +++ b/core/src/com/unciv/ui/newgamescreen/GameOptionsTable.kt @@ -70,6 +70,8 @@ class GameOptionsTable( checkboxTable.addOneCityChallengeCheckbox() checkboxTable.addNuclearWeaponsCheckbox() checkboxTable.addIsOnlineMultiplayerCheckbox() + if (UncivGame.Current.settings.enableEspionageOption) + checkboxTable.addEnableEspionageCheckbox() checkboxTable.addNoStartBiasCheckbox() add(checkboxTable).center().row() @@ -111,6 +113,11 @@ class GameOptionsTable( } } + private fun Table.addEnableEspionageCheckbox() = + addCheckbox("Enable Espionage", gameParameters.espionageEnabled) + { gameParameters.espionageEnabled = it } + + private fun numberOfCityStates() = ruleset.nations.values.count { it.isCityState() && !it.hasUnique(UniqueType.CityStateDeprecated) diff --git a/core/src/com/unciv/ui/options/DebugTab.kt b/core/src/com/unciv/ui/options/DebugTab.kt index f6d7867664..8c89edda24 100644 --- a/core/src/com/unciv/ui/options/DebugTab.kt +++ b/core/src/com/unciv/ui/options/DebugTab.kt @@ -51,6 +51,9 @@ fun debugTab() = Table(BaseScreen.skin).apply { curGameInfo.gameParameters.godMode = it }).colspan(2).row() } + add("Enable espionage option".toCheckBox(game.settings.enableEspionageOption) { + game.settings.enableEspionageOption = it + }).colspan(2).row() add("Save games compressed".toCheckBox(UncivFiles.saveZipped) { UncivFiles.saveZipped = it }).colspan(2).row() diff --git a/docs/Modders/uniques.md b/docs/Modders/uniques.md index 9c37210f12..e8bcfe5e6d 100644 --- a/docs/Modders/uniques.md +++ b/docs/Modders/uniques.md @@ -744,11 +744,6 @@ Simple unique parameters are explained by mouseover. Complex parameters are expl Applicable to: Global, Unit -??? example "[greatPerson] is earned [relativeAmount]% faster" - Example: "[Great General] is earned [+20]% faster" - - Applicable to: Global, Unit - ??? example "Earn [amount]% of the damage done to [combatantFilter] units as [civWideStat]" Example: "Earn [3]% of the damage done to [City] units as [Gold]" @@ -774,6 +769,11 @@ Simple unique parameters are explained by mouseover. Complex parameters are expl Applicable to: Global, Unit +??? example "[greatPerson] is earned [relativeAmount]% faster" + Example: "[Great General] is earned [+20]% faster" + + Applicable to: Global, Unit + ??? example "[amount] Movement point cost to disembark" Example: "[3] Movement point cost to disembark" @@ -1173,6 +1173,9 @@ Simple unique parameters are explained by mouseover. Complex parameters are expl Applicable to: Unit +??? example "Destroys tile improvements when attacking" + Applicable to: Unit + ??? example "Double movement in [terrainFilter]" Example: "Double movement in [Fresh Water]" @@ -1663,11 +1666,6 @@ Simple unique parameters are explained by mouseover. Complex parameters are expl ??? example "<during a Golden Age>" Applicable to: Conditional -??? example "<with [resource]>" - Example: "<with [Iron]>" - - Applicable to: Conditional - ??? example "<while the empire is happy>" Applicable to: Conditional @@ -1729,6 +1727,16 @@ Simple unique parameters are explained by mouseover. Complex parameters are expl Applicable to: Conditional +??? example "<with [resource]>" + Example: "<with [Iron]>" + + Applicable to: Conditional + +??? example "<without [resource]>" + Example: "<without [Iron]>" + + Applicable to: Conditional + ??? example "<in cities with a [buildingFilter]>" Example: "<in cities with a [Culture]>"