From 8530de7de16fd09773173a74fbcfca72df5b7d70 Mon Sep 17 00:00:00 2001 From: Yair Morgenstern Date: Mon, 21 Nov 2022 11:33:29 +0200 Subject: [PATCH] Can now use `[stats]` unique to add happiness globally --- core/src/com/unciv/logic/civilization/CivInfoStats.kt | 6 ++++++ tests/src/com/unciv/uniques/GlobalUniquesTests.kt | 7 +++++++ 2 files changed, 13 insertions(+) diff --git a/core/src/com/unciv/logic/civilization/CivInfoStats.kt b/core/src/com/unciv/logic/civilization/CivInfoStats.kt index 956fedb279..5527ba7eb5 100644 --- a/core/src/com/unciv/logic/civilization/CivInfoStats.kt +++ b/core/src/com/unciv/logic/civilization/CivInfoStats.kt @@ -331,6 +331,12 @@ class CivInfoStats(val civInfo: CivilizationInfo) { if (cityStatesHappiness > 0) statMap[Constants.cityStates] = cityStatesHappiness + for (unique in civInfo.getMatchingUniques(UniqueType.Stats)) + if (unique.sourceObjectType != UniqueTarget.Building && unique.sourceObjectType != UniqueTarget.Wonder && unique.stats.happiness != 0f){ + if (!statMap.containsKey(unique.sourceObjectName)) statMap[unique.sourceObjectName!!] = unique.stats.happiness + else statMap[unique.sourceObjectName!!] = statMap[unique.sourceObjectName]!! + unique.stats.happiness + } + return statMap } diff --git a/tests/src/com/unciv/uniques/GlobalUniquesTests.kt b/tests/src/com/unciv/uniques/GlobalUniquesTests.kt index aae614df03..3db8cfc96a 100644 --- a/tests/src/com/unciv/uniques/GlobalUniquesTests.kt +++ b/tests/src/com/unciv/uniques/GlobalUniquesTests.kt @@ -46,6 +46,13 @@ class GlobalUniquesTests { Assert.assertTrue(civInfo.statsForNextTurn.equals(Stats(gold=2f))) } + @Test + fun statsHappinessNotOnBuilding() { + val civInfo = game.addCiv("[+7 Happiness]") + civInfo.updateStatsForNextTurn() + Assert.assertTrue(civInfo.happinessForNextTurn == civInfo.getDifficulty().baseHappiness + 7) + } + @Test fun statsPerCity() {