mirror of
https://github.com/yairm210/Unciv.git
synced 2025-07-11 00:08:58 +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
|
unit: MapUnit? = null
|
||||||
) {
|
) {
|
||||||
val stateForConditionals = StateForConditionals(civ, unit = unit, tile = tile)
|
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()
|
for (unique in improvement.uniqueObjects.filter { !it.hasTriggerConditional()
|
||||||
&& it.conditionalsApply(stateForConditionals) })
|
&& it.conditionalsApply(stateForConditionals) })
|
||||||
UniqueTriggerActivation.triggerUnique(unique, civ, unit = unit, tile = tile)
|
UniqueTriggerActivation.triggerUnique(unique, civ, unit = unit, tile = tile)
|
||||||
|
|
||||||
for (unique in civ.getTriggeredUniques(UniqueType.TriggerUponBuildingImprovement, stateForConditionals)
|
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)
|
UniqueTriggerActivation.triggerUnique(unique, civ, unit = unit, tile = tile)
|
||||||
|
|
||||||
if (unit == null) return
|
if (unit == null) return
|
||||||
for (unique in unit.getTriggeredUniques(UniqueType.TriggerUponBuildingImprovement, stateForConditionals)
|
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)
|
UniqueTriggerActivation.triggerUnique(unique, civ, unit = unit, tile = tile)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user