diff --git a/gemp-lotr/gemp-lotr-async/src/main/web/includes/changeLog.html b/gemp-lotr/gemp-lotr-async/src/main/web/includes/changeLog.html index e8be506d2..d6f945572 100644 --- a/gemp-lotr/gemp-lotr-async/src/main/web/includes/changeLog.html +++ b/gemp-lotr/gemp-lotr-async/src/main/web/includes/changeLog.html @@ -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). 11 Mar. 2013 - Second Edition is playable now. diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set20/gondor/Card20_202.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set20/gondor/Card20_202.java index 1e7d63f38..1b43a1800 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set20/gondor/Card20_202.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set20/gondor/Card20_202.java @@ -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; } } diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/filters/Filters.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/filters/Filters.java index 6a7e47680..8caccbb49 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/filters/Filters.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/filters/Filters.java @@ -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