From a5e0c1393ca70d7339c124309335204e92513635 Mon Sep 17 00:00:00 2001 From: PhallenCassidy Date: Sat, 10 Mar 2018 23:00:50 -0500 Subject: [PATCH] Fix to 5R95 "Dead Marshes" Properly allows the Shadow player to play up to 2 conditions from discard --- .../lotro/cards/set5/sauron/Card5_095.java | 25 +++++++++++++------ 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/sauron/Card5_095.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/sauron/Card5_095.java index 9319d26bf..62bcedb05 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/sauron/Card5_095.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/sauron/Card5_095.java @@ -10,6 +10,9 @@ import com.gempukku.lotro.filters.Filters; import com.gempukku.lotro.game.PhysicalCard; import com.gempukku.lotro.game.state.LotroGame; import com.gempukku.lotro.logic.actions.ActivateCardAction; +import com.gempukku.lotro.logic.decisions.DecisionResultInvalidException; +import com.gempukku.lotro.logic.decisions.IntegerAwaitingDecision; +import com.gempukku.lotro.logic.effects.PlayoutDecisionEffect; import com.gempukku.lotro.logic.modifiers.Modifier; import com.gempukku.lotro.logic.modifiers.StrengthModifier; import com.gempukku.lotro.logic.timing.Action; @@ -41,16 +44,24 @@ public class Card5_095 extends AbstractPermanent { } @Override - protected List getExtraPhaseActions(String playerId, LotroGame game, PhysicalCard self) { + protected List getExtraPhaseActions(final String playerId, final LotroGame game, final PhysicalCard self) { if (PlayConditions.canUseShadowCardDuringPhase(game, Phase.MANEUVER, self, 0) && PlayConditions.canSpot(game, 2, Culture.SAURON, Race.ORC)) { - ActivateCardAction action = new ActivateCardAction(self); + final ActivateCardAction action = new ActivateCardAction(self); action.appendEffect( - new ChooseAndPlayCardFromDiscardEffect(playerId, game, Culture.SAURON, CardType.CONDITION)); - action.appendEffect( - new ChooseAndPlayCardFromDiscardEffect(playerId, game, Culture.SAURON, CardType.CONDITION)); - action.appendEffect( - new SelfDiscardEffect(self)); + new PlayoutDecisionEffect(playerId, + new IntegerAwaitingDecision(1, "How many SAURON conditions do you wish to play from your discard pile?", 0, 2) { + @Override + public void decisionMade(String result) throws DecisionResultInvalidException { + int count = getValidatedResult(result); + for (int i = 0; i < count; i++) + action.appendEffect( + new ChooseAndPlayCardFromDiscardEffect(playerId, game, Culture.SAURON, CardType.CONDITION)); + action.appendEffect( + new SelfDiscardEffect(self)); + } + }) + ); return Collections.singletonList(action); } return null;