diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/effects/ReturnCardsToHandEffect.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/effects/ReturnCardsToHandEffect.java index ba20b2fd1..ee610c7dd 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/effects/ReturnCardsToHandEffect.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/effects/ReturnCardsToHandEffect.java @@ -10,6 +10,7 @@ import com.gempukku.lotro.logic.GameUtils; import com.gempukku.lotro.logic.timing.AbstractEffect; import com.gempukku.lotro.logic.timing.Effect; import com.gempukku.lotro.logic.timing.results.DiscardCardsFromPlayResult; +import com.gempukku.lotro.logic.timing.results.ReturnCardsToHandResult; import java.util.Collection; import java.util.HashSet; @@ -80,7 +81,8 @@ public class ReturnCardsToHandEffect extends AbstractEffect { for (PhysicalCard discardedCard : discardedFromPlay) game.getActionsEnvironment().emitEffectResult(new DiscardCardsFromPlayResult(discardedCard)); - + for (PhysicalCard cardReturned : cardsToReturnToHand) + game.getActionsEnvironment().emitEffectResult(new ReturnCardsToHandResult(cardReturned)); return new FullEffectResult(true, true); } diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/EffectResult.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/EffectResult.java index 739fa0503..8880d5681 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/EffectResult.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/EffectResult.java @@ -12,6 +12,7 @@ public abstract class EffectResult { // Translated to new format ANY_NUMBER_KILLED, FOR_EACH_KILLED, FOR_EACH_HEALED, FOR_EACH_WOUNDED, FOR_EACH_EXERTED, FOR_EACH_DISCARDED_FROM_PLAY, + FOR_EACH_RETURNED_TO_HAND, FOR_EACH_DISCARDED_FROM_HAND, diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/TurnProcedure.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/TurnProcedure.java index f5825abb9..ff8cc1b40 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/TurnProcedure.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/TurnProcedure.java @@ -13,7 +13,9 @@ import com.gempukku.lotro.logic.decisions.CardActionSelectionDecision; import com.gempukku.lotro.logic.decisions.DecisionResultInvalidException; import com.gempukku.lotro.logic.timing.processes.GameProcess; import com.gempukku.lotro.logic.timing.processes.pregame.BiddingGameProcess; +import com.gempukku.lotro.logic.timing.results.DiscardCardsFromPlayResult; import com.gempukku.lotro.logic.timing.results.KilledResult; +import com.gempukku.lotro.logic.timing.results.ReturnCardsToHandResult; import com.gempukku.lotro.logic.timing.rules.CharacterDeathRule; import com.gempukku.lotro.logic.timing.rules.InitiativeChangeRule; @@ -163,6 +165,16 @@ public class TurnProcedure { if (Filters.filter(killResult.getKilledCards(), _game.getGameState(), _game.getModifiersQuerying(), Filters.ringBearer).size() > 0) return true; } + if (effectResult.getType() == EffectResult.Type.FOR_EACH_RETURNED_TO_HAND) { + ReturnCardsToHandResult returnResult = (ReturnCardsToHandResult) effectResult; + if (returnResult.getReturnedCard() == _game.getGameState().getRingBearer(_game.getGameState().getCurrentPlayerId())) + return true; + } + if (effectResult.getType() == EffectResult.Type.FOR_EACH_DISCARDED_FROM_PLAY) { + DiscardCardsFromPlayResult discardResult = (DiscardCardsFromPlayResult) effectResult; + if (discardResult.getDiscardedCard() == _game.getGameState().getRingBearer(_game.getGameState().getCurrentPlayerId())) + return true; + } } return false; } diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/results/ReturnCardsToHandResult.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/results/ReturnCardsToHandResult.java new file mode 100644 index 000000000..47c9f2100 --- /dev/null +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/results/ReturnCardsToHandResult.java @@ -0,0 +1,17 @@ +package com.gempukku.lotro.logic.timing.results; + +import com.gempukku.lotro.game.PhysicalCard; +import com.gempukku.lotro.logic.timing.EffectResult; + +public class ReturnCardsToHandResult extends EffectResult { + private PhysicalCard _card; + + public ReturnCardsToHandResult(PhysicalCard card) { + super(Type.FOR_EACH_RETURNED_TO_HAND); + _card = card; + } + + public PhysicalCard getReturnedCard() { + return _card; + } +}