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 d6bfca940..86b9855d5 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 @@ -103,6 +103,10 @@ public class PlayConditions { return canExert(self, game, Filters.sameCard(self)); } + public static boolean canSelfExert(PhysicalCard self, int times, LotroGame game) { + return canExert(self, game, times, Filters.sameCard(self)); + } + public static boolean canExert(PhysicalCard source, LotroGame game, Filterable... filters) { return canExert(source, game.getGameState(), game.getModifiersQuerying(), filters); } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/rohan/Card5_100.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/rohan/Card5_100.java new file mode 100644 index 000000000..aac941d21 --- /dev/null +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/rohan/Card5_100.java @@ -0,0 +1,67 @@ +package com.gempukku.lotro.cards.set5.rohan; + +import com.gempukku.lotro.cards.AbstractMinion; +import com.gempukku.lotro.cards.PlayConditions; +import com.gempukku.lotro.cards.effects.AddBurdenEffect; +import com.gempukku.lotro.cards.effects.ExertCharactersEffect; +import com.gempukku.lotro.cards.effects.PreventableEffect; +import com.gempukku.lotro.cards.modifiers.MinionSiteNumberModifier; +import com.gempukku.lotro.common.Culture; +import com.gempukku.lotro.common.Keyword; +import com.gempukku.lotro.common.Phase; +import com.gempukku.lotro.common.Race; +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.ActivateCardAction; +import com.gempukku.lotro.logic.effects.DrawCardEffect; +import com.gempukku.lotro.logic.modifiers.Modifier; +import com.gempukku.lotro.logic.timing.Action; + +import java.util.Collections; +import java.util.List; + +/** + * Set: Battle of Helm's Deep + * Side: Shadow + * Culture: Sauron + * Twilight Cost: 4 + * Type: Minion • Orc + * Strength: 11 + * Vitality: 3 + * Site: 6 + * Game Text: Tracker. The site number of each [SAURON] Orc is -3. Shadow: Exert Grishnakh twice and spot another + * [SAURON] Orc to draw 3 cards. The Free Peoples player may add 2 burdens to prevent this. + */ +public class Card5_100 extends AbstractMinion { + public Card5_100() { + super(4, 11, 3, 6, Race.ORC, Culture.SAURON, "Grishnakh", true); + addKeyword(Keyword.TRACKER); + } + + @Override + public List getAlwaysOnModifiers(LotroGame game, PhysicalCard self) { + return Collections.singletonList( + new MinionSiteNumberModifier(self, Filters.and(Culture.SAURON, Race.ORC), null, -3)); + } + + @Override + protected List getExtraPhaseActions(String playerId, LotroGame game, PhysicalCard self) { + if (PlayConditions.canUseShadowCardDuringPhase(game.getGameState(), Phase.SHADOW, self, 0) + && PlayConditions.canSelfExert(self, 2, game) + && PlayConditions.canSpot(game, Culture.SAURON, Race.ORC, Filters.not(self))) { + ActivateCardAction action = new ActivateCardAction(self); + action.appendCost( + new ExertCharactersEffect(self, self)); + action.appendCost( + new ExertCharactersEffect(self, self)); + action.appendEffect( + new PreventableEffect(action, + new DrawCardEffect(playerId, 3), + game.getGameState().getCurrentPlayerId(), + new AddBurdenEffect(self, 2))); + return Collections.singletonList(action); + } + return null; + } +}