From dd1f0142f13e6bb0688edf42365b6ceda78734b6 Mon Sep 17 00:00:00 2001 From: SomeTroglodyte <63000004+SomeTroglodyte@users.noreply.github.com> Date: Sat, 24 Feb 2024 21:41:39 +0100 Subject: [PATCH] Unit actions from Uniques shouldn't be active at zero movement (#11188) --- .../unit/actions/UnitActionsFromUniques.kt | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/core/src/com/unciv/ui/screens/worldscreen/unit/actions/UnitActionsFromUniques.kt b/core/src/com/unciv/ui/screens/worldscreen/unit/actions/UnitActionsFromUniques.kt index fa2c6d5885..0f8f7410e1 100644 --- a/core/src/com/unciv/ui/screens/worldscreen/unit/actions/UnitActionsFromUniques.kt +++ b/core/src/com/unciv/ui/screens/worldscreen/unit/actions/UnitActionsFromUniques.kt @@ -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)) }