diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set30/dwarven/Card30_003.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set30/dwarven/Card30_003.java index ec4169918..bc147a960 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set30/dwarven/Card30_003.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set30/dwarven/Card30_003.java @@ -29,7 +29,7 @@ public class Card30_003 extends AbstractEvent { final PlayEventAction action = new PlayEventAction(self); action.appendEffect( new ChooseAndAddUntilEOPStrengthBonusEffect(action, self, playerId, - new CardMatchesEvaluator(3, 4, Filters.hasAttached(CardType.FOLLOWER)), Race.DWARF, Filters.or(CardType.COMPANION, CardType.ALLY))); + new CardMatchesEvaluator(3, 4, Filters.hasAttached(Filters.and(CardType.FOLLOWER, Culture.DWARVEN))), Race.DWARF, Filters.or(CardType.COMPANION, CardType.ALLY))); return action; } -} \ No newline at end of file +} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set30/dwarven/Card30_008.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set30/dwarven/Card30_008.java index 972781207..0eecc4178 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set30/dwarven/Card30_008.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set30/dwarven/Card30_008.java @@ -30,7 +30,7 @@ import java.util.List; */ public class Card30_008 extends AbstractFollower { public Card30_008() { - super(Side.FREE_PEOPLE, 2, 1, 0, 0, Culture.DWARVEN, "Dori", "Really a Decent Fellow", true); + super(Side.FREE_PEOPLE, 1, 1, 0, 0, Culture.DWARVEN, "Dori", "Really a Decent Fellow", true); } @Override @@ -53,4 +53,4 @@ public class Card30_008 extends AbstractFollower { return Collections.singletonList( new OverwhelmedByMultiplierModifier(self, Filters.hasAttached(self), 3)); } -} \ No newline at end of file +} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set30/dwarven/Card30_015.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set30/dwarven/Card30_015.java index d09c5b95b..92596f91e 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set30/dwarven/Card30_015.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set30/dwarven/Card30_015.java @@ -22,7 +22,7 @@ import java.util.List; * Strength: 7 * Vitality: 3 * Resistance: 6 - * Game Text: Skirmish: Exert Nori twice and discard a [DWARVEN] follower to discard a possession + * Game Text: Maneuver: Exert Nori twice and discard a [DWARVEN] follower to discard a possession */ public class Card30_015 extends AbstractCompanion { public Card30_015() { @@ -32,7 +32,7 @@ public class Card30_015 extends AbstractCompanion { @Override protected List getExtraInPlayPhaseActions(String playerId, LotroGame game, PhysicalCard self) { - if (PlayConditions.canUseFPCardDuringPhase(game, Phase.SKIRMISH, self) + if (PlayConditions.canUseFPCardDuringPhase(game, Phase.MANEUVER, self) && PlayConditions.canExert(self, game, 2, self) && PlayConditions.canDiscardFromPlay(self, game, Culture.DWARVEN, CardType.FOLLOWER)) { ActivateCardAction action = new ActivateCardAction(self); @@ -48,4 +48,4 @@ public class Card30_015 extends AbstractCompanion { } return null; } -} \ No newline at end of file +} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set30/shire/Card30_045.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set30/shire/Card30_045.java index cb872d46f..1c634b72a 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set30/shire/Card30_045.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set30/shire/Card30_045.java @@ -6,6 +6,7 @@ import com.gempukku.lotro.cards.TriggerConditions; import com.gempukku.lotro.cards.effects.AddUntilEndOfPhaseModifierEffect; import com.gempukku.lotro.logic.effects.ChooseActiveCardEffect; import com.gempukku.lotro.cards.modifiers.evaluator.CardPhaseLimitEvaluator; +import com.gempukku.lotro.cards.modifiers.evaluator.NegativeEvaluator; import com.gempukku.lotro.common.*; import com.gempukku.lotro.filters.Filters; import com.gempukku.lotro.game.PhysicalCard; @@ -65,11 +66,12 @@ public class Card30_045 extends AbstractCompanion { action.insertEffect( new AddUntilEndOfPhaseModifierEffect( new StrengthModifier(self, Filters.sameCard(card), null, - new CardPhaseLimitEvaluator(game, self, Phase.SKIRMISH, -4, new ConstantEvaluator(-2))))); + new NegativeEvaluator(new CardPhaseLimitEvaluator( + game, self, Phase.SKIRMISH, 4, new ConstantEvaluator(2)))))); } - }); + }); return Collections.singletonList(action); } return null; - } + } } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set31/dwarven/Card31_002.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set31/dwarven/Card31_002.java index dc55aae8a..26093e8e6 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set31/dwarven/Card31_002.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set31/dwarven/Card31_002.java @@ -30,7 +30,7 @@ import java.util.List; */ public class Card31_002 extends AbstractEvent { public Card31_002() { - super(Side.FREE_PEOPLE, 1, Culture.DWARVEN, "Dwarven Song", Phase.REGROUP); + super(Side.FREE_PEOPLE, 3, Culture.DWARVEN, "Dwarven Song", Phase.REGROUP); } @Override @@ -70,4 +70,4 @@ public class Card31_002 extends AbstractEvent { }); return action; } -} \ No newline at end of file +} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set31/dwarven/Card31_004.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set31/dwarven/Card31_004.java index b7fd3ea0d..88b002686 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set31/dwarven/Card31_004.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set31/dwarven/Card31_004.java @@ -34,7 +34,7 @@ import java.util.List; */ public class Card31_004 extends AbstractPermanent { public Card31_004() { - super(Side.FREE_PEOPLE, 1, CardType.POSSESSION, Culture.DWARVEN, Zone.SUPPORT, "Great Barricade", null, true); + super(Side.FREE_PEOPLE, 2, CardType.POSSESSION, Culture.DWARVEN, Zone.SUPPORT, "Great Barricade", null, true); addKeyword(Keyword.FORTIFICATION); } @@ -86,4 +86,4 @@ public class Card31_004 extends AbstractPermanent { } return null; } -} \ No newline at end of file +} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set31/elven/Card31_010.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set31/elven/Card31_010.java index 1445c1624..0c5c67ad5 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set31/elven/Card31_010.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set31/elven/Card31_010.java @@ -42,13 +42,7 @@ public class Card31_010 extends AbstractAlly { action.appendCost( new SelfExertEffect(action, self)); action.appendEffect( - new ChooseOpponentEffect(playerId) { - @Override - protected void opponentChosen(String opponentId) { - action.appendEffect( - new ChooseAndReturnCardsToHandEffect(action, opponentId, 1, 1, Race.ORC, Filters.lessStrengthThan(8))); - } - }); + new ChooseAndReturnCardsToHandEffect(action, playerId, 1, 1, Race.ORC, Filters.lessStrengthThan(8))); return Collections.singletonList(action); } return null; diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set31/elven/Card31_012.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set31/elven/Card31_012.java index 115e3bbcc..b6345c2ab 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set31/elven/Card31_012.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set31/elven/Card31_012.java @@ -8,6 +8,7 @@ import com.gempukku.lotro.cards.effects.DiscardBottomCardFromDeckEffect; import com.gempukku.lotro.cards.effects.choose.ChooseAndDiscardCardsFromPlayEffect; import com.gempukku.lotro.cards.effects.choose.ChooseAndExertCharactersEffect; import com.gempukku.lotro.cards.modifiers.AllyParticipatesInArcheryFireAndSkirmishesModifier; +import com.gempukku.lotro.cards.modifiers.CantTakeArcheryWoundsModifier; import com.gempukku.lotro.common.*; import com.gempukku.lotro.filters.Filters; import com.gempukku.lotro.game.PhysicalCard; @@ -15,8 +16,7 @@ import com.gempukku.lotro.game.state.GameState; import com.gempukku.lotro.game.state.LotroGame; import com.gempukku.lotro.logic.actions.ActivateCardAction; import com.gempukku.lotro.logic.effects.ChooseActiveCardEffect; -import com.gempukku.lotro.logic.modifiers.ModifiersQuerying; -import com.gempukku.lotro.logic.modifiers.StrengthModifier; +import com.gempukku.lotro.logic.modifiers.*; import com.gempukku.lotro.logic.timing.Effect; import com.gempukku.lotro.logic.timing.Action; @@ -35,7 +35,7 @@ import java.util.List; * Vitality: 4 * Site: 5 * Game Text: Maneuver: Exert Thorin twice or discard a [DWARVEN] artifact to allow Thranduil - * to participate in archery fire and skirmishes until the regroup phase. + * to participate in skirmishes until the regroup phase. */ public class Card31_012 extends AbstractAlly { public Card31_012() { @@ -68,8 +68,11 @@ public class Card31_012 extends AbstractAlly { action.appendEffect( new AddUntilStartOfPhaseModifierEffect( new AllyParticipatesInArcheryFireAndSkirmishesModifier(self, self), Phase.REGROUP)); + action.appendEffect( + new AddUntilStartOfPhaseModifierEffect( + new CantTakeArcheryWoundsModifier(self, self), Phase.ASSIGNMENT)); return Collections.singletonList(action); } return null; } -} \ No newline at end of file +} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set31/gandalf/Card31_013.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set31/gandalf/Card31_013.java index 91b820d39..adee5b23d 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set31/gandalf/Card31_013.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set31/gandalf/Card31_013.java @@ -11,8 +11,9 @@ import com.gempukku.lotro.filters.Filters; import com.gempukku.lotro.game.PhysicalCard; import com.gempukku.lotro.game.state.LotroGame; import com.gempukku.lotro.logic.actions.OptionalTriggerAction; -import com.gempukku.lotro.logic.modifiers.CantDiscardFromPlayByPlayerModifier; +import com.gempukku.lotro.logic.modifiers.CantDiscardFromPlayModifier; import com.gempukku.lotro.logic.modifiers.Modifier; +import com.gempukku.lotro.logic.modifiers.SpotCondition; import com.gempukku.lotro.logic.timing.Action; import com.gempukku.lotro.logic.timing.Effect; import com.gempukku.lotro.logic.timing.EffectResult; @@ -37,19 +38,20 @@ public class Card31_013 extends AbstractFollower { super(Side.FREE_PEOPLE, 3, 2, 1, 0, Culture.GANDALF, "Beorn", "Skin-Changer", true); } - @Override - public Race getRace() { - return Race.MAN; - } + @Override + public Race getRace() { + return Race.MAN; + } - @Override + @Override public Modifier getAlwaysOnModifier(LotroGame game, PhysicalCard self) { - return new CantDiscardFromPlayByPlayerModifier(self, "Can't be discarded by opponent", self, self.getOwner()); - } + return new CantDiscardFromPlayModifier(self, "Cannot be discarded from play by Shadow cards", + new SpotCondition(Filters.hasAttached(self)), self, Side.SHADOW); + } @Override protected boolean canPayAidCost(LotroGame game, PhysicalCard self) { - return PlayConditions.canExert(self, game, Filters.gandalf); + return PlayConditions.canExert(self, game, Filters.gandalf); } @Override diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set31/gundabad/Card31_029.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set31/gundabad/Card31_029.java index 64fd96513..2640c0be7 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set31/gundabad/Card31_029.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set31/gundabad/Card31_029.java @@ -7,8 +7,7 @@ import com.gempukku.lotro.cards.effects.AddUntilEndOfPhaseModifierEffect; import com.gempukku.lotro.cards.effects.RemoveTwilightEffect; import com.gempukku.lotro.cards.effects.SelfDiscardEffect; import com.gempukku.lotro.cards.effects.choose.ChooseAndAddUntilEOPStrengthBonusEffect; -import com.gempukku.lotro.cards.modifiers.evaluator.CountSpottableEvaluator; -import com.gempukku.lotro.cards.modifiers.evaluator.MultiplyEvaluator; +import com.gempukku.lotro.cards.modifiers.evaluator.*; import com.gempukku.lotro.common.*; import com.gempukku.lotro.filters.Filters; import com.gempukku.lotro.game.PhysicalCard; @@ -58,7 +57,8 @@ public class Card31_029 extends AbstractPermanent { action.appendCost(new RemoveTwilightEffect(3)); action.appendEffect( new ChooseAndAddUntilEOPStrengthBonusEffect(action, self, playerId, - new MultiplyEvaluator(-1, new CountSpottableEvaluator(3, CardType.ALLY, Culture.ELVEN)), Culture.DWARVEN, Filters.character)); + new NegativeEvaluator(new CardPhaseLimitEvaluator(game, self, Phase.SKIRMISH, 3, + new CountActiveEvaluator(CardType.ALLY, Culture.ELVEN))), Filters.and(Culture.DWARVEN, Filters.character))); return Collections.singletonList(action); } return null;