Refactor item categories and IDs across multiple class configurations

- Removed unused skill entries and adjusted step numbers in DemonHunter.json.
- Updated item categories and added item IDs for healing items in Paladin.json, Priest.json, Shaman.json, Warlock.json, and Warrior.json.
- Ensured consistent naming for healing items across classes.
This commit is contained in:
waynebian01
2026-09-01 14:04:03 +08:00
parent dcd5542df0
commit 1cd4e7c084
24 changed files with 873 additions and 449 deletions

View File

@@ -3,7 +3,7 @@ namespace Shigure;
/// <summary>随模块分发的职业配置与宏快照。</summary>
public sealed class ModuleDependencySnapshot
{
public const int CurrentSchemaVersion = 1;
public const int CurrentSchemaVersion = 2;
public int SchemaVersion { get; set; } = CurrentSchemaVersion;
public int ClassId { get; set; }
@@ -38,6 +38,7 @@ public sealed class ModuleSpecSnapshot
public bool NestedStates { get; set; } = true;
public List<string> FlatStates { get; set; } = new();
public Dictionary<string, List<string>> CategorizedStates { get; set; } = new(StringComparer.Ordinal);
public List<ModuleItemSnapshot> Items { get; set; } = new();
public List<ModuleAuraSnapshot> PlayerAuras { get; set; } = new();
public List<ModuleAuraSnapshot> TargetHarmfulAuras { get; set; } = new();
public List<ModuleAuraSnapshot> TargetHelpfulAuras { get; set; } = new();
@@ -54,6 +55,7 @@ public sealed class ModuleSpecSnapshot
pair => pair.Key,
pair => new List<string>(pair.Value ?? []),
StringComparer.Ordinal),
Items = (Items ?? []).Where(entry => entry is not null).Select(entry => entry.Clone()).ToList(),
PlayerAuras = CloneEntries(PlayerAuras),
TargetHarmfulAuras = CloneEntries(TargetHarmfulAuras),
TargetHelpfulAuras = CloneEntries(TargetHelpfulAuras),
@@ -67,6 +69,14 @@ public sealed class ModuleSpecSnapshot
=> (entries ?? []).Where(entry => entry is not null).Select(entry => entry.Clone()).ToList();
}
public sealed class ModuleItemSnapshot
{
public long ItemId { get; set; }
public string Name { get; set; } = string.Empty;
public ModuleItemSnapshot Clone() => (ModuleItemSnapshot)MemberwiseClone();
}
public sealed class ModuleAuraSnapshot
{
public string Name { get; set; } = string.Empty;