diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set3/moria/Card3_076.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set3/moria/Card3_076.java deleted file mode 100644 index d07e17e46..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set3/moria/Card3_076.java +++ /dev/null @@ -1,53 +0,0 @@ -package com.gempukku.lotro.cards.set3.moria; - -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.PlayEventAction; -import com.gempukku.lotro.logic.cardtype.AbstractEvent; -import com.gempukku.lotro.logic.effects.AddTwilightEffect; -import com.gempukku.lotro.logic.effects.RevealRandomCardsFromHandEffect; - -import java.util.List; - -/** - * Set: Realms of Elf-lords - * Side: Shadow - * Culture: Moria - * Twilight Cost: 2 - * Type: Event - * Game Text: Shadow: Spot a [MORIA] minion to reveal a card at random from the Free Peoples player's hand. Add (X), - * where X is the twilight cost of the card revealed. - */ -public class Card3_076 extends AbstractEvent { - public Card3_076() { - super(Side.SHADOW, 2, Culture.MORIA, "Dangerous Gamble", Phase.SHADOW); - } - - @Override - public boolean checkPlayRequirements(LotroGame game, PhysicalCard self) { - return Filters.canSpot(game, Culture.MORIA, CardType.MINION); - } - - @Override - public PlayEventAction getPlayEventCardAction(String playerId, LotroGame game, final PhysicalCard self) { - final PlayEventAction action = new PlayEventAction(self); - action.appendEffect( - new RevealRandomCardsFromHandEffect(playerId, game.getGameState().getCurrentPlayerId(), self, 1) { - @Override - protected void cardsRevealed(List revealedCards) { - if (revealedCards.size() > 0) { - PhysicalCard revealedCard = revealedCards.get(0); - int twilightCost = revealedCard.getBlueprint().getTwilightCost(); - action.appendEffect( - new AddTwilightEffect(self, twilightCost)); - } - } - }); - return action; - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set3/moria/Card3_077.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set3/moria/Card3_077.java deleted file mode 100644 index 800fbefc4..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set3/moria/Card3_077.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.gempukku.lotro.cards.set3.moria; - -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.RequiredTriggerAction; -import com.gempukku.lotro.logic.cardtype.AbstractPermanent; -import com.gempukku.lotro.logic.effects.AddTwilightEffect; -import com.gempukku.lotro.logic.timing.EffectResult; -import com.gempukku.lotro.logic.timing.TriggerConditions; - -import java.util.Collections; -import java.util.List; - -/** - * Set: Realms of Elf-lords - * Side: Shadow - * Culture: Moria - * Twilight Cost: 1 - * Type: Condition - * Game Text: To play, spot a [MORIA] Orc. Plays to your support area. Each time the fellowship moves during - * the regroup phase, add (2). - */ -public class Card3_077 extends AbstractPermanent { - public Card3_077() { - super(Side.SHADOW, 1, CardType.CONDITION, Culture.MORIA, "Depths of Moria"); - } - - @Override - public boolean checkPlayRequirements(LotroGame game, PhysicalCard self) { - return Filters.canSpot(game, Culture.MORIA, Race.ORC); - } - - @Override - public List getRequiredAfterTriggers(LotroGame game, EffectResult effectResult, PhysicalCard self) { - if (TriggerConditions.moves(game, effectResult) - && game.getGameState().getCurrentPhase() == Phase.REGROUP) { - RequiredTriggerAction action = new RequiredTriggerAction(self); - action.appendEffect( - new AddTwilightEffect(self, 2)); - return Collections.singletonList(action); - } - return null; - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set3/moria/Card3_078.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set3/moria/Card3_078.java deleted file mode 100644 index 393a6ecc8..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set3/moria/Card3_078.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.gempukku.lotro.cards.set3.moria; - -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.ChooseActiveCardEffect; -import com.gempukku.lotro.logic.modifiers.KeywordModifier; -import com.gempukku.lotro.logic.timing.PlayConditions; - -/** - * Set: Realms of Elf-lords - * Side: Shadow - * Culture: Moria - * Twilight Cost: 1 - * Type: Event - * Game Text: Search. Skirmish: Spot 2 [SHIRE] companions to make a [MORIA] minion damage +1. - */ -public class Card3_078 extends AbstractEvent { - public Card3_078() { - super(Side.SHADOW, 1, Culture.MORIA, "Hide and Seek", Phase.SKIRMISH); - addKeyword(Keyword.SEARCH); - } - - @Override - public boolean checkPlayRequirements(LotroGame game, PhysicalCard self) { - return PlayConditions.canSpot(game, 2, Culture.SHIRE, CardType.COMPANION); - } - - @Override - public PlayEventAction getPlayEventCardAction(String playerId, LotroGame game, final PhysicalCard self) { - final PlayEventAction action = new PlayEventAction(self); - action.appendEffect( - new ChooseActiveCardEffect(self, playerId, "Choose MORIA minion", Culture.MORIA, CardType.MINION) { - @Override - protected void cardSelected(LotroGame game, PhysicalCard card) { - action.appendEffect( - new AddUntilEndOfPhaseModifierEffect( - new KeywordModifier(self, Filters.sameCard(card), Keyword.DAMAGE))); - } - }); - return action; - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set3/moria/Card3_079.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set3/moria/Card3_079.java deleted file mode 100644 index 1696a312a..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set3/moria/Card3_079.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.gempukku.lotro.cards.set3.moria; - -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.ChooseAndWoundCharactersEffect; - -/** - * Set: Realms of Elf-lords - * Side: Shadow - * Culture: Moria - * Twilight Cost: 0 - * Type: Event - * Game Text: Archery: Spot a [MORIA] Orc and a [SAURON] Orc to wound an archer. - */ -public class Card3_079 extends AbstractEvent { - public Card3_079() { - super(Side.SHADOW, 0, Culture.MORIA, "Malice", Phase.ARCHERY); - } - - @Override - public boolean checkPlayRequirements(LotroGame game, PhysicalCard self) { - return Filters.canSpot(game, Culture.MORIA, Race.ORC) - && Filters.canSpot(game, Culture.SAURON, Race.ORC); - } - - @Override - public PlayEventAction getPlayEventCardAction(String playerId, LotroGame game, PhysicalCard self) { - PlayEventAction action = new PlayEventAction(self); - action.appendEffect( - new ChooseAndWoundCharactersEffect(action, playerId, 1, 1, Keyword.ARCHER)); - return action; - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set3/moria/Card3_080.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set3/moria/Card3_080.java deleted file mode 100644 index 671d197b1..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set3/moria/Card3_080.java +++ /dev/null @@ -1,75 +0,0 @@ -package com.gempukku.lotro.cards.set3.moria; - -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.CostToEffectAction; -import com.gempukku.lotro.logic.actions.PlayEventAction; -import com.gempukku.lotro.logic.cardtype.AbstractEvent; -import com.gempukku.lotro.logic.effects.ChooseAndWoundCharactersEffect; -import com.gempukku.lotro.logic.effects.PreventableEffect; -import com.gempukku.lotro.logic.effects.choose.ChooseAndDiscardCardsFromPlayEffect; -import com.gempukku.lotro.logic.timing.Effect; -import com.gempukku.lotro.logic.timing.UnrespondableEffect; - -import java.util.Collections; - -/** - * Set: Realms of Elf-lords - * Side: Shadow - * Culture: Moria - * Twilight Cost: 0 - * Type: Event - * Game Text: Maneuver: Spot a [MORIA] minion to wound Boromir 3 times. The Free Peoples player may discard 2 Free - * Peoples possessions to prevent this. - */ -public class Card3_080 extends AbstractEvent { - public Card3_080() { - super(Side.SHADOW, 0, Culture.MORIA, "Such a Little Thing", Phase.MANEUVER); - } - - @Override - public boolean checkPlayRequirements(LotroGame game, PhysicalCard self) { - return Filters.canSpot(game, Culture.MORIA, CardType.MINION); - } - - @Override - public PlayEventAction getPlayEventCardAction(final String playerId, LotroGame game, PhysicalCard self) { - final PlayEventAction action = new PlayEventAction(self); - action.appendEffect( - new PreventableEffect(action, - new UnrespondableEffect() { - @Override - public String getText(LotroGame game) { - return "Wound Boromir 3 times"; - } - - @Override - protected void doPlayEffect(LotroGame game) { - action.appendEffect( - new ChooseAndWoundCharactersEffect(action, playerId, 1, 1, Filters.boromir)); - action.appendEffect( - new ChooseAndWoundCharactersEffect(action, playerId, 1, 1, Filters.boromir)); - action.appendEffect( - new ChooseAndWoundCharactersEffect(action, playerId, 1, 1, Filters.boromir)); - } - }, Collections.singletonList(game.getGameState().getCurrentPlayerId()), - new PreventableEffect.PreventionCost() { - @Override - public Effect createPreventionCostForPlayer(CostToEffectAction subAction, String playerId) { - return new ChooseAndDiscardCardsFromPlayEffect(subAction, playerId, 2, 2, Side.FREE_PEOPLE, CardType.POSSESSION) { - @Override - public String getText(LotroGame game) { - return "Discard 2 Free People possessions"; - } - }; - } - } - )); - return action; - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/official/set03/set3-moria.hjson b/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/official/set03/set3-moria.hjson new file mode 100644 index 000000000..ae7799596 --- /dev/null +++ b/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/official/set03/set3-moria.hjson @@ -0,0 +1,145 @@ +{ + 3_76: { + title: Dangerous Gamble + side: shadow + culture: Moria + twilight: 2 + type: event + keyword: Shadow + effects: { + type: event + requires: { + type: canSpot + filter: culture(moria),minion + } + effect: [ + { + type: revealRandomCardsFromHand + forced: true + hand: fp + memorize: revealedCard + } + { + type: addTwilight + amount: { + type: twilightCostInMemory + memory: revealedCard + } + } + ] + + } + } + 3_77: { + title: Depths of Moria + side: shadow + culture: Moria + twilight: 1 + type: condition + keyword: Support Area + effects: [ + { + type: toPlay + requires: { + type: canSpot + filter: culture(moria),orc + } + } + { + type: trigger + trigger: { + type: moves + } + requires: { + type: phase + phase: regroup + } + effect: { + type: addTwilight + amount: 2 + } + } + ] + } + 3_78: { + title: Hide and Seek + side: shadow + culture: Moria + twilight: 1 + type: event + keyword: + [ + Skirmish + Search + ] + effects: { + type: event + requires: { + type: canSpot + count: 2 + filter: culture(shire),companion + } + effect: { + type: addKeyword + filter: choose(culture(moria),minion) + keyword: damage + amount: 1 + } + } + } + 3_79: { + title: Malice + side: shadow + culture: Moria + twilight: 0 + type: event + keyword: Archery + effects: { + type: event + requires: [ + { + type: canSpot + filter: culture(moria),orc + } + { + type: canSpot + filter: culture(sauron),orc + } + ] + effect: { + type: wound + filter: choose(archer) + } + } + } + 3_80: { + title: Such a Little Thing + side: shadow + culture: Moria + twilight: 0 + type: event + keyword: Maneuver + effects: { + type: event + requires: { + type: canSpot + filter: culture(moria),minion + } + effect: { + type: preventable + text: Would you like to discard 2 FP possession to prevent wounding Boromir 3 times? + player: fp + cost: { + type: discard + filter: choose(side(free),possession) + count: 2 + } + effect: { + type: wound + filter: choose(name(Boromir)) + times: 3 + } + } + } + } +}