From a9372e93ff0d955ed88cb4e3ae11c6bf408ae887 Mon Sep 17 00:00:00 2001 From: Oleg Agafonov Date: Wed, 17 Apr 2024 12:21:11 +0400 Subject: [PATCH] server: improved game stability on player's concede (related to #11460) --- .../java/mage/server/game/GameController.java | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/Mage.Server/src/main/java/mage/server/game/GameController.java b/Mage.Server/src/main/java/mage/server/game/GameController.java index 51b4c2e7011..26f4dbe596c 100644 --- a/Mage.Server/src/main/java/mage/server/game/GameController.java +++ b/Mage.Server/src/main/java/mage/server/game/GameController.java @@ -568,9 +568,17 @@ public class GameController implements GameCallback { } } break; - case CONCEDE: - game.concede(getPlayerId(userId)); + case CONCEDE: { + UUID playerId = getPlayerId(userId); + if (playerId != null) { + Player player = game.getPlayer(playerId); + if (player != null) { + game.informPlayers(player.getLogName() + " want to concede"); + game.setConcedingPlayer(getPlayerId(userId)); + } + } break; + } case MANA_AUTO_PAYMENT_OFF: game.setManaPaymentMode(getPlayerId(userId), false); break; @@ -600,7 +608,7 @@ public class GameController implements GameCallback { } } break; - case REVOKE_PERMISSIONS_TO_SEE_HAND_CARDS: + case REVOKE_PERMISSIONS_TO_SEE_HAND_CARDS: { UUID playerId = getPlayerId(userId); if (playerId != null) { Player player = game.getPlayer(playerId); @@ -609,6 +617,7 @@ public class GameController implements GameCallback { } } break; + } case REQUEST_PERMISSION_TO_SEE_HAND_CARDS: if (data instanceof UUID) { requestPermissionToSeeHandCards(userId, (UUID) data);