Implement Neuronics

This commit is contained in:
Kei-Luna
2026-04-28 14:46:06 +09:00
parent 5f92f2c116
commit 1e4d93bab1
7 changed files with 394 additions and 0 deletions

View File

@@ -19,6 +19,7 @@ public class CardExcel : ExcelResource
[JsonProperty("profile")] public List<List<int>> Profile { get; set; } = [];
public List<List<int>> Pieces { get; set; } = [];
public List<int> Attribute { get; set; } = [];
[JsonProperty("SpineID")] public uint SpineId { get; set; }
public override uint GetId()
{
return Icon;

View File

@@ -0,0 +1,41 @@
using Newtonsoft.Json;
namespace MikuSB.Data.Excel;
// nodecondition.json: NodeConditionId → NodeXCost per sub-node (1-9)
[ResourceEntity("nodecondition.json")]
public class NodeConditionExcel : ExcelResource
{
[JsonProperty("ID")] public uint Id { get; set; }
[JsonProperty("Node1Cost")] public List<List<int>> Node1Cost { get; set; } = [];
[JsonProperty("Node2Cost")] public List<List<int>> Node2Cost { get; set; } = [];
[JsonProperty("Node3Cost")] public List<List<int>> Node3Cost { get; set; } = [];
[JsonProperty("Node4Cost")] public List<List<int>> Node4Cost { get; set; } = [];
[JsonProperty("Node5Cost")] public List<List<int>> Node5Cost { get; set; } = [];
[JsonProperty("Node6Cost")] public List<List<int>> Node6Cost { get; set; } = [];
[JsonProperty("Node7Cost")] public List<List<int>> Node7Cost { get; set; } = [];
[JsonProperty("Node8Cost")] public List<List<int>> Node8Cost { get; set; } = [];
[JsonProperty("Node9Cost")] public List<List<int>> Node9Cost { get; set; } = [];
public List<List<int>> GetNodeCost(int subIdx) => subIdx switch
{
1 => Node1Cost,
2 => Node2Cost,
3 => Node3Cost,
4 => Node4Cost,
5 => Node5Cost,
6 => Node6Cost,
7 => Node7Cost,
8 => Node8Cost,
9 => Node9Cost,
_ => []
};
public override uint GetId() => Id;
public override void Loaded()
{
GameData.NodeConditionData[Id] = this;
}
}

View File

@@ -0,0 +1,35 @@
using Newtonsoft.Json;
namespace MikuSB.Data.Excel;
// spine.json: SpineId → Node{i}Req (nodecondition ID per master node index)
[ResourceEntity("spine.json")]
public class SpineExcel : ExcelResource
{
[JsonProperty("ID")] public uint Id { get; set; }
[JsonProperty("Node1Req")] public uint Node1Req { get; set; }
[JsonProperty("Node2Req")] public uint Node2Req { get; set; }
[JsonProperty("Node3Req")] public uint Node3Req { get; set; }
[JsonProperty("Node4Req")] public uint Node4Req { get; set; }
[JsonProperty("Node5Req")] public uint Node5Req { get; set; }
[JsonProperty("Node6Req")] public uint Node6Req { get; set; }
public uint GetNodeReq(int mastIdx) => mastIdx switch
{
1 => Node1Req,
2 => Node2Req,
3 => Node3Req,
4 => Node4Req,
5 => Node5Req,
6 => Node6Req,
_ => 0
};
public override uint GetId() => Id;
public override void Loaded()
{
GameData.SpineData[Id] = this;
}
}

View File

@@ -16,6 +16,8 @@ public static class GameData
public static Dictionary<uint, ArItemExcel> ArItemData { get; private set; } = [];
public static Dictionary<uint, ManifestationExcel> ManifestationData { get; private set; } = [];
public static Dictionary<uint, Rogue3DDifficultExcel> Rogue3DDifficultData { get; private set; } = [];
public static Dictionary<uint, SpineExcel> SpineData { get; private set; } = [];
public static Dictionary<uint, NodeConditionExcel> NodeConditionData { get; private set; } = [];
}
public static class GameResourceTemplateId

View File

@@ -16,6 +16,7 @@ public class PlayerGameData : BaseDatabaseDataHelper
public Sex Gender { get; set; } = Sex.Female;
public uint Vigor { get; set; } = 240;
[SugarColumn(IsJson = true)] public List<PlayerAttr> Attrs { get; set; } = [];
[SugarColumn(IsJson = true)] public List<PlayerStrAttr> StrAttrs { get; set; } = [];
[SugarColumn(IsJson = true)] public List<ulong> ShowItems { get; set; } = [];
public static PlayerGameData? GetPlayerByUid(long uid)
@@ -45,4 +46,11 @@ public class PlayerAttr
public uint Gid { get; set; }
public uint Sid { get; set; }
public uint Val { get; set; }
}
public class PlayerStrAttr
{
public uint Gid { get; set; }
public uint Sid { get; set; }
public string Val { get; set; } = "";
}