From 992d4ae8f44f6016476f5e55659223e3efec9163 Mon Sep 17 00:00:00 2001 From: "marcins78@gmail.com" Date: Fri, 14 Oct 2011 09:43:22 +0000 Subject: [PATCH] Discarding stacked cards. --- .../effects/DiscardStackedCardsEffect.java | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/effects/DiscardStackedCardsEffect.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/effects/DiscardStackedCardsEffect.java index 07b07e753..c0e6f61d4 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/effects/DiscardStackedCardsEffect.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/effects/DiscardStackedCardsEffect.java @@ -8,6 +8,8 @@ import com.gempukku.lotro.logic.timing.AbstractEffect; import com.gempukku.lotro.logic.timing.EffectResult; import java.util.Collection; +import java.util.HashSet; +import java.util.Set; public class DiscardStackedCardsEffect extends AbstractEffect { private PhysicalCard _source; @@ -40,11 +42,18 @@ public class DiscardStackedCardsEffect extends AbstractEffect { @Override protected FullEffectResult playEffectReturningResult(LotroGame game) { GameState gameState = game.getGameState(); - gameState.sendMessage(getAppendedNames(_cards) + " is/are discarded from being stacked"); - gameState.removeCardsFromZone(_cards); - for (PhysicalCard card : _cards) + + Set toDiscard = new HashSet(); + for (PhysicalCard card : _cards) { + if (card.getZone() == Zone.STACKED) + toDiscard.add(card); + } + + gameState.sendMessage(getAppendedNames(toDiscard) + " is/are discarded from being stacked"); + gameState.removeCardsFromZone(toDiscard); + for (PhysicalCard card : toDiscard) gameState.addCardToZone(card, Zone.DISCARD); - return new FullEffectResult(null, true, true); + return new FullEffectResult(null, toDiscard.size() == _cards.size(), toDiscard.size() == _cards.size()); } }