Migrated Rohan cards in set 5 to hjson

This commit is contained in:
MarcinSc
2024-04-22 12:11:14 +07:00
parent 94f2bdae47
commit 846e68f1e7
18 changed files with 397 additions and 1064 deletions

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -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: ""