Fix profile view, fix shop not unlocking

This commit is contained in:
Mikhail
2024-07-06 11:07:26 -04:00
parent 0e193323ad
commit c623d9b321
7 changed files with 22 additions and 18 deletions

View File

@@ -3,7 +3,6 @@ using EmbedIO;
using Google.Protobuf;
using nksrv.Utils;
using Swan.Logging;
using static Google.Rpc.Context.AttributeContext.Types;
namespace nksrv.LobbyServer
{
@@ -105,7 +104,8 @@ namespace nksrv.LobbyServer
{
NetUserData ret = new()
{
Lv = 1,
Lv = user.userPointData.UserLevel,
Exp = user.userPointData.ExperiencePoint,
CommanderRoomJukebox = 5,
CostumeLv = 1,
Frame = 1,
@@ -114,6 +114,7 @@ namespace nksrv.LobbyServer
LobbyJukebox = 2,
InfraCoreExp = user.InfraCoreExp,
InfraCoreLv = user.InfraCoreLvl,
};
@@ -132,14 +133,14 @@ namespace nksrv.LobbyServer
{
var ret = new NetWholeUserData()
{
Lv = 1,
Lv = user.userPointData.UserLevel,
Frame = 1,
Icon = user.ProfileIconId,
IconPrism = user.ProfileIconIsPrism,
Nickname = user.Nickname,
Usn = (long)user.ID,
LastActionAt = DateTimeOffset.UtcNow.ToUnixTimeSeconds(),
LastActionAt = DateTimeOffset.UtcNow.Ticks,
};
return ret;

View File

@@ -15,6 +15,7 @@ namespace nksrv.LobbyServer.Msgs.Shop.InApp
var req = await ReadData<ReqGetSubscription>();
var response = new ResGetSubscription();
// TODO
WriteData(response);
}

View File

@@ -15,6 +15,7 @@ namespace nksrv.LobbyServer.Msgs.Shop.InApp
var x = await ReadData<ReqGetInAppShopData>();
var response = new ResGetInAppShopData();
// TODO
WriteData(response);

View File

@@ -24,6 +24,7 @@ namespace nksrv.LobbyServer.Msgs.Team
foreach (var item in user.UserTeams)
{
response.TypeTeams.Add(item.Value);
}
}
WriteData(response);

View File

@@ -10,22 +10,17 @@ namespace nksrv.LobbyServer.Msgs.User
var req = await ReadData<ReqGetContentsOpenData>();
var user = GetUser();
// this request returns a list of "special" stages that mark when something is unlocked, ex: the shop or interception
List<int> specialStages = [6003003, 6002008, 6002016, 6005003, 6003021, 6011018, 6007021, 6004018, 6005013, 6003009, 6003012, 6009017, 6016039, 6001004, 6000003, 6000001, 6002001, 6004023, 6005026, 6020050, 6006004, 6006023];
var response = new ResGetContentsOpenData();
bool includeFirst = true;
foreach (var field in user.FieldInfo.Values)
{
// only include first and last clears
int i = 0;
foreach (var stage in field.CompletedStages)
{
if (i == 0 && includeFirst)
{
if (specialStages.Contains(stage.StageId))
response.ClearStageList.Add(stage.StageId);
includeFirst = false;
}
else if (i == field.CompletedStages.Count - 1)
response.ClearStageList.Add(stage.StageId);
i++;
}
}
response.MaxGachaCount = 10;

View File

@@ -21,13 +21,18 @@ namespace nksrv.LobbyServer.Msgs.User
if (user.ID == (ulong)req.TargetUsn)
{
response.Data.User = LobbyHandler.CreateWholeUserDataFromDbUser(user);
response.Data.LastActionAt = DateTimeOffset.UtcNow.ToUnixTimeSeconds();
response.Data.LastActionAt = DateTimeOffset.UtcNow.Ticks;
response.Data.CharacterCount = new() { Count = user.Characters.Count };
response.Data.InfraCoreLv = user.InfraCoreLvl;
response.Data.LastCampaignNormalStageId = user.LastNormalStageCleared;
response.Data.LastCampaignHardStageId = user.LastHardStageCleared;
response.Data.OutpostOpenState = user.MainQuestData.ContainsKey(25);
}
else
{
Logger.Warn("Unknown User ID: " + req.TargetUsn);
}
WriteData(response);
}
}

View File

@@ -1592,7 +1592,7 @@ message NetProfileData {
repeated NetMemorialCount memorialCount = 17;
int32 jukeboxCount = 18;
int32 costumeLv = 19;
int32 outpostOpenState = 20;
bool outpostOpenState = 21;
int32 costumeCount = 22;
string language = 23;
NetProfileFrameHistoryType profileFrameHistory = 24;