From 812c566f39cb576ec35fb9037d8839a6d97a790a Mon Sep 17 00:00:00 2001 From: rfi Date: Sat, 9 Dec 2023 09:23:54 +0700 Subject: [PATCH] equipment take off --- AscNet.GameServer/Handlers/EquipModule.cs | 27 +++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/AscNet.GameServer/Handlers/EquipModule.cs b/AscNet.GameServer/Handlers/EquipModule.cs index 4601365..86e0019 100644 --- a/AscNet.GameServer/Handlers/EquipModule.cs +++ b/AscNet.GameServer/Handlers/EquipModule.cs @@ -49,6 +49,18 @@ namespace AscNet.GameServer.Handlers public int Code; } + [MessagePackObject(true)] + public class EquipTakeOffRequest + { + public List EquipIds; + } + + [MessagePackObject(true)] + public class EquipTakeOffResponse + { + public int Code; + } + [MessagePackObject(true)] public class EquipLevelUpRequest { @@ -207,5 +219,20 @@ namespace AscNet.GameServer.Handlers session.SendResponse(new EquipPutOnResponse(), packet.Id); } + + [RequestPacketHandler("EquipTakeOffRequest")] + public static void EquipTakeOffRequestHandler(Session session, Packet.Request packet) + { + EquipTakeOffRequest request = packet.Deserialize(); + + foreach (var equipId in request.EquipIds) + { + var equip = session.character.Equips.Find(x => x.Id == equipId); + if (equip is not null) + equip.CharacterId = 0; + } + + session.SendResponse(new EquipTakeOffResponse(), packet.Id); + } } }