Initial commit

This commit is contained in:
Mikhail Thompson
2024-06-26 19:03:44 +03:00
commit 838240de58
72 changed files with 4171 additions and 0 deletions

View File

@@ -0,0 +1,48 @@
using nksrv.Utils;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace nksrv.LobbyServer.Msgs.User
{
[PacketPath("/enterlobbyserver")]
public class EnterLobbyServer : LobbyMsgHandler
{
protected override async Task HandleAsync()
{
var req = await ReadData<ReqEnterLobbyServer>();
var response = new ResEnterLobbyServer();
response.User = new NetUserData();
response.User.Lv = 1;
response.User.CommanderRoomJukebox = 5;
response.User.CostumeLv = 1;
response.User.Frame = 1;
response.User.Icon = 39900;
response.User.LobbyJukebox = 2;
response.ResetHour = 20;
response.Nickname = "USER11143417";
response.OutpostBattleTime = new NetOutpostBattleTime() { MaxBattleTime = 864000000000 ,MaxOverBattleTime = 12096000000000 };
response.RepresentationTeam = new NetWholeUserTeamData() { TeamNumber = 1, Type = 2};
response.RepresentationTeam.Slots.Add(new NetWholeTeamSlot() { Slot = 1 });
response.RepresentationTeam.Slots.Add(new NetWholeTeamSlot() { Slot = 2 });
response.RepresentationTeam.Slots.Add(new NetWholeTeamSlot() { Slot = 3 });
response.RepresentationTeam.Slots.Add(new NetWholeTeamSlot() { Slot = 4 });
response.RepresentationTeam.Slots.Add(new NetWholeTeamSlot() { Slot = 5 });
response.Currency.Add(new NetUserCurrencyData() { Type = 6100, Value = 2 });
//var tTeams = new NetUserTeamData();
//var tTeam = new NetTeamData() { TeamNumber = 1 };
//tTeam.Slots.Add(new NetTeamSlot() { Slot = 1, ValueType = 1, Value = 2 });
//tTeams.Teams.Add(tTeam);
//response.TypeTeams.Add(tTeams);
// response.Character.Add(new NetUserCharacterData() { Default = new NetUserCharacterDefaultData() { Tid = 1 } });
WriteData(response);
}
}
}

View File

@@ -0,0 +1,17 @@
using nksrv.Utils;
namespace nksrv.LobbyServer.Msgs.User
{
[PacketPath("/user/getcontentsdata")]
public class GetContentsData : LobbyMsgHandler
{
protected override async Task HandleAsync()
{
var req = await ReadData<ReqGetContentsOpenData>();
var response = new ResGetContentsOpenData();
WriteData(response);
}
}
}

View File

@@ -0,0 +1,23 @@
using nksrv.Utils;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace nksrv.LobbyServer.Msgs.User
{
[PacketPath("/User/Get")]
public class GetUser : LobbyMsgHandler
{
protected override async Task HandleAsync()
{
var req = await ReadData<GetUserDataRequest>();
var response = new UserDataResponse();
WriteData(response);
}
}
}

View File

@@ -0,0 +1,40 @@
using nksrv.Utils;
using Swan.Logging;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace nksrv.LobbyServer.Msgs.User
{
[PacketPath("/user/scenario/exist")]
public class GetUserScenarioExist : LobbyMsgHandler
{
protected override async Task HandleAsync()
{
var req = await ReadData<ReqExistScenario>();
// TODO: Check response from real server
var response = new ResExistScenario();
var user = GetUser();
foreach (var item in req.ScenarioGroupIds)
{
Logger.Info("check scenario " + item);
foreach (var completed in user.CompletedScenarios)
{
// story thingy was completed
if (completed == item)
{
Logger.Info(item + " is completed");
response.ExistGroupIds.Add(item);
}
}
}
WriteData(response);
}
}
}

View File

@@ -0,0 +1,35 @@
using nksrv.Utils;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace nksrv.LobbyServer.Msgs.User
{
[PacketPath("/User/SetScenarioComplete")]
public class SetScenarioCompleted : LobbyMsgHandler
{
protected override async Task HandleAsync()
{
var req = await ReadData<ReqSetScenarioComplete>();
var response = new ResSetScenarioComplete();
// Mark the story "scenario" as completed.
// TODO: Get rewards by making a database of them from actual server.
response.Reward = new NetRewardData();
var user = JsonDb.GetUser(UserId);
if (user == null)
{
throw new Exception("null user in SetScenarioComplete command");
}
user.CompletedScenarios.Add(req.ScenarioId);
JsonDb.Save();
WriteData(response);
}
}
}