diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/rohan/Card5_079.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/rohan/Card5_079.java deleted file mode 100644 index b05566076..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/rohan/Card5_079.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.gempukku.lotro.cards.set5.rohan; - -import com.gempukku.lotro.common.*; -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.cardtype.AbstractPermanent; -import com.gempukku.lotro.logic.effects.ChoiceEffect; -import com.gempukku.lotro.logic.effects.SelfDiscardEffect; -import com.gempukku.lotro.logic.effects.choose.ChooseAndPutCardFromDiscardIntoHandEffect; -import com.gempukku.lotro.logic.effects.choose.ChooseAndRemoveCultureTokensFromCardEffect; -import com.gempukku.lotro.logic.timing.Effect; -import com.gempukku.lotro.logic.timing.PlayConditions; - -import java.util.Collections; -import java.util.LinkedList; -import java.util.List; - -/** - * Set: Battle of Helm's Deep - * Side: Free - * Culture: Rohan - * Twilight Cost: 1 - * Type: Condition - * Game Text: Fortification. Plays to your support area. Maneuver: Spot 2 [ROHAN] Men to remove 2 tokens from a machine - * or to take a [ROHAN] possession into hand from your discard pile. Discard this condition. - */ -public class Card5_079 extends AbstractPermanent { - public Card5_079() { - super(Side.FREE_PEOPLE, 1, CardType.CONDITION, Culture.ROHAN, "Armory", null, true); - addKeyword(Keyword.FORTIFICATION); - } - - @Override - public List getPhaseActionsInPlay(String playerId, LotroGame game, PhysicalCard self) { - if (PlayConditions.canUseFPCardDuringPhase(game, Phase.MANEUVER, self) - && PlayConditions.canSpot(game, 2, Culture.ROHAN, Race.MAN)) { - ActivateCardAction action = new ActivateCardAction(self); - List possibleEffects = new LinkedList<>(); - possibleEffects.add( - new ChooseAndRemoveCultureTokensFromCardEffect(self, playerId, null, 2, Keyword.MACHINE) { - @Override - public String getText(LotroGame game) { - return "Remove 2 tokens from a machine"; - } - }); - possibleEffects.add( - new ChooseAndPutCardFromDiscardIntoHandEffect(action, playerId, 1, 1, Culture.ROHAN, CardType.POSSESSION) { - @Override - public String getText(LotroGame game) { - return "Take a ROHAN possession into hand from your discard pile"; - } - }); - action.appendEffect( - new ChoiceEffect(action, playerId, possibleEffects)); - action.appendEffect( - new SelfDiscardEffect(self)); - return Collections.singletonList(action); - } - return null; - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/rohan/Card5_080.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/rohan/Card5_080.java deleted file mode 100644 index 89b3e271a..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/rohan/Card5_080.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.gempukku.lotro.cards.set5.rohan; - -import com.gempukku.lotro.common.*; -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.cardtype.AbstractPermanent; -import com.gempukku.lotro.logic.effects.SelfDiscardEffect; -import com.gempukku.lotro.logic.effects.choose.ChooseAndDiscardCardsFromPlayEffect; -import com.gempukku.lotro.logic.timing.PlayConditions; - -import java.util.Collections; -import java.util.List; - -/** - * Set: Battle of Helm's Deep - * Side: Free - * Culture: Rohan - * Twilight Cost: 1 - * Type: Condition - * Game Text: Fortification. Plays to your support area. Maneuver: Spot 2 [ROHAN] Men to discard a possession or - * a machine. Discard this condition. - */ -public class Card5_080 extends AbstractPermanent { - public Card5_080() { - super(Side.FREE_PEOPLE, 1, CardType.CONDITION, Culture.ROHAN, "Arrow-slits", null, true); - addKeyword(Keyword.FORTIFICATION); - } - - @Override - public List getPhaseActionsInPlay(String playerId, LotroGame game, PhysicalCard self) { - if (PlayConditions.canUseFPCardDuringPhase(game, Phase.MANEUVER, self) - && PlayConditions.canSpot(game, 2, Culture.ROHAN, Race.MAN)) { - ActivateCardAction action = new ActivateCardAction(self); - action.appendEffect( - new ChooseAndDiscardCardsFromPlayEffect(action, playerId, 1, 1, Filters.or(CardType.POSSESSION, Keyword.MACHINE))); - action.appendEffect( - new SelfDiscardEffect(self)); - return Collections.singletonList(action); - } - return null; - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/rohan/Card5_081.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/rohan/Card5_081.java deleted file mode 100644 index 40bb5919b..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/rohan/Card5_081.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.gempukku.lotro.cards.set5.rohan; - -import com.gempukku.lotro.common.*; -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.cardtype.AbstractAlly; -import com.gempukku.lotro.logic.effects.SelfExertEffect; -import com.gempukku.lotro.logic.effects.choose.ChooseAndPlayCardFromDiscardEffect; -import com.gempukku.lotro.logic.timing.PlayConditions; - -import java.util.Collections; -import java.util.List; - -/** - * Set: Battle of Helm's Deep - * Side: Free - * Culture: Rohan - * Twilight Cost: 1 - * Type: Ally • Home 4T • Man - * Strength: 4 - * Vitality: 2 - * Site: 4T - * Game Text: Villager. Fellowship: Exert Ecglaf and spot 2 valiant Men to play a [ROHAN] possession from your - * discard pile. - */ -public class Card5_081 extends AbstractAlly { - public Card5_081() { - super(1, SitesBlock.TWO_TOWERS, 4, 4, 2, Race.MAN, Culture.ROHAN, "Ecglaf", "Courageous Farmer", true); - addKeyword(Keyword.VILLAGER); - } - - @Override - public List getPhaseActionsInPlay(String playerId, LotroGame game, PhysicalCard self) { - if (PlayConditions.canUseFPCardDuringPhase(game, Phase.FELLOWSHIP, self) - && PlayConditions.canSelfExert(self, game) - && PlayConditions.canSpot(game, 2, Keyword.VALIANT, Race.MAN) - && PlayConditions.canPlayFromDiscard(playerId, game, Culture.ROHAN, CardType.POSSESSION)) { - ActivateCardAction action = new ActivateCardAction(self); - action.appendCost( - new SelfExertEffect(action, self)); - action.appendEffect( - new ChooseAndPlayCardFromDiscardEffect(playerId, game, Culture.ROHAN, CardType.POSSESSION)); - return Collections.singletonList(action); - } - return null; - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/rohan/Card5_082.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/rohan/Card5_082.java deleted file mode 100644 index e5791f788..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/rohan/Card5_082.java +++ /dev/null @@ -1,69 +0,0 @@ -package com.gempukku.lotro.cards.set5.rohan; - -import com.gempukku.lotro.common.*; -import com.gempukku.lotro.filters.Filters; -import com.gempukku.lotro.game.PhysicalCard; -import com.gempukku.lotro.game.state.LotroGame; -import com.gempukku.lotro.logic.PlayUtils; -import com.gempukku.lotro.logic.actions.ActivateCardAction; -import com.gempukku.lotro.logic.cardtype.AbstractCompanion; -import com.gempukku.lotro.logic.effects.AddUntilEndOfPhaseModifierEffect; -import com.gempukku.lotro.logic.effects.ChooseArbitraryCardsEffect; -import com.gempukku.lotro.logic.modifiers.KeywordModifier; -import com.gempukku.lotro.logic.modifiers.StrengthModifier; -import com.gempukku.lotro.logic.timing.ExtraFilters; -import com.gempukku.lotro.logic.timing.PlayConditions; - -import java.util.Collection; -import java.util.Collections; -import java.util.List; - -/** - * Set: Battle of Helm's Deep - * Side: Free - * Culture: Rohan - * Twilight Cost: 2 - * Type: Companion • Man - * Strength: 6 - * Vitality: 3 - * Resistance: 6 - * Game Text: Valiant. To play spot a [ROHAN] Man. Skirmish: Play a [ROHAN] possession on Gamling to make him - * strength +2 and damage +1. - */ -public class Card5_082 extends AbstractCompanion { - public Card5_082() { - super(2, 6, 3, 6, Culture.ROHAN, Race.MAN, null, "Gamling", "Warrior of Rohan", true); - addKeyword(Keyword.VALIANT); - } - - @Override - public boolean checkPlayRequirements(LotroGame game, PhysicalCard self) { - return PlayConditions.canSpot(game, Culture.ROHAN, Race.MAN); - } - - @Override - public List getPhaseActionsInPlay(final String playerId, final LotroGame game, final PhysicalCard self) { - if (PlayConditions.canUseFPCardDuringPhase(game, Phase.SKIRMISH, self) - && PlayConditions.canPlayFromHand(playerId, game, Culture.ROHAN, CardType.POSSESSION, ExtraFilters.attachableTo(game, self))) { - ActivateCardAction action = new ActivateCardAction(self); - action.appendCost( - new ChooseArbitraryCardsEffect(playerId, "Choose card to play", game.getGameState().getHand(playerId), Filters.and(Culture.ROHAN, CardType.POSSESSION, ExtraFilters.attachableTo(game, self)), 1, 1) { - @Override - protected void cardsSelected(LotroGame game, Collection selectedCards) { - if (selectedCards.size() > 0) { - PhysicalCard selectedCard = selectedCards.iterator().next(); - game.getActionsEnvironment().addActionToStack(PlayUtils.getPlayCardAction(game, selectedCard, 0, self, false)); - } - } - }); - action.appendEffect( - new AddUntilEndOfPhaseModifierEffect( - new StrengthModifier(self, self, 2))); - action.appendEffect( - new AddUntilEndOfPhaseModifierEffect( - new KeywordModifier(self, self, Keyword.DAMAGE))); - return Collections.singletonList(action); - } - return null; - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/rohan/Card5_083.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/rohan/Card5_083.java deleted file mode 100644 index 9acde047b..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/rohan/Card5_083.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.gempukku.lotro.cards.set5.rohan; - -import com.gempukku.lotro.logic.cardtype.AbstractCompanion; -import com.gempukku.lotro.common.Culture; -import com.gempukku.lotro.common.Keyword; -import com.gempukku.lotro.common.Race; - -/** - * Set: Battle of Helm's Deep - * Side: Free - * Culture: Rohan - * Twilight Cost: 2 - * Type: Companion • Man - * Strength: 6 - * Vitality: 3 - * Resistance: 6 - * Game Text: Valiant. - */ -public class Card5_083 extends AbstractCompanion { - public Card5_083() { - super(2, 6, 3, 6, Culture.ROHAN, Race.MAN, null, "Household Guard"); - addKeyword(Keyword.VALIANT); - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/rohan/Card5_084.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/rohan/Card5_084.java deleted file mode 100644 index beb3c9dbe..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/rohan/Card5_084.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.gempukku.lotro.cards.set5.rohan; - -import com.gempukku.lotro.common.*; -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.PlayEventAction; -import com.gempukku.lotro.logic.cardtype.AbstractEvent; -import com.gempukku.lotro.logic.effects.HealCharactersEffect; -import com.gempukku.lotro.logic.effects.choose.ChooseAndExertCharactersEffect; -import com.gempukku.lotro.logic.timing.PlayConditions; - -/** - * Set: Battle of Helm's Deep - * Side: Free - * Culture: Rohan - * Twilight Cost: 3 - * Type: Event - * Game Text: Fellowship: Exert Theoden twice to heal every other companion with the Theoden signet twice. - */ -public class Card5_084 extends AbstractEvent { - public Card5_084() { - super(Side.FREE_PEOPLE, 3, Culture.ROHAN, "I Am Here", Phase.FELLOWSHIP); - } - - @Override - public boolean checkPlayRequirements(LotroGame game, PhysicalCard self) { - return PlayConditions.canExert(self, game, 2, Filters.name(Names.theoden)); - } - - @Override - public PlayEventAction getPlayEventCardAction(String playerId, LotroGame game, PhysicalCard self) { - PlayEventAction action = new PlayEventAction(self); - action.appendCost( - new ChooseAndExertCharactersEffect(action, playerId, 1, 1, 2, Filters.name(Names.theoden))); - action.appendEffect( - new HealCharactersEffect(self, self.getOwner(), Filters.and(CardType.COMPANION, Filters.not(Filters.name(Names.theoden)), Signet.THEODEN))); - action.appendEffect( - new HealCharactersEffect(self, self.getOwner(), Filters.and(CardType.COMPANION, Filters.not(Filters.name(Names.theoden)), Signet.THEODEN))); - return action; - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/rohan/Card5_085.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/rohan/Card5_085.java deleted file mode 100644 index d1cba26d4..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/rohan/Card5_085.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.gempukku.lotro.cards.set5.rohan; - -import com.gempukku.lotro.common.*; -import com.gempukku.lotro.game.PhysicalCard; -import com.gempukku.lotro.game.state.LotroGame; -import com.gempukku.lotro.logic.actions.PlayEventAction; -import com.gempukku.lotro.logic.cardtype.AbstractEvent; -import com.gempukku.lotro.logic.effects.LiberateASiteEffect; -import com.gempukku.lotro.logic.effects.choose.ChooseAndDiscardCardsFromPlayEffect; -import com.gempukku.lotro.logic.timing.PlayConditions; - -/** - * Set: Battle of Helm's Deep - * Side: Free - * Culture: Rohan - * Twilight Cost: 1 - * Type: Event - * Game Text: Regroup: Spot 3 valiant Men to discard up to 2 conditions and liberate a site. - */ -public class Card5_085 extends AbstractEvent { - public Card5_085() { - super(Side.FREE_PEOPLE, 1, Culture.ROHAN, "Let Us Be Swift", Phase.REGROUP); - } - - @Override - public boolean checkPlayRequirements(LotroGame game, PhysicalCard self) { - return PlayConditions.canSpot(game, 3, Race.MAN, Keyword.VALIANT); - } - - @Override - public PlayEventAction getPlayEventCardAction(String playerId, LotroGame game, PhysicalCard self) { - PlayEventAction action = new PlayEventAction(self); - action.appendEffect( - new ChooseAndDiscardCardsFromPlayEffect(action, playerId, 0, 2, CardType.CONDITION)); - action.appendEffect( - new LiberateASiteEffect(self, playerId, null)); - return action; - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/rohan/Card5_086.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/rohan/Card5_086.java deleted file mode 100644 index c9112d89f..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/rohan/Card5_086.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.gempukku.lotro.cards.set5.rohan; - -import com.gempukku.lotro.common.*; -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.PlayEventAction; -import com.gempukku.lotro.logic.cardtype.AbstractEvent; -import com.gempukku.lotro.logic.effects.AddUntilStartOfPhaseModifierEffect; -import com.gempukku.lotro.logic.effects.ChooseActiveCardEffect; -import com.gempukku.lotro.logic.modifiers.KeywordModifier; -import com.gempukku.lotro.logic.timing.PlayConditions; - -/** - * Set: Battle of Helm's Deep - * Side: Free - * Culture: Rohan - * Twilight Cost: 1 - * Type: Event - * Game Text: Maneuver: Spot 3 valiant Men to make one of those Men defender +1 until the regroup phase. - */ -public class Card5_086 extends AbstractEvent { - public Card5_086() { - super(Side.FREE_PEOPLE, 1, Culture.ROHAN, "No Rest for the Weary", Phase.MANEUVER); - } - - @Override - public boolean checkPlayRequirements(LotroGame game, PhysicalCard self) { - return PlayConditions.canSpot(game, 3, Race.MAN, Keyword.VALIANT); - } - - @Override - public PlayEventAction getPlayEventCardAction(String playerId, LotroGame game, final PhysicalCard self) { - final PlayEventAction action = new PlayEventAction(self); - action.appendEffect( - new ChooseActiveCardEffect(self, playerId, "Choose Valiant Man", Race.MAN, Keyword.VALIANT) { - @Override - protected void cardSelected(LotroGame game, PhysicalCard card) { - action.insertEffect( - new AddUntilStartOfPhaseModifierEffect( - new KeywordModifier(self, Filters.sameCard(card), Keyword.DEFENDER, 1), Phase.REGROUP)); - } - }); - return action; - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/rohan/Card5_087.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/rohan/Card5_087.java deleted file mode 100644 index 1128c2e62..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/rohan/Card5_087.java +++ /dev/null @@ -1,64 +0,0 @@ -package com.gempukku.lotro.cards.set5.rohan; - -import com.gempukku.lotro.common.*; -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.cardtype.AbstractPermanent; -import com.gempukku.lotro.logic.effects.AddUntilEndOfPhaseModifierEffect; -import com.gempukku.lotro.logic.effects.ChoiceEffect; -import com.gempukku.lotro.logic.effects.SelfDiscardEffect; -import com.gempukku.lotro.logic.effects.choose.ChooseAndRemoveCultureTokensFromCardEffect; -import com.gempukku.lotro.logic.modifiers.ArcheryTotalModifier; -import com.gempukku.lotro.logic.timing.Effect; -import com.gempukku.lotro.logic.timing.PlayConditions; - -import java.util.Collections; -import java.util.LinkedList; -import java.util.List; - -/** - * Set: Battle of Helm's Deep - * Side: Free - * Culture: Rohan - * Twilight Cost: 1 - * Type: Condition - * Game Text: Fortification. Plays to your support area. Archery: Spot 2 [ROHAN] Men to remove 2 tokens from a machine - * or to make the minion archery total -3. Discard this condition. - */ -public class Card5_087 extends AbstractPermanent { - public Card5_087() { - super(Side.FREE_PEOPLE, 1, CardType.CONDITION, Culture.ROHAN, "Parapet", null, true); - addKeyword(Keyword.FORTIFICATION); - } - - @Override - public List getPhaseActionsInPlay(String playerId, LotroGame game, PhysicalCard self) { - if (PlayConditions.canUseFPCardDuringPhase(game, Phase.ARCHERY, self) - && PlayConditions.canSpot(game, 2, Culture.ROHAN, Race.MAN)) { - ActivateCardAction action = new ActivateCardAction(self); - List possibleEffects = new LinkedList<>(); - possibleEffects.add( - new ChooseAndRemoveCultureTokensFromCardEffect(self, playerId, null, 2, Keyword.MACHINE) { - @Override - public String getText(LotroGame game) { - return "Remove 2 tokens from a machine"; - } - }); - possibleEffects.add( - new AddUntilEndOfPhaseModifierEffect( - new ArcheryTotalModifier(self, Side.SHADOW, -3)) { - @Override - public String getText(LotroGame game) { - return "Make the minion archery total -3"; - } - }); - action.appendEffect( - new ChoiceEffect(action, playerId, possibleEffects)); - action.appendEffect( - new SelfDiscardEffect(self)); - return Collections.singletonList(action); - } - return null; - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/rohan/Card5_088.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/rohan/Card5_088.java deleted file mode 100644 index 1c8f11da8..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/rohan/Card5_088.java +++ /dev/null @@ -1,51 +0,0 @@ -package com.gempukku.lotro.cards.set5.rohan; - -import com.gempukku.lotro.common.*; -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.cardtype.AbstractAttachableFPPossession; -import com.gempukku.lotro.logic.effects.ChooseAndWoundCharactersEffect; -import com.gempukku.lotro.logic.effects.ExertCharactersEffect; -import com.gempukku.lotro.logic.effects.SelfDiscardEffect; -import com.gempukku.lotro.logic.timing.PlayConditions; - -import java.util.Collections; -import java.util.List; - -/** - * Set: Battle of Helm's Deep - * Side: Free - * Culture: Rohan - * Twilight Cost: 1 - * Type: Possession • Ranged Weapon - * Strength: +1 - * Game Text: Bearer must be a [ROHAN] Man. Archery: Exert bearer and discard this possession to wound a minion. - */ -public class Card5_088 extends AbstractAttachableFPPossession { - public Card5_088() { - super(1, 1, 0, Culture.ROHAN, PossessionClass.RANGED_WEAPON, "Rohirrim Bow"); - } - - @Override - public Filterable getValidTargetFilter(String playerId, LotroGame game, PhysicalCard self) { - return Filters.and(Culture.ROHAN, Race.MAN); - } - - @Override - public List getPhaseActionsInPlay(String playerId, LotroGame game, PhysicalCard self) { - if (PlayConditions.canUseFPCardDuringPhase(game, Phase.ARCHERY, self) - && PlayConditions.canExert(self, game, self.getAttachedTo())) { - ActivateCardAction action = new ActivateCardAction(self); - action.appendCost( - new ExertCharactersEffect(action, self, self.getAttachedTo())); - action.appendCost( - new SelfDiscardEffect(self)); - action.appendEffect( - new ChooseAndWoundCharactersEffect(action, playerId, 1, 1, CardType.MINION)); - return Collections.singletonList(action); - } - return null; - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/rohan/Card5_089.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/rohan/Card5_089.java deleted file mode 100644 index ab160834d..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/rohan/Card5_089.java +++ /dev/null @@ -1,67 +0,0 @@ -package com.gempukku.lotro.cards.set5.rohan; - -import com.gempukku.lotro.common.*; -import com.gempukku.lotro.filters.Filters; -import com.gempukku.lotro.game.PhysicalCard; -import com.gempukku.lotro.game.state.LotroGame; -import com.gempukku.lotro.logic.GameUtils; -import com.gempukku.lotro.logic.actions.ActivateCardAction; -import com.gempukku.lotro.logic.actions.CostToEffectAction; -import com.gempukku.lotro.logic.cardtype.AbstractAttachableFPPossession; -import com.gempukku.lotro.logic.effects.CancelSkirmishEffect; -import com.gempukku.lotro.logic.effects.PreventableEffect; -import com.gempukku.lotro.logic.effects.SelfDiscardEffect; -import com.gempukku.lotro.logic.effects.choose.ChooseAndExertCharactersEffect; -import com.gempukku.lotro.logic.timing.Effect; -import com.gempukku.lotro.logic.timing.PlayConditions; - -import java.util.Collections; -import java.util.List; - -/** - * Set: Battle of Helm's Deep - * Side: Free - * Culture: Rohan - * Twilight Cost: 1 - * Type: Possession • Helm - * Game Text: Bearer must be [ROHAN] Man. Skirmish: Discard this possession to cancel a skirmish involving bearer. - * A minion in this skirmish may exert to prevent this. - */ -public class Card5_089 extends AbstractAttachableFPPossession { - public Card5_089() { - super(1, 0, 0, Culture.ROHAN, PossessionClass.HELM, "Rohirrim Helm"); - } - - @Override - public Filterable getValidTargetFilter(String playerId, LotroGame game, PhysicalCard self) { - return Filters.and(Culture.ROHAN, Race.MAN); - } - - @Override - public List getPhaseActionsInPlay(String playerId, LotroGame game, PhysicalCard self) { - if (PlayConditions.canUseFPCardDuringPhase(game, Phase.SKIRMISH, self) - && PlayConditions.canSelfDiscard(self, game)) { - ActivateCardAction action = new ActivateCardAction(self); - action.appendCost( - new SelfDiscardEffect(self)); - action.appendEffect( - new PreventableEffect(action, - new CancelSkirmishEffect(self.getAttachedTo()), - GameUtils.getShadowPlayers(game), - new PreventableEffect.PreventionCost() { - @Override - public Effect createPreventionCostForPlayer(CostToEffectAction subAction, String playerId) { - return new ChooseAndExertCharactersEffect(subAction, playerId, 1, 1, CardType.MINION, Filters.inSkirmish) { - @Override - public String getText(LotroGame game) { - return "Exert minion in skirmish"; - } - }; - } - } - )); - return Collections.singletonList(action); - } - return null; - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/rohan/Card5_090.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/rohan/Card5_090.java deleted file mode 100644 index 9d95cbcbb..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/rohan/Card5_090.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.gempukku.lotro.cards.set5.rohan; - -import com.gempukku.lotro.common.*; -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.cardtype.AbstractCompanion; -import com.gempukku.lotro.logic.effects.SelfExertEffect; -import com.gempukku.lotro.logic.effects.choose.ChooseAndReturnCardsToHandEffect; -import com.gempukku.lotro.logic.timing.PlayConditions; - -import java.util.Collections; -import java.util.List; - -/** - * Set: Battle of Helm's Deep - * Side: Free - * Culture: Rohan - * Twilight Cost: 2 - * Type: Companion • Man - * Strength: 5 - * Vitality: 3 - * Resistance: 6 - * Game Text: Valiant. Regroup: Exert this companion and spot a [ROHAN] possession to return that possession to hand. - */ -public class Card5_090 extends AbstractCompanion { - public Card5_090() { - super(2, 5, 3, 6, Culture.ROHAN, Race.MAN, null, "Rohirrim Scout"); - addKeyword(Keyword.VALIANT); - } - - @Override - public List getPhaseActionsInPlay(String playerId, LotroGame game, PhysicalCard self) { - if (PlayConditions.canUseFPCardDuringPhase(game, Phase.REGROUP, self) - && PlayConditions.canSelfExert(self, game) - && PlayConditions.canSpot(game, Culture.ROHAN, CardType.POSSESSION)) { - ActivateCardAction action = new ActivateCardAction(self); - action.appendCost( - new SelfExertEffect(action, self)); - action.appendEffect( - new ChooseAndReturnCardsToHandEffect(action, playerId, 1, 1, Culture.ROHAN, CardType.POSSESSION)); - return Collections.singletonList(action); - } - return null; - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/rohan/Card5_091.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/rohan/Card5_091.java deleted file mode 100644 index d6685b890..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/rohan/Card5_091.java +++ /dev/null @@ -1,56 +0,0 @@ -package com.gempukku.lotro.cards.set5.rohan; - -import com.gempukku.lotro.common.*; -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.cardtype.AbstractAttachableFPPossession; -import com.gempukku.lotro.logic.effects.HealCharactersEffect; -import com.gempukku.lotro.logic.effects.SelfDiscardEffect; -import com.gempukku.lotro.logic.modifiers.ArcheryTotalModifier; -import com.gempukku.lotro.logic.modifiers.Modifier; -import com.gempukku.lotro.logic.timing.PlayConditions; - -import java.util.Collections; -import java.util.List; - -/** - * Set: Battle of Helm's Deep - * Side: Free - * Culture: Rohan - * Twilight Cost: 1 - * Type: Possession • Shield - * Game Text: Bearer must be a [ROHAN] Man. The minion archery total is -1. Regroup: Discard this possession - * to heal bearer. - */ -public class Card5_091 extends AbstractAttachableFPPossession { - public Card5_091() { - super(1, 0, 0, Culture.ROHAN, PossessionClass.SHIELD, "Rohirrim Shield"); - } - - @Override - public Filterable getValidTargetFilter(String playerId, LotroGame game, PhysicalCard self) { - return Filters.and(Culture.ROHAN, Race.MAN); - } - - @Override - public List getInPlayModifiers(LotroGame game, PhysicalCard self) { - return Collections.singletonList( - new ArcheryTotalModifier(self, Side.SHADOW, -1)); - } - - @Override - public List getPhaseActionsInPlay(String playerId, LotroGame game, PhysicalCard self) { - if (PlayConditions.canUseFPCardDuringPhase(game, Phase.REGROUP, self) - && PlayConditions.canSelfDiscard(self, game)) { - ActivateCardAction action = new ActivateCardAction(self); - action.appendCost( - new SelfDiscardEffect(self)); - action.appendEffect( - new HealCharactersEffect(self, self.getOwner(), self.getAttachedTo())); - return Collections.singletonList(action); - } - return null; - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/rohan/Card5_092.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/rohan/Card5_092.java deleted file mode 100644 index 36078f401..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/rohan/Card5_092.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.gempukku.lotro.cards.set5.rohan; - -import com.gempukku.lotro.common.*; -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.cardtype.AbstractAlly; -import com.gempukku.lotro.logic.effects.SelfExertEffect; -import com.gempukku.lotro.logic.effects.choose.ChooseAndDiscardCardsFromPlayEffect; -import com.gempukku.lotro.logic.timing.PlayConditions; - -import java.util.Collections; -import java.util.List; - -/** - * Set: Battle of Helm's Deep - * Side: Free - * Culture: Rohan - * Twilight Cost: 1 - * Type: Ally • Home 4T • Man - * Strength: 4 - * Vitality: 2 - * Site: 4T - * Game Text: Villager. Regroup: Exert Sigewulf and spot 5 valiant Men to discard a minion. - */ -public class Card5_092 extends AbstractAlly { - public Card5_092() { - super(1, SitesBlock.TWO_TOWERS, 4, 4, 2, Race.MAN, Culture.ROHAN, "Sigewulf", "Brave Volunteer", true); - addKeyword(Keyword.VILLAGER); - } - - @Override - public List getPhaseActionsInPlay(String playerId, LotroGame game, PhysicalCard self) { - if (PlayConditions.canUseFPCardDuringPhase(game, Phase.REGROUP, self) - && PlayConditions.canSelfExert(self, game) - && PlayConditions.canSpot(game, 5, Race.MAN, Keyword.VALIANT)) { - ActivateCardAction action = new ActivateCardAction(self); - action.appendCost( - new SelfExertEffect(action, self)); - action.appendEffect( - new ChooseAndDiscardCardsFromPlayEffect(action, playerId, 1, 1, CardType.MINION)); - return Collections.singletonList(action); - } - return null; - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/rohan/Card5_093.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/rohan/Card5_093.java deleted file mode 100644 index 4dc41b277..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/rohan/Card5_093.java +++ /dev/null @@ -1,58 +0,0 @@ -package com.gempukku.lotro.cards.set5.rohan; - -import com.gempukku.lotro.common.*; -import com.gempukku.lotro.filters.Filters; -import com.gempukku.lotro.game.PhysicalCard; -import com.gempukku.lotro.game.state.LotroGame; -import com.gempukku.lotro.logic.PlayUtils; -import com.gempukku.lotro.logic.actions.ActivateCardAction; -import com.gempukku.lotro.logic.cardtype.AbstractCompanion; -import com.gempukku.lotro.logic.effects.ChooseAndHealCharactersEffect; -import com.gempukku.lotro.logic.effects.ChooseArbitraryCardsEffect; -import com.gempukku.lotro.logic.timing.ExtraFilters; -import com.gempukku.lotro.logic.timing.PlayConditions; - -import java.util.Collection; -import java.util.Collections; -import java.util.List; - -/** - * Set: Battle of Helm's Deep - * Side: Free - * Culture: Rohan - * Twilight Cost: 2 - * Type: Companion • Man - * Strength: 6 - * Vitality: 2 - * Resistance: 6 - * Signet: Gandalf - * Game Text: Valiant. Maneuver: Play a [ROHAN] possession on Theoden to heal a [ROHAN] ally. - */ -public class Card5_093 extends AbstractCompanion { - public Card5_093() { - super(2, 6, 2, 6, Culture.ROHAN, Race.MAN, Signet.GANDALF, Names.theoden, "King of the Golden Hall", true); - addKeyword(Keyword.VALIANT); - } - - @Override - public List getPhaseActionsInPlay(final String playerId, final LotroGame game, final PhysicalCard self) { - if (PlayConditions.canUseFPCardDuringPhase(game, Phase.MANEUVER, self) - && PlayConditions.canPlayFromHand(playerId, game, Culture.ROHAN, CardType.POSSESSION, ExtraFilters.attachableTo(game, self))) { - ActivateCardAction action = new ActivateCardAction(self); - action.appendCost( - new ChooseArbitraryCardsEffect(playerId, "Choose card to play", game.getGameState().getHand(playerId), Filters.and(Culture.ROHAN, CardType.POSSESSION, ExtraFilters.attachableTo(game, self)), 1, 1) { - @Override - protected void cardsSelected(LotroGame game, Collection selectedCards) { - if (selectedCards.size() > 0) { - PhysicalCard selectedCard = selectedCards.iterator().next(); - game.getActionsEnvironment().addActionToStack(PlayUtils.getPlayCardAction(game, selectedCard, 0, self, false)); - } - } - }); - action.appendEffect( - new ChooseAndHealCharactersEffect(action, playerId, Culture.ROHAN, CardType.ALLY)); - return Collections.singletonList(action); - } - return null; - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/rohan/Card5_094.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/rohan/Card5_094.java deleted file mode 100644 index 24ffbf869..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/rohan/Card5_094.java +++ /dev/null @@ -1,57 +0,0 @@ -package com.gempukku.lotro.cards.set5.rohan; - -import com.gempukku.lotro.common.*; -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.cardtype.AbstractPermanent; -import com.gempukku.lotro.logic.effects.AddUntilEndOfPhaseModifierEffect; -import com.gempukku.lotro.logic.effects.ChooseActiveCardEffect; -import com.gempukku.lotro.logic.effects.HealCharactersEffect; -import com.gempukku.lotro.logic.effects.SelfDiscardEffect; -import com.gempukku.lotro.logic.modifiers.StrengthModifier; -import com.gempukku.lotro.logic.timing.PlayConditions; - -import java.util.Collections; -import java.util.List; - -/** - * Set: Battle of Helm's Deep - * Side: Free - * Culture: Rohan - * Twilight Cost: 1 - * Type: Condition - * Game Text: Plays to your support area. Skirmish: Discard this condition to make a mounted [ROHAN] Man strength +3 - * (and heal that Man if at a plains). - */ -public class Card5_094 extends AbstractPermanent { - public Card5_094() { - super(Side.FREE_PEOPLE, 1, CardType.CONDITION, Culture.ROHAN, "Thundering Host"); - } - - @Override - public List getPhaseActionsInPlay(final String playerId, LotroGame game, final PhysicalCard self) { - if (PlayConditions.canUseFPCardDuringPhase(game, Phase.SKIRMISH, self) - && PlayConditions.canSelfDiscard(self, game)) { - final ActivateCardAction action = new ActivateCardAction(self); - action.appendCost( - new SelfDiscardEffect(self)); - action.appendEffect( - new ChooseActiveCardEffect(self, playerId, "Choose ROHAN Man", Culture.ROHAN, Race.MAN, Filters.mounted) { - @Override - protected void cardSelected(LotroGame game, PhysicalCard card) { - boolean atPlains = game.getModifiersQuerying().hasKeyword(game, game.getGameState().getCurrentSite(), Keyword.PLAINS); - action.insertEffect( - new AddUntilEndOfPhaseModifierEffect( - new StrengthModifier(self, Filters.sameCard(card), 3))); - if (atPlains) - action.appendEffect( - new HealCharactersEffect(self, self.getOwner(), card)); - } - }); - return Collections.singletonList(action); - } - return null; - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/rohan/Card5_122.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/rohan/Card5_122.java deleted file mode 100644 index 0eaabaab4..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/rohan/Card5_122.java +++ /dev/null @@ -1,58 +0,0 @@ -package com.gempukku.lotro.cards.set5.rohan; - -import com.gempukku.lotro.common.*; -import com.gempukku.lotro.filters.Filters; -import com.gempukku.lotro.game.PhysicalCard; -import com.gempukku.lotro.game.state.LotroGame; -import com.gempukku.lotro.logic.PlayUtils; -import com.gempukku.lotro.logic.actions.ActivateCardAction; -import com.gempukku.lotro.logic.cardtype.AbstractCompanion; -import com.gempukku.lotro.logic.effects.ChooseArbitraryCardsEffect; -import com.gempukku.lotro.logic.effects.HealCharactersEffect; -import com.gempukku.lotro.logic.timing.ExtraFilters; -import com.gempukku.lotro.logic.timing.PlayConditions; - -import java.util.Collection; -import java.util.Collections; -import java.util.List; - -/** - * Set: Battle of Helm's Deep - * Side: Free - * Culture: Rohan - * Twilight Cost: 2 - * Type: Companion • Man - * Strength: 6 - * Vitality: 3 - * Resistance: 6 - * Signet: Gandalf - * Game Text: Valiant. Maneuver: Play a [ROHAN] possession on Eowyn to heal her. - */ -public class Card5_122 extends AbstractCompanion { - public Card5_122() { - super(2, 6, 3, 6, Culture.ROHAN, Race.MAN, Signet.GANDALF, Names.eowyn, "Daughter of Éomund", true); - addKeyword(Keyword.VALIANT); - } - - @Override - public List getPhaseActionsInPlay(final String playerId, final LotroGame game, final PhysicalCard self) { - if (PlayConditions.canUseFPCardDuringPhase(game, Phase.MANEUVER, self) - && PlayConditions.canPlayFromHand(playerId, game, Culture.ROHAN, CardType.POSSESSION, ExtraFilters.attachableTo(game, self))) { - ActivateCardAction action = new ActivateCardAction(self); - action.appendCost( - new ChooseArbitraryCardsEffect(playerId, "Choose card to play", game.getGameState().getHand(playerId), Filters.and(Culture.ROHAN, CardType.POSSESSION, ExtraFilters.attachableTo(game, self)), 1, 1) { - @Override - protected void cardsSelected(LotroGame game, Collection selectedCards) { - if (selectedCards.size() > 0) { - PhysicalCard selectedCard = selectedCards.iterator().next(); - game.getActionsEnvironment().addActionToStack(PlayUtils.getPlayCardAction(game, selectedCard, 0, self, false)); - } - } - }); - action.appendEffect( - new HealCharactersEffect(self, self.getOwner(), self)); - return Collections.singletonList(action); - } - return null; - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/resources/card-stubs/set05-Rohan.hjson b/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/official/set05/set05-Rohan.hjson similarity index 59% rename from gemp-lotr/gemp-lotr-cards/src/main/resources/card-stubs/set05-Rohan.hjson rename to gemp-lotr/gemp-lotr-cards/src/main/resources/cards/official/set05/set05-Rohan.hjson index 7d1840825..923dcf375 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/resources/card-stubs/set05-Rohan.hjson +++ b/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/official/set05/set05-Rohan.hjson @@ -25,17 +25,41 @@ Fortification Support Area ] - /*requires: { - - } effects: [ - { - - } - { - - } - ]*/ + { + type: activated + phase: maneuver + requires: { + type: canSpot + filter: culture(rohan),man + count: 2 + } + effect: [ + { + type: choice + texts: [ + Remove 2 tokens from a machine + Take a {rohan} possession into hand from your discard pile + ] + effects: [ + { + type: removeTokens + filter: choose(machine) + count: 2 + } + { + type: putCardsFromDiscardIntoHand + filter: choose(culture(rohan),possession) + } + ] + } + { + type: discard + filter: self + } + ] + } + ] gametext: Fortification. Plays to your support area.
Maneuver: Spot 2 [rohan] Men to remove 2 tokens from a machine or to take a [rohan] possession into hand from your discard pile. Discard this condition. lore: Choose from these ere we go, and may they serve you well!' promotext: "" @@ -72,17 +96,27 @@ Fortification Support Area ] - /*requires: { - - } effects: [ - { - - } - { - - } - ]*/ + { + type: activated + phase: maneuver + requires: { + type: canSpot + filter: culture(rohan),man + count: 2 + } + effect: [ + { + type: discard + filter: choose(or(possession,machine)) + } + { + type: discard + filter: self + } + ] + } + ] gametext: Fortification. Plays to your support area.
Maneuver: Spot 2 [rohan] Men to discard a possession or a machine. Discard this condition. lore: Here and there were clefts in the stone through which men could shoot. promotext: "" @@ -116,22 +150,30 @@ culture: Rohan twilight: 1 type: Ally - allyHome: towers,4 + allyHome: two towers,4 race: Man strength: 4 vitality: 2 keywords: Villager - /*requires: { - - } effects: [ - { - - } - { - - } - ]*/ + { + type: activated + phase: fellowship + cost: { + type: exert + filter: self + } + requires: { + type: canSpot + filter: valiant,man + count: 2 + } + effect: { + type: playCardFromDiscard + filter: choose(culture(rohan),possession) + } + } + ] gametext: Villager.
Fellowship: Exert Ecglaf and spot 2 valiant Men to play a [rohan] possession from your discard pile. lore: Like many of the Rohirrim, Ecglaf no longer had a home awaiting his return. promotext: "" @@ -170,17 +212,37 @@ vitality: 3 resistance: 6 keywords: Valiant - /*requires: { - - } effects: [ - { - - } - { - - } - ]*/ + { + type: toPlay + requires: { + type: canSpot + filter: culture(rohan),man + } + } + { + type: activated + phase: skirmish + cost: { + type: play + filter: choose(culture(rohan),possession) + on: self + } + effect: [ + { + type: modifyStrength + filter: self + amount: 2 + } + { + type: addKeyword + filter: self + keyword: damage + amount: 1 + } + ] + } + ] gametext: Valiant. To play, spot a [rohan] Man.
Skirmish: Play a [rohan] possession on Gamling to make him strength +2 and damage +1. lore: He was one of Théoden's most trusted lieutenants. promotext: "" @@ -218,17 +280,6 @@ vitality: 3 resistance: 6 keywords: Valiant - /*requires: { - - } - effects: [ - { - - } - { - - } - ]*/ gametext: Valiant. lore: The king and the men of his household were in the Hornburg.... promotext: "" @@ -262,20 +313,21 @@ twilight: 3 type: Event keywords: Fellowship - /*requires: { - - } effects: { type: event cost: { - + type: exert + filter: choose(name(Théoden)) + times: 2 }, effect: [ { - + type: heal + filter: all(another,companion,signet(Théoden)) + times: 2 } ] - }*/ + } gametext: Fellowship: Exert Théoden twice to heal every other companion with the Théoden signet twice. lore: The last host of the Eorlingas has ridden forth. It will not return without battle.' promotext: "" @@ -309,20 +361,24 @@ twilight: 1 type: Event keywords: Regroup - /*requires: { - - } effects: { type: event - cost: { - + requires: { + type: canSpot + filter: valiant,man + count: 3 }, effect: [ { - + type: discard + filter: choose(condition) + count: 0-2 + } + { + type: liberateSite } ] - }*/ + } gametext: Regroup: Spot 3 valiant Men to discard up to 2 conditions and liberate a site. lore: Let us drive through such foes as are already between us and the fastness.' promotext: "" @@ -356,20 +412,23 @@ twilight: 1 type: Event keywords: Maneuver - /*requires: { - - } effects: { type: event - cost: { - + requires: { + type: canSpot + filter: valiant,man + count: 3 }, effect: [ { - + type: addKeyword + filter: choose(valiant,man) + keyword: defender + amount: 1 + until: regroup } ] - }*/ + } gametext: Maneuver: Spot 3 valiant Men to make one of those Men defender +1 until the regroup phase. lore: We must draw all our forces now behind the walls.' promotext: "" @@ -406,17 +465,42 @@ Fortification Support Area ] - /*requires: { - - } effects: [ - { - - } - { - - } - ]*/ + { + type: activated + phase: archery + requires: { + type: canSpot + filter: culture(rohan),man + count: 2 + } + effect: [ + { + type: choice + texts: [ + Remove 2 tokens from a machine + Make the minion archery total -3 + ] + effects: [ + { + type: removeTokens + filter: choose(machine) + count: 2 + } + { + type: modifyArcheryTotal + side: shadow + amount: -3 + } + ] + } + { + type: discard + filter: self + } + ] + } + ] gametext: Fortification. Plays to your support area.
Archery: Spot 2 [rohan] Men to remove 2 tokens from a machine or to make the minion archery total -3. Discard this condition. lore: Upon the spur of rock from the cliff stood high walls of ancient stone. promotext: "" @@ -451,18 +535,27 @@ type: Possession strength: 1 itemclass: Ranged weapon - #target: a [rohan] Man - /*requires: { - - } + target: culture(rohan),man effects: [ - { - - } - { - - } - ]*/ + { + type: activated + phase: archery + cost: [ + { + type: exert + filter: bearer + } + { + type: discard + filter: self + } + ] + effect: { + type: wound + filter: choose(minion) + } + } + ] gametext: Bearer must be a [rohan] Man.
Archery: Exert bearer and discard this possession to wound a minion. lore: The Rohirrim have good bowmen after their fashion, but there are too few here, too few.' promotext: "" @@ -496,18 +589,38 @@ twilight: 1 type: Possession itemclass: Helm - #target: a [rohan] Man - /*requires: { - - } + target: culture(rohan),man effects: [ - { - - } - { - - } - ]*/ + { + type: activated + phase: skirmish + cost: [ + { + type: memorizeActive + filter: bearer + memory: bearer + } + { + type: discard + filter: self + } + ] + effect: { + type: preventable + player: shadow + text: Would you like to exert a minion in skirmish to prevent cancelling skirmish involving {bearer}? + cost: { + type: exert + player: shadow + filter: choose(minion,inSkirmish) + } + effect: { + type: cancelSkirmish + filter: memory(bearer) + } + } + } + ] gametext: Bearer must be a [rohan] Man.
Skirmish: Discard this possession to cancel a skirmish involving bearer. A minion in this skirmish may exert to prevent this. lore: The armory of Helm's Deep provided raiment of war for her defenders. promotext: "" @@ -545,17 +658,24 @@ vitality: 3 resistance: 6 keywords: Valiant - /*requires: { - - } effects: [ - { - - } - { - - } - ]*/ + { + type: activated + phase: regroup + requires: { + type: canSpot + filter: culture(rohan),possession,canBeReturnedToHand + } + cost: { + type: exert + filter: self + } + effect: { + type: returnToHand + filter: choose(culture(rohan),possession) + } + } + ] gametext: Valiant.
Regroup: Exert this companion and spot a [rohan] possession to return that possession to hand. lore: ...scouts rode out far ahead, passing like shadows in the folds of the land. promotext: "" @@ -589,18 +709,36 @@ twilight: 1 type: Possession itemclass: Shield - #target: a [rohan] Man - /*requires: { - - } + target: culture(rohan),man effects: [ - { - - } - { - - } - ]*/ + { + type: modifier + modifier: { + type: modifyArcheryTotal + side: shadow + amount: -1 + } + } + { + type: activated + phase: regroup + cost: [ + { + type: memorizeActive + filter: bearer + memory: bearer + } + { + type: discard + filter: self + } + ] + effect: { + type: heal + filter: memory(bearer) + } + } + ] gametext: Bearer must be a [rohan] Man.
The minion archery total is -1.
Regroup: Discard this possession to heal bearer. lore: The Rohirrim carried round wooden shields, usable on foot and on horseback. promotext: "" @@ -634,22 +772,30 @@ culture: Rohan twilight: 1 type: Ally - allyHome: towers,4 + allyHome: two towers,4 race: Man strength: 4 vitality: 2 keywords: Villager - /*requires: { - - } effects: [ - { - - } - { - - } - ]*/ + { + type: activated + phase: regroup + cost: { + type: exert + filter: self + } + requires: { + type: canSpot + filter: valiant,man + count: 5 + } + effect: { + type: discard + filter: choose(minion) + } + } + ] gametext: Villager.
Regroup: Exert Sigewulf and spot 5 valiant Men to discard a minion. lore: The courage of Sigewulf and other Rohirrim like him will not be forgotten. promotext: "" @@ -689,17 +835,21 @@ signet: Gandalf resistance: 6 keywords: Valiant - /*requires: { - - } effects: [ - { - - } - { - - } - ]*/ + { + type: activated + phase: maneuver + cost: { + type: play + filter: choose(culture(rohan),possession) + on: self + } + effect: { + type: heal + filter: choose(culture(rohan),ally) + } + } + ] gametext: Valiant.
Maneuver: Play a [rohan] possession on Théoden to heal a [rohan] ally. lore: You thought I remained in Meduseld bent like an old tree under winter snow.... But a west wind has shaken the boughs.' promotext: "" @@ -733,17 +883,35 @@ twilight: 1 type: Condition keywords: Support Area - /*requires: { - - } effects: [ - { - - } - { - - } - ]*/ + { + type: activated + phase: skirmish + cost: { + type: discard + filter: self + } + effect: [ + { + type: modifyStrength + filter: choose(mounted,culture(rohan),man) + amount: 3 + memorize: chosenMan + } + { + type: conditional + requires: { + type: location + filter: plains + } + effect: { + type: heal + filter: memory(chosenMan) + } + } + ] + } + ] gametext: Plays to your support area.
Skirmish: Discard this condition to make a mounted [rohan] Man strength +3 (and heal that Man if at a plains). lore: ...with a rush like the sudden onset of a great wind the last host of Rohan rode thundering into the West. promotext: "" @@ -783,17 +951,21 @@ signet: Gandalf resistance: 6 keywords: Valiant - /*requires: { - - } effects: [ - { - - } - { - - } - ]*/ + { + type: activated + phase: maneuver + cost: { + type: play + filter: choose(culture(rohan),possession) + on: self + } + effect: { + type: heal + filter: self + } + } + ] gametext: Valiant.
Maneuver: Play a [rohan] possession on Éowyn to heal her. lore: Let the heralds announce to the folk that Lady Éowyn will lead them!' promotext: "" @@ -827,18 +999,38 @@ twilight: 1 type: Possession itemclass: Helm - #target: a [rohan] Man - /*requires: { - - } + target: culture(rohan),man effects: [ - { - - } - { - - } - ]*/ + { + type: activated + phase: skirmish + cost: [ + { + type: memorizeActive + filter: bearer + memory: bearer + } + { + type: discard + filter: self + } + ] + effect: { + type: preventable + player: shadow + text: Would you like to exert a minion in skirmish to prevent cancelling skirmish involving {bearer}? + cost: { + type: exert + player: shadow + filter: choose(minion,inSkirmish) + } + effect: { + type: cancelSkirmish + filter: memory(bearer) + } + } + } + ] gametext: Bearer must be a [rohan] Man.
Skirmish: Discard this possession to cancel a skirmish involving bearer. A minion in this skirmish may exert to prevent this. lore: A helm split by an Uruk blade often still saves the rider who wears it. promotext: "" @@ -872,17 +1064,35 @@ twilight: 1 type: Condition keywords: Support Area - /*requires: { - - } effects: [ - { - - } - { - - } - ]*/ + { + type: activated + phase: skirmish + cost: { + type: discard + filter: self + } + effect: [ + { + type: modifyStrength + filter: choose(mounted,culture(rohan),man) + amount: 3 + memorize: chosenMan + } + { + type: conditional + requires: { + type: location + filter: plains + } + effect: { + type: heal + filter: memory(chosenMan) + } + } + ] + } + ] gametext: Plays to your support area.
Skirmish: Discard this condition to make a mounted [rohan] Man strength +3 (and heal that Man if at a plains). lore: The roar of hooves was enough to rout the Uruk-hai without sword or spear. promotext: ""