From d4619a2fe19ecdef0d765e844902b3cd355bd784 Mon Sep 17 00:00:00 2001 From: Phallen Cassidy Date: Mon, 13 Apr 2020 11:39:32 -0400 Subject: [PATCH] Added explicit call for shuffling deck Fixes shuffling after taking revealing cards from the top/bottom of the draw deck --- .../appender/PutCardsFromDeckIntoHand.java | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/cards/build/field/effect/appender/PutCardsFromDeckIntoHand.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/cards/build/field/effect/appender/PutCardsFromDeckIntoHand.java index 867d3b351..79a4ff3ad 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/cards/build/field/effect/appender/PutCardsFromDeckIntoHand.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/cards/build/field/effect/appender/PutCardsFromDeckIntoHand.java @@ -23,10 +23,11 @@ import java.util.List; public class PutCardsFromDeckIntoHand implements EffectAppenderProducer { @Override public EffectAppender createEffectAppender(JSONObject effectObject, CardGenerationEnvironment environment) throws InvalidCardDefinitionException { - FieldUtils.validateAllowedFields(effectObject, "count", "filter"); + FieldUtils.validateAllowedFields(effectObject, "count", "filter", "shuffle"); final ValueSource valueSource = ValueResolver.resolveEvaluator(effectObject.get("count"), 1, environment); final String filter = FieldUtils.getString(effectObject.get("filter"), "filter", "choose(any)"); + final boolean shuffle = FieldUtils.getBoolean(effectObject.get("shuffle"), "shuffle", false); MultiEffectAppender result = new MultiEffectAppender(); @@ -46,13 +47,14 @@ public class PutCardsFromDeckIntoHand implements EffectAppenderProducer { return result; } }); - result.addEffectAppender( - new DelayedAppender() { - @Override - protected Effect createEffect(boolean cost, CostToEffectAction action, ActionContext actionContext) { - return new ShuffleDeckEffect(actionContext.getPerformingPlayer()); - } - }); + if (shuffle) + result.addEffectAppender( + new DelayedAppender() { + @Override + protected Effect createEffect(boolean cost, CostToEffectAction action, ActionContext actionContext) { + return new ShuffleDeckEffect(actionContext.getPerformingPlayer()); + } + }); return result;