From 5ac52d3dd118377244ca73243d33d6ec5fff0c2e Mon Sep 17 00:00:00 2001 From: rfi Date: Fri, 8 Dec 2023 14:34:08 +0700 Subject: [PATCH] EquipPutOnRequest now support sites --- AscNet.GameServer/Handlers/EquipModule.cs | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/AscNet.GameServer/Handlers/EquipModule.cs b/AscNet.GameServer/Handlers/EquipModule.cs index d1a0128..4601365 100644 --- a/AscNet.GameServer/Handlers/EquipModule.cs +++ b/AscNet.GameServer/Handlers/EquipModule.cs @@ -180,11 +180,16 @@ namespace AscNet.GameServer.Handlers public static void EquipPutOnRequestHandler(Session session, Packet.Request packet) { EquipPutOnRequest request = packet.Deserialize(); - var prevEquip = session.character.Equips.Find(x => x.CharacterId == request.CharacterId); + + var prevEquip = session.character.Equips.Find(x => x.CharacterId == request.CharacterId && TableReaderV2.Parse().Find(t => t.Id == x.TemplateId)?.Site == request.Site); var toEquip = session.character.Equips.Find(x => x.Id == request.EquipId); + if (prevEquip is not null && toEquip is not null) { prevEquip.CharacterId = 0; + } + if (toEquip is not null) + { toEquip.CharacterId = request.CharacterId; } else @@ -194,10 +199,10 @@ namespace AscNet.GameServer.Handlers return; } - NotifyEquipDataList notifyEquipData = new() - { - EquipDataList = { prevEquip, toEquip } - }; + NotifyEquipDataList notifyEquipData = new(); + notifyEquipData.EquipDataList.Add(toEquip); + if (prevEquip is not null) + notifyEquipData.EquipDataList.Add(prevEquip); session.SendPush(notifyEquipData); session.SendResponse(new EquipPutOnResponse(), packet.Id);