From 769e21115b66f79c18b141dce3d5a143d6a70050 Mon Sep 17 00:00:00 2001 From: Windyboy Date: Sat, 17 Sep 2022 00:23:07 +0800 Subject: [PATCH 1/2] Fix MiniGame Error The owner of the room would get stuck if the visitor left the miniroom by closing the game --- src/main/java/client/Character.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/main/java/client/Character.java b/src/main/java/client/Character.java index 045a45c6ba..df78004c3d 100644 --- a/src/main/java/client/Character.java +++ b/src/main/java/client/Character.java @@ -5551,6 +5551,9 @@ public class Character extends AbstractCharacterObject { if (game.isOwner(this)) { game.closeRoom(forceClose); } else { + if (game.isMatchInProgress()) { + game.minigameMatchOwnerWins(true); + } game.removeVisitor(forceClose, this); } } From fd54c764e7fcbcdec0e55a0f8f9bba3a7ff4a743 Mon Sep 17 00:00:00 2001 From: Windyboy Date: Thu, 22 Sep 2022 19:58:31 +0800 Subject: [PATCH 2/2] Change the position of the logic handle --- src/main/java/client/Character.java | 3 --- src/main/java/server/maps/MiniGame.java | 3 +++ 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/client/Character.java b/src/main/java/client/Character.java index df78004c3d..045a45c6ba 100644 --- a/src/main/java/client/Character.java +++ b/src/main/java/client/Character.java @@ -5551,9 +5551,6 @@ public class Character extends AbstractCharacterObject { if (game.isOwner(this)) { game.closeRoom(forceClose); } else { - if (game.isMatchInProgress()) { - game.minigameMatchOwnerWins(true); - } game.removeVisitor(forceClose, this); } } diff --git a/src/main/java/server/maps/MiniGame.java b/src/main/java/server/maps/MiniGame.java index 362c58ebeb..010d4c7a5b 100644 --- a/src/main/java/server/maps/MiniGame.java +++ b/src/main/java/server/maps/MiniGame.java @@ -136,6 +136,9 @@ public class MiniGame extends AbstractMapObject { public void removeVisitor(boolean forceClose, Character challenger) { if (visitor == challenger) { + if (isMatchInProgress()) { // owner is winner if visitor leave in progress + minigameMatchOwnerWins(true); + } if (forceClose) { visitor.sendPacket(PacketCreator.getMiniGameClose(true, 4)); }