diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/PlayConditions.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/PlayConditions.java index 4d206d70b..8a5d6795b 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/PlayConditions.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/PlayConditions.java @@ -170,15 +170,15 @@ public class PlayConditions { return Filters.filter(game.getGameState().getDiscard(playerId), game.getGameState(), game.getModifiersQuerying(), Filters.and(filters, Filters.playable(game, modifier))).size() > 0; } - public static boolean canBeDiscarded(final PhysicalCard source, LotroGame game, final PhysicalCard card) { + public static boolean canDiscardFromPlay(final PhysicalCard source, LotroGame game, final PhysicalCard card) { return game.getModifiersQuerying().canBeDiscardedFromPlay(game.getGameState(), card, source); } public static boolean canSelfDiscard(PhysicalCard source, LotroGame game) { - return canBeDiscarded(source, game, source); + return canDiscardFromPlay(source, game, source); } - public static boolean canBeDiscarded(final PhysicalCard source, LotroGame game, int count, final Filterable... filters) { + public static boolean canDiscardFromPlay(final PhysicalCard source, LotroGame game, int count, final Filterable... filters) { return Filters.countActive(game.getGameState(), game.getModifiersQuerying(), Filters.and(filters, new Filter() { @Override @@ -188,8 +188,8 @@ public class PlayConditions { })) >= count; } - public static boolean canBeDiscarded(final PhysicalCard source, LotroGame game, final Filterable... filters) { - return canBeDiscarded(source, game, 1, filters); + public static boolean canDiscardFromPlay(final PhysicalCard source, LotroGame game, final Filterable... filters) { + return canDiscardFromPlay(source, game, 1, filters); } public static boolean canExert(final PhysicalCard source, final GameState gameState, final ModifiersQuerying modifiersQuerying, Filterable... filters) { diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/effects/choose/ChooseAndDiscardCardsFromPlayEffect.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/effects/choose/ChooseAndDiscardCardsFromPlayEffect.java index 3ee54b28c..2e8356232 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/effects/choose/ChooseAndDiscardCardsFromPlayEffect.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/effects/choose/ChooseAndDiscardCardsFromPlayEffect.java @@ -26,8 +26,13 @@ public class ChooseAndDiscardCardsFromPlayEffect extends ChooseActiveCardsEffect @Override protected void cardsSelected(LotroGame game, Collection cards) { + cardsToBeDiscardedCallback(cards); SubAction subAction = new SubAction(_action); subAction.appendEffect(new DiscardCardsFromPlayEffect(_action.getActionSource(), Filters.in(cards))); game.getActionsEnvironment().addActionToStack(subAction); } + + protected void cardsToBeDiscardedCallback(Collection cards) { + + } } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/shire/Card4_311.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/shire/Card4_311.java index 03ea4bed2..3d45ad9b4 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/shire/Card4_311.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/shire/Card4_311.java @@ -40,7 +40,7 @@ public class Card4_311 extends AbstractCompanion { protected List getExtraInPlayPhaseActions(String playerId, LotroGame game, final PhysicalCard self) { if (PlayConditions.canUseFPCardDuringPhase(game.getGameState(), Phase.SKIRMISH, self) && Filters.notAssignedToSkirmish.accepts(game.getGameState(), game.getModifiersQuerying(), self) - && PlayConditions.canBeDiscarded(self, game, self)) { + && PlayConditions.canDiscardFromPlay(self, game, self)) { final ActivateCardAction action = new ActivateCardAction(self); action.appendCost( new DiscardCardsFromPlayEffect(self, self)); diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/shire/Card4_313.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/shire/Card4_313.java index 40905d63b..95babbcb4 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/shire/Card4_313.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set4/shire/Card4_313.java @@ -40,7 +40,7 @@ public class Card4_313 extends AbstractCompanion { protected List getExtraInPlayPhaseActions(String playerId, LotroGame game, final PhysicalCard self) { if (PlayConditions.canUseFPCardDuringPhase(game.getGameState(), Phase.SKIRMISH, self) && Filters.notAssignedToSkirmish.accepts(game.getGameState(), game.getModifiersQuerying(), self) - && PlayConditions.canBeDiscarded(self, game, self)) { + && PlayConditions.canDiscardFromPlay(self, game, self)) { final ActivateCardAction action = new ActivateCardAction(self); action.appendCost( new DiscardCardsFromPlayEffect(self, self)); diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/gollum/Card5_021.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/gollum/Card5_021.java index 9a12ec635..c68003ef7 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/gollum/Card5_021.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/gollum/Card5_021.java @@ -31,7 +31,7 @@ public class Card5_021 extends AbstractEvent { @Override public boolean checkPlayRequirements(String playerId, LotroGame game, PhysicalCard self, int twilightModifier) { return super.checkPlayRequirements(playerId, game, self, twilightModifier) - && PlayConditions.canBeDiscarded(self, game, Filters.name("Smeagol")); + && PlayConditions.canDiscardFromPlay(self, game, Filters.name("Smeagol")); } @Override diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/gollum/Card5_024.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/gollum/Card5_024.java index 2ac0afeb3..2f5586184 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/gollum/Card5_024.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/gollum/Card5_024.java @@ -35,7 +35,7 @@ public class Card5_024 extends AbstractMinion { @Override protected List getExtraPhaseActions(String playerId, LotroGame game, PhysicalCard self) { if (PlayConditions.canUseShadowCardDuringPhase(game.getGameState(), Phase.REGROUP, self, 0) - && PlayConditions.canBeDiscarded(self, game, self)) { + && PlayConditions.canDiscardFromPlay(self, game, self)) { ActivateCardAction action = new ActivateCardAction(self); action.appendCost( new DiscardCardsFromPlayEffect(self, self)); diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/gollum/Card5_027.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/gollum/Card5_027.java index 9cb1a8cee..600f73a30 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/gollum/Card5_027.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/gollum/Card5_027.java @@ -47,7 +47,7 @@ public class Card5_027 extends AbstractAttachable { @Override protected List getExtraPhaseActions(String playerId, LotroGame game, final PhysicalCard self) { if (PlayConditions.canUseFPCardDuringPhase(game.getGameState(), Phase.SKIRMISH, self) - && PlayConditions.canBeDiscarded(self, game, self)) { + && PlayConditions.canDiscardFromPlay(self, game, self)) { final ActivateCardAction action = new ActivateCardAction(self); action.appendCost( new DiscardCardsFromPlayEffect(self, self)); diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/gondor/Card5_036.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/gondor/Card5_036.java index 0d321f25a..da5e5368d 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/gondor/Card5_036.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/gondor/Card5_036.java @@ -33,7 +33,7 @@ public class Card5_036 extends AbstractCompanion { @Override protected List getExtraInPlayPhaseActions(String playerId, LotroGame game, PhysicalCard self) { if (PlayConditions.canUseFPCardDuringPhase(game.getGameState(), Phase.FELLOWSHIP, self) - && PlayConditions.canBeDiscarded(self, game, Culture.GONDOR, CardType.CONDITION)) { + && PlayConditions.canDiscardFromPlay(self, game, Culture.GONDOR, CardType.CONDITION)) { ActivateCardAction action = new ActivateCardAction(self); action.appendCost( new ChooseAndDiscardCardsFromPlayEffect(action, playerId, 1, 1, Culture.GONDOR, CardType.CONDITION)); diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/sauron/Card5_104.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/sauron/Card5_104.java index d63f15eeb..9846904fd 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/sauron/Card5_104.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/sauron/Card5_104.java @@ -44,7 +44,7 @@ public class Card5_104 extends AbstractMinion { @Override protected List getExtraPhaseActions(String playerId, LotroGame game, PhysicalCard self) { if (PlayConditions.canUseShadowCardDuringPhase(game.getGameState(), Phase.SKIRMISH, self, 0) - && PlayConditions.canBeDiscarded(self, game, Culture.SAURON, Race.ORC, Filters.not(self)) + && PlayConditions.canDiscardFromPlay(self, game, Culture.SAURON, Race.ORC, Filters.not(self)) && PlayConditions.canSelfExert(self, game)) { ActivateCardAction action = new ActivateCardAction(self); action.appendCost( diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/shire/Card5_112.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/shire/Card5_112.java index 7b5218a7b..c5dd3e495 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/shire/Card5_112.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/shire/Card5_112.java @@ -29,7 +29,7 @@ public class Card5_112 extends AbstractEvent { public boolean checkPlayRequirements(String playerId, LotroGame game, PhysicalCard self, int twilightModifier) { return super.checkPlayRequirements(playerId, game, self, twilightModifier) && PlayConditions.canSpot(game, Filters.name("Sam")) - && PlayConditions.canBeDiscarded(self, game, Filters.or(Filters.name("Smeagol"), Filters.name("Gollum"))); + && PlayConditions.canDiscardFromPlay(self, game, Filters.or(Filters.name("Smeagol"), Filters.name("Gollum"))); } @Override diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/shire/Card5_114.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/shire/Card5_114.java index 838ba2b41..8992b23e7 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/shire/Card5_114.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set5/shire/Card5_114.java @@ -49,7 +49,7 @@ public class Card5_114 extends AbstractAttachable { if (PlayConditions.activated(game, effectResult, Filters.any)) { ActivateCardResult activateEffect = (ActivateCardResult) effectResult; if (activateEffect.getActionTimeword() == Phase.REGROUP - && PlayConditions.canBeDiscarded(self, game, Filters.or(Filters.name("Smeagol"), Filters.name("Gollum")))) { + && PlayConditions.canDiscardFromPlay(self, game, Filters.or(Filters.name("Smeagol"), Filters.name("Gollum")))) { ActivateCardAction action = new ActivateCardAction(self); action.appendCost( new ChooseAndDiscardCardsFromPlayEffect(action, playerId, 1, 1, Filters.or(Filters.name("Smeagol"), Filters.name("Gollum")))); diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/gollum/Card6_044.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/gollum/Card6_044.java index 0606993ac..5d38a0e01 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/gollum/Card6_044.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/gollum/Card6_044.java @@ -43,7 +43,7 @@ public class Card6_044 extends AbstractEvent { public boolean checkPlayRequirements(String playerId, LotroGame game, PhysicalCard self, int twilightModifier) { return super.checkPlayRequirements(playerId, game, self, twilightModifier) && PlayConditions.canExert(self, game, 3, Filters.name("Smeagol")) - && PlayConditions.canBeDiscarded(self, game, Filters.name("Smeagol")); + && PlayConditions.canDiscardFromPlay(self, game, Filters.name("Smeagol")); } @Override diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/isengard/Card6_062.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/isengard/Card6_062.java index 898c4d78a..10d9f171d 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/isengard/Card6_062.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/isengard/Card6_062.java @@ -26,7 +26,7 @@ public class Card6_062 extends AbstractEvent { @Override public boolean checkPlayRequirements(String playerId, LotroGame game, PhysicalCard self, int twilightModifier) { return super.checkPlayRequirements(playerId, game, self, twilightModifier) - && PlayConditions.canBeDiscarded(self, game, 4, Culture.ISENGARD, Race.ORC); + && PlayConditions.canDiscardFromPlay(self, game, 4, Culture.ISENGARD, Race.ORC); } @Override diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/isengard/Card6_065.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/isengard/Card6_065.java index a304b95fa..4717350d5 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/isengard/Card6_065.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/isengard/Card6_065.java @@ -35,7 +35,7 @@ public class Card6_065 extends AbstractMinion { @Override protected List getExtraPhaseActions(String playerId, LotroGame game, PhysicalCard self) { if (PlayConditions.canUseShadowCardDuringPhase(game.getGameState(), Phase.REGROUP, self, 0) - && PlayConditions.canBeDiscarded(self, game, Culture.ISENGARD, Race.ORC)) { + && PlayConditions.canDiscardFromPlay(self, game, Culture.ISENGARD, Race.ORC)) { ActivateCardAction action = new ActivateCardAction(self); action.appendCost( new ChooseAndDiscardCardsFromPlayEffect(action, playerId, 1, 1, Culture.ISENGARD, Race.ORC)); diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/isengard/Card6_067.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/isengard/Card6_067.java index 6edcb3ec1..c79abc726 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/isengard/Card6_067.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/isengard/Card6_067.java @@ -35,7 +35,7 @@ public class Card6_067 extends AbstractMinion { @Override protected List getExtraPhaseActions(String playerId, LotroGame game, PhysicalCard self) { if (PlayConditions.canUseShadowCardDuringPhase(game.getGameState(), Phase.REGROUP, self, 0) - && PlayConditions.canBeDiscarded(self, game, Culture.ISENGARD, Race.ORC)) { + && PlayConditions.canDiscardFromPlay(self, game, Culture.ISENGARD, Race.ORC)) { ActivateCardAction action = new ActivateCardAction(self); action.appendCost( new ChooseAndDiscardCardsFromPlayEffect(action, playerId, 1, 1, Culture.ISENGARD, Race.ORC)); diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/isengard/Card6_068.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/isengard/Card6_068.java index a4518a3d6..a7da7fbb7 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/isengard/Card6_068.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/isengard/Card6_068.java @@ -40,7 +40,7 @@ public class Card6_068 extends AbstractMinion { @Override protected List getExtraPhaseActions(String playerId, LotroGame game, PhysicalCard self) { if (PlayConditions.canUseShadowCardDuringPhase(game.getGameState(), Phase.REGROUP, self, 0) - && PlayConditions.canBeDiscarded(self, game, Culture.ISENGARD, Race.ORC)) { + && PlayConditions.canDiscardFromPlay(self, game, Culture.ISENGARD, Race.ORC)) { ActivateCardAction action = new ActivateCardAction(self); action.appendCost( new ChooseAndDiscardCardsFromPlayEffect(action, playerId, 1, 1, Culture.ISENGARD, Race.ORC)); diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/isengard/Card6_069.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/isengard/Card6_069.java index 08f94e4d2..00ec2670f 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/isengard/Card6_069.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/isengard/Card6_069.java @@ -35,7 +35,7 @@ public class Card6_069 extends AbstractMinion { @Override protected List getExtraPhaseActions(String playerId, LotroGame game, PhysicalCard self) { if (PlayConditions.canUseShadowCardDuringPhase(game.getGameState(), Phase.REGROUP, self, 0) - && PlayConditions.canBeDiscarded(self, game, Culture.ISENGARD, Race.ORC)) { + && PlayConditions.canDiscardFromPlay(self, game, Culture.ISENGARD, Race.ORC)) { ActivateCardAction action = new ActivateCardAction(self); action.appendCost( new ChooseAndDiscardCardsFromPlayEffect(action, playerId, 1, 1, Culture.ISENGARD, Race.ORC)); diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/isengard/Card6_071.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/isengard/Card6_071.java index 3cba24439..15f08b4e4 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/isengard/Card6_071.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/isengard/Card6_071.java @@ -35,7 +35,7 @@ public class Card6_071 extends AbstractMinion { @Override protected List getExtraPhaseActions(String playerId, LotroGame game, PhysicalCard self) { if (PlayConditions.canUseShadowCardDuringPhase(game.getGameState(), Phase.REGROUP, self, 0) - && PlayConditions.canBeDiscarded(self, game, Culture.ISENGARD, Race.ORC)) { + && PlayConditions.canDiscardFromPlay(self, game, Culture.ISENGARD, Race.ORC)) { ActivateCardAction action = new ActivateCardAction(self); action.appendCost( new ChooseAndDiscardCardsFromPlayEffect(action, playerId, 1, 1, Culture.ISENGARD, Race.ORC)); diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/rohan/Card6_091.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/rohan/Card6_091.java new file mode 100644 index 000000000..1482ef495 --- /dev/null +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set6/rohan/Card6_091.java @@ -0,0 +1,52 @@ +package com.gempukku.lotro.cards.set6.rohan; + +import com.gempukku.lotro.cards.AbstractPermanent; +import com.gempukku.lotro.cards.PlayConditions; +import com.gempukku.lotro.cards.effects.AddUntilEndOfPhaseModifierEffect; +import com.gempukku.lotro.cards.effects.choose.ChooseAndDiscardCardsFromPlayEffect; +import com.gempukku.lotro.cards.modifiers.OverwhelmedByMultiplierModifier; +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.timing.Action; + +import java.util.*; + +/** + * Set: Ents of Fangorn + * Side: Free + * Culture: Rohan + * Twilight Cost: 1 + * Type: Condition + * Game Text: Plays to your support area. Skirmish: Discard a mount borne by a [ROHAN] Man to prevent that Man from + * being overwhelmed unless his or her strength is tripled. + */ +public class Card6_091 extends AbstractPermanent { + public Card6_091() { + super(Side.FREE_PEOPLE, 1, CardType.CONDITION, Culture.ROHAN, Zone.SUPPORT, "Blood Has Been Spilled"); + } + + @Override + protected List getExtraPhaseActions(String playerId, LotroGame game, final PhysicalCard self) { + if (PlayConditions.canUseFPCardDuringPhase(game.getGameState(), Phase.SKIRMISH, self) + && PlayConditions.canDiscardFromPlay(self, game, PossessionClass.MOUNT, Filters.attachedTo(Culture.ROHAN, Race.MAN))) { + final ActivateCardAction action = new ActivateCardAction(self); + action.appendCost( + new ChooseAndDiscardCardsFromPlayEffect(action, playerId, 1, 1, PossessionClass.MOUNT, Filters.attachedTo(Culture.ROHAN, Race.MAN)) { + @Override + protected void cardsToBeDiscardedCallback(Collection cards) { + Set affectedCharacters = new HashSet(); + for (PhysicalCard card : cards) + affectedCharacters.add(card.getAttachedTo()) + action.appendEffect( + new AddUntilEndOfPhaseModifierEffect( + new OverwhelmedByMultiplierModifier(self, Filters.in(affectedCharacters), 3), Phase.SKIRMISH)); + } + }); + return Collections.singletonList(action); + } + return null; + } +}