diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set20/dunland/Card20_035.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set20/dunland/Card20_035.java deleted file mode 100644 index 813368f6d..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set20/dunland/Card20_035.java +++ /dev/null @@ -1,73 +0,0 @@ -package com.gempukku.lotro.cards.set20.dunland; - -import com.gempukku.lotro.cards.AbstractPermanent; -import com.gempukku.lotro.cards.PlayConditions; -import com.gempukku.lotro.cards.TriggerConditions; -import com.gempukku.lotro.cards.effects.ChoiceEffect; -import com.gempukku.lotro.cards.effects.PutCardFromDiscardIntoHandEffect; -import com.gempukku.lotro.cards.effects.SelfDiscardEffect; -import com.gempukku.lotro.cards.effects.StackCardFromDiscardEffect; -import com.gempukku.lotro.common.CardType; -import com.gempukku.lotro.common.Culture; -import com.gempukku.lotro.common.Side; -import com.gempukku.lotro.common.Zone; -import com.gempukku.lotro.filters.Filters; -import com.gempukku.lotro.game.PhysicalCard; -import com.gempukku.lotro.game.state.LotroGame; -import com.gempukku.lotro.logic.actions.ActivateCardAction; -import com.gempukku.lotro.logic.effects.ChooseActiveCardEffect; -import com.gempukku.lotro.logic.timing.Effect; -import com.gempukku.lotro.logic.timing.EffectResult; -import com.gempukku.lotro.logic.timing.results.DiscardCardFromHandResult; - -import java.util.Collections; -import java.util.LinkedList; -import java.util.List; - -/** - * 1 - * Wily Hillmen - * Dunland Condition • Support Area - * Response: If a [Dunland] card is discarded from your hand, discard this condition to take that card back into hand - * or stack it on a site you control. - */ -public class Card20_035 extends AbstractPermanent { - public Card20_035() { - super(Side.SHADOW, 1, CardType.CONDITION, Culture.DUNLAND, Zone.SUPPORT, "Wily Hillmen"); - } - - @Override - public List getOptionalInPlayAfterActions(String playerId, LotroGame game, final EffectResult effectResult, final PhysicalCard self) { - if (TriggerConditions.forEachDiscardedFromHand(game, effectResult, Culture.DUNLAND) - && PlayConditions.canSelfDiscard(self, game)) { - final PhysicalCard discardedCard = ((DiscardCardFromHandResult) effectResult).getDiscardedCard(); - - final ActivateCardAction action = new ActivateCardAction(self); - action.appendCost( - new SelfDiscardEffect(self)); - - List possibleEffects= new LinkedList(); - if (PlayConditions.canSpot(game, Filters.siteControlled(playerId))) - possibleEffects.add( - new ChooseActiveCardEffect(self, playerId, "Choose controlled site", Filters.siteControlled(playerId)) { - @Override - protected void cardSelected(LotroGame game, PhysicalCard site) { - action.appendEffect( - new StackCardFromDiscardEffect(discardedCard, site)); - } - - @Override - public String getText(LotroGame game) { - return "Stack on a site you control"; - } - }); - possibleEffects.add( - new PutCardFromDiscardIntoHandEffect(discardedCard)); - action.appendEffect( - new ChoiceEffect(action, playerId, possibleEffects)); - - return Collections.singletonList(action); - } - return null; - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set20/fallenRealms/Card20_115.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set20/fallenRealms/Card20_115.java deleted file mode 100644 index e4fb9d234..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set20/fallenRealms/Card20_115.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.gempukku.lotro.cards.set20.fallenRealms; - -import com.gempukku.lotro.cards.AbstractMinion; -import com.gempukku.lotro.cards.PlayConditions; -import com.gempukku.lotro.cards.effects.choose.ChooseAndExertCharactersEffect; -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.effects.HealCharactersEffect; -import com.gempukku.lotro.logic.timing.Action; - -import java.util.Collections; -import java.util.List; - -/** - * 1 - * Easterling Grunt - * Fallen Realms Minion • Man - * 5 2 4 - * Easterling. - * Shadow: Exert a [Fallen Realms] minion to heal this minion. - */ -public class Card20_115 extends AbstractMinion { - public Card20_115() { - super(1, 5, 2, 4, Race.MAN, Culture.FALLEN_REALMS, "Easterling Grunt"); - addKeyword(Keyword.EASTERLING); - } - - @Override - protected List getExtraPhaseActions(String playerId, LotroGame game, PhysicalCard self) { - if (PlayConditions.canUseShadowCardDuringPhase(game, Phase.SHADOW, self, 0) - && PlayConditions.canExert(self, game, Culture.FALLEN_REALMS, CardType.MINION)) { - ActivateCardAction action = new ActivateCardAction(self); - action.appendCost( - new ChooseAndExertCharactersEffect(action, playerId, 1, 1, Culture.FALLEN_REALMS, CardType.MINION)); - action.appendEffect( - new HealCharactersEffect(self, self)); - return Collections.singletonList(action); - } - return null; - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set20/fallenRealms/Card20_122.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set20/fallenRealms/Card20_122.java deleted file mode 100644 index 8438dea2f..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set20/fallenRealms/Card20_122.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.gempukku.lotro.cards.set20.fallenRealms; - -import com.gempukku.lotro.cards.AbstractPermanent; -import com.gempukku.lotro.cards.PlayConditions; -import com.gempukku.lotro.cards.TriggerConditions; -import com.gempukku.lotro.common.*; -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.AddThreatsEffect; -import com.gempukku.lotro.logic.timing.EffectResult; - -import java.util.Collections; -import java.util.List; - -/** - * 3 - * •Flashing Spears - * Fallen Realms Condition • Support Area - * Each time you wound a companion in the regroup phase, add a threat. - */ -public class Card20_122 extends AbstractPermanent { - public Card20_122() { - super(Side.SHADOW, 3, CardType.CONDITION, Culture.FALLEN_REALMS, Zone.SUPPORT, "Flashing Spears", null, true); - } - - @Override - public List getRequiredAfterTriggers(LotroGame game, EffectResult effectResult, PhysicalCard self) { - if (TriggerConditions.forEachWounded(game, effectResult, CardType.COMPANION) - && PlayConditions.isPhase(game, Phase.REGROUP)) { - RequiredTriggerAction action = new RequiredTriggerAction(self); - action.appendEffect( - new AddThreatsEffect(self.getOwner(), self, 1)); - return Collections.singletonList(action); - } - return null; - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set20/fallenRealms/Card20_128.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set20/fallenRealms/Card20_128.java deleted file mode 100644 index 1d1f3f781..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set20/fallenRealms/Card20_128.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.gempukku.lotro.cards.set20.fallenRealms; - -import com.gempukku.lotro.cards.AbstractPermanent; -import com.gempukku.lotro.cards.TriggerConditions; -import com.gempukku.lotro.cards.effects.SelfDiscardEffect; -import com.gempukku.lotro.common.*; -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.AddTwilightEffect; -import com.gempukku.lotro.logic.timing.EffectResult; - -import java.util.Collections; -import java.util.List; - -/** - * 2 - * •Marching Onward - * Fallen Realms Condition • Support Area - * Each time an Easterling exerts, add (1). - * Discard this condition at the beginning of the regroup phase. - */ -public class Card20_128 extends AbstractPermanent { - public Card20_128() { - super(Side.SHADOW, 2, CardType.CONDITION, Culture.FALLEN_REALMS, Zone.SUPPORT, "Marching Onward", null, true); - } - - @Override - public List getRequiredAfterTriggers(LotroGame game, EffectResult effectResult, PhysicalCard self) { - if (TriggerConditions.forEachExerted(game, effectResult, Keyword.EASTERLING)) { - RequiredTriggerAction action = new RequiredTriggerAction(self); - action.appendEffect( - new AddTwilightEffect(self, 1)); - return Collections.singletonList(action); - } - if (TriggerConditions.startOfPhase(game, effectResult, Phase.REGROUP)) { - RequiredTriggerAction action = new RequiredTriggerAction(self); - action.appendEffect( - new SelfDiscardEffect(self)); - return Collections.singletonList(action); - } - return null; - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set20/isengard/Card20_238.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set20/isengard/Card20_238.java deleted file mode 100644 index 60164c211..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set20/isengard/Card20_238.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.gempukku.lotro.cards.set20.isengard; - -import com.gempukku.lotro.cards.AbstractPermanent; -import com.gempukku.lotro.cards.PlayConditions; -import com.gempukku.lotro.cards.TriggerConditions; -import com.gempukku.lotro.cards.effects.CancelEventEffect; -import com.gempukku.lotro.cards.effects.choose.ChooseAndExertCharactersEffect; -import com.gempukku.lotro.cards.results.PlayEventResult; -import com.gempukku.lotro.common.CardType; -import com.gempukku.lotro.common.Culture; -import com.gempukku.lotro.common.Side; -import com.gempukku.lotro.common.Zone; -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.timing.EffectResult; - -import java.util.Collections; -import java.util.List; - -/** - * 1 - * Wizard’s Grasp - * Isengard Condition • Support Area - * Response: If a Free Peoples' event is played, exert Saruman twice to cancel that event. - */ -public class Card20_238 extends AbstractPermanent { - public Card20_238() { - super(Side.SHADOW, 1, CardType.CONDITION, Culture.ISENGARD, Zone.SUPPORT, "Wizard's Grasp"); - } - - @Override - public List getOptionalInPlayAfterActions(String playerId, LotroGame game, EffectResult effectResult, PhysicalCard self) { - if (TriggerConditions.played(game, effectResult, Side.FREE_PEOPLE, CardType.EVENT) - && PlayConditions.canExert(self, game, 2, Filters.saruman)) { - ActivateCardAction action = new ActivateCardAction(self); - action.appendCost( - new ChooseAndExertCharactersEffect(action, playerId, 1, 1, 2, Filters.saruman)); - action.appendEffect( - new CancelEventEffect(self, (PlayEventResult) effectResult)); - return Collections.singletonList(action); - } - return null; - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set20/moria/Card20_282.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set20/moria/Card20_282.java deleted file mode 100644 index a05f86737..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set20/moria/Card20_282.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.gempukku.lotro.cards.set20.moria; - -import com.gempukku.lotro.cards.AbstractEvent; -import com.gempukku.lotro.cards.PlayConditions; -import com.gempukku.lotro.cards.actions.PlayEventAction; -import com.gempukku.lotro.cards.modifiers.evaluator.CountSpottableEvaluator; -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.effects.AddTwilightEffect; - -/** - * 0 - * War Drums - * Moria Event • Shadow - * Spot a Goblin stacked on a [Moria] condition to add (1) for each possession you can spot. - */ -public class Card20_282 extends AbstractEvent { - public Card20_282() { - super(Side.SHADOW, 0, Culture.MORIA, "War Drums", Phase.SHADOW); - } - - @Override - public boolean checkPlayRequirements(String playerId, LotroGame game, PhysicalCard self, int withTwilightRemoved, int twilightModifier, boolean ignoreRoamingPenalty, boolean ignoreCheckingDeadPile) { - return super.checkPlayRequirements(playerId, game, self, withTwilightRemoved, twilightModifier, ignoreRoamingPenalty, ignoreCheckingDeadPile) - && PlayConditions.isActive(game, Culture.MORIA, CardType.CONDITION, Filters.hasStacked(Race.GOBLIN)); - } - - @Override - public PlayEventAction getPlayCardAction(String playerId, LotroGame game, PhysicalCard self, int twilightModifier, boolean ignoreRoamingPenalty) { - PlayEventAction action = new PlayEventAction(self); - action.appendEffect( - new AddTwilightEffect(self, - new CountSpottableEvaluator(CardType.POSSESSION))); - return action; - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set20/sauron/Card20_352.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set20/sauron/Card20_352.java deleted file mode 100644 index fe2e7878b..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set20/sauron/Card20_352.java +++ /dev/null @@ -1,45 +0,0 @@ -package com.gempukku.lotro.cards.set20.sauron; - -import com.gempukku.lotro.cards.AbstractAttachable; -import com.gempukku.lotro.cards.modifiers.conditions.CanSpotFPCulturesCondition; -import com.gempukku.lotro.cards.modifiers.conditions.NotCondition; -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.modifiers.KeywordModifier; -import com.gempukku.lotro.logic.modifiers.Modifier; -import com.gempukku.lotro.logic.modifiers.StrengthModifier; - -import java.util.LinkedList; -import java.util.List; - -/** - * 1 - * Blade of Morannon - * Sauron Possession • Hand weapon - * 2 - * Bearer must be a [Sauron] Orc. - * While you cannot spot 3 Free Peoples cultures, bearer is fierce. - */ -public class Card20_352 extends AbstractAttachable { - public Card20_352() { - super(Side.SHADOW, CardType.POSSESSION, 1, Culture.SAURON, PossessionClass.HAND_WEAPON, "Blade of Morannon"); - } - - @Override - protected Filterable getValidTargetFilter(String playerId, LotroGame game, PhysicalCard self) { - return Filters.and(Culture.SAURON, Race.ORC); - } - - @Override - public List getAlwaysOnModifiers(LotroGame game, PhysicalCard self) { - List modifiers = new LinkedList(); - modifiers.add( - new StrengthModifier(self, Filters.hasAttached(self), 2)); - modifiers.add( - new KeywordModifier(self, Filters.hasAttached(self), - new NotCondition(new CanSpotFPCulturesCondition(self.getOwner(), 3)), Keyword.FIERCE, 1)); - return modifiers; - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set20/wraith/Card20_313.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set20/wraith/Card20_313.java deleted file mode 100644 index 66e6cb1a8..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set20/wraith/Card20_313.java +++ /dev/null @@ -1,56 +0,0 @@ -package com.gempukku.lotro.cards.set20.wraith; - -import com.gempukku.lotro.cards.AbstractPermanent; -import com.gempukku.lotro.cards.PlayConditions; -import com.gempukku.lotro.cards.TriggerConditions; -import com.gempukku.lotro.cards.effects.ChoiceEffect; -import com.gempukku.lotro.cards.effects.RemoveBurdenEffect; -import com.gempukku.lotro.cards.effects.choose.ChooseAndPreventCardEffect; -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.effects.ChooseAndHealCharactersEffect; -import com.gempukku.lotro.logic.effects.WoundCharactersEffect; -import com.gempukku.lotro.logic.timing.Effect; - -import java.util.Collections; -import java.util.LinkedList; -import java.util.List; - -/** - * 1 - * You Cannot Kill Them - * Ringwraith Condition • Support Area - * Response: If a Nazgul is about to take a wound, heal the Ring-bearer or remove a burden to prevent that wound. - */ -public class Card20_313 extends AbstractPermanent { - public Card20_313() { - super(Side.SHADOW, 1, CardType.CONDITION, Culture.WRAITH, Zone.SUPPORT, "You Cannot Kill Them"); - } - - @Override - public List getOptionalInPlayBeforeActions(String playerId, LotroGame game, Effect effect, PhysicalCard self) { - if (TriggerConditions.isGettingWounded(effect, game, Race.NAZGUL) - && (PlayConditions.canHeal(self, game, Filters.ringBearer) || PlayConditions.canRemoveBurdens(game, self, 1))) { - ActivateCardAction action = new ActivateCardAction(self); - List possibleCosts = new LinkedList(); - possibleCosts.add( - new ChooseAndHealCharactersEffect(action, playerId, Filters.ringBearer) { - @Override - public String getText(LotroGame game) { - return "Heal the Ring-bearer"; - } - }); - possibleCosts.add( - new RemoveBurdenEffect(playerId, self, 1)); - action.appendCost( - new ChoiceEffect(action, playerId, possibleCosts)); - action.appendEffect( - new ChooseAndPreventCardEffect(self, (WoundCharactersEffect) effect, playerId, "Choose a Nazgul to preven wound to", Race.NAZGUL)); - return Collections.singletonList(action); - } - return null; - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/resources/set20-rarity.txt b/gemp-lotr/gemp-lotr-cards/src/main/resources/set20-rarity.txt index a4c9bc28a..4909372d5 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/resources/set20-rarity.txt +++ b/gemp-lotr/gemp-lotr-cards/src/main/resources/set20-rarity.txt @@ -32,7 +32,6 @@ 20S32 20S33 20S34 -20S35 20S36 20S37 20S38 @@ -112,20 +111,17 @@ 20S112 20S113 20S114 -20S115 20S116 20S117 20S118 20S119 20S120 20S121 -20S122 20S123 20S124 20S125 20S126 20S127 -20S128 20S129 20S130 20S131 @@ -235,7 +231,6 @@ 20S235 20S236 20S237 -20S238 20S239 20S240 20S241 @@ -279,7 +274,6 @@ 20S279 20S280 20S281 -20S282 20S283 20S284 20S285 @@ -310,7 +304,6 @@ 20S310 20S311 20S312 -20S313 20S314 20S315 20S316 @@ -349,7 +342,6 @@ 20S349 20S350 20S351 -20S352 20S353 20S354 20S355