65 static_assert(
sizeof(
Data) == 0x8);
91 [[nodiscard]]
virtual bool IsFood()
const;
142 static_assert(
sizeof(
MagicItem) == 0x90);
#define KEEP_FOR_RE()
Definition: PCH.h:713
Definition: BGSKeyword.h:10
Definition: BSTArray.h:378
Definition: EffectSetting.h:24
Definition: MagicItemDataCollector.h:11
Definition: MagicItemTraversalFunctor.h:10
Definition: MagicItem.h:59
std::uint32_t flags
Definition: MagicItem.h:63
std::int32_t costOverride
Definition: MagicItem.h:62
Definition: MagicItem.h:36
virtual void VisitModel(TESModel *a_model)=0
virtual void VisitWeapon(TESObjectWEAP *a_weapon)=0
Definition: MagicItem.h:30
virtual void LoadChunkDataPostProcess(TESFile *a_mod)
virtual bool IsMedicine() const
virtual bool GetNoDualCastModifications() const
virtual bool IgnoresResistance() const
float CalculateTotalGoldValue(Actor *a_caster=nullptr) const
bool HasEffect(EffectArchetype a_archetype)
virtual void CopyMagicItemData(MagicItem *a_src)=0
void Copy(TESForm *a_srcForm) override
std::uint32_t pad74
Definition: MagicItem.h:130
virtual bool GetNoAbsorb() const
virtual bool IsFood() const
bool IsMagicItem() const override
EffectSetting * avEffectSetting
Definition: MagicItem.h:131
void InitItemImpl() override
virtual bool IsValidDelivery(MagicSystem::Delivery a_delivery)
virtual void LoadMagicItemChunk(TESFile *a_mod, std::uint32_t a_chunkID)
std::int32_t GetLargestArea() const
virtual Data * GetData2()=0
virtual float GetChargeTime() const
virtual void AdjustCost(float &a_cost, Actor *a_actor) const
BSTSmartPointer< QueuedFile > preloadedItem
Definition: MagicItem.h:134
virtual float GetRange() const
virtual void InitFromChunk(TESFile *a_mod)=0
std::int32_t hostileCount
Definition: MagicItem.h:129
virtual ActorValue GetAssociatedSkill() const
bool HasKeyword(const BGSKeyword *a_keyword) const override
static constexpr auto VTABLE
Definition: MagicItem.h:33
virtual std::uint32_t GetMaxEffectCount() const
EffectSetting * GetAVEffect() const
static constexpr auto RTTI
Definition: MagicItem.h:32
std::uint32_t preloadCount
Definition: MagicItem.h:132
virtual void SetCastingType(MagicSystem::CastingType a_type)
bool Load(TESFile *a_mod) override
MagicItemDataCollector CollectData() const
virtual void InitChunk()=0
virtual bool GetSkillUsageData(SkillUsageData &a_data) const
virtual float GetFixedCastDuration() const
virtual MagicSystem::Delivery GetDelivery() const =0
void InitializeData() override
virtual MagicSystem::SpellType GetSpellType() const =0
void Traverse(MagicItemTraversalFunctor &a_visitor) const
bool IsAutoCalc() const override
std::uint32_t GetLongestDuration() const
const Data * GetData() const
virtual void SetDelivery(MagicSystem::Delivery a_delivery)
virtual MagicSystem::CastingType GetCastingType() const =0
std::uint32_t pad84
Definition: MagicItem.h:133
virtual const Data * GetData1() const =0
BSTArray< Effect * > effects
Definition: MagicItem.h:128
virtual bool IgnoreLOS() const
float CalculateCost(Actor *a_caster) const
virtual bool IsPoison() const
Effect * GetCostliestEffectItem(MagicSystem::Delivery a_delivery=MagicSystem::Delivery::kTotal, bool a_positiveArea=false) const
virtual std::uint32_t GetChunkID()=0
Effect * GetEffectIsMatch(EffectSetting *a_base, float a_mag, ::uint32_t a_area, ::uint32_t a_dur, float a_cost)
virtual std::uint32_t GetDataSize() const =0
float CalculateMagickaCost(Actor *a_caster) const
virtual bool IsTwoHanded() const
Definition: TESBoundObject.h:26
Definition: TESFullName.h:9
Definition: TESModel.h:16
Definition: TESObjectWEAP.h:79
SpellType
Definition: MagicSystem.h:64
CastingType
Definition: MagicSystem.h:35
Delivery
Definition: MagicSystem.h:43
Definition: AbsorbEffect.h:6
constexpr std::array< REL::ID, 3 > VTABLE_MagicItem
Definition: Offsets_VTABLE.h:11976
constexpr REL::ID RTTI_MagicItem(static_cast< std::uint64_t >(513851))
ActorValue
Definition: ActorValues.h:6
ArchetypeID
Definition: EffectArchetypes.h:8
Definition: MagicItem.h:45
std::uint32_t pad14
Definition: MagicItem.h:54
bool custom
Definition: MagicItem.h:51
std::uint8_t pad11
Definition: MagicItem.h:52
float magnitude
Definition: MagicItem.h:50
std::uint16_t pad12
Definition: MagicItem.h:53
EffectItem * effect
Definition: MagicItem.h:48
ActorValue skill
Definition: MagicItem.h:49