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
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

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