using Lumina.Excel; using Lumina.Excel.Sheets; namespace LLib.Gear; [Sheet("BaseParam")] public readonly struct ExtendedBaseParam : IExcelRow { private const int ParamCount = 23; public uint RowId => _003Crow_003EP; public BaseParam BaseParam => new BaseParam(_003Cpage_003EP, _003Coffset_003EP, _003Crow_003EP); public unsafe Collection EquipSlotCategoryPct => new Collection(_003Cpage_003EP, _003Coffset_003EP, _003Coffset_003EP, (delegate*)(&EquipSlotCategoryPctCtor), 23); public ExtendedBaseParam(ExcelPage page, uint offset, uint row) { _003Cpage_003EP = page; _003Coffset_003EP = offset; _003Crow_003EP = row; } private static ushort EquipSlotCategoryPctCtor(ExcelPage page, uint parentOffset, uint offset, uint i) { if (i != 0) { return page.ReadUInt16(offset + 8 + (i - 1) * 2); } return 0; } public static ExtendedBaseParam Create(ExcelPage page, uint offset, uint row) { return new ExtendedBaseParam(page, offset, row); } }