From 39765e5fc6a3975c84f471bfb99b1c44f345d3da Mon Sep 17 00:00:00 2001 From: "marcins78@gmail.com" Date: Wed, 31 Aug 2011 17:06:27 +0000 Subject: [PATCH] "Wealth of Moria" --- .../lotro/cards/set1/dwarven/Card1_028.java | 30 +++++++++++++++++-- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/dwarven/Card1_028.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/dwarven/Card1_028.java index 1b604c3b1..2cca0ee59 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/dwarven/Card1_028.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/dwarven/Card1_028.java @@ -2,11 +2,15 @@ package com.gempukku.lotro.cards.set1.dwarven; import com.gempukku.lotro.cards.AbstractLotroCardBlueprint; import com.gempukku.lotro.cards.PlayConditions; +import com.gempukku.lotro.cards.actions.PlayEventAction; import com.gempukku.lotro.common.*; +import com.gempukku.lotro.filters.Filters; import com.gempukku.lotro.game.PhysicalCard; import com.gempukku.lotro.game.state.LotroGame; import com.gempukku.lotro.logic.timing.Action; +import com.gempukku.lotro.logic.timing.UnrespondableEffect; +import java.util.Collections; import java.util.List; /** @@ -30,9 +34,29 @@ public class Card1_028 extends AbstractLotroCardBlueprint { } @Override - public List getPlayablePhaseActions(String playerId, LotroGame game, PhysicalCard self) { - if (PlayConditions.canPlayFPCardDuringPhase(game, Phase.FELLOWSHIP, self)) { - // TODO + public List getPlayablePhaseActions(final String playerId, LotroGame game, PhysicalCard self) { + if (PlayConditions.canPlayFPCardDuringPhase(game, Phase.FELLOWSHIP, self) + && Filters.canSpot(game.getGameState(), game.getModifiersQuerying(), Filters.keyword(Keyword.DWARF))) { + PlayEventAction action = new PlayEventAction(self); + action.addEffect( + new UnrespondableEffect() { + @Override + public void playEffect(LotroGame game) { + List deck = game.getGameState().getDeck(playerId); + int cardCount = Math.min(deck.size(), 3); + List cards = deck.subList(0, cardCount); + + for (PhysicalCard card : cards) { + game.getGameState().removeCardFromZone(card); + if (card.getBlueprint().getSide() == Side.FREE_PEOPLE) + game.getGameState().addCardToZone(card, Zone.HAND); + else + game.getGameState().addCardToZone(card, Zone.DISCARD); + } + } + }); + + return Collections.singletonList(action); } return null; }