lobby part 1, idk what i'm doing

This commit is contained in:
rafi1212122
2023-06-10 07:27:06 +07:00
parent f2e83c93dd
commit f9e0aa8e1f
17 changed files with 494 additions and 53 deletions

View File

@@ -0,0 +1,19 @@
using Common.Resources.Proto;
namespace PemukulPaku.GameServer.Handlers.Activity
{
[PacketCmdId(CmdId.ChapterActivityTakeDailyRewardReq)]
internal class ChapterActivityTakeDailyRewardReqHandler : IPacketHandler
{
public void Handle(Session session, Packet packet)
{
ChapterActivityTakeDailyRewardReq Data = packet.GetDecodedBody<ChapterActivityTakeDailyRewardReq>();
session.Send(Packet.FromProto(new ChapterActivityTakeDailyRewardRsp()
{
retcode = ChapterActivityTakeDailyRewardRsp.Retcode.HasTake,
ChapterId = Data.ChapterId
}, CmdId.ChapterActivityTakeDailyRewardRsp));
}
}
}

View File

@@ -0,0 +1,27 @@
using Common.Resources.Proto;
using PemukulPaku.GameServer.MPModule;
namespace PemukulPaku.GameServer.Handlers.One
{
[PacketCmdId(CmdId.CreateLobbyReq)]
internal class CreateLobbyReqHandler : IPacketHandler
{
public void Handle(Session session, Packet packet)
{
CreateLobbyReq Data = packet.GetDecodedBody<CreateLobbyReq>();
Team team = Lobby.GetInstance().CreateTeam(new(Data.StageId, Data.MinLevel, Data.LobbyEnterType, session, Data.TeamName));
CreateLobbyRsp Rsp = new()
{
retcode = CreateLobbyRsp.Retcode.Succ,
LobbyId = team.LeaderUid,
StageId = team.StageId,
MinLevel = team.MinLevel,
LobbyEnterType = team.LobbyEnterType,
MaxLevel = 0,
TeamName = team.Name
};
session.Send(Packet.FromProto(Rsp, CmdId.CreateLobbyRsp));
}
}
}

View File

@@ -0,0 +1,24 @@
using Common.Resources.Proto;
namespace PemukulPaku.GameServer.Handlers.One
{
[PacketCmdId(CmdId.GetMpDataReq)]
internal class GetMpDataReqHandler : IPacketHandler
{
public void Handle(Session session, Packet packet)
{
GetMpDataRsp Rsp = new()
{
retcode = GetMpDataRsp.Retcode.Succ,
DataType = MpDataType.MpDataAll,
op_type = GetMpDataRsp.OpType.InitData,
MpLevel = 1,
MpExp = 0,
TeamAvatarId = session.Player.GetDetailData().LeaderAvatar.AvatarId,
PunishEndTime = 0
};
session.Send(Packet.FromProto(Rsp, CmdId.GetMpDataRsp));
}
}
}

View File

@@ -0,0 +1,27 @@
using Common;
using Common.Resources.Proto;
namespace PemukulPaku.GameServer.Handlers.One
{
[PacketCmdId(CmdId.GetWeekDayActivityDataReq)]
internal class GetWeekDayActivityDataReqHandler : IPacketHandler
{
public void Handle(Session session, Packet packet)
{
GetWeekDayActivityDataRsp Rsp = new() { retcode = GetWeekDayActivityDataRsp.Retcode.Succ };
Rsp.ActivityLists.Add(new()
{
ActivityId = 1003,
StageIdLists = new uint[] { 101302, 101303, 101304, 101305 },
EnterTimes = 1,
BeginTime = 0,
EndTime = (uint)Global.GetUnixInSeconds() + 3600 * 24 * 7,
ActivityEndTime = (uint)Global.GetUnixInSeconds() * (10 / 8),
ForceOpenTime = 0
});
session.Send(Packet.FromProto(Rsp, CmdId.GetWeekDayActivityDataRsp));
}
}
}

View File

@@ -0,0 +1,13 @@
using Common.Resources.Proto;
namespace PemukulPaku.GameServer.Handlers.One
{
[PacketCmdId(CmdId.MpGetTeamReq)]
internal class MpGetTeamReqHandler : IPacketHandler
{
public void Handle(Session session, Packet packet)
{
session.Send(Packet.FromProto(new MpGetTeamRsp() { retcode = MpGetTeamRsp.Retcode.NotInTeam }, CmdId.GetMpDataRsp));
}
}
}

View File

@@ -0,0 +1,13 @@
using Common.Resources.Proto;
namespace PemukulPaku.GameServer.Handlers.One
{
[PacketCmdId(CmdId.MpMemberSetClientStatusReq)]
internal class MpMemberSetClientStatusReqHandler : IPacketHandler
{
public void Handle(Session session, Packet packet)
{
session.Send(Packet.FromProto(new MpMemberSetClientStatusRsp() { retcode = MpMemberSetClientStatusRsp.Retcode.Succ }, CmdId.MpMemberSetClientStatusRsp));
}
}
}

View File

@@ -0,0 +1,27 @@
using Common.Resources.Proto;
using PemukulPaku.GameServer.MPModule;
namespace PemukulPaku.GameServer.Handlers.One
{
[PacketCmdId(CmdId.MpTeamEnterLobbyReq)]
public class MpTeamEnterLobbyReqHandler : IPacketHandler
{
public void Handle(Session session, Packet packet)
{
MpTeamEnterLobbyReq Data = packet.GetDecodedBody<MpTeamEnterLobbyReq>();
Lobby.GetInstance().Teams.TryGetValue(session.Player.User.Uid, out Team? team);
MpTeamEnterLobbyRsp Rsp = new() { retcode = MpTeamEnterLobbyRsp.Retcode.NotInTeam };
if (team is not null)
{
team.StageId = Data.StageId;
Lobby.GetInstance().SyncTeam(session.Player.User.Uid);
Rsp.retcode = MpTeamEnterLobbyRsp.Retcode.Succ;
Rsp.StageId = team.StageId;
Rsp.TeamId = team.LeaderUid;
Rsp.TeamName = team.Name;
}
session.Send(Packet.FromProto(Rsp, CmdId.MpTeamEnterLobbyRsp));
}
}
}

View File

@@ -0,0 +1,19 @@
using Common.Resources.Proto;
namespace PemukulPaku.GameServer.Handlers.Three
{
[PacketCmdId(CmdId.GetPhotoDataReq)]
internal class GetPhotoDataReqHandler : IPacketHandler
{
public void Handle(Session session, Packet packet)
{
GetPhotoDataReq Data = packet.GetDecodedBody<GetPhotoDataReq>();
session.Send(Packet.FromProto(new GetPhotoDataRsp()
{
retcode = GetPhotoDataRsp.Retcode.Succ,
Type = Data.Type
}, CmdId.GetPhotoDataRsp));
}
}
}

View File

@@ -0,0 +1,16 @@
using Common.Resources.Proto;
namespace PemukulPaku.GameServer.Handlers.Three
{
[PacketCmdId(CmdId.GetTeamListReq)]
internal class GetTeamListReqHandler : IPacketHandler
{
public void Handle(Session session, Packet packet)
{
GetTeamListReq Data = packet.GetDecodedBody<GetTeamListReq>();
GetTeamListRsp Rsp = new() { retcode = GetTeamListRsp.Retcode.Succ };
session.Send(Packet.FromProto(Rsp, CmdId.GetTeamListRsp));
}
}
}

View File

@@ -0,0 +1,21 @@
using Common.Resources.Proto;
namespace PemukulPaku.GameServer.Handlers.Two
{
[PacketCmdId(CmdId.GetExtraStoryChallengeModeDataReq)]
internal class GetExtraStoryChallengeModeDataReqHandler : IPacketHandler
{
public void Handle(Session session, Packet packet)
{
GetExtraStoryChallengeModeDataReq Data = packet.GetDecodedBody<GetExtraStoryChallengeModeDataReq>();
session.Send(Packet.FromProto(new GetExtraStoryChallengeModeDataRsp()
{
retcode = GetExtraStoryChallengeModeDataRsp.Retcode.Succ,
ChooseDifficulty = 0,
IsCanReset = true,
ChapterId = Data.ChapterId
}, CmdId.GetExtraStoryChallengeModeDataRsp));
}
}
}

View File

@@ -19,26 +19,8 @@ namespace PemukulPaku.GameServer.Handlers.Two
Player? player = Session.FromUid(user.Uid)?.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 }
};
Rsp.CardData = player.GetCardData();
Rsp.PlayerData = player.GetDetailData();
}
else
{