From 1bc25f6d944c02a997d58d5fb99f2aa1b73b1f2b Mon Sep 17 00:00:00 2001 From: MarcinSc Date: Mon, 22 Apr 2024 15:59:34 +0700 Subject: [PATCH] Migrated Gandalf cards in set 6 to hjson --- .../lotro/cards/set6/gandalf/Card6_024.java | 45 -- .../lotro/cards/set6/gandalf/Card6_025.java | 42 -- .../lotro/cards/set6/gandalf/Card6_026.java | 50 -- .../lotro/cards/set6/gandalf/Card6_027.java | 36 -- .../lotro/cards/set6/gandalf/Card6_028.java | 59 --- .../lotro/cards/set6/gandalf/Card6_029.java | 49 -- .../lotro/cards/set6/gandalf/Card6_030.java | 47 -- .../lotro/cards/set6/gandalf/Card6_031.java | 56 --- .../lotro/cards/set6/gandalf/Card6_032.java | 39 -- .../lotro/cards/set6/gandalf/Card6_033.java | 30 -- .../lotro/cards/set6/gandalf/Card6_034.java | 50 -- .../lotro/cards/set6/gandalf/Card6_035.java | 65 --- .../lotro/cards/set6/gandalf/Card6_036.java | 46 -- .../lotro/cards/set6/gandalf/Card6_037.java | 71 --- .../official/set06}/set06-Gandalf.hjson | 428 ++++++++++++------ .../build/field/EffectFieldProcessor.java | 4 - .../field/effect/{modifier => }/Modifier.java | 2 +- .../effect/{modifier => }/ModifyOwnCost.java | 2 +- .../{modifier => }/PermanentSiteModifier.java | 2 +- .../{modifier => }/StackedOnModifier.java | 2 +- 20 files changed, 283 insertions(+), 842 deletions(-) delete mode 100644 gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/gandalf/Card6_024.java delete mode 100644 gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/gandalf/Card6_025.java delete mode 100644 gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/gandalf/Card6_026.java delete mode 100644 gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/gandalf/Card6_027.java delete mode 100644 gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/gandalf/Card6_028.java delete mode 100644 gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/gandalf/Card6_029.java delete mode 100644 gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/gandalf/Card6_030.java delete mode 100644 gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/gandalf/Card6_031.java delete mode 100644 gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/gandalf/Card6_032.java delete mode 100644 gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/gandalf/Card6_033.java delete mode 100644 gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/gandalf/Card6_034.java delete mode 100644 gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/gandalf/Card6_035.java delete mode 100644 gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/gandalf/Card6_036.java delete mode 100644 gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/gandalf/Card6_037.java rename gemp-lotr/gemp-lotr-cards/src/main/resources/{card-stubs => cards/official/set06}/set06-Gandalf.hjson (66%) rename gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/cards/build/field/effect/{modifier => }/Modifier.java (93%) rename gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/cards/build/field/effect/{modifier => }/ModifyOwnCost.java (97%) rename gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/cards/build/field/effect/{modifier => }/PermanentSiteModifier.java (93%) rename gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/cards/build/field/effect/{modifier => }/StackedOnModifier.java (93%) diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/gandalf/Card6_024.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/gandalf/Card6_024.java deleted file mode 100644 index 5940706e6..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/gandalf/Card6_024.java +++ /dev/null @@ -1,45 +0,0 @@ -package com.gempukku.lotro.cards.set6.gandalf; - -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.modifiers.StrengthModifier; - -/** - * Set: Ents of Fangorn - * Side: Free - * Culture: Gandalf - * Twilight Cost: 0 - * Type: Event - * Game Text: Skirmish: Make an Ent strength +X and damage +X, where X is the number of unbound Hobbits you can spot. - */ -public class Card6_024 extends AbstractEvent { - public Card6_024() { - super(Side.FREE_PEOPLE, 0, Culture.GANDALF, "Boomed and Trumpeted", Phase.SKIRMISH); - } - - @Override - public PlayEventAction getPlayEventCardAction(String playerId, LotroGame game, final PhysicalCard self) { - final PlayEventAction action = new PlayEventAction(self); - action.appendEffect( - new ChooseActiveCardEffect(self, playerId, "Choose an Ent", Race.ENT) { - @Override - protected void cardSelected(LotroGame game, PhysicalCard card) { - int unboundHobbit = Filters.countActive(game, Race.HOBBIT, Filters.unboundCompanion); - action.appendEffect( - new AddUntilEndOfPhaseModifierEffect( - new StrengthModifier(self, card, unboundHobbit))); - action.appendEffect( - new AddUntilEndOfPhaseModifierEffect( - new KeywordModifier(self, card, Keyword.DAMAGE, unboundHobbit))); - } - }); - return action; - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/gandalf/Card6_025.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/gandalf/Card6_025.java deleted file mode 100644 index 4689d6f1a..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/gandalf/Card6_025.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.gempukku.lotro.cards.set6.gandalf; - -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.LiberateASiteEffect; -import com.gempukku.lotro.logic.effects.choose.ChooseAndDiscardCardsFromPlayEffect; -import com.gempukku.lotro.logic.effects.choose.ChooseAndExertCharactersEffect; -import com.gempukku.lotro.logic.timing.PlayConditions; - -/** - * Set: Ents of Fangorn - * Side: Free - * Culture: Gandalf - * Twilight Cost: 1 - * Type: Event - * Game Text: Regroup: Exert 2 Ents to liberate a site and discard a Shadow condition. - */ -public class Card6_025 extends AbstractEvent { - public Card6_025() { - super(Side.FREE_PEOPLE, 1, Culture.GANDALF, "Crack Into Rubble", Phase.REGROUP); - } - - @Override - public boolean checkPlayRequirements(LotroGame game, PhysicalCard self) { - return PlayConditions.canExert(self, game, 1, 2, Race.ENT); - } - - @Override - public PlayEventAction getPlayEventCardAction(String playerId, LotroGame game, PhysicalCard self) { - PlayEventAction action = new PlayEventAction(self); - action.appendCost( - new ChooseAndExertCharactersEffect(action, playerId, 2, 2, Race.ENT)); - action.appendEffect( - new LiberateASiteEffect(self, playerId, null)); - action.appendEffect( - new ChooseAndDiscardCardsFromPlayEffect(action, playerId, 1, 1, Side.SHADOW, CardType.CONDITION)); - return action; - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/gandalf/Card6_026.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/gandalf/Card6_026.java deleted file mode 100644 index 9435aeb55..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/gandalf/Card6_026.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.gempukku.lotro.cards.set6.gandalf; - -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.AbstractAttachable; -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: Ents of Fangorn - * Side: Free - * Culture: Gandalf - * Twilight Cost: 2 - * Type: Condition - * Strength: +4 - * Game Text: Bearer must be an Ent. Limit 1 per bearer. Discard this condition at the end of the turn. - */ -public class Card6_026 extends AbstractAttachable { - public Card6_026() { - super(Side.FREE_PEOPLE, CardType.CONDITION, 2, Culture.GANDALF, null, "Enraged"); - } - - @Override - public Filterable getValidTargetFilter(String playerId, LotroGame game, PhysicalCard self) { - return Filters.and(Race.ENT, Filters.not(Filters.hasAttached(Filters.name(getTitle())))); - } - - @Override - public int getStrength() { - return 4; - } - - @Override - public List getRequiredAfterTriggers(LotroGame game, EffectResult effectResult, PhysicalCard self) { - if (TriggerConditions.endOfTurn(game, effectResult)) { - RequiredTriggerAction action = new RequiredTriggerAction(self); - 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/set6/gandalf/Card6_027.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/gandalf/Card6_027.java deleted file mode 100644 index e10aba46f..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/gandalf/Card6_027.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.gempukku.lotro.cards.set6.gandalf; - -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.cardtype.AbstractCompanion; -import com.gempukku.lotro.logic.modifiers.Modifier; -import com.gempukku.lotro.logic.modifiers.SpotCondition; -import com.gempukku.lotro.logic.modifiers.StrengthModifier; - -import java.util.Collections; -import java.util.List; - -/** - * Set: Ents of Fangorn - * Side: Free - * Culture: Gandalf - * Twilight Cost: 4 - * Type: Companion • Ent - * Strength: 6 - * Vitality: 4 - * Resistance: 6 - * Game Text: While you can spot 3 Ents, this companion is strength +2. - */ -public class Card6_027 extends AbstractCompanion { - public Card6_027() { - super(4, 6, 4, 6, Culture.GANDALF, Race.ENT, null, "Ent Avenger"); - } - - @Override - public List getInPlayModifiers(LotroGame game, PhysicalCard self) { - return Collections.singletonList(new StrengthModifier(self, self, - new SpotCondition(3, Race.ENT), 2)); - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/gandalf/Card6_028.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/gandalf/Card6_028.java deleted file mode 100644 index eb4139a6e..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/gandalf/Card6_028.java +++ /dev/null @@ -1,59 +0,0 @@ -package com.gempukku.lotro.cards.set6.gandalf; - -import com.gempukku.lotro.common.CardType; -import com.gempukku.lotro.common.Culture; -import com.gempukku.lotro.common.Keyword; -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.cardtype.AbstractCompanion; -import com.gempukku.lotro.logic.modifiers.Condition; -import com.gempukku.lotro.logic.modifiers.KeywordModifier; -import com.gempukku.lotro.logic.modifiers.Modifier; -import com.gempukku.lotro.logic.timing.PlayConditions; - -import java.util.Collections; -import java.util.List; - -/** - * Set: Ents of Fangorn - * Side: Free - * Culture: Gandalf - * Twilight Cost: 15 - * Type: Companion • Ent - * Strength: 10 - * Vitality: 5 - * Resistance: 6 - * Game Text: To play, spot 2 Ent companions. Ent Horde's twilight cost is -2 for each Ent or unbound Hobbit - * you can spot. While you can spot more minions than companions, Ent Horde is defender +1. - */ -public class Card6_028 extends AbstractCompanion { - public Card6_028() { - super(15, 10, 5, 6, Culture.GANDALF, Race.ENT, null, "Ent Horde", null, true); - } - - @Override - public boolean checkPlayRequirements(LotroGame game, PhysicalCard self) { - return PlayConditions.canSpot(game, 2, Race.ENT, CardType.COMPANION); - } - - @Override - public int getTwilightCostModifier(LotroGame game, PhysicalCard self, PhysicalCard target) { - return -2 * ( - Filters.countSpottable(game, Race.ENT) - + Filters.countSpottable(game, Race.HOBBIT, Filters.unboundCompanion)); - } - - @Override - public List getInPlayModifiers(LotroGame game, PhysicalCard self) { - return Collections.singletonList( - new KeywordModifier(self, self, new Condition() { - @Override - public boolean isFullfilled(LotroGame game) { - return Filters.countActive(game, CardType.MINION) > - Filters.countActive(game, CardType.COMPANION); - } - }, Keyword.DEFENDER, 1)); - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/gandalf/Card6_029.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/gandalf/Card6_029.java deleted file mode 100644 index 00b9b169a..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/gandalf/Card6_029.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.gempukku.lotro.cards.set6.gandalf; - -import com.gempukku.lotro.common.*; -import com.gempukku.lotro.filters.Filters; -import com.gempukku.lotro.game.PhysicalCard; -import com.gempukku.lotro.game.state.LotroGame; -import com.gempukku.lotro.logic.cardtype.AbstractAttachable; -import com.gempukku.lotro.logic.modifiers.AbstractExtraPlayCostModifier; -import com.gempukku.lotro.logic.modifiers.cost.ExertExtraPlayCostModifier; -import com.gempukku.lotro.logic.timing.PlayConditions; - -import java.util.Collections; -import java.util.List; - -/** - * Set: Ents of Fangorn - * Side: Free - * Culture: Gandalf - * Twilight Cost: 1 - * Type: Condition - * Strength: +2 - * Game Text: To play, exert an unbound Hobbit. Bearer must be an Ent. Limit 1 per bearer. - */ -public class Card6_029 extends AbstractAttachable { - public Card6_029() { - super(Side.FREE_PEOPLE, CardType.CONDITION, 1, Culture.GANDALF, null, "Ent Moot"); - } - - @Override - public boolean checkPlayRequirements(LotroGame game, PhysicalCard self) { - return PlayConditions.canExert(self, game, Race.HOBBIT, Filters.unboundCompanion); - } - - @Override - public List getExtraCostToPlay(LotroGame game, PhysicalCard self) { - return Collections.singletonList( - new ExertExtraPlayCostModifier(self, self, null, Race.HOBBIT, Filters.unboundCompanion)); - } - - @Override - public Filterable getValidTargetFilter(String playerId, LotroGame game, PhysicalCard self) { - return Filters.and(Race.ENT, Filters.not(Filters.hasAttached(Filters.name(getTitle())))); - } - - @Override - public int getStrength() { - return 2; - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/gandalf/Card6_030.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/gandalf/Card6_030.java deleted file mode 100644 index a872fc751..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/gandalf/Card6_030.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.gempukku.lotro.cards.set6.gandalf; - -import com.gempukku.lotro.logic.cardtype.AbstractCompanion; -import com.gempukku.lotro.logic.timing.TriggerConditions; -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.game.PhysicalCard; -import com.gempukku.lotro.game.state.LotroGame; -import com.gempukku.lotro.logic.actions.RequiredTriggerAction; -import com.gempukku.lotro.logic.effects.WoundCharactersEffect; -import com.gempukku.lotro.logic.timing.EffectResult; - -import java.util.Collections; -import java.util.List; - -/** - * Set: Ents of Fangorn - * Side: Free - * Culture: Gandalf - * Twilight Cost: 4 - * Type: Companion • Wizard - * Strength: 10 - * Vitality: 4 - * Resistance: 6 - * Signet: Aragorn - * Game Text: Damage +1. Each time the fellowship moves, wound Gandalf. - */ -public class Card6_030 extends AbstractCompanion { - public Card6_030() { - super(4, 10, 4, 6, Culture.GANDALF, Race.WIZARD, Signet.ARAGORN, "Gandalf", "Mithrandir", true); - addKeyword(Keyword.DAMAGE, 1); - } - - @Override - public List getRequiredAfterTriggers(LotroGame game, EffectResult effectResult, PhysicalCard self) { - if (TriggerConditions.moves(game, effectResult)) { - - RequiredTriggerAction action = new RequiredTriggerAction(self); - action.appendEffect( - new WoundCharactersEffect(self, self)); - return Collections.singletonList(action); - } - return null; - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/gandalf/Card6_031.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/gandalf/Card6_031.java deleted file mode 100644 index ffc479eb6..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/gandalf/Card6_031.java +++ /dev/null @@ -1,56 +0,0 @@ -package com.gempukku.lotro.cards.set6.gandalf; - -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.AbstractAttachableFPPossession; -import com.gempukku.lotro.logic.effects.AddUntilEndOfPhaseModifierEffect; -import com.gempukku.lotro.logic.modifiers.KeywordModifier; -import com.gempukku.lotro.logic.modifiers.Modifier; -import com.gempukku.lotro.logic.timing.EffectResult; -import com.gempukku.lotro.logic.timing.TriggerConditions; - -import java.util.Collections; -import java.util.List; - -/** - * Set: Ents of Fangorn - * Side: Free - * Culture: Gandalf - * Twilight Cost: 2 - * Type: Possession • Hand Weapon - * Strength: +2 - * Game Text: Bearer must be Gandalf. He is damage +1. Each time you play a spell during a skirmish, you may make - * Gandalf damage +1 until the end of that skirmish. - */ -public class Card6_031 extends AbstractAttachableFPPossession { - public Card6_031() { - super(2, 2, 0, Culture.GANDALF, PossessionClass.HAND_WEAPON, "Glamdring", "Lightning Brand", true); - } - - @Override - public Filterable getValidTargetFilter(String playerId, LotroGame game, PhysicalCard self) { - return Filters.gandalf; - } - - @Override - public List getInPlayModifiers(LotroGame game, PhysicalCard self) { - return Collections.singletonList( - new KeywordModifier(self, Filters.hasAttached(self), Keyword.DAMAGE, 1)); - } - - @Override - public List getOptionalAfterTriggers(String playerId, LotroGame game, EffectResult effectResult, PhysicalCard self) { - if (TriggerConditions.played(game, effectResult, Filters.owner(playerId), Keyword.SPELL) - && game.getGameState().getCurrentPhase() == Phase.SKIRMISH) { - OptionalTriggerAction action = new OptionalTriggerAction(self); - action.appendEffect( - new AddUntilEndOfPhaseModifierEffect( - new KeywordModifier(self, self.getAttachedTo(), Keyword.DAMAGE))); - return Collections.singletonList(action); - } - return null; - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/gandalf/Card6_032.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/gandalf/Card6_032.java deleted file mode 100644 index 8dc068a86..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/gandalf/Card6_032.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.gempukku.lotro.cards.set6.gandalf; - -import com.gempukku.lotro.common.CardType; -import com.gempukku.lotro.common.Culture; -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.cardtype.AbstractCompanion; -import com.gempukku.lotro.logic.timing.PlayConditions; - -/** - * Set: Ents of Fangorn - * Side: Free - * Culture: Gandalf - * Twilight Cost: 13 - * Type: Companion • Ent - * Strength: 10 - * Vitality: 4 - * Resistance: 6 - * Game Text: To play, spot 2 Ent companions. Host of Fangorn's twilight cost is -2 for each Ent or unbound Hobbit - * you can spot. - */ -public class Card6_032 extends AbstractCompanion { - public Card6_032() { - super(13, 10, 4, 6, Culture.GANDALF, Race.ENT, null, "Host of Fangorn", null, true); - } - - @Override - public boolean checkPlayRequirements(LotroGame game, PhysicalCard self) { - return PlayConditions.canSpot(game, 2, Race.ENT, CardType.COMPANION); - } - - @Override - public int getTwilightCostModifier(LotroGame game, PhysicalCard self, PhysicalCard target) { - return -2 * (Filters.countSpottable(game, Race.ENT) - + Filters.countSpottable(game, Race.HOBBIT, Filters.unboundCompanion)); - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/gandalf/Card6_033.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/gandalf/Card6_033.java deleted file mode 100644 index c7c458eed..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/gandalf/Card6_033.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.gempukku.lotro.cards.set6.gandalf; - -import com.gempukku.lotro.common.Culture; -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.cardtype.AbstractCompanion; - -/** - * Set: Ents of Fangorn - * Side: Free - * Culture: Gandalf - * Twilight Cost: 4 - * Type: Companion • Ent - * Strength: 8 - * Vitality: 3 - * Resistance: 6 - * Game Text: Quickbeam's twilight cost is -1 for each Ent and unbound Hobbit you can spot. - */ -public class Card6_033 extends AbstractCompanion { - public Card6_033() { - super(4, 8, 3, 6, Culture.GANDALF, Race.ENT, null, "Quickbeam", "Bregalad", true); - } - - @Override - public int getTwilightCostModifier(LotroGame game, PhysicalCard self, PhysicalCard target) { - return -(Filters.countSpottable(game, Race.ENT) + Filters.countSpottable(game, Race.HOBBIT, Filters.unboundCompanion)); - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/gandalf/Card6_034.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/gandalf/Card6_034.java deleted file mode 100644 index 59471efdc..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/gandalf/Card6_034.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.gempukku.lotro.cards.set6.gandalf; - -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.AddUntilEndOfPhaseModifierEffect; -import com.gempukku.lotro.logic.effects.choose.ChooseAndExertCharactersEffect; -import com.gempukku.lotro.logic.modifiers.StrengthModifier; -import com.gempukku.lotro.logic.timing.PlayConditions; - -/** - * Set: Ents of Fangorn - * Side: Free - * Culture: Gandalf - * Twilight Cost: 1 - * Type: Event - * Game Text: Skirmish: Exert an Ent to make him strength +1 for each Ent you spot (limit +4). - */ -public class Card6_034 extends AbstractEvent { - public Card6_034() { - super(Side.FREE_PEOPLE, 1, Culture.GANDALF, "Roused", Phase.SKIRMISH); - } - - @Override - public boolean checkPlayRequirements(LotroGame game, PhysicalCard self) { - return PlayConditions.canExert(self, game, Race.ENT); - } - - @Override - public PlayEventAction getPlayEventCardAction(String playerId, final LotroGame game, final PhysicalCard self) { - final PlayEventAction action = new PlayEventAction(self); - action.appendCost( - new ChooseAndExertCharactersEffect(action, playerId, 1, 1, Race.ENT) { - @Override - protected void forEachCardExertedCallback(PhysicalCard character) { - int bonus = Math.min(4, Filters.countSpottable(game, Race.ENT)); - action.appendEffect( - new AddUntilEndOfPhaseModifierEffect( - new StrengthModifier(self, character, bonus))); - } - }); - return action; - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/gandalf/Card6_035.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/gandalf/Card6_035.java deleted file mode 100644 index a4fa3b6fd..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/gandalf/Card6_035.java +++ /dev/null @@ -1,65 +0,0 @@ -package com.gempukku.lotro.cards.set6.gandalf; - -import com.gempukku.lotro.common.Culture; -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.ActivateCardAction; -import com.gempukku.lotro.logic.cardtype.AbstractCompanion; -import com.gempukku.lotro.logic.effects.ChooseActiveCardEffect; -import com.gempukku.lotro.logic.effects.PreventCardEffect; -import com.gempukku.lotro.logic.effects.SelfExertEffect; -import com.gempukku.lotro.logic.effects.WoundCharactersEffect; -import com.gempukku.lotro.logic.timing.Effect; -import com.gempukku.lotro.logic.timing.PlayConditions; -import com.gempukku.lotro.logic.timing.TriggerConditions; - -import java.util.Collection; -import java.util.Collections; -import java.util.List; - -/** - * Set: Ents of Fangorn - * Side: Free - * Culture: Gandalf - * Twilight Cost: 7 - * Type: Companion • Ent - * Strength: 8 - * Vitality: 4 - * Resistance: 6 - * Game Text: Skinbark's twilight cost is -1 for each Ent or unbound Hobbit you can spot. Response: If an unbound - * Hobbit is about to take a wound, exert Skinbark to prevent that wound. - */ -public class Card6_035 extends AbstractCompanion { - public Card6_035() { - super(7, 8, 4, 6, Culture.GANDALF, Race.ENT, null, "Skinbark", "Fladrif", true); - } - - @Override - public int getTwilightCostModifier(LotroGame game, PhysicalCard self, PhysicalCard target) { - return -(Filters.countSpottable(game, Race.ENT) + Filters.countSpottable(game, Race.HOBBIT, Filters.unboundCompanion)); - } - - @Override - public List getOptionalInPlayBeforeActions(String playerId, LotroGame game, final Effect effect, final PhysicalCard self) { - if (TriggerConditions.isGettingWounded(effect, game, Race.HOBBIT, Filters.unboundCompanion) - && PlayConditions.canSelfExert(self, game)) { - final WoundCharactersEffect woundEffect = (WoundCharactersEffect) effect; - final Collection cardsToBeWounded = woundEffect.getAffectedCardsMinusPrevented(game); - final ActivateCardAction action = new ActivateCardAction(self); - action.appendCost( - new SelfExertEffect(action, self)); - action.appendEffect( - new ChooseActiveCardEffect(self, playerId, "Choose unbound Hobbit", Race.HOBBIT, Filters.unboundCompanion, Filters.in(cardsToBeWounded)) { - @Override - protected void cardSelected(LotroGame game, PhysicalCard unboundHobbit) { - action.appendEffect( - new PreventCardEffect(woundEffect, unboundHobbit)); - } - }); - return Collections.singletonList(action); - } - return null; - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/gandalf/Card6_036.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/gandalf/Card6_036.java deleted file mode 100644 index 56513fe57..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/gandalf/Card6_036.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.gempukku.lotro.cards.set6.gandalf; - -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.StrengthModifier; - -/** - * Set: Ents of Fangorn - * Side: Free - * Culture: Gandalf - * Twilight Cost: 1 - * Type: Event - * Game Text: Spell. Skirmish: Make a minion skirmishing Gandalf strength -1 for each wound on each character - * in the skirmish. - */ -public class Card6_036 extends AbstractEvent { - public Card6_036() { - super(Side.FREE_PEOPLE, 1, Culture.GANDALF, "Threw Down My Enemy", Phase.SKIRMISH); - addKeyword(Keyword.SPELL); - } - - @Override - public PlayEventAction getPlayEventCardAction(String playerId, LotroGame game, final PhysicalCard self) { - final PlayEventAction action = new PlayEventAction(self); - action.appendEffect( - new ChooseActiveCardEffect(self, playerId, "Choose minion", CardType.MINION, Filters.inSkirmishAgainst(Filters.gandalf)) { - @Override - protected void cardSelected(LotroGame game, PhysicalCard card) { - int wounds = 0; - for (PhysicalCard character : Filters.filterActive(game, Filters.inSkirmish, Filters.wounded)) - wounds += game.getGameState().getWounds(character); - - action.insertEffect( - new AddUntilEndOfPhaseModifierEffect( - new StrengthModifier(self, card, -wounds))); - } - }); - return action; - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/gandalf/Card6_037.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/gandalf/Card6_037.java deleted file mode 100644 index 04ecb5a8f..000000000 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/gandalf/Card6_037.java +++ /dev/null @@ -1,71 +0,0 @@ -package com.gempukku.lotro.cards.set6.gandalf; - -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.ActivateCardAction; -import com.gempukku.lotro.logic.cardtype.AbstractCompanion; -import com.gempukku.lotro.logic.effects.AddUntilEndOfPhaseModifierEffect; -import com.gempukku.lotro.logic.effects.ChooseActiveCardEffect; -import com.gempukku.lotro.logic.effects.SelfExertEffect; -import com.gempukku.lotro.logic.effects.choose.ChooseAndExertCharactersEffect; -import com.gempukku.lotro.logic.modifiers.KeywordModifier; -import com.gempukku.lotro.logic.modifiers.UnhastyCompanionParticipatesInSkirmishedModifier; -import com.gempukku.lotro.logic.timing.PlayConditions; - -import java.util.Collections; -import java.util.List; - -/** - * Set: Ents of Fangorn - * Side: Free - * Culture: Gandalf - * Twilight Cost: 5 - * Type: Companion • Ent - * Strength: 12 - * Vitality: 4 - * Resistance: 6 - * Game Text: Unhasty. Assignment: Exert an unbound Hobbit to allow Treebeard to skirmish. Skirmish: Exert Treebeard - * to make an Ent damage +1. - */ -public class Card6_037 extends AbstractCompanion { - public Card6_037() { - super(5, 12, 4, 6, Culture.GANDALF, Race.ENT, null, "Treebeard", "Guardian of the Forest", true); - addKeyword(Keyword.UNHASTY); - } - - @Override - public List getPhaseActionsInPlay(String playerId, LotroGame game, final PhysicalCard self) { - if (PlayConditions.canUseFPCardDuringPhase(game, Phase.ASSIGNMENT, self) - && PlayConditions.canExert(self, game, Race.HOBBIT, Filters.unboundCompanion)) { - ActivateCardAction action = new ActivateCardAction(self); - action.appendCost( - new ChooseAndExertCharactersEffect(action, playerId, 1, 1, Race.HOBBIT, Filters.unboundCompanion)); - action.appendEffect( - new AddUntilEndOfPhaseModifierEffect( - new UnhastyCompanionParticipatesInSkirmishedModifier(self, self))); - return Collections.singletonList(action); - } - if (PlayConditions.canUseFPCardDuringPhase(game, Phase.SKIRMISH, self) - && PlayConditions.canSelfExert(self, game)) { - final ActivateCardAction action = new ActivateCardAction(self); - action.appendCost( - new SelfExertEffect(action, self)); - action.appendEffect( - new ChooseActiveCardEffect(self, playerId, "Choose and Ent", Race.ENT) { - @Override - protected void cardSelected(LotroGame game, PhysicalCard card) { - action.insertEffect( - new AddUntilEndOfPhaseModifierEffect( - new KeywordModifier(self, card, Keyword.DAMAGE, 1))); - } - }); - return Collections.singletonList(action); - } - return null; - } -} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/resources/card-stubs/set06-Gandalf.hjson b/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/official/set06/set06-Gandalf.hjson similarity index 66% rename from gemp-lotr/gemp-lotr-cards/src/main/resources/card-stubs/set06-Gandalf.hjson rename to gemp-lotr/gemp-lotr-cards/src/main/resources/cards/official/set06/set06-Gandalf.hjson index 79ed2ea06..032700e5c 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/resources/card-stubs/set06-Gandalf.hjson +++ b/gemp-lotr/gemp-lotr-cards/src/main/resources/cards/official/set06/set06-Gandalf.hjson @@ -22,20 +22,29 @@ twilight: 0 type: Event keywords: Skirmish - /*requires: { - - } effects: { type: event - cost: { - - }, effect: [ { - + type: modifyStrength + filter: choose(ent) + amount: { + type: forEachYouCanSpot + filter: unbound,hobbit + } + memorize: chosenEnt + } + { + type: addKeyword + filter: memory(chosenEnt) + keyword: damage + amount: { + type: forEachYouCanSpot + filter: unbound,hobbit + } } ] - }*/ + } gametext: Skirmish: Make an Ent strength +X and damage +X, where X is the number of unbound Hobbits you can spot. lore: For bole and bough are burning now, the furnace roars – we go to war!' promotext: "" @@ -69,20 +78,23 @@ twilight: 1 type: Event keywords: Regroup - /*requires: { - - } effects: { type: event cost: { - + type: exert + filter: choose(ent) + count: 2 }, effect: [ { - + type: liberateSite + } + { + type: discard + filter: choose(side(shadow),condition) } ] - }*/ + } gametext: Regroup: Exert 2 Ents to liberate a site and discard a Shadow condition. lore: To Isengard! Though Isengard be ringed and barred with doors of stone; / Though Isengard be strong and hard, as cold as stone and bare as bone....' promotext: "" @@ -116,17 +128,19 @@ twilight: 2 type: Condition strength: 4 - /*requires: { - - } + target: ent,not(hasAttached(name(Enraged))) effects: [ - { - - } - { - - } - ]*/ + { + type: trigger + trigger: { + type: endOfTurn + } + effect: { + type: discard + filter: self + } + } + ] gametext: Bearer must be an Ent. Limit 1 per bearer.
Discard this condition at the end of the turn. lore: An angry Ent is terrifying.' promotext: "" @@ -163,17 +177,21 @@ strength: 6 vitality: 4 resistance: 6 - /*requires: { - - } effects: [ - { - - } - { - - } - ]*/ + { + type: modifier + modifier: { + type: modifyStrength + filter: self + requires: { + type: canSpot + filter: ent + count: 3 + } + amount: 2 + } + } + ] gametext: While you can spot 3 Ents, this companion is strength +2. lore: As they drew near the flash and flicker of their eyes could be seen. promotext: "" @@ -210,17 +228,44 @@ strength: 10 vitality: 5 resistance: 6 - /*requires: { - - } effects: [ - { - - } - { - - } - ]*/ + { + type: toPlay + requires: { + type: canSpot + filter: ent,companion + count: 2 + } + } + { + type: modifyOwnCost + amount: { + type: forEachYouCanSpot + filter: or(ent,and(unbound,hobbit)) + multiplier: -2 + } + } + { + type: modifier + modifier: { + type: addKeyword + filter: self + requires: { + type: isLessThan + firstNumber: { + type: forEachYouCanSpot + filter: companion + } + secondNumber: { + type: forEachYouCanSpot + filter: minion + } + } + keyword: defender + amount: 1 + } + } + ] gametext: To play, spot 2 Ent companions.
Ent Horde's twilight cost is -2 for each Ent or unbound Hobbit you can spot.
While you can spot more minions than companions, Ent Horde is defender +1. lore: With doom we come, with doom we come!' promotext: "" @@ -254,17 +299,16 @@ twilight: 1 type: Condition strength: 2 - /*requires: { - - } + target: ent,not(hasAttached(name(Ent Moot))) effects: [ - { - - } - { - - } - ]*/ + { + type: extraCost + cost: { + type: exert + filter: choose(unbound,hobbit) + } + } + ] gametext: To play, exert an unbound Hobbit. Bearer must be an Ent. Limit 1 per bearer. lore: But when the Ents all gathered round Treebeard,... then the Hobbits saw that they were all of the same kindred, and all had the same eyes.... promotext: "" @@ -304,17 +348,18 @@ signet: Aragorn resistance: 6 keywords: Damage+1 - /*requires: { - - } effects: [ - { - - } - { - - } - ]*/ + { + type: trigger + trigger: { + type: moves + } + effect: { + type: wound + filter: self + } + } + ] gametext: Damage +1.
Each time the fellowship moves, wound Gandalf. lore: The Dark Lord has Nine. But we have One, mightier than they: the White Rider. He has passed through the fire and the abyss, and they shall fear him.' promotext: "" @@ -350,18 +395,36 @@ type: Possession strength: 2 itemclass: Hand weapon - #target: title(Gandalf) - /*requires: { - - } + target: title(Gandalf) effects: [ - { - - } - { - - } - ]*/ + { + type: modifier + modifier: { + type: addKeyword + filter: bearer + keyword: damage + amount: 1 + } + } + { + type: trigger + optional: true + trigger: { + type: played + filter: your,spell + } + requires: { + type: phase + phase: skirmish + } + effect: { + type: addKeyword + filter: bearer + keyword: damage + amount: 1 + } + } + ] gametext: Bearer must be Gandalf.
He is damage +1.
Each time you play a spell during a skirmish, you may make Gandalf damage +1 until the end of that skirmish. lore: Thunder they heard, and lightning... smote upon Celebdil, and leaped back broken into tongues of fire.' promotext: "" @@ -398,17 +461,24 @@ strength: 10 vitality: 4 resistance: 6 - /*requires: { - - } effects: [ - { - - } - { - - } - ]*/ + { + type: toPlay + requires: { + type: canSpot + filter: ent,companion + count: 2 + } + } + { + type: modifyOwnCost + amount: { + type: forEachYouCanSpot + filter: or(ent,and(unbound,hobbit)) + multiplier: -2 + } + } + ] gametext: To play, spot 2 Ent companions.
Host of Fangorn's twilight cost is -2 for each Ent or unbound Hobbit you can spot. lore: Of course, it is likely enough, my friends... that we are going to our doom, the last march of the Ents.' promotext: "" @@ -446,17 +516,16 @@ strength: 8 vitality: 3 resistance: 6 - /*requires: { - - } effects: [ - { - - } - { - - } - ]*/ + { + type: modifyOwnCost + amount: { + type: forEachYouCanSpot + filter: or(ent,and(unbound,hobbit)) + multiplier: -1 + } + } + ] gametext: Quickbeam's twilight cost is -1 for each Ent or unbound Hobbit you can spot. lore: But if we stayed home and did nothing, doom would find us anyway, sooner or later.' promotext: "" @@ -490,20 +559,31 @@ twilight: 1 type: Event keywords: Skirmish - /*requires: { - - } effects: { type: event cost: { - + type: exert + filter: choose(ent) + memorize: exertedEnt }, effect: [ + { + type: chooseHowManyToSpot + text: Choose how many Ents to spot + filter: ent + memorize: spotCount + } { - + type: modifyStrength + filter: memory(exertedEnt) + amount: { + type: fromMemory + memory: spotCount + limit: 4 + } } ] - }*/ + } gametext: Skirmish: Exert an Ent to make him strength +1 for each Ent you spot (limit +4). lore: To Isengard!' the Ents cried in many voices. promotext: "" @@ -541,17 +621,31 @@ strength: 8 vitality: 4 resistance: 6 - /*requires: { - - } effects: [ - { - - } - { - - } - ]*/ + { + type: modifyOwnCost + amount: { + type: forEachYouCanSpot + filter: or(ent,and(unbound,hobbit)) + multiplier: -1 + } + } + { + type: activatedTrigger + trigger: { + type: aboutToTakeWound + filter: unbound,hobbit + } + cost: { + type: exert + filter: self + } + effect: { + type: preventWound + filter: choose(unbound,hobbit) + } + } + ] gametext: Skinbark's twilight cost is -1 for each Ent or unbound Hobbit you can spot.
Response: If an unbound Hobbit is about to take a wound, exert Skinbark to prevent that wound. lore: He was wounded by Orcs, and many of his folk and tree-herds have been murdered and destroyed.' promotext: "" @@ -588,20 +682,20 @@ Spell Skirmish ] - /*requires: { - - } effects: { type: event - cost: { - - }, effect: [ { - + type: modifyStrength + filter: choose(minion,inSkirmishAgainst(name(Gandalf))) + amount: { + type: forEachWound + filter: character,inSkirmish + multiplier: -1 + } } ] - }*/ + } gametext: Spell.
Skirmish: Make a minion skirmishing Gandalf strength -1 for each wound on each character in the skirmish. lore: ...he fell from the high place and broke the mountain-side where he smote it in his ruin.' promotext: "" @@ -640,17 +734,37 @@ vitality: 4 resistance: 6 keywords: Unhasty - /*requires: { - - } effects: [ - { - - } - { - - } - ]*/ + { + type: activated + phase: assignment + cost: { + type: exert + filter: choose(unbound,hobbit) + } + effect: { + type: addModifier + modifier: { + type: unhastyCompanionCanParticipateInSkirmishes + filter: self + } + } + } + { + type: activated + phase: skirmish + cost: { + type: exert + filter: self + } + effect: { + type: addKeyword + filter: choose(ent) + keyword: damage + amount: 1 + } + } + ] gametext: Unhasty.
Assignment: Exert an unbound Hobbit to allow Treebeard to skirmish.
Skirmish: Exert Treebeard to make an Ent damage +1. lore: The little that I know of his long slow story would make a tale for which we have no time now.' promotext: "" @@ -684,17 +798,19 @@ twilight: 2 type: Condition strength: 4 - /*requires: { - - } + target: ent,not(hasAttached(name(Enraged))) effects: [ - { - - } - { - - } - ]*/ + { + type: trigger + trigger: { + type: endOfTurn + } + effect: { + type: discard + filter: self + } + } + ] gametext: Bearer must be an Ent. Limit 1 per bearer.
Discard this condition at the end of the turn. lore: They pushed, pulled, tore, shook, and hammered....' promotext: "" @@ -732,17 +848,31 @@ strength: 8 vitality: 4 resistance: 6 - /*requires: { - - } effects: [ - { - - } - { - - } - ]*/ + { + type: modifyOwnCost + amount: { + type: forEachYouCanSpot + filter: or(ent,and(unbound,hobbit)) + multiplier: -1 + } + } + { + type: activatedTrigger + trigger: { + type: aboutToTakeWound + filter: unbound,hobbit + } + cost: { + type: exert + filter: self + } + effect: { + type: preventWound + filter: choose(unbound,hobbit) + } + } + ] gametext: Skinbark's twilight cost is -1 for each Ent or unbound Hobbit you can spot.
Response: If an unbound Hobbit is about to take a wound, exert Skinbark to prevent that wound. lore: He has gone up onto the high places, among the birches that he loves best....' promotext: "" diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/cards/build/field/EffectFieldProcessor.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/cards/build/field/EffectFieldProcessor.java index 84d1855e9..8861a2308 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/cards/build/field/EffectFieldProcessor.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/cards/build/field/EffectFieldProcessor.java @@ -5,10 +5,6 @@ import com.gempukku.lotro.cards.build.CardGenerationEnvironment; import com.gempukku.lotro.cards.build.FieldProcessor; import com.gempukku.lotro.cards.build.InvalidCardDefinitionException; import com.gempukku.lotro.cards.build.field.effect.*; -import com.gempukku.lotro.cards.build.field.effect.modifier.Modifier; -import com.gempukku.lotro.cards.build.field.effect.modifier.ModifyOwnCost; -import com.gempukku.lotro.cards.build.field.effect.modifier.PermanentSiteModifier; -import com.gempukku.lotro.cards.build.field.effect.modifier.StackedOnModifier; import org.json.simple.JSONObject; import java.util.HashMap; diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/cards/build/field/effect/modifier/Modifier.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/cards/build/field/effect/Modifier.java similarity index 93% rename from gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/cards/build/field/effect/modifier/Modifier.java rename to gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/cards/build/field/effect/Modifier.java index d97bdeae0..cc4915b4b 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/cards/build/field/effect/modifier/Modifier.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/cards/build/field/effect/Modifier.java @@ -1,4 +1,4 @@ -package com.gempukku.lotro.cards.build.field.effect.modifier; +package com.gempukku.lotro.cards.build.field.effect; import com.gempukku.lotro.cards.build.BuiltLotroCardBlueprint; import com.gempukku.lotro.cards.build.CardGenerationEnvironment; diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/cards/build/field/effect/modifier/ModifyOwnCost.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/cards/build/field/effect/ModifyOwnCost.java similarity index 97% rename from gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/cards/build/field/effect/modifier/ModifyOwnCost.java rename to gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/cards/build/field/effect/ModifyOwnCost.java index 557386e37..dc6dc54ae 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/cards/build/field/effect/modifier/ModifyOwnCost.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/cards/build/field/effect/ModifyOwnCost.java @@ -1,4 +1,4 @@ -package com.gempukku.lotro.cards.build.field.effect.modifier; +package com.gempukku.lotro.cards.build.field.effect; import com.gempukku.lotro.cards.build.*; import com.gempukku.lotro.cards.build.field.EffectProcessor; diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/cards/build/field/effect/modifier/PermanentSiteModifier.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/cards/build/field/effect/PermanentSiteModifier.java similarity index 93% rename from gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/cards/build/field/effect/modifier/PermanentSiteModifier.java rename to gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/cards/build/field/effect/PermanentSiteModifier.java index 19d653237..aa227d2f2 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/cards/build/field/effect/modifier/PermanentSiteModifier.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/cards/build/field/effect/PermanentSiteModifier.java @@ -1,4 +1,4 @@ -package com.gempukku.lotro.cards.build.field.effect.modifier; +package com.gempukku.lotro.cards.build.field.effect; import com.gempukku.lotro.cards.build.BuiltLotroCardBlueprint; import com.gempukku.lotro.cards.build.CardGenerationEnvironment; diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/cards/build/field/effect/modifier/StackedOnModifier.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/cards/build/field/effect/StackedOnModifier.java similarity index 93% rename from gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/cards/build/field/effect/modifier/StackedOnModifier.java rename to gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/cards/build/field/effect/StackedOnModifier.java index e0682fa68..36b4a2c0d 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/cards/build/field/effect/modifier/StackedOnModifier.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/cards/build/field/effect/StackedOnModifier.java @@ -1,4 +1,4 @@ -package com.gempukku.lotro.cards.build.field.effect.modifier; +package com.gempukku.lotro.cards.build.field.effect; import com.gempukku.lotro.cards.build.BuiltLotroCardBlueprint; import com.gempukku.lotro.cards.build.CardGenerationEnvironment;