diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/AbstractAlly.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/AbstractAlly.java index ba92dc049..1e0b1a099 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/AbstractAlly.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/AbstractAlly.java @@ -55,7 +55,7 @@ public class AbstractAlly extends AbstractLotroCardBlueprint { } private void appendPlayAllyActions(List actions, String playerId, LotroGame game, PhysicalCard self) { - if (PlayConditions.canPlayFPCardDuringPhase(game, Phase.FELLOWSHIP, self)) + if (PlayConditions.canPlayCardDuringPhase(game, Phase.FELLOWSHIP, self)) actions.add(getPlayCardAction(playerId, game, self, 0)); } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/AbstractAttachable.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/AbstractAttachable.java index 3ccb312a4..963ca0a14 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/AbstractAttachable.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/AbstractAttachable.java @@ -32,7 +32,8 @@ public abstract class AbstractAttachable extends AbstractLotroCardBlueprint { @Override public boolean checkPlayRequirements(String playerId, LotroGame game, PhysicalCard self, int twilightModifier) { - return PlayConditions.checkUniqueness(game.getGameState(), game.getModifiersQuerying(), self) + return (self.getBlueprint().getSide() == Side.FREE_PEOPLE || PlayConditions.canPayForShadowCard(game, self, twilightModifier)) + && PlayConditions.checkUniqueness(game.getGameState(), game.getModifiersQuerying(), self) && Filters.canSpot(game.getGameState(), game.getModifiersQuerying(), getValidTargetFilter(playerId, game, self)); } @@ -40,8 +41,8 @@ public abstract class AbstractAttachable extends AbstractLotroCardBlueprint { public List getPhaseActions(String playerId, LotroGame game, PhysicalCard self) { List actions = new LinkedList(); Side side = self.getBlueprint().getSide(); - if (((side == Side.FREE_PEOPLE && PlayConditions.canPlayFPCardDuringPhase(game, Phase.FELLOWSHIP, self)) - || (side == Side.SHADOW && PlayConditions.canPlayShadowCardDuringPhase(game, Phase.SHADOW, self))) + if (((side == Side.FREE_PEOPLE && PlayConditions.canPlayCardDuringPhase(game, Phase.FELLOWSHIP, self)) + || (side == Side.SHADOW && PlayConditions.canPlayCardDuringPhase(game, Phase.SHADOW, self))) && checkPlayRequirements(playerId, game, self, 0)) { actions.add(getPlayCardAction(playerId, game, self, 0)); } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/AbstractCompanion.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/AbstractCompanion.java index 3418c2f76..6b1736cd3 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/AbstractCompanion.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/AbstractCompanion.java @@ -45,7 +45,7 @@ public abstract class AbstractCompanion extends AbstractLotroCardBlueprint { } private void appendPlayCompanionActions(List actions, String playerId, LotroGame game, PhysicalCard self) { - if (PlayConditions.canPlayFPCardDuringPhase(game, Phase.FELLOWSHIP, self)) + if (PlayConditions.canPlayCardDuringPhase(game, Phase.FELLOWSHIP, self)) actions.add(getPlayCardAction(playerId, game, self, 0)); } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/AbstractEvent.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/AbstractEvent.java index dc0321886..14471fa56 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/AbstractEvent.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/AbstractEvent.java @@ -42,8 +42,8 @@ public abstract class AbstractEvent extends AbstractLotroCardBlueprint { public final List getPhaseActions(String playerId, LotroGame game, PhysicalCard self) { if (_playableInPhases != null) { Side side = self.getBlueprint().getSide(); - if ((side == Side.FREE_PEOPLE && PlayConditions.canPlayFPCardDuringPhase(game, _playableInPhases, self)) - || (side == Side.SHADOW && PlayConditions.canPlayShadowCardDuringPhase(game, _playableInPhases, self))) { + if ((side == Side.FREE_PEOPLE && PlayConditions.canPlayCardDuringPhase(game, _playableInPhases, self)) + || (side == Side.SHADOW && PlayConditions.canPlayCardDuringPhase(game, _playableInPhases, self))) { if (checkPlayRequirements(playerId, game, self, 0)) return Collections.singletonList(getPlayCardAction(playerId, game, self, 0)); } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/AbstractMinion.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/AbstractMinion.java index 93192e029..82180eab5 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/AbstractMinion.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/AbstractMinion.java @@ -31,7 +31,7 @@ public class AbstractMinion extends AbstractLotroCardBlueprint { } private void appendPlayMinionActions(List actions, String playerId, LotroGame game, PhysicalCard self) { - if (PlayConditions.canPlayShadowCardDuringPhase(game, Phase.SHADOW, self)) + if (PlayConditions.canPlayCardDuringPhase(game, Phase.SHADOW, self)) actions.add(getPlayCardAction(playerId, game, self, 0)); } @@ -51,7 +51,7 @@ public class AbstractMinion extends AbstractLotroCardBlueprint { public boolean checkPlayRequirements(String playerId, LotroGame game, PhysicalCard self, int twilightModifier) { return PlayConditions.checkUniqueness(game.getGameState(), game.getModifiersQuerying(), self) - && game.getGameState().getTwilightPool() >= game.getModifiersQuerying().getTwilightCost(game.getGameState(), self) + twilightModifier; + && PlayConditions.canPayForShadowCard(game, self, twilightModifier); } public Action getPlayCardAction(String playerId, LotroGame game, PhysicalCard self, int twilightModifier) { diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/PlayConditions.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/PlayConditions.java index 57fa5ce91..fec6a02c2 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/PlayConditions.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/PlayConditions.java @@ -24,9 +24,8 @@ public class PlayConditions { && zone != Zone.ATTACHED && zone != Zone.ADVENTURE_PATH; } - public static boolean canPlayFPCardDuringPhase(LotroGame game, Phase phase, PhysicalCard self) { - return (phase == null || game.getGameState().getCurrentPhase() == phase) && self.getZone() == Zone.HAND - && (!self.getBlueprint().isUnique() || !Filters.canSpot(game.getGameState(), game.getModifiersQuerying(), Filters.name(self.getBlueprint().getName()))); + public static boolean canPayForShadowCard(LotroGame game, PhysicalCard self, int twilightModifier) { + return game.getModifiersQuerying().getTwilightCost(game.getGameState(), self) + twilightModifier <= game.getGameState().getTwilightPool(); } private static boolean containsPhase(Phase[] phases, Phase phase) { @@ -37,21 +36,15 @@ public class PlayConditions { return false; } - public static boolean canPlayFPCardDuringPhase(LotroGame game, Phase[] phases, PhysicalCard self) { - return (phases == null || containsPhase(phases, game.getGameState().getCurrentPhase())) + public static boolean canPlayCardDuringPhase(LotroGame game, Phase phase, PhysicalCard self) { + return (phase == null || game.getGameState().getCurrentPhase() == phase) && self.getZone() == Zone.HAND && (!self.getBlueprint().isUnique() || !Filters.canSpot(game.getGameState(), game.getModifiersQuerying(), Filters.name(self.getBlueprint().getName()))); } - public static boolean canPlayShadowCardDuringPhase(LotroGame game, Phase phase, PhysicalCard self) { - return (phase == null || game.getGameState().getCurrentPhase() == phase) && self.getZone() == Zone.HAND - && game.getModifiersQuerying().getTwilightCost(game.getGameState(), self) <= game.getGameState().getTwilightPool() - && (!self.getBlueprint().isUnique() || !Filters.canSpot(game.getGameState(), game.getModifiersQuerying(), Filters.name(self.getBlueprint().getName()))); - } - - public static boolean canPlayShadowCardDuringPhase(LotroGame game, Phase[] phases, PhysicalCard self) { - return (phases == null || containsPhase(phases, game.getGameState().getCurrentPhase())) && self.getZone() == Zone.HAND - && game.getModifiersQuerying().getTwilightCost(game.getGameState(), self) <= game.getGameState().getTwilightPool() + public static boolean canPlayCardDuringPhase(LotroGame game, Phase[] phases, PhysicalCard self) { + return (phases == null || containsPhase(phases, game.getGameState().getCurrentPhase())) + && self.getZone() == Zone.HAND && (!self.getBlueprint().isUnique() || !Filters.canSpot(game.getGameState(), game.getModifiersQuerying(), Filters.name(self.getBlueprint().getName()))); } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/dwarven/Card1_016.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/dwarven/Card1_016.java index 423472548..e32827aa1 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/dwarven/Card1_016.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/dwarven/Card1_016.java @@ -52,7 +52,7 @@ public class Card1_016 extends AbstractLotroCardBlueprint { @Override public List getPhaseActions(String playerId, LotroGame game, PhysicalCard self) { - if (PlayConditions.canPlayFPCardDuringPhase(game, Phase.FELLOWSHIP, self) + if (PlayConditions.canPlayCardDuringPhase(game, Phase.FELLOWSHIP, self) && checkPlayRequirements(playerId, game, self, 0)) { return Collections.singletonList(getPlayCardAction(playerId, game, self, 0)); } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/dwarven/Card1_020.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/dwarven/Card1_020.java index 681fd4a5b..528af2de7 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/dwarven/Card1_020.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/dwarven/Card1_020.java @@ -48,7 +48,7 @@ public class Card1_020 extends AbstractLotroCardBlueprint { @Override public List getPhaseActions(String playerId, LotroGame game, PhysicalCard self) { - if (PlayConditions.canPlayFPCardDuringPhase(game, Phase.FELLOWSHIP, self)) { + if (PlayConditions.canPlayCardDuringPhase(game, Phase.FELLOWSHIP, self)) { return Collections.singletonList(getPlayCardAction(playerId, game, self, 0)); } return null; diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/dwarven/Card1_021.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/dwarven/Card1_021.java index a132fdeb6..7aca74542 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/dwarven/Card1_021.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/dwarven/Card1_021.java @@ -44,7 +44,7 @@ public class Card1_021 extends AbstractLotroCardBlueprint { @Override public List getPhaseActions(String playerId, LotroGame game, PhysicalCard self) { - if (PlayConditions.canPlayFPCardDuringPhase(game, Phase.FELLOWSHIP, self)) { + if (PlayConditions.canPlayCardDuringPhase(game, Phase.FELLOWSHIP, self)) { return Collections.singletonList(getPlayCardAction(playerId, game, self, 0)); } return null; diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/dwarven/Card1_024.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/dwarven/Card1_024.java index 6835c82cf..6860873a2 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/dwarven/Card1_024.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/dwarven/Card1_024.java @@ -49,7 +49,7 @@ public class Card1_024 extends AbstractLotroCardBlueprint { @Override public List getPhaseActions(String playerId, LotroGame game, PhysicalCard self) { - if (PlayConditions.canPlayFPCardDuringPhase(game, Phase.FELLOWSHIP, self)) { + if (PlayConditions.canPlayCardDuringPhase(game, Phase.FELLOWSHIP, self)) { return Collections.singletonList(getPlayCardAction(playerId, game, self, 0)); } return null; diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_043.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_043.java index 7667d0fd1..c19a0dd59 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_043.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_043.java @@ -47,7 +47,7 @@ public class Card1_043 extends AbstractLotroCardBlueprint { @Override public List getPhaseActions(String playerId, LotroGame game, PhysicalCard self) { - if (PlayConditions.canPlayFPCardDuringPhase(game, Phase.FELLOWSHIP, self) + if (PlayConditions.canPlayCardDuringPhase(game, Phase.FELLOWSHIP, self) && checkPlayRequirements(playerId, game, self, 0)) { return Collections.singletonList(getPlayCardAction(playerId, game, self, 0)); } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_046.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_046.java index 58b0213ce..210d79212 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_046.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_046.java @@ -51,7 +51,7 @@ public class Card1_046 extends AbstractLotroCardBlueprint { @Override public List getPhaseActions(String playerId, LotroGame game, PhysicalCard self) { - if (PlayConditions.canPlayFPCardDuringPhase(game, Phase.FELLOWSHIP, self) + if (PlayConditions.canPlayCardDuringPhase(game, Phase.FELLOWSHIP, self) && checkPlayRequirements(playerId, game, self, 0)) { return Collections.singletonList(getPlayCardAction(playerId, game, self, 0)); } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_054.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_054.java index 0bcb4d557..c3715361d 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_054.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_054.java @@ -47,7 +47,7 @@ public class Card1_054 extends AbstractLotroCardBlueprint { @Override public List getPhaseActions(String playerId, LotroGame game, PhysicalCard self) { - if (PlayConditions.canPlayFPCardDuringPhase(game, Phase.FELLOWSHIP, self) + if (PlayConditions.canPlayCardDuringPhase(game, Phase.FELLOWSHIP, self) && checkPlayRequirements(playerId, game, self, 0)) { return Collections.singletonList(getPlayCardAction(playerId, game, self, 0)); } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_055.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_055.java index 3c6331dac..711bfc1ad 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_055.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_055.java @@ -54,7 +54,7 @@ public class Card1_055 extends AbstractLotroCardBlueprint { public List getPhaseActions(final String playerId, final LotroGame game, PhysicalCard self) { List actions = new LinkedList(); - if (PlayConditions.canPlayFPCardDuringPhase(game, Phase.FELLOWSHIP, self)) + if (PlayConditions.canPlayCardDuringPhase(game, Phase.FELLOWSHIP, self)) actions.add(getPlayCardAction(playerId, game, self, 0)); if (PlayConditions.canUseFPCardDuringPhase(game.getGameState(), Phase.MANEUVER, self) diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_059.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_059.java index d7614fa7c..e6e3f9a18 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_059.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_059.java @@ -51,7 +51,7 @@ public class Card1_059 extends AbstractLotroCardBlueprint { @Override public List getPhaseActions(final String playerId, LotroGame game, PhysicalCard self) { - if (PlayConditions.canPlayFPCardDuringPhase(game, Phase.FELLOWSHIP, self) + if (PlayConditions.canPlayCardDuringPhase(game, Phase.FELLOWSHIP, self) && checkPlayRequirements(playerId, game, self, 0)) { return Collections.singletonList(getPlayCardAction(playerId, game, self, 0)); } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_061.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_061.java index 557cf9b48..6064210d6 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_061.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_061.java @@ -45,7 +45,7 @@ public class Card1_061 extends AbstractLotroCardBlueprint { @Override public List getPhaseActions(String playerId, LotroGame game, PhysicalCard self) { - if (PlayConditions.canPlayFPCardDuringPhase(game, Phase.FELLOWSHIP, self)) { + if (PlayConditions.canPlayCardDuringPhase(game, Phase.FELLOWSHIP, self)) { return Collections.singletonList(getPlayCardAction(playerId, game, self, 0)); } return null; diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/gandalf/Card1_073.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/gandalf/Card1_073.java index 14e212844..a0f09dc54 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/gandalf/Card1_073.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/gandalf/Card1_073.java @@ -50,7 +50,7 @@ public class Card1_073 extends AbstractLotroCardBlueprint { @Override public List getPhaseActions(final String playerId, final LotroGame game, final PhysicalCard self) { - if (PlayConditions.canPlayFPCardDuringPhase(game, Phase.FELLOWSHIP, self) + if (PlayConditions.canPlayCardDuringPhase(game, Phase.FELLOWSHIP, self) && checkPlayRequirements(playerId, game, self, 0)) { return Collections.singletonList(getPlayCardAction(playerId, game, self, 0)); } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/gandalf/Card1_079.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/gandalf/Card1_079.java index 9cf96033a..5eacf0255 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/gandalf/Card1_079.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/gandalf/Card1_079.java @@ -49,7 +49,7 @@ public class Card1_079 extends AbstractLotroCardBlueprint { @Override public List getPhaseActions(String playerId, LotroGame game, PhysicalCard self) { - if (PlayConditions.canPlayFPCardDuringPhase(game, Phase.FELLOWSHIP, self) + if (PlayConditions.canPlayCardDuringPhase(game, Phase.FELLOWSHIP, self) && checkPlayRequirements(playerId, game, self, 0)) return Collections.singletonList(getPlayCardAction(playerId, game, self, 0)); return null; diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/gondor/Card1_100.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/gondor/Card1_100.java index 3c49632c7..1cb88c72c 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/gondor/Card1_100.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/gondor/Card1_100.java @@ -50,7 +50,7 @@ public class Card1_100 extends AbstractLotroCardBlueprint { @Override public List getPhaseActions(String playerId, LotroGame game, final PhysicalCard self) { - if (PlayConditions.canPlayFPCardDuringPhase(game, Phase.FELLOWSHIP, self) + if (PlayConditions.canPlayCardDuringPhase(game, Phase.FELLOWSHIP, self) && checkPlayRequirements(playerId, game, self, 0)) { return Collections.singletonList(getPlayCardAction(playerId, game, self, 0)); } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/gondor/Card1_105.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/gondor/Card1_105.java index c1decefc1..7c06449c3 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/gondor/Card1_105.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/gondor/Card1_105.java @@ -46,7 +46,7 @@ public class Card1_105 extends AbstractLotroCardBlueprint { @Override public List getPhaseActions(String playerId, LotroGame game, PhysicalCard self) { - if (PlayConditions.canPlayFPCardDuringPhase(game, Phase.FELLOWSHIP, self)) + if (PlayConditions.canPlayCardDuringPhase(game, Phase.FELLOWSHIP, self)) return Collections.singletonList(getPlayCardAction(playerId, game, self, 0)); if (PlayConditions.canUseFPCardDuringPhase(game.getGameState(), Phase.MANEUVER, self) diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_120.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_120.java index bf9e60edc..b1d469cce 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_120.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_120.java @@ -42,7 +42,8 @@ public class Card1_120 extends AbstractLotroCardBlueprint { @Override public boolean checkPlayRequirements(String playerId, LotroGame game, PhysicalCard self, int twilightModifier) { - return Filters.canSpot(game.getGameState(), game.getModifiersQuerying(), Filters.culture(Culture.URUK_HAI), Filters.canExert()); + return PlayConditions.canPayForShadowCard(game, self, twilightModifier) + && Filters.canSpot(game.getGameState(), game.getModifiersQuerying(), Filters.culture(Culture.URUK_HAI), Filters.canExert()); } @Override @@ -56,7 +57,7 @@ public class Card1_120 extends AbstractLotroCardBlueprint { @Override public List getPhaseActions(String playerId, LotroGame game, PhysicalCard self) { final GameState gameState = game.getGameState(); - if (PlayConditions.canPlayShadowCardDuringPhase(game, Phase.SHADOW, self) + if (PlayConditions.canPlayCardDuringPhase(game, Phase.SHADOW, self) && checkPlayRequirements(playerId, game, self, 0)) { return Collections.singletonList(getPlayCardAction(playerId, game, self, 0)); } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_121.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_121.java index 1c842d5d3..5adad5f47 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_121.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_121.java @@ -1,6 +1,7 @@ package com.gempukku.lotro.cards.set1.isengard; 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.AddUntilEndOfPhaseModifierEffect; import com.gempukku.lotro.cards.effects.ExertCharacterEffect; @@ -34,7 +35,8 @@ public class Card1_121 extends AbstractEvent { @Override public boolean checkPlayRequirements(String playerId, LotroGame game, PhysicalCard self, int twilightModifier) { - return Filters.canSpot(game.getGameState(), game.getModifiersQuerying(), Filters.keyword(Keyword.URUK_HAI), Filters.canExert()); + return PlayConditions.canPayForShadowCard(game, self, twilightModifier) + && Filters.canSpot(game.getGameState(), game.getModifiersQuerying(), Filters.keyword(Keyword.URUK_HAI), Filters.canExert()); } @Override diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_122.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_122.java index ededb5a40..3b5fd1f44 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_122.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_122.java @@ -6,7 +6,6 @@ import com.gempukku.lotro.cards.actions.PlayEventAction; import com.gempukku.lotro.cards.effects.PutCardFromDiscardOnBottomOfDeckEffect; import com.gempukku.lotro.common.Culture; import com.gempukku.lotro.common.Keyword; -import com.gempukku.lotro.common.Phase; import com.gempukku.lotro.common.Side; import com.gempukku.lotro.filters.Filters; import com.gempukku.lotro.game.PhysicalCard; @@ -40,7 +39,7 @@ public class Card1_122 extends AbstractResponseEvent { @Override public List getOptionalAfterActions(String playerId, LotroGame game, EffectResult effectResult, PhysicalCard self) { if (PlayConditions.played(game.getGameState(), game.getModifiersQuerying(), effectResult, Filters.and(Filters.keyword(Keyword.URUK_HAI), Filters.owner(playerId))) - && PlayConditions.canPlayShadowCardDuringPhase(game, (Phase) null, self)) { + && PlayConditions.canPayForShadowCard(game, self, 0)) { final PlayEventAction action = new PlayEventAction(self); String playedCardName = ((PlayCardResult) effectResult).getPlayedCard().getBlueprint().getName(); List cardsInDiscardWithSameName = Filters.filter(game.getGameState().getDiscard(playerId), game.getGameState(), game.getModifiersQuerying(), Filters.name(playedCardName)); diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_123.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_123.java index 100759207..6cdbde2cd 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_123.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_123.java @@ -1,6 +1,7 @@ package com.gempukku.lotro.cards.set1.isengard; 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.ChooseAndExertCharacterEffect; import com.gempukku.lotro.common.*; @@ -33,7 +34,8 @@ public class Card1_123 extends AbstractEvent { @Override public boolean checkPlayRequirements(String playerId, LotroGame game, PhysicalCard self, int twilightModifier) { - return Filters.canSpot(game.getGameState(), game.getModifiersQuerying(), Filters.culture(Culture.ISENGARD), Filters.type(CardType.MINION), Filters.canExert()) + return PlayConditions.canPayForShadowCard(game, self, twilightModifier) + && Filters.canSpot(game.getGameState(), game.getModifiersQuerying(), Filters.culture(Culture.ISENGARD), Filters.type(CardType.MINION), Filters.canExert()) && Filters.countActive(game.getGameState(), game.getModifiersQuerying(), Filters.type(CardType.COMPANION)) >= 5; } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_124.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_124.java index 196c7ca63..055dc7b69 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_124.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_124.java @@ -1,6 +1,7 @@ package com.gempukku.lotro.cards.set1.isengard; 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.AddBurdenEffect; import com.gempukku.lotro.cards.effects.ChoiceEffect; @@ -38,7 +39,8 @@ public class Card1_124 extends AbstractEvent { @Override public boolean checkPlayRequirements(String playerId, LotroGame game, PhysicalCard self, int twilightModifier) { - return Filters.canSpot(game.getGameState(), game.getModifiersQuerying(), Filters.culture(Culture.ISENGARD), Filters.type(CardType.MINION), Filters.canExert()); + return PlayConditions.canPayForShadowCard(game, self, twilightModifier) + && Filters.canSpot(game.getGameState(), game.getModifiersQuerying(), Filters.culture(Culture.ISENGARD), Filters.type(CardType.MINION), Filters.canExert()); } @Override diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_125.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_125.java index 3dce2945c..5beaff034 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_125.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_125.java @@ -36,7 +36,8 @@ public class Card1_125 extends AbstractLotroCardBlueprint { @Override public boolean checkPlayRequirements(String playerId, LotroGame game, PhysicalCard self, int twilightModifier) { - return Filters.canSpot(game.getGameState(), game.getModifiersQuerying(), Filters.keyword(Keyword.URUK_HAI)); + return PlayConditions.canPayForShadowCard(game, self, twilightModifier) + && Filters.canSpot(game.getGameState(), game.getModifiersQuerying(), Filters.keyword(Keyword.URUK_HAI)); } @Override @@ -46,7 +47,7 @@ public class Card1_125 extends AbstractLotroCardBlueprint { @Override public List getPhaseActions(String playerId, LotroGame game, PhysicalCard self) { - if (PlayConditions.canPlayShadowCardDuringPhase(game, Phase.SHADOW, self) + if (PlayConditions.canPlayCardDuringPhase(game, Phase.SHADOW, self) && checkPlayRequirements(playerId, game, self, 0)) { return Collections.singletonList(getPlayCardAction(playerId, game, self, 0)); } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_126.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_126.java index 7ce3d3abc..5aa985976 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_126.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_126.java @@ -1,6 +1,7 @@ package com.gempukku.lotro.cards.set1.isengard; 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.AddUntilStartOfPhaseModifierEffect; import com.gempukku.lotro.common.Culture; @@ -33,7 +34,7 @@ public class Card1_126 extends AbstractEvent { @Override public boolean checkPlayRequirements(String playerId, LotroGame game, PhysicalCard self, int twilightModifier) { - return true; + return PlayConditions.canPayForShadowCard(game, self, twilightModifier); } @Override diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_128.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_128.java index 323b60633..7d9735003 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_128.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_128.java @@ -1,6 +1,7 @@ package com.gempukku.lotro.cards.set1.isengard; 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.AddUntilEndOfPhaseModifierEffect; import com.gempukku.lotro.cards.modifiers.StrengthModifier; @@ -39,7 +40,8 @@ public class Card1_128 extends AbstractEvent { @Override public boolean checkPlayRequirements(String playerId, LotroGame game, PhysicalCard self, int twilightModifier) { - return Filters.canSpot(game.getGameState(), game.getModifiersQuerying(), Filters.keyword(Keyword.URUK_HAI)); + return PlayConditions.canPayForShadowCard(game, self, twilightModifier) + && Filters.canSpot(game.getGameState(), game.getModifiersQuerying(), Filters.keyword(Keyword.URUK_HAI)); } @Override diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_129.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_129.java index 550b6bb9c..cf8de3c5a 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_129.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_129.java @@ -38,7 +38,8 @@ public class Card1_129 extends AbstractLotroCardBlueprint { @Override public boolean checkPlayRequirements(String playerId, LotroGame game, PhysicalCard self, int twilightModifier) { - return Filters.canSpot(game.getGameState(), game.getModifiersQuerying(), Filters.keyword(Keyword.URUK_HAI), Filters.canExert()); + return PlayConditions.canPayForShadowCard(game, self, twilightModifier) + && Filters.canSpot(game.getGameState(), game.getModifiersQuerying(), Filters.keyword(Keyword.URUK_HAI), Filters.canExert()); } @Override @@ -51,7 +52,7 @@ public class Card1_129 extends AbstractLotroCardBlueprint { @Override public List getPhaseActions(String playerId, LotroGame game, PhysicalCard self) { - if (PlayConditions.canPlayShadowCardDuringPhase(game, Phase.SHADOW, self) + if (PlayConditions.canPlayCardDuringPhase(game, Phase.SHADOW, self) && checkPlayRequirements(playerId, game, self, 0)) { return Collections.singletonList(getPlayCardAction(playerId, game, self, 0)); } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_130.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_130.java index e0a08b528..aa582074e 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_130.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_130.java @@ -35,7 +35,7 @@ public class Card1_130 extends AbstractLotroCardBlueprint { @Override public boolean checkPlayRequirements(String playerId, LotroGame game, PhysicalCard self, int twilightModifier) { - return true; + return PlayConditions.canPayForShadowCard(game, self, twilightModifier); } @Override @@ -45,7 +45,7 @@ public class Card1_130 extends AbstractLotroCardBlueprint { @Override public List getPhaseActions(String playerId, LotroGame game, PhysicalCard self) { - if (PlayConditions.canPlayShadowCardDuringPhase(game, Phase.SHADOW, self)) { + if (PlayConditions.canPlayCardDuringPhase(game, Phase.SHADOW, self)) { return Collections.singletonList(getPlayCardAction(playerId, game, self, 0)); } return null; diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_132.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_132.java index 163efadf0..4e787c820 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_132.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_132.java @@ -1,6 +1,7 @@ package com.gempukku.lotro.cards.set1.isengard; 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.AddUntilStartOfPhaseModifierEffect; import com.gempukku.lotro.cards.modifiers.CancelStrengthBonusModifier; @@ -30,7 +31,8 @@ public class Card1_132 extends AbstractEvent { @Override public boolean checkPlayRequirements(String playerId, LotroGame game, PhysicalCard self, int twilightModifier) { - return Filters.canSpot(game.getGameState(), game.getModifiersQuerying(), Filters.keyword(Keyword.URUK_HAI)); + return PlayConditions.canPayForShadowCard(game, self, twilightModifier) + && Filters.canSpot(game.getGameState(), game.getModifiersQuerying(), Filters.keyword(Keyword.URUK_HAI)); } @Override diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_133.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_133.java index 9b9e35d27..aff0527bf 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_133.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_133.java @@ -40,7 +40,7 @@ public class Card1_133 extends AbstractLotroCardBlueprint { @Override public boolean checkPlayRequirements(String playerId, LotroGame game, PhysicalCard self, int twilightModifier) { - return true; + return PlayConditions.canPayForShadowCard(game, self, twilightModifier); } @Override @@ -50,7 +50,7 @@ public class Card1_133 extends AbstractLotroCardBlueprint { @Override public List getPhaseActions(String playerId, LotroGame game, final PhysicalCard self) { - if (PlayConditions.canPlayShadowCardDuringPhase(game, Phase.SHADOW, self)) { + if (PlayConditions.canPlayCardDuringPhase(game, Phase.SHADOW, self)) { return Collections.singletonList(getPlayCardAction(playerId, game, self, 0)); } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_134.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_134.java index 1356b38ad..9d103d9f6 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_134.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_134.java @@ -41,7 +41,8 @@ public class Card1_134 extends AbstractLotroCardBlueprint { @Override public boolean checkPlayRequirements(String playerId, LotroGame game, PhysicalCard self, int twilightModifier) { - return Filters.canSpot(game.getGameState(), game.getModifiersQuerying(), Filters.culture(Culture.ISENGARD), Filters.type(CardType.MINION), Filters.canExert()) + return PlayConditions.canPayForShadowCard(game, self, twilightModifier) + && Filters.canSpot(game.getGameState(), game.getModifiersQuerying(), Filters.culture(Culture.ISENGARD), Filters.type(CardType.MINION), Filters.canExert()) && Filters.canSpot(game.getGameState(), game.getModifiersQuerying(), Filters.type(CardType.SITE), Filters.not(Filters.hasAttached(Filters.name("Saruman's Chill")))); } @@ -55,7 +56,7 @@ public class Card1_134 extends AbstractLotroCardBlueprint { @Override public List getPhaseActions(String playerId, LotroGame game, PhysicalCard self) { - if (PlayConditions.canPlayShadowCardDuringPhase(game, Phase.SHADOW, self) + if (PlayConditions.canPlayCardDuringPhase(game, Phase.SHADOW, self) && checkPlayRequirements(playerId, game, self, 0)) { return Collections.singletonList(getPlayCardAction(playerId, game, self, 0)); } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_135.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_135.java index e1a17f137..40322746b 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_135.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_135.java @@ -44,7 +44,8 @@ public class Card1_135 extends AbstractLotroCardBlueprint { @Override public boolean checkPlayRequirements(String playerId, LotroGame game, PhysicalCard self, int twilightModifier) { - return Filters.canSpot(game.getGameState(), game.getModifiersQuerying(), Filters.culture(Culture.ISENGARD), Filters.type(CardType.MINION), Filters.canExert()) + return PlayConditions.canPayForShadowCard(game, self, twilightModifier) + && Filters.canSpot(game.getGameState(), game.getModifiersQuerying(), Filters.culture(Culture.ISENGARD), Filters.type(CardType.MINION), Filters.canExert()) && Filters.canSpot(game.getGameState(), game.getModifiersQuerying(), Filters.type(CardType.SITE), Filters.not(Filters.hasAttached(Filters.name("Saruman's Frost")))); } @@ -58,7 +59,7 @@ public class Card1_135 extends AbstractLotroCardBlueprint { @Override public List getPhaseActions(String playerId, LotroGame game, PhysicalCard self) { - if (PlayConditions.canPlayShadowCardDuringPhase(game, Phase.SHADOW, self) + if (PlayConditions.canPlayCardDuringPhase(game, Phase.SHADOW, self) && checkPlayRequirements(playerId, game, self, 0)) { return Collections.singletonList(getPlayCardAction(playerId, game, self, 0)); } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_136.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_136.java index 429e87c51..78e26bfc7 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_136.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_136.java @@ -1,6 +1,7 @@ package com.gempukku.lotro.cards.set1.isengard; 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.ChooseAndExertCharacterEffect; import com.gempukku.lotro.common.*; @@ -30,7 +31,8 @@ public class Card1_136 extends AbstractEvent { @Override public boolean checkPlayRequirements(String playerId, LotroGame game, PhysicalCard self, int twilightModifier) { - return Filters.canSpot(game.getGameState(), game.getModifiersQuerying(), Filters.culture(Culture.ISENGARD), Filters.type(CardType.MINION), Filters.canExert()); + return PlayConditions.canPayForShadowCard(game, self, twilightModifier) + && Filters.canSpot(game.getGameState(), game.getModifiersQuerying(), Filters.culture(Culture.ISENGARD), Filters.type(CardType.MINION), Filters.canExert()); } @Override diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_137.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_137.java index 0016271f0..8ca84e752 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_137.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_137.java @@ -1,6 +1,7 @@ package com.gempukku.lotro.cards.set1.isengard; 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.ChoiceEffect; import com.gempukku.lotro.cards.effects.ChooseAndExertCharacterEffect; @@ -38,7 +39,8 @@ public class Card1_137 extends AbstractEvent { @Override public boolean checkPlayRequirements(String playerId, LotroGame game, PhysicalCard self, int twilightModifier) { - return Filters.canSpot(game.getGameState(), game.getModifiersQuerying(), Filters.keyword(Keyword.URUK_HAI), Filters.canExert()); + return PlayConditions.canPayForShadowCard(game, self, twilightModifier) + && Filters.canSpot(game.getGameState(), game.getModifiersQuerying(), Filters.keyword(Keyword.URUK_HAI), Filters.canExert()); } @Override diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_138.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_138.java index 56850b997..3baa27df6 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_138.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_138.java @@ -45,7 +45,8 @@ public class Card1_138 extends AbstractLotroCardBlueprint { @Override public boolean checkPlayRequirements(String playerId, LotroGame game, PhysicalCard self, int twilightModifier) { - return Filters.canSpot(game.getGameState(), game.getModifiersQuerying(), Filters.culture(Culture.ISENGARD), Filters.type(CardType.MINION), Filters.canExert()); + return PlayConditions.canPayForShadowCard(game, self, twilightModifier) + && Filters.canSpot(game.getGameState(), game.getModifiersQuerying(), Filters.culture(Culture.ISENGARD), Filters.type(CardType.MINION), Filters.canExert()); } @Override @@ -58,7 +59,7 @@ public class Card1_138 extends AbstractLotroCardBlueprint { @Override public List getPhaseActions(String playerId, LotroGame game, PhysicalCard self) { - if (PlayConditions.canPlayShadowCardDuringPhase(game, Phase.SHADOW, self) + if (PlayConditions.canPlayCardDuringPhase(game, Phase.SHADOW, self) && checkPlayRequirements(playerId, game, self, 0)) { return Collections.singletonList(getPlayCardAction(playerId, game, self, 0)); } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_139.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_139.java index 518147df2..9a7ae943d 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_139.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_139.java @@ -1,6 +1,7 @@ package com.gempukku.lotro.cards.set1.isengard; 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.AddUntilEndOfPhaseModifierEffect; import com.gempukku.lotro.cards.effects.AddUntilStartOfPhaseModifierEffect; @@ -38,7 +39,7 @@ public class Card1_139 extends AbstractEvent { @Override public boolean checkPlayRequirements(String playerId, LotroGame game, PhysicalCard self, int twilightModifier) { - return true; + return PlayConditions.canPayForShadowCard(game, self, twilightModifier); } @Override diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_140.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_140.java index 4f4651964..7089d8f97 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_140.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_140.java @@ -46,7 +46,8 @@ public class Card1_140 extends AbstractLotroCardBlueprint { @Override public boolean checkPlayRequirements(String playerId, LotroGame game, PhysicalCard self, int twilightModifier) { - return Filters.canSpot(game.getGameState(), game.getModifiersQuerying(), Filters.culture(Culture.ISENGARD), Filters.type(CardType.MINION), Filters.canExert()); + return PlayConditions.canPayForShadowCard(game, self, twilightModifier) + && Filters.canSpot(game.getGameState(), game.getModifiersQuerying(), Filters.culture(Culture.ISENGARD), Filters.type(CardType.MINION), Filters.canExert()); } @Override @@ -59,7 +60,7 @@ public class Card1_140 extends AbstractLotroCardBlueprint { @Override public List getPhaseActions(String playerId, LotroGame game, PhysicalCard self) { - if (PlayConditions.canPlayShadowCardDuringPhase(game, Phase.SHADOW, self) + if (PlayConditions.canPlayCardDuringPhase(game, Phase.SHADOW, self) && checkPlayRequirements(playerId, game, self, 0)) { return Collections.singletonList(getPlayCardAction(playerId, game, self, 0)); } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_141.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_141.java index b58ec30f1..61bd9b9ae 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_141.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_141.java @@ -35,7 +35,8 @@ public class Card1_141 extends AbstractLotroCardBlueprint { @Override public boolean checkPlayRequirements(String playerId, LotroGame game, PhysicalCard self, int twilightModifier) { - return Filters.canSpot(game.getGameState(), game.getModifiersQuerying(), Filters.or(Filters.keyword(Keyword.URUK_HAI), Filters.name("Saruman"))); + return PlayConditions.canPayForShadowCard(game, self, twilightModifier) + && Filters.canSpot(game.getGameState(), game.getModifiersQuerying(), Filters.or(Filters.keyword(Keyword.URUK_HAI), Filters.name("Saruman"))); } @Override @@ -45,7 +46,7 @@ public class Card1_141 extends AbstractLotroCardBlueprint { @Override public List getPhaseActions(String playerId, LotroGame game, PhysicalCard self) { - if (PlayConditions.canPlayShadowCardDuringPhase(game, Phase.SHADOW, self) + if (PlayConditions.canPlayCardDuringPhase(game, Phase.SHADOW, self) && checkPlayRequirements(playerId, game, self, 0)) { return Collections.singletonList(getPlayCardAction(playerId, game, self, 0)); } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_142.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_142.java index f4085e66c..4359a902c 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_142.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_142.java @@ -39,7 +39,8 @@ public class Card1_142 extends AbstractLotroCardBlueprint { @Override public boolean checkPlayRequirements(String playerId, LotroGame game, PhysicalCard self, int twilightModifier) { - return Filters.canSpot(game.getGameState(), game.getModifiersQuerying(), Filters.keyword(Keyword.URUK_HAI)); + return PlayConditions.canPayForShadowCard(game, self, twilightModifier) + && Filters.canSpot(game.getGameState(), game.getModifiersQuerying(), Filters.keyword(Keyword.URUK_HAI)); } @Override @@ -49,7 +50,7 @@ public class Card1_142 extends AbstractLotroCardBlueprint { @Override public List getPhaseActions(String playerId, LotroGame game, PhysicalCard self) { - if (PlayConditions.canPlayShadowCardDuringPhase(game, Phase.SHADOW, self) + if (PlayConditions.canPlayCardDuringPhase(game, Phase.SHADOW, self) && checkPlayRequirements(playerId, game, self, 0)) { return Collections.singletonList(getPlayCardAction(playerId, game, self, 0)); } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_144.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_144.java index 7d1869538..cb41ff345 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_144.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_144.java @@ -38,7 +38,7 @@ public class Card1_144 extends AbstractLotroCardBlueprint { @Override public boolean checkPlayRequirements(String playerId, LotroGame game, PhysicalCard self, int twilightModifier) { - return true; + return PlayConditions.canPayForShadowCard(game, self, twilightModifier); } @Override @@ -48,7 +48,7 @@ public class Card1_144 extends AbstractLotroCardBlueprint { @Override public List getPhaseActions(String playerId, LotroGame game, PhysicalCard self) { - if (PlayConditions.canPlayShadowCardDuringPhase(game, Phase.SHADOW, self)) { + if (PlayConditions.canPlayCardDuringPhase(game, Phase.SHADOW, self)) { return Collections.singletonList(getPlayCardAction(playerId, game, self, 0)); } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_157.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_157.java index ea6de44b5..f36436473 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_157.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_157.java @@ -37,7 +37,7 @@ public class Card1_157 extends AbstractLotroCardBlueprint { @Override public boolean checkPlayRequirements(String playerId, LotroGame game, PhysicalCard self, int twilightModifier) { - return true; + return PlayConditions.canPayForShadowCard(game, self, twilightModifier); } @Override @@ -47,7 +47,7 @@ public class Card1_157 extends AbstractLotroCardBlueprint { @Override public List getPhaseActions(String playerId, LotroGame game, PhysicalCard self) { - if (PlayConditions.canPlayShadowCardDuringPhase(game, Phase.SHADOW, self)) { + if (PlayConditions.canPlayCardDuringPhase(game, Phase.SHADOW, self)) { return Collections.singletonList(getPlayCardAction(playerId, game, self, 0)); } return null; diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_159.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_159.java index 47329f4f6..f287acae6 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_159.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_159.java @@ -40,7 +40,8 @@ public class Card1_159 extends AbstractLotroCardBlueprint { @Override public boolean checkPlayRequirements(String playerId, LotroGame game, PhysicalCard self, int twilightModifier) { - return Filters.canSpot(game.getGameState(), game.getModifiersQuerying(), Filters.keyword(Keyword.URUK_HAI)); + return PlayConditions.canPayForShadowCard(game, self, twilightModifier) + && Filters.canSpot(game.getGameState(), game.getModifiersQuerying(), Filters.keyword(Keyword.URUK_HAI)); } @Override @@ -50,7 +51,7 @@ public class Card1_159 extends AbstractLotroCardBlueprint { @Override public List getPhaseActions(String playerId, LotroGame game, PhysicalCard self) { - if (PlayConditions.canPlayShadowCardDuringPhase(game, Phase.SHADOW, self) + if (PlayConditions.canPlayCardDuringPhase(game, Phase.SHADOW, self) && checkPlayRequirements(playerId, game, self, 0)) { return Collections.singletonList(getPlayCardAction(playerId, game, self, 0)); } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_162.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_162.java index 8d5b1dc75..91952e3b8 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_162.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/isengard/Card1_162.java @@ -42,7 +42,8 @@ public class Card1_162 extends AbstractLotroCardBlueprint { @Override public boolean checkPlayRequirements(String playerId, LotroGame game, PhysicalCard self, int twilightModifier) { - return Filters.canSpot(game.getGameState(), game.getModifiersQuerying(), Filters.keyword(Keyword.URUK_HAI), Filters.canExert()); + return PlayConditions.canPayForShadowCard(game, self, twilightModifier) + && Filters.canSpot(game.getGameState(), game.getModifiersQuerying(), Filters.keyword(Keyword.URUK_HAI), Filters.canExert()); } @Override @@ -55,7 +56,7 @@ public class Card1_162 extends AbstractLotroCardBlueprint { @Override public List getPhaseActions(String playerId, LotroGame game, PhysicalCard self) { - if (PlayConditions.canPlayShadowCardDuringPhase(game, Phase.SHADOW, self) + if (PlayConditions.canPlayCardDuringPhase(game, Phase.SHADOW, self) && checkPlayRequirements(playerId, game, self, 0)) { return Collections.singletonList(getPlayCardAction(playerId, game, self, 0)); } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/moria/Card1_163.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/moria/Card1_163.java index f140d0ecc..ece4ac78e 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/moria/Card1_163.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/moria/Card1_163.java @@ -16,7 +16,7 @@ import com.gempukku.lotro.logic.modifiers.ModifiersQuerying; * Side: Shadow * Culture: Moria * Twilight Cost: 4 - * Type: Minion • Orc + * Type: Minion o Orc * Strength: 9 * Vitality: 2 * Site: 4 diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/shire/Card1_300.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/shire/Card1_300.java index 08ad4df86..2b4bf5392 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/shire/Card1_300.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/shire/Card1_300.java @@ -48,7 +48,7 @@ public class Card1_300 extends AbstractLotroCardBlueprint { @Override public List getPhaseActions(String playerId, LotroGame game, PhysicalCard self) { - if (PlayConditions.canPlayFPCardDuringPhase(game, Phase.FELLOWSHIP, self)) { + if (PlayConditions.canPlayCardDuringPhase(game, Phase.FELLOWSHIP, self)) { return Collections.singletonList(getPlayCardAction(playerId, game, self, 0)); } return null; diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/shire/Card1_305.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/shire/Card1_305.java index b0576a5d5..b714b09ff 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/shire/Card1_305.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/shire/Card1_305.java @@ -46,7 +46,7 @@ public class Card1_305 extends AbstractLotroCardBlueprint { @Override public List getPhaseActions(String playerId, LotroGame game, PhysicalCard self) { - if (PlayConditions.canPlayFPCardDuringPhase(game, Phase.FELLOWSHIP, self)) { + if (PlayConditions.canPlayCardDuringPhase(game, Phase.FELLOWSHIP, self)) { return Collections.singletonList(getPlayCardAction(playerId, game, self, 0)); } return null; diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/shire/Card1_316.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/shire/Card1_316.java index f256f4095..3670ca0f7 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/shire/Card1_316.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/shire/Card1_316.java @@ -54,7 +54,7 @@ public class Card1_316 extends AbstractLotroCardBlueprint { @Override public List getPhaseActions(String playerId, LotroGame game, PhysicalCard self) { - if (PlayConditions.canPlayFPCardDuringPhase(game, Phase.FELLOWSHIP, self) + if (PlayConditions.canPlayCardDuringPhase(game, Phase.FELLOWSHIP, self) && checkPlayRequirements(playerId, game, self, 0)) { return Collections.singletonList(getPlayCardAction(playerId, game, self, 0)); } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/shire/Card1_318.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/shire/Card1_318.java index ea957b044..e679a922a 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/shire/Card1_318.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/shire/Card1_318.java @@ -48,7 +48,7 @@ public class Card1_318 extends AbstractLotroCardBlueprint { @Override public List getPhaseActions(String playerId, LotroGame game, PhysicalCard self) { - if (PlayConditions.canPlayFPCardDuringPhase(game, Phase.FELLOWSHIP, self) + if (PlayConditions.canPlayCardDuringPhase(game, Phase.FELLOWSHIP, self) && checkPlayRequirements(playerId, game, self, 0)) { return Collections.singletonList(getPlayCardAction(playerId, game, self, 0)); }