CustomHead and Frame impl, with GetMainDataRsp fix

This commit is contained in:
rafi1212122
2023-06-07 10:21:58 +07:00
parent f95f370a48
commit cd2087f6cb
20 changed files with 324 additions and 16 deletions

View File

@@ -8,7 +8,7 @@ namespace PemukulPaku.GameServer.Handlers
public void Handle(Session session, Packet packet)
{
GetFrameDataRsp Rsp = new() { retcode = GetFrameDataRsp.Retcode.Succ, IsAll = true };
Rsp.FrameLists.Add(new FrameData() { Id = 200001 });
Rsp.FrameLists.AddRange(Common.Utils.ExcelReader.FrameData.GetInstance().All.Select(x => new FrameData() { Id = (uint)x.Id }));
session.Send(Packet.FromProto(Rsp, CmdId.GetFrameDataRsp));
}

View File

@@ -0,0 +1,49 @@
using Common.Database;
using Common.Resources.Proto;
using Common.Utils.ExcelReader;
using PemukulPaku.GameServer.Game;
namespace PemukulPaku.GameServer.Handlers.Two
{
[PacketCmdId(CmdId.GetOtherPlayerCardDataReq)]
internal class GetOtherPlayerCardDataReqHandler : IPacketHandler
{
public void Handle(Session session, Packet packet)
{
GetOtherPlayerCardDataReq Data = packet.GetDecodedBody<GetOtherPlayerCardDataReq>();
UserScheme? user = User.FromUid(Data.TargetUid);
GetOtherPlayerCardDataRsp Rsp = new() { retcode = GetOtherPlayerCardDataRsp.Retcode.Succ, TargetUid = Data.TargetUid };
if(user is not null)
{
Player player = new(user);
Rsp.CardData = new()
{
Uid = player.User.Uid,
MsgData = new()
{
MsgIndex = 0,
MsgConfig = 1
},
OnPhonePendantId = 350005
};
Rsp.PlayerData = new()
{
Uid = player.User.Uid,
Nickname = player.User.Nick,
Level = (uint)PlayerLevelData.GetInstance().CalculateLevel(player.User.Exp).Level,
SelfDesc = player.User.SelfDesc,
CustomHeadId = (uint)player.User.CustomHeadId,
FrameId = player.User.FrameId < 200001 ? 200001 : (uint)player.User.FrameId,
LeaderAvatar = player.AvatarList.FirstOrDefault(x => x.AvatarId == player.User.AvatarTeamList.FirstOrDefault()?.AvatarIdLists[0])?.ToDetailData(player.Equipment) ?? new() { AvatarId = 101 }
};
}
else
{
Rsp.retcode = GetOtherPlayerCardDataRsp.Retcode.Fail;
}
session.Send(Packet.FromProto(Rsp, CmdId.GetOtherPlayerCardDataRsp));
}
}
}

View File

@@ -0,0 +1,22 @@
using Common.Resources.Proto;
namespace PemukulPaku.GameServer.Handlers.Two
{
[PacketCmdId(CmdId.SetFrameUseReq)]
internal class SetFrameUseReqHandler : IPacketHandler
{
public void Handle(Session session, Packet packet)
{
SetFrameUseReq Data = packet.GetDecodedBody<SetFrameUseReq>();
session.Player.User.FrameId = (int)Data.FrameId;
GetMainDataRsp mainDataRsp = new()
{
retcode = GetMainDataRsp.Retcode.Succ,
UseFrameId = Data.FrameId,
TypeLists = new uint[] { 26 }
};
session.Send(Packet.FromProto(mainDataRsp, CmdId.GetMainDataRsp), Packet.FromProto(new SetFrameUseRsp() { FrameId = Data.FrameId, retcode = SetFrameUseRsp.Retcode.Succ }, CmdId.SetFrameUseRsp));
}
}
}