From 2b853a2d30732817357a00ee2a65bcd32fc3b0ba Mon Sep 17 00:00:00 2001 From: Somebody Date: Sat, 9 Nov 2024 19:27:30 +0800 Subject: [PATCH] Fix MoC Double Stage --- GameServer/Game/Challenge/ChallengeInstance.cs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/GameServer/Game/Challenge/ChallengeInstance.cs b/GameServer/Game/Challenge/ChallengeInstance.cs index 37f1eacd..872d46f8 100644 --- a/GameServer/Game/Challenge/ChallengeInstance.cs +++ b/GameServer/Game/Challenge/ChallengeInstance.cs @@ -357,6 +357,9 @@ public class ChallengeInstance { // Increment and reset stage CurrentStage++; + // Unload scene group for stage 1 + await Player.SceneInstance!.EntityLoader!.UnloadGroup(Excel.MazeGroupID1); + // Load scene group for stage 2 await Player.SceneInstance!.EntityLoader!.LoadGroup(Excel.MazeGroupID2); @@ -367,11 +370,12 @@ public class ChallengeInstance SavedMp = Player.LineupManager.GetCurLineup()!.Mp; // Move player - if (Excel.MapEntranceID2 != 0) + if (Excel.MapEntranceID2 != 0 && Excel.MapEntranceID2 != Excel.MapEntranceID) { await Player.EnterScene(Excel.MapEntranceID2, 0, true); StartPos = Player.Data.Pos!; StartRot = Player.Data.Rot!; + await Player.SceneInstance!.EntityLoader!.UnloadGroup(Excel.MazeGroupID1); await Player.SceneInstance!.EntityLoader!.LoadGroup(Excel.MazeGroupID2); } else