From e662a5fce80a6ce235ee33067a4156e1adc38117 Mon Sep 17 00:00:00 2001 From: "marcin.sciesinski" Date: Mon, 2 Sep 2019 09:40:11 -0700 Subject: [PATCH] Added triggers correctly receive the parameters they need in context --- .../main/web/cards/set40/set40-dwarven.json | 1 + .../field/effect/appender/AddTrigger.java | 21 ++++++++++++------- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/gemp-lotr/gemp-lotr-async/src/main/web/cards/set40/set40-dwarven.json b/gemp-lotr/gemp-lotr-async/src/main/web/cards/set40/set40-dwarven.json index 957873ffb..991c28339 100644 --- a/gemp-lotr/gemp-lotr-async/src/main/web/cards/set40/set40-dwarven.json +++ b/gemp-lotr/gemp-lotr-async/src/main/web/cards/set40/set40-dwarven.json @@ -412,6 +412,7 @@ "type": "startOfPhase", "phase": "fellowship" }, + "optional": true, "cost": { "type": "stackCardsFromHand", "where": "choose(culture(dwarven),support area,condition)", diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/cards/build/field/effect/appender/AddTrigger.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/cards/build/field/effect/appender/AddTrigger.java index 6cb4d2431..8d65ef989 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/cards/build/field/effect/appender/AddTrigger.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/cards/build/field/effect/appender/AddTrigger.java @@ -1,9 +1,6 @@ package com.gempukku.lotro.cards.build.field.effect.appender; -import com.gempukku.lotro.cards.build.ActionContext; -import com.gempukku.lotro.cards.build.CardGenerationEnvironment; -import com.gempukku.lotro.cards.build.InvalidCardDefinitionException; -import com.gempukku.lotro.cards.build.Requirement; +import com.gempukku.lotro.cards.build.*; import com.gempukku.lotro.cards.build.field.FieldUtils; import com.gempukku.lotro.cards.build.field.effect.EffectAppender; import com.gempukku.lotro.cards.build.field.effect.EffectAppenderProducer; @@ -84,8 +81,10 @@ public class AddTrigger implements EffectAppenderProducer { if (checkRequirements(actionContext)) return null; + DelegateActionContext delegate = new DelegateActionContext(actionContext, actionContext.getPerformingPlayer(), + lotroGame, actionContext.getSource(), null, effect); RequiredTriggerAction result = new RequiredTriggerAction(actionContext.getSource()); - customizeTriggerAction(result, actionContext); + customizeTriggerAction(result, delegate); return Collections.singletonList(result); } @@ -98,8 +97,10 @@ public class AddTrigger implements EffectAppenderProducer { if (checkRequirements(actionContext)) return null; + DelegateActionContext delegate = new DelegateActionContext(actionContext, actionContext.getPerformingPlayer(), + lotroGame, actionContext.getSource(), null, effect); OptionalTriggerAction result = new OptionalTriggerAction(actionContext.getSource()); - customizeTriggerAction(result, actionContext); + customizeTriggerAction(result, delegate); return Collections.singletonList(result); } @@ -112,8 +113,10 @@ public class AddTrigger implements EffectAppenderProducer { if (checkRequirements(actionContext)) return null; + DelegateActionContext delegate = new DelegateActionContext(actionContext, actionContext.getPerformingPlayer(), + lotroGame, actionContext.getSource(), effectResult, null); RequiredTriggerAction result = new RequiredTriggerAction(actionContext.getSource()); - customizeTriggerAction(result, actionContext); + customizeTriggerAction(result, delegate); return Collections.singletonList(result); } @@ -126,8 +129,10 @@ public class AddTrigger implements EffectAppenderProducer { if (checkRequirements(actionContext)) return null; + DelegateActionContext delegate = new DelegateActionContext(actionContext, actionContext.getPerformingPlayer(), + lotroGame, actionContext.getSource(), effectResult, null); OptionalTriggerAction result = new OptionalTriggerAction(actionContext.getSource()); - customizeTriggerAction(result, actionContext); + customizeTriggerAction(result, delegate); return Collections.singletonList(result); }