diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/effects/ChooseAndDiscardCardsFromHandEffect.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/effects/ChooseAndDiscardCardsFromHandEffect.java index e0ed362e8..e15d5e5fb 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/effects/ChooseAndDiscardCardsFromHandEffect.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/effects/ChooseAndDiscardCardsFromHandEffect.java @@ -27,6 +27,11 @@ public class ChooseAndDiscardCardsFromHandEffect extends UnrespondableEffect { this(action, playerId, cost, 1); } + @Override + public String getText() { + return "Discard " + _count + " card(s) from hand"; + } + @Override public boolean canPlayEffect(LotroGame game) { return (game.getGameState().getHand(_playerId).size() >= _count); diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/effects/RevealTopCardsOfDrawDeckEffect.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/effects/RevealTopCardsOfDrawDeckEffect.java new file mode 100644 index 000000000..786f22601 --- /dev/null +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/effects/RevealTopCardsOfDrawDeckEffect.java @@ -0,0 +1,27 @@ +package com.gempukku.lotro.cards.effects; + +import com.gempukku.lotro.game.PhysicalCard; +import com.gempukku.lotro.game.state.LotroGame; +import com.gempukku.lotro.logic.timing.UnrespondableEffect; + +import java.util.LinkedList; +import java.util.List; + +public abstract class RevealTopCardsOfDrawDeckEffect extends UnrespondableEffect { + private String _playerId; + private int _count; + + public RevealTopCardsOfDrawDeckEffect(String playerId, int count) { + _playerId = playerId; + _count = count; + } + + @Override + public void playEffect(LotroGame game) { + List deck = game.getGameState().getDeck(_playerId); + int count = Math.min(deck.size(), _count); + cardsRevealed(new LinkedList(deck.subList(0, count))); + } + + protected abstract void cardsRevealed(List cards); +} diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/dwarven/Card1_028.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/dwarven/Card1_028.java index 148065507..9afd8b0bf 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/dwarven/Card1_028.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/dwarven/Card1_028.java @@ -4,6 +4,7 @@ import com.gempukku.lotro.cards.AbstractEvent; import com.gempukku.lotro.cards.actions.PlayEventAction; import com.gempukku.lotro.cards.effects.DiscardCardFromDeckEffect; import com.gempukku.lotro.cards.effects.PutCardFromDeckIntoHandOrDiscardEffect; +import com.gempukku.lotro.cards.effects.RevealTopCardsOfDrawDeckEffect; import com.gempukku.lotro.common.Culture; import com.gempukku.lotro.common.Phase; import com.gempukku.lotro.common.Race; @@ -11,9 +12,7 @@ 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.timing.UnrespondableEffect; -import java.util.LinkedList; import java.util.List; /** @@ -45,13 +44,9 @@ public class Card1_028 extends AbstractEvent { public PlayEventAction getPlayCardAction(final String playerId, LotroGame game, PhysicalCard self, int twilightModifier) { final PlayEventAction action = new PlayEventAction(self); action.addEffect( - new UnrespondableEffect() { + new RevealTopCardsOfDrawDeckEffect(playerId, 3) { @Override - public void playEffect(LotroGame game) { - List deck = game.getGameState().getDeck(playerId); - int cardCount = Math.min(deck.size(), 3); - List cards = new LinkedList(deck.subList(0, cardCount)); - + protected void cardsRevealed(List cards) { for (PhysicalCard card : cards) { if (card.getBlueprint().getSide() == Side.FREE_PEOPLE) action.addEffect(new PutCardFromDeckIntoHandOrDiscardEffect(card)); diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_047.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_047.java index 8ecb6e86f..ddc80bd97 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_047.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/elven/Card1_047.java @@ -20,7 +20,6 @@ import com.gempukku.lotro.logic.modifiers.KeywordModifier; import com.gempukku.lotro.logic.modifiers.Modifier; import com.gempukku.lotro.logic.timing.Action; import com.gempukku.lotro.logic.timing.Effect; -import com.gempukku.lotro.logic.timing.UnrespondableEffect; import java.util.Collections; import java.util.LinkedList; @@ -57,23 +56,7 @@ public class Card1_047 extends AbstractAttachableFPPossession { possibleCosts.add( new ExertCharacterEffect(self.getAttachedTo())); possibleCosts.add( - new UnrespondableEffect() { - @Override - public String getText() { - return "Discard 2 cards"; - } - - @Override - public boolean canPlayEffect(LotroGame game) { - return game.getGameState().getHand(playerId).size() >= 2; - } - - @Override - public void playEffect(LotroGame game) { - action.addCost(new ChooseAndDiscardCardsFromHandEffect(action, playerId, true)); - action.addCost(new ChooseAndDiscardCardsFromHandEffect(action, playerId, true)); - } - }); + new ChooseAndDiscardCardsFromHandEffect(action, playerId, true, 2)); action.addCost( new ChoiceEffect(action, playerId, possibleCosts, true)); diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/moria/Card1_173.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/moria/Card1_173.java index 645e7da32..e4a9522f1 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/moria/Card1_173.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/moria/Card1_173.java @@ -56,8 +56,7 @@ public class Card1_173 extends AbstractPermanent { new UnrespondableEffect() { @Override public void playEffect(LotroGame game) { - WoundCharacterEffect woundEffect = (WoundCharacterEffect) effect; - woundEffect.prevent(); + ((WoundCharacterEffect) effect).prevent(); } }); return Collections.singletonList(action); diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/sauron/Card1_242.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/sauron/Card1_242.java index 0dbc8d528..42646af8f 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/sauron/Card1_242.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/sauron/Card1_242.java @@ -2,17 +2,13 @@ package com.gempukku.lotro.cards.set1.sauron; import com.gempukku.lotro.cards.AbstractPermanent; import com.gempukku.lotro.cards.PlayConditions; -import com.gempukku.lotro.cards.effects.ChooseAndDiscardCardsFromHandEffect; -import com.gempukku.lotro.cards.effects.DiscardCardFromDeckEffect; -import com.gempukku.lotro.cards.effects.PutCardFromDeckIntoHandOrDiscardEffect; -import com.gempukku.lotro.cards.effects.RemoveTwilightEffect; +import com.gempukku.lotro.cards.effects.*; 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.DefaultCostToEffectAction; import com.gempukku.lotro.logic.timing.Action; -import com.gempukku.lotro.logic.timing.UnrespondableEffect; import java.util.Collections; import java.util.List; @@ -47,12 +43,14 @@ public class Card1_242 extends AbstractPermanent { "and one other card from hand."); action.addCost(new RemoveTwilightEffect(3)); action.addEffect( - new UnrespondableEffect() { + new RevealTopCardsOfDrawDeckEffect(playerId, 1) { @Override - public void playEffect(LotroGame game) { - List deck = game.getGameState().getDeck(playerId); - if (deck.size() > 0) { - PhysicalCard topCard = deck.get(0); + protected void cardsRevealed(List cards) { + if (cards.size() == 0) { + action.addEffect( + new ChooseAndDiscardCardsFromHandEffect(action, playerId, false)); + } else { + PhysicalCard topCard = cards.get(0); if (topCard.getBlueprint().getCulture() == Culture.SAURON) action.addEffect( new PutCardFromDeckIntoHandOrDiscardEffect(topCard)); diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/sauron/Card1_243.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/sauron/Card1_243.java index 5289d799e..259c2878f 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/sauron/Card1_243.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/sauron/Card1_243.java @@ -6,7 +6,7 @@ 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.timing.UnrespondableEffect; +import com.gempukku.lotro.logic.effects.CorruptRingBearerEffect; /** * Set: The Fellowship of the Ring @@ -33,12 +33,7 @@ public class Card1_243 extends AbstractEvent { public PlayEventAction getPlayCardAction(String playerId, LotroGame game, PhysicalCard self, int twilightModifier) { PlayEventAction action = new PlayEventAction(self); action.addEffect( - new UnrespondableEffect() { - @Override - public void playEffect(LotroGame game) { - game.getGameState().setLoserPlayerId(game.getGameState().getCurrentPlayerId()); - } - }); + new CorruptRingBearerEffect()); return action; } diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/sauron/Card1_252.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/sauron/Card1_252.java index 23a800aa6..63818cb6b 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/sauron/Card1_252.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/sauron/Card1_252.java @@ -8,9 +8,9 @@ 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.DefaultCostToEffectAction; +import com.gempukku.lotro.logic.effects.CorruptRingBearerEffect; import com.gempukku.lotro.logic.timing.Action; import com.gempukku.lotro.logic.timing.EffectResult; -import com.gempukku.lotro.logic.timing.UnrespondableEffect; import java.util.Collections; import java.util.List; @@ -49,12 +49,7 @@ public class Card1_252 extends AbstractPermanent { && game.getGameState().getDeck(game.getGameState().getCurrentPlayerId()).size() == 0) { DefaultCostToEffectAction action = new DefaultCostToEffectAction(self, null, "Corrupt Ring-Bearer"); action.addEffect( - new UnrespondableEffect() { - @Override - public void playEffect(LotroGame game) { - game.getGameState().setLoserPlayerId(game.getGameState().getCurrentPlayerId()); - } - }); + new CorruptRingBearerEffect()); return Collections.singletonList(action); } return null; diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/shire/Card1_301.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/shire/Card1_301.java index ac4170b59..74c7cd3c6 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/shire/Card1_301.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/shire/Card1_301.java @@ -5,6 +5,7 @@ import com.gempukku.lotro.cards.PlayConditions; import com.gempukku.lotro.cards.effects.AddTwilightEffect; import com.gempukku.lotro.cards.effects.DiscardCardFromDeckEffect; import com.gempukku.lotro.cards.effects.PutCardFromDeckIntoHandOrDiscardEffect; +import com.gempukku.lotro.cards.effects.RevealTopCardsOfDrawDeckEffect; import com.gempukku.lotro.common.Culture; import com.gempukku.lotro.common.Keyword; import com.gempukku.lotro.common.Phase; @@ -13,10 +14,8 @@ import com.gempukku.lotro.game.PhysicalCard; import com.gempukku.lotro.game.state.LotroGame; import com.gempukku.lotro.logic.actions.DefaultCostToEffectAction; import com.gempukku.lotro.logic.timing.Action; -import com.gempukku.lotro.logic.timing.UnrespondableEffect; import java.util.Collections; -import java.util.LinkedList; import java.util.List; /** @@ -43,13 +42,9 @@ public class Card1_301 extends AbstractAlly { final DefaultCostToEffectAction action = new DefaultCostToEffectAction(self, Keyword.FELLOWSHIP, "Add (2) to reveal the top 3 cards of your draw deck. Take all SHIRE cards revealed into hand and discard the rest."); action.addCost(new AddTwilightEffect(2)); action.addEffect( - new UnrespondableEffect() { + new RevealTopCardsOfDrawDeckEffect(playerId, 3) { @Override - public void playEffect(LotroGame game) { - List deck = game.getGameState().getDeck(playerId); - int cardCount = Math.min(deck.size(), 3); - List cards = new LinkedList(deck.subList(0, cardCount)); - + protected void cardsRevealed(List cards) { for (PhysicalCard card : cards) { if (card.getBlueprint().getCulture() == Culture.SHIRE) action.addEffect(new PutCardFromDeckIntoHandOrDiscardEffect(card)); @@ -58,7 +53,6 @@ public class Card1_301 extends AbstractAlly { } } }); - return Collections.singletonList(action); } return null; diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/wraith/Card1_207.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/wraith/Card1_207.java index c3a649ce3..bd4b02955 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/wraith/Card1_207.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/wraith/Card1_207.java @@ -3,6 +3,7 @@ package com.gempukku.lotro.cards.set1.wraith; import com.gempukku.lotro.cards.AbstractPermanent; import com.gempukku.lotro.cards.PlayConditions; import com.gempukku.lotro.cards.effects.CancelEffect; +import com.gempukku.lotro.cards.effects.TransferPermanentEffect; import com.gempukku.lotro.common.*; import com.gempukku.lotro.filters.Filters; import com.gempukku.lotro.game.PhysicalCard; @@ -16,7 +17,6 @@ import com.gempukku.lotro.logic.modifiers.ModifiersQuerying; import com.gempukku.lotro.logic.timing.Action; import com.gempukku.lotro.logic.timing.Effect; import com.gempukku.lotro.logic.timing.EffectResult; -import com.gempukku.lotro.logic.timing.UnrespondableEffect; import java.util.Collections; import java.util.List; @@ -43,13 +43,7 @@ public class Card1_207 extends AbstractPermanent { && game.getGameState().getSkirmish().getFellowshipCharacter() != null) { DefaultCostToEffectAction action = new DefaultCostToEffectAction(self, Keyword.SKIRMISH, "Transfer this condition to character skirmishing a Nazgul"); action.addEffect( - new UnrespondableEffect() { - @Override - public void playEffect(LotroGame game) { - PhysicalCard fpCharacter = game.getGameState().getSkirmish().getFellowshipCharacter(); - game.getGameState().attachCard(self, fpCharacter); - } - }); + new TransferPermanentEffect(self, game.getGameState().getSkirmish().getFellowshipCharacter())); return Collections.singletonList(action); } return null; diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/wraith/Card1_209.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/wraith/Card1_209.java index 731f66878..be55ed66d 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/wraith/Card1_209.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/wraith/Card1_209.java @@ -3,6 +3,7 @@ package com.gempukku.lotro.cards.set1.wraith; import com.gempukku.lotro.cards.AbstractPermanent; import com.gempukku.lotro.cards.PlayConditions; import com.gempukku.lotro.cards.effects.AddBurdenEffect; +import com.gempukku.lotro.cards.effects.TransferPermanentEffect; import com.gempukku.lotro.common.*; import com.gempukku.lotro.filters.Filters; import com.gempukku.lotro.game.PhysicalCard; @@ -11,7 +12,6 @@ import com.gempukku.lotro.logic.actions.DefaultCostToEffectAction; import com.gempukku.lotro.logic.effects.WoundCharacterEffect; import com.gempukku.lotro.logic.timing.Action; import com.gempukku.lotro.logic.timing.EffectResult; -import com.gempukku.lotro.logic.timing.UnrespondableEffect; import java.util.Collections; import java.util.List; @@ -39,14 +39,7 @@ public class Card1_209 extends AbstractPermanent { && Filters.canSpot(game.getGameState(), game.getModifiersQuerying(), Filters.sameCard(game.getGameState().getSkirmish().getFellowshipCharacter()), Filters.not(Filters.hasAttached(Filters.name("Blade Tip"))))) { DefaultCostToEffectAction action = new DefaultCostToEffectAction(self, null, "Transfer condition to losing character"); action.addEffect( - new UnrespondableEffect() { - @Override - public void playEffect(LotroGame game) { - PhysicalCard fpCharacter = game.getGameState().getSkirmish().getFellowshipCharacter(); - game.getGameState().attachCard(self, fpCharacter); - - } - }); + new TransferPermanentEffect(self, game.getGameState().getSkirmish().getFellowshipCharacter())); return Collections.singletonList(action); } return null; diff --git a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/wraith/Card1_216.java b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/wraith/Card1_216.java index a7aa40184..a31491fb3 100644 --- a/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/wraith/Card1_216.java +++ b/gemp-lotr/gemp-lotr-cards/src/main/java/com/gempukku/lotro/cards/set1/wraith/Card1_216.java @@ -2,6 +2,7 @@ package com.gempukku.lotro.cards.set1.wraith; import com.gempukku.lotro.cards.AbstractAttachable; import com.gempukku.lotro.cards.PlayConditions; +import com.gempukku.lotro.cards.effects.TransferPermanentEffect; import com.gempukku.lotro.cards.modifiers.StrengthModifier; import com.gempukku.lotro.common.*; import com.gempukku.lotro.filters.Filter; @@ -13,7 +14,6 @@ import com.gempukku.lotro.logic.actions.DefaultCostToEffectAction; import com.gempukku.lotro.logic.effects.DiscardCardFromPlayEffect; import com.gempukku.lotro.logic.modifiers.Modifier; import com.gempukku.lotro.logic.timing.Action; -import com.gempukku.lotro.logic.timing.UnrespondableEffect; import java.util.Collections; import java.util.List; @@ -62,12 +62,7 @@ public class Card1_216 extends AbstractAttachable { final PhysicalCard bladeTip = Filters.findFirstActive(game.getGameState(), game.getModifiersQuerying(), Filters.name("Blade Tip"), Filters.owner(playerId), Filters.zone(Zone.SHADOW_SUPPORT)); if (bladeTip != null) action.addEffect( - new UnrespondableEffect() { - @Override - public void playEffect(LotroGame game) { - game.getGameState().attachCard(bladeTip, fpChar); - } - }); + new TransferPermanentEffect(bladeTip, fpChar)); } } return Collections.singletonList(action); diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/game/state/GameState.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/game/state/GameState.java index c9951251f..0578e9d10 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/game/state/GameState.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/game/state/GameState.java @@ -173,6 +173,10 @@ public class GameState { } public void transferCard(PhysicalCard card, PhysicalCard transferTo) { + if (card.getZone() != Zone.ATTACHED) { + removeCardFromZone(card); + addCardToZone(card, Zone.ATTACHED); + } ((PhysicalCardImpl) card).attachTo((PhysicalCardImpl) transferTo); } diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/effects/CorruptRingBearerEffect.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/effects/CorruptRingBearerEffect.java new file mode 100644 index 000000000..967f2bdb9 --- /dev/null +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/effects/CorruptRingBearerEffect.java @@ -0,0 +1,11 @@ +package com.gempukku.lotro.logic.effects; + +import com.gempukku.lotro.game.state.LotroGame; +import com.gempukku.lotro.logic.timing.UnrespondableEffect; + +public class CorruptRingBearerEffect extends UnrespondableEffect { + @Override + public void playEffect(LotroGame game) { + game.getGameState().setLoserPlayerId(game.getGameState().getCurrentPlayerId()); + } +} diff --git a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/rules/LoseConditionsRule.java b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/rules/LoseConditionsRule.java index d80754a80..1181670a7 100644 --- a/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/rules/LoseConditionsRule.java +++ b/gemp-lotr/gemp-lotr-logic/src/main/java/com/gempukku/lotro/logic/timing/rules/LoseConditionsRule.java @@ -7,6 +7,7 @@ import com.gempukku.lotro.game.PhysicalCard; import com.gempukku.lotro.game.state.LotroGame; import com.gempukku.lotro.game.state.actions.DefaultActionsEnvironment; import com.gempukku.lotro.logic.actions.DefaultCostToEffectAction; +import com.gempukku.lotro.logic.effects.CorruptRingBearerEffect; import com.gempukku.lotro.logic.timing.Action; import com.gempukku.lotro.logic.timing.EffectResult; import com.gempukku.lotro.logic.timing.UnrespondableEffect; @@ -42,12 +43,7 @@ public class LoseConditionsRule { if (game.getGameState().getBurdens() >= ringBearerResistance) { DefaultCostToEffectAction action = new DefaultCostToEffectAction(null, null, "Losing the game due to Ring-Bearer corruption"); action.addEffect( - new UnrespondableEffect() { - @Override - public void playEffect(LotroGame game) { - game.playerLost(game.getGameState().getCurrentPlayerId()); - } - }); + new CorruptRingBearerEffect()); return Collections.singletonList(action); } return null;