- "A Ranger's Adaptability" now only spots a ranger (instead of exerts), exhausts the minion (instead of exerting twice)
and allows to do that to any minion if it's your site (per card text).
This commit is contained in:
@@ -30,6 +30,8 @@ Lady of Imladris" with completely different text (per card text).
|
||||
- Fixed the image link problem for "Gimli's Battle Axe".
|
||||
- Fixed the image link problem for "Retribution".
|
||||
- "Whip of Many Thongs, Ancient Serpentine Weapon" can now be born as an additional weapon (per card text).
|
||||
- "A Ranger's Adaptability" now only spots a ranger (instead of exerts), exhausts the minion (instead of exerting twice)
|
||||
and allows to do that to any minion if it's your site (per card text).
|
||||
|
||||
<b>11 Mar. 2013</b>
|
||||
- Second Edition is playable now.
|
||||
|
||||
@@ -3,8 +3,10 @@ package com.gempukku.lotro.cards.set20.gondor;
|
||||
import com.gempukku.lotro.cards.AbstractEvent;
|
||||
import com.gempukku.lotro.cards.PlayConditions;
|
||||
import com.gempukku.lotro.cards.actions.PlayEventAction;
|
||||
import com.gempukku.lotro.cards.effects.choose.ChooseAndExertCharactersEffect;
|
||||
import com.gempukku.lotro.cards.effects.choose.ChooseAndExhaustCharactersEffect;
|
||||
import com.gempukku.lotro.cards.modifiers.conditions.LocationCondition;
|
||||
import com.gempukku.lotro.common.*;
|
||||
import com.gempukku.lotro.filters.Filters;
|
||||
import com.gempukku.lotro.game.PhysicalCard;
|
||||
import com.gempukku.lotro.game.state.LotroGame;
|
||||
|
||||
@@ -12,7 +14,7 @@ import com.gempukku.lotro.game.state.LotroGame;
|
||||
* 1
|
||||
* A Ranger's Adaptability
|
||||
* Gondor Event • Maneuver
|
||||
* Exert a [Gondor] ranger to exert a roaming minion twice.
|
||||
* Spot a [Gondor] ranger to exhaust a roaming minion (or any minion if at a site from your adventure deck).
|
||||
*/
|
||||
public class Card20_202 extends AbstractEvent {
|
||||
public Card20_202() {
|
||||
@@ -22,16 +24,15 @@ public class Card20_202 extends AbstractEvent {
|
||||
@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.canExert(self, game, Culture.GONDOR, Keyword.RANGER);
|
||||
&& PlayConditions.canSpot(game, Culture.GONDOR, Keyword.RANGER);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PlayEventAction getPlayCardAction(String playerId, LotroGame game, PhysicalCard self, int twilightModifier, boolean ignoreRoamingPenalty) {
|
||||
PlayEventAction action = new PlayEventAction(self);
|
||||
action.appendCost(
|
||||
new ChooseAndExertCharactersEffect(action, playerId, 1, 1, Culture.GONDOR, Keyword.RANGER));
|
||||
action.appendEffect(
|
||||
new ChooseAndExertCharactersEffect(action, playerId, 1, 1, 2, CardType.MINION, Keyword.ROAMING));
|
||||
new ChooseAndExhaustCharactersEffect(action, playerId, 1, 1,
|
||||
CardType.MINION, Filters.conditionFilter(Keyword.ROAMING, new LocationCondition(Filters.owner(playerId)), Filters.any)));
|
||||
return action;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,6 +10,7 @@ import com.gempukku.lotro.game.state.GameState;
|
||||
import com.gempukku.lotro.game.state.LotroGame;
|
||||
import com.gempukku.lotro.game.state.Skirmish;
|
||||
import com.gempukku.lotro.logic.GameUtils;
|
||||
import com.gempukku.lotro.logic.modifiers.Condition;
|
||||
import com.gempukku.lotro.logic.modifiers.ModifiersQuerying;
|
||||
import com.gempukku.lotro.logic.modifiers.evaluator.Evaluator;
|
||||
|
||||
@@ -105,6 +106,20 @@ public class Filters {
|
||||
|
||||
// Filters available
|
||||
|
||||
public static Filter conditionFilter(final Filterable defaultFilters, final Condition condition, final Filterable conditionMetFilter) {
|
||||
final Filter filter1 = changeToFilter(defaultFilters);
|
||||
final Filter filter2 = changeToFilter(conditionMetFilter);
|
||||
return new Filter() {
|
||||
@Override
|
||||
public boolean accepts(GameState gameState, ModifiersQuerying modifiersQuerying, PhysicalCard physicalCard) {
|
||||
if (condition.isFullfilled(gameState, modifiersQuerying))
|
||||
return filter2.accepts(gameState, modifiersQuerying, physicalCard);
|
||||
else
|
||||
return filter1.accepts(gameState, modifiersQuerying, physicalCard);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
public static Filter canSpotCompanionWithStrengthAtLeast(final int strength) {
|
||||
return new Filter() {
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user