"Succumb to Despair"

This commit is contained in:
marcins78
2013-02-05 12:27:35 +00:00
parent 8d9ffa0c14
commit 884a62c2e1

View File

@@ -0,0 +1,53 @@
package com.gempukku.lotro.cards.set20.wraith;
import com.gempukku.lotro.cards.AbstractResponseEvent;
import com.gempukku.lotro.cards.PlayConditions;
import com.gempukku.lotro.cards.TriggerConditions;
import com.gempukku.lotro.cards.actions.PlayEventAction;
import com.gempukku.lotro.cards.effects.choose.ChooseAndExertCharactersEffect;
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.filters.Filters;
import com.gempukku.lotro.game.PhysicalCard;
import com.gempukku.lotro.game.state.LotroGame;
import com.gempukku.lotro.logic.GameUtils;
import com.gempukku.lotro.logic.effects.KillEffect;
import com.gempukku.lotro.logic.timing.EffectResult;
import com.gempukku.lotro.logic.timing.results.CharacterWonSkirmishResult;
import java.util.Collections;
import java.util.List;
/**
* 0
* Succumb to Despair
* Ringwraith Event • Response
* If a Nazgul wins a skirmish against a companion with 0 resistance or less,
* exert that Nazgul twice to place that companion in the dead pile.
*/
public class Card20_302 extends AbstractResponseEvent {
public Card20_302() {
super(Side.SHADOW, 0, Culture.WRAITH, "Succumb to Despair");
}
@Override
public List<PlayEventAction> getOptionalAfterActions(String playerId, LotroGame game, EffectResult effectResult, PhysicalCard self) {
if (TriggerConditions.winsSkirmishInvolving(game, effectResult, Race.NAZGUL, Filters.and(CardType.COMPANION, Filters.maxResistance(0)))) {
final PhysicalCard winner = ((CharacterWonSkirmishResult) effectResult).getWinner();
if (PlayConditions.canExert(self, game, 2, winner)) {
PlayEventAction action = new PlayEventAction(self);
action.setText("Play Succumb to Despair exerting " + GameUtils.getFullName(winner));
action.appendCost(
new ChooseAndExertCharactersEffect(action, playerId, 1, 1, 2, winner));
PhysicalCard loser = Filters.findFirstActive(game.getGameState(), game.getModifiersQuerying(), CardType.COMPANION, Filters.maxResistance(0), Filters.inSkirmish);
if (loser != null)
action.appendEffect(
new KillEffect(loser, KillEffect.Cause.CARD_EFFECT));
return Collections.singletonList(action);
}
}
return null;
}
}