using RPG.GameCore.Enums; using RPG.GameCore.Excel.Attributes; using RPG.GameCore.Types; using System.Text.Json.Serialization; namespace RPG.GameCore.Excel; [ExcelTable("MonsterExcelTable.json", ExcelType.Monster)] public class MonsterRow : ExcelRow { public override uint Id => MonsterID; public uint MonsterID { get; set; } // 0x10 public uint MonsterTemplateID { get; set; } // 0x14 public TextID MonsterName { get; set; } // 0x18 public TextID MonsterIntroduction { get; set; } // 0x1C public uint MonsterType { get; set; } // 0x20 public uint Level { get; set; } // 0x24 public uint HardLevelGroup { get; set; } // 0x28 public uint EliteGroup { get; set; } // 0x2C [JsonConverter(typeof(JsonStringEnumConverter))] public MonsterRank Rank { get; set; } // 0x30 public FixPoint AttackModifyRatio { get; set; } // 0x38 public FixPoint DefenceModifyRatio { get; set; } // 0x40 public FixPoint HPModifyRatio { get; set; } // 0x48 public FixPoint SpeedModifyRatio { get; set; } // 0x50 public FixPoint StanceModifyRatio { get; set; } // 0x58 public FixPoint AttackModifyValue { get; set; } // 0x60 public FixPoint DefenceModifyValue { get; set; } // 0x68 public FixPoint HPModifyValue { get; set; } // 0x70 public FixPoint SpeedModifyValue { get; set; } // 0x78 public FixPoint StanceModifyValue { get; set; } // 0x80 public uint[] SkillList { get; set; } = []; // 0x88 public int StanceCountDelta { get; set; } // 0xA8 public string[] CustomValueTags { get; set; } = []; // 0xB0 public GCINNHHNFMP[] DamageTypeResistance { get; set; } = []; // 0xC0 public bool Release { get; set; } // 0xC8 }