mirror of
https://github.com/EpinelPS/EpinelPS.git
synced 2025-12-16 17:04:44 +01:00
add FieldItemTable back
This commit is contained in:
@@ -129,7 +129,7 @@ namespace EpinelPS.Database
|
|||||||
public string Nickname = "SomePlayer";
|
public string Nickname = "SomePlayer";
|
||||||
public int ProfileIconId = 39900;
|
public int ProfileIconId = 39900;
|
||||||
public bool ProfileIconIsPrism = false;
|
public bool ProfileIconIsPrism = false;
|
||||||
public int ProfileFrame = 25;
|
public int ProfileFrame = 1;
|
||||||
public bool IsAdmin = false;
|
public bool IsAdmin = false;
|
||||||
public bool sickpulls = false;
|
public bool sickpulls = false;
|
||||||
public bool IsBanned = false;
|
public bool IsBanned = false;
|
||||||
|
|||||||
@@ -359,6 +359,11 @@ namespace EpinelPS.StaticInfo
|
|||||||
PositionReward.Add(id, reward);
|
PositionReward.Add(id, reward);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
var fieldItems = await LoadZip<FieldItemTable>("FieldItemTable.json", progress);
|
||||||
|
foreach (var obj in fieldItems.records)
|
||||||
|
{
|
||||||
|
FieldItems.Add(obj.id, obj);
|
||||||
}
|
}
|
||||||
var battleOutpostTable = await LoadZip<OutpostBattleTable>("OutpostBattleTable.json", progress);
|
var battleOutpostTable = await LoadZip<OutpostBattleTable>("OutpostBattleTable.json", progress);
|
||||||
foreach (var obj in battleOutpostTable.records)
|
foreach (var obj in battleOutpostTable.records)
|
||||||
|
|||||||
@@ -1,54 +0,0 @@
|
|||||||
using EpinelPS.Utils;
|
|
||||||
|
|
||||||
namespace EpinelPS.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);
|
|
||||||
|
|
||||||
long overBattleTime = battleTimeMs > 12096000000000 ? battleTimeMs - 12096000000000 : 0;
|
|
||||||
|
|
||||||
|
|
||||||
var response = new ResGetOutpostData
|
|
||||||
{
|
|
||||||
OutpostBattleLevel = user.OutpostBattleLevel,
|
|
||||||
Jukebox = new() { SelectTid = 5 },
|
|
||||||
JukeboxV2 = new NetUserJukeboxDataV2() { CommandBgm = new() { Type = NetJukeboxBgmType.NetJukeboxBgmTypeJukeboxTableId, JukeboxTableId = 5 } },
|
|
||||||
BattleTime = 864000000000,
|
|
||||||
MaxBattleTime = 864000000000,
|
|
||||||
SkinGroupId = 1000,
|
|
||||||
};
|
|
||||||
|
|
||||||
// TODO: do not hard code this!
|
|
||||||
response.Jukebox.List.AddRange([5, 9999901, 4001, 4002, 4003, 4004, 4005, 4006, 12, 4007, 4008, 4009, 4010, 4011, 4012, 4013, 4014, 4015, 4016, 4017, 4018, 4019, 4020, 4021, 4022, 4023, 4024, 4025, 4026, 4027, 4028, 4029, 4030, 4031, 4032, 4033, 4034, 4036, 5001, 5002, 5003, 5004, 5005, 5006, 5007, 5008, 5009, 5010, 5011, 5012]);
|
|
||||||
response.JukeboxV2.JukeboxTableIds.AddRange([5, 9999901, 4001, 4002, 4003, 4004, 4005, 4006, 12, 4007, 4008, 4009, 4010, 4011, 4012, 4013, 4014, 4015, 4016, 4017, 4018, 4019, 4020, 4021, 4022, 4023, 4024, 4025, 4026, 4027, 4028, 4029, 4030, 4031, 4032, 4033, 4034, 4036, 5001, 5002, 5003, 5004, 5005, 5006, 5007, 5008, 5009, 5010, 5011, 5012]);
|
|
||||||
|
|
||||||
response.OutpostBattleLevel = user.OutpostBattleLevel;
|
|
||||||
response.OutpostBattleTime = new NetOutpostBattleTime() { MaxBattleTime = 864000000000, MaxOverBattleTime = 12096000000000, BattleTime = battleTimeMs, OverBattleTime = overBattleTime };
|
|
||||||
|
|
||||||
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 });
|
|
||||||
|
|
||||||
response.TimeRewardBuffs.AddRange(NetUtils.GetOutpostTimeReward(user));
|
|
||||||
|
|
||||||
// TODO
|
|
||||||
await WriteDataAsync(response);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,92 +0,0 @@
|
|||||||
using EpinelPS.Database;
|
|
||||||
using EpinelPS.Utils;
|
|
||||||
|
|
||||||
namespace EpinelPS.LobbyServer.Msgs.User
|
|
||||||
{
|
|
||||||
[PacketPath("/enterlobbyserver")]
|
|
||||||
public class EnterLobbyServer : LobbyMsgHandler
|
|
||||||
{
|
|
||||||
protected override async Task HandleAsync()
|
|
||||||
{
|
|
||||||
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();
|
|
||||||
response.User = LobbyHandler.CreateNetUserDataFromUser(user);
|
|
||||||
response.ResetHour = 20;
|
|
||||||
response.Nickname = user.Nickname;
|
|
||||||
response.SynchroLv = 1;
|
|
||||||
response.OutpostBattleLevel = user.OutpostBattleLevel;
|
|
||||||
response.OutpostBattleTime = new NetOutpostBattleTime() { MaxBattleTime = 864000000000, MaxOverBattleTime = 12096000000000, BattleTime = battleTimeMs };
|
|
||||||
|
|
||||||
response.CommanderRoomJukeboxBgm = new NetJukeboxBgm() { JukeboxTableId = JsonDb.CurrentJukeboxBgm(2), Type = NetJukeboxBgmType.NetJukeboxBgmTypeJukeboxTableId, Location = NetJukeboxLocation.NetJukeboxLocationCommanderRoom };
|
|
||||||
response.LobbyJukeboxBgm = new NetJukeboxBgm() { JukeboxTableId = JsonDb.CurrentJukeboxBgm(1), Type = NetJukeboxBgmType.NetJukeboxBgmTypeJukeboxTableId, Location = NetJukeboxLocation.NetJukeboxLocationLobby };
|
|
||||||
|
|
||||||
// Add default slot data
|
|
||||||
if (user.RepresentationTeamData.Slots.Count == 0)
|
|
||||||
{
|
|
||||||
user.RepresentationTeamData = new NetWholeUserTeamData() { TeamNumber = 1, Type = 2 };
|
|
||||||
user.RepresentationTeamData.Slots.Add(new NetWholeTeamSlot() { Slot = 1 });
|
|
||||||
user.RepresentationTeamData.Slots.Add(new NetWholeTeamSlot() { Slot = 2 });
|
|
||||||
user.RepresentationTeamData.Slots.Add(new NetWholeTeamSlot() { Slot = 3 });
|
|
||||||
user.RepresentationTeamData.Slots.Add(new NetWholeTeamSlot() { Slot = 4 });
|
|
||||||
user.RepresentationTeamData.Slots.Add(new NetWholeTeamSlot() { Slot = 5 });
|
|
||||||
JsonDb.Save();
|
|
||||||
}
|
|
||||||
response.RepresentationTeam = user.RepresentationTeamData;
|
|
||||||
|
|
||||||
foreach (var item in user.Currency)
|
|
||||||
{
|
|
||||||
response.Currency.Add(new NetUserCurrencyData() { Type = (int)item.Key, Value = item.Value });
|
|
||||||
}
|
|
||||||
|
|
||||||
foreach (var item in user.Characters)
|
|
||||||
{
|
|
||||||
response.Character.Add(new NetUserCharacterData() { Default = new() { Csn = item.Csn, Skill1Lv = item.Skill1Lvl, Skill2Lv = item.Skill2Lvl, CostumeId = item.CostumeId, Level = user.GetCharacterLevel(item.Csn, item.Level), Grade = item.Grade, Tid = item.Tid, UltiSkillLv = item.UltimateLevel}, IsSynchro = user.GetSynchro(item.Csn) });
|
|
||||||
}
|
|
||||||
|
|
||||||
foreach (var item in NetUtils.GetUserItems(user))
|
|
||||||
{
|
|
||||||
response.Items.Add(item);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Add squad data if there are characters
|
|
||||||
if (user.Characters.Count > 0)
|
|
||||||
{
|
|
||||||
var highestLevelCharacters = user.Characters.OrderByDescending(x => x.Level).Take(5).ToList();
|
|
||||||
response.SynchroLv = user.GetSynchroLevel();
|
|
||||||
|
|
||||||
foreach (var item in highestLevelCharacters)
|
|
||||||
{
|
|
||||||
response.SynchroStandardCharacters.Add(item.Csn);
|
|
||||||
}
|
|
||||||
|
|
||||||
foreach (var teamInfo in user.UserTeams)
|
|
||||||
response.TypeTeams.Add(teamInfo.Value);
|
|
||||||
}
|
|
||||||
|
|
||||||
// TODO: Save outpost data
|
|
||||||
response.Outposts.Add(new NetUserOutpostData() { SlotId = 1, BuildingId = 22401, IsDone = true, StartAt = 638549982076760660, CompleteAt = 638549982076760660 });
|
|
||||||
response.Outposts.Add(new NetUserOutpostData() { SlotId = 4, BuildingId = 22701, IsDone = true, StartAt = 638549982076760660, CompleteAt = 638549982076760660 });
|
|
||||||
response.Outposts.Add(new NetUserOutpostData() { SlotId = 5, BuildingId = 22801, IsDone = true, StartAt = 638549982076760660, CompleteAt = 638549982076760660 });
|
|
||||||
response.Outposts.Add(new NetUserOutpostData() { SlotId = 6, BuildingId = 22901, IsDone = true, StartAt = 638549982076760660, CompleteAt = 638549982076760660 });
|
|
||||||
response.Outposts.Add(new NetUserOutpostData() { SlotId = 7, BuildingId = 23001, IsDone = true, StartAt = 638549982076760660, CompleteAt = 638549982076760660 });
|
|
||||||
response.Outposts.Add(new NetUserOutpostData() { SlotId = 3, BuildingId = 23101, IsDone = true, StartAt = 638549982076760660, CompleteAt = 638549982076760660 });
|
|
||||||
response.Outposts.Add(new NetUserOutpostData() { SlotId = 2, BuildingId = 23201, IsDone = true, StartAt = 638549982076760660, CompleteAt = 638549982076760660 });
|
|
||||||
response.Outposts.Add(new NetUserOutpostData() { SlotId = 9, BuildingId = 23301, IsDone = true, StartAt = 638549982076760660, CompleteAt = 638549982076760660 });
|
|
||||||
response.Outposts.Add(new NetUserOutpostData() { SlotId = 8, BuildingId = 23401, IsDone = true, StartAt = 638549982076760660, CompleteAt = 638549982076760660 });
|
|
||||||
response.Outposts.Add(new NetUserOutpostData() { SlotId = 10, BuildingId = 23501, IsDone = true, StartAt = 638549982076760660, CompleteAt = 638549982076760660 });
|
|
||||||
response.Outposts.Add(new NetUserOutpostData() { SlotId = 38, BuildingId = 33601, IsDone = true, StartAt = 638549982076760660, CompleteAt = 638549982076760660 });
|
|
||||||
|
|
||||||
response.LastClearedNormalMainStageId = user.LastNormalStageCleared;
|
|
||||||
response.TimeRewardBuffs.AddRange(NetUtils.GetOutpostTimeReward(user));
|
|
||||||
|
|
||||||
await WriteDataAsync(response);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,91 +0,0 @@
|
|||||||
using EpinelPS.Database;
|
|
||||||
using EpinelPS.Utils;
|
|
||||||
|
|
||||||
namespace EpinelPS.LobbyServer.Msgs.User
|
|
||||||
{
|
|
||||||
[PacketPath("/enterlobbyserver")]
|
|
||||||
public class EnterLobbyServer : LobbyMsgHandler
|
|
||||||
{
|
|
||||||
protected override async Task HandleAsync()
|
|
||||||
{
|
|
||||||
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();
|
|
||||||
response.User = LobbyHandler.CreateNetUserDataFromUser(user);
|
|
||||||
response.ResetHour = 20;
|
|
||||||
response.Nickname = user.Nickname;
|
|
||||||
response.SynchroLv = 1;
|
|
||||||
response.OutpostBattleLevel = user.OutpostBattleLevel;
|
|
||||||
response.OutpostBattleTime = new NetOutpostBattleTime() { MaxBattleTime = 864000000000, MaxOverBattleTime = 12096000000000, BattleTime = battleTimeMs };
|
|
||||||
response.CommanderRoomJukeboxBgm = new NetJukeboxBgm() { JukeboxTableId = 5, Type = NetJukeboxBgmType.NetJukeboxBgmTypeJukeboxTableId, Location = NetJukeboxLocation.NetJukeboxLocationCommanderRoom };
|
|
||||||
response.LobbyJukeboxBgm = new NetJukeboxBgm() { JukeboxTableId = 2, Type = NetJukeboxBgmType.NetJukeboxBgmTypeJukeboxTableId, Location = NetJukeboxLocation.NetJukeboxLocationLobby };
|
|
||||||
|
|
||||||
// Add default slot data
|
|
||||||
if (user.RepresentationTeamData.Slots.Count == 0)
|
|
||||||
{
|
|
||||||
user.RepresentationTeamData = new NetWholeUserTeamData() { TeamNumber = 1, Type = 2 };
|
|
||||||
user.RepresentationTeamData.Slots.Add(new NetWholeTeamSlot() { Slot = 1 });
|
|
||||||
user.RepresentationTeamData.Slots.Add(new NetWholeTeamSlot() { Slot = 2 });
|
|
||||||
user.RepresentationTeamData.Slots.Add(new NetWholeTeamSlot() { Slot = 3 });
|
|
||||||
user.RepresentationTeamData.Slots.Add(new NetWholeTeamSlot() { Slot = 4 });
|
|
||||||
user.RepresentationTeamData.Slots.Add(new NetWholeTeamSlot() { Slot = 5 });
|
|
||||||
JsonDb.Save();
|
|
||||||
}
|
|
||||||
response.RepresentationTeam = user.RepresentationTeamData;
|
|
||||||
|
|
||||||
foreach (var item in user.Currency)
|
|
||||||
{
|
|
||||||
response.Currency.Add(new NetUserCurrencyData() { Type = (int)item.Key, Value = item.Value });
|
|
||||||
}
|
|
||||||
|
|
||||||
foreach (var item in user.Characters)
|
|
||||||
{
|
|
||||||
response.Character.Add(new NetUserCharacterData() { Default = new() { Csn = item.Csn, Skill1Lv = item.Skill1Lvl, Skill2Lv = item.Skill2Lvl, CostumeId = item.CostumeId, Level = user.GetCharacterLevel(item.Csn, item.Level), Grade = item.Grade, Tid = item.Tid, UltiSkillLv = item.UltimateLevel}, IsSynchro = user.GetSynchro(item.Csn) });
|
|
||||||
}
|
|
||||||
|
|
||||||
foreach (var item in NetUtils.GetUserItems(user))
|
|
||||||
{
|
|
||||||
response.Items.Add(item);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Add squad data if there are characters
|
|
||||||
if (user.Characters.Count > 0)
|
|
||||||
{
|
|
||||||
var highestLevelCharacters = user.Characters.OrderByDescending(x => x.Level).Take(5).ToList();
|
|
||||||
response.SynchroLv = user.GetSynchroLevel();
|
|
||||||
|
|
||||||
foreach (var item in highestLevelCharacters)
|
|
||||||
{
|
|
||||||
response.SynchroStandardCharacters.Add(item.Csn);
|
|
||||||
}
|
|
||||||
|
|
||||||
foreach (var teamInfo in user.UserTeams)
|
|
||||||
response.TypeTeams.Add(teamInfo.Value);
|
|
||||||
}
|
|
||||||
|
|
||||||
// TODO: Save outpost data
|
|
||||||
response.Outposts.Add(new NetUserOutpostData() { SlotId = 1, BuildingId = 22401, IsDone = true, StartAt = 638549982076760660, CompleteAt = 638549982076760660 });
|
|
||||||
response.Outposts.Add(new NetUserOutpostData() { SlotId = 4, BuildingId = 22701, IsDone = true, StartAt = 638549982076760660, CompleteAt = 638549982076760660 });
|
|
||||||
response.Outposts.Add(new NetUserOutpostData() { SlotId = 5, BuildingId = 22801, IsDone = true, StartAt = 638549982076760660, CompleteAt = 638549982076760660 });
|
|
||||||
response.Outposts.Add(new NetUserOutpostData() { SlotId = 6, BuildingId = 22901, IsDone = true, StartAt = 638549982076760660, CompleteAt = 638549982076760660 });
|
|
||||||
response.Outposts.Add(new NetUserOutpostData() { SlotId = 7, BuildingId = 23001, IsDone = true, StartAt = 638549982076760660, CompleteAt = 638549982076760660 });
|
|
||||||
response.Outposts.Add(new NetUserOutpostData() { SlotId = 3, BuildingId = 23101, IsDone = true, StartAt = 638549982076760660, CompleteAt = 638549982076760660 });
|
|
||||||
response.Outposts.Add(new NetUserOutpostData() { SlotId = 2, BuildingId = 23201, IsDone = true, StartAt = 638549982076760660, CompleteAt = 638549982076760660 });
|
|
||||||
response.Outposts.Add(new NetUserOutpostData() { SlotId = 9, BuildingId = 23301, IsDone = true, StartAt = 638549982076760660, CompleteAt = 638549982076760660 });
|
|
||||||
response.Outposts.Add(new NetUserOutpostData() { SlotId = 8, BuildingId = 23401, IsDone = true, StartAt = 638549982076760660, CompleteAt = 638549982076760660 });
|
|
||||||
response.Outposts.Add(new NetUserOutpostData() { SlotId = 10, BuildingId = 23501, IsDone = true, StartAt = 638549982076760660, CompleteAt = 638549982076760660 });
|
|
||||||
response.Outposts.Add(new NetUserOutpostData() { SlotId = 38, BuildingId = 33601, IsDone = true, StartAt = 638549982076760660, CompleteAt = 638549982076760660 });
|
|
||||||
|
|
||||||
response.LastClearedNormalMainStageId = user.LastNormalStageCleared;
|
|
||||||
response.TimeRewardBuffs.AddRange(NetUtils.GetOutpostTimeReward(user));
|
|
||||||
|
|
||||||
await WriteDataAsync(response);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user