Migrated Gondor cards in set 10 to hjson

This commit is contained in:
MarcinSc
2024-05-16 19:37:33 +07:00
parent 3f38dcd424
commit 389fb38da3
11 changed files with 278 additions and 709 deletions

View File

@@ -1,59 +0,0 @@
package com.gempukku.lotro.cards.set10.gondor;
import com.gempukku.lotro.logic.cardtype.AbstractCompanion;
import com.gempukku.lotro.logic.timing.PlayConditions;
import com.gempukku.lotro.logic.timing.TriggerConditions;
import com.gempukku.lotro.logic.effects.choose.ChooseAndExertCharactersEffect;
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.OptionalTriggerAction;
import com.gempukku.lotro.logic.effects.ChooseAndHealCharactersEffect;
import com.gempukku.lotro.logic.timing.EffectResult;
import java.util.Collections;
import java.util.List;
/**
* Set: Mount Doom
* Side: Free
* Culture: Gondor
* Twilight Cost: 5
* Type: Companion • Man
* Strength: 9
* Vitality: 4
* Resistance: 6
* Signet: Frodo
* Game Text: When you play Aragorn, you may heal another companion. At the start of each fellowship phase, you may
* exert a companion of one culture to heal a companion of another culture.
*/
public class Card10_025 extends AbstractCompanion {
public Card10_025() {
super(5, 9, 4, 6, Culture.GONDOR, Race.MAN, Signet.FRODO, "Aragorn", "Elessar Telcontar", true);
}
@Override
public List<OptionalTriggerAction> getOptionalAfterTriggers(final String playerId, LotroGame game, EffectResult effectResult, PhysicalCard self) {
if (TriggerConditions.played(game, effectResult, self)) {
OptionalTriggerAction action = new OptionalTriggerAction(self);
action.appendEffect(
new ChooseAndHealCharactersEffect(action, playerId, Filters.not(self), CardType.COMPANION));
return Collections.singletonList(action);
}
if (TriggerConditions.startOfPhase(game, effectResult, Phase.FELLOWSHIP)
&& PlayConditions.canExert(self, game, CardType.COMPANION)) {
final OptionalTriggerAction action = new OptionalTriggerAction(self);
action.appendCost(
new ChooseAndExertCharactersEffect(action, playerId, 1, 1, CardType.COMPANION) {
@Override
protected void forEachCardExertedCallback(PhysicalCard character) {
action.appendEffect(
new ChooseAndHealCharactersEffect(action, playerId, 1, 1, CardType.COMPANION, Filters.not(character.getBlueprint().getCulture())));
}
});
return Collections.singletonList(action);
}
return null;
}
}

View File

@@ -1,77 +0,0 @@
package com.gempukku.lotro.cards.set10.gondor;
import com.gempukku.lotro.common.Culture;
import com.gempukku.lotro.common.Keyword;
import com.gempukku.lotro.common.Phase;
import com.gempukku.lotro.common.Race;
import com.gempukku.lotro.filters.Filters;
import com.gempukku.lotro.game.PhysicalCard;
import com.gempukku.lotro.game.state.LotroGame;
import com.gempukku.lotro.logic.actions.OptionalTriggerAction;
import com.gempukku.lotro.logic.actions.RequiredTriggerAction;
import com.gempukku.lotro.logic.cardtype.AbstractCompanion;
import com.gempukku.lotro.logic.effects.AddUntilStartOfPhaseModifierEffect;
import com.gempukku.lotro.logic.effects.SelfExertEffect;
import com.gempukku.lotro.logic.effects.choose.ChooseAndExertCharactersEffect;
import com.gempukku.lotro.logic.modifiers.AbstractExtraPlayCostModifier;
import com.gempukku.lotro.logic.modifiers.KeywordModifier;
import com.gempukku.lotro.logic.modifiers.cost.AddThreatExtraPlayCostModifier;
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: Mount Doom
* Side: Free
* Culture: Gondor
* Twilight Cost: 3
* Type: Companion • Wraith
* Strength: 7
* Vitality: 3
* Resistance: 6
* Game Text: Enduring. To play, add a threat. When you play Cursed of Erech, exert him twice. At the start of the
* maneuver phase, you may exert another [GONDOR] Wraith to make Cursed of Erech defender +1 until the regroup phase.
*/
public class Card10_026 extends AbstractCompanion {
public Card10_026() {
super(3, 7, 3, 6, Culture.GONDOR, Race.WRAITH, null, "Cursed of Erech", null, true);
addKeyword(Keyword.ENDURING);
}
@Override
public List<? extends AbstractExtraPlayCostModifier> getExtraCostToPlay(LotroGame game, PhysicalCard self) {
return Collections.singletonList(
new AddThreatExtraPlayCostModifier(self, 1, null, self));
}
@Override
public List<RequiredTriggerAction> getRequiredAfterTriggers(LotroGame game, EffectResult effectResult, PhysicalCard self) {
if (TriggerConditions.played(game, effectResult, self)) {
RequiredTriggerAction action = new RequiredTriggerAction(self);
action.appendEffect(
new SelfExertEffect(action, self));
action.appendEffect(
new SelfExertEffect(action, self));
return Collections.singletonList(action);
}
return null;
}
@Override
public List<OptionalTriggerAction> getOptionalAfterTriggers(String playerId, LotroGame game, EffectResult effectResult, PhysicalCard self) {
if (TriggerConditions.startOfPhase(game, effectResult, Phase.MANEUVER)
&& PlayConditions.canExert(self, game, Filters.not(self), Culture.GONDOR, Race.WRAITH)) {
OptionalTriggerAction action = new OptionalTriggerAction(self);
action.appendCost(
new ChooseAndExertCharactersEffect(action, playerId, 1, 1, Filters.not(self), Culture.GONDOR, Race.WRAITH));
action.appendEffect(
new AddUntilStartOfPhaseModifierEffect(
new KeywordModifier(self, self, Keyword.DEFENDER, 1), Phase.REGROUP));
return Collections.singletonList(action);
}
return null;
}
}

View File

@@ -1,54 +0,0 @@
package com.gempukku.lotro.cards.set10.gondor;
import com.gempukku.lotro.common.Culture;
import com.gempukku.lotro.common.Keyword;
import com.gempukku.lotro.common.Race;
import com.gempukku.lotro.game.PhysicalCard;
import com.gempukku.lotro.game.state.LotroGame;
import com.gempukku.lotro.logic.actions.RequiredTriggerAction;
import com.gempukku.lotro.logic.cardtype.AbstractCompanion;
import com.gempukku.lotro.logic.effects.SelfExertEffect;
import com.gempukku.lotro.logic.modifiers.AbstractExtraPlayCostModifier;
import com.gempukku.lotro.logic.modifiers.cost.AddThreatExtraPlayCostModifier;
import com.gempukku.lotro.logic.timing.EffectResult;
import com.gempukku.lotro.logic.timing.TriggerConditions;
import java.util.Collections;
import java.util.List;
/**
* Set: Mount Doom
* Side: Free
* Culture: Gondor
* Twilight Cost: 2
* Type: Companion • Wraith
* Strength: 6
* Vitality: 3
* Resistance: 6
* Game Text: Enduring. To play, add a threat. When you play this companion, exert him twice.
*/
public class Card10_027 extends AbstractCompanion {
public Card10_027() {
super(2, 6, 3, 6, Culture.GONDOR, Race.WRAITH, null, "Dead Man of Dunharrow");
addKeyword(Keyword.ENDURING);
}
@Override
public List<? extends AbstractExtraPlayCostModifier> getExtraCostToPlay(LotroGame game, PhysicalCard self) {
return Collections.singletonList(
new AddThreatExtraPlayCostModifier(self, 1, null, self));
}
@Override
public List<RequiredTriggerAction> getRequiredAfterTriggers(LotroGame game, EffectResult effectResult, PhysicalCard self) {
if (TriggerConditions.played(game, effectResult, self)) {
RequiredTriggerAction action = new RequiredTriggerAction(self);
action.appendEffect(
new SelfExertEffect(action, self));
action.appendEffect(
new SelfExertEffect(action, self));
return Collections.singletonList(action);
}
return null;
}
}

View File

@@ -1,67 +0,0 @@
package com.gempukku.lotro.cards.set10.gondor;
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.DrawCardsEffect;
import com.gempukku.lotro.logic.effects.OptionalEffect;
import com.gempukku.lotro.logic.effects.SelfExertEffect;
import com.gempukku.lotro.logic.effects.ShuffleDeckEffect;
import com.gempukku.lotro.logic.effects.choose.ChooseAndPutCardFromDeckIntoHandEffect;
import com.gempukku.lotro.logic.effects.choose.ChooseOpponentEffect;
import com.gempukku.lotro.logic.timing.PlayConditions;
import java.util.Collections;
import java.util.List;
/**
* Set: Mount Doom
* Side: Free
* Culture: Gondor
* Twilight Cost: 2
* Type: Companion • Man
* Strength: 8
* Vitality: 3
* Resistance: 6
* Signet: Aragorn
* Game Text: To play, spot 2 [GONDOR] Men. Fellowship: If at a sanctuary, exert Denethor to take a [GONDOR] card into
* hand from your draw deck, then reshuffle. Choose an opponent who may draw 2 cards.
*/
public class Card10_028 extends AbstractCompanion {
public Card10_028() {
super(2, 8, 3, 6, Culture.GONDOR, Race.MAN, Signet.ARAGORN, "Denethor", "Lord of Minas Tirith", true);
}
@Override
public boolean checkPlayRequirements(LotroGame game, PhysicalCard self) {
return PlayConditions.canSpot(game, 2, Culture.GONDOR, Race.MAN);
}
@Override
public List<? extends ActivateCardAction> getPhaseActionsInPlay(String playerId, LotroGame game, PhysicalCard self) {
if (PlayConditions.canUseFPCardDuringPhase(game, Phase.FELLOWSHIP, self)
&& PlayConditions.location(game, Keyword.SANCTUARY)
&& PlayConditions.canSelfExert(self, game)) {
final ActivateCardAction action = new ActivateCardAction(self);
action.appendCost(
new SelfExertEffect(action, self));
action.appendEffect(
new ChooseAndPutCardFromDeckIntoHandEffect(action, playerId, 1, 1, Culture.GONDOR));
action.appendEffect(
new ShuffleDeckEffect(playerId));
action.appendEffect(
new ChooseOpponentEffect(playerId) {
@Override
protected void opponentChosen(String opponentId) {
action.insertEffect(
new OptionalEffect(action, opponentId,
new DrawCardsEffect(action, opponentId, 2)));
}
});
return Collections.singletonList(action);
}
return null;
}
}

View File

@@ -1,67 +0,0 @@
package com.gempukku.lotro.cards.set10.gondor;
import com.gempukku.lotro.common.CardType;
import com.gempukku.lotro.common.Culture;
import com.gempukku.lotro.common.Phase;
import com.gempukku.lotro.common.Side;
import com.gempukku.lotro.game.PhysicalCard;
import com.gempukku.lotro.game.state.LotroGame;
import com.gempukku.lotro.logic.actions.PlayEventAction;
import com.gempukku.lotro.logic.cardtype.AbstractEvent;
import com.gempukku.lotro.logic.effects.*;
import com.gempukku.lotro.logic.effects.choose.ChooseOpponentEffect;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
/**
* Set: Mount Doom
* Side: Free
* Culture: Gondor
* Twilight Cost: 2
* Type: Event • Fellowship
* Game Text: For each [GONDOR] companion you spot, reveal 1 card at random from a Shadow player's hand. Choose
* a revealed Shadow card to be discarded, then its owner draws a card.
*/
public class Card10_029 extends AbstractEvent {
public Card10_029() {
super(Side.FREE_PEOPLE, 2, Culture.GONDOR, "Drawing His Eye", Phase.FELLOWSHIP);
}
@Override
public PlayEventAction getPlayEventCardAction(final String playerId, LotroGame game, final PhysicalCard self) {
final PlayEventAction action = new PlayEventAction(self);
action.appendEffect(
new ForEachYouSpotEffect(playerId, Culture.GONDOR, CardType.COMPANION) {
@Override
protected void spottedCards(final int spotCount) {
action.appendEffect(
new ChooseOpponentEffect(playerId) {
@Override
protected void opponentChosen(final String opponentId) {
action.appendEffect(
new RevealRandomCardsFromHandEffect(playerId, opponentId, self, spotCount) {
@Override
protected void cardsRevealed(List<PhysicalCard> revealedCards) {
action.appendEffect(
new ChooseArbitraryCardsEffect(playerId, "Choose card to discard", revealedCards, Side.SHADOW, 1, 1) {
@Override
protected void cardsSelected(LotroGame game, Collection<PhysicalCard> selectedCards) {
for (PhysicalCard selectedCard : selectedCards) {
action.appendEffect(
new DiscardCardsFromHandEffect(self, opponentId, Collections.singleton(selectedCard), true));
action.appendEffect(
new DrawCardsEffect(action, opponentId, 1));
}
}
});
}
});
}
});
}
});
return action;
}
}

View File

@@ -1,58 +0,0 @@
package com.gempukku.lotro.cards.set10.gondor;
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.ChoiceEffect;
import com.gempukku.lotro.logic.effects.ChooseAndWoundCharactersEffect;
import com.gempukku.lotro.logic.effects.choose.ChooseAndDiscardStackedCardsEffect;
import com.gempukku.lotro.logic.timing.Effect;
import com.gempukku.lotro.logic.timing.PlayConditions;
import java.util.LinkedList;
import java.util.List;
/**
* Set: Mount Doom
* Side: Free
* Culture: Gondor
* Twilight Cost: 1
* Type: Event • Maneuver
* Game Text: Spot a [GONDOR] Man to discard a stacked Shadow card or to wound a minion bearing a fortification.
*/
public class Card10_031 extends AbstractEvent {
public Card10_031() {
super(Side.FREE_PEOPLE, 1, Culture.GONDOR, "Every Little is a Gain", Phase.MANEUVER);
}
@Override
public boolean checkPlayRequirements(LotroGame game, PhysicalCard self) {
return PlayConditions.canSpot(game, Culture.GONDOR, Race.MAN);
}
@Override
public PlayEventAction getPlayEventCardAction(String playerId, LotroGame game, PhysicalCard self) {
PlayEventAction action = new PlayEventAction(self);
List<Effect> possibleEffects = new LinkedList<>();
possibleEffects.add(
new ChooseAndDiscardStackedCardsEffect(action, playerId, 1, 1, Filters.any, Side.SHADOW) {
@Override
public String getText(LotroGame game) {
return "Discard a stacked Shadow card";
}
});
possibleEffects.add(
new ChooseAndWoundCharactersEffect(action, playerId, 1, 1, CardType.MINION, Filters.hasAttached(Keyword.FORTIFICATION)) {
@Override
public String getText(LotroGame game) {
return "Wound a minion bearing a fortification";
}
});
action.appendEffect(
new ChoiceEffect(action, playerId, possibleEffects));
return action;
}
}

View File

@@ -1,83 +0,0 @@
package com.gempukku.lotro.cards.set10.gondor;
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.ChoiceEffect;
import com.gempukku.lotro.logic.effects.ChooseActiveCardEffect;
import com.gempukku.lotro.logic.effects.SpotEffect;
import com.gempukku.lotro.logic.effects.TransferPermanentEffect;
import com.gempukku.lotro.logic.effects.choose.ChooseAndExertCharactersEffect;
import com.gempukku.lotro.logic.modifiers.Modifier;
import com.gempukku.lotro.logic.modifiers.StrengthModifier;
import com.gempukku.lotro.logic.modifiers.evaluator.CountActiveEvaluator;
import com.gempukku.lotro.logic.modifiers.evaluator.NegativeEvaluator;
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: Mount Doom
* Side: Free
* Culture: Gondor
* Twilight Cost: 1
* Type: Condition • Support Area
* Game Text: Fortification. Bearer is strength -1 for each Fortification you can spot. Maneuver: Exert 2 [GONDOR] Men
* or spot 3 knights to transfer this condition to a minion.
*/
public class Card10_032 extends AbstractPermanent {
public Card10_032() {
super(Side.FREE_PEOPLE, 1, CardType.CONDITION, Culture.GONDOR, "Fifth Level");
addKeyword(Keyword.FORTIFICATION);
}
@Override
public List<? extends Modifier> getInPlayModifiers(LotroGame game, PhysicalCard self) {
return Collections.singletonList(
new StrengthModifier(self, Filters.hasAttached(self), null, new NegativeEvaluator(new CountActiveEvaluator(Keyword.FORTIFICATION))));
}
@Override
public List<? extends ActivateCardAction> getPhaseActionsInPlay(String playerId, LotroGame game, final PhysicalCard self) {
if (PlayConditions.canUseFPCardDuringPhase(game, Phase.MANEUVER, self)
&& (
PlayConditions.canExert(self, game, 1, 2, Culture.GONDOR, Race.MAN)
|| PlayConditions.canSpot(game, 3, Keyword.KNIGHT))) {
final ActivateCardAction action = new ActivateCardAction(self);
List<Effect> possibleCosts = new LinkedList<>();
possibleCosts.add(
new ChooseAndExertCharactersEffect(action, playerId, 2, 2, Culture.GONDOR, Race.MAN) {
@Override
public String getText(LotroGame game) {
return "Exert 2 GONDOR Men";
}
});
possibleCosts.add(
new SpotEffect(3, Keyword.KNIGHT) {
@Override
public String getText(LotroGame game) {
return "Spot 3 Knights";
}
});
action.appendCost(
new ChoiceEffect(action, playerId, possibleCosts));
action.appendEffect(
new ChooseActiveCardEffect(self, playerId, "Choose a minion", CardType.MINION) {
@Override
protected void cardSelected(LotroGame game, PhysicalCard card) {
action.insertEffect(
new TransferPermanentEffect(self, card));
}
});
return Collections.singletonList(action);
}
return null;
}
}

View File

@@ -1,47 +0,0 @@
package com.gempukku.lotro.cards.set10.gondor;
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.game.PhysicalCard;
import com.gempukku.lotro.game.state.LotroGame;
import com.gempukku.lotro.logic.actions.OptionalTriggerAction;
import com.gempukku.lotro.logic.cardtype.AbstractPermanent;
import com.gempukku.lotro.logic.effects.ChooseAndWoundCharactersEffect;
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: Mount Doom
* Side: Free
* Culture: Gondor
* Twilight Cost: 2
* Type: Condition • Support Area
* Game Text: To play, spot 2 [GONDOR] Men. Each time you lose initiative, you may wound a minion.
*/
public class Card10_033 extends AbstractPermanent {
public Card10_033() {
super(Side.FREE_PEOPLE, 2, CardType.CONDITION, Culture.GONDOR, "Hardy Garrison", null, true);
}
@Override
public boolean checkPlayRequirements(LotroGame game, PhysicalCard self) {
return PlayConditions.canSpot(game, 2, Culture.GONDOR, Race.MAN);
}
@Override
public List<OptionalTriggerAction> getOptionalAfterTriggers(String playerId, LotroGame game, EffectResult effectResult, PhysicalCard self) {
if (TriggerConditions.losesInitiative(effectResult, Side.FREE_PEOPLE)) {
OptionalTriggerAction action = new OptionalTriggerAction(self);
action.appendEffect(
new ChooseAndWoundCharactersEffect(action, playerId, 1, 1, CardType.MINION));
return Collections.singletonList(action);
}
return null;
}
}

View File

@@ -1,43 +0,0 @@
package com.gempukku.lotro.cards.set10.gondor;
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.AddUntilEndOfTurnModifierEffect;
import com.gempukku.lotro.logic.modifiers.MoveLimitModifier;
import com.gempukku.lotro.logic.timing.PlayConditions;
/**
* Set: Mount Doom
* Side: Free
* Culture: Gondor
* Twilight Cost: 5
* Type: Event • Regroup
* Game Text: If no opponent controls a site, spot 2 [GONDOR] Men to make the move limit +1 for this turn.
*/
public class Card10_034 extends AbstractEvent {
public Card10_034() {
super(Side.FREE_PEOPLE, 5, Culture.GONDOR, "Last Throw", Phase.REGROUP);
}
@Override
public boolean checkPlayRequirements(LotroGame game, PhysicalCard self) {
return !PlayConditions.canSpot(game, Filters.siteControlledByOtherPlayer(self.getOwner()))
&& PlayConditions.canSpot(game, 2, Culture.GONDOR, Race.MAN);
}
@Override
public PlayEventAction getPlayEventCardAction(String playerId, LotroGame game, PhysicalCard self) {
PlayEventAction action = new PlayEventAction(self);
action.appendEffect(
new AddUntilEndOfTurnModifierEffect(
new MoveLimitModifier(self, 1)));
return action;
}
}

View File

@@ -27,17 +27,37 @@
vitality: 4
signet: Frodo
resistance: 6
/*requires: {
}
effects: [
{
}
{
}
]*/
{
type: trigger
optional: true
trigger: {
type: played
filter: self
}
effect: {
type: heal
filter: choose(another,companion)
}
}
{
type: trigger
optional: true
trigger: {
type: startOfPhase
phase: fellowship
}
cost: {
type: exert
filter: choose(companion)
memorize: exertedCompanion
}
effect: {
type: heal
filter: choose(companion,not(cultureFromMemory(exertedCompanion)))
}
}
]
gametext: When you play Aragorn, you may heal another companion.<br>At the start of each fellowship phase, you may exert a companion of one culture to heal a companion of another culture.
lore: Now come the days of the King, and may they be blessed while the thrones of the Valar endure!'
promotext: ""
@@ -75,17 +95,45 @@
vitality: 3
resistance: 6
keywords: Enduring
/*requires: {
}
effects: [
{
}
{
}
]*/
{
type: extraCost
cost: {
type: addThreats
}
}
{
type: trigger
trigger: {
type: played
filter: self
}
effect: {
type: exert
filter: self
times: 2
}
}
{
type: trigger
optional: true
trigger: {
type: startOfPhase
phase: maneuver
}
cost: {
type: exert
filter: choose(another,culture(gondor),wraith)
}
effect: {
type: addKeyword
filter: self
keyword: defender
amount: 1
until: regroup
}
}
]
gametext: <b>Enduring</b>. To play, add a threat.<br>When you play Cursed of Erech, exert him twice.<br>At the start of the maneuver phase, you may exert another [gondor] Wraith to make Cursed of Erech <b>defender +1</b> until the regroup phase.
lore: ...a black dread fell on them....
promotext: ""
@@ -123,17 +171,26 @@
vitality: 3
resistance: 6
keywords: Enduring
/*requires: {
}
effects: [
{
}
{
}
]*/
{
type: extraCost
cost: {
type: addThreats
}
}
{
type: trigger
trigger: {
type: played
filter: self
}
effect: {
type: exert
filter: self
times: 2
}
}
]
gametext: <b>Enduring</b>. To play, add a threat.<br>When you play this companion, exert him twice.
lore: ...the Shadow Host pressed behind and fear went on before them....
promotext: ""
@@ -172,17 +229,47 @@
vitality: 3
signet: Aragorn
resistance: 6
/*requires: {
}
effects: [
{
}
{
}
]*/
{
type: toPlay
requires: {
type: canSpot
filter: culture(gondor),man
count: 2
}
}
{
type: activated
phase: fellowship
requires: {
type: location
filter: sanctuary
}
cost: {
type: exert
filter: self
}
effect: [
{
type: putCardsFromDeckIntoHand
filter: choose(culture(gondor))
}
{
type: shuffleDeck
}
{
type: optional
player: shadow
text: Would you like to draw 2 cards?
effect: {
type: drawCards
player: shadow
count: 2
}
}
]
}
]
gametext: To play, spot 2 [gondor] Men.<br><b>Fellowship:</b> If at a sanctuary, exert Denethor to take a [gondor] card into hand from your draw deck, then reshuffle. Choose an opponent who may draw 2 cards.
lore: There Denethor sat in a grey gloom, like an old patient spider....
promotext: ""
@@ -216,20 +303,33 @@
twilight: 2
type: Event
keywords: Fellowship
/*requires: {
}
*/
effects: {
type: event
cost: {
type: SendMessage
text: Placeholder effect for development.
},
effect: [
{
type: SendMessage
text: Placeholder effect for development.
type: chooseHowManyToSpot
filter: culture(gondor),companion
memorize: spotCount
}
{
type: revealCardsFromHand
hand: shadow
count: {
type: fromMemory
memory: spotCount
}
memorize: revealedCards
}
{
type: discardFromHand
forced: true
hand: shadow
player: you
filter: memory(revealedCards)
}
{
type: drawCards
player: shadow
}
]
}
@@ -266,20 +366,40 @@
twilight: 0
type: Event
keywords: Skirmish
/*requires: {
}
*/
effects: {
type: event
cost: {
type: SendMessage
text: Placeholder effect for development.
},
effect: [
{
type: SendMessage
text: Placeholder effect for development.
type: modifyStrength
filter: choose(exhausted,culture(gondor),companion)
amount: 2
memorize: exhaustedMan
}
{
type: addtrigger
optional: false
trigger: {
type: winsSkirmish
filter: memory(exhaustedMan)
}
effect: {
type: choice
texts: [
Heal this companion
Make this companion damage +1
]
effects: [
{
type: heal
filter: memory(exhaustedMan)
}
{
type: addKeyword
filter: memory(exhaustedMan)
keyword: damage+1
}
]
}
}
]
}
@@ -316,20 +436,29 @@
twilight: 1
type: Event
keywords: Maneuver
/*requires: {
}
*/
effects: {
type: event
cost: {
type: SendMessage
text: Placeholder effect for development.
},
requires: {
type: canSpot
filter: culture(gondor),man
}
effect: [
{
type: SendMessage
text: Placeholder effect for development.
type: choice
texts: [
Discard a stacked Shadow card
Wound a minion bearing fortification
]
effects: [
{
type: discardStackedCards
filter: choose(side(shadow))
}
{
type: wound
filter: choose(minion,hasAttached(fortification))
}
]
}
]
}
@@ -369,17 +498,48 @@
Fortification
Support Area
]
/*requires: {
}
effects: [
{
}
{
}
]*/
{
type: modifier
modifier: {
type: modifyStrength
filter: bearer
amount: {
type: forEachYouCanSpot
filter: fortification
multiplier: -1
}
}
}
{
type: activated
phase: maneuver
cost: {
type: choice
texts: [
Exert 2 {gondor} Men
Spot 3 knights
]
effects: [
{
type: exert
filter: choose(culture(gondor),man)
count: 2
}
{
type: spot
filter: knight
count: 3
}
]
}
effect: {
type: transfer
filter: self
where: choose(minion)
}
}
]
gametext: <b>Fortification</b>. Bearer is strength -1 for each fortification you can spot.<br><b>Maneuver:</b> Exert 2 [gondor] Men or spot 3 knights to transfer this condition to a minion.
lore: A strong citadel it was indeed....
promotext: ""
@@ -413,17 +573,28 @@
twilight: 2
type: Condition
keywords: Support Area
/*requires: {
}
effects: [
{
}
{
}
]*/
{
type: toPlay
requires: {
type: canSpot
filter: culture(gondor),man
count: 2
}
}
{
type: trigger
optional: true
trigger: {
type: losesInitiative
side: free people
}
effect: {
type: wound
filter: choose(minion)
}
}
]
gametext: To play, spot 2 [gondor] Men.<br>Each time you lose initiative, you may wound a minion.
lore: All before the walls on either side of the Gate the ground was choked with wreck and with bodies of the slain....
promotext: ""
@@ -457,20 +628,27 @@
twilight: 5
type: Event
keywords: Regroup
/*requires: {
}
*/
effects: {
type: event
cost: {
type: SendMessage
text: Placeholder effect for development.
},
requires: [
{
type: controlsSite
player: shadow
}
{
type: canSpot
filter: culture(gondor),man
count: 2
}
]
effect: [
{
type: SendMessage
text: Placeholder effect for development.
type: addModifier
modifier: {
type: modifyMoveLimit
amount: 1
}
until: endOfTurn
}
]
}

View File

@@ -1,54 +0,0 @@
{
10_30: {
title: End of the Game
side: free_people
culture: Gondor
type: event
twilight: 0
keyword: Skirmish
effects: {
type: event
cost: {
type: memorize
filter: inskirmish,exhausted,culture(gondor),companion
memory: exhaustedMan
}
effect: [
{
type: addmodifier
modifier: {
type: modifyStrength
filter: memory(exhaustedMan)
amount: 2
}
}
{
type: addtrigger
optional: false
trigger: {
type: winsSkirmish
filter: memory(exhaustedMan)
}
effect: {
type: choice
texts: [
Heal this companion
Make this companion damage +1
]
effects: [
{
type: heal
filter: choose(memory(exhaustedMan))
}
{
type: addKeyword
filter: choose(memory(exhaustedMan))
keyword: damage+1
}
]
}
}
]
}
}
}