From ebef329bc3a380369d4865419229f31fe9045c14 Mon Sep 17 00:00:00 2001 From: Oleg Agafonov Date: Sat, 17 Jun 2023 00:53:27 +0400 Subject: [PATCH] Realms Uncharted - fixed game error on controller disconnect --- Mage.Sets/src/mage/cards/r/RealmsUncharted.java | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/Mage.Sets/src/mage/cards/r/RealmsUncharted.java b/Mage.Sets/src/mage/cards/r/RealmsUncharted.java index 9d736dadd6d..956b486843e 100644 --- a/Mage.Sets/src/mage/cards/r/RealmsUncharted.java +++ b/Mage.Sets/src/mage/cards/r/RealmsUncharted.java @@ -83,14 +83,15 @@ class RealmsUnchartedEffect extends OneShotEffect { targetOpponent.setNotTarget(true); player.choose(outcome, targetOpponent, source, game); Player opponent = game.getPlayer(targetOpponent.getFirstTarget()); - Cards cardsToKeep = new CardsImpl(); - cardsToKeep.addAll(cards); - TargetCard targetDiscard = new TargetCard(2, Zone.LIBRARY, filter2); - if (opponent.choose(Outcome.Discard, cards, targetDiscard, source, game)) { - cardsToKeep.removeIf(targetDiscard.getTargets()::contains); - cards.removeAll(cardsToKeep); + if (opponent != null) { + Cards cardsToKeep = new CardsImpl(cards); + TargetCard targetDiscard = new TargetCard(2, Zone.LIBRARY, filter2); + if (opponent.choose(Outcome.Discard, cards, targetDiscard, source, game)) { + cardsToKeep.removeIf(targetDiscard.getTargets()::contains); + cards.removeAll(cardsToKeep); + } + player.moveCards(cardsToKeep, Zone.HAND, source, game); } - player.moveCards(cardsToKeep, Zone.HAND, source, game); } player.moveCards(cards, Zone.GRAVEYARD, source, game);