From 76061c3907a9ec844682c9b23da44e9932da092d Mon Sep 17 00:00:00 2001 From: "marcins78@gmail.com" Date: Fri, 7 Oct 2011 09:12:35 +0000 Subject: [PATCH] "Night Without End" --- .../lotro/cards/set4/elven/Card4_079.java | 64 +++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/elven/Card4_079.java diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/elven/Card4_079.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/elven/Card4_079.java new file mode 100644 index 000000000..efe910cba --- /dev/null +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/elven/Card4_079.java @@ -0,0 +1,64 @@ +package com.gempukku.lotro.cards.set4.elven; + +import com.gempukku.lotro.cards.AbstractResponseEvent; +import com.gempukku.lotro.cards.PlayConditions; +import com.gempukku.lotro.cards.actions.PlayEventAction; +import com.gempukku.lotro.cards.effects.ChoiceEffect; +import com.gempukku.lotro.cards.effects.ExertCharactersEffect; +import com.gempukku.lotro.cards.effects.LiberateASiteEffect; +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.effects.ChooseAndWoundCharactersEffect; +import com.gempukku.lotro.logic.timing.Effect; +import com.gempukku.lotro.logic.timing.EffectResult; +import com.gempukku.lotro.logic.timing.results.SkirmishResult; + +import java.util.Collections; +import java.util.LinkedList; +import java.util.List; + +/** + * Set: The Two Towers + * Side: Free + * Culture: Elven + * Twilight Cost: 1 + * Type: Event + * Game Text: Response: If an Elf wins a skirmish, exert that Elf to liberate a site or wound a minion. + */ +public class Card4_079 extends AbstractResponseEvent { + public Card4_079() { + super(Side.FREE_PEOPLE, Culture.ELVEN, "Night Without End"); + } + + @Override + public int getTwilightCost() { + return 1; + } + + @Override + public List getOptionalAfterActions(String playerId, LotroGame game, EffectResult effectResult, PhysicalCard self) { + if (PlayConditions.canUseFPCardDuringPhase(game.getGameState(), (Phase) null, self) + && PlayConditions.winsSkirmish(game.getGameState(), game.getModifiersQuerying(), effectResult, Filters.race(Race.ELF))) { + final List winners = ((SkirmishResult) effectResult).getWinners(); + if (PlayConditions.canExert(self, game.getGameState(), game.getModifiersQuerying(), Filters.in(winners))) { + PlayEventAction action = new PlayEventAction(self); + action.appendCost( + new ExertCharactersEffect(self, winners.get(0))); + + List possibleEffects = new LinkedList(); + possibleEffects.add( + new LiberateASiteEffect(self)); + possibleEffects.add( + new ChooseAndWoundCharactersEffect(action, playerId, 1, 1, Filters.type(CardType.MINION))); + + action.appendEffect( + new ChoiceEffect(action, playerId, possibleEffects)); + return Collections.singletonList(action); + } + } + + return null; + } +}