mirror of
https://github.com/EpinelPS/EpinelPS.git
synced 2025-12-13 23:44:45 +01:00
outpost kind of works
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
using nksrv.LobbyServer.Msgs.Stage;
|
||||
using nksrv.StaticInfo;
|
||||
using nksrv.Utils;
|
||||
using Swan.Logging;
|
||||
using System;
|
||||
@@ -20,7 +21,7 @@ namespace nksrv.LobbyServer.Msgs.Campaign
|
||||
Console.WriteLine("Map ID: " + req.MapId);
|
||||
|
||||
var response = new ResGetCampaignFieldData();
|
||||
response.Field = GetStage.CreateFieldInfo(user, GetChapterFromMapId(req.MapId));
|
||||
response.Field = GetStage.CreateFieldInfo(user, StaticDataParser.Instance.GetNormalChapterNumberFromFieldName(req.MapId));
|
||||
|
||||
// todo save this data
|
||||
response.Team = new NetUserTeamData() { LastContentsTeamNumber = 1, Type = 1 };
|
||||
@@ -53,21 +54,5 @@ namespace nksrv.LobbyServer.Msgs.Campaign
|
||||
|
||||
WriteData(response);
|
||||
}
|
||||
|
||||
public static int GetChapterFromMapId(string mapId)
|
||||
{
|
||||
switch (mapId)
|
||||
{
|
||||
case "fcbg_cityforest_000":
|
||||
return 0;
|
||||
case "fcbg_cityforest_003":
|
||||
return 1;
|
||||
case "fcbg_cityforest_001":
|
||||
return 2;
|
||||
default:
|
||||
Logger.Warn("TODO: I don't know what chapter mapid " + mapId + " is");
|
||||
return 101;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
23
nksrv/LobbyServer/Msgs/Outpost/CheckInfracore.cs
Normal file
23
nksrv/LobbyServer/Msgs/Outpost/CheckInfracore.cs
Normal 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.Outpost
|
||||
{
|
||||
[PacketPath("/infracore/check")]
|
||||
public class CheckInfracore : LobbyMsgHandler
|
||||
{
|
||||
protected override async Task HandleAsync()
|
||||
{
|
||||
var req = await ReadData<ReqCheckReceiveInfraCoreReward>();
|
||||
var response = new ResCheckReceiveInfraCoreReward();
|
||||
|
||||
// TODO
|
||||
|
||||
WriteData(response);
|
||||
}
|
||||
}
|
||||
}
|
||||
48
nksrv/LobbyServer/Msgs/Outpost/GetOutpostData.cs
Normal file
48
nksrv/LobbyServer/Msgs/Outpost/GetOutpostData.cs
Normal 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.Outpost
|
||||
{
|
||||
[PacketPath("/outpost/getoutpostdata")]
|
||||
public class GetOutpostData : LobbyMsgHandler
|
||||
{
|
||||
protected override async Task HandleAsync()
|
||||
{
|
||||
var req = await ReadData<ReqGetOutpostData>();
|
||||
var user = GetUser();
|
||||
|
||||
var battleTime = DateTime.UtcNow - user.BattleTime;
|
||||
var battleTimeMs = (long)(battleTime.TotalNanoseconds / 100);
|
||||
|
||||
|
||||
var response = new ResGetOutpostData
|
||||
{
|
||||
OutpostBattleLevel = new NetOutpostBattleLevel() { Level = 1 },
|
||||
CommanderBgm = new NetUserJukeboxDataV2(),
|
||||
BattleTime = 864000000000, Jukebox = new(), MaxBattleTime = 864000000000
|
||||
};
|
||||
|
||||
response.OutpostBattleLevel = user.OutpostBattleLevel;
|
||||
response.OutpostBattleTime = new NetOutpostBattleTime() { MaxBattleTime = 864000000000, MaxOverBattleTime = 12096000000000, BattleTime = battleTimeMs };
|
||||
|
||||
// todo dont hardcode this
|
||||
response.Data.Add(new NetUserOutpostData() { SlotId = 1, BuildingId = 22401, IsDone = true, StartAt = 638549982076760660, CompleteAt = 638549982076760660 });
|
||||
response.Data.Add(new NetUserOutpostData() { SlotId = 4, BuildingId = 22701, IsDone = true, StartAt = 638549982076760660, CompleteAt = 638549982076760660 });
|
||||
response.Data.Add(new NetUserOutpostData() { SlotId = 5, BuildingId = 22801, IsDone = true, StartAt = 638549982076760660, CompleteAt = 638549982076760660 });
|
||||
response.Data.Add(new NetUserOutpostData() { SlotId = 6, BuildingId = 22901, IsDone = true, StartAt = 638549982076760660, CompleteAt = 638549982076760660 });
|
||||
response.Data.Add(new NetUserOutpostData() { SlotId = 7, BuildingId = 23001, IsDone = true, StartAt = 638549982076760660, CompleteAt = 638549982076760660 });
|
||||
response.Data.Add(new NetUserOutpostData() { SlotId = 3, BuildingId = 23101, IsDone = true, StartAt = 638549982076760660, CompleteAt = 638549982076760660 });
|
||||
response.Data.Add(new NetUserOutpostData() { SlotId = 2, BuildingId = 23201, IsDone = true, StartAt = 638549982076760660, CompleteAt = 638549982076760660 });
|
||||
response.Data.Add(new NetUserOutpostData() { SlotId = 9, BuildingId = 23301, IsDone = true, StartAt = 638549982076760660, CompleteAt = 638549982076760660 });
|
||||
response.Data.Add(new NetUserOutpostData() { SlotId = 8, BuildingId = 23401, IsDone = true, StartAt = 638549982076760660, CompleteAt = 638549982076760660 });
|
||||
response.Data.Add(new NetUserOutpostData() { SlotId = 10, BuildingId = 23501, IsDone = true, StartAt = 638549982076760660, CompleteAt = 638549982076760660 });
|
||||
response.Data.Add(new NetUserOutpostData() { SlotId = 38, BuildingId = 33601, IsDone = true, StartAt = 638549982076760660, CompleteAt = 638549982076760660 });
|
||||
// TODO
|
||||
WriteData(response);
|
||||
}
|
||||
}
|
||||
}
|
||||
27
nksrv/LobbyServer/Msgs/Outpost/ShowBattleReward.cs
Normal file
27
nksrv/LobbyServer/Msgs/Outpost/ShowBattleReward.cs
Normal file
@@ -0,0 +1,27 @@
|
||||
using nksrv.Utils;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace nksrv.LobbyServer.Msgs.Outpost
|
||||
{
|
||||
[PacketPath("/outpost/showoutpostbattlereward")]
|
||||
public class ShowBattleReward : LobbyMsgHandler
|
||||
{
|
||||
protected override async Task HandleAsync()
|
||||
{
|
||||
var req = await ReadData<ReqShowOutpostBattleReward>();
|
||||
var user = GetUser();
|
||||
|
||||
var battleTime = DateTime.UtcNow - user.BattleTime;
|
||||
var battleTimeMs = (long)(battleTime.TotalNanoseconds / 100);
|
||||
|
||||
var response = new ResShowOutpostBattleReward();
|
||||
response.OutpostBattleLevel = user.OutpostBattleLevel;
|
||||
response.OutpostBattleTime = new NetOutpostBattleTime() { MaxBattleTime = 864000000000, MaxOverBattleTime = 12096000000000, BattleTime = battleTimeMs };
|
||||
WriteData(response);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -77,7 +77,8 @@ namespace nksrv.LobbyServer.Msgs.Stage
|
||||
{
|
||||
if (item.reward_id != 0)
|
||||
{
|
||||
if (item.reward_type == "Currency")
|
||||
if (string.IsNullOrEmpty(item.reward_type)) { }
|
||||
else if (item.reward_type == "Currency")
|
||||
{
|
||||
Dictionary<CurrencyType, int> current = new Dictionary<CurrencyType, int>();
|
||||
|
||||
|
||||
@@ -15,6 +15,9 @@ namespace nksrv.LobbyServer.Msgs.User
|
||||
var req = await ReadData<ReqEnterLobbyServer>();
|
||||
var user = GetUser();
|
||||
|
||||
var battleTime = DateTime.UtcNow - user.BattleTime;
|
||||
var battleTimeMs = (long)(battleTime.TotalNanoseconds / 100);
|
||||
|
||||
// NOTE: Keep this in sync with GetUser code
|
||||
|
||||
var response = new ResEnterLobbyServer();
|
||||
@@ -22,8 +25,8 @@ namespace nksrv.LobbyServer.Msgs.User
|
||||
response.ResetHour = 20;
|
||||
response.Nickname = user.Nickname;
|
||||
response.SynchroLv = 1;
|
||||
response.OutpostBattleLevel = new NetOutpostBattleLevel() { Level = 1 };
|
||||
response.OutpostBattleTime = new NetOutpostBattleTime() { MaxBattleTime = 864000000000, MaxOverBattleTime = 12096000000000 };
|
||||
response.OutpostBattleLevel = user.OutpostBattleLevel;
|
||||
response.OutpostBattleTime = new NetOutpostBattleTime() { MaxBattleTime = 864000000000, MaxOverBattleTime = 12096000000000, BattleTime = battleTimeMs };
|
||||
|
||||
// Add default slot data
|
||||
if (user.RepresentationTeamData.Slots.Count == 0)
|
||||
|
||||
@@ -13,15 +13,16 @@ namespace nksrv.LobbyServer.Msgs.User
|
||||
protected override async Task HandleAsync()
|
||||
{
|
||||
var req = await ReadData<ReqGetUserData>();
|
||||
|
||||
|
||||
var response = new ResGetUserData();
|
||||
|
||||
var user = GetUser();
|
||||
|
||||
var battleTime = DateTime.UtcNow - user.BattleTime;
|
||||
var battleTimeMs = (long)(battleTime.TotalNanoseconds / 100);
|
||||
|
||||
|
||||
response.User = LobbyHandler.CreateNetUserDataFromUser(user);
|
||||
response.ResetHour = 20;
|
||||
response.OutpostBattleTime = new NetOutpostBattleTime() { MaxBattleTime = 864000000000, MaxOverBattleTime = 12096000000000 };
|
||||
response.OutpostBattleTime = new NetOutpostBattleTime() { MaxBattleTime = 864000000000, MaxOverBattleTime = 12096000000000, BattleTime = battleTimeMs };
|
||||
response.IsSimple = req.IsSimple;
|
||||
|
||||
foreach (var item in user.Currency)
|
||||
|
||||
Reference in New Issue
Block a user