Migrated Elven cards in set 10 to hjson
This commit is contained in:
@@ -1,54 +0,0 @@
|
||||
package com.gempukku.lotro.cards.set10.elven;
|
||||
|
||||
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.ForEachYouSpotEffect;
|
||||
import com.gempukku.lotro.logic.effects.SelfExertEffect;
|
||||
import com.gempukku.lotro.logic.effects.choose.ChooseAndAddUntilEOPStrengthBonusEffect;
|
||||
import com.gempukku.lotro.logic.timing.PlayConditions;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Set: Mount Doom
|
||||
* Side: Free
|
||||
* Culture: Elven
|
||||
* Twilight Cost: 2
|
||||
* Type: Companion • Elf
|
||||
* Strength: 6
|
||||
* Vitality: 3
|
||||
* Resistance: 6
|
||||
* Game Text: Skirmish: Exert Aegnor to make a minion skirmishing an unbound [ELVEN] companion strength -1 for each
|
||||
* archer you spot.
|
||||
*/
|
||||
public class Card10_004 extends AbstractCompanion {
|
||||
public Card10_004() {
|
||||
super(2, 6, 3, 6, Culture.ELVEN, Race.ELF, null, "Aegnor", "Elven Escort", true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<? extends ActivateCardAction> getPhaseActionsInPlay(final String playerId, final LotroGame game, final PhysicalCard self) {
|
||||
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 ForEachYouSpotEffect(playerId, Keyword.ARCHER) {
|
||||
@Override
|
||||
protected void spottedCards(int spotCount) {
|
||||
action.insertEffect(
|
||||
new ChooseAndAddUntilEOPStrengthBonusEffect(action, self, playerId, -spotCount, CardType.MINION, Filters.inSkirmishAgainst(Culture.ELVEN, Filters.unboundCompanion)));
|
||||
}
|
||||
});
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -1,59 +0,0 @@
|
||||
package com.gempukku.lotro.cards.set10.elven;
|
||||
|
||||
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.AddUntilEndOfPhaseModifierEffect;
|
||||
import com.gempukku.lotro.logic.effects.ChooseAndDiscardCardsFromHandEffect;
|
||||
import com.gempukku.lotro.logic.effects.DiscardBottomCardFromDeckEffect;
|
||||
import com.gempukku.lotro.logic.modifiers.StrengthModifier;
|
||||
import com.gempukku.lotro.logic.timing.PlayConditions;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Set: Mount Doom
|
||||
* Side: Free
|
||||
* Culture: Elven
|
||||
* Twilight Cost: 2
|
||||
* Type: Companion • Elf
|
||||
* Strength: 6
|
||||
* Vitality: 3
|
||||
* Resistance: 6
|
||||
* Signet: Aragorn
|
||||
* Game Text: Skirmish: Discard a card from hand to discard the bottom card of your draw deck. If the bottom card was
|
||||
* an [ELVEN] card, each minion skirmishing Arwen is strength -3.
|
||||
*/
|
||||
public class Card10_005 extends AbstractCompanion {
|
||||
public Card10_005() {
|
||||
super(2, 6, 3, 6, Culture.ELVEN, Race.ELF, Signet.ARAGORN, "Arwen", "Echo of Lúthien", true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<? extends ActivateCardAction> getPhaseActionsInPlay(String playerId, LotroGame game, final PhysicalCard self) {
|
||||
if (PlayConditions.canUseFPCardDuringPhase(game, Phase.SKIRMISH, self)
|
||||
&& PlayConditions.canDiscardFromHand(game, playerId, 1, Filters.any)) {
|
||||
final ActivateCardAction action = new ActivateCardAction(self);
|
||||
action.appendCost(
|
||||
new ChooseAndDiscardCardsFromHandEffect(action, playerId, false, 1));
|
||||
action.appendEffect(
|
||||
new DiscardBottomCardFromDeckEffect(self, playerId, 1, false) {
|
||||
@Override
|
||||
protected void cardsDiscardedCallback(Collection<PhysicalCard> cards) {
|
||||
for (final PhysicalCard card : cards)
|
||||
if (card.getBlueprint().getCulture() == Culture.ELVEN) {
|
||||
action.appendEffect(
|
||||
new AddUntilEndOfPhaseModifierEffect(new StrengthModifier(self, Filters.and(CardType.MINION, Filters.inSkirmishAgainst(self)), -3)));
|
||||
}
|
||||
}
|
||||
});
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -1,43 +0,0 @@
|
||||
package com.gempukku.lotro.cards.set10.elven;
|
||||
|
||||
import com.gempukku.lotro.common.CardType;
|
||||
import com.gempukku.lotro.common.Culture;
|
||||
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.cardtype.AbstractCompanion;
|
||||
import com.gempukku.lotro.logic.modifiers.Modifier;
|
||||
import com.gempukku.lotro.logic.modifiers.StrengthModifier;
|
||||
import com.gempukku.lotro.logic.modifiers.evaluator.CountActiveEvaluator;
|
||||
import com.gempukku.lotro.logic.modifiers.evaluator.MultiplyEvaluator;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Set: Mount Doom
|
||||
* Side: Free
|
||||
* Culture: Elven
|
||||
* Twilight Cost: 2
|
||||
* Type: Companion • Elf
|
||||
* Strength: 6
|
||||
* Vitality: 3
|
||||
* Resistance: 6
|
||||
* Signet: Frodo
|
||||
* Game Text: Each minion skirmishing Arwen is strength -2 for each wounded minion you can spot.
|
||||
*/
|
||||
public class Card10_006 extends AbstractCompanion {
|
||||
public Card10_006() {
|
||||
super(2, 6, 3, 6, Culture.ELVEN, Race.ELF, Signet.FRODO, "Arwen", "Queen of Elves and Men", true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<? extends Modifier> getInPlayModifiers(LotroGame game, PhysicalCard self) {
|
||||
return Collections.singletonList(
|
||||
new StrengthModifier(self,
|
||||
Filters.and(CardType.MINION, Filters.inSkirmishAgainst(self)), null,
|
||||
new MultiplyEvaluator(-2, new CountActiveEvaluator(CardType.MINION, Filters.wounded))));
|
||||
}
|
||||
}
|
||||
@@ -1,75 +0,0 @@
|
||||
package com.gempukku.lotro.cards.set10.elven;
|
||||
|
||||
import com.gempukku.lotro.logic.cardtype.AbstractCompanion;
|
||||
import com.gempukku.lotro.logic.timing.TriggerConditions;
|
||||
import com.gempukku.lotro.logic.effects.DiscardCardFromDeckEffect;
|
||||
import com.gempukku.lotro.logic.effects.OptionalEffect;
|
||||
import com.gempukku.lotro.logic.effects.RevealTopCardsOfDrawDeckEffect;
|
||||
import com.gempukku.lotro.common.CardType;
|
||||
import com.gempukku.lotro.common.Culture;
|
||||
import com.gempukku.lotro.common.Phase;
|
||||
import com.gempukku.lotro.common.Race;
|
||||
import com.gempukku.lotro.filters.Filters;
|
||||
import com.gempukku.lotro.game.PhysicalCard;
|
||||
import com.gempukku.lotro.game.state.LotroGame;
|
||||
import com.gempukku.lotro.logic.actions.OptionalTriggerAction;
|
||||
import com.gempukku.lotro.logic.effects.WoundCharactersEffect;
|
||||
import com.gempukku.lotro.logic.timing.EffectResult;
|
||||
import com.gempukku.lotro.logic.timing.UnrespondableEffect;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Set: Mount Doom
|
||||
* Side: Free
|
||||
* Culture: Elven
|
||||
* Twilight Cost: 2
|
||||
* Type: Companion • Elf
|
||||
* Strength: 6
|
||||
* Vitality: 3
|
||||
* Resistance: 6
|
||||
* Game Text: At the start of each skirmish involving Celeborn, you may reveal the top card of your draw deck. If it is
|
||||
* an [ELVEN] card, you may discard it to wound each minion in that skirmish.
|
||||
*/
|
||||
public class Card10_007 extends AbstractCompanion {
|
||||
public Card10_007() {
|
||||
super(2, 6, 3, 6, Culture.ELVEN, Race.ELF, null, "Celeborn", "Lord of the Galadhrim", true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<OptionalTriggerAction> getOptionalAfterTriggers(final String playerId, LotroGame game, EffectResult effectResult, final PhysicalCard self) {
|
||||
if (TriggerConditions.startOfPhase(game, effectResult, Phase.SKIRMISH)
|
||||
&& Filters.inSkirmish.accepts(game, self)) {
|
||||
final OptionalTriggerAction action = new OptionalTriggerAction(self);
|
||||
action.appendCost(
|
||||
new RevealTopCardsOfDrawDeckEffect(self, playerId, 1) {
|
||||
@Override
|
||||
protected void cardsRevealed(List<PhysicalCard> revealedCards) {
|
||||
for (final PhysicalCard card : revealedCards) {
|
||||
if (card.getBlueprint().getCulture() == Culture.ELVEN) {
|
||||
action.insertCost(
|
||||
new OptionalEffect(action, playerId,
|
||||
new UnrespondableEffect() {
|
||||
@Override
|
||||
public String getText(LotroGame game) {
|
||||
return "Discard revealed card";
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void doPlayEffect(LotroGame game) {
|
||||
action.insertCost(
|
||||
new DiscardCardFromDeckEffect(card));
|
||||
action.appendEffect(
|
||||
new WoundCharactersEffect(self, CardType.MINION, Filters.inSkirmish));
|
||||
}
|
||||
}));
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -1,61 +0,0 @@
|
||||
package com.gempukku.lotro.cards.set10.elven;
|
||||
|
||||
import com.gempukku.lotro.common.CardType;
|
||||
import com.gempukku.lotro.common.Culture;
|
||||
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.SelfExertEffect;
|
||||
import com.gempukku.lotro.logic.effects.choose.ChooseAndAddUntilEOPStrengthBonusEffect;
|
||||
import com.gempukku.lotro.logic.modifiers.evaluator.Evaluator;
|
||||
import com.gempukku.lotro.logic.timing.PlayConditions;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Set: Mount Doom
|
||||
* Side: Free
|
||||
* Culture: Elven
|
||||
* Twilight Cost: 4
|
||||
* Type: Companion • Elf
|
||||
* Strength: 7
|
||||
* Vitality: 4
|
||||
* Resistance: 6
|
||||
* Game Text: To play, spot 2 Elves. Skirmish: Exert Cirdan to make a minion he is skirmishing strength -1 for each
|
||||
* [ELVEN] event in your discard pile.
|
||||
*/
|
||||
public class Card10_008 extends AbstractCompanion {
|
||||
public Card10_008() {
|
||||
super(4, 7, 4, 6, Culture.ELVEN, Race.ELF, null, "Círdan", "The Shipwright", true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean checkPlayRequirements(LotroGame game, PhysicalCard self) {
|
||||
return PlayConditions.canSpot(game, 2, Race.ELF);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<? extends ActivateCardAction> getPhaseActionsInPlay(final String playerId, final LotroGame game, PhysicalCard self) {
|
||||
if (PlayConditions.canUseFPCardDuringPhase(game, Phase.SKIRMISH, self)
|
||||
&& PlayConditions.canSelfExert(self, game)) {
|
||||
ActivateCardAction action = new ActivateCardAction(self);
|
||||
action.appendCost(
|
||||
new SelfExertEffect(action, self));
|
||||
action.appendEffect(
|
||||
new ChooseAndAddUntilEOPStrengthBonusEffect(action, self, playerId,
|
||||
new Evaluator() {
|
||||
@Override
|
||||
public int evaluateExpression(LotroGame game, PhysicalCard cardAffected) {
|
||||
return -Filters.filter(game.getGameState().getDiscard(playerId), game, CardType.EVENT, Culture.ELVEN).size();
|
||||
}
|
||||
}, CardType.MINION, Filters.inSkirmishAgainst(self)));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -1,70 +0,0 @@
|
||||
package com.gempukku.lotro.cards.set10.elven;
|
||||
|
||||
import com.gempukku.lotro.common.Culture;
|
||||
import com.gempukku.lotro.common.Phase;
|
||||
import com.gempukku.lotro.common.Race;
|
||||
import com.gempukku.lotro.filters.Filters;
|
||||
import com.gempukku.lotro.game.PhysicalCard;
|
||||
import com.gempukku.lotro.game.state.LotroGame;
|
||||
import com.gempukku.lotro.logic.actions.OptionalTriggerAction;
|
||||
import com.gempukku.lotro.logic.cardtype.AbstractCompanion;
|
||||
import com.gempukku.lotro.logic.effects.ChooseAndHealCharactersEffect;
|
||||
import com.gempukku.lotro.logic.effects.OptionalEffect;
|
||||
import com.gempukku.lotro.logic.effects.RevealTopCardsOfDrawDeckEffect;
|
||||
import com.gempukku.lotro.logic.timing.EffectResult;
|
||||
import com.gempukku.lotro.logic.timing.PlayConditions;
|
||||
import com.gempukku.lotro.logic.timing.TriggerConditions;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Set: Mount Doom
|
||||
* Side: Free
|
||||
* Culture: Elven
|
||||
* Twilight Cost: 4
|
||||
* Type: Companion • Elf
|
||||
* Strength: 8
|
||||
* Vitality: 4
|
||||
* Resistance: 6
|
||||
* Game Text: To play, spot an Elf. At the start of each skirmish involving Elrond, you may reveal the top card of your
|
||||
* draw deck. If it is an [ELVEN] card, you may heal another Elf.
|
||||
*/
|
||||
public class Card10_009 extends AbstractCompanion {
|
||||
public Card10_009() {
|
||||
super(4, 8, 4, 6, Culture.ELVEN, Race.ELF, null, "Elrond", "Venerable Lord", true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean checkPlayRequirements(LotroGame game, PhysicalCard self) {
|
||||
return PlayConditions.canSpot(game, Race.ELF);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<OptionalTriggerAction> getOptionalAfterTriggers(final String playerId, LotroGame game, EffectResult effectResult, final PhysicalCard self) {
|
||||
if (TriggerConditions.startOfPhase(game, effectResult, Phase.SKIRMISH)
|
||||
&& Filters.inSkirmish.accepts(game, self)) {
|
||||
final OptionalTriggerAction action = new OptionalTriggerAction(self);
|
||||
action.appendEffect(
|
||||
new RevealTopCardsOfDrawDeckEffect(self, playerId, 1) {
|
||||
@Override
|
||||
protected void cardsRevealed(List<PhysicalCard> revealedCards) {
|
||||
for (PhysicalCard card : revealedCards) {
|
||||
if (card.getBlueprint().getCulture() == Culture.ELVEN) {
|
||||
action.appendEffect(
|
||||
new OptionalEffect(action, playerId,
|
||||
new ChooseAndHealCharactersEffect(action, playerId, 1, 1, Filters.not(self), Race.ELF) {
|
||||
@Override
|
||||
public String getText(LotroGame game) {
|
||||
return "Heal another Elf";
|
||||
}
|
||||
}));
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -1,38 +0,0 @@
|
||||
package com.gempukku.lotro.cards.set10.elven;
|
||||
|
||||
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.OptionalEffect;
|
||||
import com.gempukku.lotro.logic.effects.PutPlayedEventOnTopOfDeckEffect;
|
||||
import com.gempukku.lotro.logic.effects.choose.ChooseAndAddUntilEOPStrengthBonusEffect;
|
||||
|
||||
/**
|
||||
* Set: Mount Doom
|
||||
* Side: Free
|
||||
* Culture: Elven
|
||||
* Twilight Cost: 1
|
||||
* Type: Event • Skirmish
|
||||
* Game Text: Make a minion skirmishing an Elf strength -2. Spot a site in a support area to place this event on top
|
||||
* of your draw deck.
|
||||
*/
|
||||
public class Card10_010 extends AbstractEvent {
|
||||
public Card10_010() {
|
||||
super(Side.FREE_PEOPLE, 1, Culture.ELVEN, "Fleet-footed", Phase.SKIRMISH);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PlayEventAction getPlayEventCardAction(String playerId, LotroGame game, final PhysicalCard self) {
|
||||
final PlayEventAction action = new PlayEventAction(self);
|
||||
action.appendEffect(
|
||||
new ChooseAndAddUntilEOPStrengthBonusEffect(action, self, playerId, -2, CardType.MINION, Filters.inSkirmishAgainst(Race.ELF)));
|
||||
if (Filters.canSpot(game, CardType.SITE, Zone.SUPPORT))
|
||||
action.appendEffect(
|
||||
new OptionalEffect(action, playerId,
|
||||
new PutPlayedEventOnTopOfDeckEffect(self)));
|
||||
return action;
|
||||
}
|
||||
}
|
||||
@@ -1,53 +0,0 @@
|
||||
package com.gempukku.lotro.cards.set10.elven;
|
||||
|
||||
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.ChooseAndDiscardCardsFromHandEffect;
|
||||
import com.gempukku.lotro.logic.effects.choose.ChooseAndDiscardCardsFromPlayEffect;
|
||||
import com.gempukku.lotro.logic.timing.PlayConditions;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Set: Mount Doom
|
||||
* Side: Free
|
||||
* Culture: Elven
|
||||
* Twilight Cost: 3
|
||||
* Type: Companion • Elf
|
||||
* Strength: 3
|
||||
* Vitality: 3
|
||||
* Resistance: 6
|
||||
* Game Text: When Galadriel is in your starting fellowship, her twilight cost is -3. Fellowship or Regroup: Discard
|
||||
* an [ELVEN] event from hand to discard a Shadow condition or Shadow possession.
|
||||
*/
|
||||
public class Card10_011 extends AbstractCompanion {
|
||||
public Card10_011() {
|
||||
super(3, 3, 3, 6, Culture.ELVEN, Race.ELF, null, "Galadriel", "Lady Redeemed", true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getTwilightCostModifier(LotroGame game, PhysicalCard self, PhysicalCard target) {
|
||||
if (game.getGameState().getCurrentPhase() == Phase.PLAY_STARTING_FELLOWSHIP)
|
||||
return -3;
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<? extends ActivateCardAction> getPhaseActionsInPlay(String playerId, LotroGame game, PhysicalCard self) {
|
||||
if ((PlayConditions.canUseFPCardDuringPhase(game, Phase.FELLOWSHIP, self) || PlayConditions.canUseFPCardDuringPhase(game, Phase.REGROUP, self))
|
||||
&& PlayConditions.canDiscardFromHand(game, playerId, 1, Culture.ELVEN, CardType.EVENT)) {
|
||||
ActivateCardAction action = new ActivateCardAction(self);
|
||||
action.appendCost(
|
||||
new ChooseAndDiscardCardsFromHandEffect(action, playerId, false, 1, Culture.ELVEN, CardType.EVENT));
|
||||
action.appendEffect(
|
||||
new ChooseAndDiscardCardsFromPlayEffect(action, playerId, 1, 1, Side.SHADOW, Filters.or(CardType.CONDITION, CardType.POSSESSION)));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -1,53 +0,0 @@
|
||||
package com.gempukku.lotro.cards.set10.elven;
|
||||
|
||||
import com.gempukku.lotro.common.*;
|
||||
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.AbstractPermanent;
|
||||
import com.gempukku.lotro.logic.effects.AddUntilStartOfPhaseModifierEffect;
|
||||
import com.gempukku.lotro.logic.effects.ChooseActiveCardEffect;
|
||||
import com.gempukku.lotro.logic.modifiers.StrengthModifier;
|
||||
import com.gempukku.lotro.logic.timing.EffectResult;
|
||||
import com.gempukku.lotro.logic.timing.PlayConditions;
|
||||
import com.gempukku.lotro.logic.timing.TriggerConditions;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Set: Mount Doom
|
||||
* Side: Free
|
||||
* Culture: Elven
|
||||
* Twilight Cost: 0
|
||||
* Type: Condition • Support Area
|
||||
* Game Text: To play, spot 2 Elves. Each time you lose initiative, make a minion strength -4 until the regroup phase.
|
||||
*/
|
||||
public class Card10_012 extends AbstractPermanent {
|
||||
public Card10_012() {
|
||||
super(Side.FREE_PEOPLE, 0, CardType.CONDITION, Culture.ELVEN, "Glimpse of Fate", null, true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean checkPlayRequirements(LotroGame game, PhysicalCard self) {
|
||||
return PlayConditions.canSpot(game, 2, Race.ELF);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<RequiredTriggerAction> getRequiredAfterTriggers(LotroGame game, EffectResult effectResult, final PhysicalCard self) {
|
||||
if (TriggerConditions.losesInitiative(effectResult, Side.FREE_PEOPLE)) {
|
||||
final RequiredTriggerAction action = new RequiredTriggerAction(self);
|
||||
action.appendEffect(
|
||||
new ChooseActiveCardEffect(self, self.getOwner(), "Choose a minion", CardType.MINION) {
|
||||
@Override
|
||||
protected void cardSelected(LotroGame game, PhysicalCard card) {
|
||||
action.insertEffect(
|
||||
new AddUntilStartOfPhaseModifierEffect(
|
||||
new StrengthModifier(self, card, -4), Phase.REGROUP));
|
||||
}
|
||||
});
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -1,56 +0,0 @@
|
||||
package com.gempukku.lotro.cards.set10.elven;
|
||||
|
||||
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.AbstractAttachableFPPossession;
|
||||
import com.gempukku.lotro.logic.effects.AddUntilStartOfPhaseModifierEffect;
|
||||
import com.gempukku.lotro.logic.effects.ChooseActiveCardEffect;
|
||||
import com.gempukku.lotro.logic.effects.SelfDiscardEffect;
|
||||
import com.gempukku.lotro.logic.modifiers.RemoveGameTextModifier;
|
||||
import com.gempukku.lotro.logic.timing.PlayConditions;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Set: Mount Doom
|
||||
* Side: Free
|
||||
* Culture: Elven
|
||||
* Twilight Cost: 0
|
||||
* Type: Artifact
|
||||
* Game Text: Bearer must be a Hobbit. Skirmish: Until the regroup phase, remove the game text (except card type
|
||||
* and race) from a minion skirmishing bearer and make it unable to gain game text. Discard this artifact.
|
||||
*/
|
||||
public class Card10_013 extends AbstractAttachableFPPossession {
|
||||
public Card10_013() {
|
||||
super(0, 0, 0, Culture.ELVEN, CardType.ARTIFACT, null, "Phial of Galadriel", "Star-glass", true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Filterable getValidTargetFilter(String playerId, LotroGame game, PhysicalCard self) {
|
||||
return Race.HOBBIT;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<? extends ActivateCardAction> getPhaseActionsInPlay(String playerId, LotroGame game, final PhysicalCard self) {
|
||||
if (PlayConditions.canUseFPCardDuringPhase(game, Phase.SKIRMISH, self)) {
|
||||
final ActivateCardAction action = new ActivateCardAction(self);
|
||||
action.appendEffect(
|
||||
new ChooseActiveCardEffect(self, playerId, "Choose a minion", CardType.MINION, Filters.inSkirmishAgainst(self.getAttachedTo())) {
|
||||
@Override
|
||||
protected void cardSelected(LotroGame game, PhysicalCard card) {
|
||||
action.appendEffect(
|
||||
new AddUntilStartOfPhaseModifierEffect(
|
||||
new RemoveGameTextModifier(self, card), Phase.REGROUP));
|
||||
}
|
||||
});
|
||||
action.appendEffect(
|
||||
new SelfDiscardEffect(self));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -26,17 +26,32 @@
|
||||
strength: 6
|
||||
vitality: 3
|
||||
resistance: 6
|
||||
/*requires: {
|
||||
|
||||
}
|
||||
effects: [
|
||||
{
|
||||
|
||||
}
|
||||
{
|
||||
|
||||
}
|
||||
]*/
|
||||
{
|
||||
type: activated
|
||||
phase: skirmish
|
||||
cost: {
|
||||
type: exert
|
||||
filter: self
|
||||
}
|
||||
effect: [
|
||||
{
|
||||
type: chooseHowManyToSpot
|
||||
filter: archer
|
||||
memorize: spotCount
|
||||
}
|
||||
{
|
||||
type: modifyStrength
|
||||
filter: choose(minion,inSkirmishAgainst(culture(elven),companion))
|
||||
amount: {
|
||||
type: fromMemory
|
||||
memory: spotCount
|
||||
multiplier: -1
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
gametext: <b>Skirmish:</b> Exert Aegnor to make a minion skirmishing an unbound [elven] companion strength -1 for each archer you spot.
|
||||
lore: Affectionately referred to as 'Figwit' by his contemporaries in Rivendell.
|
||||
promotext: ""
|
||||
@@ -75,17 +90,36 @@
|
||||
vitality: 3
|
||||
signet: Aragorn
|
||||
resistance: 6
|
||||
/*requires: {
|
||||
|
||||
}
|
||||
effects: [
|
||||
{
|
||||
|
||||
}
|
||||
{
|
||||
|
||||
}
|
||||
]*/
|
||||
{
|
||||
type: activated
|
||||
phase: skirmish
|
||||
cost: {
|
||||
type: discardFromHand
|
||||
forced: false
|
||||
}
|
||||
effect: [
|
||||
{
|
||||
type: discardBottomCardsFromDeck
|
||||
memorize: discardedCard
|
||||
forced: false
|
||||
}
|
||||
{
|
||||
type: conditional
|
||||
requires: {
|
||||
type: memoryMatches
|
||||
memory: discardedCard
|
||||
filter: culture(elven)
|
||||
}
|
||||
effect: {
|
||||
type: modifyStrength
|
||||
filter: all(minion,inSkirmishAgainst(self))
|
||||
amount: -3
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
gametext: <b>Skirmish:</b> Discard a card from hand to discard the bottom card of your draw deck. If the bottom card was an [elven] card, each minion skirmishing Arwen is strength -3.
|
||||
lore: ...mine is the choice of Lúthien, and as she so have I chosen, both the sweet and the bitter.'
|
||||
promotext: ""
|
||||
@@ -124,17 +158,20 @@
|
||||
vitality: 3
|
||||
signet: Frodo
|
||||
resistance: 6
|
||||
/*requires: {
|
||||
|
||||
}
|
||||
effects: [
|
||||
{
|
||||
|
||||
}
|
||||
{
|
||||
|
||||
}
|
||||
]*/
|
||||
{
|
||||
type: modifier
|
||||
modifier: {
|
||||
type: modifyStrength
|
||||
filter: minion,inSkirmishAgainst(self)
|
||||
amount: {
|
||||
type: forEachYouCanSpot
|
||||
filter: wounded,minion
|
||||
multiplier: -2
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
gametext: Each minion skirmishing Arwen is strength -2 for each wounded minion you can spot.
|
||||
lore: Often is it seen," said Aragorn, "that in dangerous days men hide their chief treasure."'"
|
||||
promotext: ""
|
||||
@@ -172,17 +209,49 @@
|
||||
strength: 6
|
||||
vitality: 3
|
||||
resistance: 6
|
||||
/*requires: {
|
||||
|
||||
}
|
||||
effects: [
|
||||
{
|
||||
|
||||
}
|
||||
{
|
||||
|
||||
}
|
||||
]*/
|
||||
{
|
||||
type: trigger
|
||||
optional: true
|
||||
trigger: {
|
||||
type: startOfPhase
|
||||
phase: skirmish
|
||||
}
|
||||
requires: {
|
||||
type: canSpot
|
||||
filter: self,inSkirmish
|
||||
}
|
||||
effect: [
|
||||
{
|
||||
type: revealTopCardsOfDrawDeck
|
||||
memorize: revealedCard
|
||||
}
|
||||
{
|
||||
type: conditional
|
||||
requires: {
|
||||
type: memoryMatches
|
||||
memory: revealedCard
|
||||
filter: culture(elven)
|
||||
}
|
||||
effect: {
|
||||
type: optional
|
||||
text: Discard the card?
|
||||
effect: {
|
||||
type: costToEffect
|
||||
cost: {
|
||||
type: discardCardsFromDrawDeck
|
||||
filter: memory(revealedCard)
|
||||
}
|
||||
effect: {
|
||||
type: wound
|
||||
filter: all(minion,inSkirmish)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
gametext: At the start of each skirmish involving Celeborn, you may reveal the top card of your draw deck. If it is an [elven] card, you may discard it to wound each minion in that skirmish.
|
||||
lore: ...with him went the last living memory of the Elder Days in Middle-earth.
|
||||
promotext: ""
|
||||
@@ -220,17 +289,33 @@
|
||||
strength: 7
|
||||
vitality: 4
|
||||
resistance: 6
|
||||
/*requires: {
|
||||
|
||||
}
|
||||
effects: [
|
||||
{
|
||||
|
||||
}
|
||||
{
|
||||
|
||||
}
|
||||
]*/
|
||||
{
|
||||
type: toPlay
|
||||
requires: {
|
||||
type: canSpot
|
||||
filter: elf
|
||||
count: 2
|
||||
}
|
||||
}
|
||||
{
|
||||
type: activated
|
||||
phase: skirmish
|
||||
cost: {
|
||||
type: exert
|
||||
filter: self
|
||||
}
|
||||
effect: {
|
||||
type: modifyStrength
|
||||
filter: choose(minion,inSkirmishAgainst(self))
|
||||
amount: {
|
||||
type: forEachInDiscard
|
||||
filter: your,culture(elven),event
|
||||
multiplier: -1
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
gametext: To play, spot 2 Elves.<br><b>Skirmish:</b> Exert Círdan to make a minion he is skirmishing strength -1 for each [elven] event in your discard pile.
|
||||
lore: ...he was grey and old, save that his eyes were keen as stars....
|
||||
promotext: ""
|
||||
@@ -268,17 +353,46 @@
|
||||
strength: 8
|
||||
vitality: 4
|
||||
resistance: 6
|
||||
/*requires: {
|
||||
|
||||
}
|
||||
effects: [
|
||||
{
|
||||
|
||||
}
|
||||
{
|
||||
|
||||
}
|
||||
]*/
|
||||
{
|
||||
type: toPlay
|
||||
requires: {
|
||||
type: canSpot
|
||||
filter: elf
|
||||
}
|
||||
}
|
||||
{
|
||||
type: trigger
|
||||
optional: true
|
||||
trigger: {
|
||||
type: startOfPhase
|
||||
phase: skirmish
|
||||
}
|
||||
requires: {
|
||||
type: canSpot
|
||||
filter: self,inSkirmish
|
||||
}
|
||||
effect: [
|
||||
{
|
||||
type: revealTopCardsOfDrawDeck
|
||||
memorize: revealedCard
|
||||
}
|
||||
{
|
||||
type: conditional
|
||||
requires: {
|
||||
type: memoryMatches
|
||||
memory: revealedCard
|
||||
filter: culture(elven)
|
||||
}
|
||||
effect: {
|
||||
type: heal
|
||||
filter: choose(another,elf)
|
||||
count: 0-1
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
gametext: To play, spot an Elf.<br>At the start of each skirmish involving Elrond, you may reveal the top card of your draw deck. If it is an [elven] card, you may heal another Elf.
|
||||
lore: To me then even our victory can bring only sorrow and parting – but to you hope of joy for a while.'
|
||||
promotext: ""
|
||||
@@ -312,20 +426,23 @@
|
||||
twilight: 1
|
||||
type: Event
|
||||
keywords: Skirmish
|
||||
/*requires: {
|
||||
|
||||
}
|
||||
*/
|
||||
effects: {
|
||||
type: event
|
||||
cost: {
|
||||
type: SendMessage
|
||||
text: Placeholder effect for development.
|
||||
},
|
||||
effect: [
|
||||
{
|
||||
type: SendMessage
|
||||
text: Placeholder effect for development.
|
||||
type: modifyStrength
|
||||
filter: choose(minion,inSkirmishAgainst(elf))
|
||||
amount: -2
|
||||
}
|
||||
{
|
||||
type: conditional
|
||||
requires: {
|
||||
type: canSpot
|
||||
filter: site,zone(support)
|
||||
}
|
||||
effect: {
|
||||
type: putPlayedEventOnTopOfDrawDeck
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -366,17 +483,32 @@
|
||||
strength: 3
|
||||
vitality: 3
|
||||
resistance: 6
|
||||
/*requires: {
|
||||
|
||||
}
|
||||
effects: [
|
||||
{
|
||||
|
||||
}
|
||||
{
|
||||
|
||||
}
|
||||
]*/
|
||||
{
|
||||
type: modifyOwnCost
|
||||
requires: {
|
||||
type: phase
|
||||
phase: play starting fellowship
|
||||
}
|
||||
amount: -3
|
||||
}
|
||||
{
|
||||
type: activated
|
||||
phase: [
|
||||
fellowship
|
||||
regroup
|
||||
]
|
||||
cost: {
|
||||
type: discardFromHand
|
||||
forced: false
|
||||
filter: choose(culture(elven),event)
|
||||
}
|
||||
effect: {
|
||||
type: discard
|
||||
filter: choose(side(shadow),or(condition,possession))
|
||||
}
|
||||
}
|
||||
]
|
||||
gametext: When Galadriel is in your starting fellowship, her twilight cost is -3.<br><b>Fellowship</b> <i>or</i> <b>Regroup:</b> Discard an [elven] event from hand to discard a Shadow condition or Shadow possession.
|
||||
lore: I pass the test,' she said. 'I will diminish, and go into the West, and remain Galadriel.'
|
||||
promotext: ""
|
||||
@@ -410,17 +542,29 @@
|
||||
twilight: 0
|
||||
type: Condition
|
||||
keywords: Support Area
|
||||
/*requires: {
|
||||
|
||||
}
|
||||
effects: [
|
||||
{
|
||||
|
||||
}
|
||||
{
|
||||
|
||||
}
|
||||
]*/
|
||||
{
|
||||
type: toPlay
|
||||
requires: {
|
||||
type: canSpot
|
||||
filter: elf
|
||||
count: 2
|
||||
}
|
||||
}
|
||||
{
|
||||
type: trigger
|
||||
trigger: {
|
||||
type: losesInitiative
|
||||
side: free people
|
||||
}
|
||||
effect: {
|
||||
type: modifyStrength
|
||||
filter: choose(minion)
|
||||
amount: -4
|
||||
until: regroup
|
||||
}
|
||||
}
|
||||
]
|
||||
gametext: To play, spot 2 Elves.<br>Each time you lose initiative, make a minion strength -4 until the regroup phase.
|
||||
lore: The uttermost choice is before you: to repent and go to the Havens... or else to abide the Doom of Men.'
|
||||
promotext: ""
|
||||
@@ -454,18 +598,24 @@
|
||||
culture: Elven
|
||||
twilight: 0
|
||||
type: Artifact
|
||||
#target: a Hobbit
|
||||
/*requires: {
|
||||
|
||||
}
|
||||
target: hobbit
|
||||
effects: [
|
||||
{
|
||||
|
||||
}
|
||||
{
|
||||
|
||||
}
|
||||
]*/
|
||||
{
|
||||
type: activated
|
||||
phase: skirmish
|
||||
effect: [
|
||||
{
|
||||
type: removeText
|
||||
filter: choose(minion,inSkirmishAgainst(bearer))
|
||||
until: regroup
|
||||
}
|
||||
{
|
||||
type: discard
|
||||
filter: self
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
gametext: Bearer must be a Hobbit.<br><b>Skirmish:</b> Until the regroup phase, remove the game text (except card type and race) from a minion skirmishing bearer and make it unable to gain game text. Discard this artifact.
|
||||
lore: ...the hand that held it sparkled with white fire.
|
||||
promotext: ""
|
||||
@@ -57,7 +57,7 @@ public class EffectAppenderFactory {
|
||||
effectAppenderProducers.put("disablewoundsover", new DisableWoundsOver());
|
||||
effectAppenderProducers.put("disablewounds", new DisableWounds());
|
||||
effectAppenderProducers.put("discard", new DiscardFromPlay());
|
||||
effectAppenderProducers.put("discardbottomcardsfromdeck", new DiscardBottomCardFromDeck());
|
||||
effectAppenderProducers.put("discardbottomcardsfromdeck", new DiscardBottomCardsFromDeck());
|
||||
effectAppenderProducers.put("discardcardatrandomfromhand", new DiscardCardAtRandomFromHand());
|
||||
effectAppenderProducers.put("discardcardsfromdrawdeck", new DiscardCardsFromDrawDeck());
|
||||
effectAppenderProducers.put("discardfromhand", new DiscardFromHand());
|
||||
|
||||
@@ -15,7 +15,7 @@ import org.json.simple.JSONObject;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
public class DiscardBottomCardFromDeck implements EffectAppenderProducer {
|
||||
public class DiscardBottomCardsFromDeck implements EffectAppenderProducer {
|
||||
@Override
|
||||
public EffectAppender createEffectAppender(JSONObject effectObject, CardGenerationEnvironment environment) throws InvalidCardDefinitionException {
|
||||
FieldUtils.validateAllowedFields(effectObject, "deck", "count", "forced", "memorize");
|
||||
Reference in New Issue
Block a user