F4MP/tiltedcode/Code/client/Games/Skyrim/Combat/CombatController.h
Jous99 37b16f1547 code upload
codigo original de f4mp y tilted para referencias
2026-01-06 18:45:00 +01:00

53 lines
1.5 KiB
C

#pragma once
struct CombatTargetSelector;
struct CombatGroup;
struct CombatState;
struct CombatInventory;
struct CombatAimController;
struct CombatTargetSelector;
struct CombatController
{
void SetTarget(Actor* apTarget);
void UpdateTarget();
CombatGroup *pCombatGroup;
CombatState *pState;
CombatInventory *pInventory;
void *pCombatBlackboard;
void *pBehaviorController;
uint32_t attackerHandle;
uint32_t targetHandle;
uint32_t previousTargetHandle;
uint8_t unk34;
bool startedCombat;
uint8_t unk36;
uint8_t unk37;
TESCombatStyle *pCombatStyle;
bool stoppedCombat;
bool unk41;
bool ignoringCombat;
bool inactive;
float unk44;
float unk4C;
GameArray<void*> aimControllers;
uint64_t aimControllerLock;
CombatAimController *pCurrentAimController;
CombatAimController *pPreviousAimController;
GameArray<void*> areas;
CombatAreaStandard *pCurrentArea;
GameArray<CombatTargetSelector*> targetSelectors;
CombatTargetSelector *pActiveTargetSelector;
CombatTargetSelector *pPreviousTargetSelector;
uint32_t handleCount;
int32_t unkCC;
NiPointer<Actor> pCachedAttacker;
NiPointer<Actor> pCachedTarget;
};
static_assert(offsetof(CombatController, targetHandle) == 0x2C);
static_assert(offsetof(CombatController, startedCombat) == 0x35);
static_assert(offsetof(CombatController, targetSelectors) == 0xA0);
static_assert(offsetof(CombatController, pActiveTargetSelector) == 0xB8);
static_assert(sizeof(CombatController) == 0xE0);