CommonLibSSE NG
Loading...
Searching...
No Matches
CombatInventoryItemMagic.h
Go to the documentation of this file.
1#pragma once
2
4
5namespace RE
6{
7 class MagicItem;
8
9 struct Effect;
10
12 {
13 public:
14 inline static constexpr auto RTTI = RTTI_CombatInventoryItemMagic;
15 inline static constexpr auto VTABLE = VTABLE_CombatInventoryItemMagic;
16
17 ~CombatInventoryItemMagic() override; // 00
18
19 // override (CombatInventoryItem)
20 void SaveGame(BGSSaveGameBuffer* a_buf) override; // 03
21 void LoadGame(BGSLoadGameBuffer* a_buf) override; // 04
22 float GetMinRange() override; // 05 - { return minRange; }
23 float GetMaxRange() override; // 06 - { return maxRange; }
24 float GetOptimalRange() override; // 07 - { return ((maxRange - minRange) * fCombatInventoryOptimalRangePercent) + minRange; }
25 float GetEquipRange() override; // 08
26 TYPE GetType() override; // 09 - { return 4; }
27 TYPE GetEquipType(BGSEquipSlot a_slot) override; // 0A
28 float CalculateScore(CombatController* a_controller) override; // 0C
29 bool CheckBusy(CombatController* a_controller) override; // 0E
30 bool CheckShouldEquip(CombatController* a_controller) override; // 0F - { return true; }
31 bool GetResource(CombatInventoryItemResource& a_resource) override; // 10
32 bool IsValid() override; // 12 - { return item && effect; }
33
34 //add
35 virtual void* CreateCaster() = 0; // 15
36 virtual MagicItem* GetMagic(); // 16 - { return unk10; };
37
38 // members
39 float minRange; // 30
40 float maxRange; // 34
41 float tacticalDuration; // 38
42 float power; // 3C
43 float currentAV; // 40
44 Effect* effect; // 48
45 };
46 static_assert(sizeof(CombatInventoryItemMagic) == 0x50);
47}
Definition BGSEquipSlot.h:10
Definition BGSLoadGameBuffer.h:6
Definition CombatController.h:23
Definition CombatInventoryItem.h:33
TYPE
Definition CombatInventoryItem.h:38
Definition CombatInventoryItemMagic.h:12
float GetMaxRange() override
virtual void * CreateCaster()=0
float GetEquipRange() override
float tacticalDuration
Definition CombatInventoryItemMagic.h:41
static constexpr auto RTTI
Definition CombatInventoryItemMagic.h:14
static constexpr auto VTABLE
Definition CombatInventoryItemMagic.h:15
bool CheckBusy(CombatController *a_controller) override
float GetOptimalRange() override
void LoadGame(BGSLoadGameBuffer *a_buf) override
float maxRange
Definition CombatInventoryItemMagic.h:40
virtual MagicItem * GetMagic()
float currentAV
Definition CombatInventoryItemMagic.h:43
Effect * effect
Definition CombatInventoryItemMagic.h:44
void SaveGame(BGSSaveGameBuffer *a_buf) override
float minRange
Definition CombatInventoryItemMagic.h:39
bool CheckShouldEquip(CombatController *a_controller) override
float GetMinRange() override
float CalculateScore(CombatController *a_controller) override
float power
Definition CombatInventoryItemMagic.h:42
bool GetResource(CombatInventoryItemResource &a_resource) override
TYPE GetEquipType(BGSEquipSlot a_slot) override
Definition MagicItem.h:30
Definition AbsorbEffect.h:6
constexpr REL::VariantID RTTI_CombatInventoryItemMagic(687597, 395467, 0x1f1d308)
constexpr std::array< REL::VariantID, 1 > VTABLE_CombatInventoryItemMagic
Definition Offsets_VTABLE.h:2891
Definition CombatInventoryItem.h:15
Definition Effect.h:11