diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/shire/Card5_111.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/shire/Card5_111.java deleted file mode 100644 index 0b6b4eb66..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/shire/Card5_111.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.gempukku.lotro.cards.set5.shire; - -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.AbstractCompanion; -import com.gempukku.lotro.logic.effects.AddBurdenEffect; -import com.gempukku.lotro.logic.effects.choose.ChooseAndPlayCardFromDiscardEffect; -import com.gempukku.lotro.logic.timing.PlayConditions; - -import java.util.Collections; -import java.util.List; - -/** - * Set: Battle of Helm's Deep - * Side: Free - * Culture: Shire - * Twilight Cost: 0 - * Type: Companion • Hobbit - * Strength: 3 - * Vitality: 4 - * Resistance: 10 - * Signet: Aragorn - * Game Text: Ring-bearer (resistance 10). Fellowship: Add a burden to play Smeagol from your discard pile. - */ -public class Card5_111 extends AbstractCompanion { - public Card5_111() { - super(0, 3, 4, 10, Culture.SHIRE, Race.HOBBIT, Signet.ARAGORN, "Frodo", "Master of the Precious", true); - addKeyword(Keyword.CAN_START_WITH_RING); - } - - @Override - public List getPhaseActionsInPlay(String playerId, LotroGame game, PhysicalCard self) { - if (PlayConditions.canUseFPCardDuringPhase(game, Phase.FELLOWSHIP, self) - && PlayConditions.canPlayFromDiscard(playerId, game, Filters.smeagol)) { - ActivateCardAction action = new ActivateCardAction(self); - action.appendCost( - new AddBurdenEffect(self.getOwner(), self, 1)); - action.appendEffect( - new ChooseAndPlayCardFromDiscardEffect(playerId, game, Filters.smeagol)); - return Collections.singletonList(action); - } - return null; - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/shire/Card5_112.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/shire/Card5_112.java deleted file mode 100644 index 6fdc1f1a2..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/shire/Card5_112.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.gempukku.lotro.cards.set5.shire; - -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.RemoveBurdenEffect; -import com.gempukku.lotro.logic.effects.choose.ChooseAndDiscardCardsFromPlayEffect; -import com.gempukku.lotro.logic.timing.PlayConditions; - -/** - * Set: Battle of Helm's Deep - * Side: Free - * Culture: Shire - * Twilight Cost: 0 - * Type: Event - * Game Text: Regroup: Spot Sam and discard Smeagol or Gollum to remove 3 burdens. - */ -public class Card5_112 extends AbstractEvent { - public Card5_112() { - super(Side.FREE_PEOPLE, 0, Culture.SHIRE, "No Help for It", Phase.REGROUP); - } - - @Override - public boolean checkPlayRequirements(LotroGame game, PhysicalCard self) { - return PlayConditions.canSpot(game, Filters.sam) - && PlayConditions.canDiscardFromPlay(self, game, Filters.gollumOrSmeagol); - } - - @Override - public PlayEventAction getPlayEventCardAction(String playerId, LotroGame game, PhysicalCard self) { - PlayEventAction action = new PlayEventAction(self); - action.appendCost( - new ChooseAndDiscardCardsFromPlayEffect(action, playerId, 1, 1, Filters.gollumOrSmeagol)); - action.appendEffect( - new RemoveBurdenEffect(playerId, self, 3)); - return action; - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/shire/Card5_113.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/shire/Card5_113.java deleted file mode 100644 index 76fa586f4..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/shire/Card5_113.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.gempukku.lotro.cards.set5.shire; - -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.AddBurdenEffect; -import com.gempukku.lotro.logic.effects.ChooseAndWoundCharactersEffect; - -/** - * Set: Battle of Helm's Deep - * Side: Free - * Culture: Shire - * Twilight Cost: 0 - * Type: Event - * Game Text: Skirmish: Add 3 burdens to wound a minion skirmishing a companion who has the Frodo signet twice. - */ -public class Card5_113 extends AbstractEvent { - public Card5_113() { - super(Side.FREE_PEOPLE, 0, Culture.SHIRE, "No Use That Way", Phase.SKIRMISH); - } - - @Override - public PlayEventAction getPlayEventCardAction(String playerId, LotroGame game, PhysicalCard self) { - PlayEventAction action = new PlayEventAction(self); - action.appendCost( - new AddBurdenEffect(self.getOwner(), self, 3)); - action.appendEffect( - new ChooseAndWoundCharactersEffect(action, playerId, 1, 1, 2, CardType.MINION, Filters.inSkirmishAgainst(CardType.COMPANION, Signet.FRODO))); - return action; - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/shire/Card5_114.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/shire/Card5_114.java deleted file mode 100644 index 9bc2cd865..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/shire/Card5_114.java +++ /dev/null @@ -1,60 +0,0 @@ -package com.gempukku.lotro.cards.set5.shire; - -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.AbstractAttachable; -import com.gempukku.lotro.logic.effects.CancelActivatedEffect; -import com.gempukku.lotro.logic.effects.choose.ChooseAndDiscardCardsFromPlayEffect; -import com.gempukku.lotro.logic.timing.EffectResult; -import com.gempukku.lotro.logic.timing.PlayConditions; -import com.gempukku.lotro.logic.timing.TriggerConditions; -import com.gempukku.lotro.logic.timing.results.ActivateCardResult; - -import java.util.Collections; -import java.util.List; - -/** - * Set: Battle of Helm's Deep - * Side: Free - * Culture: Shire - * Twilight Cost: 1 - * Type: Condition - * Vitality: +1 - * Game Text: Plays on Sam. Response: If a regroup special ability is used, discard Smeagol or Gollum to cancel - * that action. - */ -public class Card5_114 extends AbstractAttachable { - public Card5_114() { - super(Side.FREE_PEOPLE, CardType.CONDITION, 1, Culture.SHIRE, null, "Rare Good Ballast", null, true); - } - - @Override - public Filterable getValidTargetFilter(String playerId, LotroGame game, PhysicalCard self) { - return Filters.sam; - } - - @Override - public int getVitality() { - return 1; - } - - @Override - public List getOptionalInPlayAfterActions(String playerId, LotroGame game, EffectResult effectResult, PhysicalCard self) { - if (TriggerConditions.activated(game, effectResult, Filters.any)) { - ActivateCardResult activateEffect = (ActivateCardResult) effectResult; - if (activateEffect.getActionTimeword() == Phase.REGROUP - && PlayConditions.canDiscardFromPlay(self, game, Filters.gollumOrSmeagol)) { - ActivateCardAction action = new ActivateCardAction(self); - action.appendCost( - new ChooseAndDiscardCardsFromPlayEffect(action, playerId, 1, 1, Filters.gollumOrSmeagol)); - action.appendEffect( - new CancelActivatedEffect(self, activateEffect)); - return Collections.singletonList(action); - } - } - return null; - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/shire/Card5_115.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/shire/Card5_115.java deleted file mode 100644 index 2aa35520d..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/shire/Card5_115.java +++ /dev/null @@ -1,64 +0,0 @@ -package com.gempukku.lotro.cards.set5.shire; - -import com.gempukku.lotro.common.Culture; -import com.gempukku.lotro.common.Keyword; -import com.gempukku.lotro.common.Race; -import com.gempukku.lotro.common.Signet; -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.MakeRingBearerEffect; -import com.gempukku.lotro.logic.modifiers.Condition; -import com.gempukku.lotro.logic.modifiers.Modifier; -import com.gempukku.lotro.logic.modifiers.OverwhelmedByMultiplierModifier; -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: Shire - * Twilight Cost: 2 - * Type: Companion • Hobbit - * Strength: 3 - * Vitality: 4 - * Resistance: 6 - * Signet: Aragorn - * Game Text: Ring-bound. While you can spot Frodo and Smeagol, Sam may not be overwhelmed unless is strength - * is tripled. Response: If Frodo is killed, make Sam the Ring-bearer (resistance 5). - */ -public class Card5_115 extends AbstractCompanion { - public Card5_115() { - super(2, 3, 4, 5, Culture.SHIRE, Race.HOBBIT, Signet.ARAGORN, "Sam", "Nice Sensible Hobbit", true); - addKeyword(Keyword.RING_BOUND); - } - - @Override - public List getInPlayModifiers(LotroGame game, PhysicalCard self) { - return Collections.singletonList( - new OverwhelmedByMultiplierModifier(self, self, - new Condition() { - @Override - public boolean isFullfilled(LotroGame game) { - return Filters.canSpot(game, Filters.frodo) - && Filters.canSpot(game, Filters.smeagol); - } - }, 3)); - } - - @Override - public List getOptionalAfterTriggers(String playerId, LotroGame game, EffectResult effectResult, PhysicalCard self) { - if (TriggerConditions.forEachKilled(game, effectResult, Filters.frodo, Filters.ringBearer)) { - OptionalTriggerAction action = new OptionalTriggerAction(self); - action.appendEffect(new MakeRingBearerEffect(self)); - return Collections.singletonList(action); - } - - return null; - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/shire/Card5_116.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/shire/Card5_116.java deleted file mode 100644 index b814a3307..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/shire/Card5_116.java +++ /dev/null @@ -1,65 +0,0 @@ -package com.gempukku.lotro.cards.set5.shire; - -import com.gempukku.lotro.common.Culture; -import com.gempukku.lotro.common.Filterable; -import com.gempukku.lotro.common.Phase; -import com.gempukku.lotro.common.PossessionClass; -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.AbstractAttachableFPPossession; -import com.gempukku.lotro.logic.effects.AddUntilEndOfPhaseModifierEffect; -import com.gempukku.lotro.logic.effects.ChooseActiveCardEffect; -import com.gempukku.lotro.logic.effects.choose.ChooseAndExertCharactersEffect; -import com.gempukku.lotro.logic.modifiers.StrengthModifier; -import com.gempukku.lotro.logic.timing.PlayConditions; - -import java.util.Collections; -import java.util.List; - -/** - * Set: Battle of Helm's Deep - * Side: Free - * Culture: Shire - * Twilight Cost: 1 - * Type: Possession • Hand Weapon - * Strength: +2 - * Game Text: Bearer must be Frodo. Skirmish: Exert Frodo to make Smeagol strength +2 or Gollum strength -2. - */ -public class Card5_116 extends AbstractAttachableFPPossession { - public Card5_116() { - super(1, 2, 0, Culture.SHIRE, PossessionClass.HAND_WEAPON, "Sting", "Baggins Heirloom", true); - } - - @Override - public Filterable getValidTargetFilter(String playerId, LotroGame game, PhysicalCard self) { - return Filters.frodo; - } - - @Override - public List getPhaseActionsInPlay(String playerId, LotroGame game, final PhysicalCard self) { - if (PlayConditions.canUseFPCardDuringPhase(game, Phase.SKIRMISH, self) - && PlayConditions.canExert(self, game, Filters.frodo)) { - final ActivateCardAction action = new ActivateCardAction(self); - action.appendCost( - new ChooseAndExertCharactersEffect(action, playerId, 1, 1, Filters.frodo)); - action.appendEffect( - new ChooseActiveCardEffect(self, playerId, "Choose Smeagol or Gollum", Filters.gollumOrSmeagol) { - @Override - protected void cardSelected(LotroGame game, PhysicalCard card) { - if (card.getBlueprint().getTitle().equals("Smeagol")) - action.insertEffect( - new AddUntilEndOfPhaseModifierEffect( - new StrengthModifier(self, Filters.sameCard(card), 2))); - else - action.insertEffect( - new AddUntilEndOfPhaseModifierEffect( - new StrengthModifier(self, Filters.sameCard(card), -2))); - } - }); - return Collections.singletonList(action); - } - return null; - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/shire/Card5_117.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/shire/Card5_117.java deleted file mode 100644 index e64056c1f..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/shire/Card5_117.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.gempukku.lotro.cards.set5.shire; - -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.HealCharactersEffect; -import com.gempukku.lotro.logic.effects.choose.ChooseAndPlayCardFromDiscardEffect; -import com.gempukku.lotro.logic.timing.PlayConditions; - -/** - * Set: Battle of Helm's Deep - * Side: Free - * Culture: Shire - * Twilight Cost: 0 - * Type: Event - * Game Text: Fellowship: Play Smeagol from your discard pile to heal each Ring-bound Hobbit twice. - */ -public class Card5_117 extends AbstractEvent { - public Card5_117() { - super(Side.FREE_PEOPLE, 0, Culture.SHIRE, "You Must Help Us", Phase.FELLOWSHIP); - } - - @Override - public boolean checkPlayRequirements(LotroGame game, PhysicalCard self) { - return PlayConditions.canPlayFromDiscard(self.getOwner(), game, Filters.smeagol); - } - - @Override - public PlayEventAction getPlayEventCardAction(String playerId, LotroGame game, PhysicalCard self) { - PlayEventAction action = new PlayEventAction(self); - action.appendCost( - new ChooseAndPlayCardFromDiscardEffect(playerId, game, Filters.smeagol)); - action.appendEffect( - new HealCharactersEffect(self, self.getOwner(), Filters.and(Race.HOBBIT, Keyword.RING_BOUND))); - action.appendEffect( - new HealCharactersEffect(self, self.getOwner(), Filters.and(Race.HOBBIT, Keyword.RING_BOUND))); - return action; - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/resources/card-stubs/set05-Shire.hjson b/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/official/set05/set05-Shire.hjson similarity index 67% rename from gemp-lotr/gemp-lotr-cards/src/main/resources/card-stubs/set05-Shire.hjson rename to gemp-lotr/gemp-lotr-cards/src/main/resources/cards/official/set05/set05-Shire.hjson index e48918cfe..586c8598f 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/resources/card-stubs/set05-Shire.hjson +++ b/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/official/set05/set05-Shire.hjson @@ -26,18 +26,22 @@ strength: 3 vitality: 4 signet: Aragorn - resistance: 6 - /*requires: { - - } + resistance: 10 + keyword: can start with ring effects: [ - { - - } - { - - } - ]*/ + { + type: activated + phase: fellowship + cost: { + type: addBurdens + amount: 1 + } + effect: { + type: playCardFromDiscard + filter: choose(name(Sméagol)) + } + } + ] gametext: Ring-bearer (resistance 10).
Fellowship: Add a burden to play Sméagol from your discard pile. lore: We promises, yes I promise!... Good master, good Sméagol, gollum, gollum!' promotext: "" @@ -71,20 +75,23 @@ twilight: 0 type: Event keywords: Regroup - /*requires: { - - } effects: { type: event + requires: { + type: canSpot + filter: name(Sam) + } cost: { - + type: discard + filter: choose(or(name(Sméagol),name(Gollum))) }, effect: [ { - + type: removeBurdens + amount: 3 } ] - }*/ + } gametext: Regroup: Spot Sam and discard Sméagol or Gollum to remove 3 burdens. lore: ...he'll come back, you'll see. The promise will hold yet a while. And he won't leave his Precious, anyway.' promotext: "" @@ -118,20 +125,20 @@ twilight: 0 type: Event keywords: Skirmish - /*requires: { - - } effects: { type: event cost: { - + type: addBurdens + amount: 3 }, effect: [ { - + type: wound + filter: choose(minion,inSkirmishAgainst(companion,signet(Frodo))) + times: 2 } ] - }*/ + } gametext: Skirmish: Add 3 burdens to wound a minion skirmishing a companion who has the Frodo signet twice. lore: Don't take the Precious to Him!... Keep it, nice master, and be kind to Sméagol.' promotext: "" @@ -165,17 +172,23 @@ twilight: 1 type: Condition vitality: 1 - /*requires: { - - } + target: name(Sam) effects: [ - { - - } - { - - } - ]*/ + { + type: activatedTrigger + trigger: { + type: usesSpecialAbility + phase: regroup + } + cost: { + type: discard + filter: choose(or(name(Sméagol),name(Gollum))) + } + effect: { + type: cancelSpecialAbility + } + } + ] gametext: Plays on Sam.
Response: If a regroup special ability is used, discard Sméagol or Gollum to cancel that action. lore: What a hobbit needs with coney... is some herbs and roots, especially taters – not to mention bread.' promotext: "" @@ -213,19 +226,39 @@ strength: 3 vitality: 4 signet: Aragorn - resistance: 6 + resistance: 5 keywords: Ring-bound - /*requires: { - - } effects: [ + { + type: modifier + modifier: { + type: cantBeOverwhelmedMultiplier + requires: [ + { + type: canSpot + filter: name(Frodo) + } + { + type: canSpot + filter: name(Sméagol) + } + ] + filter: self + multiplier: 3 + } + } { - + type: trigger + optional: true + trigger: { + type: killed + filter: name(Frodo),ring bearer + } + effect: { + type: makeSelfRingBearer + } } - { - - } - ]*/ + ] gametext: Ring-bound.
While you can spot Frodo and Sméagol, Sam may not be overwhelmed unless his strength is tripled.
Response: If Frodo is killed, make Sam the Ring-bearer (resistance 5). lore: Trust Sméagol now? Very, very good.' promotext: "" @@ -261,18 +294,36 @@ type: Possession strength: 2 itemclass: Hand weapon - #target: title(Frodo) - /*requires: { - - } + target: title(Frodo) effects: [ - { - - } - { - - } - ]*/ + { + type: activated + phase: skirmish + cost: { + type: exert + filter: bearer + } + effect: { + type: choice + texts: [ + Make Sméagol strength +2 + Make Gollum strength -2 + ] + effects: [ + { + type: modifyStrength + filter: choose(name(Sméagol)) + amount: 2 + } + { + type: modifyStrength + filter: choose(name(Gollum)) + amount: -2 + } + ] + } + } + ] gametext: Bearer must be Frodo.
Skirmish: Exert Frodo to make Sméagol strength +2 or Gollum strength -2. lore: This is Sting. You have seen it before once upon a time.' promotext: "" @@ -306,20 +357,20 @@ twilight: 0 type: Event keywords: Fellowship - /*requires: { - - } effects: { type: event cost: { - + type: playCardFromDiscard + filter: choose(name(Sméagol)) }, effect: [ { - + type: heal + filter: all(ringBound,hobbit) + times: 2 } ] - }*/ + } gametext: Fellowship: Play Sméagol from your discard pile to heal each Ring-bound Hobbit twice. lore: You will have to come with us, that's all, while we keep an eye on you.' promotext: ""