From 50979e8a0e1c37390d32a2701883285c4098e89a Mon Sep 17 00:00:00 2001 From: yairm210 Date: Wed, 8 Jan 2025 11:10:53 +0200 Subject: [PATCH] Ruins stat gifts modified by game speed --- android/assets/jsons/Civ V - Gods & Kings/Ruins.json | 4 ++-- android/assets/jsons/Civ V - Vanilla/Ruins.json | 4 ++-- .../unciv/models/ruleset/unique/UniqueTriggerActivation.kt | 5 +++-- core/src/com/unciv/models/ruleset/unique/UniqueType.kt | 2 +- 4 files changed, 8 insertions(+), 7 deletions(-) diff --git a/android/assets/jsons/Civ V - Gods & Kings/Ruins.json b/android/assets/jsons/Civ V - Gods & Kings/Ruins.json index 96a4123034..75863961bb 100644 --- a/android/assets/jsons/Civ V - Gods & Kings/Ruins.json +++ b/android/assets/jsons/Civ V - Gods & Kings/Ruins.json @@ -2,7 +2,7 @@ { "name": "discover cultural artifacts", "notification": "We have discovered cultural artifacts in the ruins! (+20 culture)", - "uniques": ["Gain [20] [Culture]"], + "uniques": ["Gain [20] [Culture] <(modified by game speed)>"], "color": "#cf8ff7" }, { @@ -31,7 +31,7 @@ { "name": "a stash of gold", "notification": "", // trigger notification only - "uniques": ["Gain [50]-[100] [Gold]"], + "uniques": ["Gain [50]-[100] [Gold] <(modified by game speed)>"], "color": "#ffeb7f" }, { diff --git a/android/assets/jsons/Civ V - Vanilla/Ruins.json b/android/assets/jsons/Civ V - Vanilla/Ruins.json index 1aa9d85f42..aa047aa97f 100644 --- a/android/assets/jsons/Civ V - Vanilla/Ruins.json +++ b/android/assets/jsons/Civ V - Vanilla/Ruins.json @@ -2,7 +2,7 @@ { "name": "discover cultural artifacts", "notification": "We have discovered cultural artifacts in the ruins! (+20 culture)", - "uniques": ["Gain [20] [Culture]"], + "uniques": ["Gain [20] [Culture] <(modified by game speed)>"], "color": "#cf8ff7" }, { @@ -31,7 +31,7 @@ { "name": "a stash of gold", "notification": "", // trigger notification only - "uniques": ["Gain [50]-[100] [Gold]"], + "uniques": ["Gain [50]-[100] [Gold] <(modified by game speed)>"], "color": "#ffeb7f" }, { diff --git a/core/src/com/unciv/models/ruleset/unique/UniqueTriggerActivation.kt b/core/src/com/unciv/models/ruleset/unique/UniqueTriggerActivation.kt index c35188f68f..c23dec7807 100644 --- a/core/src/com/unciv/models/ruleset/unique/UniqueTriggerActivation.kt +++ b/core/src/com/unciv/models/ruleset/unique/UniqueTriggerActivation.kt @@ -672,8 +672,9 @@ object UniqueTriggerActivation { ) return null - val finalStatAmount = (tileBasedRandom.nextInt(unique.params[0].toInt(), unique.params[1].toInt()) * - civInfo.gameInfo.speed.statCostModifiers[stat]!!).roundToInt() + val randomValue = tileBasedRandom.nextInt(unique.params[0].toInt(), unique.params[1].toInt()) + val finalStatAmount = if (unique.isModifiedByGameSpeed()) (randomValue * civInfo.gameInfo.speed.statCostModifiers[stat]!!).roundToInt() + else randomValue return { val stats = Stats().add(stat, finalStatAmount.toFloat()) diff --git a/core/src/com/unciv/models/ruleset/unique/UniqueType.kt b/core/src/com/unciv/models/ruleset/unique/UniqueType.kt index 6447474d09..7f990d448b 100644 --- a/core/src/com/unciv/models/ruleset/unique/UniqueType.kt +++ b/core/src/com/unciv/models/ruleset/unique/UniqueType.kt @@ -810,7 +810,7 @@ enum class UniqueType( OneTimeGainResource("Instantly gain [amount] [stockpile]", UniqueTarget.Triggerable, flags = setOf(UniqueFlag.AcceptsSpeedModifier)), OneTimeGainStat("Gain [amount] [stat]", UniqueTarget.Triggerable, flags = setOf(UniqueFlag.AcceptsSpeedModifier)), - OneTimeGainStatRange("Gain [amount]-[amount] [stat]", UniqueTarget.Triggerable), + OneTimeGainStatRange("Gain [amount]-[amount] [stat]", UniqueTarget.Triggerable, flags = setOf(UniqueFlag.AcceptsSpeedModifier)), OneTimeGainPantheon("Gain enough Faith for a Pantheon", UniqueTarget.Triggerable), OneTimeGainProphet("Gain enough Faith for [amount]% of a Great Prophet", UniqueTarget.Triggerable),