using RPG.GameCore.Enums; using RPG.GameCore.Excel.Attributes; using RPG.GameCore.Types; using System.Text.Json.Serialization; namespace RPG.GameCore.Excel; [ExcelTable("MonsterTemplateExcelTable.json", ExcelType.MonsterTemplate)] public class MonsterTemplateRow : ExcelRow { public override uint Id => MonsterTemplateID; public uint MonsterTemplateID { get; set; } // 0x10 public TextID MonsterName { get; set; } // 0x14 public string MonsterBaseType { get; set; } = string.Empty; // 0x18 public string JsonConfig { get; set; } = string.Empty; // 0x20 public string IconPath { get; set; } = string.Empty; // 0x28 public string RoundIconPath { get; set; } = string.Empty; // 0x30 public string ImagePath { get; set; } = string.Empty; // 0x38 public string PrefabPath { get; set; } = string.Empty; // 0x40 public uint ConfigType { get; set; } // 0x48 public uint NatureID { get; set; } // 0x4C public FixPoint AttackBase { get; set; } // 0x50 public FixPoint DefenceBase { get; set; } // 0x58 public FixPoint HPBase { get; set; } // 0x60 public FixPoint SpeedBase { get; set; } // 0x68 public FixPoint StanceBase { get; set; } // 0x70 public FixPoint CriticalChanceBase { get; set; } // 0x78 public FixPoint CriticalDamageBase { get; set; } // 0x80 public FixPoint StatusResistanceBase { get; set; } // 0x88 public FixPoint MinimumFatigueRatio { get; set; } // 0x90 public string AIPath { get; set; } = string.Empty; // 0x98 public int StanceCount { get; set; } // 0xA0 [JsonConverter(typeof(JsonStringEnumConverter))] public AttackDamageType StanceType { get; set; } // 0xA4 public FixPoint InitialDelayRatio { get; set; } // 0xA8 }