Migrated Shire cards in set 8 to hjson

This commit is contained in:
MarcinSc
2024-05-14 16:57:44 +07:00
parent 57e7963777
commit 4204f800e1
11 changed files with 225 additions and 655 deletions

View File

@@ -1,49 +0,0 @@
package com.gempukku.lotro.cards.set8.shire;
import com.gempukku.lotro.common.*;
import com.gempukku.lotro.filters.Filters;
import com.gempukku.lotro.game.PhysicalCard;
import com.gempukku.lotro.game.state.LotroGame;
import com.gempukku.lotro.logic.actions.ActivateCardAction;
import com.gempukku.lotro.logic.cardtype.AbstractPermanent;
import com.gempukku.lotro.logic.effects.AddBurdenEffect;
import com.gempukku.lotro.logic.effects.PutCardsFromHandBeneathDrawDeckEffect;
import com.gempukku.lotro.logic.effects.RevealCardsFromYourHandEffect;
import com.gempukku.lotro.logic.effects.choose.ChooseAndExertCharactersEffect;
import com.gempukku.lotro.logic.timing.PlayConditions;
import java.util.Collections;
import java.util.List;
/**
* Set: Siege of Gondor
* Side: Free
* Culture: Shire
* Twilight Cost: 0
* Type: Condition • Support Area
* Game Text: Regroup: Exert an unbound Hobbit and add a burden to reveal your hand. Place each Free Peoples card
* revealed this way beneath your draw deck.
*/
public class Card8_109 extends AbstractPermanent {
public Card8_109() {
super(Side.FREE_PEOPLE, 0, CardType.CONDITION, Culture.SHIRE, "Closer and Closer He Bent");
}
@Override
public List<? extends ActivateCardAction> getPhaseActionsInPlay(String playerId, LotroGame game, PhysicalCard self) {
if (PlayConditions.canUseFPCardDuringPhase(game, Phase.REGROUP, self)
&& PlayConditions.canExert(self, game, Filters.unboundCompanion, Race.HOBBIT)) {
ActivateCardAction action = new ActivateCardAction(self);
action.appendCost(
new ChooseAndExertCharactersEffect(action, playerId, 1, 1, Filters.unboundCompanion, Race.HOBBIT));
action.appendCost(
new AddBurdenEffect(self.getOwner(), self, 1));
action.appendEffect(
new RevealCardsFromYourHandEffect(self, playerId, game.getGameState().getHand(playerId)));
action.appendEffect(
new PutCardsFromHandBeneathDrawDeckEffect(action, playerId, true, Side.FREE_PEOPLE));
return Collections.singletonList(action);
}
return null;
}
}

View File

@@ -1,70 +0,0 @@
package com.gempukku.lotro.cards.set8.shire;
import com.gempukku.lotro.common.*;
import com.gempukku.lotro.filters.Filters;
import com.gempukku.lotro.game.PhysicalCard;
import com.gempukku.lotro.game.state.LotroGame;
import com.gempukku.lotro.logic.actions.ActivateCardAction;
import com.gempukku.lotro.logic.actions.RequiredTriggerAction;
import com.gempukku.lotro.logic.cardtype.AbstractPermanent;
import com.gempukku.lotro.logic.effects.ChooseAndDiscardCardsFromHandEffect;
import com.gempukku.lotro.logic.effects.ForEachYouSpotEffect;
import com.gempukku.lotro.logic.effects.RemoveTwilightEffect;
import com.gempukku.lotro.logic.effects.SelfDiscardEffect;
import com.gempukku.lotro.logic.timing.EffectResult;
import com.gempukku.lotro.logic.timing.PlayConditions;
import com.gempukku.lotro.logic.timing.TriggerConditions;
import java.util.Collections;
import java.util.List;
/**
* Set: Siege of Gondor
* Side: Free
* Culture: Shire
* Twilight Cost: 0
* Type: Condition • Support Area
* Game Text: When the fellowship moves from site 4K, remove (1) for each Ring-bound companion you spot.
* Regroup: Discard a card from hand for each Ring-bound companion you spot. Discard this condition.
*/
public class Card8_110 extends AbstractPermanent {
public Card8_110() {
super(Side.FREE_PEOPLE, 0, CardType.CONDITION, Culture.SHIRE, "Morgai Foothills", null, true);
}
@Override
public List<RequiredTriggerAction> getRequiredAfterTriggers(LotroGame game, EffectResult effectResult, PhysicalCard self) {
if (TriggerConditions.movesFrom(game, effectResult, Filters.siteBlock(SitesBlock.KING), Filters.siteNumber(4))) {
final RequiredTriggerAction action = new RequiredTriggerAction(self);
action.appendEffect(
new ForEachYouSpotEffect(game.getGameState().getCurrentPlayerId(), CardType.COMPANION, Keyword.RING_BOUND) {
@Override
protected void spottedCards(int spotCount) {
action.insertEffect(
new RemoveTwilightEffect(spotCount));
}
});
return Collections.singletonList(action);
}
return null;
}
@Override
public List<? extends ActivateCardAction> getPhaseActionsInPlay(final String playerId, LotroGame game, final PhysicalCard self) {
if (PlayConditions.canUseShadowCardDuringPhase(game, Phase.REGROUP, self, 0)) {
final ActivateCardAction action = new ActivateCardAction(self);
action.appendEffect(
new ForEachYouSpotEffect(game.getGameState().getCurrentPlayerId(), CardType.COMPANION, Keyword.RING_BOUND) {
@Override
protected void spottedCards(int spotCount) {
action.insertEffect(
new ChooseAndDiscardCardsFromHandEffect(action, playerId, false, spotCount));
action.appendEffect(
new SelfDiscardEffect(self));
}
});
return Collections.singletonList(action);
}
return null;
}
}

View File

@@ -1,52 +0,0 @@
package com.gempukku.lotro.cards.set8.shire;
import com.gempukku.lotro.common.Culture;
import com.gempukku.lotro.common.Phase;
import com.gempukku.lotro.common.Race;
import com.gempukku.lotro.common.Side;
import com.gempukku.lotro.filters.Filters;
import com.gempukku.lotro.game.PhysicalCard;
import com.gempukku.lotro.game.state.LotroGame;
import com.gempukku.lotro.logic.actions.PlayEventAction;
import com.gempukku.lotro.logic.cardtype.AbstractEvent;
import com.gempukku.lotro.logic.effects.AddThreatsEffect;
import com.gempukku.lotro.logic.effects.ForEachYouSpotEffect;
import com.gempukku.lotro.logic.effects.choose.ChooseAndAddUntilEOPStrengthBonusEffect;
import com.gempukku.lotro.logic.timing.PlayConditions;
/**
* Set: Siege of Gondor
* Side: Free
* Culture: Shire
* Twilight Cost: 1
* Type: Event • Skirmish
* Game Text: If the Shadow has initiative, add a threat to make an unbound Hobbit strength +1 for each [SHIRE] card
* you spot.
*/
public class Card8_111 extends AbstractEvent {
public Card8_111() {
super(Side.FREE_PEOPLE, 1, Culture.SHIRE, "So Fair, So Desperate", Phase.SKIRMISH);
}
@Override
public boolean checkPlayRequirements(LotroGame game, PhysicalCard self) {
return PlayConditions.hasInitiative(game, Side.SHADOW)
&& PlayConditions.canAddThreat(game, self, 1);
}
@Override
public PlayEventAction getPlayEventCardAction(final String playerId, LotroGame game, final PhysicalCard self) {
final PlayEventAction action = new PlayEventAction(self);
action.appendCost(
new AddThreatsEffect(playerId, self, 1));
action.appendEffect(
new ForEachYouSpotEffect(playerId, Culture.SHIRE) {
@Override
protected void spottedCards(int spotCount) {
action.appendEffect(
new ChooseAndAddUntilEOPStrengthBonusEffect(action, self, playerId, spotCount, Filters.unboundCompanion, Race.HOBBIT));
}
});
return action;
}
}

View File

@@ -1,67 +0,0 @@
package com.gempukku.lotro.cards.set8.shire;
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.AddTokenEffect;
import com.gempukku.lotro.logic.effects.AddUntilEndOfPhaseModifierEffect;
import com.gempukku.lotro.logic.effects.ChooseActiveCardEffect;
import com.gempukku.lotro.logic.effects.RemoveTokenEffect;
import com.gempukku.lotro.logic.effects.choose.ChooseAndExertCharactersEffect;
import com.gempukku.lotro.logic.modifiers.OverwhelmedByMultiplierModifier;
import com.gempukku.lotro.logic.timing.PlayConditions;
import java.util.Collections;
import java.util.List;
/**
* Set: Siege of Gondor
* Side: Free
* Culture: Shire
* Twilight Cost: 1
* Type: Condition • Support Area
* Game Text: Fellowship: Exert a [SHIRE] companion and either a [ROHAN] companion or a [GANDALF] companion to add a
* [SHIRE] token here. Skirmish: Remove a [SHIRE] token here to prevent an unbound companion from being overwhelmed
* unless his or her strength is tripled.
*/
public class Card8_112 extends AbstractPermanent {
public Card8_112() {
super(Side.FREE_PEOPLE, 1, CardType.CONDITION, Culture.SHIRE, "Song of the Shire");
}
@Override
public List<? extends ActivateCardAction> getPhaseActionsInPlay(String playerId, LotroGame game, final PhysicalCard self) {
if (PlayConditions.canUseFPCardDuringPhase(game, Phase.FELLOWSHIP, self)
&& PlayConditions.canExert(self, game, Culture.SHIRE, CardType.COMPANION)
&& PlayConditions.canExert(self, game, CardType.COMPANION, Filters.or(Culture.ROHAN, Culture.GANDALF))) {
ActivateCardAction action = new ActivateCardAction(self);
action.appendCost(
new ChooseAndExertCharactersEffect(action, playerId, 1, 1, Culture.SHIRE, CardType.COMPANION));
action.appendCost(
new ChooseAndExertCharactersEffect(action, playerId, 1, 1, CardType.COMPANION, Filters.or(Culture.ROHAN, Culture.GANDALF)));
action.appendEffect(
new AddTokenEffect(self, self, Token.SHIRE));
return Collections.singletonList(action);
}
if (PlayConditions.canUseFPCardDuringPhase(game, Phase.SKIRMISH, self)
&& PlayConditions.canRemoveTokens(game, self, Token.SHIRE, 1)) {
final ActivateCardAction action = new ActivateCardAction(self);
action.appendCost(
new RemoveTokenEffect(self, self, Token.SHIRE));
action.appendEffect(
new ChooseActiveCardEffect(self, playerId, "Choose unbound companion", Filters.unboundCompanion) {
@Override
protected void cardSelected(LotroGame game, PhysicalCard card) {
action.insertEffect(
new AddUntilEndOfPhaseModifierEffect(
new OverwhelmedByMultiplierModifier(self, card, 3)));
}
});
return Collections.singletonList(action);
}
return null;
}
}

View File

@@ -1,55 +0,0 @@
package com.gempukku.lotro.cards.set8.shire;
import com.gempukku.lotro.common.CardType;
import com.gempukku.lotro.common.Culture;
import com.gempukku.lotro.common.Filterable;
import com.gempukku.lotro.common.PossessionClass;
import com.gempukku.lotro.filters.Filters;
import com.gempukku.lotro.game.PhysicalCard;
import com.gempukku.lotro.game.state.LotroGame;
import com.gempukku.lotro.logic.actions.ActivateCardAction;
import com.gempukku.lotro.logic.cardtype.AbstractAttachableFPPossession;
import com.gempukku.lotro.logic.effects.AddThreatsEffect;
import com.gempukku.lotro.logic.effects.choose.ChooseAndDiscardCardsFromPlayEffect;
import com.gempukku.lotro.logic.timing.EffectResult;
import com.gempukku.lotro.logic.timing.PlayConditions;
import java.util.Collections;
import java.util.List;
/**
* Set: Siege of Gondor
* Side: Free
* Culture: Shire
* Twilight Cost: 1
* Type: Possession • Hand Weapon
* Strength: +2
* Game Text: Bearer must be Frodo or Sam. Response: If a fierce skirmish involving bearer is about to end, add a threat
* to discard a minion involved in that skirmish.
*/
public class Card8_113 extends AbstractAttachableFPPossession {
public Card8_113() {
super(1, 2, 0, Culture.SHIRE, PossessionClass.HAND_WEAPON, "Sting", "Bane of the Eight Legs", true);
}
@Override
public Filterable getValidTargetFilter(String playerId, LotroGame game, PhysicalCard self) {
return Filters.or(Filters.frodo, Filters.sam);
}
@Override
public List<? extends ActivateCardAction> getOptionalInPlayAfterActions(String playerId, LotroGame game, EffectResult effectResult, PhysicalCard self) {
if (effectResult.getType() == EffectResult.Type.SKIRMISH_ABOUT_TO_END
&& Filters.inSkirmish.accepts(game, self.getAttachedTo())
&& PlayConditions.canAddThreat(game, self, 1)
&& game.getGameState().isFierceSkirmishes()) {
ActivateCardAction action = new ActivateCardAction(self);
action.appendCost(
new AddThreatsEffect(playerId, self, 1));
action.appendEffect(
new ChooseAndDiscardCardsFromPlayEffect(action, playerId, 1, 1, CardType.MINION, Filters.inSkirmish));
return Collections.singletonList(action);
}
return null;
}
}

View File

@@ -1,47 +0,0 @@
package com.gempukku.lotro.cards.set8.shire;
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.ForEachYouSpotEffect;
import com.gempukku.lotro.logic.effects.RemoveTwilightEffect;
import com.gempukku.lotro.logic.effects.choose.ChooseAndExertCharactersEffect;
import com.gempukku.lotro.logic.timing.PlayConditions;
/**
* Set: Siege of Gondor
* Side: Free
* Culture: Shire
* Twilight Cost: 0
* Type: Event • Regroup
* Game Text: Exert Frodo to remove (1) for each Frodo signet you spot.
*/
public class Card8_114 extends AbstractEvent {
public Card8_114() {
super(Side.FREE_PEOPLE, 0, Culture.SHIRE, "Straining Towards Us", Phase.REGROUP);
}
@Override
public boolean checkPlayRequirements(LotroGame game, PhysicalCard self) {
return PlayConditions.canExert(self, game, Filters.frodo);
}
@Override
public PlayEventAction getPlayEventCardAction(String playerId, LotroGame game, PhysicalCard self) {
final PlayEventAction action = new PlayEventAction(self);
action.appendCost(
new ChooseAndExertCharactersEffect(action, playerId, 1, 1, Filters.frodo));
action.appendEffect(
new ForEachYouSpotEffect(playerId, CardType.COMPANION, Signet.FRODO) {
@Override
protected void spottedCards(int spotCount) {
action.appendEffect(
new RemoveTwilightEffect(spotCount));
}
});
return action;
}
}

View File

@@ -1,54 +0,0 @@
package com.gempukku.lotro.cards.set8.shire;
import com.gempukku.lotro.common.CardType;
import com.gempukku.lotro.common.Culture;
import com.gempukku.lotro.common.Race;
import com.gempukku.lotro.common.Side;
import com.gempukku.lotro.filters.Filters;
import com.gempukku.lotro.game.PhysicalCard;
import com.gempukku.lotro.game.state.LotroGame;
import com.gempukku.lotro.logic.GameUtils;
import com.gempukku.lotro.logic.PlayUtils;
import com.gempukku.lotro.logic.actions.PlayEventAction;
import com.gempukku.lotro.logic.cardtype.AbstractResponseEvent;
import com.gempukku.lotro.logic.effects.ChooseAndWoundCharactersEffect;
import com.gempukku.lotro.logic.effects.choose.ChooseAndExertCharactersEffect;
import com.gempukku.lotro.logic.timing.EffectResult;
import com.gempukku.lotro.logic.timing.PlayConditions;
import com.gempukku.lotro.logic.timing.TriggerConditions;
import com.gempukku.lotro.logic.timing.results.ExertResult;
import java.util.Collections;
import java.util.List;
/**
* Set: Siege of Gondor
* Side: Free
* Culture: Shire
* Twilight Cost: 0
* Type: Event • Response
* Game Text: If a minion exerts, exert an unbound Hobbit to wound that minion.
*/
public class Card8_115 extends AbstractResponseEvent {
public Card8_115() {
super(Side.FREE_PEOPLE, 0, Culture.SHIRE, "Unheeded");
}
@Override
public List<PlayEventAction> getPlayResponseEventAfterActions(String playerId, LotroGame game, EffectResult effectResult, PhysicalCard self) {
if (TriggerConditions.forEachExerted(game, effectResult, CardType.MINION)
&& PlayConditions.canExert(self, game, Filters.unboundCompanion, Race.HOBBIT)
&& PlayUtils.checkPlayRequirements(game, self, Filters.any, 0, 0, false, false)) {
ExertResult exertResult = (ExertResult) effectResult;
PlayEventAction action = new PlayEventAction(self);
final PhysicalCard exertedCard = exertResult.getExertedCard();
action.setText("Wound " + GameUtils.getFullName(exertedCard));
action.appendCost(
new ChooseAndExertCharactersEffect(action, playerId, 1, 1, Filters.unboundCompanion, Race.HOBBIT));
action.appendEffect(
new ChooseAndWoundCharactersEffect(action, playerId, 1, 1, exertedCard));
return Collections.singletonList(action);
}
return null;
}
}

View File

@@ -1,51 +0,0 @@
package com.gempukku.lotro.cards.set8.shire;
import com.gempukku.lotro.common.Culture;
import com.gempukku.lotro.common.Phase;
import com.gempukku.lotro.common.Race;
import com.gempukku.lotro.common.Side;
import com.gempukku.lotro.filters.Filters;
import com.gempukku.lotro.game.PhysicalCard;
import com.gempukku.lotro.game.state.LotroGame;
import com.gempukku.lotro.logic.PlayUtils;
import com.gempukku.lotro.logic.actions.PlayEventAction;
import com.gempukku.lotro.logic.cardtype.AbstractResponseEvent;
import com.gempukku.lotro.logic.effects.choose.ChooseAndExertCharactersEffect;
import com.gempukku.lotro.logic.effects.choose.ChooseAndPutCardFromDiscardOnTopOfDeckEffect;
import com.gempukku.lotro.logic.timing.EffectResult;
import com.gempukku.lotro.logic.timing.PlayConditions;
import com.gempukku.lotro.logic.timing.TriggerConditions;
import java.util.Collections;
import java.util.List;
/**
* Set: Siege of Gondor
* Side: Free
* Culture: Shire
* Twilight Cost: 0
* Type: Event • Response
* Game Text: If the fellowship moves during the regroup phase, exert an unbound Hobbit to place a Shadow card from your
* discard pile on top of your draw deck.
*/
public class Card8_116 extends AbstractResponseEvent {
public Card8_116() {
super(Side.FREE_PEOPLE, 0, Culture.SHIRE, "We Shall Meet Again Soon");
}
@Override
public List<PlayEventAction> getPlayResponseEventAfterActions(String playerId, LotroGame game, EffectResult effectResult, PhysicalCard self) {
if (TriggerConditions.moves(game, effectResult)
&& PlayUtils.checkPlayRequirements(game, self, Filters.any, 0, 0, false, false)
&& game.getGameState().getCurrentPhase() == Phase.REGROUP
&& PlayConditions.canExert(self, game, Filters.unboundCompanion, Race.HOBBIT)) {
PlayEventAction action = new PlayEventAction(self);
action.appendCost(
new ChooseAndExertCharactersEffect(action, playerId, 1, 1, Filters.unboundCompanion, Race.HOBBIT));
action.appendEffect(
new ChooseAndPutCardFromDiscardOnTopOfDeckEffect(action, playerId, 1, 1, Side.SHADOW));
return Collections.singletonList(action);
}
return null;
}
}

View File

@@ -1,60 +0,0 @@
package com.gempukku.lotro.cards.set8.shire;
import com.gempukku.lotro.common.*;
import com.gempukku.lotro.filters.Filters;
import com.gempukku.lotro.game.PhysicalCard;
import com.gempukku.lotro.game.state.LotroGame;
import com.gempukku.lotro.logic.actions.ActivateCardAction;
import com.gempukku.lotro.logic.cardtype.AbstractCompanion;
import com.gempukku.lotro.logic.effects.AddUntilEndOfPhaseModifierEffect;
import com.gempukku.lotro.logic.effects.ChooseAndDiscardCardsFromHandEffect;
import com.gempukku.lotro.logic.effects.ForEachYouSpotEffect;
import com.gempukku.lotro.logic.modifiers.StrengthModifier;
import com.gempukku.lotro.logic.timing.PlayConditions;
import java.util.Collections;
import java.util.List;
/**
* Set: Siege of Gondor
* Side: Free
* Culture: Shire
* Twilight Cost: 2
* Type: Companion • Hobbit
* Strength: 5
* Vitality: 4
* Resistance: 6
* Signet: Frodo
* Game Text: To play, spot a [ROHAN] companion. Skirmish: Discard 4 cards from hand to make Merry strength +2 for each
* [ROHAN] companion you spot.
*/
public class Card8_121 extends AbstractCompanion {
public Card8_121() {
super(2, 5, 4, 6, Culture.SHIRE, Race.HOBBIT, Signet.FRODO, "Merry", "Noble Warrior", true);
}
@Override
public boolean checkPlayRequirements(LotroGame game, PhysicalCard self) {
return PlayConditions.canSpot(game, Culture.ROHAN, CardType.COMPANION);
}
public List<? extends ActivateCardAction> getPhaseActionsInPlay(String playerId, LotroGame game, final PhysicalCard self) {
if (PlayConditions.canUseFPCardDuringPhase(game, Phase.SKIRMISH, self)
&& PlayConditions.canDiscardFromHand(game, playerId, 4, Filters.any)) {
final ActivateCardAction action = new ActivateCardAction(self);
action.appendCost(
new ChooseAndDiscardCardsFromHandEffect(action, playerId, false, 4));
action.appendEffect(
new ForEachYouSpotEffect(playerId, Culture.ROHAN, CardType.COMPANION) {
@Override
protected void spottedCards(int spotCount) {
action.insertEffect(
new AddUntilEndOfPhaseModifierEffect(
new StrengthModifier(self, self, 2 * spotCount)));
}
});
return Collections.singletonList(action);
}
return null;
}
}

View File

@@ -1,52 +0,0 @@
package com.gempukku.lotro.cards.set8.shire;
import com.gempukku.lotro.common.*;
import com.gempukku.lotro.filters.Filters;
import com.gempukku.lotro.game.PhysicalCard;
import com.gempukku.lotro.game.state.LotroGame;
import com.gempukku.lotro.logic.actions.ActivateCardAction;
import com.gempukku.lotro.logic.cardtype.AbstractCompanion;
import com.gempukku.lotro.logic.effects.ChooseAndDiscardCardsFromHandEffect;
import com.gempukku.lotro.logic.effects.ChooseAndWoundCharactersEffect;
import com.gempukku.lotro.logic.timing.PlayConditions;
import java.util.Collections;
import java.util.List;
/**
* Set: Siege of Gondor
* Side: Free
* Culture: Shire
* Twilight Cost: 2
* Type: Companion • Hobbit
* Strength: 5
* Vitality: 4
* Resistance: 6
* Signet: Frodo
* Game Text: To play, spot a [GONDOR] Man. Skirmish: Discard 4 cards from hand to wound a minion Pippin is skirmishing
* twice if that minion bears a fortification.
*/
public class Card8_122 extends AbstractCompanion {
public Card8_122() {
super(2, 5, 4, 6, Culture.SHIRE, Race.HOBBIT, Signet.FRODO, "Pippin", "Guard of Minas Tirith", true);
}
@Override
public boolean checkPlayRequirements(LotroGame game, PhysicalCard self) {
return PlayConditions.canSpot(game, Culture.GONDOR, 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.canDiscardFromHand(game, playerId, 4, Filters.any)) {
final ActivateCardAction action = new ActivateCardAction(self);
action.appendCost(
new ChooseAndDiscardCardsFromHandEffect(action, playerId, false, 4));
action.appendEffect(
new ChooseAndWoundCharactersEffect(action, playerId, 1, 1, 2, CardType.MINION, Filters.inSkirmishAgainst(self), Filters.hasAttached(Keyword.FORTIFICATION)));
return Collections.singletonList(action);
}
return null;
}
}

View File

@@ -22,17 +22,31 @@
twilight: 0
type: Condition
keywords: Support Area
/*requires: {
}
effects: [
{
}
{
}
]*/
{
type: activated
phase: regroup
cost: [
{
type: exert
filter: choose(unbound,hobbit)
}
{
type: addBurdens
}
]
effect: [
{
type: revealHand
hand: free people
}
{
type: putCardsFromHandOnBottomOfDeck
filter: all(side(free people))
}
]
}
]
gametext: <b>Regroup:</b> Exert an unbound Hobbit and add a burden to reveal your hand. Place each Free Peoples card revealed this way beneath your draw deck.
lore: Pippin sat with his knees drawn up and the ball between them. He bent low over it, looking like a greedy child stooping over a bowl of food.
promotext: ""
@@ -66,17 +80,52 @@
twilight: 0
type: Condition
keywords: Support Area
/*requires: {
}
effects: [
{
}
{
}
]*/
{
type: trigger
trigger: {
type: movesFrom
filter: siteBlock(king),siteNumber(4)
}
effect: [
{
type: chooseHowManyToSpot
filter: ringBound,companion
memorize: spotCount
}
{
type: removeTwilight
amount: {
type: fromMemory
memory: spotCount
}
}
]
}
{
type: activated
phase: regroup
effect: [
{
type: discardFromHand
forced: false
filter: self
count: {
type: range
from: 0
to: {
type: forEachYouCanSpot
filter: ringBound,companion
}
}
}
{
type: discard
filter: self
}
]
}
]
gametext: When the fellowship moves from site 4[K], remove (1) for each Ring-bound companion you spot.<br><b>Regroup:</b> Discard a card from hand for each Ring-bound companion you spot. Discard this condition.
lore: ""
promotext: ""
@@ -110,20 +159,28 @@
twilight: 1
type: Event
keywords: Skirmish
/*requires: {
}
*/
effects: {
type: event
requires: {
type: haveInitiative
side: shadow
}
cost: {
type: SendMessage
text: Placeholder effect for development.
},
type: addThreats
}
effect: [
{
type: SendMessage
text: Placeholder effect for development.
type: chooseHowManyToSpot
filter: culture(shire)
memorize: spotCount
}
{
type: modifyStrength
filter: choose(unbound,hobbit)
amount: {
type: fromMemory
memory: spotCount
}
}
]
}
@@ -160,17 +217,41 @@
twilight: 1
type: Condition
keywords: Support Area
/*requires: {
}
effects: [
{
}
{
}
]*/
{
type: activated
phase: fellowship
cost: [
{
type: exert
filter: choose(culture(shire),companion)
}
{
type: exert
filter: choose(or(culture(rohan),culture(gandalf)),companion)
}
]
effect: {
type: addTokens
culture: shire
filter: self
}
}
{
type: activated
phase: skirmish
cost: {
type: removeTokens
culture: shire
filter: self
}
effect: {
type: alterOverwhelmMultiplier
filter: choose(unbound,companion)
multiplier: 3
}
}
]
gametext: <b>Fellowship:</b> Exert a [shire] companion and either a [rohan] companion or a [gandalf] companion to add a [shire] token here.<br><b>Skirmish:</b> Remove a [shire] token here to prevent an unbound companion from being overwhelmed unless his or her strength is tripled.
lore: ""
promotext: ""
@@ -206,18 +287,26 @@
type: Possession
strength: 2
itemclass: Hand weapon
#target: title(Frodo or Sam)
/*requires: {
}
target: or(title(Frodo),title(Sam))
effects: [
{
}
{
}
]*/
{
type: activatedTrigger
trigger: {
type: skirmishAboutToEnd
involving: bearer
}
requires: {
type: fierceSkirmish
}
cost: {
type: addThreats
}
effect: {
type: discard
filter: choose(minion,inSkirmish)
}
}
]
gametext: Bearer must be Frodo or Sam.<br><b>Response:</b> If a fierce skirmish involving bearer is about to end, add a threat to discard a minion involved in that skirmish.
lore: No such anguish had Shelob ever known, or dreamed of knowing....
promotext: ""
@@ -251,20 +340,24 @@
twilight: 0
type: Event
keywords: Regroup
/*requires: {
}
*/
effects: {
type: event
cost: {
type: SendMessage
text: Placeholder effect for development.
type: exert
filter: choose(name(Frodo))
},
effect: [
{
type: SendMessage
text: Placeholder effect for development.
type: chooseHowManyToSpot
filter: signet(Frodo)
memorize: spotCount
}
{
type: removeTwilight
amount: {
type: fromMemory
memory: spotCount
}
}
]
}
@@ -301,26 +394,25 @@
twilight: 0
type: Event
keywords: Response
/*requires: {
}
*/
effects: {
type: responseEvent
trigger: {
type: exerts
filter: minion
memorize: exertedMinion
}
text: Wound {exertedMinion}
cost: {
type: SendMessage
text: Placeholder effect for development.
type: exert
filter: choose(unbound,hobbit)
}
effect: [
{
type: SendMessage
text: Placeholder effect for development.
type: wound
filter: memory(exertedMinion)
}
]
]
}
gametext: If a minion exerts, exert an unbound Hobbit to wound that minion.
lore: ...and passing up beneath the hauberk had pierced the sinew behind his mighty knee.
promotext: ""
@@ -354,26 +446,26 @@
twilight: 0
type: Event
keywords: Response
/*requires: {
}
*/
effects: {
type: responseEvent
trigger: {
type: moves
}
requires: {
type: phase
phase: regroup
}
cost: {
type: SendMessage
text: Placeholder effect for development.
type: exert
filter: choose(unbound,hobbit)
}
effect: [
{
type: SendMessage
text: Placeholder effect for development.
type: putCardsFromDiscardOnTopOfDeck
filter: choose(side(shadow))
}
]
]
}
gametext: If the fellowship moves during the regroup phase, exert an unbound Hobbit to place a Shadow card from your discard pile on top of your draw deck.
lore: He said: Who are you?" I still did not answer, but it hurt me horribly; and he pressed me, so I said: "A hobbit."'"
promotext: ""
@@ -412,17 +504,40 @@
vitality: 4
signet: Frodo
resistance: 6
/*requires: {
}
effects: [
{
}
{
}
]*/
{
type: toPlay
requires: {
type: canSpot
filter: culture(rohan),companion
}
}
{
type: activated
phase: skirmish
cost: {
type: discardFromHand
forced: false
count: 4
}
effect: [
{
type: chooseHowManyToSpot
filter: culture(rohan),companion
memorize: spotCount
}
{
type: modifyStrength
filter: self
amount: {
type: fromMemory
memory: spotCount
multiplier: 2
}
}
]
}
]
gametext: To play, spot a [rohan] companion.<br><b>Skirmish:</b> Discard 4 cards from hand to make Merry strength +2 for each [rohan] companion you spot.
lore: King's man! King's man!' his heart cried within him.
promotext: ""
@@ -461,17 +576,29 @@
vitality: 4
signet: Frodo
resistance: 6
/*requires: {
}
effects: [
{
}
{
}
]*/
{
type: toPlay
requires: {
type: canSpot
filter: culture(gondor),man
}
}
{
type: activated
phase: skirmish
cost: {
type: discardFromHand
forced: false
count: 4
}
effect: {
type: wound
filter: choose(minion,inSkirmishAgainst(self),hasAttached(fortification))
times: 2
}
}
]
gametext: To play, spot a [gondor] Man.<br><b>Skirmish:</b> Discard 4 cards from hand to wound a minion Pippin is skirmishing twice if that minion bears a fortification.
lore: You're in the service of the Steward of Gondor now. You'll do as you're told.'
promotext: ""