diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/dunland/Card5_001.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/dunland/Card5_001.java deleted file mode 100644 index e8ddc69f1..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/dunland/Card5_001.java +++ /dev/null @@ -1,57 +0,0 @@ -package com.gempukku.lotro.cards.set5.dunland; - -import com.gempukku.lotro.logic.cardtype.AbstractMinion; -import com.gempukku.lotro.logic.timing.TriggerConditions; -import com.gempukku.lotro.logic.effects.SelfDiscardEffect; -import com.gempukku.lotro.common.Culture; -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.decisions.MultipleChoiceAwaitingDecision; -import com.gempukku.lotro.logic.effects.ChooseAndDiscardCardsFromHandEffect; -import com.gempukku.lotro.logic.effects.PlayoutDecisionEffect; -import com.gempukku.lotro.logic.timing.EffectResult; - -import java.util.Collections; -import java.util.List; - -/** - * Set: Battle of Helm's Deep - * Side: Shadow - * Culture: Dunland - * Twilight Cost: 1 - * Type: Minion • Man - * Strength: 9 - * Vitality: 1 - * Site: 3 - * Game Text: When you play this minion, the Free Peoples player may discard 2 cards from hand to discard him. - */ -public class Card5_001 extends AbstractMinion { - public Card5_001() { - super(1, 9, 1, 3, Race.MAN, Culture.DUNLAND, "Dunlending Rampager"); - } - - @Override - public List getRequiredAfterTriggers(final LotroGame game, EffectResult effectResult, final PhysicalCard self) { - if (TriggerConditions.played(game, effectResult, self) - && game.getGameState().getHand(game.getGameState().getCurrentPlayerId()).size() >= 2) { - final RequiredTriggerAction action = new RequiredTriggerAction(self); - action.appendCost( - new PlayoutDecisionEffect(game.getGameState().getCurrentPlayerId(), - new MultipleChoiceAwaitingDecision(1, "Do you want to discard 2 cards from hand to discard this minion?", new String[]{"Yes", "No"}) { - @Override - protected void validDecisionMade(int index, String result) { - if (result.equals("Yes")) { - action.insertCost( - new ChooseAndDiscardCardsFromHandEffect(action, game.getGameState().getCurrentPlayerId(), false, 2)); - 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/set5/dunland/Card5_002.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/dunland/Card5_002.java deleted file mode 100644 index 10f3cf26c..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/dunland/Card5_002.java +++ /dev/null @@ -1,57 +0,0 @@ -package com.gempukku.lotro.cards.set5.dunland; - -import com.gempukku.lotro.logic.cardtype.AbstractMinion; -import com.gempukku.lotro.logic.timing.TriggerConditions; -import com.gempukku.lotro.logic.effects.SelfDiscardEffect; -import com.gempukku.lotro.common.Culture; -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.decisions.MultipleChoiceAwaitingDecision; -import com.gempukku.lotro.logic.effects.ChooseAndDiscardCardsFromHandEffect; -import com.gempukku.lotro.logic.effects.PlayoutDecisionEffect; -import com.gempukku.lotro.logic.timing.EffectResult; - -import java.util.Collections; -import java.util.List; - -/** - * Set: Battle of Helm's Deep - * Side: Shadow - * Culture: Dunland - * Twilight Cost: 2 - * Type: Minion • Man - * Strength: 10 - * Vitality: 1 - * Site: 3 - * Game Text: When you play this minion, the Free Peoples player may discard 2 cards from hand to discard him. - */ -public class Card5_002 extends AbstractMinion { - public Card5_002() { - super(2, 10, 1, 3, Race.MAN, Culture.DUNLAND, "Dunlending Renegade"); - } - - @Override - public List getRequiredAfterTriggers(final LotroGame game, EffectResult effectResult, final PhysicalCard self) { - if (TriggerConditions.played(game, effectResult, self) - && game.getGameState().getHand(game.getGameState().getCurrentPlayerId()).size() >= 2) { - final RequiredTriggerAction action = new RequiredTriggerAction(self); - action.appendCost( - new PlayoutDecisionEffect(game.getGameState().getCurrentPlayerId(), - new MultipleChoiceAwaitingDecision(1, "Do you want to discard 2 cards from hand to discard this minion?", new String[]{"Yes", "No"}) { - @Override - protected void validDecisionMade(int index, String result) { - if (result.equals("Yes")) { - action.insertCost( - new ChooseAndDiscardCardsFromHandEffect(action, game.getGameState().getCurrentPlayerId(), false, 2)); - 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/set5/dunland/Card5_003.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/dunland/Card5_003.java deleted file mode 100644 index 55f41b839..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/dunland/Card5_003.java +++ /dev/null @@ -1,69 +0,0 @@ -package com.gempukku.lotro.cards.set5.dunland; - -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.CostToEffectAction; -import com.gempukku.lotro.logic.actions.PlayEventAction; -import com.gempukku.lotro.logic.cardtype.AbstractEvent; -import com.gempukku.lotro.logic.effects.ChooseAndDiscardCardsFromHandEffect; -import com.gempukku.lotro.logic.effects.DrawCardsEffect; -import com.gempukku.lotro.logic.effects.PreventableEffect; -import com.gempukku.lotro.logic.effects.ShuffleCardsFromHandIntoDeckEffect; -import com.gempukku.lotro.logic.timing.Effect; -import com.gempukku.lotro.logic.timing.PlayConditions; -import com.gempukku.lotro.logic.timing.UnrespondableEffect; - -import java.util.HashSet; - -/** - * Set: Battle of Helm's Deep - * Side: Shadow - * Culture: Dunland - * Twilight Cost: 1 - * Type: Event - * Game Text: Shadow: Spot 3 [DUNLAND] minions to shuffle your hand into your draw deck and draw 8 cards. - * The Free Peoples player may discard 3 cards from hand to prevent this. - */ -public class Card5_003 extends AbstractEvent { - public Card5_003() { - super(Side.SHADOW, 1, Culture.DUNLAND, "Leaping Blaze", Phase.SHADOW); - } - - @Override - public boolean checkPlayRequirements(LotroGame game, PhysicalCard self) { - return PlayConditions.canSpot(game, 3, Culture.DUNLAND, CardType.MINION); - } - - @Override - public PlayEventAction getPlayEventCardAction(final String playerId, LotroGame game, final PhysicalCard self) { - final PlayEventAction action = new PlayEventAction(self); - action.appendEffect( - new PreventableEffect(action, - new UnrespondableEffect() { - @Override - protected void doPlayEffect(LotroGame game) { - action.appendEffect( - new ShuffleCardsFromHandIntoDeckEffect(self, playerId, new HashSet<>(game.getGameState().getHand(playerId)))); - action.appendEffect( - new DrawCardsEffect(action, playerId, 8)); - } - - @Override - public String getText(LotroGame game) { - return "Shuffle hand into draw deck and draw 8 cards"; - } - }, game.getGameState().getCurrentPlayerId(), - new PreventableEffect.PreventionCost() { - @Override - public Effect createPreventionCostForPlayer(CostToEffectAction subAction, String playerId) { - return new ChooseAndDiscardCardsFromHandEffect(subAction, playerId, false, 3); - } - } - )); - return action; - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/dunland/Card5_004.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/dunland/Card5_004.java deleted file mode 100644 index 2e95b35d6..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/dunland/Card5_004.java +++ /dev/null @@ -1,66 +0,0 @@ -package com.gempukku.lotro.cards.set5.dunland; - -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.RequiredTriggerAction; -import com.gempukku.lotro.logic.cardtype.AbstractMinion; -import com.gempukku.lotro.logic.decisions.MultipleChoiceAwaitingDecision; -import com.gempukku.lotro.logic.effects.ChooseAndDiscardCardsFromHandEffect; -import com.gempukku.lotro.logic.effects.PlayoutDecisionEffect; -import com.gempukku.lotro.logic.effects.SelfDiscardEffect; -import com.gempukku.lotro.logic.timing.EffectResult; -import com.gempukku.lotro.logic.timing.TriggerConditions; - -import java.util.Collections; -import java.util.List; - -/** - * Set: Battle of Helm's Deep - * Side: Shadow - * Culture: Dunland - * Twilight Cost: 6 - * Type: Minion • Man - * Strength: 18 - * Vitality: 2 - * Site: 3 - * Game Text: The twilight cost of this minion is -2 during the skirmish phase. When you play this minion, the Free - * Peoples player may discard 4 cards from hand to discard it. - */ -public class Card5_004 extends AbstractMinion { - public Card5_004() { - super(6, 18, 2, 3, Race.MAN, Culture.DUNLAND, "Wild Men of the Hills"); - } - - @Override - public int getTwilightCostModifier(LotroGame game, PhysicalCard self, PhysicalCard target) { - if (game.getGameState().getCurrentPhase() == Phase.SKIRMISH) - return -2; - return 0; - } - - @Override - public List getRequiredAfterTriggers(final LotroGame game, EffectResult effectResult, final PhysicalCard self) { - if (TriggerConditions.played(game, effectResult, self) - && game.getGameState().getHand(game.getGameState().getCurrentPlayerId()).size() >= 4) { - final RequiredTriggerAction action = new RequiredTriggerAction(self); - action.appendCost( - new PlayoutDecisionEffect(game.getGameState().getCurrentPlayerId(), - new MultipleChoiceAwaitingDecision(1, "Do you want to discard 4 cards from hand to discard this minion?", new String[]{"Yes", "No"}) { - @Override - protected void validDecisionMade(int index, String result) { - if (result.equals("Yes")) { - action.insertCost( - new ChooseAndDiscardCardsFromHandEffect(action, game.getGameState().getCurrentPlayerId(), false, 4)); - 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/set5/dwarven/Card5_005.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/dwarven/Card5_005.java deleted file mode 100644 index 0f4374c9c..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/dwarven/Card5_005.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.gempukku.lotro.cards.set5.dwarven; - -import com.gempukku.lotro.common.*; -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; -import com.gempukku.lotro.logic.effects.SetUpConsecutiveActionEffect; -import com.gempukku.lotro.logic.effects.choose.ChooseAndExertCharactersEffect; -import com.gempukku.lotro.logic.timing.PlayConditions; - -/** - * Set: Battle of Helm's Deep - * Side: Free - * Culture: Dwarven - * Twilight Cost: 0 - * Type: Event - * Game Text: Maneuver: Exert a Dwarf to wound a minion. You may take the next maneuver action. - */ -public class Card5_005 extends AbstractEvent { - public Card5_005() { - super(Side.FREE_PEOPLE, 0, Culture.DWARVEN, "Baruk Khazâd", Phase.MANEUVER); - } - - @Override - public boolean checkPlayRequirements(LotroGame game, PhysicalCard self) { - return PlayConditions.canExert(self, game, Race.DWARF); - } - - @Override - public PlayEventAction getPlayEventCardAction(String playerId, LotroGame game, PhysicalCard self) { - PlayEventAction action = new PlayEventAction(self); - action.appendCost( - new ChooseAndExertCharactersEffect(action, playerId, 1, 1, Race.DWARF)); - action.appendEffect( - new ChooseAndWoundCharactersEffect(action, playerId, 1, 1, CardType.MINION)); - action.appendEffect( - new SetUpConsecutiveActionEffect()); - return action; - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/dwarven/Card5_006.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/dwarven/Card5_006.java deleted file mode 100644 index c9cfe858b..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/dwarven/Card5_006.java +++ /dev/null @@ -1,54 +0,0 @@ -package com.gempukku.lotro.cards.set5.dwarven; - -import com.gempukku.lotro.common.*; -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.DrawCardsEffect; -import com.gempukku.lotro.logic.effects.choose.ChooseAndPlayCardFromDiscardEffect; -import com.gempukku.lotro.logic.timing.Effect; -import com.gempukku.lotro.logic.timing.PlayConditions; - -import java.util.LinkedList; -import java.util.List; - -/** - * Set: Battle of Helm's Deep - * Side: Free - * Culture: Dwarven - * Twilight Cost: 0 - * Type: Event - * Game Text: Fellowship: Spot a Dwarf to Draw a card or play a [DWARVEN] condition from your discard pile. - */ -public class Card5_006 extends AbstractEvent { - public Card5_006() { - super(Side.FREE_PEOPLE, 0, Culture.DWARVEN, "Defending the Keep", Phase.FELLOWSHIP); - } - - @Override - public boolean checkPlayRequirements(LotroGame game, PhysicalCard self) { - return PlayConditions.canSpot(game, Race.DWARF); - } - - @Override - public PlayEventAction getPlayEventCardAction(String playerId, LotroGame game, PhysicalCard self) { - PlayEventAction action = new PlayEventAction(self); - - List possibleEffects = new LinkedList<>(); - possibleEffects.add( - new DrawCardsEffect(action, playerId, 1)); - possibleEffects.add( - new ChooseAndPlayCardFromDiscardEffect(playerId, game, Culture.DWARVEN, CardType.CONDITION) { - @Override - public String getText(LotroGame game) { - return "Play a DWARVEN condition from your discard pile"; - } - }); - - action.appendEffect( - new ChoiceEffect(action, playerId, possibleEffects)); - return action; - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/dwarven/Card5_007.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/dwarven/Card5_007.java deleted file mode 100644 index 6fd75224a..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/dwarven/Card5_007.java +++ /dev/null @@ -1,45 +0,0 @@ -package com.gempukku.lotro.cards.set5.dwarven; - -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.cardtype.AbstractCompanion; -import com.gempukku.lotro.logic.effects.ChooseAndWoundCharactersEffect; -import com.gempukku.lotro.logic.timing.EffectResult; -import com.gempukku.lotro.logic.timing.TriggerConditions; - -import java.util.Collections; -import java.util.List; - -/** - * Set: Battle of Helm's Deep - * Side: Free - * Culture: Dwarven - * Twilight Cost: 2 - * Type: Companion • Dwarf - * Strength: 6 - * Vitality: 3 - * Resistance: 6 - * Signet: Theoden - * Game Text: Damage +1. Each time Gimli wins a skirmish, you may wound a minion assigned to skirmish - * an unbound companion. - */ -public class Card5_007 extends AbstractCompanion { - public Card5_007() { - super(2, 6, 3, 6, Culture.DWARVEN, Race.DWARF, Signet.THEODEN, "Gimli", "Skilled Defender", true); - addKeyword(Keyword.DAMAGE, 1); - } - - @Override - public List getOptionalAfterTriggers(String playerId, LotroGame game, EffectResult effectResult, PhysicalCard self) { - if (TriggerConditions.winsSkirmish(game, effectResult, self)) { - OptionalTriggerAction action = new OptionalTriggerAction(self); - action.appendEffect( - new ChooseAndWoundCharactersEffect(action, playerId, 1, 1, CardType.MINION, Filters.assignedToSkirmishAgainst(Filters.unboundCompanion))); - return Collections.singletonList(action); - } - return null; - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/dwarven/Card5_008.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/dwarven/Card5_008.java deleted file mode 100644 index 170ba0244..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/dwarven/Card5_008.java +++ /dev/null @@ -1,45 +0,0 @@ -package com.gempukku.lotro.cards.set5.dwarven; - -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.AbstractPermanent; -import com.gempukku.lotro.logic.effects.AddUntilStartOfPhaseModifierEffect; -import com.gempukku.lotro.logic.effects.choose.ChooseAndExertCharactersEffect; -import com.gempukku.lotro.logic.modifiers.RemoveKeywordModifier; -import com.gempukku.lotro.logic.modifiers.condition.LocationCondition; -import com.gempukku.lotro.logic.timing.PlayConditions; - -import java.util.Collections; -import java.util.List; - -/** - * Set: Battle of Helm's Deep - * Side: Free - * Culture: Dwarven - * Twilight Cost: 2 - * Type: Possession - * Game Text: Plays to your support area. Maneuver: Exert a Dwarf companion to make each minion at a battleground lose - * all damage bonuses until the regroup phase. - */ -public class Card5_008 extends AbstractPermanent { - public Card5_008() { - super(Side.FREE_PEOPLE, 2, CardType.POSSESSION, Culture.DWARVEN, "Horn of Helm", null, true); - } - - @Override - public List getPhaseActionsInPlay(String playerId, LotroGame game, PhysicalCard self) { - if (PlayConditions.canUseFPCardDuringPhase(game, Phase.MANEUVER, self) - && PlayConditions.canExert(self, game, Race.DWARF, CardType.COMPANION)) { - ActivateCardAction action = new ActivateCardAction(self); - action.appendCost( - new ChooseAndExertCharactersEffect(action, playerId, 1, 1, Race.DWARF, CardType.COMPANION)); - action.appendEffect( - new AddUntilStartOfPhaseModifierEffect( - new RemoveKeywordModifier(self, CardType.MINION, new LocationCondition(Keyword.BATTLEGROUND), Keyword.DAMAGE), Phase.REGROUP)); - return Collections.singletonList(action); - } - return null; - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/dwarven/Card5_009.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/dwarven/Card5_009.java deleted file mode 100644 index 3f3971405..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/dwarven/Card5_009.java +++ /dev/null @@ -1,72 +0,0 @@ -package com.gempukku.lotro.cards.set5.dwarven; - -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.IncrementPhaseLimitEffect; -import com.gempukku.lotro.logic.effects.PutCardFromStackedIntoHandEffect; -import com.gempukku.lotro.logic.effects.StackTopCardsFromDeckEffect; -import com.gempukku.lotro.logic.effects.choose.ChooseAndDiscardStackedCardsEffect; -import com.gempukku.lotro.logic.effects.choose.ChooseStackedCardsEffect; -import com.gempukku.lotro.logic.timing.PlayConditions; - -import java.util.Collection; -import java.util.LinkedList; -import java.util.List; - -/** - * Set: Battle of Helm's Deep - * Side: Free - * Culture: Dwarven - * Twilight Cost: 2 - * Type: Condition - * Game Text: Plays to your support area. Maneuver: Stack the top card from your draw deck here (limit once per phase). - * Maneuver: Spot a Dwarf and discard a card stacked on a [DWARVEN] condition to take a Free Peoples card stacked here - * into hand. - */ -public class Card5_009 extends AbstractPermanent { - public Card5_009() { - super(Side.FREE_PEOPLE, 2, CardType.CONDITION, Culture.DWARVEN, "More to My Liking", null, true); - } - - @Override - public List getPhaseActionsInPlay(String playerId, LotroGame game, PhysicalCard self) { - if (PlayConditions.canUseFPCardDuringPhase(game, Phase.MANEUVER, self)) { - List actions = new LinkedList<>(); - - if (PlayConditions.checkPhaseLimit(game, self, 1)) { - ActivateCardAction action = new ActivateCardAction(self); - action.setText("Stack card here"); - action.appendCost( - new IncrementPhaseLimitEffect(self, 1)); - action.appendEffect( - new StackTopCardsFromDeckEffect(self, playerId, 1, self)); - actions.add(action); - } - - if (PlayConditions.canSpot(game, Race.DWARF) - && Filters.countActive(game, Culture.DWARVEN, CardType.CONDITION, Filters.hasStacked(Filters.any)) > 0) { - final ActivateCardAction action = new ActivateCardAction(self); - action.setText("Take Free Peoples stacked here into hand"); - action.appendCost( - new ChooseAndDiscardStackedCardsEffect(action, playerId, 1, 1, Filters.and(Culture.DWARVEN, CardType.CONDITION), Filters.any)); - action.appendEffect( - new ChooseStackedCardsEffect(action, playerId, 1, 1, self, Side.FREE_PEOPLE) { - @Override - protected void cardsChosen(LotroGame game, Collection stackedCards) { - for (PhysicalCard stackedCard : stackedCards) - action.insertEffect( - new PutCardFromStackedIntoHandEffect(stackedCard)); - } - }); - actions.add(action); - } - - return actions; - } - return null; - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/resources/card-stubs/set05-Dwarven.hjson b/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/official/set05/set05-Dwarven.hjson similarity index 67% rename from gemp-lotr/gemp-lotr-cards/src/main/resources/card-stubs/set05-Dwarven.hjson rename to gemp-lotr/gemp-lotr-cards/src/main/resources/cards/official/set05/set05-Dwarven.hjson index c34e32197..ae8ac11bb 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/resources/card-stubs/set05-Dwarven.hjson +++ b/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/official/set05/set05-Dwarven.hjson @@ -22,20 +22,22 @@ twilight: 0 type: Event keywords: Maneuver - /*requires: { - - } effects: { type: event cost: { - + type: exert + filter: choose(dwarf) }, effect: [ - { - - } + { + type: wound + filter: choose(minion) + } + { + type: canPlayNextAction + } ] - }*/ + } gametext: Maneuver: Exert a Dwarf to wound a minion. You may take the next maneuver action. lore: ...a small dark figure that none had observed sprang out of the shadows and gave a hoarse shout.... promotext: "" @@ -69,20 +71,31 @@ twilight: 0 type: Event keywords: Fellowship - /*requires: { - - } effects: { type: event - cost: { - - }, + requires: { + type: canSpot + filter: dwarf + } effect: [ - { - - } + { + type: choice + texts: [ + Draw a card + Play a {dwarven} condition from your discard pile + ] + effects: [ + { + type: drawCards + } + { + type: playCardFromDiscard + filter: choose(culture(dwarven),condition) + } + ] + } ] - }*/ + } gametext: Fellowship: Spot a Dwarf to draw a card or play a [dwarven] condition from your discard pile. lore: I have fought many wars, master Dwarf. I know how to defend my own Keep.' promotext: "" @@ -122,17 +135,18 @@ signet: Theoden resistance: 6 keywords: Damage+1 - /*requires: { - + effects: { + type: trigger + optional: true + trigger: { + type: winsSkirmish + filter: self + } + effect: { + type: wound + filter: choose(minion,assignedToSkirmish(unbound,companion)) + } } - effects: [ - { - - } - { - - } - ]*/ gametext: Damage +1.
Each time Gimli wins a skirmish, you may wound a minion assigned to skirmish an unbound companion. lore: Despite Théoden's preparations, Gimli found it necessary to warn him of the advancing Uruk army. promotext: "" @@ -166,17 +180,29 @@ twilight: 2 type: Possession keywords: Support Area - /*requires: { - - } effects: [ - { - - } - { - - } - ]*/ + { + type: activated + phase: maneuver + cost: { + type: exert + filter: choose(dwarf,companion) + } + effect: { + type: addModifier + modifier: { + type: removeKeyword + filter: minion + requires: { + type: location + filter: battleground + } + keyword: damage + } + until: regroup + } + } + ] gametext: Plays to your support area.
Maneuver: Exert a Dwarf companion to make each minion at a battleground lose all damage bonuses until the regroup phase. lore: ...sudden and terrible, from the tower above, the sound of the great horn of Helm rang out. promotext: "" @@ -210,17 +236,36 @@ twilight: 2 type: Condition keywords: Support Area - /*requires: { - - } effects: [ - { - - } - { - - } - ]*/ + { + type: activated + phase: maneuver + text: Stack top card from draw deck + limitPerPhase: 1 + effect: { + type: stackTopCardsOfDrawDeck + where: self + } + } + { + type: activated + phase: maneuver + text: Take a Free Peoples card stacked here into hand + requires: { + type: canSpot + filter: dwarf + } + cost: { + type: discardStackedCards + on: culture(dwarven),condition + } + effect: { + type: putStackedCardsIntoHand + filter: choose(side(free people)) + on: self + } + } + ] gametext: Plays to your support area.
Maneuver: Stack the top card from your draw deck here (limit once per phase).
Maneuver: Spot a Dwarf and discard a card stacked on a [dwarven] condition to take a Free Peoples card stacked here into hand. lore: This country has tough bones.' promotext: "" @@ -254,20 +299,22 @@ twilight: 0 type: Event keywords: Maneuver - /*requires: { - - } effects: { type: event cost: { - + type: exert + filter: choose(dwarf) }, effect: [ - { - - } + { + type: wound + filter: choose(minion) + } + { + type: canPlayNextAction + } ] - }*/ + } gametext: Maneuver: Exert a Dwarf to wound a minion. You may take the next maneuver action. lore: Axes of the Dwarves! cried Gimli in the secret tongue of his kin. promotext: "" diff --git a/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/official/set05/set5.hjson b/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/official/set05/set5.hjson deleted file mode 100644 index 53e2dc5b3..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/official/set05/set5.hjson +++ /dev/null @@ -1,28 +0,0 @@ -{ - 5_7: { - title: Gimli - subtitle: Skilled Defender - unique: true - culture: dwarven - twilight: 2 - type: companion - race: dwarf - strength: 6 - vitality: 3 - resistance: 6 - signet: theoden - keyword: damage+1 - effects: { - type: trigger - optional: true - trigger: { - type: winsSkirmish - filter: self - } - effect: { - type: wound - filter: choose(minion,assignedToSkirmish(unbound,companion)) - } - } - } -} \ No newline at end of file diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/cards/build/field/effect/EffectAppenderFactory.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/cards/build/field/effect/EffectAppenderFactory.java index aa4bf9650..7efb41bb4 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/cards/build/field/effect/EffectAppenderFactory.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/cards/build/field/effect/EffectAppenderFactory.java @@ -27,7 +27,8 @@ public class EffectAppenderFactory { effectAppenderProducers.put("cancelevent", new CancelEvent()); effectAppenderProducers.put("cancelskirmish", new CancelSkirmish()); effectAppenderProducers.put("cancelskirmishbetween", new CancelSkirmishBetween()); - effectAppenderProducers.put("cancelspecialability", new CancelSpecialAbility()); + effectAppenderProducers.put("canplaynextaction", new CanPlayNextAction()); + effectAppenderProducers.put("canplaynextaction", new CanPlayNextAction()); effectAppenderProducers.put("choice", new Choice()); effectAppenderProducers.put("chooseactivecards", new ChooseActiveCards()); effectAppenderProducers.put("chooseakeyword", new ChooseAKeyword()); diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/cards/build/field/effect/appender/CanPlayNextAction.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/cards/build/field/effect/appender/CanPlayNextAction.java new file mode 100644 index 000000000..551015d0b --- /dev/null +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/cards/build/field/effect/appender/CanPlayNextAction.java @@ -0,0 +1,26 @@ +package com.gempukku.lotro.cards.build.field.effect.appender; + +import com.gempukku.lotro.cards.build.ActionContext; +import com.gempukku.lotro.cards.build.CardGenerationEnvironment; +import com.gempukku.lotro.cards.build.InvalidCardDefinitionException; +import com.gempukku.lotro.cards.build.field.FieldUtils; +import com.gempukku.lotro.cards.build.field.effect.EffectAppender; +import com.gempukku.lotro.cards.build.field.effect.EffectAppenderProducer; +import com.gempukku.lotro.logic.actions.CostToEffectAction; +import com.gempukku.lotro.logic.effects.SetUpConsecutiveActionEffect; +import com.gempukku.lotro.logic.timing.Effect; +import org.json.simple.JSONObject; + +public class CanPlayNextAction implements EffectAppenderProducer { + @Override + public EffectAppender createEffectAppender(JSONObject effectObject, CardGenerationEnvironment environment) throws InvalidCardDefinitionException { + FieldUtils.validateAllowedFields(effectObject); + + return new DelayedAppender() { + @Override + protected Effect createEffect(boolean cost, CostToEffectAction action, ActionContext actionContext) { + return new SetUpConsecutiveActionEffect(); + } + }; + } +}