diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set15/rohan/Card15_134.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set15/rohan/Card15_134.java new file mode 100644 index 000000000..da00029a7 --- /dev/null +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set15/rohan/Card15_134.java @@ -0,0 +1,56 @@ +package com.gempukku.lotro.cards.set15.rohan; + +import com.gempukku.lotro.cards.AbstractFollower; +import com.gempukku.lotro.cards.PlayConditions; +import com.gempukku.lotro.common.Culture; +import com.gempukku.lotro.common.Keyword; +import com.gempukku.lotro.common.Race; +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; +import com.gempukku.lotro.logic.effects.AddTwilightEffect; +import com.gempukku.lotro.logic.modifiers.KeywordModifier; +import com.gempukku.lotro.logic.modifiers.Modifier; +import com.gempukku.lotro.logic.timing.Effect; + +import java.util.Collections; +import java.util.List; + +/** + * Set: The Hunters + * Side: Free + * Culture: Rohan + * Twilight Cost: 2 + * Type: Follower + * Strength: +1 + * Game Text: Aid - (1). (At the start of the maneuver phase, you may add (1) to transfer this to a companion.) + * To play, spot a [ROHAN] Man. Bearer is considered to be mounted. + */ +public class Card15_134 extends AbstractFollower { + public Card15_134() { + super(Side.FREE_PEOPLE, 2, 1, 0, 0, Culture.ROHAN, "Rohan Stable Master"); + } + + @Override + protected boolean canPayAidCost(LotroGame game, PhysicalCard self) { + return true; + } + + @Override + protected Effect getAidCost(LotroGame game, PhysicalCard self) { + return new AddTwilightEffect(self, 1); + } + + @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.ROHAN, Race.MAN); + } + + @Override + protected List getNonBasicStatsModifiers(PhysicalCard self) { + return Collections.singletonList( + new KeywordModifier(self, Filters.hasAttached(self), Keyword.MOUNTED)); + } +} diff --git a/gemp-lotr/gemp-lotr-common/src/main/java/com/gempukku/lotro/common/Keyword.java b/gemp-lotr/gemp-lotr-common/src/main/java/com/gempukku/lotro/common/Keyword.java index 850e6c7c5..3ec9bbf9a 100644 --- a/gemp-lotr/gemp-lotr-common/src/main/java/com/gempukku/lotro/common/Keyword.java +++ b/gemp-lotr/gemp-lotr-common/src/main/java/com/gempukku/lotro/common/Keyword.java @@ -9,7 +9,7 @@ public enum Keyword implements Filterable { RING_BOUND("Ring-Bound", true), - ENDURING("Enduring", true), ROAMING("Roaming", true), TWILIGHT("Twilight", true), HUNTER("Hunter", true, true), + ENDURING("Enduring", true), ROAMING("Roaming", true), MOUNTED("Mounted", false), TWILIGHT("Twilight", true), HUNTER("Hunter", true, true), WEATHER("Weather", true), TALE("Tale", true), SPELL("Spell", true), SEARCH("Search", true), STEALTH("Stealth", true), TENTACLE("Tentacle", true), 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 273a6c64c..606b82bab 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 @@ -849,7 +849,7 @@ public class Filters { public static final Filter unboundCompanion = Filters.and(CardType.COMPANION, Filters.not(Keyword.RING_BOUND)); public static final Filter roamingMinion = Filters.and(CardType.MINION, Keyword.ROAMING); - public static final Filter mounted = Filters.hasAttached(PossessionClass.MOUNT); + public static final Filter mounted = Filters.or(Filters.hasAttached(PossessionClass.MOUNT), Keyword.MOUNTED); private static class SpotFilterCardInPlayVisitor implements PhysicalCardVisitor { private GameState _gameState;