From a99f8cf50d47af9ae19eebef685e95f1447fc8d1 Mon Sep 17 00:00:00 2001 From: StopWuyu Date: Sun, 15 Dec 2024 11:06:16 +0800 Subject: [PATCH] fix: Herta skill didnt work in multi scene --- .../Packet/Recv/MarkChest/HandlerUpdateMarkChestCsReq.cs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/GameServer/Server/Packet/Recv/MarkChest/HandlerUpdateMarkChestCsReq.cs b/GameServer/Server/Packet/Recv/MarkChest/HandlerUpdateMarkChestCsReq.cs index 9901f26d..f572065e 100644 --- a/GameServer/Server/Packet/Recv/MarkChest/HandlerUpdateMarkChestCsReq.cs +++ b/GameServer/Server/Packet/Recv/MarkChest/HandlerUpdateMarkChestCsReq.cs @@ -26,6 +26,14 @@ public class HandlerUpdateMarkChestCsReq : Handler }); } + foreach (var chestData in (player.SceneData!.MarkedChestData.GetValueOrDefault((int)req.FuncId) ?? []).Where(chestData => markedChestData.All(x => + !(x.ConfigId == chestData.ConfigId && x.FloorId == chestData.FloorId && + x.GroupId == chestData.GroupId)))) + { + // Add the existing marked chest data if it is not in the new marked chest data + markedChestData.Add(chestData); + } + player.SceneData!.MarkedChestData[(int)req.FuncId] = markedChestData; await connection.SendPacket(new PacketUpdateMarkChestScRsp(req.FuncId, player));