1
0
Fork 0
forked from aly/qstbak
qstbak/LLib/LLib.Gear/ExtendedBaseParam.cs
2026-08-17 20:27:25 +10:00

73 lines
2.1 KiB
C#

using Lumina.Excel;
using Lumina.Excel.Sheets;
namespace LLib.Gear;
[Sheet("BaseParam")]
public readonly struct ExtendedBaseParam : IExcelRow<ExtendedBaseParam>
{
private const int ParamCount = 23;
public uint RowId => _003Crow_003EP;
public ExcelPage ExcelPage => _003Cpage_003EP;
public uint RowOffset => _003Coffset_003EP;
public BaseParam BaseParam => new BaseParam(_003Cpage_003EP, _003Coffset_003EP, _003Crow_003EP);
public unsafe Collection<ushort> EquipSlotCategoryPct => new Collection<ushort>(_003Cpage_003EP, _003Coffset_003EP, _003Coffset_003EP, (delegate*<ExcelPage, uint, uint, uint, ushort>)(&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)
{
int num = ((i == 0) ? 1726719508 : 1726719511);
while (true)
{
int num2 = num;
int num3 = 1726719510;
int num4 = num2;
int num5 = num4 + num3;
int num6 = num4 & num3;
switch (num5 - (num6 + num6))
{
case 0:
goto IL_0043;
case 2:
return 0;
case 1:
{
num3 = 8;
num4 = (int)offset;
int num7 = num4 ^ num3;
int num8 = num4 & num3;
int num9 = num7 + (num8 + num8);
num3 = 1;
num4 = (int)i;
num3 = ~(~num4 + num3) * 2;
num4 = num9;
return _206B_202D_206F_202C_206F_202A_206D_202D_202E_206C_206D_206A_200D_200F_206B_200D_200E_202D_206F_206A_202C_200F_206B_200B_200B_200E_200C_202D_206E_200C_206E_206E_200E_200B_202A_202E_202B_206A_206A_206F_202E(page, (nuint)(uint)((num4 | num3) + (num4 & num3)));
}
}
continue;
IL_0043:
num = 1726719511;
}
}
public static ExtendedBaseParam Create(ExcelPage page, uint offset, uint row)
{
return new ExtendedBaseParam(page, offset, row);
}
static ushort _206B_202D_206F_202C_206F_202A_206D_202D_202E_206C_206D_206A_200D_200F_206B_200D_200E_202D_206F_206A_202C_200F_206B_200B_200B_200E_200C_202D_206E_200C_206E_206E_200E_200B_202A_202E_202B_206A_206A_206F_202E(ExcelPage P_0, nuint P_1)
{
return P_0.ReadUInt16(P_1);
}
}