#pragma once #include "MagicCaster.h" #include struct Actor; struct NiNode; struct BGSArtObject; struct WeaponEnchantmentController; struct ActorMagicCaster : MagicCaster { virtual uint64_t SpellCast(bool abSuccess, uint32_t auiTargetCount, MagicItem* apSpell) override; virtual void sub_1D(float aUnk1); uint8_t unk48[0x70]; Actor* pCasterActor; NiNode* pMagicNode; NiPointer spLight; // NiPointer spLight; void(__fastcall* pfInterruptHandler)(Actor*); uint64_t LoadGameSubBuffer; // BGSLoadGameSubBuffer LoadGameSubBuffer; BGSArtObject* pWaitingForCastingArt; WeaponEnchantmentController* pWeaponEnchantmentController; float fCostCharged; MagicSystem::CastingSource eCastingSource; uint32_t uiFlags; }; static_assert(offsetof(ActorMagicCaster, pCasterActor) == 0xB8); static_assert(offsetof(ActorMagicCaster, pMagicNode) == 0xC0); static_assert(sizeof(ActorMagicCaster) == 0x100);