From 389fb38da3e9fef65ea2fc4cc53276a6783ba849 Mon Sep 17 00:00:00 2001 From: MarcinSc Date: Thu, 16 May 2024 19:37:33 +0700 Subject: [PATCH] Migrated Gondor cards in set 10 to hjson --- .../lotro/cards/set10/gondor/Card10_025.java | 59 --- .../lotro/cards/set10/gondor/Card10_026.java | 77 ---- .../lotro/cards/set10/gondor/Card10_027.java | 54 --- .../lotro/cards/set10/gondor/Card10_028.java | 67 ---- .../lotro/cards/set10/gondor/Card10_029.java | 67 ---- .../lotro/cards/set10/gondor/Card10_031.java | 58 --- .../lotro/cards/set10/gondor/Card10_032.java | 83 ---- .../lotro/cards/set10/gondor/Card10_033.java | 47 --- .../lotro/cards/set10/gondor/Card10_034.java | 43 -- .../official/set10}/set10-Gondor.hjson | 378 +++++++++++++----- .../cards/official/set10/set10-gondor.hjson | 54 --- 11 files changed, 278 insertions(+), 709 deletions(-) delete mode 100644 gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/gondor/Card10_025.java delete mode 100644 gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/gondor/Card10_026.java delete mode 100644 gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/gondor/Card10_027.java delete mode 100644 gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/gondor/Card10_028.java delete mode 100644 gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/gondor/Card10_029.java delete mode 100644 gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/gondor/Card10_031.java delete mode 100644 gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/gondor/Card10_032.java delete mode 100644 gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/gondor/Card10_033.java delete mode 100644 gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/gondor/Card10_034.java rename gemp-lotr/gemp-lotr-cards/src/main/resources/{card-stubs => cards/official/set10}/set10-Gondor.hjson (56%) delete mode 100644 gemp-lotr/gemp-lotr-cards/src/main/resources/cards/official/set10/set10-gondor.hjson diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/gondor/Card10_025.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/gondor/Card10_025.java deleted file mode 100644 index 903b1becb..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/gondor/Card10_025.java +++ /dev/null @@ -1,59 +0,0 @@ -package com.gempukku.lotro.cards.set10.gondor; - -import com.gempukku.lotro.logic.cardtype.AbstractCompanion; -import com.gempukku.lotro.logic.timing.PlayConditions; -import com.gempukku.lotro.logic.timing.TriggerConditions; -import com.gempukku.lotro.logic.effects.choose.ChooseAndExertCharactersEffect; -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.ChooseAndHealCharactersEffect; -import com.gempukku.lotro.logic.timing.EffectResult; - -import java.util.Collections; -import java.util.List; - -/** - * Set: Mount Doom - * Side: Free - * Culture: Gondor - * Twilight Cost: 5 - * Type: Companion • Man - * Strength: 9 - * Vitality: 4 - * Resistance: 6 - * Signet: Frodo - * Game Text: When you play Aragorn, you may heal another companion. At the start of each fellowship phase, you may - * exert a companion of one culture to heal a companion of another culture. - */ -public class Card10_025 extends AbstractCompanion { - public Card10_025() { - super(5, 9, 4, 6, Culture.GONDOR, Race.MAN, Signet.FRODO, "Aragorn", "Elessar Telcontar", true); - } - - @Override - public List getOptionalAfterTriggers(final String playerId, LotroGame game, EffectResult effectResult, PhysicalCard self) { - if (TriggerConditions.played(game, effectResult, self)) { - OptionalTriggerAction action = new OptionalTriggerAction(self); - action.appendEffect( - new ChooseAndHealCharactersEffect(action, playerId, Filters.not(self), CardType.COMPANION)); - return Collections.singletonList(action); - } - if (TriggerConditions.startOfPhase(game, effectResult, Phase.FELLOWSHIP) - && PlayConditions.canExert(self, game, CardType.COMPANION)) { - final OptionalTriggerAction action = new OptionalTriggerAction(self); - action.appendCost( - new ChooseAndExertCharactersEffect(action, playerId, 1, 1, CardType.COMPANION) { - @Override - protected void forEachCardExertedCallback(PhysicalCard character) { - action.appendEffect( - new ChooseAndHealCharactersEffect(action, playerId, 1, 1, CardType.COMPANION, Filters.not(character.getBlueprint().getCulture()))); - } - }); - return Collections.singletonList(action); - } - return null; - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/gondor/Card10_026.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/gondor/Card10_026.java deleted file mode 100644 index 50e783cf1..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/gondor/Card10_026.java +++ /dev/null @@ -1,77 +0,0 @@ -package com.gempukku.lotro.cards.set10.gondor; - -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.OptionalTriggerAction; -import com.gempukku.lotro.logic.actions.RequiredTriggerAction; -import com.gempukku.lotro.logic.cardtype.AbstractCompanion; -import com.gempukku.lotro.logic.effects.AddUntilStartOfPhaseModifierEffect; -import com.gempukku.lotro.logic.effects.SelfExertEffect; -import com.gempukku.lotro.logic.effects.choose.ChooseAndExertCharactersEffect; -import com.gempukku.lotro.logic.modifiers.AbstractExtraPlayCostModifier; -import com.gempukku.lotro.logic.modifiers.KeywordModifier; -import com.gempukku.lotro.logic.modifiers.cost.AddThreatExtraPlayCostModifier; -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: Free - * Culture: Gondor - * Twilight Cost: 3 - * Type: Companion • Wraith - * Strength: 7 - * Vitality: 3 - * Resistance: 6 - * Game Text: Enduring. To play, add a threat. When you play Cursed of Erech, exert him twice. At the start of the - * maneuver phase, you may exert another [GONDOR] Wraith to make Cursed of Erech defender +1 until the regroup phase. - */ -public class Card10_026 extends AbstractCompanion { - public Card10_026() { - super(3, 7, 3, 6, Culture.GONDOR, Race.WRAITH, null, "Cursed of Erech", null, true); - addKeyword(Keyword.ENDURING); - } - - @Override - public List getExtraCostToPlay(LotroGame game, PhysicalCard self) { - return Collections.singletonList( - new AddThreatExtraPlayCostModifier(self, 1, null, self)); - } - - @Override - public List getRequiredAfterTriggers(LotroGame game, EffectResult effectResult, PhysicalCard self) { - if (TriggerConditions.played(game, effectResult, self)) { - RequiredTriggerAction action = new RequiredTriggerAction(self); - action.appendEffect( - new SelfExertEffect(action, self)); - action.appendEffect( - new SelfExertEffect(action, self)); - return Collections.singletonList(action); - } - return null; - } - - @Override - public List getOptionalAfterTriggers(String playerId, LotroGame game, EffectResult effectResult, PhysicalCard self) { - if (TriggerConditions.startOfPhase(game, effectResult, Phase.MANEUVER) - && PlayConditions.canExert(self, game, Filters.not(self), Culture.GONDOR, Race.WRAITH)) { - OptionalTriggerAction action = new OptionalTriggerAction(self); - action.appendCost( - new ChooseAndExertCharactersEffect(action, playerId, 1, 1, Filters.not(self), Culture.GONDOR, Race.WRAITH)); - action.appendEffect( - new AddUntilStartOfPhaseModifierEffect( - new KeywordModifier(self, self, Keyword.DEFENDER, 1), Phase.REGROUP)); - return Collections.singletonList(action); - } - return null; - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/gondor/Card10_027.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/gondor/Card10_027.java deleted file mode 100644 index f5311bed0..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/gondor/Card10_027.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.gempukku.lotro.cards.set10.gondor; - -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.actions.RequiredTriggerAction; -import com.gempukku.lotro.logic.cardtype.AbstractCompanion; -import com.gempukku.lotro.logic.effects.SelfExertEffect; -import com.gempukku.lotro.logic.modifiers.AbstractExtraPlayCostModifier; -import com.gempukku.lotro.logic.modifiers.cost.AddThreatExtraPlayCostModifier; -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: Free - * Culture: Gondor - * Twilight Cost: 2 - * Type: Companion • Wraith - * Strength: 6 - * Vitality: 3 - * Resistance: 6 - * Game Text: Enduring. To play, add a threat. When you play this companion, exert him twice. - */ -public class Card10_027 extends AbstractCompanion { - public Card10_027() { - super(2, 6, 3, 6, Culture.GONDOR, Race.WRAITH, null, "Dead Man of Dunharrow"); - addKeyword(Keyword.ENDURING); - } - - @Override - public List getExtraCostToPlay(LotroGame game, PhysicalCard self) { - return Collections.singletonList( - new AddThreatExtraPlayCostModifier(self, 1, null, self)); - } - - @Override - public List getRequiredAfterTriggers(LotroGame game, EffectResult effectResult, PhysicalCard self) { - if (TriggerConditions.played(game, effectResult, self)) { - RequiredTriggerAction action = new RequiredTriggerAction(self); - action.appendEffect( - new SelfExertEffect(action, self)); - action.appendEffect( - new SelfExertEffect(action, self)); - return Collections.singletonList(action); - } - return null; - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/gondor/Card10_028.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/gondor/Card10_028.java deleted file mode 100644 index 615ea3a1f..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/gondor/Card10_028.java +++ /dev/null @@ -1,67 +0,0 @@ -package com.gempukku.lotro.cards.set10.gondor; - -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.AbstractCompanion; -import com.gempukku.lotro.logic.effects.DrawCardsEffect; -import com.gempukku.lotro.logic.effects.OptionalEffect; -import com.gempukku.lotro.logic.effects.SelfExertEffect; -import com.gempukku.lotro.logic.effects.ShuffleDeckEffect; -import com.gempukku.lotro.logic.effects.choose.ChooseAndPutCardFromDeckIntoHandEffect; -import com.gempukku.lotro.logic.effects.choose.ChooseOpponentEffect; -import com.gempukku.lotro.logic.timing.PlayConditions; - -import java.util.Collections; -import java.util.List; - -/** - * Set: Mount Doom - * Side: Free - * Culture: Gondor - * Twilight Cost: 2 - * Type: Companion • Man - * Strength: 8 - * Vitality: 3 - * Resistance: 6 - * Signet: Aragorn - * Game Text: To play, spot 2 [GONDOR] Men. Fellowship: If at a sanctuary, exert Denethor to take a [GONDOR] card into - * hand from your draw deck, then reshuffle. Choose an opponent who may draw 2 cards. - */ -public class Card10_028 extends AbstractCompanion { - public Card10_028() { - super(2, 8, 3, 6, Culture.GONDOR, Race.MAN, Signet.ARAGORN, "Denethor", "Lord of Minas Tirith", true); - } - - @Override - public boolean checkPlayRequirements(LotroGame game, PhysicalCard self) { - return PlayConditions.canSpot(game, 2, Culture.GONDOR, Race.MAN); - } - - @Override - public List getPhaseActionsInPlay(String playerId, LotroGame game, PhysicalCard self) { - if (PlayConditions.canUseFPCardDuringPhase(game, Phase.FELLOWSHIP, self) - && PlayConditions.location(game, Keyword.SANCTUARY) - && PlayConditions.canSelfExert(self, game)) { - final ActivateCardAction action = new ActivateCardAction(self); - action.appendCost( - new SelfExertEffect(action, self)); - action.appendEffect( - new ChooseAndPutCardFromDeckIntoHandEffect(action, playerId, 1, 1, Culture.GONDOR)); - action.appendEffect( - new ShuffleDeckEffect(playerId)); - action.appendEffect( - new ChooseOpponentEffect(playerId) { - @Override - protected void opponentChosen(String opponentId) { - action.insertEffect( - new OptionalEffect(action, opponentId, - new DrawCardsEffect(action, opponentId, 2))); - } - }); - return Collections.singletonList(action); - } - return null; - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/gondor/Card10_029.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/gondor/Card10_029.java deleted file mode 100644 index db2f7eaee..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/gondor/Card10_029.java +++ /dev/null @@ -1,67 +0,0 @@ -package com.gempukku.lotro.cards.set10.gondor; - -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.*; -import com.gempukku.lotro.logic.effects.choose.ChooseOpponentEffect; - -import java.util.Collection; -import java.util.Collections; -import java.util.List; - -/** - * Set: Mount Doom - * Side: Free - * Culture: Gondor - * Twilight Cost: 2 - * Type: Event • Fellowship - * Game Text: For each [GONDOR] companion you spot, reveal 1 card at random from a Shadow player's hand. Choose - * a revealed Shadow card to be discarded, then its owner draws a card. - */ -public class Card10_029 extends AbstractEvent { - public Card10_029() { - super(Side.FREE_PEOPLE, 2, Culture.GONDOR, "Drawing His Eye", Phase.FELLOWSHIP); - } - - @Override - public PlayEventAction getPlayEventCardAction(final String playerId, LotroGame game, final PhysicalCard self) { - final PlayEventAction action = new PlayEventAction(self); - action.appendEffect( - new ForEachYouSpotEffect(playerId, Culture.GONDOR, CardType.COMPANION) { - @Override - protected void spottedCards(final int spotCount) { - action.appendEffect( - new ChooseOpponentEffect(playerId) { - @Override - protected void opponentChosen(final String opponentId) { - action.appendEffect( - new RevealRandomCardsFromHandEffect(playerId, opponentId, self, spotCount) { - @Override - protected void cardsRevealed(List revealedCards) { - action.appendEffect( - new ChooseArbitraryCardsEffect(playerId, "Choose card to discard", revealedCards, Side.SHADOW, 1, 1) { - @Override - protected void cardsSelected(LotroGame game, Collection selectedCards) { - for (PhysicalCard selectedCard : selectedCards) { - action.appendEffect( - new DiscardCardsFromHandEffect(self, opponentId, Collections.singleton(selectedCard), true)); - action.appendEffect( - new DrawCardsEffect(action, opponentId, 1)); - } - } - }); - } - }); - } - }); - } - }); - return action; - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/gondor/Card10_031.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/gondor/Card10_031.java deleted file mode 100644 index e043af470..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/gondor/Card10_031.java +++ /dev/null @@ -1,58 +0,0 @@ -package com.gempukku.lotro.cards.set10.gondor; - -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.ChoiceEffect; -import com.gempukku.lotro.logic.effects.ChooseAndWoundCharactersEffect; -import com.gempukku.lotro.logic.effects.choose.ChooseAndDiscardStackedCardsEffect; -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: Free - * Culture: Gondor - * Twilight Cost: 1 - * Type: Event • Maneuver - * Game Text: Spot a [GONDOR] Man to discard a stacked Shadow card or to wound a minion bearing a fortification. - */ -public class Card10_031 extends AbstractEvent { - public Card10_031() { - super(Side.FREE_PEOPLE, 1, Culture.GONDOR, "Every Little is a Gain", Phase.MANEUVER); - } - - @Override - public boolean checkPlayRequirements(LotroGame game, PhysicalCard self) { - return PlayConditions.canSpot(game, Culture.GONDOR, Race.MAN); - } - - @Override - public PlayEventAction getPlayEventCardAction(String playerId, LotroGame game, PhysicalCard self) { - PlayEventAction action = new PlayEventAction(self); - List possibleEffects = new LinkedList<>(); - possibleEffects.add( - new ChooseAndDiscardStackedCardsEffect(action, playerId, 1, 1, Filters.any, Side.SHADOW) { - @Override - public String getText(LotroGame game) { - return "Discard a stacked Shadow card"; - } - }); - possibleEffects.add( - new ChooseAndWoundCharactersEffect(action, playerId, 1, 1, CardType.MINION, Filters.hasAttached(Keyword.FORTIFICATION)) { - @Override - public String getText(LotroGame game) { - return "Wound a minion bearing a fortification"; - } - }); - 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/gondor/Card10_032.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/gondor/Card10_032.java deleted file mode 100644 index 655597cb5..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/gondor/Card10_032.java +++ /dev/null @@ -1,83 +0,0 @@ -package com.gempukku.lotro.cards.set10.gondor; - -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.ChoiceEffect; -import com.gempukku.lotro.logic.effects.ChooseActiveCardEffect; -import com.gempukku.lotro.logic.effects.SpotEffect; -import com.gempukku.lotro.logic.effects.TransferPermanentEffect; -import com.gempukku.lotro.logic.effects.choose.ChooseAndExertCharactersEffect; -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.NegativeEvaluator; -import com.gempukku.lotro.logic.timing.Effect; -import com.gempukku.lotro.logic.timing.PlayConditions; - -import java.util.Collections; -import java.util.LinkedList; -import java.util.List; - -/** - * Set: Mount Doom - * Side: Free - * Culture: Gondor - * Twilight Cost: 1 - * Type: Condition • Support Area - * Game Text: Fortification. Bearer is strength -1 for each Fortification you can spot. Maneuver: Exert 2 [GONDOR] Men - * or spot 3 knights to transfer this condition to a minion. - */ -public class Card10_032 extends AbstractPermanent { - public Card10_032() { - super(Side.FREE_PEOPLE, 1, CardType.CONDITION, Culture.GONDOR, "Fifth Level"); - addKeyword(Keyword.FORTIFICATION); - } - - @Override - public List getInPlayModifiers(LotroGame game, PhysicalCard self) { - return Collections.singletonList( - new StrengthModifier(self, Filters.hasAttached(self), null, new NegativeEvaluator(new CountActiveEvaluator(Keyword.FORTIFICATION)))); - } - - - @Override - public List getPhaseActionsInPlay(String playerId, LotroGame game, final PhysicalCard self) { - if (PlayConditions.canUseFPCardDuringPhase(game, Phase.MANEUVER, self) - && ( - PlayConditions.canExert(self, game, 1, 2, Culture.GONDOR, Race.MAN) - || PlayConditions.canSpot(game, 3, Keyword.KNIGHT))) { - final ActivateCardAction action = new ActivateCardAction(self); - List possibleCosts = new LinkedList<>(); - possibleCosts.add( - new ChooseAndExertCharactersEffect(action, playerId, 2, 2, Culture.GONDOR, Race.MAN) { - @Override - public String getText(LotroGame game) { - return "Exert 2 GONDOR Men"; - } - }); - possibleCosts.add( - new SpotEffect(3, Keyword.KNIGHT) { - @Override - public String getText(LotroGame game) { - return "Spot 3 Knights"; - } - }); - action.appendCost( - new ChoiceEffect(action, playerId, possibleCosts)); - action.appendEffect( - new ChooseActiveCardEffect(self, playerId, "Choose a minion", CardType.MINION) { - @Override - protected void cardSelected(LotroGame game, PhysicalCard card) { - action.insertEffect( - new TransferPermanentEffect(self, card)); - } - }); - return Collections.singletonList(action); - } - return null; - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/gondor/Card10_033.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/gondor/Card10_033.java deleted file mode 100644 index fce01b73b..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/gondor/Card10_033.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.gempukku.lotro.cards.set10.gondor; - -import com.gempukku.lotro.common.CardType; -import com.gempukku.lotro.common.Culture; -import com.gempukku.lotro.common.Race; -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.OptionalTriggerAction; -import com.gempukku.lotro.logic.cardtype.AbstractPermanent; -import com.gempukku.lotro.logic.effects.ChooseAndWoundCharactersEffect; -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: Free - * Culture: Gondor - * Twilight Cost: 2 - * Type: Condition • Support Area - * Game Text: To play, spot 2 [GONDOR] Men. Each time you lose initiative, you may wound a minion. - */ -public class Card10_033 extends AbstractPermanent { - public Card10_033() { - super(Side.FREE_PEOPLE, 2, CardType.CONDITION, Culture.GONDOR, "Hardy Garrison", null, true); - } - - @Override - public boolean checkPlayRequirements(LotroGame game, PhysicalCard self) { - return PlayConditions.canSpot(game, 2, Culture.GONDOR, Race.MAN); - } - - @Override - public List getOptionalAfterTriggers(String playerId, LotroGame game, EffectResult effectResult, PhysicalCard self) { - if (TriggerConditions.losesInitiative(effectResult, Side.FREE_PEOPLE)) { - OptionalTriggerAction action = new OptionalTriggerAction(self); - action.appendEffect( - new ChooseAndWoundCharactersEffect(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/set10/gondor/Card10_034.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/gondor/Card10_034.java deleted file mode 100644 index 64612386b..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set10/gondor/Card10_034.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.gempukku.lotro.cards.set10.gondor; - -import com.gempukku.lotro.common.Culture; -import com.gempukku.lotro.common.Phase; -import com.gempukku.lotro.common.Race; -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.AddUntilEndOfTurnModifierEffect; -import com.gempukku.lotro.logic.modifiers.MoveLimitModifier; -import com.gempukku.lotro.logic.timing.PlayConditions; - -/** - * Set: Mount Doom - * Side: Free - * Culture: Gondor - * Twilight Cost: 5 - * Type: Event • Regroup - * Game Text: If no opponent controls a site, spot 2 [GONDOR] Men to make the move limit +1 for this turn. - */ -public class Card10_034 extends AbstractEvent { - public Card10_034() { - super(Side.FREE_PEOPLE, 5, Culture.GONDOR, "Last Throw", Phase.REGROUP); - } - - @Override - public boolean checkPlayRequirements(LotroGame game, PhysicalCard self) { - return !PlayConditions.canSpot(game, Filters.siteControlledByOtherPlayer(self.getOwner())) - && PlayConditions.canSpot(game, 2, Culture.GONDOR, Race.MAN); - } - - @Override - public PlayEventAction getPlayEventCardAction(String playerId, LotroGame game, PhysicalCard self) { - PlayEventAction action = new PlayEventAction(self); - action.appendEffect( - new AddUntilEndOfTurnModifierEffect( - new MoveLimitModifier(self, 1))); - return action; - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/resources/card-stubs/set10-Gondor.hjson b/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/official/set10/set10-Gondor.hjson similarity index 56% rename from gemp-lotr/gemp-lotr-cards/src/main/resources/card-stubs/set10-Gondor.hjson rename to gemp-lotr/gemp-lotr-cards/src/main/resources/cards/official/set10/set10-Gondor.hjson index 0afd4c980..d127919bd 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/resources/card-stubs/set10-Gondor.hjson +++ b/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/official/set10/set10-Gondor.hjson @@ -27,17 +27,37 @@ vitality: 4 signet: Frodo resistance: 6 - /*requires: { - - } effects: [ - { - - } - { - - } - ]*/ + { + type: trigger + optional: true + trigger: { + type: played + filter: self + } + effect: { + type: heal + filter: choose(another,companion) + } + } + { + type: trigger + optional: true + trigger: { + type: startOfPhase + phase: fellowship + } + cost: { + type: exert + filter: choose(companion) + memorize: exertedCompanion + } + effect: { + type: heal + filter: choose(companion,not(cultureFromMemory(exertedCompanion))) + } + } + ] gametext: When you play Aragorn, you may heal another companion.
At the start of each fellowship phase, you may exert a companion of one culture to heal a companion of another culture. lore: Now come the days of the King, and may they be blessed while the thrones of the Valar endure!' promotext: "" @@ -75,17 +95,45 @@ vitality: 3 resistance: 6 keywords: Enduring - /*requires: { - - } effects: [ - { - - } - { - - } - ]*/ + { + type: extraCost + cost: { + type: addThreats + } + } + { + type: trigger + trigger: { + type: played + filter: self + } + effect: { + type: exert + filter: self + times: 2 + } + } + { + type: trigger + optional: true + trigger: { + type: startOfPhase + phase: maneuver + } + cost: { + type: exert + filter: choose(another,culture(gondor),wraith) + } + effect: { + type: addKeyword + filter: self + keyword: defender + amount: 1 + until: regroup + } + } + ] gametext: Enduring. To play, add a threat.
When you play Cursed of Erech, exert him twice.
At the start of the maneuver phase, you may exert another [gondor] Wraith to make Cursed of Erech defender +1 until the regroup phase. lore: ...a black dread fell on them.... promotext: "" @@ -123,17 +171,26 @@ vitality: 3 resistance: 6 keywords: Enduring - /*requires: { - - } effects: [ - { - - } - { - - } - ]*/ + { + type: extraCost + cost: { + type: addThreats + } + } + { + type: trigger + trigger: { + type: played + filter: self + } + effect: { + type: exert + filter: self + times: 2 + } + } + ] gametext: Enduring. To play, add a threat.
When you play this companion, exert him twice. lore: ...the Shadow Host pressed behind and fear went on before them.... promotext: "" @@ -172,17 +229,47 @@ vitality: 3 signet: Aragorn resistance: 6 - /*requires: { - - } effects: [ - { - - } - { - - } - ]*/ + { + type: toPlay + requires: { + type: canSpot + filter: culture(gondor),man + count: 2 + } + } + { + type: activated + phase: fellowship + requires: { + type: location + filter: sanctuary + } + cost: { + type: exert + filter: self + } + effect: [ + { + type: putCardsFromDeckIntoHand + filter: choose(culture(gondor)) + } + { + type: shuffleDeck + } + { + type: optional + player: shadow + text: Would you like to draw 2 cards? + effect: { + type: drawCards + player: shadow + count: 2 + } + } + ] + } + ] gametext: To play, spot 2 [gondor] Men.
Fellowship: If at a sanctuary, exert Denethor to take a [gondor] card into hand from your draw deck, then reshuffle. Choose an opponent who may draw 2 cards. lore: There Denethor sat in a grey gloom, like an old patient spider.... promotext: "" @@ -216,20 +303,33 @@ twilight: 2 type: Event keywords: Fellowship - /*requires: { - - } - */ effects: { type: event - cost: { - type: SendMessage - text: Placeholder effect for development. - }, effect: [ { - type: SendMessage - text: Placeholder effect for development. + type: chooseHowManyToSpot + filter: culture(gondor),companion + memorize: spotCount + } + { + type: revealCardsFromHand + hand: shadow + count: { + type: fromMemory + memory: spotCount + } + memorize: revealedCards + } + { + type: discardFromHand + forced: true + hand: shadow + player: you + filter: memory(revealedCards) + } + { + type: drawCards + player: shadow } ] } @@ -266,20 +366,40 @@ twilight: 0 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(exhausted,culture(gondor),companion) + amount: 2 + memorize: exhaustedMan + } + { + type: addtrigger + optional: false + trigger: { + type: winsSkirmish + filter: memory(exhaustedMan) + } + effect: { + type: choice + texts: [ + Heal this companion + Make this companion damage +1 + ] + effects: [ + { + type: heal + filter: memory(exhaustedMan) + } + { + type: addKeyword + filter: memory(exhaustedMan) + keyword: damage+1 + } + ] + } } ] } @@ -316,20 +436,29 @@ twilight: 1 type: Event keywords: Maneuver - /*requires: { - - } - */ effects: { type: event - cost: { - type: SendMessage - text: Placeholder effect for development. - }, + requires: { + type: canSpot + filter: culture(gondor),man + } effect: [ { - type: SendMessage - text: Placeholder effect for development. + type: choice + texts: [ + Discard a stacked Shadow card + Wound a minion bearing fortification + ] + effects: [ + { + type: discardStackedCards + filter: choose(side(shadow)) + } + { + type: wound + filter: choose(minion,hasAttached(fortification)) + } + ] } ] } @@ -369,17 +498,48 @@ Fortification Support Area ] - /*requires: { - - } effects: [ - { - - } - { - - } - ]*/ + { + type: modifier + modifier: { + type: modifyStrength + filter: bearer + amount: { + type: forEachYouCanSpot + filter: fortification + multiplier: -1 + } + } + } + { + type: activated + phase: maneuver + cost: { + type: choice + texts: [ + Exert 2 {gondor} Men + Spot 3 knights + ] + effects: [ + { + type: exert + filter: choose(culture(gondor),man) + count: 2 + } + { + type: spot + filter: knight + count: 3 + } + ] + } + effect: { + type: transfer + filter: self + where: choose(minion) + } + } + ] gametext: Fortification. Bearer is strength -1 for each fortification you can spot.
Maneuver: Exert 2 [gondor] Men or spot 3 knights to transfer this condition to a minion. lore: A strong citadel it was indeed.... promotext: "" @@ -413,17 +573,28 @@ twilight: 2 type: Condition keywords: Support Area - /*requires: { - - } effects: [ - { - - } - { - - } - ]*/ + { + type: toPlay + requires: { + type: canSpot + filter: culture(gondor),man + count: 2 + } + } + { + type: trigger + optional: true + trigger: { + type: losesInitiative + side: free people + } + effect: { + type: wound + filter: choose(minion) + } + } + ] gametext: To play, spot 2 [gondor] Men.
Each time you lose initiative, you may wound a minion. lore: All before the walls on either side of the Gate the ground was choked with wreck and with bodies of the slain.... promotext: "" @@ -457,20 +628,27 @@ twilight: 5 type: Event keywords: Regroup - /*requires: { - - } - */ effects: { type: event - cost: { - type: SendMessage - text: Placeholder effect for development. - }, + requires: [ + { + type: controlsSite + player: shadow + } + { + type: canSpot + filter: culture(gondor),man + count: 2 + } + ] effect: [ { - type: SendMessage - text: Placeholder effect for development. + type: addModifier + modifier: { + type: modifyMoveLimit + amount: 1 + } + until: endOfTurn } ] } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/official/set10/set10-gondor.hjson b/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/official/set10/set10-gondor.hjson deleted file mode 100644 index 376dbe910..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/official/set10/set10-gondor.hjson +++ /dev/null @@ -1,54 +0,0 @@ -{ - 10_30: { - title: End of the Game - side: free_people - culture: Gondor - type: event - twilight: 0 - keyword: Skirmish - effects: { - type: event - cost: { - type: memorize - filter: inskirmish,exhausted,culture(gondor),companion - memory: exhaustedMan - } - effect: [ - { - type: addmodifier - modifier: { - type: modifyStrength - filter: memory(exhaustedMan) - amount: 2 - } - } - { - type: addtrigger - optional: false - trigger: { - type: winsSkirmish - filter: memory(exhaustedMan) - } - effect: { - type: choice - texts: [ - Heal this companion - Make this companion damage +1 - ] - effects: [ - { - type: heal - filter: choose(memory(exhaustedMan)) - } - { - type: addKeyword - filter: choose(memory(exhaustedMan)) - keyword: damage+1 - } - ] - } - } - ] - } - } -} \ No newline at end of file