"Brute Force"

This commit is contained in:
marcins78
2013-01-30 13:43:05 +00:00
parent 1e8c089772
commit 81b5b37586

View File

@@ -0,0 +1,58 @@
package com.gempukku.lotro.cards.set20.isengard;
import com.gempukku.lotro.cards.AbstractPermanent;
import com.gempukku.lotro.cards.PlayConditions;
import com.gempukku.lotro.cards.effects.RemoveTwilightEffect;
import com.gempukku.lotro.cards.effects.SelfDiscardEffect;
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.ActivateCardAction;
import com.gempukku.lotro.logic.decisions.DecisionResultInvalidException;
import com.gempukku.lotro.logic.decisions.IntegerAwaitingDecision;
import com.gempukku.lotro.logic.effects.PlayoutDecisionEffect;
import com.gempukku.lotro.logic.timing.Action;
import java.util.Collections;
import java.util.List;
/**
* 1
* Brute Force
* Isengard Condition • Support Area
* Regroup: Discard a Uruk-hai and remove (x) to discard a Free Peoples Possession with twilight cost (x). Discard this condition.
*/
public class Card20_232 extends AbstractPermanent {
public Card20_232() {
super(Side.SHADOW, 1, CardType.CONDITION, Culture.ISENGARD, Zone.SUPPORT, "Brute Force");
}
@Override
protected List<? extends Action> getExtraPhaseActions(final String playerId, LotroGame game, final PhysicalCard self) {
if (PlayConditions.canUseShadowCardDuringPhase(game, Phase.REGROUP, self, 0)
&& PlayConditions.canDiscardFromPlay(self, game, Race.URUK_HAI)) {
final ActivateCardAction action = new ActivateCardAction(self);
action.appendCost(
new ChooseAndDiscardCardsFromPlayEffect(action, playerId, 1, 1, Race.URUK_HAI));
action.appendCost(
new PlayoutDecisionEffect(playerId,
new IntegerAwaitingDecision(1, "Choose X", 0, game.getGameState().getTwilightPool(), 0) {
@Override
public void decisionMade(String result) throws DecisionResultInvalidException {
int value = getValidatedResult(result);
action.appendCost(
new RemoveTwilightEffect(value));
action.appendEffect(
new ChooseAndDiscardCardsFromPlayEffect(action, playerId, 1, 1, Side.FREE_PEOPLE, CardType.POSSESSION,
Filters.printedTwilightCost(value)));
action.appendEffect(
new SelfDiscardEffect(self));
}
}));
return Collections.singletonList(action);
}
return null;
}
}