From 35c78cf633a6b278ff19200adcdaae0248a8b0a6 Mon Sep 17 00:00:00 2001 From: "marcins78@gmail.com" Date: Thu, 27 Oct 2011 10:43:15 +0000 Subject: [PATCH] "Gimli" --- .../lotro/cards/set7/dwarven/Card7_007.java | 80 +++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set7/dwarven/Card7_007.java diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set7/dwarven/Card7_007.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set7/dwarven/Card7_007.java new file mode 100644 index 000000000..2bee26eb3 --- /dev/null +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set7/dwarven/Card7_007.java @@ -0,0 +1,80 @@ +package com.gempukku.lotro.cards.set7.dwarven; + +import com.gempukku.lotro.cards.AbstractCompanion; +import com.gempukku.lotro.cards.PlayConditions; +import com.gempukku.lotro.cards.effects.ChoiceEffect; +import com.gempukku.lotro.cards.effects.PreventCardEffect; +import com.gempukku.lotro.cards.effects.choose.ChooseAndDiscardCardsFromHandEffect; +import com.gempukku.lotro.cards.effects.choose.ChooseAndExertCharactersEffect; +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.actions.ActivateCardAction; +import com.gempukku.lotro.logic.effects.ChooseActiveCardEffect; +import com.gempukku.lotro.logic.effects.DiscardCardsFromPlayEffect; +import com.gempukku.lotro.logic.timing.Effect; + +import java.util.Collection; +import java.util.Collections; +import java.util.LinkedList; +import java.util.List; + +/** + * Set: The Return of the King + * Side: Free + * Culture: Dwarven + * Twilight Cost: 2 + * Type: Companion • Dwarf + * Strength: 6 + * Vitality: 3 + * Resistance: 6 + * Signet: Aragorn + * Game Text: Damage +1. Response: if a [DWARVEN] condition is about to be discarded by an opponent, exert a Dwarf + * or discard a [DWARVEN] card from hand to prevent that. + */ +public class Card7_007 extends AbstractCompanion { + public Card7_007() { + super(2, 6, 3, Culture.DWARVEN, Race.DWARF, Signet.ARAGORN, "Gimli", true); + addKeyword(Keyword.DAMAGE, 1); + } + + @Override + public List getOptionalInPlayBeforeActions(String playerId, LotroGame game, Effect effect, PhysicalCard self) { + if (PlayConditions.isGettingDiscardedBy(effect, game, Side.SHADOW, Culture.DWARVEN, CardType.CONDITION) + && (PlayConditions.canExert(self, game, Race.DWARF) + || PlayConditions.canDiscardFromHand(game, playerId, 1, Culture.DWARVEN))) { + final DiscardCardsFromPlayEffect discardEffect = (DiscardCardsFromPlayEffect) effect; + final Collection discardedCards = discardEffect.getAffectedCardsMinusPrevented(game); + + final ActivateCardAction action = new ActivateCardAction(self); + List possibleCosts = new LinkedList(); + possibleCosts.add( + new ChooseAndExertCharactersEffect(action, playerId, 1, 1, Race.DWARF) { + @Override + public String getText(LotroGame game) { + return "Exert a Dwarf"; + } + }); + possibleCosts.add( + new ChooseAndDiscardCardsFromHandEffect(action, playerId, false, 1, Culture.DWARVEN) { + @Override + public String getText(LotroGame game) { + return "Discard a DWARVEN card"; + } + }); + action.appendCost( + new ChoiceEffect(action, playerId, possibleCosts)); + action.appendEffect( + new ChooseActiveCardEffect(self, playerId, "Choose DWARVEN condition", Culture.DWARVEN, CardType.CONDITION, Filters.in(discardedCards)) { + @Override + protected void cardSelected(LotroGame game, PhysicalCard card) { + action.insertEffect( + new PreventCardEffect(discardEffect, card)); + } + }); + return Collections.singletonList(action); + } + return null; + } +}