Migrated Rohan cards in set 5 to hjson
This commit is contained in:
@@ -1,62 +0,0 @@
|
||||
package com.gempukku.lotro.cards.set5.rohan;
|
||||
|
||||
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.cardtype.AbstractPermanent;
|
||||
import com.gempukku.lotro.logic.effects.ChoiceEffect;
|
||||
import com.gempukku.lotro.logic.effects.SelfDiscardEffect;
|
||||
import com.gempukku.lotro.logic.effects.choose.ChooseAndPutCardFromDiscardIntoHandEffect;
|
||||
import com.gempukku.lotro.logic.effects.choose.ChooseAndRemoveCultureTokensFromCardEffect;
|
||||
import com.gempukku.lotro.logic.timing.Effect;
|
||||
import com.gempukku.lotro.logic.timing.PlayConditions;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Set: Battle of Helm's Deep
|
||||
* Side: Free
|
||||
* Culture: Rohan
|
||||
* Twilight Cost: 1
|
||||
* Type: Condition
|
||||
* Game Text: Fortification. Plays to your support area. Maneuver: Spot 2 [ROHAN] Men to remove 2 tokens from a machine
|
||||
* or to take a [ROHAN] possession into hand from your discard pile. Discard this condition.
|
||||
*/
|
||||
public class Card5_079 extends AbstractPermanent {
|
||||
public Card5_079() {
|
||||
super(Side.FREE_PEOPLE, 1, CardType.CONDITION, Culture.ROHAN, "Armory", null, true);
|
||||
addKeyword(Keyword.FORTIFICATION);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<? extends ActivateCardAction> getPhaseActionsInPlay(String playerId, LotroGame game, PhysicalCard self) {
|
||||
if (PlayConditions.canUseFPCardDuringPhase(game, Phase.MANEUVER, self)
|
||||
&& PlayConditions.canSpot(game, 2, Culture.ROHAN, Race.MAN)) {
|
||||
ActivateCardAction action = new ActivateCardAction(self);
|
||||
List<Effect> possibleEffects = new LinkedList<>();
|
||||
possibleEffects.add(
|
||||
new ChooseAndRemoveCultureTokensFromCardEffect(self, playerId, null, 2, Keyword.MACHINE) {
|
||||
@Override
|
||||
public String getText(LotroGame game) {
|
||||
return "Remove 2 tokens from a machine";
|
||||
}
|
||||
});
|
||||
possibleEffects.add(
|
||||
new ChooseAndPutCardFromDiscardIntoHandEffect(action, playerId, 1, 1, Culture.ROHAN, CardType.POSSESSION) {
|
||||
@Override
|
||||
public String getText(LotroGame game) {
|
||||
return "Take a ROHAN possession into hand from your discard pile";
|
||||
}
|
||||
});
|
||||
action.appendEffect(
|
||||
new ChoiceEffect(action, playerId, possibleEffects));
|
||||
action.appendEffect(
|
||||
new SelfDiscardEffect(self));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -1,44 +0,0 @@
|
||||
package com.gempukku.lotro.cards.set5.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.SelfDiscardEffect;
|
||||
import com.gempukku.lotro.logic.effects.choose.ChooseAndDiscardCardsFromPlayEffect;
|
||||
import com.gempukku.lotro.logic.timing.PlayConditions;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Set: Battle of Helm's Deep
|
||||
* Side: Free
|
||||
* Culture: Rohan
|
||||
* Twilight Cost: 1
|
||||
* Type: Condition
|
||||
* Game Text: Fortification. Plays to your support area. Maneuver: Spot 2 [ROHAN] Men to discard a possession or
|
||||
* a machine. Discard this condition.
|
||||
*/
|
||||
public class Card5_080 extends AbstractPermanent {
|
||||
public Card5_080() {
|
||||
super(Side.FREE_PEOPLE, 1, CardType.CONDITION, Culture.ROHAN, "Arrow-slits", null, true);
|
||||
addKeyword(Keyword.FORTIFICATION);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<? extends ActivateCardAction> getPhaseActionsInPlay(String playerId, LotroGame game, PhysicalCard self) {
|
||||
if (PlayConditions.canUseFPCardDuringPhase(game, Phase.MANEUVER, self)
|
||||
&& PlayConditions.canSpot(game, 2, Culture.ROHAN, Race.MAN)) {
|
||||
ActivateCardAction action = new ActivateCardAction(self);
|
||||
action.appendEffect(
|
||||
new ChooseAndDiscardCardsFromPlayEffect(action, playerId, 1, 1, Filters.or(CardType.POSSESSION, Keyword.MACHINE)));
|
||||
action.appendEffect(
|
||||
new SelfDiscardEffect(self));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -1,48 +0,0 @@
|
||||
package com.gempukku.lotro.cards.set5.rohan;
|
||||
|
||||
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.cardtype.AbstractAlly;
|
||||
import com.gempukku.lotro.logic.effects.SelfExertEffect;
|
||||
import com.gempukku.lotro.logic.effects.choose.ChooseAndPlayCardFromDiscardEffect;
|
||||
import com.gempukku.lotro.logic.timing.PlayConditions;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Set: Battle of Helm's Deep
|
||||
* Side: Free
|
||||
* Culture: Rohan
|
||||
* Twilight Cost: 1
|
||||
* Type: Ally • Home 4T • Man
|
||||
* Strength: 4
|
||||
* Vitality: 2
|
||||
* Site: 4T
|
||||
* Game Text: Villager. Fellowship: Exert Ecglaf and spot 2 valiant Men to play a [ROHAN] possession from your
|
||||
* discard pile.
|
||||
*/
|
||||
public class Card5_081 extends AbstractAlly {
|
||||
public Card5_081() {
|
||||
super(1, SitesBlock.TWO_TOWERS, 4, 4, 2, Race.MAN, Culture.ROHAN, "Ecglaf", "Courageous Farmer", true);
|
||||
addKeyword(Keyword.VILLAGER);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<? extends ActivateCardAction> getPhaseActionsInPlay(String playerId, LotroGame game, PhysicalCard self) {
|
||||
if (PlayConditions.canUseFPCardDuringPhase(game, Phase.FELLOWSHIP, self)
|
||||
&& PlayConditions.canSelfExert(self, game)
|
||||
&& PlayConditions.canSpot(game, 2, Keyword.VALIANT, Race.MAN)
|
||||
&& PlayConditions.canPlayFromDiscard(playerId, game, Culture.ROHAN, CardType.POSSESSION)) {
|
||||
ActivateCardAction action = new ActivateCardAction(self);
|
||||
action.appendCost(
|
||||
new SelfExertEffect(action, self));
|
||||
action.appendEffect(
|
||||
new ChooseAndPlayCardFromDiscardEffect(playerId, game, Culture.ROHAN, CardType.POSSESSION));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -1,69 +0,0 @@
|
||||
package com.gempukku.lotro.cards.set5.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.PlayUtils;
|
||||
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.ChooseArbitraryCardsEffect;
|
||||
import com.gempukku.lotro.logic.modifiers.KeywordModifier;
|
||||
import com.gempukku.lotro.logic.modifiers.StrengthModifier;
|
||||
import com.gempukku.lotro.logic.timing.ExtraFilters;
|
||||
import com.gempukku.lotro.logic.timing.PlayConditions;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Set: Battle of Helm's Deep
|
||||
* Side: Free
|
||||
* Culture: Rohan
|
||||
* Twilight Cost: 2
|
||||
* Type: Companion • Man
|
||||
* Strength: 6
|
||||
* Vitality: 3
|
||||
* Resistance: 6
|
||||
* Game Text: Valiant. To play spot a [ROHAN] Man. Skirmish: Play a [ROHAN] possession on Gamling to make him
|
||||
* strength +2 and damage +1.
|
||||
*/
|
||||
public class Card5_082 extends AbstractCompanion {
|
||||
public Card5_082() {
|
||||
super(2, 6, 3, 6, Culture.ROHAN, Race.MAN, null, "Gamling", "Warrior of Rohan", true);
|
||||
addKeyword(Keyword.VALIANT);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean checkPlayRequirements(LotroGame game, PhysicalCard self) {
|
||||
return PlayConditions.canSpot(game, Culture.ROHAN, Race.MAN);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<? extends ActivateCardAction> getPhaseActionsInPlay(final String playerId, final LotroGame game, final PhysicalCard self) {
|
||||
if (PlayConditions.canUseFPCardDuringPhase(game, Phase.SKIRMISH, self)
|
||||
&& PlayConditions.canPlayFromHand(playerId, game, Culture.ROHAN, CardType.POSSESSION, ExtraFilters.attachableTo(game, self))) {
|
||||
ActivateCardAction action = new ActivateCardAction(self);
|
||||
action.appendCost(
|
||||
new ChooseArbitraryCardsEffect(playerId, "Choose card to play", game.getGameState().getHand(playerId), Filters.and(Culture.ROHAN, CardType.POSSESSION, ExtraFilters.attachableTo(game, self)), 1, 1) {
|
||||
@Override
|
||||
protected void cardsSelected(LotroGame game, Collection<PhysicalCard> selectedCards) {
|
||||
if (selectedCards.size() > 0) {
|
||||
PhysicalCard selectedCard = selectedCards.iterator().next();
|
||||
game.getActionsEnvironment().addActionToStack(PlayUtils.getPlayCardAction(game, selectedCard, 0, self, false));
|
||||
}
|
||||
}
|
||||
});
|
||||
action.appendEffect(
|
||||
new AddUntilEndOfPhaseModifierEffect(
|
||||
new StrengthModifier(self, self, 2)));
|
||||
action.appendEffect(
|
||||
new AddUntilEndOfPhaseModifierEffect(
|
||||
new KeywordModifier(self, self, Keyword.DAMAGE)));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -1,24 +0,0 @@
|
||||
package com.gempukku.lotro.cards.set5.rohan;
|
||||
|
||||
import com.gempukku.lotro.logic.cardtype.AbstractCompanion;
|
||||
import com.gempukku.lotro.common.Culture;
|
||||
import com.gempukku.lotro.common.Keyword;
|
||||
import com.gempukku.lotro.common.Race;
|
||||
|
||||
/**
|
||||
* Set: Battle of Helm's Deep
|
||||
* Side: Free
|
||||
* Culture: Rohan
|
||||
* Twilight Cost: 2
|
||||
* Type: Companion • Man
|
||||
* Strength: 6
|
||||
* Vitality: 3
|
||||
* Resistance: 6
|
||||
* Game Text: Valiant.
|
||||
*/
|
||||
public class Card5_083 extends AbstractCompanion {
|
||||
public Card5_083() {
|
||||
super(2, 6, 3, 6, Culture.ROHAN, Race.MAN, null, "Household Guard");
|
||||
addKeyword(Keyword.VALIANT);
|
||||
}
|
||||
}
|
||||
@@ -1,42 +0,0 @@
|
||||
package com.gempukku.lotro.cards.set5.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.HealCharactersEffect;
|
||||
import com.gempukku.lotro.logic.effects.choose.ChooseAndExertCharactersEffect;
|
||||
import com.gempukku.lotro.logic.timing.PlayConditions;
|
||||
|
||||
/**
|
||||
* Set: Battle of Helm's Deep
|
||||
* Side: Free
|
||||
* Culture: Rohan
|
||||
* Twilight Cost: 3
|
||||
* Type: Event
|
||||
* Game Text: Fellowship: Exert Theoden twice to heal every other companion with the Theoden signet twice.
|
||||
*/
|
||||
public class Card5_084 extends AbstractEvent {
|
||||
public Card5_084() {
|
||||
super(Side.FREE_PEOPLE, 3, Culture.ROHAN, "I Am Here", Phase.FELLOWSHIP);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean checkPlayRequirements(LotroGame game, PhysicalCard self) {
|
||||
return PlayConditions.canExert(self, game, 2, Filters.name(Names.theoden));
|
||||
}
|
||||
|
||||
@Override
|
||||
public PlayEventAction getPlayEventCardAction(String playerId, LotroGame game, PhysicalCard self) {
|
||||
PlayEventAction action = new PlayEventAction(self);
|
||||
action.appendCost(
|
||||
new ChooseAndExertCharactersEffect(action, playerId, 1, 1, 2, Filters.name(Names.theoden)));
|
||||
action.appendEffect(
|
||||
new HealCharactersEffect(self, self.getOwner(), Filters.and(CardType.COMPANION, Filters.not(Filters.name(Names.theoden)), Signet.THEODEN)));
|
||||
action.appendEffect(
|
||||
new HealCharactersEffect(self, self.getOwner(), Filters.and(CardType.COMPANION, Filters.not(Filters.name(Names.theoden)), Signet.THEODEN)));
|
||||
return action;
|
||||
}
|
||||
}
|
||||
@@ -1,39 +0,0 @@
|
||||
package com.gempukku.lotro.cards.set5.rohan;
|
||||
|
||||
import com.gempukku.lotro.common.*;
|
||||
import com.gempukku.lotro.game.PhysicalCard;
|
||||
import com.gempukku.lotro.game.state.LotroGame;
|
||||
import com.gempukku.lotro.logic.actions.PlayEventAction;
|
||||
import com.gempukku.lotro.logic.cardtype.AbstractEvent;
|
||||
import com.gempukku.lotro.logic.effects.LiberateASiteEffect;
|
||||
import com.gempukku.lotro.logic.effects.choose.ChooseAndDiscardCardsFromPlayEffect;
|
||||
import com.gempukku.lotro.logic.timing.PlayConditions;
|
||||
|
||||
/**
|
||||
* Set: Battle of Helm's Deep
|
||||
* Side: Free
|
||||
* Culture: Rohan
|
||||
* Twilight Cost: 1
|
||||
* Type: Event
|
||||
* Game Text: Regroup: Spot 3 valiant Men to discard up to 2 conditions and liberate a site.
|
||||
*/
|
||||
public class Card5_085 extends AbstractEvent {
|
||||
public Card5_085() {
|
||||
super(Side.FREE_PEOPLE, 1, Culture.ROHAN, "Let Us Be Swift", Phase.REGROUP);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean checkPlayRequirements(LotroGame game, PhysicalCard self) {
|
||||
return PlayConditions.canSpot(game, 3, Race.MAN, Keyword.VALIANT);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PlayEventAction getPlayEventCardAction(String playerId, LotroGame game, PhysicalCard self) {
|
||||
PlayEventAction action = new PlayEventAction(self);
|
||||
action.appendEffect(
|
||||
new ChooseAndDiscardCardsFromPlayEffect(action, playerId, 0, 2, CardType.CONDITION));
|
||||
action.appendEffect(
|
||||
new LiberateASiteEffect(self, playerId, null));
|
||||
return action;
|
||||
}
|
||||
}
|
||||
@@ -1,46 +0,0 @@
|
||||
package com.gempukku.lotro.cards.set5.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.AddUntilStartOfPhaseModifierEffect;
|
||||
import com.gempukku.lotro.logic.effects.ChooseActiveCardEffect;
|
||||
import com.gempukku.lotro.logic.modifiers.KeywordModifier;
|
||||
import com.gempukku.lotro.logic.timing.PlayConditions;
|
||||
|
||||
/**
|
||||
* Set: Battle of Helm's Deep
|
||||
* Side: Free
|
||||
* Culture: Rohan
|
||||
* Twilight Cost: 1
|
||||
* Type: Event
|
||||
* Game Text: Maneuver: Spot 3 valiant Men to make one of those Men defender +1 until the regroup phase.
|
||||
*/
|
||||
public class Card5_086 extends AbstractEvent {
|
||||
public Card5_086() {
|
||||
super(Side.FREE_PEOPLE, 1, Culture.ROHAN, "No Rest for the Weary", Phase.MANEUVER);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean checkPlayRequirements(LotroGame game, PhysicalCard self) {
|
||||
return PlayConditions.canSpot(game, 3, Race.MAN, Keyword.VALIANT);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PlayEventAction getPlayEventCardAction(String playerId, LotroGame game, final PhysicalCard self) {
|
||||
final PlayEventAction action = new PlayEventAction(self);
|
||||
action.appendEffect(
|
||||
new ChooseActiveCardEffect(self, playerId, "Choose Valiant Man", Race.MAN, Keyword.VALIANT) {
|
||||
@Override
|
||||
protected void cardSelected(LotroGame game, PhysicalCard card) {
|
||||
action.insertEffect(
|
||||
new AddUntilStartOfPhaseModifierEffect(
|
||||
new KeywordModifier(self, Filters.sameCard(card), Keyword.DEFENDER, 1), Phase.REGROUP));
|
||||
}
|
||||
});
|
||||
return action;
|
||||
}
|
||||
}
|
||||
@@ -1,64 +0,0 @@
|
||||
package com.gempukku.lotro.cards.set5.rohan;
|
||||
|
||||
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.cardtype.AbstractPermanent;
|
||||
import com.gempukku.lotro.logic.effects.AddUntilEndOfPhaseModifierEffect;
|
||||
import com.gempukku.lotro.logic.effects.ChoiceEffect;
|
||||
import com.gempukku.lotro.logic.effects.SelfDiscardEffect;
|
||||
import com.gempukku.lotro.logic.effects.choose.ChooseAndRemoveCultureTokensFromCardEffect;
|
||||
import com.gempukku.lotro.logic.modifiers.ArcheryTotalModifier;
|
||||
import com.gempukku.lotro.logic.timing.Effect;
|
||||
import com.gempukku.lotro.logic.timing.PlayConditions;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Set: Battle of Helm's Deep
|
||||
* Side: Free
|
||||
* Culture: Rohan
|
||||
* Twilight Cost: 1
|
||||
* Type: Condition
|
||||
* Game Text: Fortification. Plays to your support area. Archery: Spot 2 [ROHAN] Men to remove 2 tokens from a machine
|
||||
* or to make the minion archery total -3. Discard this condition.
|
||||
*/
|
||||
public class Card5_087 extends AbstractPermanent {
|
||||
public Card5_087() {
|
||||
super(Side.FREE_PEOPLE, 1, CardType.CONDITION, Culture.ROHAN, "Parapet", null, true);
|
||||
addKeyword(Keyword.FORTIFICATION);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<? extends ActivateCardAction> getPhaseActionsInPlay(String playerId, LotroGame game, PhysicalCard self) {
|
||||
if (PlayConditions.canUseFPCardDuringPhase(game, Phase.ARCHERY, self)
|
||||
&& PlayConditions.canSpot(game, 2, Culture.ROHAN, Race.MAN)) {
|
||||
ActivateCardAction action = new ActivateCardAction(self);
|
||||
List<Effect> possibleEffects = new LinkedList<>();
|
||||
possibleEffects.add(
|
||||
new ChooseAndRemoveCultureTokensFromCardEffect(self, playerId, null, 2, Keyword.MACHINE) {
|
||||
@Override
|
||||
public String getText(LotroGame game) {
|
||||
return "Remove 2 tokens from a machine";
|
||||
}
|
||||
});
|
||||
possibleEffects.add(
|
||||
new AddUntilEndOfPhaseModifierEffect(
|
||||
new ArcheryTotalModifier(self, Side.SHADOW, -3)) {
|
||||
@Override
|
||||
public String getText(LotroGame game) {
|
||||
return "Make the minion archery total -3";
|
||||
}
|
||||
});
|
||||
action.appendEffect(
|
||||
new ChoiceEffect(action, playerId, possibleEffects));
|
||||
action.appendEffect(
|
||||
new SelfDiscardEffect(self));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -1,51 +0,0 @@
|
||||
package com.gempukku.lotro.cards.set5.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.AbstractAttachableFPPossession;
|
||||
import com.gempukku.lotro.logic.effects.ChooseAndWoundCharactersEffect;
|
||||
import com.gempukku.lotro.logic.effects.ExertCharactersEffect;
|
||||
import com.gempukku.lotro.logic.effects.SelfDiscardEffect;
|
||||
import com.gempukku.lotro.logic.timing.PlayConditions;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Set: Battle of Helm's Deep
|
||||
* Side: Free
|
||||
* Culture: Rohan
|
||||
* Twilight Cost: 1
|
||||
* Type: Possession • Ranged Weapon
|
||||
* Strength: +1
|
||||
* Game Text: Bearer must be a [ROHAN] Man. Archery: Exert bearer and discard this possession to wound a minion.
|
||||
*/
|
||||
public class Card5_088 extends AbstractAttachableFPPossession {
|
||||
public Card5_088() {
|
||||
super(1, 1, 0, Culture.ROHAN, PossessionClass.RANGED_WEAPON, "Rohirrim Bow");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Filterable getValidTargetFilter(String playerId, LotroGame game, PhysicalCard self) {
|
||||
return Filters.and(Culture.ROHAN, Race.MAN);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<? extends ActivateCardAction> getPhaseActionsInPlay(String playerId, LotroGame game, PhysicalCard self) {
|
||||
if (PlayConditions.canUseFPCardDuringPhase(game, Phase.ARCHERY, self)
|
||||
&& PlayConditions.canExert(self, game, self.getAttachedTo())) {
|
||||
ActivateCardAction action = new ActivateCardAction(self);
|
||||
action.appendCost(
|
||||
new ExertCharactersEffect(action, self, self.getAttachedTo()));
|
||||
action.appendCost(
|
||||
new SelfDiscardEffect(self));
|
||||
action.appendEffect(
|
||||
new ChooseAndWoundCharactersEffect(action, playerId, 1, 1, CardType.MINION));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -1,67 +0,0 @@
|
||||
package com.gempukku.lotro.cards.set5.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.GameUtils;
|
||||
import com.gempukku.lotro.logic.actions.ActivateCardAction;
|
||||
import com.gempukku.lotro.logic.actions.CostToEffectAction;
|
||||
import com.gempukku.lotro.logic.cardtype.AbstractAttachableFPPossession;
|
||||
import com.gempukku.lotro.logic.effects.CancelSkirmishEffect;
|
||||
import com.gempukku.lotro.logic.effects.PreventableEffect;
|
||||
import com.gempukku.lotro.logic.effects.SelfDiscardEffect;
|
||||
import com.gempukku.lotro.logic.effects.choose.ChooseAndExertCharactersEffect;
|
||||
import com.gempukku.lotro.logic.timing.Effect;
|
||||
import com.gempukku.lotro.logic.timing.PlayConditions;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Set: Battle of Helm's Deep
|
||||
* Side: Free
|
||||
* Culture: Rohan
|
||||
* Twilight Cost: 1
|
||||
* Type: Possession • Helm
|
||||
* Game Text: Bearer must be [ROHAN] Man. Skirmish: Discard this possession to cancel a skirmish involving bearer.
|
||||
* A minion in this skirmish may exert to prevent this.
|
||||
*/
|
||||
public class Card5_089 extends AbstractAttachableFPPossession {
|
||||
public Card5_089() {
|
||||
super(1, 0, 0, Culture.ROHAN, PossessionClass.HELM, "Rohirrim Helm");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Filterable getValidTargetFilter(String playerId, LotroGame game, PhysicalCard self) {
|
||||
return Filters.and(Culture.ROHAN, Race.MAN);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<? extends ActivateCardAction> getPhaseActionsInPlay(String playerId, LotroGame game, PhysicalCard self) {
|
||||
if (PlayConditions.canUseFPCardDuringPhase(game, Phase.SKIRMISH, self)
|
||||
&& PlayConditions.canSelfDiscard(self, game)) {
|
||||
ActivateCardAction action = new ActivateCardAction(self);
|
||||
action.appendCost(
|
||||
new SelfDiscardEffect(self));
|
||||
action.appendEffect(
|
||||
new PreventableEffect(action,
|
||||
new CancelSkirmishEffect(self.getAttachedTo()),
|
||||
GameUtils.getShadowPlayers(game),
|
||||
new PreventableEffect.PreventionCost() {
|
||||
@Override
|
||||
public Effect createPreventionCostForPlayer(CostToEffectAction subAction, String playerId) {
|
||||
return new ChooseAndExertCharactersEffect(subAction, playerId, 1, 1, CardType.MINION, Filters.inSkirmish) {
|
||||
@Override
|
||||
public String getText(LotroGame game) {
|
||||
return "Exert minion in skirmish";
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -1,46 +0,0 @@
|
||||
package com.gempukku.lotro.cards.set5.rohan;
|
||||
|
||||
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.cardtype.AbstractCompanion;
|
||||
import com.gempukku.lotro.logic.effects.SelfExertEffect;
|
||||
import com.gempukku.lotro.logic.effects.choose.ChooseAndReturnCardsToHandEffect;
|
||||
import com.gempukku.lotro.logic.timing.PlayConditions;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Set: Battle of Helm's Deep
|
||||
* Side: Free
|
||||
* Culture: Rohan
|
||||
* Twilight Cost: 2
|
||||
* Type: Companion • Man
|
||||
* Strength: 5
|
||||
* Vitality: 3
|
||||
* Resistance: 6
|
||||
* Game Text: Valiant. Regroup: Exert this companion and spot a [ROHAN] possession to return that possession to hand.
|
||||
*/
|
||||
public class Card5_090 extends AbstractCompanion {
|
||||
public Card5_090() {
|
||||
super(2, 5, 3, 6, Culture.ROHAN, Race.MAN, null, "Rohirrim Scout");
|
||||
addKeyword(Keyword.VALIANT);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<? extends ActivateCardAction> getPhaseActionsInPlay(String playerId, LotroGame game, PhysicalCard self) {
|
||||
if (PlayConditions.canUseFPCardDuringPhase(game, Phase.REGROUP, self)
|
||||
&& PlayConditions.canSelfExert(self, game)
|
||||
&& PlayConditions.canSpot(game, Culture.ROHAN, CardType.POSSESSION)) {
|
||||
ActivateCardAction action = new ActivateCardAction(self);
|
||||
action.appendCost(
|
||||
new SelfExertEffect(action, self));
|
||||
action.appendEffect(
|
||||
new ChooseAndReturnCardsToHandEffect(action, playerId, 1, 1, Culture.ROHAN, CardType.POSSESSION));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -1,56 +0,0 @@
|
||||
package com.gempukku.lotro.cards.set5.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.AbstractAttachableFPPossession;
|
||||
import com.gempukku.lotro.logic.effects.HealCharactersEffect;
|
||||
import com.gempukku.lotro.logic.effects.SelfDiscardEffect;
|
||||
import com.gempukku.lotro.logic.modifiers.ArcheryTotalModifier;
|
||||
import com.gempukku.lotro.logic.modifiers.Modifier;
|
||||
import com.gempukku.lotro.logic.timing.PlayConditions;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Set: Battle of Helm's Deep
|
||||
* Side: Free
|
||||
* Culture: Rohan
|
||||
* Twilight Cost: 1
|
||||
* Type: Possession • Shield
|
||||
* Game Text: Bearer must be a [ROHAN] Man. The minion archery total is -1. Regroup: Discard this possession
|
||||
* to heal bearer.
|
||||
*/
|
||||
public class Card5_091 extends AbstractAttachableFPPossession {
|
||||
public Card5_091() {
|
||||
super(1, 0, 0, Culture.ROHAN, PossessionClass.SHIELD, "Rohirrim Shield");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Filterable getValidTargetFilter(String playerId, LotroGame game, PhysicalCard self) {
|
||||
return Filters.and(Culture.ROHAN, Race.MAN);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<? extends Modifier> getInPlayModifiers(LotroGame game, PhysicalCard self) {
|
||||
return Collections.singletonList(
|
||||
new ArcheryTotalModifier(self, Side.SHADOW, -1));
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<? extends ActivateCardAction> getPhaseActionsInPlay(String playerId, LotroGame game, PhysicalCard self) {
|
||||
if (PlayConditions.canUseFPCardDuringPhase(game, Phase.REGROUP, self)
|
||||
&& PlayConditions.canSelfDiscard(self, game)) {
|
||||
ActivateCardAction action = new ActivateCardAction(self);
|
||||
action.appendCost(
|
||||
new SelfDiscardEffect(self));
|
||||
action.appendEffect(
|
||||
new HealCharactersEffect(self, self.getOwner(), self.getAttachedTo()));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -1,46 +0,0 @@
|
||||
package com.gempukku.lotro.cards.set5.rohan;
|
||||
|
||||
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.cardtype.AbstractAlly;
|
||||
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: Battle of Helm's Deep
|
||||
* Side: Free
|
||||
* Culture: Rohan
|
||||
* Twilight Cost: 1
|
||||
* Type: Ally • Home 4T • Man
|
||||
* Strength: 4
|
||||
* Vitality: 2
|
||||
* Site: 4T
|
||||
* Game Text: Villager. Regroup: Exert Sigewulf and spot 5 valiant Men to discard a minion.
|
||||
*/
|
||||
public class Card5_092 extends AbstractAlly {
|
||||
public Card5_092() {
|
||||
super(1, SitesBlock.TWO_TOWERS, 4, 4, 2, Race.MAN, Culture.ROHAN, "Sigewulf", "Brave Volunteer", true);
|
||||
addKeyword(Keyword.VILLAGER);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<? extends ActivateCardAction> getPhaseActionsInPlay(String playerId, LotroGame game, PhysicalCard self) {
|
||||
if (PlayConditions.canUseFPCardDuringPhase(game, Phase.REGROUP, self)
|
||||
&& PlayConditions.canSelfExert(self, game)
|
||||
&& PlayConditions.canSpot(game, 5, Race.MAN, Keyword.VALIANT)) {
|
||||
ActivateCardAction action = new ActivateCardAction(self);
|
||||
action.appendCost(
|
||||
new SelfExertEffect(action, self));
|
||||
action.appendEffect(
|
||||
new ChooseAndDiscardCardsFromPlayEffect(action, playerId, 1, 1, CardType.MINION));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -1,58 +0,0 @@
|
||||
package com.gempukku.lotro.cards.set5.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.PlayUtils;
|
||||
import com.gempukku.lotro.logic.actions.ActivateCardAction;
|
||||
import com.gempukku.lotro.logic.cardtype.AbstractCompanion;
|
||||
import com.gempukku.lotro.logic.effects.ChooseAndHealCharactersEffect;
|
||||
import com.gempukku.lotro.logic.effects.ChooseArbitraryCardsEffect;
|
||||
import com.gempukku.lotro.logic.timing.ExtraFilters;
|
||||
import com.gempukku.lotro.logic.timing.PlayConditions;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Set: Battle of Helm's Deep
|
||||
* Side: Free
|
||||
* Culture: Rohan
|
||||
* Twilight Cost: 2
|
||||
* Type: Companion • Man
|
||||
* Strength: 6
|
||||
* Vitality: 2
|
||||
* Resistance: 6
|
||||
* Signet: Gandalf
|
||||
* Game Text: Valiant. Maneuver: Play a [ROHAN] possession on Theoden to heal a [ROHAN] ally.
|
||||
*/
|
||||
public class Card5_093 extends AbstractCompanion {
|
||||
public Card5_093() {
|
||||
super(2, 6, 2, 6, Culture.ROHAN, Race.MAN, Signet.GANDALF, Names.theoden, "King of the Golden Hall", true);
|
||||
addKeyword(Keyword.VALIANT);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<? extends ActivateCardAction> getPhaseActionsInPlay(final String playerId, final LotroGame game, final PhysicalCard self) {
|
||||
if (PlayConditions.canUseFPCardDuringPhase(game, Phase.MANEUVER, self)
|
||||
&& PlayConditions.canPlayFromHand(playerId, game, Culture.ROHAN, CardType.POSSESSION, ExtraFilters.attachableTo(game, self))) {
|
||||
ActivateCardAction action = new ActivateCardAction(self);
|
||||
action.appendCost(
|
||||
new ChooseArbitraryCardsEffect(playerId, "Choose card to play", game.getGameState().getHand(playerId), Filters.and(Culture.ROHAN, CardType.POSSESSION, ExtraFilters.attachableTo(game, self)), 1, 1) {
|
||||
@Override
|
||||
protected void cardsSelected(LotroGame game, Collection<PhysicalCard> selectedCards) {
|
||||
if (selectedCards.size() > 0) {
|
||||
PhysicalCard selectedCard = selectedCards.iterator().next();
|
||||
game.getActionsEnvironment().addActionToStack(PlayUtils.getPlayCardAction(game, selectedCard, 0, self, false));
|
||||
}
|
||||
}
|
||||
});
|
||||
action.appendEffect(
|
||||
new ChooseAndHealCharactersEffect(action, playerId, Culture.ROHAN, CardType.ALLY));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -1,57 +0,0 @@
|
||||
package com.gempukku.lotro.cards.set5.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.ChooseActiveCardEffect;
|
||||
import com.gempukku.lotro.logic.effects.HealCharactersEffect;
|
||||
import com.gempukku.lotro.logic.effects.SelfDiscardEffect;
|
||||
import com.gempukku.lotro.logic.modifiers.StrengthModifier;
|
||||
import com.gempukku.lotro.logic.timing.PlayConditions;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Set: Battle of Helm's Deep
|
||||
* Side: Free
|
||||
* Culture: Rohan
|
||||
* Twilight Cost: 1
|
||||
* Type: Condition
|
||||
* Game Text: Plays to your support area. Skirmish: Discard this condition to make a mounted [ROHAN] Man strength +3
|
||||
* (and heal that Man if at a plains).
|
||||
*/
|
||||
public class Card5_094 extends AbstractPermanent {
|
||||
public Card5_094() {
|
||||
super(Side.FREE_PEOPLE, 1, CardType.CONDITION, Culture.ROHAN, "Thundering Host");
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<? extends ActivateCardAction> getPhaseActionsInPlay(final String playerId, LotroGame game, final PhysicalCard self) {
|
||||
if (PlayConditions.canUseFPCardDuringPhase(game, Phase.SKIRMISH, self)
|
||||
&& PlayConditions.canSelfDiscard(self, game)) {
|
||||
final ActivateCardAction action = new ActivateCardAction(self);
|
||||
action.appendCost(
|
||||
new SelfDiscardEffect(self));
|
||||
action.appendEffect(
|
||||
new ChooseActiveCardEffect(self, playerId, "Choose ROHAN Man", Culture.ROHAN, Race.MAN, Filters.mounted) {
|
||||
@Override
|
||||
protected void cardSelected(LotroGame game, PhysicalCard card) {
|
||||
boolean atPlains = game.getModifiersQuerying().hasKeyword(game, game.getGameState().getCurrentSite(), Keyword.PLAINS);
|
||||
action.insertEffect(
|
||||
new AddUntilEndOfPhaseModifierEffect(
|
||||
new StrengthModifier(self, Filters.sameCard(card), 3)));
|
||||
if (atPlains)
|
||||
action.appendEffect(
|
||||
new HealCharactersEffect(self, self.getOwner(), card));
|
||||
}
|
||||
});
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -1,58 +0,0 @@
|
||||
package com.gempukku.lotro.cards.set5.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.PlayUtils;
|
||||
import com.gempukku.lotro.logic.actions.ActivateCardAction;
|
||||
import com.gempukku.lotro.logic.cardtype.AbstractCompanion;
|
||||
import com.gempukku.lotro.logic.effects.ChooseArbitraryCardsEffect;
|
||||
import com.gempukku.lotro.logic.effects.HealCharactersEffect;
|
||||
import com.gempukku.lotro.logic.timing.ExtraFilters;
|
||||
import com.gempukku.lotro.logic.timing.PlayConditions;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Set: Battle of Helm's Deep
|
||||
* Side: Free
|
||||
* Culture: Rohan
|
||||
* Twilight Cost: 2
|
||||
* Type: Companion • Man
|
||||
* Strength: 6
|
||||
* Vitality: 3
|
||||
* Resistance: 6
|
||||
* Signet: Gandalf
|
||||
* Game Text: Valiant. Maneuver: Play a [ROHAN] possession on Eowyn to heal her.
|
||||
*/
|
||||
public class Card5_122 extends AbstractCompanion {
|
||||
public Card5_122() {
|
||||
super(2, 6, 3, 6, Culture.ROHAN, Race.MAN, Signet.GANDALF, Names.eowyn, "Daughter of Éomund", true);
|
||||
addKeyword(Keyword.VALIANT);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<? extends ActivateCardAction> getPhaseActionsInPlay(final String playerId, final LotroGame game, final PhysicalCard self) {
|
||||
if (PlayConditions.canUseFPCardDuringPhase(game, Phase.MANEUVER, self)
|
||||
&& PlayConditions.canPlayFromHand(playerId, game, Culture.ROHAN, CardType.POSSESSION, ExtraFilters.attachableTo(game, self))) {
|
||||
ActivateCardAction action = new ActivateCardAction(self);
|
||||
action.appendCost(
|
||||
new ChooseArbitraryCardsEffect(playerId, "Choose card to play", game.getGameState().getHand(playerId), Filters.and(Culture.ROHAN, CardType.POSSESSION, ExtraFilters.attachableTo(game, self)), 1, 1) {
|
||||
@Override
|
||||
protected void cardsSelected(LotroGame game, Collection<PhysicalCard> selectedCards) {
|
||||
if (selectedCards.size() > 0) {
|
||||
PhysicalCard selectedCard = selectedCards.iterator().next();
|
||||
game.getActionsEnvironment().addActionToStack(PlayUtils.getPlayCardAction(game, selectedCard, 0, self, false));
|
||||
}
|
||||
}
|
||||
});
|
||||
action.appendEffect(
|
||||
new HealCharactersEffect(self, self.getOwner(), self));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -25,17 +25,41 @@
|
||||
Fortification
|
||||
Support Area
|
||||
]
|
||||
/*requires: {
|
||||
|
||||
}
|
||||
effects: [
|
||||
{
|
||||
|
||||
}
|
||||
{
|
||||
|
||||
}
|
||||
]*/
|
||||
{
|
||||
type: activated
|
||||
phase: maneuver
|
||||
requires: {
|
||||
type: canSpot
|
||||
filter: culture(rohan),man
|
||||
count: 2
|
||||
}
|
||||
effect: [
|
||||
{
|
||||
type: choice
|
||||
texts: [
|
||||
Remove 2 tokens from a machine
|
||||
Take a {rohan} possession into hand from your discard pile
|
||||
]
|
||||
effects: [
|
||||
{
|
||||
type: removeTokens
|
||||
filter: choose(machine)
|
||||
count: 2
|
||||
}
|
||||
{
|
||||
type: putCardsFromDiscardIntoHand
|
||||
filter: choose(culture(rohan),possession)
|
||||
}
|
||||
]
|
||||
}
|
||||
{
|
||||
type: discard
|
||||
filter: self
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
gametext: <b>Fortification</b>. Plays to your support area.<br><b>Maneuver:</b> Spot 2 [rohan] Men to remove 2 tokens from a machine or to take a [rohan] possession into hand from your discard pile. Discard this condition.
|
||||
lore: Choose from these ere we go, and may they serve you well!'
|
||||
promotext: ""
|
||||
@@ -72,17 +96,27 @@
|
||||
Fortification
|
||||
Support Area
|
||||
]
|
||||
/*requires: {
|
||||
|
||||
}
|
||||
effects: [
|
||||
{
|
||||
|
||||
}
|
||||
{
|
||||
|
||||
}
|
||||
]*/
|
||||
{
|
||||
type: activated
|
||||
phase: maneuver
|
||||
requires: {
|
||||
type: canSpot
|
||||
filter: culture(rohan),man
|
||||
count: 2
|
||||
}
|
||||
effect: [
|
||||
{
|
||||
type: discard
|
||||
filter: choose(or(possession,machine))
|
||||
}
|
||||
{
|
||||
type: discard
|
||||
filter: self
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
gametext: <b>Fortification</b>. Plays to your support area.<br><b>Maneuver:</b> Spot 2 [rohan] Men to discard a possession or a machine. Discard this condition.
|
||||
lore: Here and there were clefts in the stone through which men could shoot.
|
||||
promotext: ""
|
||||
@@ -116,22 +150,30 @@
|
||||
culture: Rohan
|
||||
twilight: 1
|
||||
type: Ally
|
||||
allyHome: towers,4
|
||||
allyHome: two towers,4
|
||||
race: Man
|
||||
strength: 4
|
||||
vitality: 2
|
||||
keywords: Villager
|
||||
/*requires: {
|
||||
|
||||
}
|
||||
effects: [
|
||||
{
|
||||
|
||||
}
|
||||
{
|
||||
|
||||
}
|
||||
]*/
|
||||
{
|
||||
type: activated
|
||||
phase: fellowship
|
||||
cost: {
|
||||
type: exert
|
||||
filter: self
|
||||
}
|
||||
requires: {
|
||||
type: canSpot
|
||||
filter: valiant,man
|
||||
count: 2
|
||||
}
|
||||
effect: {
|
||||
type: playCardFromDiscard
|
||||
filter: choose(culture(rohan),possession)
|
||||
}
|
||||
}
|
||||
]
|
||||
gametext: <b>Villager</b>.<br><b>Fellowship:</b> Exert Ecglaf and spot 2 valiant Men to play a [rohan] possession from your discard pile.
|
||||
lore: Like many of the Rohirrim, Ecglaf no longer had a home awaiting his return.
|
||||
promotext: ""
|
||||
@@ -170,17 +212,37 @@
|
||||
vitality: 3
|
||||
resistance: 6
|
||||
keywords: Valiant
|
||||
/*requires: {
|
||||
|
||||
}
|
||||
effects: [
|
||||
{
|
||||
|
||||
}
|
||||
{
|
||||
|
||||
}
|
||||
]*/
|
||||
{
|
||||
type: toPlay
|
||||
requires: {
|
||||
type: canSpot
|
||||
filter: culture(rohan),man
|
||||
}
|
||||
}
|
||||
{
|
||||
type: activated
|
||||
phase: skirmish
|
||||
cost: {
|
||||
type: play
|
||||
filter: choose(culture(rohan),possession)
|
||||
on: self
|
||||
}
|
||||
effect: [
|
||||
{
|
||||
type: modifyStrength
|
||||
filter: self
|
||||
amount: 2
|
||||
}
|
||||
{
|
||||
type: addKeyword
|
||||
filter: self
|
||||
keyword: damage
|
||||
amount: 1
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
gametext: <b>Valiant</b>. To play, spot a [rohan] Man.<br><b>Skirmish:</b> Play a [rohan] possession on Gamling to make him strength +2 and <b>damage +1</b>.
|
||||
lore: He was one of Théoden's most trusted lieutenants.
|
||||
promotext: ""
|
||||
@@ -218,17 +280,6 @@
|
||||
vitality: 3
|
||||
resistance: 6
|
||||
keywords: Valiant
|
||||
/*requires: {
|
||||
|
||||
}
|
||||
effects: [
|
||||
{
|
||||
|
||||
}
|
||||
{
|
||||
|
||||
}
|
||||
]*/
|
||||
gametext: <b>Valiant</b>.
|
||||
lore: The king and the men of his household were in the Hornburg....
|
||||
promotext: ""
|
||||
@@ -262,20 +313,21 @@
|
||||
twilight: 3
|
||||
type: Event
|
||||
keywords: Fellowship
|
||||
/*requires: {
|
||||
|
||||
}
|
||||
effects: {
|
||||
type: event
|
||||
cost: {
|
||||
|
||||
type: exert
|
||||
filter: choose(name(Théoden))
|
||||
times: 2
|
||||
},
|
||||
effect: [
|
||||
{
|
||||
|
||||
type: heal
|
||||
filter: all(another,companion,signet(Théoden))
|
||||
times: 2
|
||||
}
|
||||
]
|
||||
}*/
|
||||
}
|
||||
gametext: <b>Fellowship:</b> Exert Théoden twice to heal every other companion with the Théoden signet twice.
|
||||
lore: The last host of the Eorlingas has ridden forth. It will not return without battle.'
|
||||
promotext: ""
|
||||
@@ -309,20 +361,24 @@
|
||||
twilight: 1
|
||||
type: Event
|
||||
keywords: Regroup
|
||||
/*requires: {
|
||||
|
||||
}
|
||||
effects: {
|
||||
type: event
|
||||
cost: {
|
||||
|
||||
requires: {
|
||||
type: canSpot
|
||||
filter: valiant,man
|
||||
count: 3
|
||||
},
|
||||
effect: [
|
||||
{
|
||||
|
||||
type: discard
|
||||
filter: choose(condition)
|
||||
count: 0-2
|
||||
}
|
||||
{
|
||||
type: liberateSite
|
||||
}
|
||||
]
|
||||
}*/
|
||||
}
|
||||
gametext: <b>Regroup:</b> Spot 3 valiant Men to discard up to 2 conditions and liberate a site.
|
||||
lore: Let us drive through such foes as are already between us and the fastness.'
|
||||
promotext: ""
|
||||
@@ -356,20 +412,23 @@
|
||||
twilight: 1
|
||||
type: Event
|
||||
keywords: Maneuver
|
||||
/*requires: {
|
||||
|
||||
}
|
||||
effects: {
|
||||
type: event
|
||||
cost: {
|
||||
|
||||
requires: {
|
||||
type: canSpot
|
||||
filter: valiant,man
|
||||
count: 3
|
||||
},
|
||||
effect: [
|
||||
{
|
||||
|
||||
type: addKeyword
|
||||
filter: choose(valiant,man)
|
||||
keyword: defender
|
||||
amount: 1
|
||||
until: regroup
|
||||
}
|
||||
]
|
||||
}*/
|
||||
}
|
||||
gametext: <b>Maneuver:</b> Spot 3 valiant Men to make one of those Men <b>defender +1</b> until the regroup phase.
|
||||
lore: We must draw all our forces now behind the walls.'
|
||||
promotext: ""
|
||||
@@ -406,17 +465,42 @@
|
||||
Fortification
|
||||
Support Area
|
||||
]
|
||||
/*requires: {
|
||||
|
||||
}
|
||||
effects: [
|
||||
{
|
||||
|
||||
}
|
||||
{
|
||||
|
||||
}
|
||||
]*/
|
||||
{
|
||||
type: activated
|
||||
phase: archery
|
||||
requires: {
|
||||
type: canSpot
|
||||
filter: culture(rohan),man
|
||||
count: 2
|
||||
}
|
||||
effect: [
|
||||
{
|
||||
type: choice
|
||||
texts: [
|
||||
Remove 2 tokens from a machine
|
||||
Make the minion archery total -3
|
||||
]
|
||||
effects: [
|
||||
{
|
||||
type: removeTokens
|
||||
filter: choose(machine)
|
||||
count: 2
|
||||
}
|
||||
{
|
||||
type: modifyArcheryTotal
|
||||
side: shadow
|
||||
amount: -3
|
||||
}
|
||||
]
|
||||
}
|
||||
{
|
||||
type: discard
|
||||
filter: self
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
gametext: <b>Fortification</b>. Plays to your support area.<br><b>Archery:</b> Spot 2 [rohan] Men to remove 2 tokens from a machine or to make the minion archery total -3. Discard this condition.
|
||||
lore: Upon the spur of rock from the cliff stood high walls of ancient stone.
|
||||
promotext: ""
|
||||
@@ -451,18 +535,27 @@
|
||||
type: Possession
|
||||
strength: 1
|
||||
itemclass: Ranged weapon
|
||||
#target: a [rohan] Man
|
||||
/*requires: {
|
||||
|
||||
}
|
||||
target: culture(rohan),man
|
||||
effects: [
|
||||
{
|
||||
|
||||
}
|
||||
{
|
||||
|
||||
}
|
||||
]*/
|
||||
{
|
||||
type: activated
|
||||
phase: archery
|
||||
cost: [
|
||||
{
|
||||
type: exert
|
||||
filter: bearer
|
||||
}
|
||||
{
|
||||
type: discard
|
||||
filter: self
|
||||
}
|
||||
]
|
||||
effect: {
|
||||
type: wound
|
||||
filter: choose(minion)
|
||||
}
|
||||
}
|
||||
]
|
||||
gametext: Bearer must be a [rohan] Man.<br><b>Archery:</b> Exert bearer and discard this possession to wound a minion.
|
||||
lore: The Rohirrim have good bowmen after their fashion, but there are too few here, too few.'
|
||||
promotext: ""
|
||||
@@ -496,18 +589,38 @@
|
||||
twilight: 1
|
||||
type: Possession
|
||||
itemclass: Helm
|
||||
#target: a [rohan] Man
|
||||
/*requires: {
|
||||
|
||||
}
|
||||
target: culture(rohan),man
|
||||
effects: [
|
||||
{
|
||||
|
||||
}
|
||||
{
|
||||
|
||||
}
|
||||
]*/
|
||||
{
|
||||
type: activated
|
||||
phase: skirmish
|
||||
cost: [
|
||||
{
|
||||
type: memorizeActive
|
||||
filter: bearer
|
||||
memory: bearer
|
||||
}
|
||||
{
|
||||
type: discard
|
||||
filter: self
|
||||
}
|
||||
]
|
||||
effect: {
|
||||
type: preventable
|
||||
player: shadow
|
||||
text: Would you like to exert a minion in skirmish to prevent cancelling skirmish involving {bearer}?
|
||||
cost: {
|
||||
type: exert
|
||||
player: shadow
|
||||
filter: choose(minion,inSkirmish)
|
||||
}
|
||||
effect: {
|
||||
type: cancelSkirmish
|
||||
filter: memory(bearer)
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
gametext: Bearer must be a [rohan] Man.<br><b>Skirmish:</b> Discard this possession to cancel a skirmish involving bearer. A minion in this skirmish may exert to prevent this.
|
||||
lore: The armory of Helm's Deep provided raiment of war for her defenders.
|
||||
promotext: ""
|
||||
@@ -545,17 +658,24 @@
|
||||
vitality: 3
|
||||
resistance: 6
|
||||
keywords: Valiant
|
||||
/*requires: {
|
||||
|
||||
}
|
||||
effects: [
|
||||
{
|
||||
|
||||
}
|
||||
{
|
||||
|
||||
}
|
||||
]*/
|
||||
{
|
||||
type: activated
|
||||
phase: regroup
|
||||
requires: {
|
||||
type: canSpot
|
||||
filter: culture(rohan),possession,canBeReturnedToHand
|
||||
}
|
||||
cost: {
|
||||
type: exert
|
||||
filter: self
|
||||
}
|
||||
effect: {
|
||||
type: returnToHand
|
||||
filter: choose(culture(rohan),possession)
|
||||
}
|
||||
}
|
||||
]
|
||||
gametext: <b>Valiant</b>.<br><b>Regroup:</b> Exert this companion and spot a [rohan] possession to return that possession to hand.
|
||||
lore: ...scouts rode out far ahead, passing like shadows in the folds of the land.
|
||||
promotext: ""
|
||||
@@ -589,18 +709,36 @@
|
||||
twilight: 1
|
||||
type: Possession
|
||||
itemclass: Shield
|
||||
#target: a [rohan] Man
|
||||
/*requires: {
|
||||
|
||||
}
|
||||
target: culture(rohan),man
|
||||
effects: [
|
||||
{
|
||||
|
||||
}
|
||||
{
|
||||
|
||||
}
|
||||
]*/
|
||||
{
|
||||
type: modifier
|
||||
modifier: {
|
||||
type: modifyArcheryTotal
|
||||
side: shadow
|
||||
amount: -1
|
||||
}
|
||||
}
|
||||
{
|
||||
type: activated
|
||||
phase: regroup
|
||||
cost: [
|
||||
{
|
||||
type: memorizeActive
|
||||
filter: bearer
|
||||
memory: bearer
|
||||
}
|
||||
{
|
||||
type: discard
|
||||
filter: self
|
||||
}
|
||||
]
|
||||
effect: {
|
||||
type: heal
|
||||
filter: memory(bearer)
|
||||
}
|
||||
}
|
||||
]
|
||||
gametext: Bearer must be a [rohan] Man.<br>The minion archery total is -1.<br><b>Regroup:</b> Discard this possession to heal bearer.
|
||||
lore: The Rohirrim carried round wooden shields, usable on foot and on horseback.
|
||||
promotext: ""
|
||||
@@ -634,22 +772,30 @@
|
||||
culture: Rohan
|
||||
twilight: 1
|
||||
type: Ally
|
||||
allyHome: towers,4
|
||||
allyHome: two towers,4
|
||||
race: Man
|
||||
strength: 4
|
||||
vitality: 2
|
||||
keywords: Villager
|
||||
/*requires: {
|
||||
|
||||
}
|
||||
effects: [
|
||||
{
|
||||
|
||||
}
|
||||
{
|
||||
|
||||
}
|
||||
]*/
|
||||
{
|
||||
type: activated
|
||||
phase: regroup
|
||||
cost: {
|
||||
type: exert
|
||||
filter: self
|
||||
}
|
||||
requires: {
|
||||
type: canSpot
|
||||
filter: valiant,man
|
||||
count: 5
|
||||
}
|
||||
effect: {
|
||||
type: discard
|
||||
filter: choose(minion)
|
||||
}
|
||||
}
|
||||
]
|
||||
gametext: <b>Villager</b>.<br><b>Regroup:</b> Exert Sigewulf and spot 5 valiant Men to discard a minion.
|
||||
lore: The courage of Sigewulf and other Rohirrim like him will not be forgotten.
|
||||
promotext: ""
|
||||
@@ -689,17 +835,21 @@
|
||||
signet: Gandalf
|
||||
resistance: 6
|
||||
keywords: Valiant
|
||||
/*requires: {
|
||||
|
||||
}
|
||||
effects: [
|
||||
{
|
||||
|
||||
}
|
||||
{
|
||||
|
||||
}
|
||||
]*/
|
||||
{
|
||||
type: activated
|
||||
phase: maneuver
|
||||
cost: {
|
||||
type: play
|
||||
filter: choose(culture(rohan),possession)
|
||||
on: self
|
||||
}
|
||||
effect: {
|
||||
type: heal
|
||||
filter: choose(culture(rohan),ally)
|
||||
}
|
||||
}
|
||||
]
|
||||
gametext: <b>Valiant</b>.<br><b>Maneuver:</b> Play a [rohan] possession on Théoden to heal a [rohan] ally.
|
||||
lore: You thought I remained in Meduseld bent like an old tree under winter snow.... But a west wind has shaken the boughs.'
|
||||
promotext: ""
|
||||
@@ -733,17 +883,35 @@
|
||||
twilight: 1
|
||||
type: Condition
|
||||
keywords: Support Area
|
||||
/*requires: {
|
||||
|
||||
}
|
||||
effects: [
|
||||
{
|
||||
|
||||
}
|
||||
{
|
||||
|
||||
}
|
||||
]*/
|
||||
{
|
||||
type: activated
|
||||
phase: skirmish
|
||||
cost: {
|
||||
type: discard
|
||||
filter: self
|
||||
}
|
||||
effect: [
|
||||
{
|
||||
type: modifyStrength
|
||||
filter: choose(mounted,culture(rohan),man)
|
||||
amount: 3
|
||||
memorize: chosenMan
|
||||
}
|
||||
{
|
||||
type: conditional
|
||||
requires: {
|
||||
type: location
|
||||
filter: plains
|
||||
}
|
||||
effect: {
|
||||
type: heal
|
||||
filter: memory(chosenMan)
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
gametext: Plays to your support area.<br><b>Skirmish:</b> Discard this condition to make a mounted [rohan] Man strength +3 (and heal that Man if at a plains).
|
||||
lore: ...with a rush like the sudden onset of a great wind the last host of Rohan rode thundering into the West.
|
||||
promotext: ""
|
||||
@@ -783,17 +951,21 @@
|
||||
signet: Gandalf
|
||||
resistance: 6
|
||||
keywords: Valiant
|
||||
/*requires: {
|
||||
|
||||
}
|
||||
effects: [
|
||||
{
|
||||
|
||||
}
|
||||
{
|
||||
|
||||
}
|
||||
]*/
|
||||
{
|
||||
type: activated
|
||||
phase: maneuver
|
||||
cost: {
|
||||
type: play
|
||||
filter: choose(culture(rohan),possession)
|
||||
on: self
|
||||
}
|
||||
effect: {
|
||||
type: heal
|
||||
filter: self
|
||||
}
|
||||
}
|
||||
]
|
||||
gametext: <b>Valiant</b>.<br><b>Maneuver:</b> Play a [rohan] possession on Éowyn to heal her.
|
||||
lore: Let the heralds announce to the folk that Lady Éowyn will lead them!'
|
||||
promotext: ""
|
||||
@@ -827,18 +999,38 @@
|
||||
twilight: 1
|
||||
type: Possession
|
||||
itemclass: Helm
|
||||
#target: a [rohan] Man
|
||||
/*requires: {
|
||||
|
||||
}
|
||||
target: culture(rohan),man
|
||||
effects: [
|
||||
{
|
||||
|
||||
}
|
||||
{
|
||||
|
||||
}
|
||||
]*/
|
||||
{
|
||||
type: activated
|
||||
phase: skirmish
|
||||
cost: [
|
||||
{
|
||||
type: memorizeActive
|
||||
filter: bearer
|
||||
memory: bearer
|
||||
}
|
||||
{
|
||||
type: discard
|
||||
filter: self
|
||||
}
|
||||
]
|
||||
effect: {
|
||||
type: preventable
|
||||
player: shadow
|
||||
text: Would you like to exert a minion in skirmish to prevent cancelling skirmish involving {bearer}?
|
||||
cost: {
|
||||
type: exert
|
||||
player: shadow
|
||||
filter: choose(minion,inSkirmish)
|
||||
}
|
||||
effect: {
|
||||
type: cancelSkirmish
|
||||
filter: memory(bearer)
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
gametext: Bearer must be a [rohan] Man.<br><b>Skirmish:</b> Discard this possession to cancel a skirmish involving bearer. A minion in this skirmish may exert to prevent this.
|
||||
lore: A helm split by an Uruk blade often still saves the rider who wears it.
|
||||
promotext: ""
|
||||
@@ -872,17 +1064,35 @@
|
||||
twilight: 1
|
||||
type: Condition
|
||||
keywords: Support Area
|
||||
/*requires: {
|
||||
|
||||
}
|
||||
effects: [
|
||||
{
|
||||
|
||||
}
|
||||
{
|
||||
|
||||
}
|
||||
]*/
|
||||
{
|
||||
type: activated
|
||||
phase: skirmish
|
||||
cost: {
|
||||
type: discard
|
||||
filter: self
|
||||
}
|
||||
effect: [
|
||||
{
|
||||
type: modifyStrength
|
||||
filter: choose(mounted,culture(rohan),man)
|
||||
amount: 3
|
||||
memorize: chosenMan
|
||||
}
|
||||
{
|
||||
type: conditional
|
||||
requires: {
|
||||
type: location
|
||||
filter: plains
|
||||
}
|
||||
effect: {
|
||||
type: heal
|
||||
filter: memory(chosenMan)
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
gametext: Plays to your support area.<br><b>Skirmish:</b> Discard this condition to make a mounted [rohan] Man strength +3 (and heal that Man if at a plains).
|
||||
lore: The roar of hooves was enough to rout the Uruk-hai without sword or spear.
|
||||
promotext: ""
|
||||
Reference in New Issue
Block a user