diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set12/gollum/Card12_037.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set12/gollum/Card12_037.java deleted file mode 100644 index 73d6dfc89..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set12/gollum/Card12_037.java +++ /dev/null @@ -1,69 +0,0 @@ -package com.gempukku.lotro.cards.set12.gollum; - -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.actions.RequiredTriggerAction; -import com.gempukku.lotro.logic.cardtype.AbstractPermanent; -import com.gempukku.lotro.logic.effects.ChoiceEffect; -import com.gempukku.lotro.logic.effects.ChooseAndWoundCharactersEffect; -import com.gempukku.lotro.logic.effects.SelfDiscardEffect; -import com.gempukku.lotro.logic.modifiers.Modifier; -import com.gempukku.lotro.logic.modifiers.SpotCondition; -import com.gempukku.lotro.logic.modifiers.TwilightCostModifier; -import com.gempukku.lotro.logic.timing.Effect; -import com.gempukku.lotro.logic.timing.EffectResult; -import com.gempukku.lotro.logic.timing.TriggerConditions; - -import java.util.Collections; -import java.util.LinkedList; -import java.util.List; - -/** - * Set: Black Rider - * Side: Free - * Culture: Gollum - * Twilight Cost: 0 - * Type: Condition • Support Area - * Game Text: While you can spot Smeagol, the Shadow number of each site is -1. Each time the fellowship moves, wound - * a companion or discard this condition. - */ -public class Card12_037 extends AbstractPermanent { - public Card12_037() { - super(Side.FREE_PEOPLE, 0, CardType.CONDITION, Culture.GOLLUM, "Come Away"); - } - - @Override - public List getInPlayModifiers(LotroGame game, PhysicalCard self) { -return Collections.singletonList(new TwilightCostModifier(self, CardType.SITE, new SpotCondition(Filters.smeagol), -1)); -} - - @Override - public List getRequiredAfterTriggers(LotroGame game, EffectResult effectResult, PhysicalCard self) { - if (TriggerConditions.moves(game, effectResult)) { - RequiredTriggerAction action = new RequiredTriggerAction(self); - List possibleEffects = new LinkedList<>(); - possibleEffects.add( - new ChooseAndWoundCharactersEffect(action, self.getOwner(), 1, 1, CardType.COMPANION) { - @Override - public String getText(LotroGame game) { - return "Wound a companion"; - } - }); - possibleEffects.add( - new SelfDiscardEffect(self) { - @Override - public String getText(LotroGame game) { - return "Discard this condition"; - } - }); - action.appendEffect( - new ChoiceEffect(action, self.getOwner(), possibleEffects)); - return Collections.singletonList(action); - } - return null; - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set12/gollum/Card12_038.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set12/gollum/Card12_038.java deleted file mode 100644 index 2f4e9f4d3..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set12/gollum/Card12_038.java +++ /dev/null @@ -1,58 +0,0 @@ -package com.gempukku.lotro.cards.set12.gollum; - -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.PlayUtils; -import com.gempukku.lotro.logic.actions.PlayEventAction; -import com.gempukku.lotro.logic.actions.PlayPermanentAction; -import com.gempukku.lotro.logic.cardtype.AbstractEvent; -import com.gempukku.lotro.logic.effects.ChooseArbitraryCardsEffect; -import com.gempukku.lotro.logic.effects.RevealTopCardsOfDrawDeckEffect; - -import java.util.Collection; -import java.util.List; - -/** - * Set: Black Rider - * Side: Shadow - * Culture: Gollum - * Twilight Cost: 0 - * Type: Event • Shadow - * Game Text: Spot X [GOLLUM] cards to reveal the top X cards of your draw deck. You may play a revealed minion. Its - * twilight cost is -2. - */ -public class Card12_038 extends AbstractEvent { - public Card12_038() { - super(Side.SHADOW, 0, Culture.GOLLUM, "From Deep in Shadow", Phase.SHADOW); - } - - @Override - public PlayEventAction getPlayEventCardAction(final String playerId, final LotroGame game, PhysicalCard self) { - final PlayEventAction action = new PlayEventAction(self); - int count = Filters.countActive(game, Culture.GOLLUM); - action.appendEffect( - new RevealTopCardsOfDrawDeckEffect(self, playerId, count) { - @Override - protected void cardsRevealed(List revealedCards) { - action.appendEffect( - new ChooseArbitraryCardsEffect(playerId, "Choose minion to play", revealedCards, Filters.and(CardType.MINION, Filters.playable(game, -2)), 0, 1) { - @Override - protected void cardsSelected(LotroGame game, Collection selectedCards) { - if (selectedCards.size() > 0) { - final PhysicalCard selectedCard = selectedCards.iterator().next(); - PlayPermanentAction action = (PlayPermanentAction) PlayUtils.getPlayCardAction(game, selectedCard, -2, Filters.any, false); - action.skipShufflingDeck(); - game.getActionsEnvironment().addActionToStack(action); - } - } - }); - } - }); - return action; - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set12/gollum/Card12_039.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set12/gollum/Card12_039.java deleted file mode 100644 index c903f417f..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set12/gollum/Card12_039.java +++ /dev/null @@ -1,45 +0,0 @@ -package com.gempukku.lotro.cards.set12.gollum; - -import com.gempukku.lotro.logic.cardtype.AbstractPermanent; -import com.gempukku.lotro.logic.timing.PlayConditions; -import com.gempukku.lotro.logic.timing.TriggerConditions; -import com.gempukku.lotro.logic.effects.choose.ChooseAndPutCardFromDiscardIntoHandEffect; -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.OptionalTriggerAction; -import com.gempukku.lotro.logic.effects.ChooseAndDiscardCardsFromHandEffect; -import com.gempukku.lotro.logic.timing.EffectResult; - -import java.util.Collections; -import java.util.List; - -/** - * Set: Black Rider - * Side: Shadow - * Culture: Gollum - * Twilight Cost: 3 - * Type: Condition • Support Area - * Game Text: Each time the fellowship moves to a mountain or underground site, you may discard a [GOLLUM] event from - * hand to take a minion from your discard pile into hand. - */ -public class Card12_039 extends AbstractPermanent { - public Card12_039() { - super(Side.SHADOW, 3, CardType.CONDITION, Culture.GOLLUM, "Not Alone"); - } - - @Override - public List getOptionalAfterTriggers(String playerId, LotroGame game, EffectResult effectResult, PhysicalCard self) { - if (TriggerConditions.movesTo(game, effectResult, Filters.or(Keyword.MOUNTAIN, Keyword.UNDERGROUND)) - && PlayConditions.canDiscardFromHand(game, playerId, 1, Culture.GOLLUM, CardType.EVENT)) { - OptionalTriggerAction action = new OptionalTriggerAction(self); - action.appendCost( - new ChooseAndDiscardCardsFromHandEffect(action, playerId, false, 1, Culture.GOLLUM, CardType.EVENT)); - action.appendEffect( - new ChooseAndPutCardFromDiscardIntoHandEffect(action, playerId, 1, 1, CardType.MINION)); - return Collections.singletonList(action); - } - return null; - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set12/gollum/Card12_040.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set12/gollum/Card12_040.java deleted file mode 100644 index 358994a7f..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set12/gollum/Card12_040.java +++ /dev/null @@ -1,58 +0,0 @@ -package com.gempukku.lotro.cards.set12.gollum; - -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.ActivateCardAction; -import com.gempukku.lotro.logic.cardtype.AbstractPermanent; -import com.gempukku.lotro.logic.effects.PlaySiteEffect; -import com.gempukku.lotro.logic.effects.SelfDiscardEffect; -import com.gempukku.lotro.logic.modifiers.Modifier; -import com.gempukku.lotro.logic.modifiers.StrengthModifier; -import com.gempukku.lotro.logic.timing.PlayConditions; - -import java.util.Collections; -import java.util.List; - -/** - * Set: Black Rider - * Side: Free - * Culture: Gollum - * Twilight Cost: 0 - * Type: Condition • Support Area - * Game Text: To play, spot Smeagol. Smeagol is strength +1. Regroup: Discard this condition to replace the fellowship's - * current site with a site from your adventure deck. - */ -public class Card12_040 extends AbstractPermanent { - public Card12_040() { - super(Side.FREE_PEOPLE, 0, CardType.CONDITION, Culture.GOLLUM, "There's Another Way"); - } - - @Override - public boolean checkPlayRequirements(LotroGame game, PhysicalCard self) { - return PlayConditions.canSpot(game, Filters.smeagol); - } - - @Override - public List getInPlayModifiers(LotroGame game, PhysicalCard self) { -return Collections.singletonList(new StrengthModifier(self, Filters.smeagol, 1)); -} - - @Override - public List getPhaseActionsInPlay(String playerId, LotroGame game, PhysicalCard self) { - if (PlayConditions.canUseFPCardDuringPhase(game, Phase.REGROUP, self) - && PlayConditions.canSelfDiscard(self, game)) { - ActivateCardAction action = new ActivateCardAction(self); - action.appendCost( - new SelfDiscardEffect(self)); - action.appendEffect( - new PlaySiteEffect(action, playerId, null, game.getGameState().getCurrentSiteNumber())); - return Collections.singletonList(action); - } - return null; - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set12/gollum/Card12_041.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set12/gollum/Card12_041.java deleted file mode 100644 index 61e4278ca..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set12/gollum/Card12_041.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.gempukku.lotro.cards.set12.gollum; - -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.CantHealModifier; -import com.gempukku.lotro.logic.modifiers.Modifier; -import com.gempukku.lotro.logic.modifiers.SpotCondition; -import com.gempukku.lotro.logic.timing.PlayConditions; - -import java.util.Collections; -import java.util.List; - -/** - * Set: Black Rider - * Side: Shadow - * Culture: Gollum - * Twilight Cost: 0 - * Type: Condition - * Game Text: To play, spot a [GOLLUM] card. Bearer must be a wounded companion. While you can spot a [GOLLUM] character - * or a [GOLLUM] card in your support area, bearer cannot heal. - */ -public class Card12_041 extends AbstractAttachable { - public Card12_041() { - super(Side.SHADOW, CardType.CONDITION, 0, Culture.GOLLUM, null, "Treacherous Little Toad"); - } - - @Override - public boolean checkPlayRequirements(LotroGame game, PhysicalCard self) { - return PlayConditions.canSpot(game, Culture.GOLLUM); - } - - @Override - public Filterable getValidTargetFilter(String playerId, LotroGame game, PhysicalCard self) { - return Filters.and(CardType.COMPANION, Filters.wounded); - } - - @Override - public List getInPlayModifiers(LotroGame game, PhysicalCard self) { -return Collections.singletonList(new CantHealModifier(self, new SpotCondition(Culture.GOLLUM, Filters.or(Filters.character, Filters.and(Zone.SUPPORT, Filters.owner(self.getOwner())))), Filters.hasAttached(self))); -} -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/resources/card-stubs/set12-Gollum.hjson b/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/official/set12/set12-Gollum.hjson similarity index 60% rename from gemp-lotr/gemp-lotr-cards/src/main/resources/card-stubs/set12-Gollum.hjson rename to gemp-lotr/gemp-lotr-cards/src/main/resources/cards/official/set12/set12-Gollum.hjson index e1a764870..693c18732 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/resources/card-stubs/set12-Gollum.hjson +++ b/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/official/set12/set12-Gollum.hjson @@ -23,6 +23,41 @@ type: Condition keywords: Support Area effects: [ + { + type: modifier + modifier: { + type: modifyCost + requires: { + type: canSpot + filter: name(Sméagol) + } + filter: site + amount: -1 + } + } + { + type: trigger + trigger: { + type: moves + } + effect: { + type: choice + texts: [ + Wound a companion + Discard this condition + ] + effects: [ + { + type: wound + filter: choose(companion) + } + { + type: discard + filter: self + } + ] + } + } ] gametext: While you can spot Sméagol, the Shadow number of each site is -1.
Each time the fellowship moves, wound a companion or discard this condition. lore: All ways are watched, yes,' said Gollum. 'Of course they are. But hobbits must try some way. This may be least watched.' @@ -61,9 +96,20 @@ effects: { type: event cost: { + type: chooseHowManyToSpot + filter: culture(gollum) + memorize: spotCount }, effect: [ { + type: revealTopCardsOfDrawDeck + count: memory(spotCount) + memorize: revealedCards + } + { + type: playCardFromDrawDeck + filter: choose(memory(revealedCards),minion) + cost: -2 } ] } @@ -101,6 +147,23 @@ type: Condition keywords: Support Area effects: [ + { + type: trigger + optional: true + trigger: { + type: movesTo + filter: or(mountain,underground) + } + cost: { + type: discardFromHand + forced: false + filter: choose(culture(gollum),event) + } + effect: { + type: putCardsFromDiscardIntoHand + filter: choose(minion) + } + } ] gametext: Each time the fellowship moves to a mountain or underground site, you may discard a [gollum] event from hand to take a minion from your discard pile into hand. lore: Gollum stalked the Ring-bearer over many leagues, awaiting the right opportunity to strike. @@ -136,6 +199,35 @@ type: Condition keywords: Support Area effects: [ + { + type: toPlay + requires: { + type: canSpot + filter: name(Sméagol) + } + } + { + type: modifier + modifier: { + type: modifyStrength + filter: name(Sméagol) + amount: 1 + } + } + { + type: activated + phase: regroup + cost: { + type: discard + filter: self + } + effect: { + type: playSite + number: { + type: currentSiteNumber + } + } + } ] gametext: To play, spot Sméagol.
Sméagol is strength +1.
Regroup: Discard this condition to replace the fellowship's current site with a site from your adventure deck. lore: Frodo felt a strange certainty that in this matter Gollum was for once not so far from the truth.... @@ -169,8 +261,26 @@ culture: Gollum twilight: 0 type: Condition - #target: a wounded companion + target: wounded,companion effects: [ + { + type: toPlay + requires: { + type: canSpot + filter: culture(gollum) + } + } + { + type: modifier + modifier: { + type: cantHeal + requires: { + type: canSpot + filter: culture(gollum),or(character,and(your,zone(support))) + } + filter: bearer + } + } ] gametext: To play, spot a [gollum] card.
Bearer must be a wounded companion.
While you can spot a [gollum] character or a [gollum] card in your support area, bearer cannot heal. lore: The Precious will be ours once the Hobbitses are dead!'