refactoring
This commit is contained in:
parent
fbd0ba445a
commit
18d8721dd5
68 changed files with 2187 additions and 36 deletions
68
src/Roboto.GameOffsets/Components/Actor.cs
Normal file
68
src/Roboto.GameOffsets/Components/Actor.cs
Normal file
|
|
@ -0,0 +1,68 @@
|
|||
using System.Runtime.InteropServices;
|
||||
using Roboto.GameOffsets.Natives;
|
||||
|
||||
namespace Roboto.GameOffsets.Components;
|
||||
|
||||
/// <summary>Actor component — skills, animations, deployments.</summary>
|
||||
[StructLayout(LayoutKind.Explicit, Size = 0x2E8)]
|
||||
public struct Actor
|
||||
{
|
||||
[FieldOffset(0x00)] public ComponentHeader Header;
|
||||
|
||||
/// <summary>Pointer to animation controller.</summary>
|
||||
[FieldOffset(0x1D8)] public nint AnimationControllerPtr;
|
||||
|
||||
/// <summary>Active skills StdVector (of ActiveSkillStructure).</summary>
|
||||
[FieldOffset(0x2C0)] public StdVector ActiveSkills;
|
||||
|
||||
/// <summary>Deployed entities StdVector (of DeployedEntityStructure).</summary>
|
||||
[FieldOffset(0x2D8)] public StdVector DeployedEntities;
|
||||
}
|
||||
|
||||
/// <summary>An entry in the active skills vector.</summary>
|
||||
[StructLayout(LayoutKind.Explicit, Size = 0x28)]
|
||||
public struct ActiveSkillStructure
|
||||
{
|
||||
[FieldOffset(0x00)] public nint SkillDetailsPtr;
|
||||
[FieldOffset(0x08)] public short SkillId;
|
||||
[FieldOffset(0x0C)] public byte CanBeUsed;
|
||||
[FieldOffset(0x0D)] public byte CanBeUsedWithWeapon;
|
||||
[FieldOffset(0x10)] public nint CooldownPtr;
|
||||
}
|
||||
|
||||
/// <summary>Detailed info about a skill.</summary>
|
||||
[StructLayout(LayoutKind.Explicit, Size = 0x20)]
|
||||
public struct ActiveSkillDetails
|
||||
{
|
||||
[FieldOffset(0x00)] public nint NamePtr;
|
||||
[FieldOffset(0x08)] public nint InternalNamePtr;
|
||||
[FieldOffset(0x10)] public int GrantedEffectsPerLevelIdx;
|
||||
[FieldOffset(0x14)] public int IconIndex;
|
||||
}
|
||||
|
||||
/// <summary>Cooldown state for a skill.</summary>
|
||||
[StructLayout(LayoutKind.Explicit, Size = 0x20)]
|
||||
public struct ActiveSkillCooldown
|
||||
{
|
||||
[FieldOffset(0x00)] public nint CooldownGroupPtr;
|
||||
[FieldOffset(0x08)] public int MaxUses;
|
||||
[FieldOffset(0x0C)] public int CurrentUses;
|
||||
[FieldOffset(0x10)] public int CooldownTimer;
|
||||
}
|
||||
|
||||
/// <summary>Vaal soul tracking.</summary>
|
||||
[StructLayout(LayoutKind.Sequential, Pack = 1)]
|
||||
public struct VaalSoulStructure
|
||||
{
|
||||
public nint GrantedEffectsPtr;
|
||||
public int CurrentSouls;
|
||||
public int SoulCost;
|
||||
}
|
||||
|
||||
/// <summary>A deployed entity (totem, mine, etc.).</summary>
|
||||
[StructLayout(LayoutKind.Sequential, Pack = 1)]
|
||||
public struct DeployedEntityStructure
|
||||
{
|
||||
public uint EntityId;
|
||||
public int SkillIndex;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue