Unit actions from Uniques shouldn't be active at zero movement (#11188)

This commit is contained in:
SomeTroglodyte
2024-02-24 21:41:39 +01:00
committed by GitHub
parent 04083de766
commit dd1f0142f1

View File

@ -199,12 +199,15 @@ object UnitActionsFromUniques {
} }
val title = UnitActionModifiers.actionTextWithSideEffects(baseTitle, unique, unit) val title = UnitActionModifiers.actionTextWithSideEffects(baseTitle, unique, unit)
val triggerFunction = UniqueTriggerActivation.getTriggerFunction(unique, unit.civ, unit = unit, tile = unit.currentTile) val unitAction = fun (): (()->Unit)? {
val unitAction = if (triggerFunction == null) null else if (unit.currentMovement == 0f) return null
{ -> // This is the *action* that will be triggered! val triggerFunction = UniqueTriggerActivation.getTriggerFunction(unique, unit.civ, unit = unit, tile = unit.currentTile)
UniqueTriggerActivation.triggerUnique(unique, unit) ?: return null
UnitActionModifiers.activateSideEffects(unit, unique) return { // This is the *action* that will be triggered!
} triggerFunction.invoke()
UnitActionModifiers.activateSideEffects(unit, unique)
}
}()
yield(UnitAction(UnitActionType.TriggerUnique, title, action = unitAction)) yield(UnitAction(UnitActionType.TriggerUnique, title, action = unitAction))
} }