Migrated Gandalf cards in set 13 to hjson
This commit is contained in:
@@ -1,65 +0,0 @@
|
||||
package com.gempukku.lotro.cards.set13.gandalf;
|
||||
|
||||
import com.gempukku.lotro.common.CardType;
|
||||
import com.gempukku.lotro.common.Culture;
|
||||
import com.gempukku.lotro.common.Side;
|
||||
import com.gempukku.lotro.common.Token;
|
||||
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.CostToEffectAction;
|
||||
import com.gempukku.lotro.logic.actions.OptionalTriggerAction;
|
||||
import com.gempukku.lotro.logic.cardtype.AbstractFollower;
|
||||
import com.gempukku.lotro.logic.effects.AddTwilightEffect;
|
||||
import com.gempukku.lotro.logic.effects.ReinforceTokenEffect;
|
||||
import com.gempukku.lotro.logic.modifiers.Modifier;
|
||||
import com.gempukku.lotro.logic.modifiers.SpotCondition;
|
||||
import com.gempukku.lotro.logic.modifiers.StrengthModifier;
|
||||
import com.gempukku.lotro.logic.timing.EffectResult;
|
||||
import com.gempukku.lotro.logic.timing.TriggerConditions;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Set: Bloodlines
|
||||
* Side: Free
|
||||
* Culture: Gandalf
|
||||
* Twilight Cost: 2
|
||||
* Type: Follower
|
||||
* Game Text: Aid - (2). (At the start of the maneuver phase, you may add (2) to transfer this to a companion.) Each
|
||||
* time you transfer this to a companion, you may reinforce a [GANDALF] token. While you can spot a [GANDALF] companion,
|
||||
* each minion skirmishing bearer is strength -1.
|
||||
*/
|
||||
public class Card13_028 extends AbstractFollower {
|
||||
public Card13_028() {
|
||||
super(Side.FREE_PEOPLE, 2, 0, 0, 0, Culture.GANDALF, "Alatar", "Final Envoy", true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canPayAidCost(LotroGame game, PhysicalCard self) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void appendAidCosts(LotroGame game, CostToEffectAction action, PhysicalCard self) {
|
||||
action.appendCost(new AddTwilightEffect(self, 2));
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<OptionalTriggerAction> getOptionalAfterTriggers(String playerId, LotroGame game, EffectResult effectResult, PhysicalCard self) {
|
||||
if (TriggerConditions.transferredCard(game, effectResult, self, null, CardType.COMPANION)) {
|
||||
OptionalTriggerAction action = new OptionalTriggerAction(self);
|
||||
action.appendEffect(
|
||||
new ReinforceTokenEffect(self, playerId, Token.GANDALF));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<? extends Modifier> getInPlayModifiers(LotroGame game, PhysicalCard self) {
|
||||
return Collections.singletonList(
|
||||
new StrengthModifier(self, Filters.and(CardType.MINION, Filters.inSkirmishAgainst(Filters.hasAttached(self))), new SpotCondition(Culture.GANDALF, CardType.COMPANION), -1));
|
||||
}
|
||||
}
|
||||
@@ -1,47 +0,0 @@
|
||||
package com.gempukku.lotro.cards.set13.gandalf;
|
||||
|
||||
import com.gempukku.lotro.logic.cardtype.AbstractCompanion;
|
||||
import com.gempukku.lotro.logic.timing.PlayConditions;
|
||||
import com.gempukku.lotro.logic.timing.TriggerConditions;
|
||||
import com.gempukku.lotro.logic.effects.choose.ChooseAndPutCardFromDiscardIntoHandEffect;
|
||||
import com.gempukku.lotro.logic.effects.choose.ChooseAndRemoveCultureTokensFromCardEffect;
|
||||
import com.gempukku.lotro.common.*;
|
||||
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.timing.EffectResult;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Set: Bloodlines
|
||||
* Side: Free
|
||||
* Culture: Gandalf
|
||||
* Twilight Cost: 2
|
||||
* Type: Companion • Man
|
||||
* Strength: 6
|
||||
* Vitality: 3
|
||||
* Resistance: 6
|
||||
* Game Text: At the start of the fellowship phase, you may remove 2 Free Peoples culture tokens to take a [GANDALF]
|
||||
* event into hand from your discard pile.
|
||||
*/
|
||||
public class Card13_029 extends AbstractCompanion {
|
||||
public Card13_029() {
|
||||
super(2, 6, 3, 6, Culture.GANDALF, Race.MAN, null, "Dasron", "Merchant From Dorwinion", true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<OptionalTriggerAction> getOptionalAfterTriggers(String playerId, LotroGame game, EffectResult effectResult, PhysicalCard self) {
|
||||
if (TriggerConditions.startOfPhase(game, effectResult, Phase.FELLOWSHIP)
|
||||
&& PlayConditions.canRemoveAnyCultureTokens(game, 2, Side.FREE_PEOPLE)) {
|
||||
OptionalTriggerAction action = new OptionalTriggerAction(self);
|
||||
action.appendCost(
|
||||
new ChooseAndRemoveCultureTokensFromCardEffect(self, playerId, null, 2, Side.FREE_PEOPLE));
|
||||
action.appendEffect(
|
||||
new ChooseAndPutCardFromDiscardIntoHandEffect(action, playerId, 1, 1, Culture.GANDALF, CardType.EVENT));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -1,69 +0,0 @@
|
||||
package com.gempukku.lotro.cards.set13.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.ActivateCardAction;
|
||||
import com.gempukku.lotro.logic.actions.RequiredTriggerAction;
|
||||
import com.gempukku.lotro.logic.cardtype.AbstractPermanent;
|
||||
import com.gempukku.lotro.logic.effects.*;
|
||||
import com.gempukku.lotro.logic.modifiers.KeywordModifier;
|
||||
import com.gempukku.lotro.logic.timing.Effect;
|
||||
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.LinkedList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Set: Bloodlines
|
||||
* Side: Free
|
||||
* Culture: Gandalf
|
||||
* Twilight Cost: 1
|
||||
* Type: Condition • Support Area
|
||||
* Game Text: When you play this, add a [GANDALF] token here. Maneuver: Discard this from play or remove a token from
|
||||
* here to spot a [GANDALF] companion. That companion gains muster until end of turn.
|
||||
*/
|
||||
public class Card13_030 extends AbstractPermanent {
|
||||
public Card13_030() {
|
||||
super(Side.FREE_PEOPLE, 1, CardType.CONDITION, Culture.GANDALF, "Fear and Great Wonder", null, true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<RequiredTriggerAction> getRequiredAfterTriggers(LotroGame game, EffectResult effectResult, PhysicalCard self) {
|
||||
if (TriggerConditions.played(game, effectResult, self)) {
|
||||
RequiredTriggerAction action = new RequiredTriggerAction(self);
|
||||
action.appendEffect(
|
||||
new AddTokenEffect(self, self, Token.GANDALF));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<? extends ActivateCardAction> getPhaseActionsInPlay(String playerId, LotroGame game, final PhysicalCard self) {
|
||||
if (PlayConditions.canUseFPCardDuringPhase(game, Phase.MANEUVER, self)) {
|
||||
final ActivateCardAction action = new ActivateCardAction(self);
|
||||
List<Effect> possibleCosts = new LinkedList<>();
|
||||
possibleCosts.add(
|
||||
new RemoveTokenEffect(self, self, Token.GANDALF));
|
||||
possibleCosts.add(
|
||||
new SelfDiscardEffect(self));
|
||||
action.appendCost(
|
||||
new ChoiceEffect(action, playerId, possibleCosts));
|
||||
action.appendEffect(
|
||||
new ChooseActiveCardEffect(self, playerId, "Choose a GANDALF companion", Culture.GANDALF, CardType.COMPANION) {
|
||||
@Override
|
||||
protected void cardSelected(LotroGame game, PhysicalCard card) {
|
||||
action.appendEffect(
|
||||
new AddUntilEndOfTurnModifierEffect(
|
||||
new KeywordModifier(self, card, Keyword.MUSTER)));
|
||||
}
|
||||
});
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -1,38 +0,0 @@
|
||||
package com.gempukku.lotro.cards.set13.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.choose.ChooseAndAddUntilEOPStrengthBonusEffect;
|
||||
import com.gempukku.lotro.logic.timing.PlayConditions;
|
||||
|
||||
/**
|
||||
* Set: Bloodlines
|
||||
* Side: Free
|
||||
* Culture: Gandalf
|
||||
* Twilight Cost: 1
|
||||
* Type: Event • Skirmish
|
||||
* Game Text: Spell. Spot 3 [GANDALF] companions to make a minion skirmishing a companion strength -3.
|
||||
*/
|
||||
public class Card13_031 extends AbstractEvent {
|
||||
public Card13_031() {
|
||||
super(Side.FREE_PEOPLE, 1, Culture.GANDALF, "The Flame of Anor", Phase.SKIRMISH);
|
||||
addKeyword(Keyword.SPELL);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean checkPlayRequirements(LotroGame game, PhysicalCard self) {
|
||||
return PlayConditions.canSpot(game, 3, Culture.GANDALF, CardType.COMPANION);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PlayEventAction getPlayEventCardAction(String playerId, LotroGame game, PhysicalCard self) {
|
||||
PlayEventAction action = new PlayEventAction(self);
|
||||
action.appendEffect(
|
||||
new ChooseAndAddUntilEOPStrengthBonusEffect(action, self, playerId, -3, CardType.MINION, Filters.inSkirmishAgainst(CardType.COMPANION)));
|
||||
return action;
|
||||
}
|
||||
}
|
||||
@@ -1,34 +0,0 @@
|
||||
package com.gempukku.lotro.cards.set13.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.choose.ChooseAndAddUntilEOPStrengthBonusEffect;
|
||||
import com.gempukku.lotro.logic.modifiers.evaluator.CardMatchesEvaluator;
|
||||
|
||||
/**
|
||||
* Set: Bloodlines
|
||||
* Side: Free
|
||||
* Culture: Gandalf
|
||||
* Twilight Cost: 2
|
||||
* Type: Event • Skirmish
|
||||
* Game Text: Spell. Make a [GANDALF] companion strength +2 (or +4 if that companion bears a follower).
|
||||
*/
|
||||
public class Card13_032 extends AbstractEvent {
|
||||
public Card13_032() {
|
||||
super(Side.FREE_PEOPLE, 2, Culture.GANDALF, "For a While Less Dark", Phase.SKIRMISH);
|
||||
addKeyword(Keyword.SPELL);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PlayEventAction getPlayEventCardAction(String playerId, LotroGame game, PhysicalCard self) {
|
||||
PlayEventAction action = new PlayEventAction(self);
|
||||
action.appendEffect(
|
||||
new ChooseAndAddUntilEOPStrengthBonusEffect(action, self, playerId,
|
||||
new CardMatchesEvaluator(2, 4, Filters.hasAttached(CardType.FOLLOWER)), Culture.GANDALF, CardType.COMPANION));
|
||||
return action;
|
||||
}
|
||||
}
|
||||
@@ -1,65 +0,0 @@
|
||||
package com.gempukku.lotro.cards.set13.gandalf;
|
||||
|
||||
import com.gempukku.lotro.logic.cardtype.AbstractCompanion;
|
||||
import com.gempukku.lotro.logic.timing.PlayConditions;
|
||||
import com.gempukku.lotro.logic.timing.TriggerConditions;
|
||||
import com.gempukku.lotro.logic.effects.AddBurdenEffect;
|
||||
import com.gempukku.lotro.logic.effects.ChoiceEffect;
|
||||
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.actions.RequiredTriggerAction;
|
||||
import com.gempukku.lotro.logic.effects.ChooseAndDiscardCardsFromHandEffect;
|
||||
import com.gempukku.lotro.logic.timing.Effect;
|
||||
import com.gempukku.lotro.logic.timing.EffectResult;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Set: Bloodlines
|
||||
* Side: Free
|
||||
* Culture: Gandalf
|
||||
* Twilight Cost: 4
|
||||
* Type: Companion • Wizard
|
||||
* Strength: 7
|
||||
* Vitality: 4
|
||||
* Resistance: 5
|
||||
* Game Text: While Gandalf is the Ring-bearer, each time the fellowship moves, add 3 burdens unless you spot 2 other
|
||||
* companions and discard 2 [GANDALF] cards from hand.
|
||||
*/
|
||||
public class Card13_033 extends AbstractCompanion {
|
||||
public Card13_033() {
|
||||
super(4, 7, 4, 5, Culture.GANDALF, Race.WIZARD, null, "Gandalf", "Bearer of Obligation", true);
|
||||
addKeyword(Keyword.CAN_START_WITH_RING);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<RequiredTriggerAction> getRequiredAfterTriggers(LotroGame game, EffectResult effectResult, PhysicalCard self) {
|
||||
if (TriggerConditions.moves(game, effectResult)
|
||||
&& game.getGameState().getRingBearer(game.getGameState().getCurrentPlayerId()) == self) {
|
||||
RequiredTriggerAction action = new RequiredTriggerAction(self);
|
||||
List<Effect> possibleEffects = new LinkedList<>();
|
||||
possibleEffects.add(
|
||||
new AddBurdenEffect(self.getOwner(), self, 3));
|
||||
if (PlayConditions.canSpot(game, 2, Filters.not(self), CardType.COMPANION))
|
||||
possibleEffects.add(
|
||||
new ChooseAndDiscardCardsFromHandEffect(action, game.getGameState().getCurrentPlayerId(), false, 2, Culture.GANDALF) {
|
||||
@Override
|
||||
public String getText(LotroGame game) {
|
||||
return "Discard 2 GANDALF cards from hand";
|
||||
}
|
||||
});
|
||||
|
||||
action.appendEffect(
|
||||
new ChoiceEffect(action, game.getGameState().getCurrentPlayerId(), possibleEffects));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -1,62 +0,0 @@
|
||||
package com.gempukku.lotro.cards.set13.gandalf;
|
||||
|
||||
import com.gempukku.lotro.common.CardType;
|
||||
import com.gempukku.lotro.common.Culture;
|
||||
import com.gempukku.lotro.common.Phase;
|
||||
import com.gempukku.lotro.common.Side;
|
||||
import com.gempukku.lotro.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.RemovePlayedEventFromGameEffect;
|
||||
import com.gempukku.lotro.logic.effects.choose.ChooseAndAddUntilEOPStrengthBonusEffect;
|
||||
import com.gempukku.lotro.logic.effects.choose.ChooseAndRemoveFromTheGameCardsInDiscardEffect;
|
||||
import com.gempukku.lotro.logic.timing.Action;
|
||||
import com.gempukku.lotro.logic.timing.PlayConditions;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Set: Bloodlines
|
||||
* Side: Free
|
||||
* Culture: Gandalf
|
||||
* Twilight Cost: 2
|
||||
* Type: Event • Skirmish
|
||||
* Game Text: You may remove from the game 4 other [GANDALF] cards in your discard pile to play this event from your
|
||||
* discard pile. Then remove this event from the game. Spot Gandalf to make your [GANDALF] companion strength +3.
|
||||
*/
|
||||
public class Card13_034 extends AbstractEvent {
|
||||
public Card13_034() {
|
||||
super(Side.FREE_PEOPLE, 2, Culture.GANDALF, "Look to My Coming", Phase.SKIRMISH);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean checkPlayRequirements(LotroGame game, PhysicalCard self) {
|
||||
return PlayConditions.canSpot(game, Filters.gandalf);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PlayEventAction getPlayEventCardAction(String playerId, LotroGame game, PhysicalCard self) {
|
||||
PlayEventAction action = new PlayEventAction(self);
|
||||
action.appendEffect(
|
||||
new ChooseAndAddUntilEOPStrengthBonusEffect(action, self, playerId, 3, Filters.owner(playerId), Culture.GANDALF, CardType.COMPANION));
|
||||
return action;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<? extends Action> getPhaseActionsFromDiscard(String playerId, LotroGame game, PhysicalCard self) {
|
||||
if (PlayConditions.isPhase(game, Phase.SKIRMISH)
|
||||
&& PlayConditions.canPlayFromDiscard(playerId, game, self)
|
||||
&& PlayConditions.canRemoveFromDiscardToPlay(self, game, playerId, 4, Culture.GANDALF)) {
|
||||
final PlayEventAction action = getPlayEventCardAction(playerId, game, self);
|
||||
action.appendCost(
|
||||
new ChooseAndRemoveFromTheGameCardsInDiscardEffect(action, self, playerId, 4, 4, Culture.GANDALF));
|
||||
action.appendEffect(
|
||||
new RemovePlayedEventFromGameEffect(action));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -1,45 +0,0 @@
|
||||
package com.gempukku.lotro.cards.set13.gandalf;
|
||||
|
||||
import com.gempukku.lotro.common.CardType;
|
||||
import com.gempukku.lotro.common.Culture;
|
||||
import com.gempukku.lotro.common.Phase;
|
||||
import com.gempukku.lotro.common.Side;
|
||||
import com.gempukku.lotro.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.DrawCardsEffect;
|
||||
import com.gempukku.lotro.logic.effects.choose.ChooseAndDiscardCardsFromPlayEffect;
|
||||
import com.gempukku.lotro.logic.timing.PlayConditions;
|
||||
|
||||
/**
|
||||
* Set: Bloodlines
|
||||
* Side: Free
|
||||
* Culture: Gandalf
|
||||
* Twilight Cost: 2
|
||||
* Type: Event • Maneuver
|
||||
* Game Text: Discard your [GANDALF] condition from play to discard a condition from play and draw a card.
|
||||
*/
|
||||
public class Card13_035 extends AbstractEvent {
|
||||
public Card13_035() {
|
||||
super(Side.FREE_PEOPLE, 2, Culture.GANDALF, "No Colour Now", Phase.MANEUVER);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean checkPlayRequirements(LotroGame game, PhysicalCard self) {
|
||||
return PlayConditions.canDiscardFromPlay(self, game, Filters.owner(self.getOwner()), Culture.GANDALF, CardType.CONDITION);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PlayEventAction getPlayEventCardAction(String playerId, LotroGame game, PhysicalCard self) {
|
||||
PlayEventAction action = new PlayEventAction(self);
|
||||
action.appendCost(
|
||||
new ChooseAndDiscardCardsFromPlayEffect(action, playerId, 1, 1, Filters.owner(playerId), Culture.GANDALF, CardType.CONDITION));
|
||||
action.appendEffect(
|
||||
new ChooseAndDiscardCardsFromPlayEffect(action, playerId, 1, 1, CardType.CONDITION));
|
||||
action.appendEffect(
|
||||
new DrawCardsEffect(action, playerId, 1));
|
||||
return action;
|
||||
}
|
||||
}
|
||||
@@ -1,87 +0,0 @@
|
||||
package com.gempukku.lotro.cards.set13.gandalf;
|
||||
|
||||
import com.gempukku.lotro.common.*;
|
||||
import com.gempukku.lotro.filters.Filters;
|
||||
import com.gempukku.lotro.game.ExtraPlayCost;
|
||||
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.AddBurdenEffect;
|
||||
import com.gempukku.lotro.logic.effects.ChooseAndDiscardCardsFromHandEffect;
|
||||
import com.gempukku.lotro.logic.effects.RevealHandEffect;
|
||||
import com.gempukku.lotro.logic.effects.choose.ChooseOpponentEffect;
|
||||
import com.gempukku.lotro.logic.modifiers.cost.DiscardFromPlayExtraPlayCostModifier;
|
||||
import com.gempukku.lotro.logic.timing.EffectResult;
|
||||
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: Bloodlines
|
||||
* Side: Free
|
||||
* Culture: Gandalf
|
||||
* Twilight Cost: 0
|
||||
* Type: Artifact • Palantir
|
||||
* Resistance: -2
|
||||
* Game Text: Bearer must be Gandalf. To play this, if you can spot The Palantir of Orthanc, discard it. At the start of
|
||||
* the fellowship phase, you may add a burden to reveal a Shadow player's hand. He or she must choose a revealed minion
|
||||
* and discard it from hand.
|
||||
*/
|
||||
public class Card13_036 extends AbstractAttachableFPPossession {
|
||||
public Card13_036() {
|
||||
super(0, 0, 0, Culture.GANDALF, CardType.ARTIFACT, PossessionClass.PALANTIR, "The Palantír of Orthanc", "Recovered Seeing Stone", true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getResistance() {
|
||||
return -2;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Filterable getValidTargetFilter(String playerId, LotroGame game, PhysicalCard self) {
|
||||
return Filters.gandalf;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean skipUniquenessCheck() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<? extends ExtraPlayCost> getExtraCostToPlay(LotroGame game, PhysicalCard self) {
|
||||
if (PlayConditions.canSpot(game, Filters.name(getTitle()))) {
|
||||
return Collections.singletonList(
|
||||
new DiscardFromPlayExtraPlayCostModifier(self, self, 1, null, Filters.name(getTitle())));
|
||||
}
|
||||
return super.getExtraCostToPlay(game, self);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<OptionalTriggerAction> getOptionalAfterTriggers(final String playerId, LotroGame game, EffectResult effectResult, final PhysicalCard self) {
|
||||
if (TriggerConditions.startOfPhase(game, effectResult, Phase.FELLOWSHIP)) {
|
||||
final OptionalTriggerAction action = new OptionalTriggerAction(self);
|
||||
action.appendCost(
|
||||
new AddBurdenEffect(self.getOwner(), self, 1));
|
||||
action.appendEffect(
|
||||
new ChooseOpponentEffect(playerId) {
|
||||
@Override
|
||||
protected void opponentChosen(final String opponentId) {
|
||||
action.appendEffect(
|
||||
new RevealHandEffect(self, playerId, opponentId) {
|
||||
@Override
|
||||
protected void cardsRevealed(Collection<? extends PhysicalCard> cards) {
|
||||
action.appendEffect(
|
||||
new ChooseAndDiscardCardsFromHandEffect(action, opponentId, true, 1, CardType.MINION));
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -1,70 +0,0 @@
|
||||
package com.gempukku.lotro.cards.set13.gandalf;
|
||||
|
||||
import com.gempukku.lotro.common.CardType;
|
||||
import com.gempukku.lotro.common.Culture;
|
||||
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.CostToEffectAction;
|
||||
import com.gempukku.lotro.logic.actions.OptionalTriggerAction;
|
||||
import com.gempukku.lotro.logic.actions.RequiredTriggerAction;
|
||||
import com.gempukku.lotro.logic.cardtype.AbstractFollower;
|
||||
import com.gempukku.lotro.logic.effects.AddTwilightEffect;
|
||||
import com.gempukku.lotro.logic.effects.ExertCharactersEffect;
|
||||
import com.gempukku.lotro.logic.effects.choose.ChooseAndDiscardCardsFromPlayEffect;
|
||||
import com.gempukku.lotro.logic.timing.EffectResult;
|
||||
import com.gempukku.lotro.logic.timing.TriggerConditions;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Set: Bloodlines
|
||||
* Side: Free
|
||||
* Culture: Gandalf
|
||||
* Twilight Cost: 2
|
||||
* Type: Follower
|
||||
* Strength: +1
|
||||
* Game Text: Aid - (2). Each time you transfer this to a companion, except a [GANDALF] companion, exert bearer twice.
|
||||
* Each time bearer wins a skirmish, you may discard a condition from play.
|
||||
*/
|
||||
public class Card13_037 extends AbstractFollower {
|
||||
public Card13_037() {
|
||||
super(Side.FREE_PEOPLE, 2, 1, 0, 0, Culture.GANDALF, "Pallando", "Far-travelling One", true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canPayAidCost(LotroGame game, PhysicalCard self) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void appendAidCosts(LotroGame game, CostToEffectAction action, PhysicalCard self) {
|
||||
action.appendCost(new AddTwilightEffect(self, 2));
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<RequiredTriggerAction> getRequiredAfterTriggers(LotroGame game, EffectResult effectResult, PhysicalCard self) {
|
||||
if (TriggerConditions.transferredCard(game, effectResult, self, null, Filters.and(CardType.COMPANION, Filters.not(Culture.GANDALF)))) {
|
||||
RequiredTriggerAction action = new RequiredTriggerAction(self);
|
||||
action.appendEffect(
|
||||
new ExertCharactersEffect(action, self, self.getAttachedTo()));
|
||||
action.appendEffect(
|
||||
new ExertCharactersEffect(action, self, self.getAttachedTo()));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<OptionalTriggerAction> getOptionalAfterTriggers(String playerId, LotroGame game, EffectResult effectResult, PhysicalCard self) {
|
||||
if (TriggerConditions.winsSkirmish(game, effectResult, Filters.hasAttached(self))) {
|
||||
OptionalTriggerAction action = new OptionalTriggerAction(self);
|
||||
action.appendEffect(
|
||||
new ChooseAndDiscardCardsFromPlayEffect(action, playerId, 1, 1, CardType.CONDITION));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -1,51 +0,0 @@
|
||||
package com.gempukku.lotro.cards.set13.gandalf;
|
||||
|
||||
import com.gempukku.lotro.common.CardType;
|
||||
import com.gempukku.lotro.common.Culture;
|
||||
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.CostToEffectAction;
|
||||
import com.gempukku.lotro.logic.cardtype.AbstractFollower;
|
||||
import com.gempukku.lotro.logic.effects.AddTwilightEffect;
|
||||
import com.gempukku.lotro.logic.modifiers.CancelStrengthBonusTargetModifier;
|
||||
import com.gempukku.lotro.logic.modifiers.Modifier;
|
||||
import com.gempukku.lotro.logic.modifiers.SpotCondition;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Set: Bloodlines
|
||||
* Side: Free
|
||||
* Culture: Gandalf
|
||||
* Twilight Cost: 2
|
||||
* Type: Follower
|
||||
* Resistance: +2
|
||||
* Game Text: Aid - (2). (At the start of the maneuver phase, you may add (2) to transfer this to a companion.) While
|
||||
* you can spot 2 [GANDALF] companions, minions skirmishing bearer do not gain strength bonuses from possessions.
|
||||
*/
|
||||
public class Card13_038 extends AbstractFollower {
|
||||
public Card13_038() {
|
||||
super(Side.FREE_PEOPLE, 2, 0, 0, 2, Culture.GANDALF, "Radagast", "Tender of Beasts", true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canPayAidCost(LotroGame game, PhysicalCard self) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void appendAidCosts(LotroGame game, CostToEffectAction action, PhysicalCard self) {
|
||||
action.appendCost(new AddTwilightEffect(self, 2));
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<? extends Modifier> getInPlayModifiers(LotroGame game, PhysicalCard self) {
|
||||
return Collections.singletonList(
|
||||
new CancelStrengthBonusTargetModifier(self, new SpotCondition(2, Culture.GANDALF, CardType.COMPANION),
|
||||
Filters.and(CardType.MINION, Filters.inSkirmishAgainst(Filters.hasAttached(self))),
|
||||
CardType.POSSESSION));
|
||||
}
|
||||
}
|
||||
@@ -1,42 +0,0 @@
|
||||
package com.gempukku.lotro.cards.set13.gandalf;
|
||||
|
||||
import com.gempukku.lotro.common.CardType;
|
||||
import com.gempukku.lotro.common.Culture;
|
||||
import com.gempukku.lotro.common.Phase;
|
||||
import com.gempukku.lotro.common.Side;
|
||||
import com.gempukku.lotro.game.PhysicalCard;
|
||||
import com.gempukku.lotro.game.state.LotroGame;
|
||||
import com.gempukku.lotro.logic.actions.PlayEventAction;
|
||||
import com.gempukku.lotro.logic.cardtype.AbstractEvent;
|
||||
import com.gempukku.lotro.logic.effects.ChooseAndDiscardCardsFromHandEffect;
|
||||
import com.gempukku.lotro.logic.effects.choose.ChooseAndPutCardFromDiscardIntoHandEffect;
|
||||
import com.gempukku.lotro.logic.timing.PlayConditions;
|
||||
|
||||
/**
|
||||
* Set: Bloodlines
|
||||
* Side: Free
|
||||
* Culture: Gandalf
|
||||
* Twilight Cost: 1
|
||||
* Type: Event • Fellowship
|
||||
* Game Text: Discard 2 Shadow cards from hand to take a [GANDALF] event into hand from your discard pile.
|
||||
*/
|
||||
public class Card13_039 extends AbstractEvent {
|
||||
public Card13_039() {
|
||||
super(Side.FREE_PEOPLE, 1, Culture.GANDALF, "Return to Us", Phase.FELLOWSHIP);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean checkPlayRequirements(LotroGame game, PhysicalCard self) {
|
||||
return PlayConditions.canDiscardCardsFromHandToPlay(self, game, self.getOwner(), 2, Side.SHADOW);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PlayEventAction getPlayEventCardAction(String playerId, LotroGame game, PhysicalCard self) {
|
||||
PlayEventAction action = new PlayEventAction(self);
|
||||
action.appendCost(
|
||||
new ChooseAndDiscardCardsFromHandEffect(action, playerId, false, 2, Side.SHADOW));
|
||||
action.appendEffect(
|
||||
new ChooseAndPutCardFromDiscardIntoHandEffect(action, playerId, 1, 1, Culture.GANDALF, CardType.EVENT));
|
||||
return action;
|
||||
}
|
||||
}
|
||||
@@ -1,66 +0,0 @@
|
||||
package com.gempukku.lotro.cards.set13.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.ActivateCardAction;
|
||||
import com.gempukku.lotro.logic.actions.OptionalTriggerAction;
|
||||
import com.gempukku.lotro.logic.cardtype.AbstractAttachableFPPossession;
|
||||
import com.gempukku.lotro.logic.effects.ChooseAndWoundCharactersEffect;
|
||||
import com.gempukku.lotro.logic.effects.ReinforceTokenEffect;
|
||||
import com.gempukku.lotro.logic.effects.choose.ChooseAndRemoveCultureTokensFromCardEffect;
|
||||
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: Bloodlines
|
||||
* Side: Free
|
||||
* Culture: Gandalf
|
||||
* Twilight Cost: 2
|
||||
* Type: Possession • Mount
|
||||
* Strength: +1
|
||||
* Game Text: Bearer must be a Wizard. When you play Shadowfax, you may reinforce a [GANDALF] token. Skirmish: Remove
|
||||
* 2 [GANDALF] tokens to wound a minion skirmishing bearer.
|
||||
*/
|
||||
public class Card13_040 extends AbstractAttachableFPPossession {
|
||||
public Card13_040() {
|
||||
super(2, 1, 0, Culture.GANDALF, PossessionClass.MOUNT, "Shadowfax", "Roaring Wind", true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Filterable getValidTargetFilter(String playerId, LotroGame game, PhysicalCard self) {
|
||||
return Race.WIZARD;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<OptionalTriggerAction> getOptionalAfterTriggers(String playerId, LotroGame game, EffectResult effectResult, PhysicalCard self) {
|
||||
if (TriggerConditions.played(game, effectResult, self)) {
|
||||
OptionalTriggerAction action = new OptionalTriggerAction(self);
|
||||
action.appendEffect(
|
||||
new ReinforceTokenEffect(self, playerId, Token.GANDALF));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<? extends ActivateCardAction> getPhaseActionsInPlay(String playerId, LotroGame game, PhysicalCard self) {
|
||||
if (PlayConditions.canUseFPCardDuringPhase(game, Phase.SKIRMISH, self)
|
||||
&& PlayConditions.canRemoveTokensFromAnything(game, Token.GANDALF, 2)) {
|
||||
ActivateCardAction action = new ActivateCardAction(self);
|
||||
action.appendCost(
|
||||
new ChooseAndRemoveCultureTokensFromCardEffect(self, playerId, Token.GANDALF, 1, Filters.any));
|
||||
action.appendCost(
|
||||
new ChooseAndRemoveCultureTokensFromCardEffect(self, playerId, Token.GANDALF, 1, Filters.any));
|
||||
action.appendEffect(
|
||||
new ChooseAndWoundCharactersEffect(action, playerId, 1, 1, CardType.MINION, Filters.inSkirmishAgainst(self.getAttachedTo())));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -1,41 +0,0 @@
|
||||
package com.gempukku.lotro.cards.set13.gandalf;
|
||||
|
||||
import com.gempukku.lotro.common.CardType;
|
||||
import com.gempukku.lotro.common.Culture;
|
||||
import com.gempukku.lotro.common.Keyword;
|
||||
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.cardtype.AbstractPermanent;
|
||||
import com.gempukku.lotro.logic.modifiers.KeywordModifier;
|
||||
import com.gempukku.lotro.logic.modifiers.Modifier;
|
||||
import com.gempukku.lotro.logic.modifiers.StrengthModifier;
|
||||
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Set: Bloodlines
|
||||
* Side: Free
|
||||
* Culture: Gandalf
|
||||
* Twilight Cost: 1
|
||||
* Type: Condition • Support Area
|
||||
* Game Text: Each companion bearing a follower gains muster (and is strength +1 if that companion is a [GANDALF]
|
||||
* companion).
|
||||
*/
|
||||
public class Card13_041 extends AbstractPermanent {
|
||||
public Card13_041() {
|
||||
super(Side.FREE_PEOPLE, 1, CardType.CONDITION, Culture.GANDALF, "Strange Meeting");
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<? extends Modifier> getInPlayModifiers(LotroGame game, PhysicalCard self) {
|
||||
List<Modifier> modifiers = new LinkedList<>();
|
||||
modifiers.add(
|
||||
new KeywordModifier(self, Filters.and(CardType.COMPANION, Filters.hasAttached(CardType.FOLLOWER)), Keyword.MUSTER));
|
||||
modifiers.add(
|
||||
new StrengthModifier(self, Filters.and(CardType.COMPANION, Culture.GANDALF, Filters.hasAttached(CardType.FOLLOWER)), 1));
|
||||
return modifiers;
|
||||
}
|
||||
}
|
||||
@@ -1,71 +0,0 @@
|
||||
package com.gempukku.lotro.cards.set13.gandalf;
|
||||
|
||||
import com.gempukku.lotro.common.*;
|
||||
import com.gempukku.lotro.game.PhysicalCard;
|
||||
import com.gempukku.lotro.game.state.LotroGame;
|
||||
import com.gempukku.lotro.logic.GameUtils;
|
||||
import com.gempukku.lotro.logic.actions.ActivateCardAction;
|
||||
import com.gempukku.lotro.logic.actions.RequiredTriggerAction;
|
||||
import com.gempukku.lotro.logic.cardtype.AbstractPermanent;
|
||||
import com.gempukku.lotro.logic.effects.AddTokenEffect;
|
||||
import com.gempukku.lotro.logic.effects.ChoiceEffect;
|
||||
import com.gempukku.lotro.logic.effects.RemoveTokenEffect;
|
||||
import com.gempukku.lotro.logic.effects.SelfDiscardEffect;
|
||||
import com.gempukku.lotro.logic.effects.choose.ChooseAndDiscardCardsFromPlayEffect;
|
||||
import com.gempukku.lotro.logic.timing.Effect;
|
||||
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.LinkedList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Set: Bloodlines
|
||||
* Side: Free
|
||||
* Culture: Gandalf
|
||||
* Twilight Cost: 3
|
||||
* Type: Condition • Support Area
|
||||
* Game Text: To play, spot a Wizard. When you play this, add X [GANDALF] tokens here, where X is the current region
|
||||
* number. Maneuver: Discard this from play or remove 2 tokens from here to discard a Shadow condition from play.
|
||||
*/
|
||||
public class Card13_042 extends AbstractPermanent {
|
||||
public Card13_042() {
|
||||
super(Side.FREE_PEOPLE, 3, CardType.CONDITION, Culture.GANDALF, "Traveler's Homestead", null, true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean checkPlayRequirements(LotroGame game, PhysicalCard self) {
|
||||
return PlayConditions.canSpot(game, Race.WIZARD);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<RequiredTriggerAction> getRequiredAfterTriggers(LotroGame game, EffectResult effectResult, PhysicalCard self) {
|
||||
if (TriggerConditions.played(game, effectResult, self)) {
|
||||
RequiredTriggerAction action = new RequiredTriggerAction(self);
|
||||
action.appendEffect(
|
||||
new AddTokenEffect(self, self, Token.GANDALF, GameUtils.getRegion(game)));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<? extends ActivateCardAction> getPhaseActionsInPlay(String playerId, LotroGame game, PhysicalCard self) {
|
||||
if (PlayConditions.canUseFPCardDuringPhase(game, Phase.MANEUVER, self)) {
|
||||
ActivateCardAction action = new ActivateCardAction(self);
|
||||
List<Effect> possibleCosts = new LinkedList<>();
|
||||
possibleCosts.add(
|
||||
new RemoveTokenEffect(self, self, Token.GANDALF, 2));
|
||||
possibleCosts.add(
|
||||
new SelfDiscardEffect(self));
|
||||
action.appendCost(
|
||||
new ChoiceEffect(action, playerId, possibleCosts));
|
||||
action.appendEffect(
|
||||
new ChooseAndDiscardCardsFromPlayEffect(action, playerId, 1, 1, CardType.CONDITION, Side.SHADOW));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -1,51 +0,0 @@
|
||||
package com.gempukku.lotro.cards.set13.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.ActivateCardAction;
|
||||
import com.gempukku.lotro.logic.cardtype.AbstractPermanent;
|
||||
import com.gempukku.lotro.logic.effects.AddBurdenEffect;
|
||||
import com.gempukku.lotro.logic.effects.AddUntilEndOfPhaseModifierEffect;
|
||||
import com.gempukku.lotro.logic.effects.choose.ChooseAndExertCharactersEffect;
|
||||
import com.gempukku.lotro.logic.modifiers.KeywordModifier;
|
||||
import com.gempukku.lotro.logic.timing.PlayConditions;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Set: Bloodlines
|
||||
* Side: Free
|
||||
* Culture: Gandalf
|
||||
* Twilight Cost: 1
|
||||
* Type: Condition • Support Area
|
||||
* Game Text: Skirmish: Exert your [GANDALF] companion and add a burden to make that companion damage +1.
|
||||
*/
|
||||
public class Card13_043 extends AbstractPermanent {
|
||||
public Card13_043() {
|
||||
super(Side.FREE_PEOPLE, 1, CardType.CONDITION, Culture.GANDALF, "Vapour and Steam");
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<? extends ActivateCardAction> getPhaseActionsInPlay(String playerId, LotroGame game, final PhysicalCard self) {
|
||||
if (PlayConditions.canUseFPCardDuringPhase(game, Phase.SKIRMISH, self)
|
||||
&& PlayConditions.canExert(self, game, Filters.owner(playerId), Culture.GANDALF, CardType.COMPANION)) {
|
||||
final ActivateCardAction action = new ActivateCardAction(self);
|
||||
action.appendCost(
|
||||
new ChooseAndExertCharactersEffect(action, playerId, 1, 1, Filters.owner(playerId), Culture.GANDALF, CardType.COMPANION) {
|
||||
@Override
|
||||
protected void forEachCardExertedCallback(PhysicalCard character) {
|
||||
action.appendEffect(
|
||||
new AddUntilEndOfPhaseModifierEffect(
|
||||
new KeywordModifier(self, character, Keyword.DAMAGE, 1)));
|
||||
}
|
||||
});
|
||||
action.appendCost(
|
||||
new AddBurdenEffect(self.getOwner(), self, 1));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -338,7 +338,8 @@
|
||||
{
|
||||
type: addModifier
|
||||
modifier: {
|
||||
type: cancelStrengthBonusFrom
|
||||
type: cancelStrengthBonus
|
||||
filter: any
|
||||
from: memory(chosenPossession)
|
||||
}
|
||||
until: start(regroup)
|
||||
@@ -735,7 +736,7 @@
|
||||
effects: {
|
||||
type: modifier
|
||||
modifier: {
|
||||
type: cancelStrengthBonusTo
|
||||
type: cancelStrengthBonus
|
||||
filter: character,inSkirmishAgainst(self)
|
||||
from: weapon
|
||||
}
|
||||
|
||||
@@ -240,7 +240,7 @@
|
||||
{
|
||||
type: modifier
|
||||
modifier: {
|
||||
type: cancelStrengthBonusTo
|
||||
type: cancelStrengthBonus
|
||||
filter: minion,inSkirmishAgainst(bearer,name(Boromir))
|
||||
from: weapon
|
||||
}
|
||||
|
||||
@@ -309,7 +309,7 @@
|
||||
{
|
||||
type: modifier
|
||||
modifier: {
|
||||
type: cancelStrengthBonusTo
|
||||
type: cancelStrengthBonus
|
||||
filter: minion,inSkirmishAgainst(bearer)
|
||||
from: weapon
|
||||
}
|
||||
|
||||
@@ -758,7 +758,7 @@
|
||||
effects: {
|
||||
type: modifier
|
||||
modifier: {
|
||||
type: cancelKeywordBonusFrom
|
||||
type: cancelKeywordBonus
|
||||
filter: character,inSkirmishAgainst(culture(isengard),orc)
|
||||
keyword: damage
|
||||
from: weapon
|
||||
|
||||
@@ -1337,7 +1337,7 @@
|
||||
{
|
||||
type: addModifier
|
||||
modifier: {
|
||||
type: cancelStrengthBonusTo
|
||||
type: cancelStrengthBonus
|
||||
filter: inSkirmishAgainst(memory(chosenMan))
|
||||
from: possession
|
||||
}
|
||||
|
||||
@@ -1031,7 +1031,7 @@
|
||||
{
|
||||
type: modifier
|
||||
modifier: {
|
||||
type: cancelStrengthBonusTo
|
||||
type: cancelStrengthBonus
|
||||
filter: man,inSkirmishAgainst(self)
|
||||
from: weapon
|
||||
}
|
||||
|
||||
@@ -248,7 +248,7 @@
|
||||
{
|
||||
type: modifier
|
||||
modifier: {
|
||||
type: cancelStrengthBonusTo
|
||||
type: cancelStrengthBonus
|
||||
filter: companion,inSkirmishAgainst(self)
|
||||
from: possession
|
||||
}
|
||||
@@ -256,7 +256,7 @@
|
||||
{
|
||||
type: modifier
|
||||
modifier: {
|
||||
type: cancelKeywordBonusFrom
|
||||
type: cancelKeywordBonus
|
||||
filter: companion,inSkirmishAgainst(self)
|
||||
from: possession
|
||||
}
|
||||
|
||||
@@ -1119,7 +1119,7 @@
|
||||
{
|
||||
type: modifier
|
||||
modifier: {
|
||||
type: cancelStrengthBonusTo
|
||||
type: cancelStrengthBonus
|
||||
requires: {
|
||||
type: canSpot
|
||||
filter: bearer,inSkirmishAgainst(culture(men),minion)
|
||||
@@ -1131,7 +1131,7 @@
|
||||
{
|
||||
type: modifier
|
||||
modifier: {
|
||||
type: cancelKeywordBonusFrom
|
||||
type: cancelKeywordBonus
|
||||
requires: {
|
||||
type: canSpot
|
||||
filter: bearer,inSkirmishAgainst(culture(men),minion)
|
||||
|
||||
@@ -826,7 +826,7 @@
|
||||
{
|
||||
type: modifier
|
||||
modifier: {
|
||||
type: cancelStrengthBonusTo
|
||||
type: cancelStrengthBonus
|
||||
requires: {
|
||||
type: canSpot
|
||||
filter: companion
|
||||
|
||||
@@ -1377,7 +1377,7 @@
|
||||
{
|
||||
type: modifier
|
||||
modifier: {
|
||||
type: cancelStrengthBonusTo
|
||||
type: cancelStrengthBonus
|
||||
filter: character,inSkirmishAgainst(self)
|
||||
from: weapon
|
||||
}
|
||||
|
||||
@@ -23,6 +23,38 @@
|
||||
twilight: 2
|
||||
type: Follower
|
||||
effects: [
|
||||
{
|
||||
type: aidCost
|
||||
cost: {
|
||||
type: addTwilight
|
||||
amount: 2
|
||||
}
|
||||
}
|
||||
{
|
||||
type: trigger
|
||||
optional: true
|
||||
trigger: {
|
||||
type: transferred
|
||||
filter: self
|
||||
to: companion
|
||||
}
|
||||
effect: {
|
||||
type: reinforceTokens
|
||||
culture: gandalf
|
||||
}
|
||||
}
|
||||
{
|
||||
type: modifier
|
||||
modifier: {
|
||||
type: modifyStrength
|
||||
requires: {
|
||||
type: canSpot
|
||||
filter: culture(gandalf),companion
|
||||
}
|
||||
filter: minion,inSkirmishAgainst(bearer)
|
||||
amount: -1
|
||||
}
|
||||
}
|
||||
]
|
||||
gametext: <b>Aid</b> – (2). <helper>(At the start of the maneuver phase, <span style="word-spacing:-0.08em">you may add (2) to transfer this to a companion.)</span></helper><br>Each time you transfer this to a companion, you may reinforce a [gandalf] token.<br>While you can spot a [gandalf] companion, each minion skirmishing bearer is strength -1.
|
||||
lore: Third of the Istari to be named, he was clad in sea-blue.
|
||||
@@ -62,6 +94,23 @@
|
||||
vitality: 3
|
||||
resistance: 6
|
||||
effects: [
|
||||
{
|
||||
type: trigger
|
||||
optional: true
|
||||
trigger: {
|
||||
type: startOfPhase
|
||||
phase: fellowship
|
||||
}
|
||||
cost: {
|
||||
type: removeTokensCumulative
|
||||
filter: side(free people)
|
||||
count: 2
|
||||
}
|
||||
effect: {
|
||||
type: putCardsFromDiscardIntoHand
|
||||
filter: choose(culture(gandalf),event)
|
||||
}
|
||||
}
|
||||
]
|
||||
gametext: At the start of the fellowship phase, you may remove 2 Free Peoples culture tokens to take a [gandalf] event into hand from your discard pile.
|
||||
lore: ...its inhabitants, traditional trading partners of Esgaroth and Dale, now look to their northern allies for protection against the wild Easterlings....
|
||||
@@ -97,6 +146,46 @@
|
||||
type: Condition
|
||||
keywords: Support Area
|
||||
effects: [
|
||||
{
|
||||
type: trigger
|
||||
trigger: {
|
||||
type: played
|
||||
filter: self
|
||||
}
|
||||
effect: {
|
||||
type: addTokens
|
||||
culture: gandalf
|
||||
filter: self
|
||||
}
|
||||
}
|
||||
{
|
||||
type: activated
|
||||
phase: maneuver
|
||||
cost: {
|
||||
type: choice
|
||||
texts: [
|
||||
Discard this from play
|
||||
Remove a token from here
|
||||
]
|
||||
effects: [
|
||||
{
|
||||
type: discard
|
||||
filter: self
|
||||
}
|
||||
{
|
||||
type: removeTokens
|
||||
culture: gandalf
|
||||
filter: self
|
||||
}
|
||||
]
|
||||
}
|
||||
effect: {
|
||||
type: addKeyword
|
||||
filter: choose(culture(gandalf),companion)
|
||||
keyword: muster
|
||||
until: endOfTurn
|
||||
}
|
||||
}
|
||||
]
|
||||
gametext: When you play this, add a [gandalf] token here.<br><b>Maneuver:</b> Discard this from play or remove a token from here to spot a [gandalf] companion. That companion gains <b>muster</b> until end of turn.
|
||||
lore: The Hosts of Isengard roared, swaying this way and that, turning from fear to fear.
|
||||
@@ -134,13 +223,18 @@
|
||||
Spell
|
||||
Skirmish
|
||||
]
|
||||
|
||||
effects: {
|
||||
type: event
|
||||
cost: {
|
||||
},
|
||||
requires: {
|
||||
type: canSpot
|
||||
filter: culture(gandalf),companion
|
||||
count: 3
|
||||
}
|
||||
effect: [
|
||||
{
|
||||
type: modifyStrength
|
||||
filter: choose(minion,inSkirmishAgainst(companion))
|
||||
amount: -3
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -180,13 +274,23 @@
|
||||
Spell
|
||||
Skirmish
|
||||
]
|
||||
|
||||
effects: {
|
||||
type: event
|
||||
cost: {
|
||||
},
|
||||
effect: [
|
||||
{
|
||||
type: modifyStrength
|
||||
filter: choose(culture(gandalf),companion)
|
||||
memorize: chosenCompanion
|
||||
amount: {
|
||||
type: condition
|
||||
condition: {
|
||||
type: memoryMatches
|
||||
memory: chosenCompanion
|
||||
filter: hasAttached(follower)
|
||||
}
|
||||
true: 4
|
||||
false: 2
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -229,6 +333,43 @@
|
||||
resistance: 5
|
||||
keywords: CAN_START_WITH_RING
|
||||
effects: [
|
||||
{
|
||||
type: trigger
|
||||
trigger: {
|
||||
type: moves
|
||||
}
|
||||
requires: {
|
||||
type: canSpot
|
||||
filter: self,ringBearer
|
||||
}
|
||||
effect: {
|
||||
type: choice
|
||||
texts: [
|
||||
Add 3 burdens
|
||||
Discard 2 {gandalf} cards from hand
|
||||
]
|
||||
effects: [
|
||||
{
|
||||
type: addBurdens
|
||||
amount: 3
|
||||
}
|
||||
{
|
||||
type: conditional
|
||||
requires: {
|
||||
type: canSpot
|
||||
filter: other,companion
|
||||
count: 2
|
||||
}
|
||||
effect: {
|
||||
type: discardFromHand
|
||||
forced: false
|
||||
filter: choose(culture(gandalf))
|
||||
count: 2
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
gametext: While Gandalf is the Ring-bearer, each time the fellowship moves, add 3 burdens unless you spot 2 other companions and discard 2 [gandalf] cards from hand.
|
||||
lore: But all worthy things that are in peril as the world now stands, those are my care.'
|
||||
@@ -263,16 +404,39 @@
|
||||
twilight: 2
|
||||
type: Event
|
||||
keywords: Skirmish
|
||||
|
||||
effects: {
|
||||
type: event
|
||||
cost: {
|
||||
},
|
||||
effect: [
|
||||
{
|
||||
}
|
||||
]
|
||||
}
|
||||
effects: [
|
||||
{
|
||||
type: activatedInDiscard
|
||||
phase: skirmish
|
||||
cost: {
|
||||
type: removeCardsInDiscardFromGame
|
||||
filter: choose(other,culture(gandalf))
|
||||
count: 4
|
||||
}
|
||||
effect: {
|
||||
type: playCardFromDiscard
|
||||
filter: self
|
||||
extraEffects: {
|
||||
type: removeFromTheGame
|
||||
filter: self
|
||||
}
|
||||
}
|
||||
}
|
||||
{
|
||||
type: event
|
||||
requires: {
|
||||
type: canSpot
|
||||
filter: name(Gandalf)
|
||||
}
|
||||
effect: [
|
||||
{
|
||||
type: modifyStrength
|
||||
filter: choose(your,culture(gandalf),companion)
|
||||
amount: 3
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
gametext: You may remove from the game 4 other [gandalf] cards in your discard pile to play this event from your discard pile. Then remove this event from the game.<br>Spot Gandalf to make your [gandalf] companion strength +3.
|
||||
lore: ...at dawn on the fifth day.'
|
||||
promotext: ""
|
||||
@@ -306,13 +470,19 @@
|
||||
twilight: 2
|
||||
type: Event
|
||||
keywords: Maneuver
|
||||
|
||||
effects: {
|
||||
type: event
|
||||
cost: {
|
||||
},
|
||||
type: discard
|
||||
filter: choose(your,culture(gandalf),condition)
|
||||
}
|
||||
effect: [
|
||||
{
|
||||
type: discard
|
||||
filter: choose(condition)
|
||||
}
|
||||
{
|
||||
type: drawCards
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -350,8 +520,44 @@
|
||||
twilight: 0
|
||||
type: Artifact
|
||||
resistance: -2
|
||||
#target: title(Gandalf)
|
||||
target: title(Gandalf)
|
||||
effects: [
|
||||
{
|
||||
type: extraCost
|
||||
requires: {
|
||||
type: canSpot
|
||||
filter: name(The Palantír of Orthanc)
|
||||
}
|
||||
cost: {
|
||||
type: discard
|
||||
filter: choose(name(The Palantír of Orthanc))
|
||||
}
|
||||
}
|
||||
{
|
||||
type: trigger
|
||||
optional: true
|
||||
trigger: {
|
||||
type: startOfPhase
|
||||
phase: fellowship
|
||||
}
|
||||
cost: {
|
||||
type: addBurdens
|
||||
}
|
||||
effect: [
|
||||
{
|
||||
type: revealHand
|
||||
hand: shadow
|
||||
memorize: revealedCards
|
||||
}
|
||||
{
|
||||
type: discardFromHand
|
||||
forced: true
|
||||
hand: shadow
|
||||
player: shadow
|
||||
filter: choose(memory(revealedCards),minion)
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
gametext: Bearer must be Gandalf. To play this, if you can spot The Palantír of Orthanc, discard it.<br>At the start of the fellowship phase, you may add a burden to reveal a Shadow player's hand. He or she must choose a revealed minion and discard it from hand.
|
||||
lore: ...a heavy shining thing came hurtling down from above.
|
||||
@@ -388,6 +594,38 @@
|
||||
type: Follower
|
||||
strength: 1
|
||||
effects: [
|
||||
{
|
||||
type: aidCost
|
||||
cost: {
|
||||
type: addTwilight
|
||||
amount: 2
|
||||
}
|
||||
}
|
||||
{
|
||||
type: trigger
|
||||
trigger: {
|
||||
type: transferred
|
||||
filter: self
|
||||
to: companion,not(culture(gandalf))
|
||||
}
|
||||
effect: {
|
||||
type: exert
|
||||
filter: bearer
|
||||
times: 2
|
||||
}
|
||||
}
|
||||
{
|
||||
type: trigger
|
||||
optional: true
|
||||
trigger: {
|
||||
type: winsSkirmish
|
||||
filter: bearer
|
||||
}
|
||||
effect: {
|
||||
type: discard
|
||||
filter: choose(condition)
|
||||
}
|
||||
}
|
||||
]
|
||||
gametext: <b>Aid</b> – (2).<br>Each time you transfer this to a companion, except a [gandalf] companion, exert bearer twice.<br>Each time bearer wins a skirmish, you may discard a condition from play.
|
||||
lore: Brought as a companion by Alatar, he traveled the South and East to aid the Free Peoples.
|
||||
@@ -424,6 +662,26 @@
|
||||
type: Follower
|
||||
resistance: 2
|
||||
effects: [
|
||||
{
|
||||
type: aidCost
|
||||
cost: {
|
||||
type: addTwilight
|
||||
amount: 2
|
||||
}
|
||||
}
|
||||
{
|
||||
type: modifier
|
||||
modifier: {
|
||||
type: cancelStrengthBonus
|
||||
requires: {
|
||||
type: canSpot
|
||||
filter: culture(gandalf),companion
|
||||
count: 2
|
||||
}
|
||||
filter: minion,inSkirmishAgainst(bearer)
|
||||
from: possession
|
||||
}
|
||||
}
|
||||
]
|
||||
gametext: <b>Aid</b> – (2). <helper>(At the start of the maneuver phase, <span style="word-spacing:-0.08em">you may add (2) to transfer this to a companion.)</span></helper><br>While you can spot 2 [gandalf] companions, minions skirmishing bearer do not gain strength bonuses from possessions.
|
||||
lore: It would have been useless in any case to try and win over the honest Radagast to treachery.'
|
||||
@@ -458,13 +716,18 @@
|
||||
twilight: 1
|
||||
type: Event
|
||||
keywords: Fellowship
|
||||
|
||||
effects: {
|
||||
type: event
|
||||
cost: {
|
||||
},
|
||||
type: discardFromHand
|
||||
forced: false
|
||||
filter: choose(side(shadow))
|
||||
count: 2
|
||||
}
|
||||
effect: [
|
||||
{
|
||||
type: putCardsFromDiscardIntoHand
|
||||
filter: choose(culture(gandalf),event)
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -503,8 +766,33 @@
|
||||
type: Possession
|
||||
strength: 1
|
||||
itemclass: Mount
|
||||
#target: a Wizard
|
||||
target: wizard
|
||||
effects: [
|
||||
{
|
||||
type: trigger
|
||||
optional: true
|
||||
trigger: {
|
||||
type: played
|
||||
filter: self
|
||||
}
|
||||
effect: {
|
||||
type: reinforceTokens
|
||||
culture: gandalf
|
||||
}
|
||||
}
|
||||
{
|
||||
type: activated
|
||||
phase: skirmish
|
||||
cost: {
|
||||
type: removeTokensCumulative
|
||||
culture: gandalf
|
||||
count: 2
|
||||
}
|
||||
effect: {
|
||||
type: wound
|
||||
filter: choose(minion,inSkirmishAgainst(bearer))
|
||||
}
|
||||
}
|
||||
]
|
||||
gametext: Bearer must be a Wizard.<br>When you play Shadowfax, you may reinforce a [gandalf] token.<br><b>Skirmish:</b> Remove 2 [gandalf] tokens to wound a minion skirmishing bearer.
|
||||
lore: Then Shadowfax gathered himself together and sprang away, and the night flowed over him....
|
||||
@@ -540,6 +828,22 @@
|
||||
type: Condition
|
||||
keywords: Support Area
|
||||
effects: [
|
||||
{
|
||||
type: modifier
|
||||
modifier: {
|
||||
type: addKeyword
|
||||
filter: companion,hasAttached(follower)
|
||||
keyword: muster
|
||||
}
|
||||
}
|
||||
{
|
||||
type: modifier
|
||||
modifier: {
|
||||
type: modifyStrength
|
||||
filter: companion,hasAttached(follower),culture(gandalf)
|
||||
amount: 1
|
||||
}
|
||||
}
|
||||
]
|
||||
gametext: Each companion bearing a follower gains <b>muster</b> (and is strength +1 if that companion is a [gandalf] companion).
|
||||
lore: Gandalf obviously expected to find Treebeard here; and Treebeard might almost have been loitering about near the gates on purpose to meet him.'
|
||||
@@ -575,6 +879,55 @@
|
||||
type: Condition
|
||||
keywords: Support Area
|
||||
effects: [
|
||||
{
|
||||
type: toPlay
|
||||
requires: {
|
||||
type: canSpot
|
||||
filter: wizard
|
||||
}
|
||||
}
|
||||
{
|
||||
type: trigger
|
||||
trigger: {
|
||||
type: played
|
||||
filter: self
|
||||
}
|
||||
effect: {
|
||||
type: addTokens
|
||||
culture: gandalf
|
||||
filter: self
|
||||
count: {
|
||||
type: regionNumber
|
||||
}
|
||||
}
|
||||
}
|
||||
{
|
||||
type: activated
|
||||
phase: maneuver
|
||||
cost: {
|
||||
type: choice
|
||||
texts: [
|
||||
Discard this from play
|
||||
Remove 2 tokens from here
|
||||
]
|
||||
effects: [
|
||||
{
|
||||
type: discard
|
||||
filter: self
|
||||
}
|
||||
{
|
||||
type: removeTokens
|
||||
culture: gandalf
|
||||
filter: self
|
||||
count: 2
|
||||
}
|
||||
]
|
||||
}
|
||||
effect: {
|
||||
type: discard
|
||||
filter: choose(side(shadow),condition)
|
||||
}
|
||||
}
|
||||
]
|
||||
gametext: To play, spot a Wizard.<br>When you play this, add X [gandalf] tokens here, where X is the current region number.<br><b>Maneuver:</b> Discard this from play or remove 2 tokens from here to discard a Shadow condition from play.
|
||||
lore: Of the Wizards, it was Gandalf that chose no home.
|
||||
@@ -610,6 +963,26 @@
|
||||
type: Condition
|
||||
keywords: Support Area
|
||||
effects: [
|
||||
{
|
||||
type: activated
|
||||
phase: skirmish
|
||||
cost: [
|
||||
{
|
||||
type: exert
|
||||
filter: choose(your,culture(gandalf),companion)
|
||||
memorize: exertedCompanion
|
||||
}
|
||||
{
|
||||
type: addBurdens
|
||||
}
|
||||
]
|
||||
effect: {
|
||||
type: addKeyword
|
||||
filter: memory(exertedCompanion)
|
||||
keyword: damage
|
||||
amount: 1
|
||||
}
|
||||
}
|
||||
]
|
||||
gametext: <b>Skirmish:</b> Exert your [gandalf] companion and add a burden to make that companion <b>damage +1</b>.
|
||||
lore: There was none to see, or perhaps in after ages songs would still be sung of the Battle of the Peak.'
|
||||
@@ -222,7 +222,7 @@
|
||||
{
|
||||
type: modifier
|
||||
modifier: {
|
||||
type: cancelStrengthBonusTo
|
||||
type: cancelStrengthBonus
|
||||
filter: companion,culture(dwarven)
|
||||
from: weapon
|
||||
}
|
||||
|
||||
@@ -80,7 +80,7 @@
|
||||
{
|
||||
type: modifier
|
||||
modifier: {
|
||||
type: cancelkeywordbonusfrom
|
||||
type: cancelKeywordBonus
|
||||
filter: inSkirmishAgainst(bearer)
|
||||
from: attachedTo(inSkirmishAgainst(bearer))
|
||||
keyword: damage
|
||||
@@ -93,7 +93,8 @@
|
||||
{
|
||||
type: modifier
|
||||
modifier: {
|
||||
type: cancelstrengthbonusfrom
|
||||
type: cancelStrengthBonus
|
||||
filter: any
|
||||
from: attachedTo(inSkirmishAgainst(bearer))
|
||||
requires: {
|
||||
type: canSpot
|
||||
|
||||
@@ -7,7 +7,7 @@ import com.gempukku.lotro.logic.modifiers.CancelKeywordBonusTargetModifier;
|
||||
import com.gempukku.lotro.logic.modifiers.Modifier;
|
||||
import org.json.simple.JSONObject;
|
||||
|
||||
public class CancelKeywordBonusFrom implements ModifierSourceProducer {
|
||||
public class CancelKeywordBonus implements ModifierSourceProducer {
|
||||
@Override
|
||||
public ModifierSource getModifierSource(JSONObject object, CardGenerationEnvironment environment) throws InvalidCardDefinitionException {
|
||||
FieldUtils.validateAllowedFields(object, "filter", "from", "requires", "keyword");
|
||||
@@ -6,7 +6,7 @@ import com.gempukku.lotro.logic.modifiers.CancelStrengthBonusTargetModifier;
|
||||
import com.gempukku.lotro.logic.modifiers.Modifier;
|
||||
import org.json.simple.JSONObject;
|
||||
|
||||
public class CancelStrengthBonusTo implements ModifierSourceProducer {
|
||||
public class CancelStrengthBonus implements ModifierSourceProducer {
|
||||
@Override
|
||||
public ModifierSource getModifierSource(JSONObject object, CardGenerationEnvironment environment) throws InvalidCardDefinitionException {
|
||||
FieldUtils.validateAllowedFields(object, "filter", "requires", "from");
|
||||
@@ -1,29 +0,0 @@
|
||||
package com.gempukku.lotro.cards.build.field.effect.modifier;
|
||||
|
||||
import com.gempukku.lotro.cards.build.*;
|
||||
import com.gempukku.lotro.cards.build.field.FieldUtils;
|
||||
import com.gempukku.lotro.logic.modifiers.CancelStrengthBonusSourceModifier;
|
||||
import com.gempukku.lotro.logic.modifiers.Modifier;
|
||||
import org.json.simple.JSONObject;
|
||||
|
||||
public class CancelStrengthBonusFrom implements ModifierSourceProducer {
|
||||
@Override
|
||||
public ModifierSource getModifierSource(JSONObject object, CardGenerationEnvironment environment) throws InvalidCardDefinitionException {
|
||||
FieldUtils.validateAllowedFields(object, "from", "requires");
|
||||
|
||||
final String filter = FieldUtils.getString(object.get("from"), "from");
|
||||
final JSONObject[] conditionArray = FieldUtils.getObjectArray(object.get("requires"), "requires");
|
||||
|
||||
final FilterableSource filterableSource = environment.getFilterFactory().generateFilter(filter, environment);
|
||||
final Requirement[] requirements = environment.getRequirementFactory().getRequirements(conditionArray, environment);
|
||||
|
||||
return new ModifierSource() {
|
||||
@Override
|
||||
public Modifier getModifier(ActionContext actionContext) {
|
||||
return new CancelStrengthBonusSourceModifier(actionContext.getSource(),
|
||||
new RequirementCondition(requirements, actionContext),
|
||||
filterableSource.getFilterable(actionContext));
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -24,9 +24,8 @@ public class ModifierSourceFactory {
|
||||
modifierProducers.put("allycanparticipateinskirmishes", new AllyCanParticipateInSkirmishes());
|
||||
modifierProducers.put("allymaynotparticipateinarcheryfireorskirmishes", new AllyMayNotParticipateInArcheryFireOrSkirmishes());
|
||||
modifierProducers.put("archerytotal", new ArcheryTotal());
|
||||
modifierProducers.put("cancelkeywordbonusfrom", new CancelKeywordBonusFrom());
|
||||
modifierProducers.put("cancelstrengthbonusfrom", new CancelStrengthBonusFrom());
|
||||
modifierProducers.put("cancelstrengthbonusto", new CancelStrengthBonusTo());
|
||||
modifierProducers.put("cancelkeywordbonus", new CancelKeywordBonus());
|
||||
modifierProducers.put("cancelstrengthbonus", new CancelStrengthBonus());
|
||||
modifierProducers.put("canplaystackedcards", new CanPlayStackedCards());
|
||||
modifierProducers.put("cantbear", new CantBear());
|
||||
modifierProducers.put("cantbeassignedtoskirmish", new CantBeAssignedToSkirmish());
|
||||
|
||||
Reference in New Issue
Block a user