"Shadow in the East"

This commit is contained in:
marcins78
2013-02-07 16:24:18 +00:00
parent d41cb18fdb
commit 80fe38c338
2 changed files with 62 additions and 0 deletions

View File

@@ -0,0 +1,21 @@
package com.gempukku.lotro.cards.modifiers.evaluator;
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.Evaluator;
public class AddEvaluator implements Evaluator {
private Evaluator _source;
private int _additional;
public AddEvaluator(int additional, Evaluator source) {
_additional = additional;
_source = source;
}
@Override
public int evaluateExpression(GameState gameState, ModifiersQuerying modifiersQuerying, PhysicalCard cardAffected) {
return _additional + _source.evaluateExpression(gameState, modifiersQuerying, cardAffected);
}
}

View File

@@ -0,0 +1,41 @@
package com.gempukku.lotro.cards.set20.sauron;
import com.gempukku.lotro.cards.AbstractEvent;
import com.gempukku.lotro.cards.PlayConditions;
import com.gempukku.lotro.cards.actions.PlayEventAction;
import com.gempukku.lotro.cards.modifiers.evaluator.AddEvaluator;
import com.gempukku.lotro.cards.modifiers.evaluator.CountFPCulturesEvaluator;
import com.gempukku.lotro.cards.modifiers.evaluator.MultiplyEvaluator;
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.game.PhysicalCard;
import com.gempukku.lotro.game.state.LotroGame;
import com.gempukku.lotro.logic.effects.AddThreatsEffect;
/**
* 2
* Shadow in the East
* Sauron Event • Maneuver
* Spot a [Sauron] minion to add a threat for each Free Peoples culture under 5 that you can spot.
*/
public class Card20_374 extends AbstractEvent {
public Card20_374() {
super(Side.SHADOW, 2, Culture.SAURON, "Shadow in the East", Phase.MANEUVER);
}
@Override
public boolean checkPlayRequirements(String playerId, LotroGame game, PhysicalCard self, int withTwilightRemoved, int twilightModifier, boolean ignoreRoamingPenalty, boolean ignoreCheckingDeadPile) {
return super.checkPlayRequirements(playerId, game, self, withTwilightRemoved, twilightModifier, ignoreRoamingPenalty, ignoreCheckingDeadPile)
&& PlayConditions.canSpot(game, Culture.SAURON, CardType.MINION);
}
@Override
public PlayEventAction getPlayCardAction(String playerId, LotroGame game, PhysicalCard self, int twilightModifier, boolean ignoreRoamingPenalty) {
PlayEventAction action = new PlayEventAction(self);
action.appendEffect(
new AddThreatsEffect(playerId, self, new AddEvaluator(5, new MultiplyEvaluator(-1, new CountFPCulturesEvaluator(self.getOwner())))));
return action;
}
}