Some Sauron cards
This commit is contained in:
@@ -0,0 +1,89 @@
|
||||
package com.gempukku.lotro.cards.set40.sauron;
|
||||
|
||||
import com.gempukku.lotro.cards.AbstractMinion;
|
||||
import com.gempukku.lotro.cards.PlayConditions;
|
||||
import com.gempukku.lotro.cards.TriggerConditions;
|
||||
import com.gempukku.lotro.cards.effects.AddUntilEndOfTurnModifierEffect;
|
||||
import com.gempukku.lotro.cards.effects.SelfExertEffect;
|
||||
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.ActivateCardAction;
|
||||
import com.gempukku.lotro.logic.actions.RequiredTriggerAction;
|
||||
import com.gempukku.lotro.logic.decisions.MultipleChoiceAwaitingDecision;
|
||||
import com.gempukku.lotro.logic.effects.ChooseAndWoundCharactersEffect;
|
||||
import com.gempukku.lotro.logic.effects.PlayoutDecisionEffect;
|
||||
import com.gempukku.lotro.logic.modifiers.KeywordModifier;
|
||||
import com.gempukku.lotro.logic.modifiers.SpotCondition;
|
||||
import com.gempukku.lotro.logic.timing.Action;
|
||||
import com.gempukku.lotro.logic.timing.EffectResult;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Title: *Barad-dur Captain
|
||||
* Set: Second Edition
|
||||
* Side: Shadow
|
||||
* Culture: Sauron
|
||||
* Twilight Cost: 5
|
||||
* Type: Minion - Orc
|
||||
* Strength: 11
|
||||
* Vitality: 3
|
||||
* Home: 6
|
||||
* Card Number: 1R213
|
||||
* Game Text: When you play this minion, name a Free Peoples culture.
|
||||
* While skirmishing a character of the named culture, this minion is damage +1.
|
||||
* Skirmish: Exert Barad-dur Captain to wound a character it is skirmishing.
|
||||
*/
|
||||
public class Card40_213 extends AbstractMinion {
|
||||
public Card40_213() {
|
||||
super(5, 11, 3, 6, Race.ORC, Culture.SAURON, "Barad-dur Captain", null, true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<RequiredTriggerAction> getRequiredAfterTriggers(LotroGame game, EffectResult effectResult, final PhysicalCard self) {
|
||||
if (TriggerConditions.played(game, effectResult, self)) {
|
||||
final RequiredTriggerAction action = new RequiredTriggerAction(self);
|
||||
List<String> possibleCultures = new LinkedList<String>();
|
||||
for (Culture value : Culture.values()) {
|
||||
if (value.isFP())
|
||||
possibleCultures.add(value.getHumanReadable());
|
||||
}
|
||||
final String[] cultures = possibleCultures.toArray(new String[0]);
|
||||
|
||||
action.appendEffect(
|
||||
new PlayoutDecisionEffect(self.getOwner(),
|
||||
new MultipleChoiceAwaitingDecision(1, "Choose a Free Peoples Culture", cultures) {
|
||||
@Override
|
||||
protected void validDecisionMade(int index, String result) {
|
||||
final Culture culture = Culture.findCultureByHumanReadable(result);
|
||||
action.appendEffect(
|
||||
new AddUntilEndOfTurnModifierEffect(
|
||||
new KeywordModifier(self, self, new SpotCondition(self, Filters.inSkirmishAgainst(Filters.character, culture)), Keyword.DAMAGE, 1)));
|
||||
}
|
||||
}));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected List<? extends Action> getExtraPhaseActions(String playerId, LotroGame game, PhysicalCard self) {
|
||||
if (PlayConditions.canUseShadowCardDuringPhase(game, Phase.SKIRMISH, self, 0)
|
||||
&& PlayConditions.canSelfExert(self, game)) {
|
||||
ActivateCardAction action = new ActivateCardAction(self);
|
||||
action.appendCost(
|
||||
new SelfExertEffect(action, self));
|
||||
action.appendEffect(
|
||||
new ChooseAndWoundCharactersEffect(action, playerId, 1, 1, Filters.character, Filters.inSkirmishAgainst(self)));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,79 @@
|
||||
package com.gempukku.lotro.cards.set40.sauron;
|
||||
|
||||
import com.gempukku.lotro.cards.AbstractPermanent;
|
||||
import com.gempukku.lotro.cards.TriggerConditions;
|
||||
import com.gempukku.lotro.cards.effects.AddUntilEndOfTurnModifierEffect;
|
||||
import com.gempukku.lotro.cards.effects.AddUntilStartOfPhaseModifierEffect;
|
||||
import com.gempukku.lotro.cards.effects.PreventableEffect;
|
||||
import com.gempukku.lotro.cards.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.GameUtils;
|
||||
import com.gempukku.lotro.logic.actions.OptionalTriggerAction;
|
||||
import com.gempukku.lotro.logic.actions.SubAction;
|
||||
import com.gempukku.lotro.logic.modifiers.KeywordModifier;
|
||||
import com.gempukku.lotro.logic.timing.Effect;
|
||||
import com.gempukku.lotro.logic.timing.EffectResult;
|
||||
import com.gempukku.lotro.logic.timing.results.CharacterWonSkirmishResult;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Title: *Bound to This Fate
|
||||
* Set: Second Edition
|
||||
* Side: Shadow
|
||||
* Culture: Sauron
|
||||
* Twilight Cost: 2
|
||||
* Type: Condition - Support Area
|
||||
* Card Number: 1U214
|
||||
* Game Text: Each time a [SAURON] minion wins a skirmish, you may make that minion fierce until the regroup phase.
|
||||
* The Free Peoples player may exert a character of a different culture than the losing companion to prevent this.
|
||||
*/
|
||||
public class Card40_214 extends AbstractPermanent {
|
||||
public Card40_214() {
|
||||
super(Side.SHADOW, 2, CardType.CONDITION, Culture.SAURON, Zone.SUPPORT, "Bound to This Fate", null, true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<OptionalTriggerAction> getOptionalAfterTriggers(String playerId, final LotroGame game, EffectResult effectResult, PhysicalCard self) {
|
||||
if (TriggerConditions.winsSkirmish(game, effectResult, Culture.SAURON, CardType.MINION)) {
|
||||
final CharacterWonSkirmishResult winResult = (CharacterWonSkirmishResult) effectResult;
|
||||
final PhysicalCard winner = winResult.getWinner();
|
||||
final OptionalTriggerAction action = new OptionalTriggerAction(self);
|
||||
action.setText("Make " + GameUtils.getFullName(winner) + " fierce");
|
||||
action.appendEffect(
|
||||
new PreventableEffect(
|
||||
action, new AddUntilStartOfPhaseModifierEffect(
|
||||
new KeywordModifier(self, winner, Keyword.FIERCE), Phase.REGROUP) {
|
||||
@Override
|
||||
public String getText(LotroGame game) {
|
||||
return "Make " + GameUtils.getFullName(winner) + " fierce";
|
||||
}
|
||||
}, GameUtils.getFreePeoplePlayer(game),
|
||||
new PreventableEffect.PreventionCost() {
|
||||
@Override
|
||||
public Effect createPreventionCostForPlayer(SubAction subAction, String playerId) {
|
||||
final Collection<PhysicalCard> losers = Filters.filter(winResult.getInvolving(), game.getGameState(), game.getModifiersQuerying(), Side.FREE_PEOPLE, CardType.COMPANION);
|
||||
List<Culture> loserCultures = new LinkedList<Culture>();
|
||||
for (PhysicalCard loser : losers) {
|
||||
loserCultures.add(loser.getBlueprint().getCulture());
|
||||
}
|
||||
|
||||
return new ChooseAndExertCharactersEffect(action, playerId, 1, 1, Filters.character, Filters.not(Filters.or(loserCultures.toArray(new Culture[0])))) {
|
||||
@Override
|
||||
public String getText(LotroGame game) {
|
||||
return "Exert character of a different culture than the losing companion";
|
||||
}
|
||||
};
|
||||
}
|
||||
}));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,75 @@
|
||||
package com.gempukku.lotro.cards.set40.sauron;
|
||||
|
||||
import com.gempukku.lotro.cards.AbstractAttachable;
|
||||
import com.gempukku.lotro.cards.PlayConditions;
|
||||
import com.gempukku.lotro.cards.TriggerConditions;
|
||||
import com.gempukku.lotro.cards.actions.AttachPermanentAction;
|
||||
import com.gempukku.lotro.cards.effects.ChoiceEffect;
|
||||
import com.gempukku.lotro.cards.effects.ExertCharactersEffect;
|
||||
import com.gempukku.lotro.cards.effects.choose.ChooseAndExertCharactersEffect;
|
||||
import com.gempukku.lotro.common.*;
|
||||
import com.gempukku.lotro.filters.Filter;
|
||||
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.RequiredTriggerAction;
|
||||
import com.gempukku.lotro.logic.effects.AddTwilightEffect;
|
||||
import com.gempukku.lotro.logic.timing.Effect;
|
||||
import com.gempukku.lotro.logic.timing.EffectResult;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Title: Ever Watchful
|
||||
* Set: Second Edition
|
||||
* Side: Shadow
|
||||
* Culture: Sauron
|
||||
* Twilight Cost: 0
|
||||
* Type: Condition - Companion
|
||||
* Card Number: 1C216
|
||||
* Game Text: To play, exert a [SAURON] tracker. Limit 1 per companion.
|
||||
* Each time the fellowship moves, the Free Peoples player must add (1) or exert this companion.
|
||||
*/
|
||||
public class Card40_216 extends AbstractAttachable {
|
||||
public Card40_216() {
|
||||
super(Side.SHADOW, CardType.CONDITION, 0, Culture.SAURON, null, "Ever Watchful");
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Filterable getValidTargetFilter(String playerId, LotroGame game, PhysicalCard self) {
|
||||
return Filters.and(CardType.COMPANION, Filters.not(Filters.hasAttached(Filters.name("Ever Watchful"))));
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean checkPlayRequirements(String playerId, LotroGame game, PhysicalCard self, int withTwilightRemoved, Filter additionalAttachmentFilter, int twilightModifier) {
|
||||
return super.checkPlayRequirements(playerId, game, self, withTwilightRemoved, additionalAttachmentFilter, twilightModifier)
|
||||
&& PlayConditions.canExert(self, game, Culture.SAURON, Keyword.TRACKER);
|
||||
}
|
||||
|
||||
@Override
|
||||
public AttachPermanentAction getPlayCardAction(String playerId, LotroGame game, PhysicalCard self, Filterable additionalAttachmentFilter, int twilightModifier) {
|
||||
final AttachPermanentAction action = super.getPlayCardAction(playerId, game, self, additionalAttachmentFilter, twilightModifier);
|
||||
action.appendCost(
|
||||
new ChooseAndExertCharactersEffect(action, playerId, 1, 1, Culture.SAURON, Keyword.TRACKER));
|
||||
return action;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<RequiredTriggerAction> getRequiredAfterTriggers(LotroGame game, EffectResult effectResult, PhysicalCard self) {
|
||||
if (TriggerConditions.moves(game, effectResult)) {
|
||||
RequiredTriggerAction action = new RequiredTriggerAction(self);
|
||||
List<Effect> possibleEffects = new ArrayList<Effect>(2);
|
||||
possibleEffects.add(
|
||||
new AddTwilightEffect(self, 1));
|
||||
possibleEffects.add(
|
||||
new ExertCharactersEffect(action, self, self.getAttachedTo()));
|
||||
action.appendEffect(
|
||||
new ChoiceEffect(action, GameUtils.getFreePeoplePlayer(game), possibleEffects));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
package com.gempukku.lotro.cards.set40.sauron;
|
||||
|
||||
import com.gempukku.lotro.cards.AbstractPermanent;
|
||||
import com.gempukku.lotro.cards.modifiers.MinionSiteNumberModifier;
|
||||
import com.gempukku.lotro.cards.modifiers.conditions.MinThreatCondition;
|
||||
import com.gempukku.lotro.cards.modifiers.evaluator.ForEachThreatEvaluator;
|
||||
import com.gempukku.lotro.cards.modifiers.evaluator.NegativeEvaluator;
|
||||
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.modifiers.Modifier;
|
||||
import com.gempukku.lotro.logic.modifiers.StrengthModifier;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Title: Fires Raged Unchecked
|
||||
* Set: Second Edition
|
||||
* Side: Shadow
|
||||
* Culture: Sauron
|
||||
* Twilight Cost: 1
|
||||
* Type: Condition - Support Area
|
||||
* Card Number: 1R217
|
||||
* Game Text: The site number of each [SAURON] Orc is -1 for each threat.
|
||||
* While you can spot 3 threats, each [SAURON] Orc that is not roaming is strength +1.
|
||||
*/
|
||||
public class Card40_217 extends AbstractPermanent {
|
||||
public Card40_217() {
|
||||
super(Side.SHADOW, 1, CardType.CONDITION, Culture.SAURON, Zone.SUPPORT, "Fires Raged Unchecked");
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<? extends Modifier> getAlwaysOnModifiers(LotroGame game, PhysicalCard self) {
|
||||
MinionSiteNumberModifier siteNumber = new MinionSiteNumberModifier(self, Filters.and(Culture.SAURON, Race.ORC), null,
|
||||
new NegativeEvaluator(new ForEachThreatEvaluator()));
|
||||
StrengthModifier strength = new StrengthModifier(self, Filters.and(Culture.SAURON, Race.ORC, Filters.not(Filters.roamingMinion)),
|
||||
new MinThreatCondition(3), 1);
|
||||
return Arrays.asList(siteNumber, strength);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
package com.gempukku.lotro.cards.set40.sauron;
|
||||
|
||||
import com.gempukku.lotro.cards.AbstractPermanent;
|
||||
import com.gempukku.lotro.cards.PlayConditions;
|
||||
import com.gempukku.lotro.cards.TriggerConditions;
|
||||
import com.gempukku.lotro.cards.effects.ChoiceEffect;
|
||||
import com.gempukku.lotro.cards.effects.choose.ChooseAndPlayCardFromDeckEffect;
|
||||
import com.gempukku.lotro.cards.effects.choose.ChooseAndPlayCardFromDiscardEffect;
|
||||
import com.gempukku.lotro.common.*;
|
||||
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.Effect;
|
||||
import com.gempukku.lotro.logic.timing.EffectResult;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Title: *Gathering Evil
|
||||
* Set: Second Edition
|
||||
* Side: Shadow
|
||||
* Culture: Sauron
|
||||
* Twilight Cost: 2
|
||||
* Type: Condition - Support Area
|
||||
* Card Number: 1U218
|
||||
* Game Text: At the beginning of each Shadow phase, if you cannot spot more than 2 Free Peoples cultures,
|
||||
* you may play a [SAURON] minion from your draw deck or discard pile.
|
||||
*/
|
||||
public class Card40_218 extends AbstractPermanent {
|
||||
public Card40_218() {
|
||||
super(Side.SHADOW, 2, CardType.CONDITION, Culture.SAURON, Zone.SUPPORT, "Gathering Evil");
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<OptionalTriggerAction> getOptionalAfterTriggers(String playerId, LotroGame game, EffectResult effectResult, PhysicalCard self) {
|
||||
if (TriggerConditions.startOfPhase(game, effectResult, Phase.SHADOW)
|
||||
&& !PlayConditions.canSpotFPCultures(game, 3, playerId)
|
||||
&& (PlayConditions.canPlayFromDeck(playerId, game, Culture.SAURON, CardType.MINION)
|
||||
|| PlayConditions.canPlayFromDiscard(playerId, game, Culture.SAURON, CardType.MINION))) {
|
||||
OptionalTriggerAction action = new OptionalTriggerAction(self);
|
||||
List<Effect> possibleEffects = new ArrayList<Effect>(2);
|
||||
possibleEffects.add(
|
||||
new ChooseAndPlayCardFromDeckEffect(playerId, Culture.SAURON, CardType.MINION));
|
||||
possibleEffects.add(
|
||||
new ChooseAndPlayCardFromDiscardEffect(playerId, game, Culture.SAURON, CardType.MINION));
|
||||
action.appendEffect(
|
||||
new ChoiceEffect(action, playerId, possibleEffects));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,88 @@
|
||||
package com.gempukku.lotro.cards.set40.sauron;
|
||||
|
||||
import com.gempukku.lotro.cards.AbstractMinion;
|
||||
import com.gempukku.lotro.cards.PlayConditions;
|
||||
import com.gempukku.lotro.cards.TriggerConditions;
|
||||
import com.gempukku.lotro.cards.effects.AddBurdenEffect;
|
||||
import com.gempukku.lotro.cards.effects.RevealCardsFromYourHandEffect;
|
||||
import com.gempukku.lotro.cards.effects.SelfExertEffect;
|
||||
import com.gempukku.lotro.cards.effects.choose.ChooseAndAddUntilEOPStrengthBonusEffect;
|
||||
import com.gempukku.lotro.cards.modifiers.evaluator.CountSpottableEvaluator;
|
||||
import com.gempukku.lotro.cards.modifiers.evaluator.MinEvaluator;
|
||||
import com.gempukku.lotro.common.CardType;
|
||||
import com.gempukku.lotro.common.Culture;
|
||||
import com.gempukku.lotro.common.Keyword;
|
||||
import com.gempukku.lotro.common.Phase;
|
||||
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.OptionalTriggerAction;
|
||||
import com.gempukku.lotro.logic.actions.RequiredTriggerAction;
|
||||
import com.gempukku.lotro.logic.effects.AddThreatsEffect;
|
||||
import com.gempukku.lotro.logic.timing.Action;
|
||||
import com.gempukku.lotro.logic.timing.EffectResult;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Title: *The Great Eye, Wreathed in Flame
|
||||
* Set: Second Edition
|
||||
* Side: Shadow
|
||||
* Culture: Sauron
|
||||
* Twilight Cost: 3
|
||||
* Type: Minion
|
||||
* Strength: 6
|
||||
* Vitality: 4
|
||||
* Home: 6
|
||||
* Card Number: 1R219
|
||||
* Game Text: Cunning.
|
||||
* When you play The Great Eye, add a threat for each companion over 4.
|
||||
* Each time the Ring-bearer puts on The One Ring, you may reveal this card from hand to add a burden.
|
||||
* Skirmish: Exert The Great Eye to make a [SAURON] minion strength +2.
|
||||
*/
|
||||
public class Card40_219 extends AbstractMinion {
|
||||
public Card40_219() {
|
||||
super(3, 6, 4, 6, null, Culture.SAURON, "The Great Eye", "Wreathed in Flame", true);
|
||||
addKeyword(Keyword.CUNNING);
|
||||
}
|
||||
|
||||
@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 AddThreatsEffect(self.getOwner(), self,
|
||||
new MinEvaluator(new CountSpottableEvaluator(4, (Integer) null, CardType.COMPANION), 0)));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<OptionalTriggerAction> getOptionalAfterTriggersFromHand(String playerId, LotroGame game, EffectResult effectResult, PhysicalCard self) {
|
||||
if (effectResult.getType() == EffectResult.Type.PUT_ON_THE_ONE_RING) {
|
||||
OptionalTriggerAction action = new OptionalTriggerAction(self);
|
||||
action.appendCost(
|
||||
new RevealCardsFromYourHandEffect(self, playerId, self));
|
||||
action.appendEffect(
|
||||
new AddBurdenEffect(playerId, self, 1));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected List<? extends Action> getExtraPhaseActions(String playerId, LotroGame game, PhysicalCard self) {
|
||||
if (PlayConditions.canUseShadowCardDuringPhase(game, Phase.SKIRMISH, self, 0)
|
||||
&& PlayConditions.canSelfExert(self, game)) {
|
||||
ActivateCardAction action= new ActivateCardAction(self);
|
||||
action.appendCost(
|
||||
new SelfExertEffect(action, self));
|
||||
action.appendEffect(
|
||||
new ChooseAndAddUntilEOPStrengthBonusEffect(action, self, playerId, 2, Culture.SAURON, CardType.MINION));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,83 @@
|
||||
package com.gempukku.lotro.cards.set40.sauron;
|
||||
|
||||
import com.gempukku.lotro.cards.AbstractAttachable;
|
||||
import com.gempukku.lotro.cards.PlayConditions;
|
||||
import com.gempukku.lotro.cards.TriggerConditions;
|
||||
import com.gempukku.lotro.cards.actions.AttachPermanentAction;
|
||||
import com.gempukku.lotro.cards.effects.AddBurdenEffect;
|
||||
import com.gempukku.lotro.cards.effects.AddUntilStartOfPhaseModifierEffect;
|
||||
import com.gempukku.lotro.cards.effects.ChoiceEffect;
|
||||
import com.gempukku.lotro.cards.effects.choose.ChooseAndExertCharactersEffect;
|
||||
import com.gempukku.lotro.common.*;
|
||||
import com.gempukku.lotro.filters.Filter;
|
||||
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.RequiredTriggerAction;
|
||||
import com.gempukku.lotro.logic.modifiers.StrengthModifier;
|
||||
import com.gempukku.lotro.logic.timing.Effect;
|
||||
import com.gempukku.lotro.logic.timing.EffectResult;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Title: It Will Destroy Them All
|
||||
* Set: Second Edition
|
||||
* Side: Shadow
|
||||
* Culture: Sauron
|
||||
* Twilight Cost: 1
|
||||
* Type: Condition - Companion
|
||||
* Card Number: 1R221
|
||||
* Game Text: To play, exert a [SAURON] Orc. Limit 1 per companion.
|
||||
* Each time bearer is assigned to a skirmish, the Free Peoples player must add a burden or make bearer strength -2 until the regroup phase.
|
||||
*/
|
||||
public class Card40_221 extends AbstractAttachable {
|
||||
public Card40_221() {
|
||||
super(Side.SHADOW, CardType.CONDITION, 1, Culture.SAURON, null, "It Will Destroy Them All");
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Filterable getValidTargetFilter(String playerId, LotroGame game, PhysicalCard self) {
|
||||
return Filters.and(CardType.COMPANION, Filters.not(Filters.hasAttached(Filters.name("It Will Destroy Them All"))));
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean checkPlayRequirements(String playerId, LotroGame game, PhysicalCard self, int withTwilightRemoved, Filter additionalAttachmentFilter, int twilightModifier) {
|
||||
return super.checkPlayRequirements(playerId, game, self, withTwilightRemoved, additionalAttachmentFilter, twilightModifier)
|
||||
&& PlayConditions.canExert(self, game, Culture.SAURON, Race.ORC);
|
||||
}
|
||||
|
||||
@Override
|
||||
public AttachPermanentAction getPlayCardAction(String playerId, LotroGame game, PhysicalCard self, Filterable additionalAttachmentFilter, int twilightModifier) {
|
||||
final AttachPermanentAction action = super.getPlayCardAction(playerId, game, self, additionalAttachmentFilter, twilightModifier);
|
||||
action.appendCost(
|
||||
new ChooseAndExertCharactersEffect(action, playerId, 1, 1, Culture.SAURON, Race.ORC));
|
||||
return action;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<RequiredTriggerAction> getRequiredAfterTriggers(LotroGame game, EffectResult effectResult, PhysicalCard self) {
|
||||
if (TriggerConditions.assignedToSkirmish(game, effectResult, null, Filters.hasAttached(self))) {
|
||||
final String freePeoplePlayer = GameUtils.getFreePeoplePlayer(game);
|
||||
RequiredTriggerAction action = new RequiredTriggerAction(self);
|
||||
List<Effect> possibleEffects = new ArrayList<Effect>(2);
|
||||
possibleEffects.add(
|
||||
new AddBurdenEffect(freePeoplePlayer, self, 1));
|
||||
possibleEffects.add(
|
||||
new AddUntilStartOfPhaseModifierEffect(
|
||||
new StrengthModifier(self, Filters.hasAttached(self), -2), Phase.REGROUP) {
|
||||
@Override
|
||||
public String getText(LotroGame game) {
|
||||
return "Make bearer strength -2 until the regroun phase";
|
||||
}
|
||||
});
|
||||
action.appendEffect(
|
||||
new ChoiceEffect(action, freePeoplePlayer, possibleEffects));
|
||||
return Collections.singletonList(action);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -252,4 +252,6 @@ gl_theOneRing,1_2
|
||||
40_190,1_216
|
||||
40_191,1_217
|
||||
40_192,1_218
|
||||
40_200,2_80
|
||||
40_200,2_80
|
||||
40_215,1_246
|
||||
40_220,1_250
|
||||
Reference in New Issue
Block a user