From 4f5fdf172732082fb94d19d3351fef1e03e05545 Mon Sep 17 00:00:00 2001 From: Yair Morgenstern Date: Tue, 27 Feb 2024 19:38:14 +0200 Subject: [PATCH] Civ-wide uniques for city-wide resources --- core/src/com/unciv/logic/city/CityResources.kt | 9 ++++----- docs/Modders/uniques.md | 5 +++++ 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/core/src/com/unciv/logic/city/CityResources.kt b/core/src/com/unciv/logic/city/CityResources.kt index 904fda0f55..bf1a2ad4c2 100644 --- a/core/src/com/unciv/logic/city/CityResources.kt +++ b/core/src/com/unciv/logic/city/CityResources.kt @@ -21,7 +21,7 @@ object CityResources { manageCityResourcesRequiredByBuildings(city, cityResources) - getCityResourcesFromUniqueBuildings(city, cityResources, resourceModifer) + getCityResourcesFromCiv(city, cityResources, resourceModifer) if (city.civ.isCityState() && city.isCapital() && city.civ.cityStateResource != null) { cityResources.add( @@ -33,7 +33,6 @@ object CityResources { return cityResources } - /** Gets the number of resources available to this city * Accommodates both city-wide and civ-wide resources */ fun getResourceAmount(city: City, resourceName: String): Int { @@ -82,9 +81,9 @@ object CityResources { } } - private fun getCityResourcesFromUniqueBuildings(city: City, cityResources: ResourceSupplyList, resourceModifer: HashMap) { - for (unique in city.cityConstructions.builtBuildingUniqueMap - .getMatchingUniques(UniqueType.ProvidesResources, StateForConditionals(city.civ, city))) { // E.G "Provides [1] [Iron]" + private fun getCityResourcesFromCiv(city: City, cityResources: ResourceSupplyList, resourceModifer: HashMap) { + // This includes the uniques from buildings, from this and all other cities + for (unique in city.civ.getMatchingUniques(UniqueType.ProvidesResources, StateForConditionals(city.civ, city))) { // E.G "Provides [1] [Iron]" val resource = city.getRuleset().tileResources[unique.params[1]] ?: continue cityResources.add( diff --git a/docs/Modders/uniques.md b/docs/Modders/uniques.md index d4f63e4fb0..e5e41c580f 100644 --- a/docs/Modders/uniques.md +++ b/docs/Modders/uniques.md @@ -2084,6 +2084,11 @@ Simple unique parameters are explained by mouseover. Complex parameters are expl Applicable to: Conditional +??? example "<in cities with [amount] [populationFilter]>" + Example: "<in cities with [3] [Followers of this Religion]>" + + Applicable to: Conditional + ??? example "<with a garrison>" Applicable to: Conditional