Modding: "Cannot be traded" unique accepts Civ conditionals

This commit is contained in:
Yair Morgenstern
2024-01-15 18:48:43 +02:00
parent 6998b8d3d1
commit 0b5c2062b6
2 changed files with 2 additions and 2 deletions

View File

@ -403,7 +403,7 @@ class Civilization : IsPartOfGameInfoSerialization {
for (resourceSupply in detailedCivResources) {
if (resourceSupply.resource.isStockpiled()) continue
if (resourceSupply.resource.hasUnique(UniqueType.CannotBeTraded)) continue
if (resourceSupply.resource.hasUnique(UniqueType.CannotBeTraded, StateForConditionals(this))) continue
// If we got it from another trade or from a CS, preserve the origin
if (resourceSupply.isCityStateOrTradeOrigin()) {
newResourceSupplyList.add(resourceSupply.copy())

View File

@ -292,7 +292,7 @@ class CivInfoTransientCache(val civInfo: Civilization) {
resourceBonusPercentage += unique.params[0].toFloat() / 100
for (cityStateAlly in civInfo.getKnownCivs().filter { it.getAllyCiv() == civInfo.civName }) {
for (resourceSupply in cityStateAlly.cityStateFunctions.getCityStateResourcesForAlly()) {
if (resourceSupply.resource.hasUnique(UniqueType.CannotBeTraded)) continue
if (resourceSupply.resource.hasUnique(UniqueType.CannotBeTraded, StateForConditionals(civInfo))) continue
val newAmount = (resourceSupply.amount * resourceBonusPercentage).toInt()
cityStateProvidedResources.add(resourceSupply.copy(amount = newAmount))
}