CommonLibSSE (powerof3)
Loading...
Searching...
No Matches
ArrowProjectile.h
Go to the documentation of this file.
1#pragma once
2
4
5namespace RE
6{
7 class AlchemyItem;
8
10 {
11 public:
12 inline static constexpr auto RTTI = RTTI_ArrowProjectile;
13 inline static constexpr auto VTABLE = VTABLE_ArrowProjectile;
14 inline static constexpr auto FORMTYPE = FormType::ProjectileArrow;
15
17 {
18 enum RecordFlag : std::uint32_t
19 {
20 };
21 };
22
23 ~ArrowProjectile() override; // 00
24
25 // override (MissileProjectile)
26 void SaveGame(BGSSaveFormBuffer* a_buf) override; // 0E
27 void LoadGame(BGSLoadFormBuffer* a_buf) override; // 0F
28 void PostLoad3D(NiAVObject* a_root) override; // AA
29 void UpdateImpl(float a_delta) override; // AB
30 bool ProcessImpacts() override; // AC
31 void Update3D() override; // AD
32 float GetPowerSpeedMult() const override; // AF
33 float GetWeaponSpeedMult() const override; // B0
34 bool GetStopMainSoundAfterImpact() override; // B1 - { return 1; }
35 float GetGravity() override; // B5
36 bool ShouldBeLimited() override; // B9 - { return (unk1CC >> 22) & 1; }
37 void AddImpact(TESObjectREFR* a_ref, const NiPoint3& a_targetLoc, const NiPoint3& a_velocity, hkpCollidable* a_collidable, std::int32_t a_arg6, std::uint32_t a_arg7) override; // BD
38 void Handle3DLoaded() override; // C0
39 void Unk_C2(void) override; // C2 - { return 1; }
40 void Unk_C3(void) override; // C3 - { return 1; }
41
42 // members
45 };
46#ifndef SKYRIM_SUPPORT_AE
47 static_assert(sizeof(ArrowProjectile) == 0x1F0);
48#else
49 static_assert(sizeof(ArrowProjectile) == 0x1F8);
50#endif
51}
Definition AlchemyItem.h:24
Definition ArrowProjectile.h:10
AlchemyItem * poison
Definition ArrowProjectile.h:44
void SaveGame(BGSSaveFormBuffer *a_buf) override
void Unk_C3(void) override
float GetWeaponSpeedMult() const override
void Unk_C2(void) override
void UpdateImpl(float a_delta) override
void Handle3DLoaded() override
void PostLoad3D(NiAVObject *a_root) override
void LoadGame(BGSLoadFormBuffer *a_buf) override
float GetGravity() override
bool ShouldBeLimited() override
void Update3D() override
void AddImpact(TESObjectREFR *a_ref, const NiPoint3 &a_targetLoc, const NiPoint3 &a_velocity, hkpCollidable *a_collidable, std::int32_t a_arg6, std::uint32_t a_arg7) override
~ArrowProjectile() override
static constexpr auto RTTI
Definition ArrowProjectile.h:12
EnchantmentItem * enchantItem
Definition ArrowProjectile.h:43
float GetPowerSpeedMult() const override
bool ProcessImpacts() override
bool GetStopMainSoundAfterImpact() override
static constexpr auto FORMTYPE
Definition ArrowProjectile.h:14
static constexpr auto VTABLE
Definition ArrowProjectile.h:13
Definition BGSLoadFormBuffer.h:11
Definition BGSSaveFormBuffer.h:8
Definition EnchantmentItem.h:10
Definition MissileProjectile.h:10
Definition NiAVObject.h:51
Definition NiPoint3.h:6
Definition TESObjectREFR.h:114
Definition hkpCollidable.h:13
Definition AbsorbEffect.h:6
constexpr REL::ID RTTI_ArrowProjectile(static_cast< std::uint64_t >(687494))
constexpr std::array< REL::ID, 4 > VTABLE_ArrowProjectile
Definition Offsets_VTABLE.h:7417
Definition ArrowProjectile.h:17
RecordFlag
Definition ArrowProjectile.h:19