|
| 1 | +#pragma once |
| 2 | + |
| 3 | +#include "RE/N/NiSmartPointer.h" |
| 4 | + |
| 5 | +namespace RE |
| 6 | +{ |
| 7 | + class Actor; |
| 8 | + class ActorMagicCaster; |
| 9 | + class TESObjectWEAP; |
| 10 | + |
| 11 | + class WeaponEnchantmentController : public ReferenceEffectController |
| 12 | + { |
| 13 | + public: |
| 14 | + inline static constexpr auto RTTI = RTTI_WeaponEnchantmentController; |
| 15 | + inline static constexpr auto VTABLE = VTABLE_WeaponEnchantmentController; |
| 16 | + |
| 17 | + virtual ~WeaponEnchantmentController() = default; // 00 |
| 18 | + |
| 19 | + // override |
| 20 | + RE::TESObjectREFR* GetTargetReference() override; // 0B |
| 21 | + RE::BGSArtObject* GetHitEffectArt() override; // 0C |
| 22 | + RE::TESEffectShader* GetHitEffectShader() override; // 0D |
| 23 | + bool GetManagerHandlesSaveLoad() override; // 0E |
| 24 | + RE::NiAVObject* GetAttachRoot() override; // 0F |
| 25 | + float GetParticleAttachExtent() override; // 10 |
| 26 | + bool GetUseParticleAttachExtent() override; // 11 |
| 27 | + bool GetDoParticles() override; // 12 |
| 28 | + bool GetParticlesUseLocalSpace() override; // 13 |
| 29 | + bool GetUseRootWorldRotate() override; // 14 |
| 30 | + bool GetIsRootActor() override; // 15 |
| 31 | + bool GetShaderUseParentCell() override; // 19 |
| 32 | + bool GetAllowTargetRoot() override; // 2C |
| 33 | + bool IsReadyForAttach() override; // 1D |
| 34 | + |
| 35 | + // members |
| 36 | + ActorMagicCaster* caster; // 08 |
| 37 | + Actor* target; // 10 |
| 38 | + TESEffectShader* shader; // 18 |
| 39 | + BGSArtObject* art; // 20 |
| 40 | + NiPointer<NiAVObject> attachRoot; // 28 |
| 41 | + TESObjectWEAP* lastWeapon; // 30 |
| 42 | + bool firstPerson; // 38 |
| 43 | + std::uint8_t pad39; // 39 |
| 44 | + std::uint16_t pad3A; // 3A |
| 45 | + std::uint32_t pad3C; // 3C |
| 46 | + }; |
| 47 | + static_assert(sizeof(WeaponEnchantmentController) == 0x40); |
| 48 | +} |
0 commit comments