From 6fd538fb648fc37be707c3381856d08569cd6816 Mon Sep 17 00:00:00 2001 From: "marcins78@gmail.com" Date: Tue, 31 Jan 2012 16:22:47 +0000 Subject: [PATCH] "Desolation Orc" --- .../lotro/cards/set15/orc/Card15_107.java | 66 +++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set15/orc/Card15_107.java diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set15/orc/Card15_107.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set15/orc/Card15_107.java new file mode 100644 index 000000000..287f227bd --- /dev/null +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set15/orc/Card15_107.java @@ -0,0 +1,66 @@ +package com.gempukku.lotro.cards.set15.orc; + +import com.gempukku.lotro.cards.AbstractMinion; +import com.gempukku.lotro.cards.PlayConditions; +import com.gempukku.lotro.cards.actions.PlayPermanentAction; +import com.gempukku.lotro.cards.effects.ChoiceEffect; +import com.gempukku.lotro.cards.effects.choose.ChooseAndDiscardCardsFromPlayEffect; +import com.gempukku.lotro.cards.modifiers.evaluator.CountCulturesEvaluator; +import com.gempukku.lotro.common.CardType; +import com.gempukku.lotro.common.Culture; +import com.gempukku.lotro.common.Race; +import com.gempukku.lotro.common.Side; +import com.gempukku.lotro.game.PhysicalCard; +import com.gempukku.lotro.game.state.LotroGame; +import com.gempukku.lotro.logic.timing.Effect; +import com.gempukku.lotro.logic.timing.UnrespondableEffect; + +import java.util.LinkedList; +import java.util.List; + +/** + * Set: The Hunters + * Side: Shadow + * Culture: Orc + * Twilight Cost: 2 + * Type: Minion • Orc + * Strength: 12 + * Vitality: 3 + * Site: 4 + * Game Text: To play, spot 3 Free Peoples cultures or discard 2 [ORC] conditions from play. + */ +public class Card15_107 extends AbstractMinion { + public Card15_107() { + super(2, 12, 3, 4, Race.ORC, Culture.ORC, "Desolation Orc"); + } + + @Override + public boolean checkPlayRequirements(String playerId, LotroGame game, PhysicalCard self, int withTwilightRemoved, int twilightModifier, boolean ignoreRoamingPenalty, boolean ignoreCheckingDeadPile) { + return super.checkPlayRequirements(playerId, game, self, withTwilightRemoved, twilightModifier, ignoreRoamingPenalty, ignoreCheckingDeadPile) + && (new CountCulturesEvaluator(Side.FREE_PEOPLE).evaluateExpression(game.getGameState(), game.getModifiersQuerying(), null) >= 3 + || PlayConditions.canDiscardFromPlay(self, game, 2, Culture.ORC, CardType.CONDITION)); + } + + @Override + public PlayPermanentAction getPlayCardAction(String playerId, LotroGame game, PhysicalCard self, int twilightModifier, boolean ignoreRoamingPenalty) { + final PlayPermanentAction playCardAction = super.getPlayCardAction(playerId, game, self, twilightModifier, ignoreRoamingPenalty); + List possibleCosts = new LinkedList(); + if (new CountCulturesEvaluator(Side.FREE_PEOPLE).evaluateExpression(game.getGameState(), game.getModifiersQuerying(), null) >= 3) + possibleCosts.add( + new UnrespondableEffect() { + @Override + public String getText(LotroGame game) { + return "Spot 3 Free Peoples cultures"; + } + + @Override + protected void doPlayEffect(LotroGame game) { + } + }); + possibleCosts.add( + new ChooseAndDiscardCardsFromPlayEffect(playCardAction, playerId, 2, 2, Culture.ORC, CardType.CONDITION)); + playCardAction.appendCost( + new ChoiceEffect(playCardAction, playerId, possibleCosts)); + return playCardAction; + } +}