refactor
This commit is contained in:
parent
4424f4c3a8
commit
0e7de0a5f3
281 changed files with 3188 additions and 611 deletions
33
src/Nexus.GameOffsets/Components/ActorSkill.cs
Normal file
33
src/Nexus.GameOffsets/Components/ActorSkill.cs
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace Nexus.GameOffsets.Components;
|
||||
|
||||
/// <summary>
|
||||
/// An entry in the ActiveSkills vector: shared_ptr pair (0x10 bytes).
|
||||
/// Follow ActiveSkillPtr (first pointer) for skill details.
|
||||
/// </summary>
|
||||
[StructLayout(LayoutKind.Sequential, Pack = 1)]
|
||||
public struct ActorSkillEntry
|
||||
{
|
||||
public nint ActiveSkillPtr;
|
||||
public nint ControlBlockPtr; // shared_ptr control block, not used
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Details of an active skill. The shared_ptr in the ActiveSkills vector points
|
||||
/// 0x10 bytes into the object (past vtable + UseStage/CastType), so we read from
|
||||
/// ActiveSkillPtr - 0x10 and all offsets are relative to the true object base.
|
||||
/// </summary>
|
||||
[StructLayout(LayoutKind.Explicit, Pack = 1)]
|
||||
public struct ActorSkillDetails
|
||||
{
|
||||
[FieldOffset(0x00)] public nint Vtable;
|
||||
[FieldOffset(0x08)] public int UseStage;
|
||||
[FieldOffset(0x0C)] public int CastType;
|
||||
[FieldOffset(0x20)] public uint UnknownIdAndEquipmentInfo;
|
||||
[FieldOffset(0x28)] public nint GrantedEffectsPerLevelDatRow;
|
||||
[FieldOffset(0x30)] public nint ActiveSkillsDatPtr;
|
||||
[FieldOffset(0x40)] public nint GrantedEffectStatSetsPerLevelDatRow;
|
||||
[FieldOffset(0xA8)] public int TotalUses;
|
||||
[FieldOffset(0xB8)] public int TotalCooldownTimeInMs;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue