mirror of
https://github.com/EpinelPS/EpinelPS.git
synced 2025-12-14 16:04:36 +01:00
parse static data to get quest data
This commit is contained in:
@@ -16,7 +16,7 @@ namespace nksrv.LobbyServer.Msgs.Misc
|
||||
|
||||
var r = new ResourceHostResponse();
|
||||
r.BaseUrl = "https://cloud.nikke-kr.com/prdenv/121-b0630db21d/{Platform}";
|
||||
|
||||
|
||||
WriteData(r);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using Google.Protobuf;
|
||||
using nksrv.StaticInfo;
|
||||
using nksrv.Utils;
|
||||
|
||||
namespace nksrv.LobbyServer.Msgs.Misc
|
||||
@@ -11,14 +12,14 @@ namespace nksrv.LobbyServer.Msgs.Misc
|
||||
var req = await ReadData<StaticDataPackRequest>();
|
||||
|
||||
var r = new StaticDataPackResponse();
|
||||
r.Url = "https://cloud.nikke-kr.com/prdenv/121-c5e64b1a1b/staticdata/data/qa-240620-05b-p1/307748/StaticData.pack";
|
||||
r.Version = "data/qa-240620-05b-p1/307748";
|
||||
r.Size = 11575712;
|
||||
r.Url = StaticDataParser.StaticDataUrl;
|
||||
r.Version = StaticDataParser.Version;
|
||||
r.Size = StaticDataParser.Size;
|
||||
|
||||
// TODO: Read the file and compute these values
|
||||
r.Sha256Sum = ByteString.CopyFrom(Convert.FromBase64String("PBcDa3PoHR2MJQ+4Xc3/FUSgkqx2gY25MBJ0ih9FMsM="));
|
||||
r.Salt1 = ByteString.CopyFrom(Convert.FromBase64String("WqyrQ8MGtzwHN3AGPkqVKyjdfWZjBJXw9K7nGblv/SA="));
|
||||
r.Salt2 = ByteString.CopyFrom(Convert.FromBase64String("6Gf2jEvAX2mt5OWIxIU5uDdbjKtIc+VgTjKKSLuYnsI="));
|
||||
r.Sha256Sum = ByteString.CopyFrom(StaticDataParser.Sha256Sum);
|
||||
r.Salt1 = ByteString.CopyFrom(StaticDataParser.Salt1);
|
||||
r.Salt2 = ByteString.CopyFrom(StaticDataParser.Salt2);
|
||||
|
||||
WriteData(r);
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using nksrv.Utils;
|
||||
using Swan.Logging;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
@@ -23,8 +24,9 @@ namespace nksrv.LobbyServer.Msgs.Shop
|
||||
}
|
||||
WriteData(response);
|
||||
}
|
||||
catch
|
||||
catch(Exception ex)
|
||||
{
|
||||
Logger.Error("Error while handling GetProductList request. Have you replaced sodium library?" + ex);
|
||||
;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -87,19 +87,16 @@ namespace nksrv.LobbyServer.Msgs.Stage
|
||||
|
||||
private static void DoQuestSpecificUserOperations(Utils.User user, int clearedStageId)
|
||||
{
|
||||
if (clearedStageId == 6000001)
|
||||
{
|
||||
user.SetQuest(2, true);
|
||||
}
|
||||
else if (clearedStageId == 6000002)
|
||||
{
|
||||
user.SetQuest(3, true);
|
||||
}
|
||||
else if (clearedStageId == 6000003)
|
||||
var quest = StaticDataParser.Instance.GetMainQuestForStageClearCondition(clearedStageId);
|
||||
if (quest == null) throw new Exception("quest not found for stage: " + clearedStageId);
|
||||
user.SetQuest(quest.id, true);
|
||||
user.SetQuest(quest.next_main_quest_id, false);
|
||||
|
||||
if (clearedStageId == 6000003)
|
||||
{
|
||||
// TODO: Is this the right place to copy over default characters?
|
||||
// TODO: What is CSN and TID? Also need to add names for these
|
||||
// Note: CSN appears to be a character ID, still not sure what TID is
|
||||
// Note: TID is table index, not sure what CSN is
|
||||
user.Characters.Add(new Utils.Character() { Csn = 47263455, Tid = 201001 });
|
||||
user.Characters.Add(new Utils.Character() { Csn = 47273456, Tid = 330501 });
|
||||
user.Characters.Add(new Utils.Character() { Csn = 47263457, Tid = 130201 });
|
||||
@@ -114,24 +111,6 @@ namespace nksrv.LobbyServer.Msgs.Stage
|
||||
user.TeamData.Slots.Add(new NetWholeTeamSlot { Slot = 3, Csn = 47263457, Tid = 130201, Lvl = 1 });
|
||||
user.TeamData.Slots.Add(new NetWholeTeamSlot { Slot = 4, Csn = 47263458, Tid = 230101, Lvl = 1 });
|
||||
user.TeamData.Slots.Add(new NetWholeTeamSlot { Slot = 5, Csn = 47263459, Tid = 301201, Lvl = 1 });
|
||||
|
||||
user.SetQuest(4, true);
|
||||
}
|
||||
else if (clearedStageId == 6001001)
|
||||
{
|
||||
user.SetQuest(5, true);
|
||||
}
|
||||
else if (clearedStageId == 6001003)
|
||||
{
|
||||
user.SetQuest(6, true);
|
||||
}
|
||||
else if (clearedStageId == 6001004)
|
||||
{
|
||||
user.SetQuest(7, true);
|
||||
}
|
||||
else if (clearedStageId == 6002001)
|
||||
{
|
||||
user.SetQuest(13, true);
|
||||
}
|
||||
}
|
||||
public static int GetChapterForStageId(int stageId)
|
||||
|
||||
@@ -28,26 +28,6 @@ namespace nksrv.LobbyServer.Msgs.Stage
|
||||
WriteData(response);
|
||||
}
|
||||
|
||||
public static NetFieldObjectData CreateFieldInfoWithAllStages(int chapter)
|
||||
{
|
||||
var f = new NetFieldObjectData();
|
||||
switch(chapter)
|
||||
{
|
||||
case 1:
|
||||
f.Stages.Add(new NetFieldStageData() { StageId = 6001001 });
|
||||
f.Stages.Add(new NetFieldStageData() { StageId = 6001002 });
|
||||
f.Stages.Add(new NetFieldStageData() { StageId = 6001003 });
|
||||
f.Stages.Add(new NetFieldStageData() { StageId = 6001004 });
|
||||
|
||||
// Objects are collected i think
|
||||
break;
|
||||
default:
|
||||
Logger.Error("ERROR: CreateFieldInfoWithAllStages: TODO chapter " + chapter);
|
||||
break;
|
||||
}
|
||||
return f;
|
||||
}
|
||||
|
||||
public static NetFieldObjectData CreateFieldInfo(Utils.User user, int chapter)
|
||||
{
|
||||
var f = new NetFieldObjectData();
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using nksrv.Utils;
|
||||
using nksrv.StaticInfo;
|
||||
using nksrv.Utils;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
@@ -15,7 +16,14 @@ namespace nksrv.LobbyServer.Msgs.Trigger
|
||||
var req = await ReadData<ReqFinMainQuest>();
|
||||
var user = GetUser();
|
||||
Console.WriteLine("Complete quest: " + req.Tid);
|
||||
user.SetQuest(req.Tid, true); // todo is this right?
|
||||
user.SetQuest(req.Tid, true);
|
||||
|
||||
var completedQuest = StaticDataParser.Instance.GetMainQuestByTableId(req.Tid);
|
||||
if (completedQuest == null) throw new Exception("Quest not found");
|
||||
|
||||
// set next quest as available
|
||||
user.SetQuest(completedQuest.next_main_quest_id, true);
|
||||
|
||||
JsonDb.Save();
|
||||
var response = new ResFinMainQuest();
|
||||
WriteData(response);
|
||||
|
||||
Reference in New Issue
Block a user