mirror of
https://github.com/rafi1212122/PemukulPaku
synced 2025-12-13 17:34:35 +01:00
46 lines
1.8 KiB
C#
46 lines
1.8 KiB
C#
using Common.Database;
|
|
using Common.Resources.Proto;
|
|
|
|
namespace PemukulPaku.GameServer.Handlers
|
|
{
|
|
[PacketCmdId(CmdId.DressEquipmentReq)]
|
|
internal class DressEquipmentReqHandler : IPacketHandler
|
|
{
|
|
public void Handle(Session session, Packet packet)
|
|
{
|
|
DressEquipmentReq Data = packet.GetDecodedBody<DressEquipmentReq>();
|
|
DressEquipmentRsp Rsp = new() { retcode = DressEquipmentRsp.Retcode.Succ };
|
|
|
|
AvatarScheme? avatar = session.Player.AvatarList.FirstOrDefault(avatar => avatar.AvatarId == Data.AvatarId);
|
|
if (avatar == null)
|
|
{
|
|
Rsp.retcode = DressEquipmentRsp.Retcode.AvatarNotExist;
|
|
}
|
|
else
|
|
{
|
|
switch (Data.Slot)
|
|
{
|
|
case EquipmentSlot.EquipmentSlotWeapon1:
|
|
avatar.WeaponUniqueId = Data.UniqueId;
|
|
break;
|
|
case EquipmentSlot.EquipmentSlotStigmata1:
|
|
avatar.StigmataUniqueId1 = Data.UniqueId;
|
|
break;
|
|
case EquipmentSlot.EquipmentSlotStigmata2:
|
|
avatar.StigmataUniqueId2 = Data.UniqueId;
|
|
break;
|
|
case EquipmentSlot.EquipmentSlotStigmata3:
|
|
avatar.StigmataUniqueId3 = Data.UniqueId;
|
|
break;
|
|
default:
|
|
Rsp.retcode = DressEquipmentRsp.Retcode.EquipmentSlotError;
|
|
break;
|
|
}
|
|
session.ProcessPacket(Packet.FromProto(new GetAvatarDataReq() { AvatarIdLists = new uint[] { avatar.AvatarId } }, CmdId.GetAvatarDataReq));
|
|
}
|
|
|
|
session.Send(Packet.FromProto(Rsp, CmdId.DressEquipmentRsp));
|
|
}
|
|
}
|
|
}
|