From 2fd2958fabe26b7c75ac85beb794e81c4c2a1ba4 Mon Sep 17 00:00:00 2001 From: Christian 'ketura' McCarty Date: Tue, 8 Apr 2025 17:06:58 -0500 Subject: [PATCH] Fixing Beyond All Darkness (and other "put cards from hand on the bottom of the deck" cards) revealing the cards to the wrong player --- .../appender/PutCardsFromHandOnBottomOfDeck.java | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/cards/build/field/effect/appender/PutCardsFromHandOnBottomOfDeck.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/cards/build/field/effect/appender/PutCardsFromHandOnBottomOfDeck.java index c50387694..a2ad0641e 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/cards/build/field/effect/appender/PutCardsFromHandOnBottomOfDeck.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/cards/build/field/effect/appender/PutCardsFromHandOnBottomOfDeck.java @@ -1,13 +1,11 @@ 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.ValueSource; +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; import com.gempukku.lotro.cards.build.field.effect.appender.resolver.CardResolver; +import com.gempukku.lotro.cards.build.field.effect.appender.resolver.PlayerResolver; import com.gempukku.lotro.cards.build.field.effect.appender.resolver.ValueResolver; import com.gempukku.lotro.game.PhysicalCard; import com.gempukku.lotro.game.state.GameState; @@ -25,24 +23,26 @@ public class PutCardsFromHandOnBottomOfDeck implements EffectAppenderProducer { public EffectAppender createEffectAppender(boolean cost, JSONObject effectObject, CardGenerationEnvironment environment) throws InvalidCardDefinitionException { FieldUtils.validateAllowedFields(effectObject, "player", "select", "count", "reveal"); - final String player = FieldUtils.getString(effectObject.get("player"), "player", "you"); + final String playerName = FieldUtils.getString(effectObject.get("player"), "player", "you"); final String select = FieldUtils.getString(effectObject.get("select"), "select", "choose(any)"); final ValueSource count = ValueResolver.resolveEvaluator(effectObject.get("count"), 1, environment); final boolean reveal = FieldUtils.getBoolean(effectObject.get("reveal"), "reveal", false); + final PlayerSource player = PlayerResolver.resolvePlayer(playerName); MultiEffectAppender result = new MultiEffectAppender(); result.addEffectAppender( - CardResolver.resolveCardsInHand(select, count, "_temp", player, player, "Choose cards from hand", environment)); + CardResolver.resolveCardsInHand(select, count, "_temp", playerName, playerName, "Choose cards from hand", environment)); result.addEffectAppender( new DelayedAppender() { @Override protected List createEffects(boolean cost, CostToEffectAction action, ActionContext actionContext) { final List cards = new ArrayList<>(actionContext.getCardsFromMemory("_temp")); List result = new LinkedList<>(); + for (int i = 0; i < cards.size(); i++) { result.add( - new ChooseArbitraryCardsEffect(actionContext.getPerformingPlayer(), + new ChooseArbitraryCardsEffect(player.getPlayer(actionContext), "Choose card to put beneath draw deck", cards, 1, 1) { @Override protected void cardsSelected(LotroGame game, Collection selectedCards) {