Migrated Rohan cards in set 6 to hjson
This commit is contained in:
@@ -1,68 +0,0 @@
|
||||
package com.gempukku.lotro.cards.set6.rohan;
|
||||
|
||||
import com.gempukku.lotro.common.CardType;
|
||||
import com.gempukku.lotro.common.Culture;
|
||||
import com.gempukku.lotro.common.Filterable;
|
||||
import com.gempukku.lotro.common.PossessionClass;
|
||||
import com.gempukku.lotro.filters.Filters;
|
||||
import com.gempukku.lotro.game.PhysicalCard;
|
||||
import com.gempukku.lotro.game.state.LotroGame;
|
||||
import com.gempukku.lotro.logic.actions.ActivateCardAction;
|
||||
import com.gempukku.lotro.logic.actions.OptionalTriggerAction;
|
||||
import com.gempukku.lotro.logic.cardtype.AbstractAttachableFPPossession;
|
||||
import com.gempukku.lotro.logic.effects.LiberateASiteEffect;
|
||||
import com.gempukku.lotro.logic.effects.SelfDiscardEffect;
|
||||
import com.gempukku.lotro.logic.effects.choose.ChooseAndExertCharactersEffect;
|
||||
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: Ents of Fangorn
|
||||
* Side: Free
|
||||
* Culture: Rohan
|
||||
* Twilight Cost: 1
|
||||
* Type: Possession • Hand Weapon
|
||||
* Game Text: Bearer must be a [ROHAN] companion. Each time bearer wins a skirmish, you may exert a minion.
|
||||
* Response: If bearer wins a skirmish, discard this possession to liberate a site.
|
||||
*/
|
||||
public class Card6_090 extends AbstractAttachableFPPossession {
|
||||
public Card6_090() {
|
||||
super(1, 0, 0, Culture.ROHAN, PossessionClass.HAND_WEAPON, "Banner of the Mark");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Filterable getValidTargetFilter(String playerId, LotroGame game, PhysicalCard self) {
|
||||
return Filters.and(Culture.ROHAN, CardType.COMPANION);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<OptionalTriggerAction> getOptionalAfterTriggers(String playerId, LotroGame game, EffectResult effectResult, PhysicalCard self) {
|
||||
if (TriggerConditions.winsSkirmish(game, effectResult, self.getAttachedTo())) {
|
||||
OptionalTriggerAction action = new OptionalTriggerAction(self);
|
||||
action.setText("Exert a minion");
|
||||
action.appendEffect(
|
||||
new ChooseAndExertCharactersEffect(action, playerId, 1, 1, CardType.MINION));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<? extends ActivateCardAction> getOptionalInPlayAfterActions(String playerId, LotroGame game, EffectResult effectResult, PhysicalCard self) {
|
||||
if (TriggerConditions.winsSkirmish(game, effectResult, self.getAttachedTo())
|
||||
&& PlayConditions.canSelfDiscard(self, game)) {
|
||||
ActivateCardAction action = new ActivateCardAction(self);
|
||||
action.setText("Discard this to liberate a site");
|
||||
action.appendCost(
|
||||
new SelfDiscardEffect(self));
|
||||
action.appendEffect(
|
||||
new LiberateASiteEffect(self, playerId, null));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -1,51 +0,0 @@
|
||||
package com.gempukku.lotro.cards.set6.rohan;
|
||||
|
||||
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.AddUntilEndOfPhaseModifierEffect;
|
||||
import com.gempukku.lotro.logic.effects.choose.ChooseAndDiscardCardsFromPlayEffect;
|
||||
import com.gempukku.lotro.logic.modifiers.OverwhelmedByMultiplierModifier;
|
||||
import com.gempukku.lotro.logic.timing.PlayConditions;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* Set: Ents of Fangorn
|
||||
* Side: Free
|
||||
* Culture: Rohan
|
||||
* Twilight Cost: 1
|
||||
* Type: Condition
|
||||
* Game Text: Plays to your support area. Skirmish: Discard a mount borne by a [ROHAN] Man to prevent that Man from
|
||||
* being overwhelmed unless his or her strength is tripled.
|
||||
*/
|
||||
public class Card6_091 extends AbstractPermanent {
|
||||
public Card6_091() {
|
||||
super(Side.FREE_PEOPLE, 1, CardType.CONDITION, Culture.ROHAN, "Blood Has Been Spilled");
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<? extends ActivateCardAction> getPhaseActionsInPlay(String playerId, LotroGame game, final PhysicalCard self) {
|
||||
if (PlayConditions.canUseFPCardDuringPhase(game, Phase.SKIRMISH, self)
|
||||
&& PlayConditions.canDiscardFromPlay(self, game, PossessionClass.MOUNT, Filters.attachedTo(Culture.ROHAN, Race.MAN))) {
|
||||
final ActivateCardAction action = new ActivateCardAction(self);
|
||||
action.appendCost(
|
||||
new ChooseAndDiscardCardsFromPlayEffect(action, playerId, 1, 1, PossessionClass.MOUNT, Filters.attachedTo(Culture.ROHAN, Race.MAN)) {
|
||||
@Override
|
||||
protected void cardsToBeDiscardedCallback(Collection<PhysicalCard> cards) {
|
||||
Set<PhysicalCard> affectedCharacters = new HashSet<>();
|
||||
for (PhysicalCard card : cards)
|
||||
affectedCharacters.add(card.getAttachedTo());
|
||||
action.appendEffect(
|
||||
new AddUntilEndOfPhaseModifierEffect(
|
||||
new OverwhelmedByMultiplierModifier(self, Filters.in(affectedCharacters), 3)));
|
||||
}
|
||||
});
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -1,66 +0,0 @@
|
||||
package com.gempukku.lotro.cards.set6.rohan;
|
||||
|
||||
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.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: Ents of Fangorn
|
||||
* Side: Free
|
||||
* Culture: Rohan
|
||||
* Twilight Cost: 3
|
||||
* Type: Companion • Man
|
||||
* Strength: 7
|
||||
* Vitality: 3
|
||||
* Resistance: 6
|
||||
* Signet: Gandalf
|
||||
* Game Text: Valiant. While you can spot a [ROHAN] Man, Eomer's twilight cost is -1. Skirmish: Discard 3 cards from
|
||||
* hand to make a [ROHAN] Man strength +2 for each wound on each minion in his or her skirmish.
|
||||
*/
|
||||
public class Card6_092 extends AbstractCompanion {
|
||||
public Card6_092() {
|
||||
super(3, 7, 3, 6, Culture.ROHAN, Race.MAN, Signet.GANDALF, Names.eomer, "Rohirrim Captain", true);
|
||||
addKeyword(Keyword.VALIANT);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getTwilightCostModifier(LotroGame game, PhysicalCard self, PhysicalCard target) {
|
||||
if (Filters.canSpot(game, Culture.ROHAN, Race.MAN))
|
||||
return -1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<? extends ActivateCardAction> getPhaseActionsInPlay(String playerId, LotroGame game, PhysicalCard self) {
|
||||
if (PlayConditions.canUseFPCardDuringPhase(game, Phase.SKIRMISH, self)
|
||||
&& PlayConditions.canDiscardFromHand(game, playerId, 3, Filters.any)) {
|
||||
ActivateCardAction action = new ActivateCardAction(self);
|
||||
action.appendCost(
|
||||
new ChooseAndDiscardCardsFromHandEffect(action, playerId, false, 3));
|
||||
action.appendEffect(
|
||||
new ChooseAndAddUntilEOPStrengthBonusEffect(action, self, playerId,
|
||||
new Evaluator() {
|
||||
@Override
|
||||
public int evaluateExpression(LotroGame game, PhysicalCard self) {
|
||||
int wounds = 0;
|
||||
for (PhysicalCard woundedMinion : Filters.filterActive(game, CardType.MINION, Filters.wounded, Filters.inSkirmishAgainst(self))) {
|
||||
wounds += game.getGameState().getWounds(woundedMinion);
|
||||
}
|
||||
return wounds * 2;
|
||||
}
|
||||
}, Culture.ROHAN, Race.MAN));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -1,40 +0,0 @@
|
||||
package com.gempukku.lotro.cards.set6.rohan;
|
||||
|
||||
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.ChooseAndDiscardCardsFromPlayEffect;
|
||||
import com.gempukku.lotro.logic.effects.choose.ChooseAndExertCharactersEffect;
|
||||
import com.gempukku.lotro.logic.timing.PlayConditions;
|
||||
|
||||
/**
|
||||
* Set: Ents of Fangorn
|
||||
* Side: Free
|
||||
* Culture: Rohan
|
||||
* Twilight Cost: 0
|
||||
* Type: Event
|
||||
* Game Text: Regroup: Exert 2 mounted [ROHAN] Men to discard up to 2 wounded minions.
|
||||
*/
|
||||
public class Card6_093 extends AbstractEvent {
|
||||
public Card6_093() {
|
||||
super(Side.FREE_PEOPLE, 0, Culture.ROHAN, "Ever the Hope of Men", Phase.REGROUP);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean checkPlayRequirements(LotroGame game, PhysicalCard self) {
|
||||
return PlayConditions.canExert(self, game, 1, 2, Culture.ROHAN, Race.MAN, Filters.mounted);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PlayEventAction getPlayEventCardAction(String playerId, LotroGame game, PhysicalCard self) {
|
||||
PlayEventAction action = new PlayEventAction(self);
|
||||
action.appendCost(
|
||||
new ChooseAndExertCharactersEffect(action, playerId, 2, 2, Culture.ROHAN, Race.MAN, Filters.mounted));
|
||||
action.appendEffect(
|
||||
new ChooseAndDiscardCardsFromPlayEffect(action, playerId, 0, 2, CardType.MINION, Filters.wounded));
|
||||
return action;
|
||||
}
|
||||
}
|
||||
@@ -1,54 +0,0 @@
|
||||
package com.gempukku.lotro.cards.set6.rohan;
|
||||
|
||||
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.ChooseAndDiscardCardsFromPlayEffect;
|
||||
import com.gempukku.lotro.logic.timing.PlayConditions;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Set: Ents of Fangorn
|
||||
* Side: Free
|
||||
* Culture: Rohan
|
||||
* Twilight Cost: 2
|
||||
* Type: Companion • Man
|
||||
* Strength: 6
|
||||
* Vitality: 3
|
||||
* Resistance: 6
|
||||
* Game Text: To play, spot a [ROHAN] Man. Skirmish: Exert Hama to discard a possession borne by a minion he
|
||||
* is skirmishing.
|
||||
*/
|
||||
public class Card6_094 extends AbstractCompanion {
|
||||
public Card6_094() {
|
||||
super(2, 6, 3, 6, Culture.ROHAN, Race.MAN, null, "Háma", "Doorward of Théoden", true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean checkPlayRequirements(LotroGame game, PhysicalCard self) {
|
||||
return PlayConditions.canSpot(game, Culture.ROHAN, Race.MAN);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<? extends ActivateCardAction> getPhaseActionsInPlay(String playerId, 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 ChooseAndDiscardCardsFromPlayEffect(action, playerId, 1, 1, CardType.POSSESSION, Filters.attachedTo(CardType.MINION, Filters.inSkirmishAgainst(self))));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -1,59 +0,0 @@
|
||||
package com.gempukku.lotro.cards.set6.rohan;
|
||||
|
||||
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.AddUntilEndOfPhaseModifierEffect;
|
||||
import com.gempukku.lotro.logic.effects.ChooseAndHealCharactersEffect;
|
||||
import com.gempukku.lotro.logic.modifiers.StrengthModifier;
|
||||
import com.gempukku.lotro.logic.modifiers.evaluator.CardPhaseLimitEvaluator;
|
||||
import com.gempukku.lotro.logic.modifiers.evaluator.ConstantEvaluator;
|
||||
import com.gempukku.lotro.logic.timing.PlayConditions;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Set: Ents of Fangorn
|
||||
* Side: Free
|
||||
* Culture: Rohan
|
||||
* Twilight Cost: 2
|
||||
* Type: Companion • Man
|
||||
* Strength: 6
|
||||
* Vitality: 3
|
||||
* Resistance: 6
|
||||
* Game Text: To play, spot a [ROHAN] Man. Skirmish: Heal a minion skirmishing Hrethel to make Hrethel strength +3
|
||||
* (limit +3).
|
||||
*/
|
||||
public class Card6_095 extends AbstractCompanion {
|
||||
public Card6_095() {
|
||||
super(2, 6, 3, 6, Culture.ROHAN, Race.MAN, null, "Hrethel", "Rider of Rohan", true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean checkPlayRequirements(LotroGame game, PhysicalCard self) {
|
||||
return PlayConditions.canSpot(game, Culture.ROHAN, Race.MAN);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<? extends ActivateCardAction> getPhaseActionsInPlay(String playerId, LotroGame game, PhysicalCard self) {
|
||||
if (PlayConditions.canUseFPCardDuringPhase(game, Phase.SKIRMISH, self)
|
||||
&& PlayConditions.canHeal(self, game, CardType.MINION, Filters.inSkirmishAgainst(self))) {
|
||||
ActivateCardAction action = new ActivateCardAction(self);
|
||||
action.appendCost(
|
||||
new ChooseAndHealCharactersEffect(action, playerId, 1, 1, CardType.MINION, Filters.inSkirmishAgainst(self)));
|
||||
action.appendEffect(
|
||||
new AddUntilEndOfPhaseModifierEffect(
|
||||
new StrengthModifier(self, self, null,
|
||||
new CardPhaseLimitEvaluator(game, self, Phase.SKIRMISH, new ConstantEvaluator(3), new ConstantEvaluator(3)))));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -1,59 +0,0 @@
|
||||
package com.gempukku.lotro.cards.set6.rohan;
|
||||
|
||||
import com.gempukku.lotro.common.Culture;
|
||||
import com.gempukku.lotro.common.Phase;
|
||||
import com.gempukku.lotro.common.Race;
|
||||
import com.gempukku.lotro.common.Side;
|
||||
import com.gempukku.lotro.filters.Filters;
|
||||
import com.gempukku.lotro.game.PhysicalCard;
|
||||
import com.gempukku.lotro.game.state.LotroGame;
|
||||
import com.gempukku.lotro.logic.GameUtils;
|
||||
import com.gempukku.lotro.logic.actions.PlayEventAction;
|
||||
import com.gempukku.lotro.logic.cardtype.AbstractEvent;
|
||||
import com.gempukku.lotro.logic.decisions.MultipleChoiceAwaitingDecision;
|
||||
import com.gempukku.lotro.logic.effects.AddUntilEndOfTurnModifierEffect;
|
||||
import com.gempukku.lotro.logic.effects.DrawCardsEffect;
|
||||
import com.gempukku.lotro.logic.effects.PlayoutDecisionEffect;
|
||||
import com.gempukku.lotro.logic.modifiers.MoveLimitModifier;
|
||||
import com.gempukku.lotro.logic.timing.PlayConditions;
|
||||
|
||||
/**
|
||||
* Set: Ents of Fangorn
|
||||
* Side: Free
|
||||
* Culture: Rohan
|
||||
* Twilight Cost: 2
|
||||
* Type: Event
|
||||
* Game Text: Fellowship: Spot 3 mounted [ROHAN] Men to make the move limit for this turn +2. Each Shadow player may
|
||||
* draw 6 cards.
|
||||
*/
|
||||
public class Card6_096 extends AbstractEvent {
|
||||
public Card6_096() {
|
||||
super(Side.FREE_PEOPLE, 2, Culture.ROHAN, "News From the Mark", Phase.FELLOWSHIP);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean checkPlayRequirements(LotroGame game, PhysicalCard self) {
|
||||
return PlayConditions.canSpot(game, 3, Culture.ROHAN, Race.MAN, Filters.mounted);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PlayEventAction getPlayEventCardAction(String playerId, LotroGame game, PhysicalCard self) {
|
||||
final PlayEventAction action = new PlayEventAction(self);
|
||||
action.appendEffect(
|
||||
new AddUntilEndOfTurnModifierEffect(
|
||||
new MoveLimitModifier(self, 2)));
|
||||
for (final String opponentId : GameUtils.getShadowPlayers(game)) {
|
||||
action.appendEffect(
|
||||
new PlayoutDecisionEffect(opponentId,
|
||||
new MultipleChoiceAwaitingDecision(1, "Do you want to draw 6 cards?", new String[]{"Yes", "No"}) {
|
||||
@Override
|
||||
protected void validDecisionMade(int index, String result) {
|
||||
if (index == 0)
|
||||
action.insertEffect(
|
||||
new DrawCardsEffect(action, opponentId, 6));
|
||||
}
|
||||
}));
|
||||
}
|
||||
return action;
|
||||
}
|
||||
}
|
||||
@@ -1,78 +0,0 @@
|
||||
package com.gempukku.lotro.cards.set6.rohan;
|
||||
|
||||
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.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.ChooseAndAddUntilEOPStrengthBonusEffect;
|
||||
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: Ents of Fangorn
|
||||
* Side: Free
|
||||
* Culture: Rohan
|
||||
* Twilight Cost: 2
|
||||
* Type: Condition
|
||||
* Game Text: Plays to your support area. When you play this condition, you may spot a [ROHAN] Man to place 2 [ROHAN]
|
||||
* tokens here. Skirmish: Discard this condition or remove a [ROHAN] token from here to make a [ROHAN] Man skirmishing
|
||||
* an exhausted minion strength +2.
|
||||
*/
|
||||
public class Card6_097 extends AbstractPermanent {
|
||||
public Card6_097() {
|
||||
super(Side.FREE_PEOPLE, 2, CardType.CONDITION, Culture.ROHAN, "We Left None Alive", null, true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<OptionalTriggerAction> getOptionalAfterTriggers(String playerId, LotroGame game, EffectResult effectResult, PhysicalCard self) {
|
||||
if (TriggerConditions.played(game, effectResult, self)
|
||||
&& PlayConditions.canSpot(game, Culture.ROHAN, Race.MAN)) {
|
||||
OptionalTriggerAction action = new OptionalTriggerAction(self);
|
||||
action.appendEffect(
|
||||
new AddTokenEffect(self, self, Token.ROHAN, 2));
|
||||
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)) {
|
||||
ActivateCardAction action = new ActivateCardAction(self);
|
||||
List<Effect> possibleCosts = new LinkedList<>();
|
||||
possibleCosts.add(
|
||||
new RemoveTokenEffect(self, self, Token.ROHAN) {
|
||||
@Override
|
||||
public String getText(LotroGame game) {
|
||||
return "Remove a ROHAN token from here";
|
||||
}
|
||||
});
|
||||
possibleCosts.add(
|
||||
new SelfDiscardEffect(self) {
|
||||
@Override
|
||||
public String getText(LotroGame game) {
|
||||
return "Discard this condition";
|
||||
}
|
||||
});
|
||||
action.appendCost(
|
||||
new ChoiceEffect(action, playerId, possibleCosts));
|
||||
action.appendEffect(
|
||||
new ChooseAndAddUntilEOPStrengthBonusEffect(action, self, playerId, 2, Culture.ROHAN, Race.MAN, Filters.inSkirmishAgainst(CardType.MINION, Filters.exhausted)));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -22,18 +22,37 @@
|
||||
twilight: 1
|
||||
type: Possession
|
||||
itemclass: Hand weapon
|
||||
#target: a [rohan] companion
|
||||
/*requires: {
|
||||
|
||||
}
|
||||
target: culture(rohan),companion
|
||||
effects: [
|
||||
{
|
||||
|
||||
}
|
||||
{
|
||||
|
||||
}
|
||||
]*/
|
||||
{
|
||||
type: trigger
|
||||
text: Exert a minion
|
||||
optional: true
|
||||
trigger: {
|
||||
type: winsSkirmish
|
||||
filter: bearer
|
||||
}
|
||||
effect: {
|
||||
type: exert
|
||||
filter: choose(minion)
|
||||
}
|
||||
}
|
||||
{
|
||||
type: activatedTrigger
|
||||
text: Discard to liberate a site
|
||||
trigger: {
|
||||
type: winsSkirmish
|
||||
filter: bearer
|
||||
}
|
||||
cost: {
|
||||
type: discard
|
||||
filter: self
|
||||
}
|
||||
effect: {
|
||||
type: liberateSite
|
||||
}
|
||||
}
|
||||
]
|
||||
gametext: Bearer must be a [rohan] companion.<br>Each time bearer wins a skirmish, you may exert a minion.<br><b>Response:</b> If bearer wins a skirmish, discard this possession to liberate a site.
|
||||
lore: Fell deeds awake. Now for wrath. Now for ruin, and the red dawn.'
|
||||
promotext: ""
|
||||
@@ -67,17 +86,34 @@
|
||||
twilight: 1
|
||||
type: Condition
|
||||
keywords: Support Area
|
||||
/*requires: {
|
||||
|
||||
}
|
||||
effects: [
|
||||
{
|
||||
|
||||
}
|
||||
{
|
||||
|
||||
}
|
||||
]*/
|
||||
{
|
||||
type: activated
|
||||
phase: skirmish
|
||||
cost: [
|
||||
{
|
||||
type: chooseActiveCards
|
||||
filter: choose(mount,attachedTo(culture(rohan),man),canBeDiscarded)
|
||||
text: Choose cards to discard
|
||||
memorize: chosenMount
|
||||
}
|
||||
{
|
||||
type: memorizeActive
|
||||
filter: hasAttached(memory(chosenMount))
|
||||
memory: chosenMan
|
||||
}
|
||||
{
|
||||
type: discard
|
||||
filter: memory(chosenMount)
|
||||
}
|
||||
]
|
||||
effect: {
|
||||
type: alterOverwhelmMultiplier
|
||||
filter: memory(chosenMan)
|
||||
multiplier: 3
|
||||
}
|
||||
}
|
||||
]
|
||||
gametext: Plays to your support area.<br><b>Skirmish:</b> Discard a mount borne by a [rohan] Man to prevent that Man from being overwhelmed unless his or her strength is tripled.
|
||||
lore: They were hemming the Orcs in, preventing them from scattering, and driving them....
|
||||
promotext: ""
|
||||
@@ -117,17 +153,35 @@
|
||||
signet: Gandalf
|
||||
resistance: 6
|
||||
keywords: Valiant
|
||||
/*requires: {
|
||||
|
||||
}
|
||||
effects: [
|
||||
{
|
||||
|
||||
}
|
||||
{
|
||||
|
||||
}
|
||||
]*/
|
||||
{
|
||||
type: modifyOwnCost
|
||||
requires: {
|
||||
type: canSpot
|
||||
filter: culture(rohan),man
|
||||
}
|
||||
amount: -1
|
||||
}
|
||||
{
|
||||
type: activated
|
||||
phase: skirmish
|
||||
cost: {
|
||||
type: discardFromHand
|
||||
forced: false
|
||||
count: 3
|
||||
}
|
||||
effect: {
|
||||
type: modifyStrength
|
||||
filter: choose(culture(rohan),man)
|
||||
memorize: chosenMan
|
||||
amount: {
|
||||
type: forEachWound
|
||||
filter: minion,inSkirmishAgainst(memory(chosenMan))
|
||||
multiplier: 2
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
gametext: <b>Valiant</b>. While you can spot a [rohan] Man, Éomer's twilight cost is -1.<br><b>Skirmish:</b> Discard 3 cards from hand to make a [rohan] Man strength +2 for each wound on each minion in his or her skirmish.
|
||||
lore: Gúthwinë for the Mark!'
|
||||
promotext: ""
|
||||
@@ -161,20 +215,21 @@
|
||||
twilight: 0
|
||||
type: Event
|
||||
keywords: Regroup
|
||||
/*requires: {
|
||||
|
||||
}
|
||||
effects: {
|
||||
type: event
|
||||
cost: {
|
||||
|
||||
type: exert
|
||||
filter: choose(mounted,culture(rohan),man)
|
||||
count: 2
|
||||
},
|
||||
effect: [
|
||||
{
|
||||
|
||||
type: discard
|
||||
filter: choose(wounded,minion)
|
||||
count: 0-2
|
||||
}
|
||||
]
|
||||
}*/
|
||||
}
|
||||
gametext: <b>Regroup:</b> Exert 2 mounted [rohan] Men to discard up to 2 wounded minions.
|
||||
lore: Would that day was here and we might ride down upon them like a storm out of the mountains!'
|
||||
promotext: ""
|
||||
@@ -212,17 +267,27 @@
|
||||
strength: 6
|
||||
vitality: 3
|
||||
resistance: 6
|
||||
/*requires: {
|
||||
|
||||
}
|
||||
effects: [
|
||||
{
|
||||
|
||||
}
|
||||
{
|
||||
|
||||
}
|
||||
]*/
|
||||
{
|
||||
type: toPlay
|
||||
requires: {
|
||||
type: canSpot
|
||||
filter: culture(rohan),man
|
||||
}
|
||||
}
|
||||
{
|
||||
type: activated
|
||||
phase: skirmish
|
||||
cost: {
|
||||
type: exert
|
||||
filter: self
|
||||
}
|
||||
effect: {
|
||||
type: discard
|
||||
filter: choose(possession,attachedTo(minion,inSkirmishAgainst(self)))
|
||||
}
|
||||
}
|
||||
]
|
||||
gametext: To play, spot a [rohan] Man.<br><b>Skirmish:</b> Exert Háma to discard a possession borne by a minion he is skirmishing.
|
||||
lore: Yet in doubt a man of worth will trust to his own wisdom. I believe you are friends and folk worthy of honour, who have no evil purpose.'
|
||||
promotext: ""
|
||||
@@ -260,17 +325,32 @@
|
||||
strength: 6
|
||||
vitality: 3
|
||||
resistance: 6
|
||||
/*requires: {
|
||||
|
||||
}
|
||||
effects: [
|
||||
{
|
||||
|
||||
}
|
||||
{
|
||||
|
||||
}
|
||||
]*/
|
||||
{
|
||||
type: toPlay
|
||||
requires: {
|
||||
type: canSpot
|
||||
filter: culture(rohan),man
|
||||
}
|
||||
}
|
||||
{
|
||||
type: activated
|
||||
phase: skirmish
|
||||
cost: {
|
||||
type: heal
|
||||
filter: choose(minion,inSkirmishAgainst(self))
|
||||
}
|
||||
effect: {
|
||||
type: modifyStrength
|
||||
filter: self
|
||||
amount: {
|
||||
type: cardPhaseLimit
|
||||
limit: 3
|
||||
amount: 3
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
gametext: To play, spot a [rohan] Man.<br><b>Skirmish:</b> Heal a minion skirmishing Hrethel to make Hrethel strength +3 (limit +3).
|
||||
lore: ...gaining on the Orcs, gaining on them like a tide over the flats on folk straying in a quicksand.
|
||||
promotext: ""
|
||||
@@ -304,20 +384,34 @@
|
||||
twilight: 2
|
||||
type: Event
|
||||
keywords: Fellowship
|
||||
/*requires: {
|
||||
|
||||
}
|
||||
effects: {
|
||||
type: event
|
||||
cost: {
|
||||
|
||||
},
|
||||
requires: {
|
||||
type: canSpot
|
||||
filter: mounted,culture(rohan),man
|
||||
count: 3
|
||||
}
|
||||
effect: [
|
||||
{
|
||||
|
||||
type: addModifier
|
||||
modifier: {
|
||||
type: modifyMoveLimit
|
||||
amount: 2
|
||||
}
|
||||
until: endOfTurn
|
||||
}
|
||||
{
|
||||
type: optional
|
||||
player: shadow
|
||||
text: Would you like to draw 6 cards?
|
||||
effect: {
|
||||
type: drawCards
|
||||
player: shadow
|
||||
count: 6
|
||||
}
|
||||
}
|
||||
]
|
||||
}*/
|
||||
}
|
||||
gametext: <b>Fellowship:</b> Spot 3 mounted [rohan] Men to make the move limit for this turn +2. Each Shadow player may draw 6 cards.
|
||||
lore: We are friends of Rohan, and of Théoden, your king.'
|
||||
promotext: ""
|
||||
@@ -351,17 +445,53 @@
|
||||
twilight: 2
|
||||
type: Condition
|
||||
keywords: Support Area
|
||||
/*requires: {
|
||||
|
||||
}
|
||||
effects: [
|
||||
{
|
||||
|
||||
}
|
||||
{
|
||||
|
||||
}
|
||||
]*/
|
||||
{
|
||||
type: trigger
|
||||
optional: true
|
||||
trigger: {
|
||||
type: played
|
||||
filter: self
|
||||
}
|
||||
requires: {
|
||||
type: canSpot
|
||||
filter: culture(rohan),man
|
||||
}
|
||||
effect: {
|
||||
type: addTokens
|
||||
culture: raider
|
||||
filter: self
|
||||
count: 2
|
||||
}
|
||||
}
|
||||
{
|
||||
type: activated
|
||||
phase: skirmish
|
||||
cost: {
|
||||
type: choice
|
||||
texts: [
|
||||
Discard this condition
|
||||
Remove a {rohan} token from here
|
||||
]
|
||||
effects: [
|
||||
{
|
||||
type: discard
|
||||
filter: self
|
||||
}
|
||||
{
|
||||
type: removeTokens
|
||||
culture: rohan
|
||||
filter: self
|
||||
}
|
||||
]
|
||||
}
|
||||
effect: {
|
||||
type: modifyStrength
|
||||
filter: choose(culture(rohan),man,inSkirmishAgainst(exhausted,minion))
|
||||
amount: 2
|
||||
}
|
||||
}
|
||||
]
|
||||
gametext: Plays to your support area. When you play this condition, you may spot a [rohan] Man to place 2 [rohan] tokens here.<br><b>Skirmish:</b> Discard this condition or remove a [rohan] token from here to make a [rohan] Man skirmishing an exhausted minion strength +2.
|
||||
lore: ""
|
||||
promotext: ""
|
||||
@@ -41,6 +41,7 @@ public class FilterFactory {
|
||||
});
|
||||
simpleFilters.put("bearer", (actionContext -> Filters.hasAttached(actionContext.getSource())));
|
||||
simpleFilters.put("character", (actionContext) -> Filters.character);
|
||||
simpleFilters.put("canbediscarded", (actionContext -> Filters.canBeDiscarded(actionContext.getPerformingPlayer(), actionContext.getSource())));
|
||||
simpleFilters.put("canbereturnedtohand", (actionContext -> Filters.canBeReturnedToHand(actionContext.getSource())));
|
||||
simpleFilters.put("canexert", (actionContext -> Filters.canExert(actionContext.getSource())));
|
||||
simpleFilters.put("controlledbyotherplayer",
|
||||
|
||||
Reference in New Issue
Block a user