using System.Text.Json.Serialization; using RPG.GameCore.Enums; using RPG.GameCore.Excel.Attributes; using RPG.GameCore.Types; namespace RPG.GameCore.Excel; [ExcelTable("AvatarExcelTable.json", ExcelType.Avatar)] public class AvatarRow : ExcelRow { public override uint Id => AvatarID; public uint AvatarID { get; set; } // 0x10 public TextID AvatarName { get; set; } // 0x14 public TextID AvatarFullName { get; set; } // 0x18 public uint AdventurePlayerID { get; set; } // 0x1C public string AvatarVOTag { get; set; } = string.Empty; // 0x20 public uint Rarity { get; set; } // 0x28 public string JsonPath { get; set; } = string.Empty; // 0x30 public uint NatureID { get; set; } // 0x38 [JsonConverter(typeof(JsonStringEnumConverter))] public AttackDamageType DamageType { get; set; } // 0x3C public FixPoint SPNeed { get; set; } // 0x40 public uint ExpGroup { get; set; } // 0x48 public uint MaxPromotion { get; set; } // 0x4C public uint MaxRank { get; set; } // 0x50 public string[] RankUpCostList { get; set; } = []; // 0x58 public uint MaxRankRepay { get; set; } // 0x60 public uint[] SkillList { get; set; } = []; // 0x68 [JsonConverter(typeof(JsonStringEnumConverter))] public AvatarBaseType AvatarBaseType { get; set; } // 0x70 public string DefaultAvatarImagePath { get; set; } = string.Empty; // 0x78 public string DefaultAvatarModelPath { get; set; } = string.Empty; // 0x80 public string DefaultAvatarHeadIconPath { get; set; } = string.Empty; // 0x88 public string DefaultAvatarHalfImagePath { get; set; } = string.Empty; // 0x90 public string AvatarSideIconPath { get; set; } = string.Empty; // 0x98 public string ActionAvatarHeadIconPath { get; set; } = string.Empty; // 0xA0 public string DefaultAvatarQHeadIconPath { get; set; } = string.Empty; // 0xA8 public string AvatarBaseTypeIconPath { get; set; } = string.Empty; // 0xB0 public string AvatarDialogHalfImagePath { get; set; } = string.Empty; // 0xB8 public string UltraSkillCutInPrefabPath { get; set; } = string.Empty; // 0xC0 public string UIAvatarModelPath { get; set; } = string.Empty; // 0xC8 public string ManikinJsonPath { get; set; } = string.Empty; // 0xD0 public TextID AvatarDesc { get; set; } // 0xD8 public string AIPath { get; set; } = string.Empty; // 0xE0 public string SkilltreePrefabPath { get; set; } = string.Empty; // 0xE8 public GCINNHHNFMP[] DamageTypeResistance { get; set; } = []; // 0xF0 public bool Release { get; set; } // 0xF8 public string SideAvatarHeadIconPath { get; set; } = string.Empty; // 0x100 public string WaitingAvatarHeadIconPath { get; set; } = string.Empty; // 0x108 public string AvatarCutinImgPath { get; set; } = string.Empty; // 0x110 public string AvatarCutinBgImgPath { get; set; } = string.Empty; // 0x118 }