diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set7/gandalf/Card7_037.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set7/gandalf/Card7_037.java index 2cb0abd13..fbb233736 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set7/gandalf/Card7_037.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set7/gandalf/Card7_037.java @@ -16,6 +16,7 @@ import com.gempukku.lotro.logic.actions.SubAction; import com.gempukku.lotro.logic.effects.ChooseActiveCardEffect; import com.gempukku.lotro.logic.modifiers.StrengthModifier; import com.gempukku.lotro.logic.timing.Effect; +import com.gempukku.lotro.logic.timing.UnrespondableEffect; import java.util.Collection; import java.util.Collections; @@ -45,16 +46,17 @@ public class Card7_037 extends AbstractCompanion { if (PlayConditions.canUseFPCardDuringPhase(game, Phase.SKIRMISH, self) && game.getGameState().getHand(playerId).size() >= 3) { final ActivateCardAction action = new ActivateCardAction(self); - action.appendCost( - new ChooseCardsFromHandEffect(playerId, 3, 3, Filters.any) { - @Override - protected void cardsSelected(LotroGame game, Collection selectedCards) { - for (PhysicalCard selectedCard : selectedCards) { - action.insertCost( - new PutCardFromHandOnTopOfDeckEffect(selectedCard)); + for (int i = 0; i < 3; i++) + action.appendCost( + new ChooseCardsFromHandEffect(playerId, 1, 1, Filters.any) { + @Override + protected void cardsSelected(LotroGame game, Collection selectedCards) { + for (PhysicalCard selectedCard : selectedCards) { + action.insertCost( + new PutCardFromHandOnTopOfDeckEffect(selectedCard)); + } } - } - }); + }); action.appendEffect( new ChooseActiveCardEffect(self, playerId, "Choose minion", CardType.MINION, Filters.inSkirmishAgainst(Filters.unboundCompanion)) { @Override @@ -70,19 +72,30 @@ public class Card7_037 extends AbstractCompanion { }, GameUtils.getOpponents(game, playerId), new PreventableEffect.PreventionCost() { @Override - public Effect createPreventionCostForPlayer(final SubAction subAction, String playerId) { - return new ChooseCardsFromHandEffect(playerId, 3, 3, Filters.any) { + public Effect createPreventionCostForPlayer(final SubAction subAction, final String opponentId) { + return new UnrespondableEffect() { + @Override + public boolean isPlayableInFull(LotroGame game) { + return game.getGameState().getHand(opponentId).size() >= 3; + } + @Override public String getText(LotroGame game) { return "Place 3 cards from hand on top of draw deck"; } @Override - protected void cardsSelected(LotroGame game, Collection selectedCards) { - for (PhysicalCard selectedCard : selectedCards) { - subAction.appendEffect( - new PutCardFromHandOnTopOfDeckEffect(selectedCard)); - } + protected void doPlayEffect(LotroGame game) { + subAction.appendEffect( + new ChooseCardsFromHandEffect(opponentId, 1, 1, Filters.any) { + @Override + protected void cardsSelected(LotroGame game, Collection selectedCards) { + for (PhysicalCard selectedCard : selectedCards) { + action.insertCost( + new PutCardFromHandOnTopOfDeckEffect(selectedCard)); + } + } + }); } }; } diff --git a/gemp-lotr/gemp-lotr-web/src/main/webapp/includes/changeLog.html b/gemp-lotr/gemp-lotr-web/src/main/webapp/includes/changeLog.html index dc6595f31..f1774f83d 100644 --- a/gemp-lotr/gemp-lotr-web/src/main/webapp/includes/changeLog.html +++ b/gemp-lotr/gemp-lotr-web/src/main/webapp/includes/changeLog.html @@ -2,6 +2,7 @@ 22 Nov. 2011 - If a FP character had already some minion assigned, when FP player assigns minion, that character now counts the previously assigned minion towards the Defender rule. +- "Gandalf, Manager of Wizards" now puts the cards on top of deck in correct order. 21 Nov. 2011 - "Fifth Level" has now a Fortification keyword.