From 54de6b56d4164d86e68774ff72405b41cd1cc941 Mon Sep 17 00:00:00 2001 From: Phallen Cassidy Date: Wed, 21 Aug 2019 23:51:32 -0400 Subject: [PATCH] Reworked 2R57 "Final Cry" Added a second response action to allow the card to work if The Balrog dies without overhauling the skirmish phase to check for items. Technically wrong, but practically right for almost every scenario. --- .../lotro/cards/set2/moria/Card2_057.java | 22 ++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set2/moria/Card2_057.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set2/moria/Card2_057.java index af09e55d5..636215532 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set2/moria/Card2_057.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set2/moria/Card2_057.java @@ -1,8 +1,6 @@ package com.gempukku.lotro.cards.set2.moria; -import com.gempukku.lotro.common.CardType; -import com.gempukku.lotro.common.Culture; -import com.gempukku.lotro.common.Side; +import com.gempukku.lotro.common.*; import com.gempukku.lotro.filters.Filters; import com.gempukku.lotro.game.PhysicalCard; import com.gempukku.lotro.game.state.LotroGame; @@ -10,7 +8,9 @@ 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.WoundCharactersEffect; +import com.gempukku.lotro.logic.timing.Effect; import com.gempukku.lotro.logic.timing.EffectResult; +import com.gempukku.lotro.logic.timing.TriggerConditions; import com.gempukku.lotro.logic.timing.results.SkirmishAboutToEndResult; import java.util.Collections; @@ -50,4 +50,20 @@ public class Card2_057 extends AbstractResponseEvent { } return null; } + + @Override + public List getOptionalInHandBeforeActions(String playerId, LotroGame game, Effect effect, final PhysicalCard self) { + if (PlayUtils.checkPlayRequirements(game, self, Filters.any, 0, 0, false, false) + && game.getGameState().getCurrentPhase() == Phase.SKIRMISH + && (TriggerConditions.isGettingKilled(effect, game, Filters.hasAttached(Filters.name("Whip of Many Thongs"))) + || TriggerConditions.isGettingDiscarded(effect, game, Filters.hasAttached(Filters.name("Whip of Many Thongs"))))) { + PlayEventAction action = new PlayEventAction(self); + action.appendEffect( + new WoundCharactersEffect(self, CardType.COMPANION, Filters.inSkirmishAgainst(Filters.hasAttached(Filters.name("Whip of Many Thongs"))))); + action.appendEffect( + new WoundCharactersEffect(self, CardType.COMPANION, Filters.inSkirmishAgainst(Filters.hasAttached(Filters.name("Whip of Many Thongs"))))); + return Collections.singletonList(action); + } + return null; + } }