Unlock all of Paradox's talents

This commit is contained in:
Kei-Luna
2026-05-02 09:13:04 +09:00
parent f07c5f77fd
commit 2fdda3157f
3 changed files with 46 additions and 0 deletions

View File

@@ -0,0 +1,31 @@
using Newtonsoft.Json;
namespace MikuSB.Data.Excel;
[ResourceEntity("server_03_talent.json")]
public class Rogue3DTalentExcel : ExcelResource
{
[JsonProperty("TalentID")] public uint TalentId { get; set; }
[JsonProperty("UnlockCondition")] private object? UnlockConditionRaw { get; set; }
[JsonIgnore] public uint UnlockCondition { get; private set; }
public override uint GetId() => TalentId;
public override void Loaded()
{
UnlockCondition = ParseUnlockCondition(UnlockConditionRaw);
GameData.Rogue3DTalentData[TalentId] = this;
}
private static uint ParseUnlockCondition(object? raw)
{
return raw switch
{
null => 0,
long value when value > 0 => (uint)value,
int value when value > 0 => (uint)value,
string text when uint.TryParse(text, out var value) => value,
_ => 0
};
}
}

View File

@@ -17,6 +17,7 @@ public static class GameData
public static Dictionary<uint, ManifestationExcel> ManifestationData { get; private set; } = [];
public static Dictionary<uint, Rogue3DDifficultExcel> Rogue3DDifficultData { get; private set; } = [];
public static Dictionary<uint, Rogue3DSeasonExcel> Rogue3DSeasonData { get; private set; } = [];
public static Dictionary<uint, Rogue3DTalentExcel> Rogue3DTalentData { get; private set; } = [];
public static Dictionary<int, BreakExcel> BreakData { get; private set; } = [];
public static Dictionary<uint, SpineExcel> SpineData { get; private set; } = [];
public static Dictionary<uint, NodeConditionExcel> NodeConditionData { get; private set; } = [];