64 static_assert(
sizeof(
Data) == 0x8);
90 [[nodiscard]]
virtual bool IsFood()
const;
137 static_assert(
sizeof(
MagicItem) == 0x90);
Definition BGSKeyword.h:10
Definition BSTArray.h:377
Definition BSTSmartPointer.h:36
Definition EffectSetting.h:24
Definition MagicItem.h:58
std::uint32_t flags
Definition MagicItem.h:62
std::int32_t costOverride
Definition MagicItem.h:61
Definition MagicItem.h:35
virtual void VisitModel(TESModel *a_model)=0
virtual void VisitWeapon(TESObjectWEAP *a_weapon)=0
Definition MagicItemDataCollector.h:11
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:128
virtual bool GetNoAbsorb() const
virtual bool IsFood() const
bool IsMagicItem() const override
virtual Data * GetData2()=0
EffectSetting * avEffectSetting
Definition MagicItem.h:129
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 float GetChargeTime() const
virtual void AdjustCost(float &a_cost, Actor *a_actor) const
BSTSmartPointer< QueuedFile > preloadedItem
Definition MagicItem.h:132
virtual float GetRange() const
virtual void InitFromChunk(TESFile *a_mod)=0
std::int32_t hostileCount
Definition MagicItem.h:127
virtual ActorValue GetAssociatedSkill() const
bool HasKeyword(const BGSKeyword *a_keyword) const override
const Data * GetData() const
virtual std::uint32_t GetMaxEffectCount() const
static constexpr auto RTTI
Definition MagicItem.h:32
std::uint32_t preloadCount
Definition MagicItem.h:130
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 const Data * GetData1() const =0
virtual MagicSystem::SpellType GetSpellType() const =0
void Traverse(MagicItemTraversalFunctor &a_visitor) const
EffectSetting * GetAVEffect() const
bool IsAutoCalc() const override
std::uint32_t GetLongestDuration() const
virtual void SetDelivery(MagicSystem::Delivery a_delivery)
virtual MagicSystem::CastingType GetCastingType() const =0
std::uint32_t pad84
Definition MagicItem.h:131
BSTArray< Effect * > effects
Definition MagicItem.h:126
virtual bool IgnoreLOS() const
float CalculateCost(Actor *a_caster) const
virtual bool IsPoison() const
virtual std::uint32_t GetChunkID()=0
virtual std::uint32_t GetDataSize() const =0
Effect * GetCostliestEffectItem(MagicSystem::Delivery a_delivery=MagicSystem::Delivery::kTotal, bool a_positiveArea=false) const
float CalculateMagickaCost(Actor *a_caster) const
virtual bool IsTwoHanded() const
Definition MagicItemTraversalFunctor.h:10
Definition TESBoundObject.h:24
Definition TESFullName.h:9
Definition TESObjectWEAP.h:79
SpellType
Definition MagicSystem.h:60
CastingType
Definition MagicSystem.h:31
Delivery
Definition MagicSystem.h:39
Definition AbsorbEffect.h:6
constexpr REL::VariantID RTTI_MagicItem(513851, 392219, 0x1ed6d88)
ActorValue
Definition ActorValues.h:6
ArchetypeID
Definition EffectArchetypes.h:8
Definition MagicItem.h:44
std::uint32_t pad14
Definition MagicItem.h:53
bool custom
Definition MagicItem.h:50
std::uint8_t pad11
Definition MagicItem.h:51
float magnitude
Definition MagicItem.h:49
std::uint16_t pad12
Definition MagicItem.h:52
EffectItem * effect
Definition MagicItem.h:47
ActorValue skill
Definition MagicItem.h:48