Some FotR cards

This commit is contained in:
marcin.sciesinski
2019-09-24 22:05:00 -07:00
parent 953c003dd0
commit e95394a092
16 changed files with 352 additions and 626 deletions

View File

@@ -712,5 +712,351 @@
}
}
]
},
"1_226": {
"title": "Their Power Is In Terror",
"culture": "wraith",
"cost": 0,
"type": "event",
"keyword": "maneuver",
"effects": {
"type": "event",
"cost": {
"type": "exert",
"filter": "choose(nazgul)"
},
"effect": {
"type": "wound",
"filter": "all(ally)"
}
}
},
"1_227": {
"title": "Threshold of Shadow",
"culture": "wraith",
"cost": 1,
"type": "event",
"keyword": "skirmish",
"effects": {
"type": "event",
"effect": {
"type": "modifyStrength",
"filter": "choose(nazgul)",
"amount": {
"type": "condition",
"condition": {
"type": "canSpotBurdens",
"amount": 5
},
"true": 4,
"false": 2
}
}
}
},
"1_228": {
"title": "The Twilight World",
"culture": "wraith",
"cost": 0,
"type": "event",
"keyword": "response",
"effects": {
"type": "responseEvent",
"trigger": {
"type": "putsOnRing"
},
"cost": {
"type": "exert",
"filter": "choose(nazgul)"
},
"effect": {
"type": "addBurdens",
"amount": 2
}
}
},
"1_229": {
"title": "*Úlairë Attëa",
"subtitle": "Keeper of Dol Guldur",
"culture": "wraith",
"cost": 6,
"type": "minion",
"race": "nazgul",
"strength": 12,
"vitality": 3,
"site": 3,
"keyword": "fierce",
"effects": {
"type": "activated",
"phase": "skirmish",
"cost": {
"type": "removeTwilight"
},
"effect": {
"type": "conditional",
"condition": {
"type": "perPhaseLimit",
"limit": 5
},
"effect": [
{
"type": "incrementPerPhaseLimit",
"limit": 5
},
{
"type": "modifyStrength",
"filter": "self",
"amount": 1
}
]
}
}
},
"1_230": {
"title": "*Úlairë Cantëa",
"subtitle": "Lieutenant of Dol Guldur",
"culture": "wraith",
"cost": 5,
"type": "minion",
"race": "nazgul",
"strength": 10,
"vitality": 3,
"site": 3,
"keyword": "fierce",
"effects": {
"type": "activated",
"phase": "skirmish",
"cost": {
"type": "exert",
"filter": "self"
},
"effect": {
"type": "discard",
"filter": "choose(weapon,attachedTo(character,inSkirmishAgainst(self)))"
}
}
},
"1_231": {
"title": "*Úlairë Enquëa",
"subtitle": "Lieutenant of Morgul",
"culture": "wraith",
"cost": 6,
"type": "minion",
"race": "nazgul",
"strength": 11,
"vitality": 4,
"site": 3,
"keyword": "fierce",
"condition": {
"type": "or",
"condition": [
{
"type": "canSpot",
"count": 6,
"filter": "companion"
},
{
"type": "canSpotBurdens",
"amount": 5
}
]
},
"effects": {
"type": "activated",
"phase": "maneuver",
"cost": {
"type": "exert",
"filter": "self"
},
"effect": {
"type": "wound",
"filter": "choose(companion,not(ring bearer))"
}
}
},
"1_232": {
"title": "*Úlairë Lemenya",
"subtitle": "Lieutenant of Morgul",
"culture": "wraith",
"cost": 4,
"type": "minion",
"race": "nazgul",
"strength": 9,
"vitality": 2,
"site": 3,
"effects": {
"type": "modifier",
"modifier": {
"type": "modifyStrength",
"filter": "or(companion,ally),hasAttached(culture(wraith),condition)",
"amount": -2
}
}
},
"1_233": {
"title": "*Úlairë Nelya",
"subtitle": "Lieutenant of Morgul",
"culture": "wraith",
"cost": 5,
"type": "minion",
"race": "nazgul",
"strength": 10,
"vitality": 3,
"site": 2,
"keyword": "fierce",
"effects": {
"type": "activated",
"phase": "shadow",
"cost": [
{
"type": "exert",
"filter": "self"
},
{
"type": "spot",
"filter": "choose(not(your),site)",
"memorize": "spottedSite"
}
],
"effect": {
"type": "playSite",
"block": "fellowship",
"number": {
"type": "siteNumberInMemory",
"memory": "spottedSite"
}
}
}
},
"1_234": {
"title": "*Úlairë Nertëa",
"subtitle": "Messenger of Dol Guldur",
"culture": "wraith",
"cost": 4,
"type": "minion",
"race": "nazgul",
"strength": 9,
"vitality": 2,
"site": 3,
"effects": {
"type": "trigger",
"trigger": {
"type": "played",
"filter": "self"
},
"effect": {
"type": "duplicate",
"amount": {
"type": "forEachYouCanSpot",
"filter": "companion",
"over": 4
},
"effect": {
"type": "optional",
"text": "Would you like to play minion from your discard?",
"effect": {
"type": "playCardFromDiscard",
"filter": "choose(minion)"
}
}
}
}
},
"1_235": {
"title": "*Úlairë Otsëa",
"subtitle": "Lieutenant of Morgul",
"culture": "wraith",
"cost": 4,
"type": "minion",
"race": "nazgul",
"strength": 9,
"vitality": 3,
"site": 3,
"effects": {
"type": "activated",
"phase": "shadow",
"cost": {
"type": "exert",
"filter": "self"
},
"effect": {
"type": "addKeyword",
"filter": "choose(culture(wraith),minion)",
"keyword": "fierce",
"until": "start(regroup)"
}
}
},
"1_236": {
"title": "*Úlairë Toldëa",
"subtitle": "Messenger of Morgul",
"culture": "wraith",
"cost": 6,
"type": "minion",
"race": "nazgul",
"strength": 12,
"vitality": 3,
"site": 3,
"keyword": "fierce",
"effects": {
"type": "activated",
"phase": "assignment",
"condition": {
"type": "canSpotBurdens",
"amount": 4
},
"effect": {
"type": "assignFpCharacterToSkirmish",
"fpCharacter": "choose(companion,not(ring bearer))",
"against": "self"
}
}
},
"1_237": {
"title": "The Witch-king",
"subtitle": "Lord of Angmar",
"culture": "wraith",
"cost": 8,
"type": "minion",
"race": "nazgul",
"strength": 14,
"vitality": 4,
"site": 3,
"keyword": "fierce",
"effects": {
"type": "modifier",
"modifier": {
"type": "modifyStrength",
"filter": "self",
"amount": {
"type": "forEachYouCanSpot",
"filter": "another,nazgul",
"multiplier": 2
}
}
}
},
"1_238": {
"title": "Wreathed in Shadow",
"culture": "wraith",
"cost": 0,
"type": "condition",
"condition": {
"type": "canSpot",
"filter": "nazgul"
},
"keyword": "support area",
"effects": {
"type": "activated",
"phase": "archery",
"cost": {
"type": "removeTwilight"
},
"effect": {
"type": "modifyArcheryTotal",
"side": "free people",
"amount": -1
}
}
}
}

View File

@@ -1,39 +0,0 @@
package com.gempukku.lotro.cards.set1.wraith;
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.WoundCharactersEffect;
import com.gempukku.lotro.logic.effects.choose.ChooseAndExertCharactersEffect;
import com.gempukku.lotro.logic.timing.PlayConditions;
/**
* Set: The Fellowship of the Ring
* Side: Shadow
* Culture: Wraith
* Twilight Cost: 0
* Type: Event
* Game Text: Maneuver: Exert a Nazgul to wound every ally.
*/
public class Card1_226 extends AbstractEvent {
public Card1_226() {
super(Side.SHADOW, 0, Culture.WRAITH, "Their Power Is in Terror", Phase.MANEUVER);
}
@Override
public boolean checkPlayRequirements(LotroGame game, PhysicalCard self) {
return PlayConditions.canExert(self, game, Race.NAZGUL);
}
@Override
public PlayEventAction getPlayEventCardAction(String playerId, LotroGame game, PhysicalCard self) {
PlayEventAction action = new PlayEventAction(self);
action.appendCost(
new ChooseAndExertCharactersEffect(action, playerId, 1, 1, Race.NAZGUL));
action.appendEffect(
new WoundCharactersEffect(self, CardType.ALLY));
return action;
}
}

View File

@@ -1,44 +0,0 @@
package com.gempukku.lotro.cards.set1.wraith;
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.AddUntilEndOfPhaseModifierEffect;
import com.gempukku.lotro.logic.effects.ChooseActiveCardEffect;
import com.gempukku.lotro.logic.modifiers.StrengthModifier;
/**
* Set: The Fellowship of the Ring
* Side: Shadow
* Culture: Wraith
* Twilight Cost: 1
* Type: Event
* Game Text: Skirmish: Make a Nazgul strength +2 (or +4 if you spot 5 burdens).
*/
public class Card1_227 extends AbstractEvent {
public Card1_227() {
super(Side.SHADOW, 1, Culture.WRAITH, "Threshold of Shadow", Phase.SKIRMISH);
}
@Override
public PlayEventAction getPlayEventCardAction(String playerId, final LotroGame game, final PhysicalCard self) {
final PlayEventAction action = new PlayEventAction(self);
action.appendEffect(
new ChooseActiveCardEffect(self, playerId, "Choose a Nazgul", Race.NAZGUL) {
@Override
protected void cardSelected(LotroGame game, PhysicalCard nazgul) {
int bonus = (game.getGameState().getBurdens() >= 5) ? 4 : 2;
action.appendEffect(
new AddUntilEndOfPhaseModifierEffect(
new StrengthModifier(self, Filters.sameCard(nazgul), bonus)));
}
});
return action;
}
}

View File

@@ -1,47 +0,0 @@
package com.gempukku.lotro.cards.set1.wraith;
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.PlayUtils;
import com.gempukku.lotro.logic.actions.PlayEventAction;
import com.gempukku.lotro.logic.cardtype.AbstractResponseEvent;
import com.gempukku.lotro.logic.effects.AddBurdenEffect;
import com.gempukku.lotro.logic.effects.choose.ChooseAndExertCharactersEffect;
import com.gempukku.lotro.logic.timing.EffectResult;
import com.gempukku.lotro.logic.timing.PlayConditions;
import java.util.Collections;
import java.util.List;
/**
* Set: The Fellowship of the Ring
* Side: Shadow
* Culture: Wraith
* Twilight Cost: 0
* Type: Event
* Game Text: Response: If Ring-bearer puts on The One Ring, exert a Nazgul to add 2 burdens.
*/
public class Card1_228 extends AbstractResponseEvent {
public Card1_228() {
super(Side.SHADOW, 0, Culture.WRAITH, "The Twilight World");
}
@Override
public List<PlayEventAction> getOptionalInHandAfterActions(String playerId, LotroGame game, EffectResult effectResult, PhysicalCard self) {
if (effectResult.getType() == EffectResult.Type.PUT_ON_THE_ONE_RING
&& PlayUtils.checkPlayRequirements(game, self, Filters.any, 0, 0, false, false)
&& PlayConditions.canExert(self, game, Race.NAZGUL)) {
PlayEventAction action = new PlayEventAction(self);
action.appendCost(
new ChooseAndExertCharactersEffect(action, playerId, 1, 1, Race.NAZGUL));
action.appendEffect(
new AddBurdenEffect(self.getOwner(), self, 2));
return Collections.singletonList(action);
}
return null;
}
}

View File

@@ -1,48 +0,0 @@
package com.gempukku.lotro.cards.set1.wraith;
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.AbstractMinion;
import com.gempukku.lotro.logic.effects.AddUntilEndOfPhaseModifierEffect;
import com.gempukku.lotro.logic.effects.RemoveTwilightEffect;
import com.gempukku.lotro.logic.modifiers.StrengthModifier;
import com.gempukku.lotro.logic.modifiers.evaluator.CardPhaseLimitEvaluator;
import com.gempukku.lotro.logic.modifiers.evaluator.ConstantEvaluator;
import com.gempukku.lotro.logic.timing.PlayConditions;
import java.util.Collections;
import java.util.List;
/**
* Set: The Fellowship of the Ring
* Side: Shadow
* Culture: Wraith
* Twilight Cost: 6
* Type: Minion • Nazgul
* Strength: 12
* Vitality: 3
* Site: 3
* Game Text: Fierce. Skirmish: Remove (1) to make Úlairë Attëa strength +1 (limit +5).
*/
public class Card1_229 extends AbstractMinion {
public Card1_229() {
super(6, 12, 3, 3, Race.NAZGUL, Culture.WRAITH, Names.attea, "Keeper of Dol Guldur", true);
addKeyword(Keyword.FIERCE);
}
@Override
public List<? extends ActivateCardAction> getPhaseActionsInPlay(String playerId, LotroGame game, final PhysicalCard self) {
if (PlayConditions.canUseShadowCardDuringPhase(game, Phase.SKIRMISH, self, 1)) {
ActivateCardAction action = new ActivateCardAction(self);
action.appendCost(new RemoveTwilightEffect(1));
action.appendEffect(
new AddUntilEndOfPhaseModifierEffect(
new StrengthModifier(self, self, null,
new CardPhaseLimitEvaluator(game, self, Phase.SKIRMISH, 5, new ConstantEvaluator(1)))));
return Collections.singletonList(action);
}
return null;
}
}

View File

@@ -1,50 +0,0 @@
package com.gempukku.lotro.cards.set1.wraith;
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.game.state.Skirmish;
import com.gempukku.lotro.logic.actions.ActivateCardAction;
import com.gempukku.lotro.logic.cardtype.AbstractMinion;
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: The Fellowship of the Ring
* Side: Shadow
* Culture: Wraith
* Twilight Cost: 5
* Type: Minion • Nazgul
* Strength: 10
* Vitality: 3
* Site: 3
* Game Text: Fierce. Skirmish: Exert Úlairë Cantëa to discard a weapon borne by a character he is skirmishing.
*/
public class Card1_230 extends AbstractMinion {
public Card1_230() {
super(5, 10, 3, 3, Race.NAZGUL, Culture.WRAITH, Names.cantea, "Lieutenant of Dol Guldur", true);
addKeyword(Keyword.FIERCE);
}
@Override
public List<? extends ActivateCardAction> getPhaseActionsInPlay(String playerId, LotroGame game, final PhysicalCard self) {
if (PlayConditions.canUseShadowCardDuringPhase(game, Phase.SKIRMISH, self, 0)
&& PlayConditions.canExert(self, game, self)) {
final ActivateCardAction action = new ActivateCardAction(self);
action.appendCost(
new SelfExertEffect(action, self));
Skirmish skirmish = game.getGameState().getSkirmish();
if (skirmish != null && skirmish.getShadowCharacters().contains(self)) {
action.appendEffect(
new ChooseAndDiscardCardsFromPlayEffect(action, playerId, 1, 1, Filters.weapon, Filters.attachedTo(Filters.sameCard(skirmish.getFellowshipCharacter()))));
}
return Collections.singletonList(action);
}
return null;
}
}

View File

@@ -1,48 +0,0 @@
package com.gempukku.lotro.cards.set1.wraith;
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.AbstractMinion;
import com.gempukku.lotro.logic.effects.ChooseAndWoundCharactersEffect;
import com.gempukku.lotro.logic.effects.SelfExertEffect;
import com.gempukku.lotro.logic.timing.PlayConditions;
import java.util.Collections;
import java.util.List;
/**
* Set: The Fellowship of the Ring
* Side: Shadow
* Culture: Wraith
* Twilight Cost: 6
* Type: Minion • Nazgul
* Strength: 11
* Vitality: 4
* Site: 3
* Game Text: Fierce. Maneuver: Spot 6 companions (or 5 burdens) and exert Úlairë Enquëa to wound a companion (except
* the Ring-bearer).
*/
public class Card1_231 extends AbstractMinion {
public Card1_231() {
super(6, 11, 4, 3, Race.NAZGUL, Culture.WRAITH, Names.enquea, "Lieutenant of Morgul", true);
addKeyword(Keyword.FIERCE);
}
@Override
public List<? extends ActivateCardAction> getPhaseActionsInPlay(final String playerId, LotroGame game, final PhysicalCard self) {
if (PlayConditions.canUseShadowCardDuringPhase(game, Phase.MANEUVER, self, 0)
&& PlayConditions.canSelfExert(self, game)
&& (PlayConditions.canSpotBurdens(game, 5) || PlayConditions.canSpot(game, 6, CardType.COMPANION))) {
final ActivateCardAction action = new ActivateCardAction(self);
action.appendCost(
new SelfExertEffect(action, self));
action.appendEffect(
new ChooseAndWoundCharactersEffect(action, playerId, 1, 1, CardType.COMPANION, Filters.not(Filters.ringBearer)));
return Collections.singletonList(action);
}
return null;
}
}

View File

@@ -1,49 +0,0 @@
package com.gempukku.lotro.cards.set1.wraith;
import com.gempukku.lotro.common.CardType;
import com.gempukku.lotro.common.Culture;
import com.gempukku.lotro.common.Names;
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.cardtype.AbstractMinion;
import com.gempukku.lotro.logic.modifiers.Modifier;
import com.gempukku.lotro.logic.modifiers.StrengthModifier;
import java.util.Collections;
import java.util.List;
/**
* Set: The Fellowship of the Ring
* Side: Shadow
* Culture: Wraith
* Twilight Cost: 4
* Type: Minion • Nazgul
* Strength: 9
* Vitality: 2
* Site: 3
* Game Text: Each companion or ally who bears a [WRAITH] condition is strength -2.
*/
public class Card1_232 extends AbstractMinion {
public Card1_232() {
super(4, 9, 2, 3, Race.NAZGUL, Culture.WRAITH, Names.lemenya, "Lieutenant of Morgul", true);
}
@Override
public List<? extends Modifier> getInPlayModifiers(LotroGame game, PhysicalCard self) {
return Collections.singletonList(new StrengthModifier(self,
Filters.and(
Filters.or(
CardType.ALLY,
CardType.COMPANION
),
Filters.hasAttached(
Filters.and(
Culture.WRAITH,
CardType.CONDITION
)
)
), -2));
}
}

View File

@@ -1,54 +0,0 @@
package com.gempukku.lotro.cards.set1.wraith;
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.AbstractMinion;
import com.gempukku.lotro.logic.effects.ChooseActiveCardEffect;
import com.gempukku.lotro.logic.effects.PlaySiteEffect;
import com.gempukku.lotro.logic.effects.SelfExertEffect;
import com.gempukku.lotro.logic.timing.PlayConditions;
import java.util.Collections;
import java.util.List;
/**
* Set: The Fellowship of the Ring
* Side: Shadow
* Culture: Wraith
* Twilight Cost: 5
* Type: Minion • Nazgul
* Strength: 10
* Vitality: 3
* Site: 2
* Game Text: Fierce. Shadow: Exert Úlairë Nelya and spot an opponent's site to replace it with your site of the same
* number.
*/
public class Card1_233 extends AbstractMinion {
public Card1_233() {
super(5, 10, 3, 2, Race.NAZGUL, Culture.WRAITH, Names.nelya, "Lieutenant of Morgul", true);
addKeyword(Keyword.FIERCE);
}
@Override
public List<? extends ActivateCardAction> getPhaseActionsInPlay(final String playerId, LotroGame game, PhysicalCard self) {
if (PlayConditions.canUseShadowCardDuringPhase(game, Phase.SHADOW, self, 0)
&& PlayConditions.canExert(self, game, self)
&& Filters.canSpot(game, CardType.SITE, Filters.not(Filters.owner(playerId)))) {
final ActivateCardAction action = new ActivateCardAction(self);
action.appendCost(
new SelfExertEffect(action, self));
action.appendEffect(
new ChooseActiveCardEffect(self, playerId, "Choose opponent's site", CardType.SITE, Filters.not(Filters.owner(playerId))) {
@Override
protected void cardSelected(LotroGame game, PhysicalCard site) {
action.appendEffect(new PlaySiteEffect(action, playerId, SitesBlock.FELLOWSHIP, site.getSiteNumber()));
}
});
return Collections.singletonList(action);
}
return null;
}
}

View File

@@ -1,60 +0,0 @@
package com.gempukku.lotro.cards.set1.wraith;
import com.gempukku.lotro.logic.cardtype.AbstractMinion;
import com.gempukku.lotro.logic.timing.PlayConditions;
import com.gempukku.lotro.logic.timing.TriggerConditions;
import com.gempukku.lotro.logic.effects.OptionalEffect;
import com.gempukku.lotro.logic.effects.choose.ChooseAndPlayCardFromDiscardEffect;
import com.gempukku.lotro.common.CardType;
import com.gempukku.lotro.common.Culture;
import com.gempukku.lotro.common.Names;
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.timing.EffectResult;
import java.util.Collections;
import java.util.List;
/**
* Set: The Fellowship of the Ring
* Side: Shadow
* Culture: Wraith
* Twilight Cost: 4
* Type: Minion • Nazgul
* Strength: 9
* Vitality: 2
* Site: 3
* Game Text: When you play Úlairë Nertëa, for each companion over 4, you may play 1 minion from your discard pile.
*/
public class Card1_234 extends AbstractMinion {
public Card1_234() {
super(4, 9, 2, 3, Race.NAZGUL, Culture.WRAITH, Names.nertea, "Messenger of Dol Guldur", true);
}
@Override
public List<OptionalTriggerAction> getOptionalAfterTriggers(String playerId, LotroGame game, EffectResult effectResult, PhysicalCard self) {
if (TriggerConditions.played(game, effectResult, self)
// You must be able to play a minion from discard to use this trigger
&& PlayConditions.canPlayFromDiscard(playerId, game, CardType.MINION)) {
OptionalTriggerAction action = new OptionalTriggerAction(self);
int companions = Filters.countActive(game, CardType.COMPANION);
int minions = Math.max(0, companions - 4);
for (int i = 0; i < minions; i++) {
action.appendEffect(
new OptionalEffect(action, playerId,
new ChooseAndPlayCardFromDiscardEffect(playerId, game, CardType.MINION) {
@Override
public String getText(LotroGame game) {
return "PlayConditions minion from your discard pile";
}
}
));
}
return Collections.singletonList(action);
}
return null;
}
}

View File

@@ -1,54 +0,0 @@
package com.gempukku.lotro.cards.set1.wraith;
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.AbstractMinion;
import com.gempukku.lotro.logic.effects.AddUntilStartOfPhaseModifierEffect;
import com.gempukku.lotro.logic.effects.ChooseActiveCardEffect;
import com.gempukku.lotro.logic.effects.SelfExertEffect;
import com.gempukku.lotro.logic.modifiers.KeywordModifier;
import com.gempukku.lotro.logic.timing.PlayConditions;
import java.util.Collections;
import java.util.List;
/**
* Set: The Fellowship of the Ring
* Side: Shadow
* Culture: Wraith
* Twilight Cost: 4
* Type: Minion • Nazgul
* Strength: 9
* Vitality: 3
* Site: 3
* Game Text: Shadow: Exert Úlairë Otsëa to make a [WRAITH] minion fierce until the regroup phase.
*/
public class Card1_235 extends AbstractMinion {
public Card1_235() {
super(4, 9, 3, 3, Race.NAZGUL, Culture.WRAITH, Names.otsea, "Lieutenant of Morgul", true);
}
@Override
public List<? extends ActivateCardAction> getPhaseActionsInPlay(String playerId, LotroGame game, final PhysicalCard self) {
if (PlayConditions.canUseShadowCardDuringPhase(game, Phase.SHADOW, self, 0)
&& PlayConditions.canExert(self, game, self)) {
final ActivateCardAction action = new ActivateCardAction(self);
action.appendCost(
new SelfExertEffect(action, self));
action.appendEffect(
new ChooseActiveCardEffect(self, playerId, "Choose a WRAITH minion", Culture.WRAITH, CardType.MINION) {
@Override
protected void cardSelected(LotroGame game, PhysicalCard wraithMinion) {
action.appendEffect(
new AddUntilStartOfPhaseModifierEffect(
new KeywordModifier(self, Filters.sameCard(wraithMinion), Keyword.FIERCE), Phase.REGROUP));
}
});
return Collections.singletonList(action);
}
return null;
}
}

View File

@@ -1,44 +0,0 @@
package com.gempukku.lotro.cards.set1.wraith;
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.AbstractMinion;
import com.gempukku.lotro.logic.effects.choose.ChooseAndAssignCharacterToMinionEffect;
import com.gempukku.lotro.logic.timing.PlayConditions;
import java.util.Collections;
import java.util.List;
/**
* Set: The Fellowship of the Ring
* Side: Shadow
* Culture: Wraith
* Twilight Cost: 6
* Type: Minion • Nazgul
* Strength: 12
* Vitality: 3
* Site: 3
* Game Text: Fierce. Assignment: Spot 4 burdens to assign a companion (except the Ring-bearer) to skirmish
* Úlairë Toldëa.
*/
public class Card1_236 extends AbstractMinion {
public Card1_236() {
super(6, 12, 3, 3, Race.NAZGUL, Culture.WRAITH, Names.toldea, "Messenger of Morgul", true);
addKeyword(Keyword.FIERCE);
}
@Override
public List<? extends ActivateCardAction> getPhaseActionsInPlay(final String playerId, final LotroGame game, final PhysicalCard self) {
if (PlayConditions.canUseShadowCardDuringPhase(game, Phase.ASSIGNMENT, self, 0)
&& game.getGameState().getBurdens() >= 4) {
ActivateCardAction action = new ActivateCardAction(self);
action.appendEffect(
new ChooseAndAssignCharacterToMinionEffect(action, playerId, self, CardType.COMPANION, Filters.not(Filters.ringBearer)));
return Collections.singletonList(action);
}
return null;
}
}

View File

@@ -1,40 +0,0 @@
package com.gempukku.lotro.cards.set1.wraith;
import com.gempukku.lotro.common.Culture;
import com.gempukku.lotro.common.Keyword;
import com.gempukku.lotro.common.Names;
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.cardtype.AbstractMinion;
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.MultiplyEvaluator;
import java.util.Collections;
import java.util.List;
/**
* Set: The Fellowship of the Ring
* Side: Shadow
* Culture: Wraith
* Twilight Cost: 8
* Type: Minion • Nazgul
* Strength: 14
* Vitality: 4
* Site: 3
* Game Text: Fierce. For each other Nazgul you can spot, The Witch-king is strength +2.
*/
public class Card1_237 extends AbstractMinion {
public Card1_237() {
super(8, 14, 4, 3, Race.NAZGUL, Culture.WRAITH, Names.witchKing, "Lord of Angmar", true);
addKeyword(Keyword.FIERCE);
}
@Override
public List<? extends Modifier> getInPlayModifiers(LotroGame game, PhysicalCard self) {
return Collections.singletonList(new StrengthModifier(self, self, null, new MultiplyEvaluator(2, new CountActiveEvaluator(Race.NAZGUL, Filters.not(self)))));
}
}

View File

@@ -1,48 +0,0 @@
package com.gempukku.lotro.cards.set1.wraith;
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.RemoveTwilightEffect;
import com.gempukku.lotro.logic.modifiers.ArcheryTotalModifier;
import com.gempukku.lotro.logic.timing.PlayConditions;
import java.util.Collections;
import java.util.List;
/**
* Set: The Fellowship of the Ring
* Side: Shadow
* Culture: Wraith
* Twilight Cost: 0
* Type: Condition
* Game Text: To play, spot a Nazgul. Plays to your support area. Archery: Remove (1) to make the fellowship
* archery total -1.
*/
public class Card1_238 extends AbstractPermanent {
public Card1_238() {
super(Side.SHADOW, 0, CardType.CONDITION, Culture.WRAITH, "Wreathed in Shadow");
}
@Override
public boolean checkPlayRequirements(LotroGame game, PhysicalCard self) {
return Filters.canSpot(game, Race.NAZGUL);
}
@Override
public List<? extends ActivateCardAction> getPhaseActionsInPlay(String playerId, LotroGame game, PhysicalCard self) {
if (PlayConditions.canUseShadowCardDuringPhase(game, Phase.ARCHERY, self, 1)) {
ActivateCardAction action = new ActivateCardAction(self);
action.appendCost(new RemoveTwilightEffect(1));
action.appendEffect(
new AddUntilEndOfPhaseModifierEffect(
new ArcheryTotalModifier(self, Side.FREE_PEOPLE, -1)));
return Collections.singletonList(action);
}
return null;
}
}

View File

@@ -37,7 +37,6 @@ public class PlayCardFromDiscard implements EffectAppenderProducer {
MultiEffectAppender result = new MultiEffectAppender();
result.setPlayabilityCheckedForEffect(true);
result.addEffectAppender(
CardResolver.resolveCardsInDiscard(filter,
(actionContext) -> {

View File

@@ -68,6 +68,12 @@ public class ValueResolver {
};
} else if (type.equalsIgnoreCase("siteNumber")) {
return actionContext -> (game, cardAffected) -> game.getGameState().getCurrentSiteNumber();
} else if (type.equalsIgnoreCase("siteNumberInMemory")) {
FieldUtils.validateAllowedFields(object, "memory");
final String memory = FieldUtils.getString(object.get("memory"), "memory");
return actionContext -> (game, cardAffected) -> {
return actionContext.getCardFromMemory(memory).getSiteNumber();
};
} else if (type.equalsIgnoreCase("forRegionNumber")) {
FieldUtils.validateAllowedFields(object);
return (actionContext) -> (game, cardAffected) -> GameUtils.getRegion(actionContext.getGame());