mirror of
https://github.com/rafi1212122/PemukulPaku
synced 2025-12-14 21:04:36 +01:00
handlers folder re-strucutring
This commit is contained in:
50
GameServer/Handlers/One/GetPlayerTokenReqHandler.cs
Normal file
50
GameServer/Handlers/One/GetPlayerTokenReqHandler.cs
Normal file
@@ -0,0 +1,50 @@
|
||||
using Common.Resources.Proto;
|
||||
using Common.Database;
|
||||
using Common;
|
||||
|
||||
namespace PemukulPaku.GameServer.Handlers
|
||||
{
|
||||
[PacketCmdId(CmdId.GetPlayerTokenReq)]
|
||||
internal class GetPlayerTokenReqHandler : IPacketHandler
|
||||
{
|
||||
public void Handle(Session session, Packet _packet)
|
||||
{
|
||||
GetPlayerTokenReq Packet = _packet.GetDecodedBody<GetPlayerTokenReq>();
|
||||
GetPlayerTokenRsp Rsp = new () { };
|
||||
UserScheme? CurrentUser = User.FromToken(Packet.AccountToken);
|
||||
|
||||
if (CurrentUser is null || CurrentUser.Uid != uint.Parse(Packet.AccountUid))
|
||||
{
|
||||
Rsp.retcode = GetPlayerTokenRsp.Retcode.AccountVerifyError;
|
||||
Rsp.Msg = "Account verification failed, please re-login!";
|
||||
}
|
||||
else
|
||||
{
|
||||
session.Player = new Game.Player(CurrentUser);
|
||||
|
||||
if(session.Player.User.IsFirstLogin)
|
||||
{
|
||||
AvatarScheme avatar = Common.Database.Avatar.Create(101, session.Player.User.Uid, session.Player.Equipment);
|
||||
session.Player.AvatarList = session.Player.AvatarList.Append(avatar).ToArray();
|
||||
if ((int)Global.config.VerboseLevel > 0)
|
||||
session.c.Log($"Automatically created avatar with id: {avatar.AvatarId}");
|
||||
}
|
||||
|
||||
Rsp = new()
|
||||
{
|
||||
retcode = GetPlayerTokenRsp.Retcode.Succ,
|
||||
Uid = CurrentUser.Uid,
|
||||
Token = CurrentUser.Token,
|
||||
AccountType = Packet.AccountType,
|
||||
AccountUid = Packet.AccountUid,
|
||||
UserType = 4,
|
||||
HoyolabAccountUid = Packet.AccountUid,
|
||||
FightserverIp = 186782306,
|
||||
FightserverPort = 2096693423
|
||||
};
|
||||
}
|
||||
|
||||
session.Send(GameServer.Packet.FromProto(Rsp, CmdId.GetPlayerTokenRsp));
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user