mirror of
https://github.com/rafi1212122/PemukulPaku
synced 2025-12-14 18:04:35 +01:00
CustomHead and Frame impl, with GetMainDataRsp fix
This commit is contained in:
@@ -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));
|
||||
}
|
||||
|
||||
49
GameServer/Handlers/Two/GetOtherPlayerCardDataReqHandler.cs
Normal file
49
GameServer/Handlers/Two/GetOtherPlayerCardDataReqHandler.cs
Normal 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));
|
||||
}
|
||||
}
|
||||
}
|
||||
22
GameServer/Handlers/Two/SetFrameUseReqHandler.cs
Normal file
22
GameServer/Handlers/Two/SetFrameUseReqHandler.cs
Normal 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));
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user