forked from aly/qstbak
73 lines
2.1 KiB
C#
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);
|
|
}
|
|
}
|