using System.Runtime.InteropServices;
using Nexus.GameOffsets.Natives;
namespace Nexus.GameOffsets.Components;
/// Stats component — item stats, weapon index, shapeshift.
[StructLayout(LayoutKind.Explicit, Size = 0x180)]
public struct Stats
{
[FieldOffset(0x00)] public ComponentHeader Header;
/// Stats changed by items StdVector.
[FieldOffset(0x160)] public StdVector StatsChangedByItems;
/// Current weapon index.
[FieldOffset(0x178)] public int WeaponIndex;
}
/// Internal stats storage.
[StructLayout(LayoutKind.Explicit, Size = 0x20)]
public struct StatsInternal
{
[FieldOffset(0x00)] public StdVector StatArray;
}
/// A single stat entry (key/value pair).
[StructLayout(LayoutKind.Sequential, Pack = 1)]
public struct StatArrayStruct
{
public int StatId;
public int Value;
}