Files
DanhengServer-OpenSource/GameServer/Server/Packet/Send/Avatar/PacketGetMultiPathAvatarInfoScRsp.cs
2024-08-05 13:16:19 +08:00

33 lines
1.4 KiB
C#

using EggLink.DanhengServer.Data;
using EggLink.DanhengServer.GameServer.Game.Player;
using EggLink.DanhengServer.Kcp;
using EggLink.DanhengServer.Proto;
namespace EggLink.DanhengServer.GameServer.Server.Packet.Send.Avatar;
public class PacketGetMultiPathAvatarInfoScRsp : BasePacket
{
public PacketGetMultiPathAvatarInfoScRsp(PlayerInstance player) : base(CmdIds.GetMultiPathAvatarInfoScRsp)
{
var proto = new GetMultiPathAvatarInfoScRsp();
foreach (var multiPathAvatar in GameData.MultiplePathAvatarConfigData.Values)
if (!proto.CurAvatarPath.ContainsKey((uint)multiPathAvatar.BaseAvatarID))
{
var avatar = player.AvatarManager!.GetAvatar(multiPathAvatar.BaseAvatarID);
if (avatar != null)
{
proto.BasicTypeIdList.Add((uint)avatar.PathId);
var pathId = avatar.PathId > 0 ? avatar.PathId : avatar.AvatarId;
if (pathId == 8001)
if (player.Data.CurrentGender != Gender.Man)
pathId++;
proto.CurAvatarPath.Add((uint)avatar.AvatarId, (MultiPathAvatarType)pathId);
if (avatar.AvatarId == multiPathAvatar.BaseAvatarID)
proto.MultiPathAvatarInfoList.Add(avatar.ToAvatarPathProto());
}
}
SetData(proto);
}
}