diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set12/site/Card12_185.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set12/site/Card12_185.java deleted file mode 100644 index 7508aec1f..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set12/site/Card12_185.java +++ /dev/null @@ -1,67 +0,0 @@ -package com.gempukku.lotro.cards.set12.site; - -import com.gempukku.lotro.common.CardType; -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.cardtype.AbstractShadowsSite; -import com.gempukku.lotro.logic.effects.ChoiceEffect; -import com.gempukku.lotro.logic.effects.ChooseAndDiscardCardsFromHandEffect; -import com.gempukku.lotro.logic.effects.DrawCardsEffect; -import com.gempukku.lotro.logic.effects.choose.ChooseAndPlayCardFromHandEffect; -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: Black Rider - * Twilight Cost: 0 - * Type: Site - * Game Text: Forest. Shadow: Play a Nazgul (or spot 6 companions and discard 2 cards from hand) to draw a card. - */ -public class Card12_185 extends AbstractShadowsSite { - public Card12_185() { - super("The Angle", 0, Direction.LEFT); - addKeyword(Keyword.FOREST); - } - - @Override - public List getPhaseActionsInPlay(String playerId, LotroGame game, PhysicalCard self) { - if (PlayConditions.canUseSiteDuringPhase(game, Phase.SHADOW, self) - && ( - PlayConditions.canPlayFromHand(playerId, game, Race.NAZGUL) - || (PlayConditions.canSpot(game, 6, CardType.COMPANION) && PlayConditions.canDiscardFromHand(game, playerId, 2, Filters.any)))) { - ActivateCardAction action = new ActivateCardAction(self); - List possibleCosts = new LinkedList<>(); - possibleCosts.add( - new ChooseAndPlayCardFromHandEffect(playerId, game, Race.NAZGUL) { - @Override - public String getText(LotroGame game) { - return "Play a Nazgul"; - } - }); - if (PlayConditions.canSpot(game, 6, CardType.COMPANION)) - possibleCosts.add( - new ChooseAndDiscardCardsFromHandEffect(action, playerId, false, 2) { - @Override - public String getText(LotroGame game) { - return "Discard 2 cards from hand"; - } - }); - - action.appendCost( - new ChoiceEffect(action, playerId, possibleCosts)); - action.appendEffect( - new DrawCardsEffect(action, playerId, 1)); - return Collections.singletonList(action); - } - return null; - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set12/site/Card12_186.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set12/site/Card12_186.java deleted file mode 100644 index 3c876f962..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set12/site/Card12_186.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.gempukku.lotro.cards.set12.site; - -import com.gempukku.lotro.common.Keyword; -import com.gempukku.lotro.filters.Filters; -import com.gempukku.lotro.game.PhysicalCard; -import com.gempukku.lotro.game.state.LotroGame; -import com.gempukku.lotro.logic.cardtype.AbstractShadowsSite; -import com.gempukku.lotro.logic.modifiers.Modifier; -import com.gempukku.lotro.logic.modifiers.TwilightCostModifier; - -import java.util.Collections; -import java.util.List; - -/** - * Set: Black Rider - * Twilight Cost: 0 - * Type: Site - * Game Text: Battleground. Underground. The Balrog is twilight cost -3. - */ -public class Card12_186 extends AbstractShadowsSite { - public Card12_186() { - super("The Bridge of Khazad-dûm", 0, Direction.LEFT); - addKeyword(Keyword.BATTLEGROUND); - addKeyword(Keyword.UNDERGROUND); - } - - @Override - public List getInPlayModifiers(LotroGame game, PhysicalCard self) { -return Collections.singletonList(new TwilightCostModifier(self, Filters.balrog, -3)); -} -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set12/site/Card12_187.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set12/site/Card12_187.java deleted file mode 100644 index d43ed5f75..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set12/site/Card12_187.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.gempukku.lotro.cards.set12.site; - -import com.gempukku.lotro.common.CardType; -import com.gempukku.lotro.common.Keyword; -import com.gempukku.lotro.common.Phase; -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.AbstractShadowsSite; -import com.gempukku.lotro.logic.effects.AddUntilStartOfPhaseModifierEffect; -import com.gempukku.lotro.logic.effects.RemoveTwilightEffect; -import com.gempukku.lotro.logic.effects.choose.ChooseAndExertCharactersEffect; -import com.gempukku.lotro.logic.modifiers.KeywordModifier; -import com.gempukku.lotro.logic.timing.PlayConditions; - -import java.util.Collections; -import java.util.List; - -/** - * Set: Black Rider - * Twilight Cost: 0 - * Type: Site - * Game Text: Mountain. Maneuver: Remove 2 and exert your minion that is not fierce to make that minion fierce until - * the regroup phase. - */ -public class Card12_187 extends AbstractShadowsSite { - public Card12_187() { - super("Emyn Muil", 0, Direction.LEFT); - addKeyword(Keyword.MOUNTAIN); - } - - @Override - public List getPhaseActionsInPlay(String playerId, LotroGame game, final PhysicalCard self) { - if (PlayConditions.canUseSiteDuringPhase(game, Phase.MANEUVER, self) - && game.getGameState().getTwilightPool() >= 2 - && PlayConditions.canExert(self, game, Filters.owner(playerId), CardType.MINION, Filters.not(Keyword.FIERCE))) { - final ActivateCardAction action = new ActivateCardAction(self); - action.appendCost( - new RemoveTwilightEffect(2)); - action.appendCost( - new ChooseAndExertCharactersEffect(action, playerId, 1, 1, Filters.owner(playerId), CardType.MINION, Filters.not(Keyword.FIERCE)) { - @Override - protected void forEachCardExertedCallback(PhysicalCard character) { - action.appendEffect( - new AddUntilStartOfPhaseModifierEffect( - new KeywordModifier(self, character, Keyword.FIERCE), Phase.REGROUP)); - } - }); - return Collections.singletonList(action); - } - return null; - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set12/site/Card12_188.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set12/site/Card12_188.java deleted file mode 100644 index 5ddef9e72..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set12/site/Card12_188.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.gempukku.lotro.cards.set12.site; - -import com.gempukku.lotro.common.CardType; -import com.gempukku.lotro.common.Keyword; -import com.gempukku.lotro.filters.Filters; -import com.gempukku.lotro.game.PhysicalCard; -import com.gempukku.lotro.game.state.LotroGame; -import com.gempukku.lotro.logic.cardtype.AbstractShadowsSite; -import com.gempukku.lotro.logic.modifiers.Modifier; -import com.gempukku.lotro.logic.modifiers.ResistanceModifier; -import com.gempukku.lotro.logic.modifiers.SpotCondition; -import com.gempukku.lotro.logic.modifiers.condition.OrCondition; - -import java.util.Collections; -import java.util.List; - -/** - * Set: Black Rider - * Twilight Cost: 1 - * Type: Site - * Game Text: Battleground. Forest. While you can spot 3 minions (or 6 companions), each unbound companion - * is resistance -2. - */ -public class Card12_188 extends AbstractShadowsSite { - public Card12_188() { - super("Hill of Sight", 1, Direction.RIGHT); - addKeyword(Keyword.BATTLEGROUND); - addKeyword(Keyword.FOREST); - } - - @Override - public List getInPlayModifiers(LotroGame game, PhysicalCard self) { -return Collections.singletonList(new ResistanceModifier(self, Filters.unboundCompanion, new OrCondition(new SpotCondition(3, CardType.MINION), new SpotCondition(6, CardType.COMPANION)), -2)); -} -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set12/site/Card12_189.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set12/site/Card12_189.java deleted file mode 100644 index ca3b5c683..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set12/site/Card12_189.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.gempukku.lotro.cards.set12.site; - -import com.gempukku.lotro.logic.cardtype.AbstractShadowsSite; -import com.gempukku.lotro.logic.timing.TriggerConditions; -import com.gempukku.lotro.common.CardType; -import com.gempukku.lotro.common.Keyword; -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.RequiredTriggerAction; -import com.gempukku.lotro.logic.effects.WoundCharactersEffect; -import com.gempukku.lotro.logic.timing.EffectResult; - -import java.util.Collections; -import java.util.List; - -/** - * Set: Black Rider - * Twilight Cost: 2 - * Type: Site - * Game Text: Dwelling. When the fellowship moves from this site, wound each minion that is not a lurker. - */ -public class Card12_189 extends AbstractShadowsSite { - public Card12_189() { - super("Hobbiton Market", 2, Direction.LEFT); - addKeyword(Keyword.DWELLING); - } - - @Override - public List getRequiredAfterTriggers(LotroGame game, EffectResult effectResult, PhysicalCard self) { - if (TriggerConditions.movesFrom(game, effectResult, self)) { - RequiredTriggerAction action = new RequiredTriggerAction(self); - action.appendEffect( - new WoundCharactersEffect(self, CardType.MINION, Filters.not(Keyword.LURKER))); - return Collections.singletonList(action); - } - return null; - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set12/site/Card12_190.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set12/site/Card12_190.java deleted file mode 100644 index 3324a9dfb..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set12/site/Card12_190.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.gempukku.lotro.cards.set12.site; - -import com.gempukku.lotro.common.CardType; -import com.gempukku.lotro.common.Keyword; -import com.gempukku.lotro.common.Phase; -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.AbstractShadowsSite; -import com.gempukku.lotro.logic.effects.AddUntilStartOfPhaseModifierEffect; -import com.gempukku.lotro.logic.effects.ChooseActiveCardEffect; -import com.gempukku.lotro.logic.modifiers.RemoveKeywordModifier; -import com.gempukku.lotro.logic.timing.PlayConditions; - -import java.util.Collections; -import java.util.List; - -/** - * Set: Black Rider - * Twilight Cost: 1 - * Type: Site - * Game Text: Battleground. Plains. Shadow: Make your lurker minion lose lurker until the regroup phase. - */ -public class Card12_190 extends AbstractShadowsSite { - public Card12_190() { - super("Northern Pelennor", 1, Direction.RIGHT); - addKeyword(Keyword.BATTLEGROUND); - addKeyword(Keyword.PLAINS); - } - - @Override - public List getPhaseActionsInPlay(String playerId, LotroGame game, final PhysicalCard self) { - if (PlayConditions.canUseSiteDuringPhase(game, Phase.SHADOW, self)) { - final ActivateCardAction action = new ActivateCardAction(self); - action.appendEffect( - new ChooseActiveCardEffect(self, playerId, "Choose a lurker minion", Filters.owner(playerId), CardType.MINION, Keyword.LURKER) { - @Override - protected void cardSelected(LotroGame game, PhysicalCard card) { - action.appendEffect( - new AddUntilStartOfPhaseModifierEffect( - new RemoveKeywordModifier(self, card, Keyword.LURKER), Phase.REGROUP)); - } - }); - return Collections.singletonList(action); - } - return null; - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set12/site/Card12_191.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set12/site/Card12_191.java deleted file mode 100644 index 82a5d28ac..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set12/site/Card12_191.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.gempukku.lotro.cards.set12.site; - -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.game.PhysicalCard; -import com.gempukku.lotro.game.state.LotroGame; -import com.gempukku.lotro.logic.actions.ActivateCardAction; -import com.gempukku.lotro.logic.cardtype.AbstractShadowsSite; -import com.gempukku.lotro.logic.effects.AddUntilEndOfTurnModifierEffect; -import com.gempukku.lotro.logic.modifiers.MoveLimitModifier; -import com.gempukku.lotro.logic.timing.PlayConditions; - -import java.util.Collections; -import java.util.List; - -/** - * Set: Black Rider - * Twilight Cost: 1 - * Type: Site - * Game Text: River. Shadow: Spot 5 [ORC] Orcs to prevent the fellowship from moving again this turn. - */ -public class Card12_191 extends AbstractShadowsSite { - public Card12_191() { - super("Shores of Nen Hithoel", 1, Direction.RIGHT); - addKeyword(Keyword.RIVER); - } - - @Override - public List getPhaseActionsInPlay(String playerId, LotroGame game, PhysicalCard self) { - if (PlayConditions.canUseSiteDuringPhase(game, Phase.SHADOW, self) - && PlayConditions.canSpot(game, 5, Culture.ORC, Race.ORC)) { - ActivateCardAction action = new ActivateCardAction(self); - action.appendEffect( - new AddUntilEndOfTurnModifierEffect( - new MoveLimitModifier(self, -1000))); - return Collections.singletonList(action); - } - return null; - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set12/site/Card12_192.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set12/site/Card12_192.java deleted file mode 100644 index bbf3046dc..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set12/site/Card12_192.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.gempukku.lotro.cards.set12.site; - -import com.gempukku.lotro.common.Keyword; -import com.gempukku.lotro.common.Phase; -import com.gempukku.lotro.common.Side; -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.AbstractShadowsSite; -import com.gempukku.lotro.logic.effects.ChooseAndDiscardCardsFromHandEffect; -import com.gempukku.lotro.logic.effects.DrawCardsEffect; -import com.gempukku.lotro.logic.effects.RemoveTwilightEffect; -import com.gempukku.lotro.logic.timing.PlayConditions; - -import java.util.Collections; -import java.util.List; - -/** - * Set: Black Rider - * Twilight Cost: 1 - * Type: Site - * Game Text: Mountain. Shadow: Remove 2 and discard 2 Free Peoples cards from hand to draw a card. - */ -public class Card12_192 extends AbstractShadowsSite { - public Card12_192() { - super("Slopes of Orodruin", 1, Direction.RIGHT); - addKeyword(Keyword.MOUNTAIN); - } - - @Override - public List getPhaseActionsInPlay(String playerId, LotroGame game, PhysicalCard self) { - if (PlayConditions.canUseSiteDuringPhase(game, Phase.SHADOW, self) - && game.getGameState().getTwilightPool() >= 2 - && PlayConditions.canDiscardFromHand(game, playerId, 2, Side.FREE_PEOPLE)) { - ActivateCardAction action = new ActivateCardAction(self); - action.appendCost( - new RemoveTwilightEffect(2)); - action.appendCost( - new ChooseAndDiscardCardsFromHandEffect(action, playerId, false, 2, Side.FREE_PEOPLE)); - action.appendEffect( - new DrawCardsEffect(action, playerId, 1)); - return Collections.singletonList(action); - } - return null; - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set12/site/Card12_193.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set12/site/Card12_193.java deleted file mode 100644 index 636dc1ee4..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set12/site/Card12_193.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.gempukku.lotro.cards.set12.site; - -import com.gempukku.lotro.logic.cardtype.AbstractShadowsSite; -import com.gempukku.lotro.logic.timing.TriggerConditions; -import com.gempukku.lotro.common.Keyword; -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.OptionalTriggerAction; -import com.gempukku.lotro.logic.effects.DrawCardsEffect; -import com.gempukku.lotro.logic.timing.EffectResult; - -import java.util.Collections; -import java.util.List; - -/** - * Set: Black Rider - * Twilight Cost: 3 - * Type: Site - * Game Text: Mountain. Each time your Dwarf wins a skirmish, you may draw a card. - */ -public class Card12_193 extends AbstractShadowsSite { - public Card12_193() { - super("Starkhorn", 3, Direction.RIGHT); - addKeyword(Keyword.MOUNTAIN); - } - - @Override - public List getOptionalAfterTriggers(String playerId, LotroGame game, EffectResult effectResult, PhysicalCard self) { - if (TriggerConditions.winsSkirmish(game, effectResult, Filters.owner(playerId), Race.DWARF)) { - OptionalTriggerAction action = new OptionalTriggerAction(self); - action.appendEffect( - new DrawCardsEffect(action, playerId, 1)); - return Collections.singletonList(action); - } - return null; - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set12/site/Card12_194.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set12/site/Card12_194.java deleted file mode 100644 index 9a8b10a1a..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set12/site/Card12_194.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.gempukku.lotro.cards.set12.site; - -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.cardtype.AbstractShadowsSite; -import com.gempukku.lotro.logic.effects.AddUntilEndOfPhaseModifierEffect; -import com.gempukku.lotro.logic.effects.choose.ChooseAndExertCharactersEffect; -import com.gempukku.lotro.logic.modifiers.KeywordModifier; -import com.gempukku.lotro.logic.timing.PlayConditions; - -import java.util.Collections; -import java.util.List; - -/** - * Set: Black Rider - * Twilight Cost: 2 - * Type: Site - * Game Text: Plains. Skirmish: Exert your Man (except an enduring Man) to make him or her damage +1. - */ -public class Card12_194 extends AbstractShadowsSite { - public Card12_194() { - super("Wold Battlefield", 2, Direction.LEFT); - addKeyword(Keyword.PLAINS); - } - - @Override - public List getPhaseActionsInPlay(String playerId, LotroGame game, final PhysicalCard self) { - if (PlayConditions.canUseSiteDuringPhase(game, Phase.SKIRMISH, self) - && PlayConditions.canExert(self, game, Filters.owner(playerId), Race.MAN, Filters.not(Keyword.ENDURING))) { - final ActivateCardAction action = new ActivateCardAction(self); - action.appendCost( - new ChooseAndExertCharactersEffect(action, playerId, 1, 1, Filters.owner(playerId), Race.MAN, Filters.not(Keyword.ENDURING)) { - @Override - protected void forEachCardExertedCallback(PhysicalCard character) { - action.appendEffect( - new AddUntilEndOfPhaseModifierEffect( - new KeywordModifier(self, character, Keyword.DAMAGE, 1))); - } - }); - return Collections.singletonList(action); - } - return null; - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/resources/card-stubs/set12-Sites.hjson b/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/official/set12/set12-Sites.hjson similarity index 61% rename from gemp-lotr/gemp-lotr-cards/src/main/resources/card-stubs/set12-Sites.hjson rename to gemp-lotr/gemp-lotr-cards/src/main/resources/cards/official/set12/set12-Sites.hjson index 2d626eb6f..9dcb75f4e 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/resources/card-stubs/set12-Sites.hjson +++ b/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/official/set12/set12-Sites.hjson @@ -23,6 +23,36 @@ direction: Left keywords: Forest effects: [ + { + type: activated + text: Play a Nazgul to draw a card + phase: shadow + cost: { + type: play + filter: choose(nazgul) + } + effect: { + type: drawCards + } + } + { + type: activated + text: Discard 2 cards from hand to draw a card + phase: shadow + requires: { + type: canSpot + filter: companion + count: 6 + } + cost: { + type: discardFromHand + forced: false + count: 2 + } + effect: { + type: drawCards + } + } ] gametext: Forest. Shadow: Play a Nazgûl (or spot 6 companions and discard 2 cards from hand) to draw a card. lore: "" @@ -61,6 +91,14 @@ Underground ] effects: [ + { + type: modifier + modifier: { + type: modifyCost + filter: name(The Balrog) + amount: -3 + } + } ] gametext: Battleground. Underground. The Balrog is twilight cost -3. lore: "" @@ -96,6 +134,27 @@ direction: Left keywords: Mountain effects: [ + { + type: activated + phase: maneuver + cost: [ + { + type: removeTwilight + amount: 2 + } + { + type: exert + filter: choose(your,minion,not(fierce)) + memorize: exertedMinion + } + { + type: addKeyword + filter: memory(exertedMinion) + keyword: fierce + until: regroup + } + ] + } ] gametext: Mountain. Maneuver: Remove (2) and exert your minion that is not fierce to make that minion fierce until the regroup phase. lore: "" @@ -134,6 +193,29 @@ Forest ] effects: [ + { + type: modifier + modifier: { + type: modifyResistance + requires: { + type: or + requires: [ + { + type: canSpot + filter: minion + count: 3 + } + { + type: canSpot + filter: companion + count: 6 + } + ] + } + filter: unbound,companion + amount: -2 + } + } ] gametext: Battleground. Forest. While you can spot 3 minions (or 6 companions), each unbound companion is resistance -2. lore: "" @@ -169,6 +251,17 @@ direction: Left keywords: Dwelling effects: [ + { + type: trigger + trigger: { + type: movesFrom + filter: self + } + effect: { + type: wound + filter: all(minion,not(lurker)) + } + } ] gametext: Dwelling. When the fellowship moves from this site, wound each minion that is not a lurker. lore: "" @@ -207,6 +300,16 @@ Plains ] effects: [ + { + type: activated + phase: shadow + effect: { + type: removeKeyword + filter: choose(your,lurker,minion) + keyword: lurker + until: regroup + } + } ] gametext: Battleground. Plains. Shadow: Make your lurker minion lose lurker until the regroup phase. lore: "" @@ -242,6 +345,22 @@ direction: Right keywords: River effects: [ + { + type: activated + phase: shadow + requires: { + type: canSpot + filter: culture(orc),orc + count: 5 + } + effect: { + type: addModifier + modifier: { + type: cantMove + } + until: endOfTurn + } + } ] gametext: River. Shadow: Spot 5 [orc] Orcs to prevent the fellowship from moving again this turn. lore: "" @@ -277,6 +396,25 @@ direction: Right keywords: Mountain effects: [ + { + type: activated + phase: shadow + cost: [ + { + type: removeTwilight + amount: 2 + } + { + type: discardFromHand + forced: false + filter: choose(side(free people)) + count: 2 + } + ] + effect: { + type: drawCards + } + } ] gametext: Mountain. Shadow: Remove (2) and discard 2 Free Peoples cards from hand to draw a card. lore: "" @@ -312,6 +450,17 @@ direction: Right keywords: Mountain effects: [ + { + type: trigger + optional: true + trigger: { + type: winsSkirmish + filter: your,dwarf + } + effect: { + type: drawCards + } + } ] gametext: Mountain. Each time your Dwarf wins a skirmish, you may draw a card. lore: "" @@ -347,6 +496,21 @@ direction: Left keywords: Plains effects: [ + { + type: activated + phase: skirmish + cost: { + type: exert + filter: choose(your,man,not(enduring)) + memorize: exertedMan + } + effect: { + type: addKeyword + filter: memory(exertedMan) + keyword: damage + amount: 1 + } + } ] gametext: Plains. Skirmish: Exert your Man (except an enduring Man) to make him or her damage +1. lore: ""