mirror of
https://github.com/yairm210/Unciv.git
synced 2025-07-10 07:48:31 +07:00
Resolved #12417 - "Costs [amount] [stockpiledResource]" works for improvements
This commit is contained in:
Binary file not shown.
Before Width: | Height: | Size: 206 KiB After Width: | Height: | Size: 207 KiB |
@ -254,18 +254,21 @@ class TileImprovementFunctions(val tile: Tile) {
|
||||
unit: MapUnit? = null
|
||||
) {
|
||||
val stateForConditionals = StateForConditionals(civ, unit = unit, tile = tile)
|
||||
|
||||
for (unique in improvement.getMatchingUniques(UniqueType.CostsResources, stateForConditionals))
|
||||
civ.gainStockpiledResource(unique.params[1], -unique.params[0].toInt())
|
||||
|
||||
for (unique in improvement.uniqueObjects.filter { !it.hasTriggerConditional()
|
||||
&& it.conditionalsApply(stateForConditionals) })
|
||||
UniqueTriggerActivation.triggerUnique(unique, civ, unit = unit, tile = tile)
|
||||
|
||||
for (unique in civ.getTriggeredUniques(UniqueType.TriggerUponBuildingImprovement, stateForConditionals)
|
||||
{ improvement.matchesFilter(it.params[0], StateForConditionals(civ, unit = unit, tile = tile)) })
|
||||
{ improvement.matchesFilter(it.params[0], stateForConditionals) })
|
||||
UniqueTriggerActivation.triggerUnique(unique, civ, unit = unit, tile = tile)
|
||||
|
||||
if (unit == null) return
|
||||
for (unique in unit.getTriggeredUniques(UniqueType.TriggerUponBuildingImprovement, stateForConditionals)
|
||||
{ improvement.matchesFilter(it.params[0], StateForConditionals(civ, unit = unit, tile = tile)) })
|
||||
{ improvement.matchesFilter(it.params[0], stateForConditionals) })
|
||||
UniqueTriggerActivation.triggerUnique(unique, civ, unit = unit, tile = tile)
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user