From 0ddc020e2e474cfe58357f24ef02641296984b91 Mon Sep 17 00:00:00 2001 From: "marcin.sciesinski" Date: Tue, 17 Sep 2019 10:33:00 -0700 Subject: [PATCH] Fixed removing burdens --- .../cards/build/DefaultActionContext.java | 5 ++++- .../field/effect/appender/RemoveBurdens.java | 2 +- .../com/gempukku/lotro/at/NewCardsAtTest.java | 18 ++++++++++++++++++ 3 files changed, 23 insertions(+), 2 deletions(-) diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/cards/build/DefaultActionContext.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/cards/build/DefaultActionContext.java index 3e106d039..3e352138c 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/cards/build/DefaultActionContext.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/cards/build/DefaultActionContext.java @@ -36,7 +36,10 @@ public class DefaultActionContext implements ActionContext { @Override public String getValueFromMemory(String memory) { - return valueMemory.get(memory); + final String result = valueMemory.get(memory); + if (result == null) + throw new IllegalArgumentException("Memory not found - " + memory); + return result; } @Override diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/cards/build/field/effect/appender/RemoveBurdens.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/cards/build/field/effect/appender/RemoveBurdens.java index 3ab147871..cd10b6b96 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/cards/build/field/effect/appender/RemoveBurdens.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/cards/build/field/effect/appender/RemoveBurdens.java @@ -26,7 +26,7 @@ public class RemoveBurdens implements EffectAppenderProducer { @Override protected Effect createEffect(boolean cost, CostToEffectAction action, ActionContext actionContext) { final String removingPlayer = playerSource.getPlayer(actionContext); - final Evaluator evaluator = valueSource.getEvaluator(null); + final Evaluator evaluator = valueSource.getEvaluator(actionContext); return new RemoveBurdenEffect(removingPlayer, actionContext.getSource(), evaluator.evaluateExpression(actionContext.getGame(), null)); } diff --git a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/at/NewCardsAtTest.java b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/at/NewCardsAtTest.java index 19c71b672..70874d410 100644 --- a/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/at/NewCardsAtTest.java +++ b/gemp-lotr/gemp-lotr-server/src/test/java/com/gempukku/lotro/at/NewCardsAtTest.java @@ -588,4 +588,22 @@ public class NewCardsAtTest extends AbstractAtTest { playerDecided(P1, getCardActionId(P1, "Use Bilbo's Pipe")); assertEquals("2", _userFeedback.getAwaitingDecision(P1).getDecisionParameters().get("max")); } + + @Test + public void removeBurdens() throws DecisionResultInvalidException, CardNotFoundException { + initializeSimplestGame(); + + final PhysicalCardImpl samsPipe = createCard(P1, "40_269"); + final PhysicalCardImpl pipeweed = createCard(P1, "40_255"); + + _game.getGameState().addCardToZone(_game, pipeweed, Zone.SUPPORT); + _game.getGameState().attachCard(_game, samsPipe, _game.getGameState().getRingBearer(P1)); + + skipMulligans(); + + playerDecided(P1, getCardActionId(P1, "Use Sam's Pipe")); + playerDecided(P1, "1"); + + assertEquals(0, _game.getGameState().getBurdens()); + } }