Only allow a trigger-based unit action if the trigger function is not null

Tested with "Adopt [Legalism] <for [0] movement>" - it allows me to click once, adopting the policy, but not a second time since the policy is already adopted thus the trigger function is null
This commit is contained in:
Yair Morgenstern
2024-02-20 11:03:07 +02:00
parent 27465425b0
commit 3a7401a939

View File

@ -199,10 +199,14 @@ object UnitActionsFromUniques {
} }
val title = UnitActionModifiers.actionTextWithSideEffects(baseTitle, unique, unit) val title = UnitActionModifiers.actionTextWithSideEffects(baseTitle, unique, unit)
yield(UnitAction(UnitActionType.TriggerUnique, title) { 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) UniqueTriggerActivation.triggerUnique(unique, unit)
UnitActionModifiers.activateSideEffects(unit, unique) UnitActionModifiers.activateSideEffects(unit, unique)
}) }
yield(UnitAction(UnitActionType.TriggerUnique, title, action = unitAction))
} }
} }