"Challenging the Orc-host"

This commit is contained in:
marcins78@gmail.com
2011-12-13 13:15:43 +00:00
parent e9e72d58e7
commit 364e82b2e6
2 changed files with 48 additions and 3 deletions

View File

@@ -5,21 +5,28 @@ import com.gempukku.lotro.filters.Filters;
import com.gempukku.lotro.game.PhysicalCard;
import com.gempukku.lotro.game.state.GameState;
import com.gempukku.lotro.logic.modifiers.ModifiersQuerying;
import com.gempukku.lotro.logic.modifiers.evaluator.ConstantEvaluator;
import com.gempukku.lotro.logic.modifiers.evaluator.Evaluator;
public class CardMatchesEvaluator implements Evaluator {
private Filterable[] _filters;
private int _matches;
private Evaluator _matches;
private int _default;
public CardMatchesEvaluator(int defaultValue, int matches, Filterable... filters) {
public CardMatchesEvaluator(int defaultValue, Evaluator matches, Filterable... filters) {
_default = defaultValue;
_matches = matches;
_filters = filters;
}
public CardMatchesEvaluator(int defaultValue, int matches, Filterable... filters) {
_default = defaultValue;
_matches = new ConstantEvaluator(matches);
_filters = filters;
}
@Override
public int evaluateExpression(GameState gameState, ModifiersQuerying modifiersQuerying, PhysicalCard self) {
return Filters.and(_filters).accepts(gameState, modifiersQuerying, self) ? _matches : _default;
return Filters.and(_filters).accepts(gameState, modifiersQuerying, self) ? _matches.evaluateExpression(gameState, modifiersQuerying, self) : _default;
}
}

View File

@@ -0,0 +1,38 @@
package com.gempukku.lotro.cards.set12.rohan;
import com.gempukku.lotro.cards.AbstractEvent;
import com.gempukku.lotro.cards.actions.PlayEventAction;
import com.gempukku.lotro.cards.effects.choose.ChooseAndAddUntilEOPStrengthBonusEffect;
import com.gempukku.lotro.cards.modifiers.evaluator.CardMatchesEvaluator;
import com.gempukku.lotro.cards.modifiers.evaluator.CountSpottableEvaluator;
import com.gempukku.lotro.common.CardType;
import com.gempukku.lotro.common.Culture;
import com.gempukku.lotro.common.Phase;
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;
/**
* Set: Black Rider
* Side: Free
* Culture: Rohan
* Twilight Cost: 1
* Type: Event • Skirmish
* Game Text: Make a [ROHAN] companion strength +2 (or +1 for each minion you can spot if that companion has resistance
* 5 or more).
*/
public class Card12_109 extends AbstractEvent {
public Card12_109() {
super(Side.FREE_PEOPLE, 1, Culture.ROHAN, "Challenging the Orc-host", Phase.SKIRMISH);
}
@Override
public PlayEventAction getPlayCardAction(String playerId, LotroGame game, PhysicalCard self, int twilightModifier, boolean ignoreRoamingPenalty) {
PlayEventAction action = new PlayEventAction(self);
action.appendEffect(
new ChooseAndAddUntilEOPStrengthBonusEffect(action, self, playerId,
new CardMatchesEvaluator(2, new CountSpottableEvaluator(CardType.MINION), Filters.minResistance(5)), Culture.ROHAN, CardType.COMPANION));
return action;
}
}