diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/sauron/Card10_075.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/sauron/Card10_075.java deleted file mode 100644 index 1a144e473..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/sauron/Card10_075.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.gempukku.lotro.cards.set10.sauron; - -import com.gempukku.lotro.common.CardType; -import com.gempukku.lotro.common.Culture; -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.cardtype.AbstractMinion; -import com.gempukku.lotro.logic.modifiers.KeywordModifier; -import com.gempukku.lotro.logic.modifiers.Modifier; - -import java.util.Collections; -import java.util.List; - -/** - * Set: Mount Doom - * Side: Shadow - * Culture: Sauron - * Twilight Cost: 3 - * Type: Minion • Orc - * Strength: 10 - * Vitality: 3 - * Site: 6 - * Game Text: Each roaming [SAURON] minion is damage +1. - */ -public class Card10_075 extends AbstractMinion { - public Card10_075() { - super(3, 10, 3, 6, Race.ORC, Culture.SAURON, "Advance Captain", null, true); - } - - @Override - public List getInPlayModifiers(LotroGame game, PhysicalCard self) { - return Collections.singletonList( - new KeywordModifier(self, Filters.and(Culture.SAURON, CardType.MINION, Keyword.ROAMING), Keyword.DAMAGE, 1)); - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/sauron/Card10_076.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/sauron/Card10_076.java deleted file mode 100644 index 19ed14d0e..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/sauron/Card10_076.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.gempukku.lotro.cards.set10.sauron; - -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.AbstractMinion; -import com.gempukku.lotro.logic.effects.SelfExertEffect; -import com.gempukku.lotro.logic.effects.choose.ChooseAndAddUntilEOPStrengthBonusEffect; -import com.gempukku.lotro.logic.timing.PlayConditions; - -import java.util.Collections; -import java.util.List; - -/** - * Set: Mount Doom - * Side: Shadow - * Culture: Sauron - * Twilight Cost: 3 - * Type: Minion • Orc - * Strength: 9 - * Vitality: 3 - * Site: 6 - * Game Text: Skirmish: Exert this minion to make a roaming [SAURON] minion strength +3. - */ -public class Card10_076 extends AbstractMinion { - public Card10_076() { - super(3, 9, 3, 6, Race.ORC, Culture.SAURON, "Advance Marauder"); - } - - @Override - public List getPhaseActionsInPlay(String playerId, LotroGame game, PhysicalCard self) { - if (PlayConditions.canUseShadowCardDuringPhase(game, Phase.SKIRMISH, self, 0) - && PlayConditions.canSelfExert(self, game)) { - ActivateCardAction action = new ActivateCardAction(self); - action.appendCost( - new SelfExertEffect(action, self)); - action.appendEffect( - new ChooseAndAddUntilEOPStrengthBonusEffect(action, self, playerId, 3, Culture.SAURON, CardType.MINION, Keyword.ROAMING)); - return Collections.singletonList(action); - } - return null; - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/sauron/Card10_077.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/sauron/Card10_077.java deleted file mode 100644 index 4467a40c8..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/sauron/Card10_077.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.gempukku.lotro.cards.set10.sauron; - -import com.gempukku.lotro.common.CardType; -import com.gempukku.lotro.common.Culture; -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.cardtype.AbstractMinion; -import com.gempukku.lotro.logic.modifiers.KeywordModifier; -import com.gempukku.lotro.logic.modifiers.Modifier; - -import java.util.Collections; -import java.util.List; - -/** - * Set: Mount Doom - * Side: Shadow - * Culture: Sauron - * Twilight Cost: 3 - * Type: Minion • Orc - * Strength: 9 - * Vitality: 3 - * Site: 6 - * Game Text: Each roaming [SAURON] minion is fierce. - */ -public class Card10_077 extends AbstractMinion { - public Card10_077() { - super(3, 9, 3, 6, Race.ORC, Culture.SAURON, "Advance Regular"); - } - - @Override - public List getInPlayModifiers(LotroGame game, PhysicalCard self) { - return Collections.singletonList( - new KeywordModifier(self, Filters.and(Culture.SAURON, CardType.MINION, Keyword.ROAMING), Keyword.FIERCE)); - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/sauron/Card10_078.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/sauron/Card10_078.java deleted file mode 100644 index 2eb1ff1cb..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/sauron/Card10_078.java +++ /dev/null @@ -1,61 +0,0 @@ -package com.gempukku.lotro.cards.set10.sauron; - -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.AbstractMinion; -import com.gempukku.lotro.logic.effects.*; -import com.gempukku.lotro.logic.modifiers.KeywordModifier; -import com.gempukku.lotro.logic.timing.Effect; -import com.gempukku.lotro.logic.timing.PlayConditions; - -import java.util.Collection; -import java.util.Collections; -import java.util.LinkedList; -import java.util.List; - -/** - * Set: Mount Doom - * Side: Shadow - * Culture: Sauron - * Twilight Cost: 2 - * Type: Minion • Orc - * Strength: 7 - * Vitality: 2 - * Site: 6 - * Game Text: Shadow: Exert or discard this minion to make each [SAURON] minion you spot roaming until - * the regroup phase. - */ -public class Card10_078 extends AbstractMinion { - public Card10_078() { - super(2, 7, 2, 6, Race.ORC, Culture.SAURON, "Advance Scout"); - } - - @Override - public List getPhaseActionsInPlay(String playerId, LotroGame game, final PhysicalCard self) { - if (PlayConditions.canUseShadowCardDuringPhase(game, Phase.SHADOW, self, 0) - && (PlayConditions.canSelfExert(self, game) || PlayConditions.canSelfDiscard(self, game))) { - final ActivateCardAction action = new ActivateCardAction(self); - List possibleCosts = new LinkedList<>(); - possibleCosts.add( - new SelfExertEffect(action, self)); - possibleCosts.add( - new SelfDiscardEffect(self)); - action.appendCost( - new ChoiceEffect(action, playerId, possibleCosts)); - action.appendEffect( - new ChooseActiveCardsEffect(self, playerId, "Choose SAURON minions to make roaming", 0, Integer.MAX_VALUE, Culture.SAURON, CardType.MINION) { - @Override - protected void cardsSelected(LotroGame game, Collection cards) { - action.appendEffect( - new AddUntilStartOfPhaseModifierEffect( - new KeywordModifier(self, Filters.in(cards), Keyword.ROAMING), Phase.REGROUP)); - } - }); - return Collections.singletonList(action); - } - return null; - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/sauron/Card10_079.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/sauron/Card10_079.java deleted file mode 100644 index 396673071..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/sauron/Card10_079.java +++ /dev/null @@ -1,64 +0,0 @@ -package com.gempukku.lotro.cards.set10.sauron; - -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.actions.RequiredTriggerAction; -import com.gempukku.lotro.logic.cardtype.AbstractPermanent; -import com.gempukku.lotro.logic.effects.ExertCharactersEffect; -import com.gempukku.lotro.logic.effects.SelfDiscardEffect; -import com.gempukku.lotro.logic.effects.choose.ChooseAndPlayCardFromHandEffect; -import com.gempukku.lotro.logic.timing.EffectResult; -import com.gempukku.lotro.logic.timing.PlayConditions; -import com.gempukku.lotro.logic.timing.TriggerConditions; - -import java.util.Collections; -import java.util.List; - -/** - * Set: Mount Doom - * Side: Shadow - * Culture: Sauron - * Twilight Cost: 2 - * Type: Condition • Support Area - * Game Text: To play, spot a [SAURON] minion. Each time the fellowship moves to any site 8 or 9, exert each Ring-bound - * companion. Shadow: Discard this condition to play a [SAURON] minion. Its twilight cost is -2. - */ -public class Card10_079 extends AbstractPermanent { - public Card10_079() { - super(Side.SHADOW, 2, CardType.CONDITION, Culture.SAURON, "Barren Land", null, true); - } - - @Override - public boolean checkPlayRequirements(LotroGame game, PhysicalCard self) { - return PlayConditions.canSpot(game, Culture.SAURON, CardType.MINION); - } - - @Override - public List getRequiredAfterTriggers(LotroGame game, EffectResult effectResult, PhysicalCard self) { - if (TriggerConditions.movesTo(game, effectResult, Filters.or(Filters.siteNumber(8), Filters.siteNumber(9)))) { - RequiredTriggerAction action = new RequiredTriggerAction(self); - action.appendEffect( - new ExertCharactersEffect(action, self, CardType.COMPANION, Keyword.RING_BOUND)); - return Collections.singletonList(action); - } - return null; - } - - @Override - public List getPhaseActionsInPlay(String playerId, LotroGame game, PhysicalCard self) { - if (PlayConditions.canUseShadowCardDuringPhase(game, Phase.SHADOW, self, 0) - && PlayConditions.canSelfDiscard(self, game) - && PlayConditions.canPlayFromHand(playerId, game, -2, Culture.SAURON, CardType.MINION)) { - ActivateCardAction action = new ActivateCardAction(self); - action.appendCost( - new SelfDiscardEffect(self)); - action.appendEffect( - new ChooseAndPlayCardFromHandEffect(playerId, game, -2, Culture.SAURON, CardType.MINION)); - return Collections.singletonList(action); - } - return null; - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/sauron/Card10_080.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/sauron/Card10_080.java deleted file mode 100644 index 03a8c3273..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/sauron/Card10_080.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.gempukku.lotro.cards.set10.sauron; - -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.AddUntilEndOfPhaseModifierEffect; -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.modifiers.StrengthModifier; -import com.gempukku.lotro.logic.modifiers.evaluator.CountActiveEvaluator; -import com.gempukku.lotro.logic.modifiers.evaluator.MultiplyEvaluator; -import com.gempukku.lotro.logic.timing.PlayConditions; - -/** - * Set: Mount Doom - * Side: Shadow - * Culture: Sauron - * Twilight Cost: 1 - * Type: Event • Skirmish - * Game Text: Make a [SAURON] minion strength +2 for each site you control. If you have initiative, that minion - * is fierce until the regroup phase. - */ -public class Card10_080 extends AbstractEvent { - public Card10_080() { - super(Side.SHADOW, 1, Culture.SAURON, "Beaten Back", Phase.SKIRMISH); - } - - @Override - public PlayEventAction getPlayEventCardAction(final String playerId, LotroGame game, final PhysicalCard self) { - final PlayEventAction action = new PlayEventAction(self); - action.appendEffect( - new ChooseActiveCardEffect(self, playerId, "Choose a SAURON minion", Culture.SAURON, CardType.MINION) { - @Override - protected void cardSelected(LotroGame game, PhysicalCard card) { - action.appendEffect( - new AddUntilEndOfPhaseModifierEffect( - new StrengthModifier(self, card, null, new MultiplyEvaluator(2, new CountActiveEvaluator(Filters.siteControlled(playerId)))))); - if (PlayConditions.hasInitiative(game, Side.SHADOW)) - action.appendEffect( - new AddUntilStartOfPhaseModifierEffect( - new KeywordModifier(self, card, Keyword.FIERCE), Phase.REGROUP)); - } - }); - return action; - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/sauron/Card10_081.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/sauron/Card10_081.java deleted file mode 100644 index e1044b49b..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/sauron/Card10_081.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.gempukku.lotro.cards.set10.sauron; - -import com.gempukku.lotro.logic.cardtype.AbstractMinion; -import com.gempukku.lotro.common.Culture; -import com.gempukku.lotro.common.Keyword; -import com.gempukku.lotro.common.Race; - -/** - * Set: Mount Doom - * Side: Shadow - * Culture: Sauron - * Twilight Cost: 3 - * Type: Minion • Uruk-Hai - * Strength: 9 - * Vitality: 2 - * Site: 6 - * Game Text: Damage +1. - */ -public class Card10_081 extends AbstractMinion { - public Card10_081() { - super(3, 9, 2, 6, Race.URUK_HAI, Culture.SAURON, "Cirith Ungol Guard"); - addKeyword(Keyword.DAMAGE, 1); - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/sauron/Card10_082.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/sauron/Card10_082.java deleted file mode 100644 index b84092cf4..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/sauron/Card10_082.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.gempukku.lotro.cards.set10.sauron; - -import com.gempukku.lotro.common.CardType; -import com.gempukku.lotro.common.Culture; -import com.gempukku.lotro.common.Keyword; -import com.gempukku.lotro.common.Race; -import com.gempukku.lotro.game.PhysicalCard; -import com.gempukku.lotro.game.state.LotroGame; -import com.gempukku.lotro.logic.cardtype.AbstractMinion; -import com.gempukku.lotro.logic.modifiers.KeywordModifier; -import com.gempukku.lotro.logic.modifiers.Modifier; -import com.gempukku.lotro.logic.modifiers.SpotCondition; - -import java.util.Collections; -import java.util.List; - -/** - * Set: Mount Doom - * Side: Shadow - * Culture: Sauron - * Twilight Cost: 3 - * Type: Minion • Uruk-Hai - * Strength: 8 - * Vitality: 2 - * Site: 6 - * Game Text: Damage +1. While you can spot 3 possessions, this minion is fierce. - */ -public class Card10_082 extends AbstractMinion { - public Card10_082() { - super(3, 8, 2, 6, Race.URUK_HAI, Culture.SAURON, "Cirith Ungol Patroller"); - addKeyword(Keyword.DAMAGE, 1); - } - - @Override - public List getInPlayModifiers(LotroGame game, PhysicalCard self) { - return Collections.singletonList( - new KeywordModifier(self, self, new SpotCondition(3, CardType.POSSESSION), Keyword.FIERCE, 1)); - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/sauron/Card10_083.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/sauron/Card10_083.java deleted file mode 100644 index 0fef87e76..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/sauron/Card10_083.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.gempukku.lotro.cards.set10.sauron; - -import com.gempukku.lotro.common.CardType; -import com.gempukku.lotro.common.Culture; -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.cardtype.AbstractMinion; - -/** - * Set: Mount Doom - * Side: Shadow - * Culture: Sauron - * Twilight Cost: 2 - * Type: Minion • Uruk-Hai - * Strength: 7 - * Vitality: 2 - * Site: 6 - * Game Text: Damage +1. If you can spot another [SAURON] Uruk-hai, this minion is twilight cost -1 for each possession - * you can spot. - */ -public class Card10_083 extends AbstractMinion { - public Card10_083() { - super(2, 7, 2, 6, Race.URUK_HAI, Culture.SAURON, "Cirith Ungol Sentinel"); - addKeyword(Keyword.DAMAGE, 1); - } - - @Override - public int getTwilightCostModifier(LotroGame game, PhysicalCard self, PhysicalCard target) { - if (Filters.canSpot(game, Filters.not(self), Culture.SAURON, Race.URUK_HAI)) - return -Filters.countActive(game, CardType.POSSESSION); - return 0; - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/sauron/Card10_084.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/sauron/Card10_084.java deleted file mode 100644 index 90ad0ba98..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/sauron/Card10_084.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.gempukku.lotro.cards.set10.sauron; - -import com.gempukku.lotro.logic.cardtype.AbstractMinion; -import com.gempukku.lotro.common.Culture; -import com.gempukku.lotro.common.Keyword; -import com.gempukku.lotro.common.Race; - -/** - * Set: Mount Doom - * Side: Shadow - * Culture: Sauron - * Twilight Cost: 2 - * Type: Minion • Uruk-Hai - * Strength: 8 - * Vitality: 2 - * Site: 6 - * Game Text: Damage +1. - */ -public class Card10_084 extends AbstractMinion { - public Card10_084() { - super(2, 8, 2, 6, Race.URUK_HAI, Culture.SAURON, "Cirith Ungol Sentry"); - addKeyword(Keyword.DAMAGE, 1); - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/sauron/Card10_085.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/sauron/Card10_085.java deleted file mode 100644 index 09c906eae..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/sauron/Card10_085.java +++ /dev/null @@ -1,53 +0,0 @@ -package com.gempukku.lotro.cards.set10.sauron; - -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.ChooseAndAddUntilEOPStrengthBonusEffect; -import com.gempukku.lotro.logic.modifiers.Modifier; -import com.gempukku.lotro.logic.modifiers.StrengthModifier; -import com.gempukku.lotro.logic.modifiers.condition.InitiativeCondition; -import com.gempukku.lotro.logic.modifiers.evaluator.CardMatchesEvaluator; -import com.gempukku.lotro.logic.timing.PlayConditions; - -import java.util.Collections; -import java.util.List; - -/** - * Set: Mount Doom - * Side: Shadow - * Culture: Sauron - * Twilight Cost: 0 - * Type: Condition • Support Area - * Game Text: While you have initiative, each of your [SAURON] minions is strength +2. Skirmish: Discard this condition - * to make a [SAURON] minion strength +2 (or +4 if it is roaming). - */ -public class Card10_085 extends AbstractPermanent { - public Card10_085() { - super(Side.SHADOW, 0, CardType.CONDITION, Culture.SAURON, "Flames Within", null, true); - } - - @Override - public List getInPlayModifiers(LotroGame game, PhysicalCard self) { - return Collections.singletonList( - new StrengthModifier(self, Filters.and(Filters.owner(self.getOwner()), Culture.SAURON, CardType.MINION), new InitiativeCondition(Side.SHADOW), 2)); - } - - @Override - public List getPhaseActionsInPlay(String playerId, LotroGame game, PhysicalCard self) { - if (PlayConditions.canUseShadowCardDuringPhase(game, Phase.SKIRMISH, self, 0) - && PlayConditions.canSelfDiscard(self, game)) { - ActivateCardAction action = new ActivateCardAction(self); - action.appendCost( - new SelfDiscardEffect(self)); - action.appendEffect( - new ChooseAndAddUntilEOPStrengthBonusEffect(action, self, playerId, new CardMatchesEvaluator(2, 4, Keyword.ROAMING), Culture.SAURON, CardType.MINION)); - return Collections.singletonList(action); - } - return null; - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/sauron/Card10_086.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/sauron/Card10_086.java deleted file mode 100644 index 91d1dc9e5..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/sauron/Card10_086.java +++ /dev/null @@ -1,60 +0,0 @@ -package com.gempukku.lotro.cards.set10.sauron; - -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.cardtype.AbstractMinion; -import com.gempukku.lotro.logic.effects.ChooseActiveCardEffect; -import com.gempukku.lotro.logic.effects.StackCardFromPlayEffect; -import com.gempukku.lotro.logic.timing.PlayConditions; - -import java.util.Collections; -import java.util.List; - -/** - * Set: Mount Doom - * Side: Shadow - * Culture: Sauron - * Twilight Cost: 4 - * Type: Minion • Orc - * Strength: 10 - * Vitality: 2 - * Site: 5 - * Game Text: Besieger. While you control a site, this minion's twilight cost is -2. Regroup: Stack this minion on - * a site you control. - */ -public class Card10_086 extends AbstractMinion { - public Card10_086() { - super(4, 10, 2, 5, Race.ORC, Culture.SAURON, "Gorgoroth Keeper"); - addKeyword(Keyword.BESIEGER); - } - - @Override - public int getTwilightCostModifier(LotroGame game, PhysicalCard self, PhysicalCard target) { - if (Filters.canSpot(game, Filters.siteControlled(self.getOwner()))) - return -2; - return 0; - } - - @Override - public List getPhaseActionsInPlay(String playerId, LotroGame game, final PhysicalCard self) { - if (PlayConditions.canUseShadowCardDuringPhase(game, Phase.REGROUP, self, 0)) { - final ActivateCardAction action = new ActivateCardAction(self); - action.appendEffect( - new ChooseActiveCardEffect(self, playerId, "Choose a site you control", Filters.siteControlled(playerId)) { - @Override - protected void cardSelected(LotroGame game, PhysicalCard card) { - action.appendEffect( - new StackCardFromPlayEffect(self, card)); - } - }); - return Collections.singletonList(action); - } - return null; - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/sauron/Card10_087.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/sauron/Card10_087.java deleted file mode 100644 index 9821efff2..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/sauron/Card10_087.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.gempukku.lotro.cards.set10.sauron; - -import com.gempukku.lotro.logic.cardtype.AbstractMinion; -import com.gempukku.lotro.logic.timing.PlayConditions; -import com.gempukku.lotro.logic.timing.TriggerConditions; -import com.gempukku.lotro.logic.effects.TakeControlOfASiteEffect; -import com.gempukku.lotro.logic.effects.choose.ChooseAndPlayCardFromDiscardEffect; -import com.gempukku.lotro.common.CardType; -import com.gempukku.lotro.common.Culture; -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.timing.EffectResult; - -import java.util.Collections; -import java.util.List; - -/** - * Set: Mount Doom - * Side: Shadow - * Culture: Sauron - * Twilight Cost: 5 - * Type: Minion • Orc - * Strength: 12 - * Vitality: 3 - * Site: 5 - * Game Text: Besieger. When you play this minion, you may spot 6 companions and another besieger to play a besieger - * from your discard pile and control a site. - */ -public class Card10_087 extends AbstractMinion { - public Card10_087() { - super(5, 12, 3, 5, Race.ORC, Culture.SAURON, "Gorgoroth Swarm"); - addKeyword(Keyword.BESIEGER); - } - - @Override - public List getOptionalAfterTriggers(String playerId, LotroGame game, EffectResult effectResult, PhysicalCard self) { - if (TriggerConditions.played(game, effectResult, self) - && PlayConditions.canSpot(game, 6, CardType.COMPANION) - && PlayConditions.canSpot(game, Filters.not(self), Keyword.BESIEGER) - && PlayConditions.canPlayFromDiscard(playerId, game, Keyword.BESIEGER)) { - OptionalTriggerAction action = new OptionalTriggerAction(self); - action.appendEffect( - new ChooseAndPlayCardFromDiscardEffect(playerId, game, Keyword.BESIEGER)); - action.appendEffect( - new TakeControlOfASiteEffect(self, playerId)); - return Collections.singletonList(action); - } - return null; - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/sauron/Card10_088.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/sauron/Card10_088.java deleted file mode 100644 index 00ef44638..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/sauron/Card10_088.java +++ /dev/null @@ -1,58 +0,0 @@ -package com.gempukku.lotro.cards.set10.sauron; - -import com.gempukku.lotro.common.CardType; -import com.gempukku.lotro.common.Culture; -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.RequiredTriggerAction; -import com.gempukku.lotro.logic.cardtype.AbstractMinion; -import com.gempukku.lotro.logic.effects.ChooseAndWoundCharactersEffect; -import com.gempukku.lotro.logic.modifiers.KeywordModifier; -import com.gempukku.lotro.logic.modifiers.Modifier; -import com.gempukku.lotro.logic.modifiers.SpotCondition; -import com.gempukku.lotro.logic.timing.EffectResult; -import com.gempukku.lotro.logic.timing.TriggerConditions; - -import java.util.Collections; -import java.util.List; - -/** - * Set: Mount Doom - * Side: Shadow - * Culture: Sauron - * Twilight Cost: 6 - * Type: Minion • Orc - * Strength: 13 - * Vitality: 3 - * Site: 4 - * Game Text: Besieger. When you play Gothmog, the Free Peoples player must wound a companion for each site you control. - * While you control a site, Gothmog is fierce. - */ -public class Card10_088 extends AbstractMinion { - public Card10_088() { - super(6, 13, 3, 4, Race.ORC, Culture.SAURON, "Gothmog", "Lieutenant of Morgul", true); - addKeyword(Keyword.BESIEGER); - } - - @Override - public List getRequiredAfterTriggers(LotroGame game, EffectResult effectResult, PhysicalCard self) { - if (TriggerConditions.played(game, effectResult, self)) { - RequiredTriggerAction action = new RequiredTriggerAction(self); - int countControlled = Filters.countActive(game, Filters.siteControlled(self.getOwner())); - for (int i = 0; i < countControlled; i++) - action.appendEffect( - new ChooseAndWoundCharactersEffect(action, game.getGameState().getCurrentPlayerId(), 1, 1, CardType.COMPANION)); - return Collections.singletonList(action); - } - return null; - } - - @Override - public List getInPlayModifiers(LotroGame game, PhysicalCard self) { - return Collections.singletonList( - new KeywordModifier(self, self, new SpotCondition(Filters.siteControlled(self.getOwner())), Keyword.FIERCE, 1)); - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/sauron/Card10_089.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/sauron/Card10_089.java deleted file mode 100644 index 787c3c687..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/sauron/Card10_089.java +++ /dev/null @@ -1,58 +0,0 @@ -package com.gempukku.lotro.cards.set10.sauron; - -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.cardtype.AbstractAttachable; -import com.gempukku.lotro.logic.modifiers.Modifier; -import com.gempukku.lotro.logic.modifiers.StrengthModifier; -import com.gempukku.lotro.logic.modifiers.evaluator.CountActiveEvaluator; -import com.gempukku.lotro.logic.modifiers.evaluator.MultiplyEvaluator; - -import java.util.LinkedList; -import java.util.List; - -/** - * Set: Mount Doom - * Side: Shadow - * Culture: Sauron - * Twilight Cost: 1 - * Type: Possession • Mount - * Strength: +1 - * Vitality: +1 - * Game Text: Bearer must be a [SAURON] Orc. For each site you control, bearer is strength +1 (or +2 if bearer - * is Gothmog). - */ -public class Card10_089 extends AbstractAttachable { - public Card10_089() { - super(Side.SHADOW, CardType.POSSESSION, 1, Culture.SAURON, PossessionClass.MOUNT, "Gothmog's Warg", null, true); - } - - @Override - public Filterable getValidTargetFilter(String playerId, LotroGame game, PhysicalCard self) { - return Filters.and(Culture.SAURON, Race.ORC); - } - - @Override - public int getStrength() { - return 1; - } - - @Override - public int getVitality() { - return 1; - } - - @Override - public List getInPlayModifiers(LotroGame game, PhysicalCard self) { - List modifiers = new LinkedList<>(); - modifiers.add( - new StrengthModifier(self, Filters.and(Filters.name("Gothmog"), Filters.hasAttached(self)), null, - new MultiplyEvaluator(2, new CountActiveEvaluator(Filters.siteControlled(self.getOwner()))))); - modifiers.add( - new StrengthModifier(self, Filters.and(Filters.not(Filters.name("Gothmog")), Filters.hasAttached(self)), null, - new CountActiveEvaluator(Filters.siteControlled(self.getOwner())))); - return modifiers; - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/sauron/Card10_090.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/sauron/Card10_090.java deleted file mode 100644 index e2ca388ff..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/sauron/Card10_090.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.gempukku.lotro.cards.set10.sauron; - -import com.gempukku.lotro.common.CardType; -import com.gempukku.lotro.common.Culture; -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.cardtype.AbstractMinion; -import com.gempukku.lotro.logic.modifiers.CantTakeWoundsModifier; -import com.gempukku.lotro.logic.modifiers.Modifier; -import com.gempukku.lotro.logic.modifiers.condition.NotCondition; -import com.gempukku.lotro.logic.modifiers.condition.PhaseCondition; - -import java.util.Collections; -import java.util.List; - -/** - * Set: Mount Doom - * Side: Shadow - * Culture: Sauron - * Twilight Cost: 3 - * Type: Minion • Orc - * Strength: 9 - * Vitality: 3 - * Site: 6 - * Game Text: Each [SAURON] Orc bearing a possession cannot take wounds (except during skirmish phases). - */ -public class Card10_090 extends AbstractMinion { - public Card10_090() { - super(3, 9, 3, 6, Race.ORC, Culture.SAURON, "Mordor Brute"); - } - - @Override - public List getInPlayModifiers(LotroGame game, PhysicalCard self) { - return Collections.singletonList( - new CantTakeWoundsModifier(self, new NotCondition(new PhaseCondition(Phase.SKIRMISH)), - Filters.and(Culture.SAURON, Race.ORC, Filters.hasAttached(CardType.POSSESSION)))); - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/sauron/Card10_091.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/sauron/Card10_091.java deleted file mode 100644 index 40c3a7402..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/sauron/Card10_091.java +++ /dev/null @@ -1,45 +0,0 @@ -package com.gempukku.lotro.cards.set10.sauron; - -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.AbstractMinion; -import com.gempukku.lotro.logic.effects.AddTwilightEffect; -import com.gempukku.lotro.logic.timing.PlayConditions; - -import java.util.Collections; -import java.util.List; - -/** - * Set: Mount Doom - * Side: Shadow - * Culture: Sauron - * Twilight Cost: 3 - * Type: Minion • Orc - * Strength: 9 - * Vitality: 3 - * Site: 6 - * Game Text: Shadow: If you cannot spot another minion and there are 3 or fewer twilight tokens, add (3) (or (5) - * if this minion is roaming). - */ -public class Card10_091 extends AbstractMinion { - public Card10_091() { - super(3, 9, 3, 6, Race.ORC, Culture.SAURON, "Mordor Fiend"); - } - - @Override - public List getPhaseActionsInPlay(String playerId, LotroGame game, PhysicalCard self) { - if (PlayConditions.canUseShadowCardDuringPhase(game, Phase.SHADOW, self, 0) - && !PlayConditions.canSpot(game, Filters.not(self), CardType.MINION) - && game.getGameState().getTwilightPool() <= 3) { - ActivateCardAction action = new ActivateCardAction(self); - int count = game.getModifiersQuerying().hasKeyword(game, self, Keyword.ROAMING) ? 5 : 3; - action.appendEffect( - new AddTwilightEffect(self, count)); - 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/set10/sauron/Card10_092.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/sauron/Card10_092.java deleted file mode 100644 index 9528ea525..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/sauron/Card10_092.java +++ /dev/null @@ -1,70 +0,0 @@ -package com.gempukku.lotro.cards.set10.sauron; - -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.AbstractMinion; -import com.gempukku.lotro.logic.effects.PreventableEffect; -import com.gempukku.lotro.logic.effects.SelfExertEffect; -import com.gempukku.lotro.logic.effects.TakeControlOfASiteEffect; -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: Mount Doom - * Side: Shadow - * Culture: Sauron - * Twilight Cost: 3 - * Type: Minion • Orc - * Strength: 9 - * Vitality: 2 - * Site: 5 - * Game Text: Besieger. Fierce. Shadow: Exert this minion and spot another [SAURON] minion to control a site. If you - * cannot spot 3 Free Peoples cultures, the Free Peoples player may exert a companion to prevent this. - */ -public class Card10_092 extends AbstractMinion { - public Card10_092() { - super(3, 9, 2, 5, Race.ORC, Culture.SAURON, "Mordor Pillager"); - addKeyword(Keyword.BESIEGER); - addKeyword(Keyword.FIERCE); - } - - @Override - public List getPhaseActionsInPlay(String playerId, LotroGame game, PhysicalCard self) { - if (PlayConditions.canUseShadowCardDuringPhase(game, Phase.SHADOW, self, 0) - && PlayConditions.canSelfExert(self, game) - && PlayConditions.canSpot(game, Filters.not(self), Culture.SAURON, CardType.MINION)) { - ActivateCardAction action = new ActivateCardAction(self); - action.appendCost( - new SelfExertEffect(action, self)); - int cultures = GameUtils.getSpottableCulturesCount(game, Side.FREE_PEOPLE); - if (cultures < 3) - action.appendEffect( - new PreventableEffect(action, new TakeControlOfASiteEffect(self, playerId), game.getGameState().getCurrentPlayerId(), - new PreventableEffect.PreventionCost() { - @Override - public Effect createPreventionCostForPlayer(CostToEffectAction subAction, String playerId) { - return new ChooseAndExertCharactersEffect(subAction, playerId, 1, 1, CardType.COMPANION) { - @Override - public String getText(LotroGame game) { - return "Exert a companion"; - } - }; - } - })); - else - action.appendEffect( - new TakeControlOfASiteEffect(self, playerId)); - return Collections.singletonList(action); - } - return null; - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/sauron/Card10_093.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/sauron/Card10_093.java deleted file mode 100644 index 0c2523058..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/sauron/Card10_093.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.gempukku.lotro.cards.set10.sauron; - -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.cardtype.AbstractMinion; -import com.gempukku.lotro.logic.effects.AddTwilightEffect; -import com.gempukku.lotro.logic.effects.DrawCardsEffect; -import com.gempukku.lotro.logic.effects.choose.ChooseAndExertCharactersEffect; -import com.gempukku.lotro.logic.timing.PlayConditions; - -import java.util.Collections; -import java.util.List; - -/** - * Set: Mount Doom - * Side: Shadow - * Culture: Sauron - * Twilight Cost: 3 - * Type: Minion • Orc - * Strength: 9 - * Vitality: 3 - * Site: 6 - * Game Text: Shadow: Spot 4 Free Peoples cultures and exert another [SAURON] minion twice to add (3) and draw a card. - */ -public class Card10_093 extends AbstractMinion { - public Card10_093() { - super(3, 9, 3, 6, Race.ORC, Culture.SAURON, "Mordor Wretch"); - } - - @Override - public List getPhaseActionsInPlay(String playerId, LotroGame game, PhysicalCard self) { - if (PlayConditions.canUseShadowCardDuringPhase(game, Phase.SHADOW, self, 0) - && GameUtils.getSpottableCulturesCount(game, Side.FREE_PEOPLE) >= 4 - && PlayConditions.canExert(self, game, 2, Filters.not(self), Culture.SAURON, CardType.MINION)) { - ActivateCardAction action = new ActivateCardAction(self); - action.appendCost( - new ChooseAndExertCharactersEffect(action, playerId, 1, 1, 2, Filters.not(self), Culture.SAURON, CardType.MINION)); - action.appendEffect( - new AddTwilightEffect(self, 3)); - 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/set10/sauron/Card10_094.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/sauron/Card10_094.java deleted file mode 100644 index fa96db987..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/sauron/Card10_094.java +++ /dev/null @@ -1,52 +0,0 @@ -package com.gempukku.lotro.cards.set10.sauron; - -import com.gempukku.lotro.common.CardType; -import com.gempukku.lotro.common.Culture; -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.AbstractMinion; -import com.gempukku.lotro.logic.effects.RemoveThreatsEffect; -import com.gempukku.lotro.logic.effects.choose.ChooseAndDiscardCardsFromPlayEffect; -import com.gempukku.lotro.logic.timing.PlayConditions; - -import java.util.Collections; -import java.util.List; - -/** - * Set: Mount Doom - * Side: Shadow - * Culture: Sauron - * Twilight Cost: 4 - * Type: Minion • Orc - * Strength: 10 - * Vitality: 3 - * Site: 6 - * Game Text: To play, spot a [SAURON] minion. Shadow: Remove 2 threats to discard a condition. - */ -public class Card10_094 extends AbstractMinion { - public Card10_094() { - super(4, 10, 3, 6, Race.ORC, Culture.SAURON, "Orc Ravager"); - } - - @Override - public boolean checkPlayRequirements(LotroGame game, PhysicalCard self) { - return PlayConditions.canSpot(game, Culture.SAURON, CardType.MINION); - } - - @Override - public List getPhaseActionsInPlay(String playerId, LotroGame game, PhysicalCard self) { - if (PlayConditions.canUseShadowCardDuringPhase(game, Phase.SHADOW, self, 0) - && PlayConditions.canRemoveThreat(game, self, 2)) { - ActivateCardAction action = new ActivateCardAction(self); - action.appendCost( - new RemoveThreatsEffect(self, 2)); - action.appendEffect( - new ChooseAndDiscardCardsFromPlayEffect(action, playerId, 1, 1, CardType.CONDITION)); - return Collections.singletonList(action); - } - return null; - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/sauron/Card10_095.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/sauron/Card10_095.java deleted file mode 100644 index a9cbbca5e..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/sauron/Card10_095.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.gempukku.lotro.cards.set10.sauron; - -import com.gempukku.lotro.common.Culture; -import com.gempukku.lotro.common.Keyword; -import com.gempukku.lotro.common.Race; -import com.gempukku.lotro.game.PhysicalCard; -import com.gempukku.lotro.game.state.LotroGame; -import com.gempukku.lotro.logic.cardtype.AbstractMinion; -import com.gempukku.lotro.logic.modifiers.Modifier; -import com.gempukku.lotro.logic.modifiers.StrengthModifier; -import com.gempukku.lotro.logic.modifiers.evaluator.Evaluator; - -import java.util.Collections; -import java.util.List; - -/** - * Set: Mount Doom - * Side: Shadow - * Culture: Sauron - * Twilight Cost: 4 - * Type: Minion • Orc - * Strength: 10 - * Vitality: 3 - * Site: 6 - * Game Text: Enduring. For each wound on this minion, it is strength +2. - */ -public class Card10_095 extends AbstractMinion { - public Card10_095() { - super(4, 10, 3, 6, Race.ORC, Culture.SAURON, "Orc Slaughterer"); - addKeyword(Keyword.ENDURING); - } - - @Override - public List getInPlayModifiers(LotroGame game, PhysicalCard self) { - return Collections.singletonList( - new StrengthModifier(self, self, null, - new Evaluator() { - @Override - public int evaluateExpression(LotroGame game, PhysicalCard cardAffected) { - return 2 * game.getGameState().getWounds(cardAffected); - } - })); - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/sauron/Card10_096.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/sauron/Card10_096.java deleted file mode 100644 index 4be376901..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/sauron/Card10_096.java +++ /dev/null @@ -1,87 +0,0 @@ -package com.gempukku.lotro.cards.set10.sauron; - -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.actions.OptionalTriggerAction; -import com.gempukku.lotro.logic.cardtype.AbstractPermanent; -import com.gempukku.lotro.logic.effects.AddTokenEffect; -import com.gempukku.lotro.logic.effects.ChoiceEffect; -import com.gempukku.lotro.logic.effects.RemoveTokenEffect; -import com.gempukku.lotro.logic.effects.choose.ChooseAndAddUntilEOPStrengthBonusEffect; -import com.gempukku.lotro.logic.effects.choose.ChooseAndDiscardCardsFromPlayEffect; -import com.gempukku.lotro.logic.effects.choose.ChooseAndExertCharactersEffect; -import com.gempukku.lotro.logic.timing.Effect; -import com.gempukku.lotro.logic.timing.EffectResult; -import com.gempukku.lotro.logic.timing.PlayConditions; -import com.gempukku.lotro.logic.timing.TriggerConditions; - -import java.util.Collections; -import java.util.LinkedList; -import java.util.List; - -/** - * Set: Mount Doom - * Side: Shadow - * Culture: Sauron - * Twilight Cost: 1 - * Type: Condition • Support Area - * Game Text: Each time a roaming [SAURON] minion takes a wound, you may add a [SAURON] token here. Regroup: Exert - * an Uruk-hai or discard a [SAURON] minion to add a [SAURON] token here. Skirmish: Remove 2 [SAURON] tokens from here - * to make a [SAURON] minion strength +2. - */ -public class Card10_096 extends AbstractPermanent { - public Card10_096() { - super(Side.SHADOW, 1, CardType.CONDITION, Culture.SAURON, "Rank and File", null, true); - } - - @Override - public List getOptionalAfterTriggers(String playerId, LotroGame game, EffectResult effectResult, PhysicalCard self) { - if (TriggerConditions.forEachWounded(game, effectResult, Culture.SAURON, CardType.MINION, Keyword.ROAMING)) { - OptionalTriggerAction action = new OptionalTriggerAction(self); - action.appendEffect( - new AddTokenEffect(self, self, Token.SAURON)); - return Collections.singletonList(action); - } - return null; - } - - @Override - public List getPhaseActionsInPlay(String playerId, LotroGame game, PhysicalCard self) { - if (PlayConditions.canUseShadowCardDuringPhase(game, Phase.REGROUP, self, 0) - && (PlayConditions.canExert(self, game, Race.URUK_HAI) || PlayConditions.canDiscardFromPlay(self, game, Culture.SAURON, CardType.MINION))) { - ActivateCardAction action = new ActivateCardAction(self); - List possibleCosts = new LinkedList<>(); - possibleCosts.add( - new ChooseAndExertCharactersEffect(action, playerId, 1, 1, Race.URUK_HAI) { - @Override - public String getText(LotroGame game) { - return "Exert an Uruk-hai"; - } - }); - possibleCosts.add( - new ChooseAndDiscardCardsFromPlayEffect(action, playerId, 1, 1, Culture.SAURON, CardType.MINION) { - @Override - public String getText(LotroGame game) { - return "Discard a SAURON minion"; - } - }); - action.appendCost( - new ChoiceEffect(action, playerId, possibleCosts)); - action.appendEffect( - new AddTokenEffect(self, self, Token.SAURON)); - return Collections.singletonList(action); - } - if (PlayConditions.canUseShadowCardDuringPhase(game, Phase.SKIRMISH, self, 0) - && PlayConditions.canRemoveTokens(game, self, Token.SAURON, 2)) { - ActivateCardAction action = new ActivateCardAction(self); - action.appendCost( - new RemoveTokenEffect(self, self, Token.SAURON, 2)); - action.appendEffect( - new ChooseAndAddUntilEOPStrengthBonusEffect(action, self, playerId, 2, Culture.SAURON, CardType.MINION)); - return Collections.singletonList(action); - } - return null; - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/sauron/Card10_097.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/sauron/Card10_097.java deleted file mode 100644 index be48b6499..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/sauron/Card10_097.java +++ /dev/null @@ -1,45 +0,0 @@ -package com.gempukku.lotro.cards.set10.sauron; - -import com.gempukku.lotro.common.CardType; -import com.gempukku.lotro.common.Culture; -import com.gempukku.lotro.common.Side; -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.PlayEventAction; -import com.gempukku.lotro.logic.cardtype.AbstractResponseEvent; -import com.gempukku.lotro.logic.effects.AddBurdenEffect; -import com.gempukku.lotro.logic.timing.EffectResult; -import com.gempukku.lotro.logic.timing.PlayConditions; -import com.gempukku.lotro.logic.timing.TriggerConditions; - -import java.util.Collections; -import java.util.List; - -/** - * Set: Mount Doom - * Side: Shadow - * Culture: Sauron - * Twilight Cost: 0 - * Type: Event • Response - * Game Text: If a burden is added, spot a [SAURON] minion to add an additional burden. - */ -public class Card10_097 extends AbstractResponseEvent { - public Card10_097() { - super(Side.SHADOW, 0, Culture.SAURON, "The Ring is Mine!"); - } - - @Override - public List getPlayResponseEventAfterActions(String playerId, LotroGame game, EffectResult effectResult, PhysicalCard self) { - if (TriggerConditions.addedBurden(game, effectResult, Filters.any) - && PlayUtils.checkPlayRequirements(game, self, Filters.any, 0, 0, false, false) - && PlayConditions.canSpot(game, Culture.SAURON, CardType.MINION)) { - PlayEventAction action = new PlayEventAction(self); - action.appendEffect( - new AddBurdenEffect(playerId, self, 1)); - return Collections.singletonList(action); - } - return null; - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/sauron/Card10_098.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/sauron/Card10_098.java deleted file mode 100644 index 08c744fe6..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/sauron/Card10_098.java +++ /dev/null @@ -1,51 +0,0 @@ -package com.gempukku.lotro.cards.set10.sauron; - -import com.gempukku.lotro.common.CardType; -import com.gempukku.lotro.common.Culture; -import com.gempukku.lotro.common.Side; -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.PlayEventAction; -import com.gempukku.lotro.logic.cardtype.AbstractResponseEvent; -import com.gempukku.lotro.logic.effects.AddUntilEndOfPhaseModifierEffect; -import com.gempukku.lotro.logic.effects.ChooseAndDiscardCardsFromHandEffect; -import com.gempukku.lotro.logic.modifiers.PlayerCantPlayCardsModifier; -import com.gempukku.lotro.logic.timing.EffectResult; -import com.gempukku.lotro.logic.timing.PlayConditions; -import com.gempukku.lotro.logic.timing.TriggerConditions; - -import java.util.Collections; -import java.util.List; - -/** - * Set: Mount Doom - * Side: Shadow - * Culture: Sauron - * Twilight Cost: 0 - * Type: Event • Response - * Game Text: If the Free Peoples player plays a possession, discard a [SAURON] minion from hand to prevent him or her - * from playing any more cards until the end of this phase. - */ -public class Card10_098 extends AbstractResponseEvent { - public Card10_098() { - super(Side.SHADOW, 0, Culture.SAURON, "Ruinous Hall"); - } - - @Override - public List getPlayResponseEventAfterActions(String playerId, final LotroGame game, EffectResult effectResult, PhysicalCard self) { - if (TriggerConditions.played(game, effectResult, Filters.owner(game.getGameState().getCurrentPlayerId()), CardType.POSSESSION) - && PlayUtils.checkPlayRequirements(game, self, Filters.any, 0, 0, false, false) - && PlayConditions.canDiscardCardsFromHandToPlay(self, game, playerId, 1, Culture.SAURON, CardType.MINION)) { - PlayEventAction action = new PlayEventAction(self); - action.appendCost( - new ChooseAndDiscardCardsFromHandEffect(action, playerId, false, 1, Culture.SAURON, CardType.MINION)); - action.appendEffect( - new AddUntilEndOfPhaseModifierEffect( - new PlayerCantPlayCardsModifier(self, game.getGameState().getCurrentPlayerId()))); - return Collections.singletonList(action); - } - return null; - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/sauron/Card10_099.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/sauron/Card10_099.java deleted file mode 100644 index 6b64cdb62..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/sauron/Card10_099.java +++ /dev/null @@ -1,45 +0,0 @@ -package com.gempukku.lotro.cards.set10.sauron; - -import com.gempukku.lotro.logic.cardtype.AbstractMinion; -import com.gempukku.lotro.logic.timing.TriggerConditions; -import com.gempukku.lotro.logic.effects.choose.ChooseAndExertCharactersEffect; -import com.gempukku.lotro.common.Culture; -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.timing.EffectResult; - -import java.util.Collections; -import java.util.List; - -/** - * Set: Mount Doom - * Side: Shadow - * Culture: Sauron - * Twilight Cost: 5 - * Type: Minion • Uruk-Hai - * Strength: 13 - * Vitality: 3 - * Site: 6 - * Game Text: Damage +1. Each time Shagrat loses a skirmish, you may exert a character. - */ -public class Card10_099 extends AbstractMinion { - public Card10_099() { - super(5, 13, 3, 6, Race.URUK_HAI, Culture.SAURON, "Shagrat", "Captain of Cirith Ungol", true); - addKeyword(Keyword.DAMAGE, 1); - } - - @Override - public List getOptionalAfterTriggers(String playerId, LotroGame game, EffectResult effectResult, PhysicalCard self) { - if (TriggerConditions.losesSkirmish(game, effectResult, self)) { - OptionalTriggerAction action = new OptionalTriggerAction(self); - action.appendEffect( - new ChooseAndExertCharactersEffect(action, playerId, 1, 1, Filters.character)); - return Collections.singletonList(action); - } - return null; - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/sauron/Card10_100.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/sauron/Card10_100.java deleted file mode 100644 index eb7e1dd79..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/sauron/Card10_100.java +++ /dev/null @@ -1,63 +0,0 @@ -package com.gempukku.lotro.cards.set10.sauron; - -import com.gempukku.lotro.common.CardType; -import com.gempukku.lotro.common.Culture; -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.PlayEventAction; -import com.gempukku.lotro.logic.cardtype.AbstractEvent; -import com.gempukku.lotro.logic.effects.ChoiceEffect; -import com.gempukku.lotro.logic.effects.choose.ChooseAndExertCharactersEffect; -import com.gempukku.lotro.logic.effects.choose.ChooseAndReturnCardsToHandEffect; -import com.gempukku.lotro.logic.timing.Effect; -import com.gempukku.lotro.logic.timing.PlayConditions; - -import java.util.LinkedList; -import java.util.List; - -/** - * Set: Mount Doom - * Side: Shadow - * Culture: Sauron - * Twilight Cost: 1 - * Type: Event • Shadow - * Game Text: Exert a [SAURON] minion to return a Free Peoples condition to its owner's hand (or 2 if both are [SHIRE] - * conditions). - */ -public class Card10_100 extends AbstractEvent { - public Card10_100() { - super(Side.SHADOW, 1, Culture.SAURON, "Speak No More to Me", Phase.SHADOW); - } - - @Override - public boolean checkPlayRequirements(LotroGame game, PhysicalCard self) { - return PlayConditions.canExert(self, game, Culture.SAURON, CardType.MINION); - } - - @Override - public PlayEventAction getPlayEventCardAction(String playerId, LotroGame game, PhysicalCard self) { - PlayEventAction action = new PlayEventAction(self); - action.appendCost( - new ChooseAndExertCharactersEffect(action, playerId, 1, 1, Culture.SAURON, CardType.MINION)); - List possibleEffects = new LinkedList<>(); - possibleEffects.add( - new ChooseAndReturnCardsToHandEffect(action, playerId, 1, 1, Side.FREE_PEOPLE, CardType.CONDITION) { - @Override - public String getText(LotroGame game) { - return "Return Free Peoples condition to its owner's hand"; - } - }); - possibleEffects.add( - new ChooseAndReturnCardsToHandEffect(action, playerId, 2, 2, Side.FREE_PEOPLE, CardType.CONDITION, Culture.SHIRE) { - @Override - public String getText(LotroGame game) { - return "Return 2 Free Peoples SHIRE conditions to its owner's hand"; - } - }); - action.appendEffect( - new ChoiceEffect(action, playerId, possibleEffects)); - return action; - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/sauron/Card10_101.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/sauron/Card10_101.java deleted file mode 100644 index 8e2265d9f..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/sauron/Card10_101.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.gempukku.lotro.cards.set10.sauron; - -import com.gempukku.lotro.common.CardType; -import com.gempukku.lotro.common.Culture; -import com.gempukku.lotro.common.Keyword; -import com.gempukku.lotro.common.Race; -import com.gempukku.lotro.game.PhysicalCard; -import com.gempukku.lotro.game.state.LotroGame; -import com.gempukku.lotro.logic.cardtype.AbstractMinion; -import com.gempukku.lotro.logic.modifiers.Modifier; -import com.gempukku.lotro.logic.modifiers.StrengthModifier; -import com.gempukku.lotro.logic.modifiers.evaluator.CountActiveEvaluator; -import com.gempukku.lotro.logic.timing.PlayConditions; - -import java.util.Collections; -import java.util.List; - -/** - * Set: Mount Doom - * Side: Shadow - * Culture: Sauron - * Twilight Cost: 7 - * Type: Minion • Troll - * Strength: 14 - * Vitality: 4 - * Site: 6 - * Game Text: Damage +1. Fierce. To play, spot a [SAURON] minion. This minion is strength +1 for each possession you - * can spot. - */ -public class Card10_101 extends AbstractMinion { - public Card10_101() { - super(7, 14, 4, 6, Race.TROLL, Culture.SAURON, "Troll of Cirith Gorgor"); - addKeyword(Keyword.DAMAGE, 1); - addKeyword(Keyword.FIERCE); - } - - @Override - public boolean checkPlayRequirements(LotroGame game, PhysicalCard self) { - return PlayConditions.canSpot(game, Culture.SAURON, CardType.MINION); - } - - @Override - public List getInPlayModifiers(LotroGame game, PhysicalCard self) { - return Collections.singletonList( - new StrengthModifier(self, self, null, new CountActiveEvaluator(CardType.POSSESSION))); - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/sauron/Card10_102.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/sauron/Card10_102.java deleted file mode 100644 index 2b67ac0b6..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/sauron/Card10_102.java +++ /dev/null @@ -1,45 +0,0 @@ -package com.gempukku.lotro.cards.set10.sauron; - -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.cardtype.AbstractAttachable; -import com.gempukku.lotro.logic.modifiers.Modifier; -import com.gempukku.lotro.logic.modifiers.StrengthModifier; - -import java.util.LinkedList; -import java.util.List; - -/** - * Set: Mount Doom - * Side: Shadow - * Culture: Sauron - * Twilight Cost: 1 - * Type: Possession • Hand Weapon - * Strength: +1 - * Game Text: Bearer must be a [SAURON] Minion. If bearer is an Uruk-hai, it is strength +2. - */ -public class Card10_102 extends AbstractAttachable { - public Card10_102() { - super(Side.SHADOW, CardType.POSSESSION, 1, Culture.SAURON, PossessionClass.HAND_WEAPON, "Uruk Axe"); - } - - @Override - public Filterable getValidTargetFilter(String playerId, LotroGame game, PhysicalCard self) { - return Filters.and(Culture.SAURON, CardType.MINION); - } - - @Override - public int getStrength() { - return 1; - } - - @Override - public List getInPlayModifiers(LotroGame game, PhysicalCard self) { - List modifiers = new LinkedList<>(); - modifiers.add( - new StrengthModifier(self, Filters.and(Filters.hasAttached(self), Race.URUK_HAI), 2)); - return modifiers; - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/sauron/Card10_103.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/sauron/Card10_103.java deleted file mode 100644 index c171d6cc0..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/sauron/Card10_103.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.gempukku.lotro.cards.set10.sauron; - -import com.gempukku.lotro.common.CardType; -import com.gempukku.lotro.common.Culture; -import com.gempukku.lotro.common.Phase; -import com.gempukku.lotro.common.Side; -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.cardtype.AbstractPermanent; -import com.gempukku.lotro.logic.effects.ChooseAndWoundCharactersEffect; -import com.gempukku.lotro.logic.effects.RemoveThreatsEffect; -import com.gempukku.lotro.logic.timing.EffectResult; -import com.gempukku.lotro.logic.timing.PlayConditions; -import com.gempukku.lotro.logic.timing.TriggerConditions; - -import java.util.Collections; -import java.util.List; - -/** - * Set: Mount Doom - * Side: Shadow - * Culture: Sauron - * Twilight Cost: 1 - * Type: Condition • Support Area - * Game Text: To play, spot a [SAURON] minion. Each time the fellowship moves during the regroup phase, you may remove - * a threat to wound an unbound companion. - */ -public class Card10_103 extends AbstractPermanent { - public Card10_103() { - super(Side.SHADOW, 1, CardType.CONDITION, Culture.SAURON, "Window of the Eye"); - } - - @Override - public boolean checkPlayRequirements(LotroGame game, PhysicalCard self) { - return PlayConditions.canSpot(game, Culture.SAURON, CardType.MINION); - } - - @Override - public List getOptionalAfterTriggers(String playerId, LotroGame game, EffectResult effectResult, PhysicalCard self) { - if (TriggerConditions.moves(game, effectResult) - && PlayConditions.isPhase(game, Phase.REGROUP) - && PlayConditions.canRemoveThreat(game, self, 1)) { - OptionalTriggerAction action = new OptionalTriggerAction(self); - action.appendCost( - new RemoveThreatsEffect(self, 1)); - action.appendEffect( - new ChooseAndWoundCharactersEffect(action, playerId, 1, 1, Filters.unboundCompanion)); - return Collections.singletonList(action); - } - return null; - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/resources/card-stubs/set10-Sauron.hjson b/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/official/set10/set10-Sauron.hjson similarity index 60% rename from gemp-lotr/gemp-lotr-cards/src/main/resources/card-stubs/set10-Sauron.hjson rename to gemp-lotr/gemp-lotr-cards/src/main/resources/cards/official/set10/set10-Sauron.hjson index 95f558e96..22b093c32 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/resources/card-stubs/set10-Sauron.hjson +++ b/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/official/set10/set10-Sauron.hjson @@ -25,17 +25,17 @@ strength: 10 vitality: 3 site: 6 - /*requires: { - - } effects: [ - { - - } - { - - } - ]*/ + { + type: modifier + modifier: { + type: addKeyword + filter: roaming,culture(sauron),minion + keyword: damage + amount: 1 + } + } + ] gametext: Each roaming [sauron] minion is damage +1. lore: The foe who gave him his scar soon after gave him the adornment for his helm. promotext: "" @@ -72,17 +72,21 @@ strength: 9 vitality: 3 site: 6 - /*requires: { - - } effects: [ - { - - } - { - - } - ]*/ + { + type: activated + phase: skirmish + cost: { + type: exert + filter: self + } + effect: { + type: modifyStrength + filter: choose(roaming,culture(sauron),minion) + amount: 3 + } + } + ] gametext: Skirmish: Exert this minion to make a roaming [sauron] minion strength +3. lore: The sun gleamed red.... promotext: "" @@ -119,17 +123,16 @@ strength: 9 vitality: 3 site: 6 - /*requires: { - - } effects: [ - { - - } - { - - } - ]*/ + { + type: modifier + modifier: { + type: addKeyword + filter: roaming,culture(sauron),minion + keyword: fierce + } + } + ] gametext: Each roaming [sauron] minion is fierce. lore: In vain men shook their fists at the pitiless foes that swarmed before the Gate. promotext: "" @@ -166,17 +169,36 @@ strength: 7 vitality: 2 site: 6 - /*requires: { - - } effects: [ - { - - } - { - - } - ]*/ + { + type: activated + phase: shadow + cost: { + type: choice + texts: [ + Exert this minion + Discard this minion + ] + effects: [ + { + type: exert + filter: self + } + { + type: discard + filter: self + } + ] + } + effect: { + type: addKeyword + filter: choose(culture(sauron),minion) + count: any + keyword: roaming + until: regroup + } + } + ] gametext: Shadow: Exert or discard this minion to make each [sauron] minion you spot roaming until the regroup phase. lore: The lines of fire became flowing torrents, file upon file of Orcs bearing flames.... promotext: "" @@ -210,17 +232,39 @@ twilight: 2 type: Condition keywords: Support Area - /*requires: { - - } effects: [ - { - - } - { - - } - ]*/ + { + type: toPlay + requires: { + type: canSpot + filter: culture(sauron),minion + } + } + { + type: trigger + trigger: { + type: movesTo + filter: siteNumber(8-9) + } + effect: { + type: exert + filter: all(ringBound,companion) + } + } + { + type: activated + phase: shadow + cost: { + type: discard + filter: self + } + effect: { + type: play + filter: choose(culture(sauron),minion) + cost: -2 + } + } + ] gametext: To play, spot a [sauron] minion.
Each time the fellowship moves to any site 8 or 9, exert each Ring-bound companion.
Shadow: Discard this condition to play a [sauron] minion. Its twilight cost is -2. lore: There the last living things gave up their struggle.... promotext: "" @@ -254,20 +298,31 @@ twilight: 1 type: Event keywords: Skirmish - /*requires: { - - } - */ effects: { type: event - cost: { - type: SendMessage - text: Placeholder effect for development. - }, effect: [ { - type: SendMessage - text: Placeholder effect for development. + type: modifyStrength + filter: choose(culture(sauron),minion) + amount: { + type: forEachYouCanSpot + filter: controlledSite + multiplier: 2 + } + memorize: chosenMinion + } + { + type: conditional + requires: { + type: haveInitiative + side: shadow + } + effect: { + type: addKeyword + filter: memory(chosenMinion) + keyword: fierce + until: regroup + } } ] } @@ -308,17 +363,6 @@ vitality: 2 site: 6 keywords: Damage+1 - /*requires: { - - } - effects: [ - { - - } - { - - } - ]*/ gametext: Damage +1. lore: ...this stronghold had been built not to keep enemies out of Mordor, but to keep them in. promotext: "" @@ -356,17 +400,21 @@ vitality: 2 site: 6 keywords: Damage+1 - /*requires: { - - } effects: [ - { - - } - { - - } - ]*/ + { + type: modifier + modifier: { + type: addKeyword + requires: { + type: canSpot + filter: possession + count: 3 + } + filter: self + keyword: fierce + } + } + ] gametext: Damage +1.
While you can spot 3 possessions, this minion is fierce. lore: A message came: Nazgûl uneasy. Spies feared on stairs. Double vigilance. Patrol to head of Stairs."'" promotext: "" @@ -404,17 +452,20 @@ vitality: 2 site: 6 keywords: Damage+1 - /*requires: { - - } effects: [ - { - - } - { - - } - ]*/ + { + type: modifyOwnCost + requires: { + type: canSpot + filter: another,culture(sauron),urukHai + } + amount: { + type: forEachYouCanSpot + filter: possession + multiplier: -1 + } + } + ] gametext: Damage +1.
If you can spot another [sauron] Uruk-hai, this minion is twilight cost -1 for each possession you can spot. lore: Any trespasser found by the guard is to be held at the tower.' promotext: "" @@ -452,17 +503,6 @@ vitality: 2 site: 6 keywords: Damage+1 - /*requires: { - - } - effects: [ - { - - } - { - - } - ]*/ gametext: Damage +1. lore: ...treachery had yielded up the Tower to the Lord of the Ringwraiths, and now for long years it had been held by evil things. promotext: "" @@ -496,17 +536,43 @@ twilight: 0 type: Condition keywords: Support Area - /*requires: { - - } effects: [ - { - - } - { - - } - ]*/ + { + type: modifier + modifier: { + type: modifyStrength + requires: { + type: haveInitiative + side: shadow + } + filter: your,culture(sauron),minion + amount: 2 + } + } + { + type: activated + phase: skirmish + cost: { + type: discard + filter: self + } + effect: { + type: modifyStrength + filter: choose(culture(sauron),minion) + memorize: chosenMinion + amount: { + type: condition + condition: { + type: memoryMatches + memory: chosenMinion + filter: roaming + } + true: 4 + false: 2 + } + } + } + ] gametext: While you have initiative, each of your [sauron] minions is strength +2.
Skirmish: Discard this condition to make a [sauron] minion strength +2 (or +4 if it is roaming). lore: Soon there was great peril of fire behind the wall.... promotext: "" @@ -544,17 +610,24 @@ vitality: 2 site: 5 keywords: Besieger - /*requires: { - - } effects: [ - { - - } - { - - } - ]*/ + { + type: modifyOwnCost + requires: { + type: controlsSite + } + amount: -2 + } + { + type: activated + phase: regroup + effect: { + type: stackCards + filter: self + where: choose(controlledSite) + } + } + ] gametext: Besieger.
While you control a site, this minion's twilight cost is -2.
Regroup: Stack this minion on a site you control. lore: ...new foes came swirling behind.... promotext: "" @@ -592,17 +665,36 @@ vitality: 3 site: 5 keywords: Besieger - /*requires: { - - } effects: [ - { - - } - { - - } - ]*/ + { + type: trigger + optional: true + trigger: { + type: played + filter: self + } + requires: [ + { + type: canSpot + filter: companion + count: 6 + } + { + type: canSpot + filter: another,besieger + } + ] + effect: [ + { + type: playCardFromDiscard + filter: choose(besieger) + } + { + type: takeControlOfSite + } + ] + } + ] gametext: Besieger.
When you play this minion, you may spot 6 companions and another besieger to play a besieger from your discard pile and control a site. lore: File after file passed.... promotext: "" @@ -641,17 +733,35 @@ vitality: 3 site: 4 keywords: Besieger - /*requires: { - - } effects: [ - { - - } - { - - } - ]*/ + { + type: trigger + trigger: { + type: played + filter: self + } + effect: { + type: wound + player: free people + filter: choose(companion) + count: { + type: forEachYouCanSpot + filter: controlledByOtherPlayer + } + } + } + { + type: modifier + modifier: { + type: addKeyword + requires: { + type: controlsSite + } + filter: self + keyword: fierce + } + } + ] gametext: Besieger.
When you play Gothmog, the Free Peoples player must wound a companion for each site you control.
While you control a site, Gothmog is fierce. lore: Move into the City. Kill all in your path.' promotext: "" @@ -687,18 +797,32 @@ strength: 1 vitality: 1 itemclass: Mount - #target: a [sauron] Orc - /*requires: { - - } + target: culture(sauron),orc effects: [ - { - - } - { - - } - ]*/ + { + type: modifier + modifier: { + type: modifyStrength + filter: bearer + amount: { + type: condition + condition: { + type: canSpot + filter: bearer,name(Gothmog) + } + true: { + type: forEachYouCanSpot + filter: controlledSite + multiplier: 2 + } + false: { + type: forEachYouCanSpot + filter: controlledSite + } + } + } + } + ] gametext: Bearer must be a [sauron] Orc.
For each site you control, bearer is strength +1 (or +2 if bearer is Gothmog). lore: Form ranks, you maggots! Form ranks!' promotext: "" @@ -735,17 +859,22 @@ strength: 9 vitality: 3 site: 6 - /*requires: { - - } effects: [ - { - - } - { - - } - ]*/ + { + type: modifier + modifier: { + type: cantTakeWounds + requires: { + type: not + requires: { + type: phase + phase: skirmish + } + } + filter: culture(sauron),orc,hasAttached(possession) + } + } + ] gametext: Each [sauron] Orc bearing a possession cannot take wounds (except during skirmish phases). lore: There came a long rolling of great drums like thunder in the mountains.... promotext: "" @@ -782,17 +911,34 @@ strength: 9 vitality: 3 site: 6 - /*requires: { - - } effects: [ - { - - } - { - - } - ]*/ + { + type: activated + phase: shadow + requires: [ + { + type: cantSpot + filter: another,minion + } + { + type: twilightPoolLessThan + amount: 4 + } + ] + effect: { + type: addTwilight + amount: { + type: condition + condition: { + type: canSpot + filter: self,roaming + } + true: 5 + false: 3 + } + } + } + ] gametext: Shadow: If you cannot spot another minion and there are 3 or fewer twilight tokens, add (3) (or (5) if this minion is roaming). lore: The onslaught of Mordor broke like a wave on the beleaguered hills.... promotext: "" @@ -833,17 +979,42 @@ Besieger Fierce ] - /*requires: { - - } effects: [ - { - - } - { - - } - ]*/ + { + type: activated + phase: shadow + cost: { + type: exert + filter: self + } + requires: { + type: canSpot + filter: another,culture(sauron),minion + } + effect: { + type: if + condition: { + type: cantSpotFPCultures + amount: 3 + } + true: { + type: preventable + player: free people + text: Would you like to exert a companion to prevent taking control of site? + cost: { + type: exert + filter: choose(companion) + } + effect: { + type: takeControlOfSite + } + } + false: { + type: takeControlOfSite + } + } + } + ] gametext: Besieger. Fierce.
Shadow: Exert this minion and spot another [sauron] minion to control a site. If you cannot spot 3 Free Peoples cultures, the Free Peoples player may exert a companion to prevent this. lore: "" promotext: "" @@ -880,17 +1051,30 @@ strength: 9 vitality: 3 site: 6 - /*requires: { - - } effects: [ - { - - } - { - - } - ]*/ + { + type: activated + phase: shadow + requires: { + type: canSpotFPCultures + amount: 4 + } + cost: { + type: exert + filter: choose(another,culture(sauron),minion) + times: 2 + } + effect: [ + { + type: addTwilight + amount: 3 + } + { + type: drawCards + } + ] + } + ] gametext: Shadow: Spot 4 Free Peoples cultures and exert another [sauron] minion twice to add (3) and draw a card. lore: ...a braying of horns... shook the very stones and stunned men's ears. promotext: "" @@ -927,17 +1111,27 @@ strength: 10 vitality: 3 site: 6 - /*requires: { - - } effects: [ - { - - } - { - - } - ]*/ + { + type: toPlay + requires: { + type: canSpot + filter: culture(sauron),minion + } + } + { + type: activated + phase: shadow + cost: { + type: removeThreats + amount: 2 + } + effect: { + type: discard + filter: choose(condition) + } + } + ] gametext: To play, spot a [sauron] minion.
Shadow: Remove 2 threats to discard a condition. lore: The Captains of the West were foundering in a gathering sea. promotext: "" @@ -975,17 +1169,20 @@ vitality: 3 site: 6 keywords: Enduring - /*requires: { - - } effects: [ - { - - } - { - - } - ]*/ + { + type: modifier + modifier: { + type: modifyStrength + filter: self + amount: { + type: forEachWound + filter: self + multiplier: 2 + } + } + } + ] gametext: Enduring.
For each wound on this minion, it is strength +2. lore: All about the hills the hosts of Mordor raged. promotext: "" @@ -1019,17 +1216,61 @@ twilight: 1 type: Condition keywords: Support Area - /*requires: { - - } effects: [ - { - - } - { - - } - ]*/ + { + type: trigger + optional: true + trigger: { + type: takesWound + filter: roaming,culture(sauron),minion + } + effect: { + type: addTokens + culture: sauron + filter: self + } + } + { + type: activated + phase: regroup + cost: { + type: choice + texts: [ + Exert an Uruk-hai + Discard a {sauron} minion + ] + effects: [ + { + type: exert + filter: choose(urukHai) + } + { + type: discard + filter: choose(culture(sauron),minion) + } + ] + } + effect: { + type: addTokens + culture: sauron + filter: self + } + } + { + type: activated + phase: skirmish + cost: { + type: removeTokens + filter: self + count: 2 + } + effect: { + type: modifyStrength + filter: choose(culture(sauron),minion) + amount: 2 + } + } + ] gametext: Each time a roaming [sauron] minion takes a wound, you may add a [sauron] token here.
Regroup: Exert an Uruk-hai or discard a [sauron] minion to add a [sauron] token here.
Skirmish: Remove 2 [sauron] tokens from here to make a [sauron] minion strength +2. lore: ...even fear by night had scarcely over-counted them. promotext: "" @@ -1063,26 +1304,21 @@ twilight: 0 type: Event keywords: Response - /*requires: { - - } - */ effects: { type: responseEvent trigger: { - + type: addsBurden } - cost: { - type: SendMessage - text: Placeholder effect for development. + requires: { + type: canSpot + filter: culture(sauron),minion } effect: [ { - type: SendMessage - text: Placeholder effect for development. + type: addBurdens } ] - ] + } gametext: If a burden is added, spot a [sauron] minion to add an additional burden. lore: ...I do not choose now to do what I came to do. I will not do this deed.' promotext: "" @@ -1116,26 +1352,27 @@ twilight: 0 type: Event keywords: Response - /*requires: { - - } - */ effects: { type: responseEvent trigger: { - + type: played + filter: side(free people),possession } cost: { - type: SendMessage - text: Placeholder effect for development. + type: discardFromHand + forced: false + filter: choose(culture(sauron),minion) } effect: [ { - type: SendMessage - text: Placeholder effect for development. + type: addModifier + modifier: { + type: cantPlayCards + filter: side(free people) + } } ] - ] + } gametext: If the Free Peoples player plays a possession, discard a [sauron] minion from hand to prevent him or her from playing any more cards until the end of this phase. lore: ...they began to throw missiles marvelously high, so that they passed right above the battlement and fell thudding within the first circle of the City.... promotext: "" @@ -1174,17 +1411,20 @@ vitality: 3 site: 6 keywords: Damage+1 - /*requires: { - - } effects: [ - { - - } - { - - } - ]*/ + { + type: trigger + optional: true + trigger: { + type: losesSkirmish + filter: self + } + effect: { + type: exert + filter: choose(character) + } + } + ] gametext: Damage +1.
Each time Shagrat loses a skirmish, you may exert a character. lore: If you think I'm so damaged that it's safe to flout me, you're mistaken.' promotext: "" @@ -1218,20 +1458,30 @@ twilight: 1 type: Event keywords: Shadow - /*requires: { - - } - */ effects: { type: event cost: { - type: SendMessage - text: Placeholder effect for development. + type: exert + filter: choose(culture(sauron),minion) }, effect: [ { - type: SendMessage - text: Placeholder effect for development. + type: choice + texts: [ + Return a condition + Return 2 {shire} conditions + ] + effects: [ + { + type: returnToHand + filter: choose(side(free people),condition) + } + { + type: returnToHand + filter: choose(side(free people),condition,culture(shire)) + count: 2 + } + ] } ] } @@ -1275,17 +1525,26 @@ Damage+1 Fierce ] - /*requires: { - - } effects: [ - { - - } - { - - } - ]*/ + { + type: toPlay + requires: { + type: canSpot + filter: culture(sauron),minion + } + } + { + type: modifier + modifier: { + type: modifyStrength + filter: self + amount: { + type: forEachYouCanSpot + filter: possession + } + } + } + ] gametext: Damage +1. Fierce. To play, spot a [sauron] minion.
This minion is strength +1 for each possession you can spot. lore: ...these fell creatures would bite the throats of those that they threw down. promotext: "" @@ -1320,18 +1579,17 @@ type: Possession strength: 1 itemclass: Hand weapon - #target: a [sauron] minion - /*requires: { - - } + target: culture(sauron),minion effects: [ - { - - } - { - - } - ]*/ + { + type: modifier + modifier: { + type: modifyStrength + filter: bearer,urukHai + amount: 2 + } + } + ] gametext: Bearer must be a [sauron] minion.
If bearer is an Uruk-hai, it is strength +2. lore: A sharp edge for the sharp-natured. promotext: "" @@ -1365,17 +1623,33 @@ twilight: 1 type: Condition keywords: Support Area - /*requires: { - - } effects: [ - { - - } - { - - } - ]*/ + { + type: toPlay + requires: { + type: canSpot + filter: culture(sauron),minion + } + } + { + type: trigger + optional: true + trigger: { + type: moves + } + requires: { + type: phase + phase: regroup + } + cost: { + type: removeThreats + } + effect: { + type: wound + filter: choose(unbound,companion) + } + } + ] gametext: To play, spot a [sauron] minion.
Each time the fellowship moves during the regroup phase, you may remove a threat to wound an unbound companion. lore: ...as from some great window immeasurably high there stabbed northward a flame of red, the flicker of a piercing Eye.... promotext: ""