using System.Runtime.InteropServices; using Nexus.GameOffsets.Natives; namespace Nexus.GameOffsets.Components; /// Buffs component — active status effects. [StructLayout(LayoutKind.Explicit, Size = 0x178)] public struct Buffs { [FieldOffset(0x00)] public ComponentHeader Header; /// StdVector of StatusEffectStruct pointers. [FieldOffset(0x160)] public StdVector StatusEffects; } /// A single status effect (buff/debuff). [StructLayout(LayoutKind.Explicit, Size = 0x40)] public struct StatusEffectStruct { [FieldOffset(0x00)] public nint NamePtr; [FieldOffset(0x10)] public float Duration; [FieldOffset(0x14)] public float Timer; [FieldOffset(0x18)] public int Charges; [FieldOffset(0x1C)] public short FlaskSlot; }