Added explicit call for shuffling deck

Fixes shuffling after taking revealing cards from the top/bottom of the draw deck
This commit is contained in:
Phallen Cassidy
2020-04-13 11:39:32 -04:00
parent b781fcd1ba
commit d4619a2fe1

View File

@@ -23,10 +23,11 @@ import java.util.List;
public class PutCardsFromDeckIntoHand implements EffectAppenderProducer { public class PutCardsFromDeckIntoHand implements EffectAppenderProducer {
@Override @Override
public EffectAppender createEffectAppender(JSONObject effectObject, CardGenerationEnvironment environment) throws InvalidCardDefinitionException { 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 ValueSource valueSource = ValueResolver.resolveEvaluator(effectObject.get("count"), 1, environment);
final String filter = FieldUtils.getString(effectObject.get("filter"), "filter", "choose(any)"); 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(); MultiEffectAppender result = new MultiEffectAppender();
@@ -46,13 +47,14 @@ public class PutCardsFromDeckIntoHand implements EffectAppenderProducer {
return result; return result;
} }
}); });
result.addEffectAppender( if (shuffle)
new DelayedAppender() { result.addEffectAppender(
@Override new DelayedAppender() {
protected Effect createEffect(boolean cost, CostToEffectAction action, ActionContext actionContext) { @Override
return new ShuffleDeckEffect(actionContext.getPerformingPlayer()); protected Effect createEffect(boolean cost, CostToEffectAction action, ActionContext actionContext) {
} return new ShuffleDeckEffect(actionContext.getPerformingPlayer());
}); }
});
return result; return result;