"Faramir"

This commit is contained in:
marcins78@gmail.com
2011-11-02 15:12:24 +00:00
parent c42eb58a16
commit 8911743559
2 changed files with 59 additions and 0 deletions

View File

@@ -278,6 +278,10 @@ public class PlayConditions {
return false;
}
public static boolean winsSkirmishAgainst(LotroGame game, EffectResult effectResult, Filter winnerFilter, Filter loserFilter) {
return winsSkirmishAgainst(game.getGameState(), game.getModifiersQuerying(), effectResult, winnerFilter, loserFilter);
}
public static boolean winsSkirmishAgainst(GameState gameState, ModifiersQuerying modifiersQuerying, EffectResult effectResult, Filter winnerFilter, Filter loserFilter) {
EffectResult.Type effectType = effectResult.getType();
if (effectType == EffectResult.Type.RESOLVE_SKIRMISH || effectType == EffectResult.Type.OVERWHELM_IN_SKIRMISH) {

View File

@@ -0,0 +1,55 @@
package com.gempukku.lotro.cards.set7.gondor;
import com.gempukku.lotro.cards.AbstractCompanion;
import com.gempukku.lotro.cards.PlayConditions;
import com.gempukku.lotro.cards.effects.ExertCharactersEffect;
import com.gempukku.lotro.cards.effects.choose.ChooseAndDiscardCardsFromPlayEffect;
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.OptionalTriggerAction;
import com.gempukku.lotro.logic.timing.EffectResult;
import java.util.Collections;
import java.util.List;
/**
* Set: The Return of the King
* Side: Free
* Culture: Gondor
* Twilight Cost: 3
* Type: Companion • Man
* Strength: 7
* Vitality: 3
* Resistance: 6
* Signet: Theoden
* Game Text: Ranger. To play, spot a [GONDOR] Man. Each time Faramir wins a skirmish involving a fierce minion,
* you may exert Faramir to discard that minion.
*/
public class Card7_090 extends AbstractCompanion {
public Card7_090() {
super(3, 7, 3, Culture.GONDOR, Race.MAN, Signet.THÉODEN, "Faramir", true);
addKeyword(Keyword.RANGER);
}
@Override
public boolean checkPlayRequirements(String playerId, LotroGame game, PhysicalCard self, int twilightModifier) {
return super.checkPlayRequirements(playerId, game, self, twilightModifier)
&& PlayConditions.canSpot(game, Culture.GONDOR, Race.MAN);
}
@Override
public List<OptionalTriggerAction> getOptionalAfterTriggers(String playerId, LotroGame game, EffectResult effectResult, PhysicalCard self) {
if (PlayConditions.winsSkirmishAgainst(game, effectResult, Filters.and(self), Filters.and(CardType.MINION, Keyword.FIERCE))
&& PlayConditions.canSelfExert(self, game)) {
OptionalTriggerAction action = new OptionalTriggerAction(self);
action.appendCost(
new ExertCharactersEffect(self, self));
action.appendEffect(
new ChooseAndDiscardCardsFromPlayEffect(action, playerId, 1, 1, CardType.MINION, Keyword.FIERCE, Filters.inSkirmishAgainst(self)));
return Collections.singletonList(action);
}
return null;
}
}