Migrated Gandalf cards in set 6 to hjson

This commit is contained in:
MarcinSc
2024-04-22 15:59:34 +07:00
parent 4f43220f17
commit 1bc25f6d94
20 changed files with 283 additions and 842 deletions

View File

@@ -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;
}
}

View File

@@ -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;
}
}

View File

@@ -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<RequiredTriggerAction> 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;
}
}

View File

@@ -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<? extends Modifier> getInPlayModifiers(LotroGame game, PhysicalCard self) {
return Collections.singletonList(new StrengthModifier(self, self,
new SpotCondition(3, Race.ENT), 2));
}
}

View File

@@ -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<? extends Modifier> 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));
}
}

View File

@@ -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<? extends AbstractExtraPlayCostModifier> 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;
}
}

View File

@@ -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<RequiredTriggerAction> 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;
}
}

View File

@@ -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<? extends Modifier> getInPlayModifiers(LotroGame game, PhysicalCard self) {
return Collections.singletonList(
new KeywordModifier(self, Filters.hasAttached(self), Keyword.DAMAGE, 1));
}
@Override
public List<OptionalTriggerAction> 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;
}
}

View File

@@ -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));
}
}

View File

@@ -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));
}
}

View File

@@ -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;
}
}

View File

@@ -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<? extends ActivateCardAction> 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<PhysicalCard> 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;
}
}

View File

@@ -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;
}
}

View File

@@ -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<? extends ActivateCardAction> 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;
}
}

View File

@@ -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: <b>Skirmish:</b> Make an Ent strength +X and <b>damage +X</b>, 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: <b>Regroup:</b> 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.<br>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.<br>Ent Horde's twilight cost is -2 for each Ent or unbound Hobbit you can spot.<br>While you can spot more minions than companions, Ent Horde is <b>defender +1</b>.
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: <b>Damage +1</b>.<br>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.<br>He is <b>damage +1</b>.<br>Each time you play a spell during a skirmish, you may make Gandalf <b>damage +1</b> 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.<br>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: <b>Skirmish:</b> 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.<br><b>Response:</b> 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: <b>Spell</b>.<br><b>Skirmish:</b> 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: <b>Unhasty</b>.<br><b>Assignment:</b> Exert an unbound Hobbit to allow Treebeard to skirmish.<br><b>Skirmish:</b> Exert Treebeard to make an Ent <b>damage +1</b>.
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.<br>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.<br><b>Response:</b> 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: ""

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;