CommonLibSSE NG
Loading...
Searching...
No Matches
RE::EnchantmentItem Class Reference

#include <EnchantmentItem.h>

Inheritance diagram for RE::EnchantmentItem:
RE::MagicItem RE::TESBoundObject RE::TESFullName RE::BGSKeywordForm RE::TESObject RE::BaseFormComponent RE::BaseFormComponent RE::TESForm RE::BaseFormComponent

Classes

class  Data
 
struct  RecordFlags
 

Public Types

enum class  EnchantmentFlag { kNone = 0 , kCostOverride = 1 << 0 , kFoodItem = 1 << 1 , kExtendDuration = 1 << 3 }
 
- Public Types inherited from RE::TESForm
enum class  InGameFormFlag {
  kNone = 0 , kWantsDelete = 1 << 0 , kForcedPersistent = 1 << 1 , kNoFavorAllowed = 1 << 4 ,
  kIsSkyObject = 1 << 5 , kRefOriginalPersistent = 1 << 6 , kRefPermanentlyDeleted = 1 << 7
}
 

Public Member Functions

 ~EnchantmentItem () override
 
void InitializeData () override
 
void ClearData () override
 
void InitItemImpl () override
 
MagicSystem::SpellType GetSpellType () const override
 
void SetCastingType (MagicSystem::CastingType a_type) override
 
MagicSystem::CastingType GetCastingType () const override
 
void SetDelivery (MagicSystem::Delivery a_type) override
 
MagicSystem::Delivery GetDelivery () const override
 
float GetChargeTime () const override
 
ActorValue GetAssociatedSkill () const override
 
std::uint32_t GetChunkID () override
 
void CopyMagicItemData (MagicItem *a_src) override
 
const MagicItem::DataGetData1 () const override
 
MagicItem::DataGetData2 () override
 
std::uint32_t GetDataSize () const override
 
void InitFromChunk (TESFile *a_mod) override
 
void InitChunk () override
 
- Public Member Functions inherited from RE::MagicItem
 ~MagicItem () override
 
void InitializeData () override
 
bool Load (TESFile *a_mod) override
 
void InitItemImpl () override
 
bool IsMagicItem () const override
 
void Copy (TESForm *a_srcForm) override
 
bool IsAutoCalc () const override
 
bool HasKeyword (const BGSKeyword *a_keyword) const override
 
virtual MagicSystem::SpellType GetSpellType () const =0
 
virtual void SetCastingType (MagicSystem::CastingType a_type)
 
virtual MagicSystem::CastingType GetCastingType () const =0
 
virtual void SetDelivery (MagicSystem::Delivery a_delivery)
 
virtual MagicSystem::Delivery GetDelivery () const =0
 
virtual bool IsValidDelivery (MagicSystem::Delivery a_delivery)
 
virtual float GetFixedCastDuration () const
 
virtual float GetRange () const
 
virtual bool IgnoresResistance () const
 
virtual bool IgnoreLOS () const
 
virtual bool IsFood () const
 
virtual bool GetNoAbsorb () const
 
virtual bool GetNoDualCastModifications () const
 
virtual bool GetSkillUsageData (SkillUsageData &a_data) const
 
virtual bool IsPoison () const
 
virtual bool IsMedicine () const
 
virtual void AdjustCost (float &a_cost, Actor *a_actor) const
 
virtual float GetChargeTime () const
 
virtual std::uint32_t GetMaxEffectCount () const
 
virtual ActorValue GetAssociatedSkill () const
 
virtual bool IsTwoHanded () const
 
virtual std::uint32_t GetChunkID ()=0
 
virtual void CopyMagicItemData (MagicItem *a_src)=0
 
virtual void LoadMagicItemChunk (TESFile *a_mod, std::uint32_t a_chunkID)
 
virtual void LoadChunkDataPostProcess (TESFile *a_mod)
 
virtual const DataGetData1 () const =0
 
virtual DataGetData2 ()=0
 
virtual std::uint32_t GetDataSize () const =0
 
virtual void InitFromChunk (TESFile *a_mod)=0
 
virtual void InitChunk ()=0
 
float CalculateMagickaCost (Actor *a_caster) const
 
float CalculateTotalGoldValue (Actor *a_caster=nullptr) const
 
MagicItemDataCollector CollectData () const
 
EffectSettingGetAVEffect () const
 
EffectGetCostliestEffectItem (MagicSystem::Delivery a_delivery=MagicSystem::Delivery::kTotal, bool a_positiveArea=false) const
 
DataGetData ()
 
const DataGetData () const
 
bool IsValid () const
 
std::int32_t GetLargestArea () const
 
std::uint32_t GetLongestDuration () const
 
bool HasEffect (EffectArchetype a_archetype)
 
bool IsPermanent () const
 
void Traverse (MagicItemTraversalFunctor &a_visitor) const
 
- Public Member Functions inherited from RE::TESBoundObject
 ~TESBoundObject () override
 
void LoadObjectBound (TESFile *a_mod) override
 
bool IsBoundObject () const override
 
bool Activate (TESObjectREFR *a_targetRef, TESObjectREFR *a_activatorRef, std::uint8_t a_arg3, TESBoundObject *a_object, std::int32_t a_targetCount) override
 
NiAVObjectClone3D (TESObjectREFR *a_ref, bool a_arg3) override
 
bool ReplaceModel () override
 
virtual void SetObjectVoiceType (BGSVoiceType *a_voiceType)
 
virtual BGSVoiceTypeGetObjectVoiceType () const
 
virtual NiAVObjectClone3D (TESObjectREFR *a_ref)
 
virtual bool ReplaceModel (const char *a_str)
 
virtual bool GetActivateText (TESObjectREFR *a_activator, BSString &a_dst)
 
virtual bool CalculateDoFavor (Actor *a_activator, bool a_arg2, TESObjectREFR *a_toActivate, float a_arg3)
 
virtual void HandleRemoveItemFromContainer (TESObjectREFR *a_container)
 
virtual void OnRemove3D (NiAVObject *a_obj3D)
 
virtual void OnCheckModels ()
 
virtual void OnCopyReference ()
 
virtual void OnFinishScale ()
 
- Public Member Functions inherited from RE::TESObject
 ~TESObject () override
 
bool IsObject () const override
 
std::uint32_t GetRefCount () const override
 
virtual void Unk_3B (void)
 
virtual bool IsBoundAnimObject ()
 
virtual TESWaterFormGetWaterType () const
 
virtual bool IsAutoCalc () const
 
virtual void SetAutoCalc (bool a_autoCalc)
 
virtual NiAVObjectClone3D (TESObjectREFR *a_ref, bool a_arg3)
 
virtual void UnClone3D (TESObjectREFR *a_ref)
 
virtual bool IsMarker ()
 
virtual bool IsOcclusionMarker ()
 
virtual bool ReplaceModel ()
 
virtual std::uint32_t IncRef ()
 
virtual std::uint32_t DecRef ()
 
virtual NiAVObjectLoadGraphics (TESObjectREFR *a_ref)
 
- Public Member Functions inherited from RE::TESForm
 ~TESForm () override
 
void InitializeDataComponent () override
 
void ClearDataComponent () override
 
void CopyComponent (BaseFormComponent *a_rhs) override
 
virtual void InitializeData ()
 
virtual void ClearData ()
 
virtual bool Load (TESFile *a_mod)
 
virtual bool LoadPartial (TESFile *a_mod)
 
virtual bool LoadEdit (TESFile *a_mod)
 
virtual TESFormCreateDuplicateForm (bool a_createEditorID, void *a_arg2)
 
virtual bool AddChange (std::uint32_t a_changeFlags)
 
virtual void RemoveChange (std::uint32_t a_changeFlags)
 
virtual bool FindInFileFast (TESFile *a_mod)
 
virtual bool CheckSaveGame (BGSSaveFormBuffer *a_buf)
 
virtual void SaveGame (BGSSaveFormBuffer *a_buf)
 
virtual void LoadGame (BGSLoadFormBuffer *a_buf)
 
virtual void InitLoadGame (BGSLoadFormBuffer *a_buf)
 
virtual void FinishLoadGame (BGSLoadFormBuffer *a_buf)
 
virtual void Revert (BGSLoadFormBuffer *a_buf)
 
virtual void InitItemImpl ()
 
virtual TESFileGetDescriptionOwnerFile () const
 
virtual FormType GetSavedFormType () const
 
virtual void GetFormDetailedString (char *a_buf, std::uint32_t a_bufLen)
 
virtual bool GetKnown () const
 
virtual bool GetRandomAnim () const
 
virtual bool GetPlayable () const
 
virtual bool IsHeadingMarker () const
 
virtual bool GetDangerous () const
 
virtual bool QHasCurrents () const
 
virtual bool GetObstacle () const
 
virtual bool QIsLODLandObject () const
 
virtual bool GetOnLocalMap () const
 
virtual bool GetMustUpdate () const
 
virtual void SetOnLocalMap (bool a_set)
 
virtual bool GetIgnoredBySandbox () const
 
virtual void SetDelete (bool a_set)
 
virtual void SetAltered (bool a_set)
 
virtual void SaveObjectBound ()
 
virtual void LoadObjectBound (TESFile *a_mod)
 
virtual bool IsBoundObject () const
 
virtual bool IsObject () const
 
virtual bool IsMagicItem () const
 
virtual bool IsWater () const
 
virtual TESObjectREFRAsReference1 ()
 
virtual const TESObjectREFRAsReference2 () const
 
virtual std::uint32_t GetRefCount () const
 
virtual const char * GetTextForParsedSubTag (const BSFixedString &a_tag) const
 
virtual void Copy (TESForm *a_srcForm)
 
virtual bool BelongsInGroup (FORM *a_form, bool a_allowParentGroups, bool a_currentOnly)
 
virtual void CreateGroupData (FORM *a_form, FORM_GROUP *a_group)
 
virtual const char * GetFormEditorID () const
 
virtual bool SetFormEditorID (const char *a_str)
 
virtual bool IsParentForm ()
 
virtual bool IsParentFormTree ()
 
virtual bool IsFormTypeChild (FormType a_type)
 
virtual bool Activate (TESObjectREFR *a_targetRef, TESObjectREFR *a_activatorRef, std::uint8_t a_arg3, TESBoundObject *a_object, std::int32_t a_targetCount)
 
virtual void SetFormID (FormID a_id, bool a_updateFile)
 
virtual const char * GetObjectTypeName () const
 
virtual bool QAvailableInGame () const
 
template<class T , class = std::enable_if_t< std::negation_v< std::disjunction< std::is_pointer<T>, std::is_reference<T>, std::is_const<T>, std::is_volatile<T>>>>>
T * As () noexcept
 
template<class T , class = std::enable_if_t< std::negation_v< std::disjunction< std::is_pointer<T>, std::is_reference<T>, std::is_const<T>, std::is_volatile<T>>>>>
const T * As () const noexcept
 
TESObjectREFRAsReference ()
 
const TESObjectREFRAsReference () const
 
TESFileGetFile (std::int32_t a_idx=-1) const
 
std::uint32_t GetFormFlags () const noexcept
 
FormID GetFormID () const noexcept
 
FormType GetFormType () const noexcept
 
std::int32_t GetGoldValue () const
 
FormID GetRawFormID () const
 
FormID GetLocalFormID () const
 
const char * GetName () const
 
float GetWeight () const
 
bool HasKeywordInArray (const std::vector< BGSKeyword * > &a_keywords, bool a_matchAll) const
 
bool HasKeywordInList (BGSListForm *a_keywordList, bool a_matchAll) const
 
bool HasVMAD () const
 
bool HasWorldModel () const noexcept
 
void InitItem ()
 
bool Is (FormType a_type) const noexcept
 
template<class... Args>
requires (std::same_as<Args, FormType>&&...)
bool Is (Args... a_args) const noexcept
 
bool IsAmmo () const noexcept
 
bool IsArmor () const noexcept
 
bool IsBook () const noexcept
 
bool IsDeleted () const noexcept
 
bool IsDynamicForm () const noexcept
 
bool IsGold () const noexcept
 
bool IsIgnored () const noexcept
 
bool IsInventoryObject () const
 
bool IsInitialized () const noexcept
 
bool IsKey () const noexcept
 
bool IsLockpick () const noexcept
 
bool IsNot (FormType a_type) const noexcept
 
template<class... Args>
requires (std::same_as<Args, FormType>&&...)
bool IsNot (Args... a_args) const noexcept
 
bool IsNote () const noexcept
 
bool IsPlayer () const noexcept
 
bool IsPlayerRef () const noexcept
 
bool IsSoulGem () const noexcept
 
bool IsWeapon () const noexcept
 
- Public Member Functions inherited from RE::BaseFormComponent
virtual ~BaseFormComponent ()
 
virtual void InitializeDataComponent ()=0
 
virtual void ClearDataComponent ()=0
 
virtual void CopyComponent (BaseFormComponent *a_rhs)
 
 TES_HEAP_REDEFINE_NEW ()
 
- Public Member Functions inherited from RE::TESFullName
 ~TESFullName () override
 
void InitializeDataComponent () override
 
void ClearDataComponent () override
 
void CopyComponent (BaseFormComponent *a_rhs) override
 
virtual std::uint32_t GetFullNameLength () const
 
virtual const char * GetFullName () const
 
- Public Member Functions inherited from RE::BGSKeywordForm
 ~BGSKeywordForm () override
 
void InitializeDataComponent () override
 
void ClearDataComponent () override
 
void CopyComponent (BaseFormComponent *a_rhs) override
 
virtual bool HasKeyword (const BGSKeyword *a_keyword) const
 
virtual BGSKeywordGetDefaultKeyword () const
 
bool AddKeyword (BGSKeyword *a_keyword)
 
bool AddKeywords (const std::vector< BGSKeyword * > &a_keywords)
 
bool ContainsKeywordString (std::string_view a_editorID) const
 
void ForEachKeyword (std::function< BSContainer::ForEachResult(BGSKeyword &)> a_callback) const
 
std::optional< BGSKeyword * > GetKeywordAt (std::uint32_t a_idx) const
 
std::optional< std::uint32_t > GetKeywordIndex (BGSKeyword *a_keyword) const
 
std::uint32_t GetNumKeywords () const
 
bool HasKeywordID (FormID a_formID) const
 
bool HasKeywordString (std::string_view a_editorID) const
 
bool RemoveKeyword (std::uint32_t a_index)
 
bool RemoveKeyword (BGSKeyword *a_keyword)
 
bool RemoveKeywords (const std::vector< RE::BGSKeyword * > &a_keywords)
 
std::span< BGSKeyword * > GetKeywords ()
 
std::span< BGSKeyword *const > GetKeywords () const
 

Public Attributes

Data data
 
- Public Attributes inherited from RE::MagicItem
BSTArray< Effect * > effects
 
std::int32_t hostileCount
 
std::uint32_t pad74
 
EffectSettingavEffectSetting
 
std::uint32_t preloadCount
 
std::uint32_t pad84
 
BSTSmartPointer< QueuedFile > preloadedItem
 
- Public Attributes inherited from RE::TESBoundObject
BOUND_DATA boundData
 
std::uint32_t pad2C
 
- Public Attributes inherited from RE::TESForm
TESFileContainer sourceFiles
 
std::uint32_t formFlags
 
FormID formID
 
stl::enumeration< InGameFormFlag, std::uint16_t > inGameFormFlags
 
stl::enumeration< FormType, std::uint8_t > formType
 
std::uint8_t pad1B
 
std::uint32_t pad1C
 
- Public Attributes inherited from RE::TESFullName
BSFixedString fullName
 
- Public Attributes inherited from RE::BGSKeywordForm
BGSKeyword ** keywords
 
std::uint32_t numKeywords
 
std::uint32_t pad14
 

Static Public Attributes

static constexpr auto RTTI = RTTI_EnchantmentItem
 
static constexpr auto VTABLE = VTABLE_EnchantmentItem
 
static constexpr auto FORMTYPE = FormType::Enchantment
 
- Static Public Attributes inherited from RE::MagicItem
static constexpr auto RTTI = RTTI_MagicItem
 
- Static Public Attributes inherited from RE::TESBoundObject
static constexpr auto RTTI = RTTI_TESBoundObject
 
- Static Public Attributes inherited from RE::TESObject
static constexpr auto RTTI = RTTI_TESObject
 
- Static Public Attributes inherited from RE::TESForm
static constexpr auto RTTI = RTTI_TESForm
 
static constexpr auto FORMTYPE = FormType::None
 
- Static Public Attributes inherited from RE::BaseFormComponent
static constexpr auto RTTI = RTTI_BaseFormComponent
 
- Static Public Attributes inherited from RE::TESFullName
static constexpr auto RTTI = RTTI_TESFullName
 
- Static Public Attributes inherited from RE::BGSKeywordForm
static constexpr auto RTTI = RTTI_BGSKeywordForm
 

Additional Inherited Members

- Static Public Member Functions inherited from RE::TESForm
static void AddCompileIndex (FormID &a_id, TESFile *a_file)
 
static auto GetAllForms () -> std::pair< BSTHashMap< FormID, TESForm * > *, std::reference_wrapper< BSReadWriteLock > >
 
static auto GetAllFormsByEditorID () -> std::pair< BSTHashMap< BSFixedString, TESForm * > *, std::reference_wrapper< BSReadWriteLock > >
 
static TESFormLookupByID (FormID a_formID)
 
template<class T >
static T * LookupByID (FormID a_formID)
 
static TESFormLookupByEditorID (const std::string_view &a_editorID)
 
template<class T >
static T * LookupByEditorID (const std::string_view &a_editorID)
 
- Protected Member Functions inherited from RE::MagicItem
float CalculateCost (Actor *a_caster) const
 

Member Enumeration Documentation

◆ EnchantmentFlag

Enumerator
kNone 
kCostOverride 
kFoodItem 
kExtendDuration 

Constructor & Destructor Documentation

◆ ~EnchantmentItem()

RE::EnchantmentItem::~EnchantmentItem ( )
override

Member Function Documentation

◆ ClearData()

void RE::EnchantmentItem::ClearData ( )
overridevirtual

Reimplemented from RE::TESForm.

◆ CopyMagicItemData()

void RE::EnchantmentItem::CopyMagicItemData ( MagicItem a_src)
overridevirtual

Implements RE::MagicItem.

◆ GetAssociatedSkill()

ActorValue RE::EnchantmentItem::GetAssociatedSkill ( ) const
overridevirtual

Reimplemented from RE::MagicItem.

◆ GetCastingType()

MagicSystem::CastingType RE::EnchantmentItem::GetCastingType ( ) const
overridevirtual

Implements RE::MagicItem.

◆ GetChargeTime()

float RE::EnchantmentItem::GetChargeTime ( ) const
overridevirtual

Reimplemented from RE::MagicItem.

◆ GetChunkID()

std::uint32_t RE::EnchantmentItem::GetChunkID ( )
overridevirtual

Implements RE::MagicItem.

◆ GetData1()

const MagicItem::Data * RE::EnchantmentItem::GetData1 ( ) const
overridevirtual

Implements RE::MagicItem.

◆ GetData2()

MagicItem::Data * RE::EnchantmentItem::GetData2 ( )
overridevirtual

Implements RE::MagicItem.

◆ GetDataSize()

std::uint32_t RE::EnchantmentItem::GetDataSize ( ) const
overridevirtual

Implements RE::MagicItem.

◆ GetDelivery()

MagicSystem::Delivery RE::EnchantmentItem::GetDelivery ( ) const
overridevirtual

Implements RE::MagicItem.

◆ GetSpellType()

MagicSystem::SpellType RE::EnchantmentItem::GetSpellType ( ) const
overridevirtual

Implements RE::MagicItem.

◆ InitChunk()

void RE::EnchantmentItem::InitChunk ( )
overridevirtual

Implements RE::MagicItem.

◆ InitFromChunk()

void RE::EnchantmentItem::InitFromChunk ( TESFile a_mod)
overridevirtual

Implements RE::MagicItem.

◆ InitializeData()

void RE::EnchantmentItem::InitializeData ( )
overridevirtual

Reimplemented from RE::TESForm.

◆ InitItemImpl()

void RE::EnchantmentItem::InitItemImpl ( )
overridevirtual

Reimplemented from RE::TESForm.

◆ SetCastingType()

void RE::EnchantmentItem::SetCastingType ( MagicSystem::CastingType  a_type)
overridevirtual

Reimplemented from RE::MagicItem.

◆ SetDelivery()

void RE::EnchantmentItem::SetDelivery ( MagicSystem::Delivery  a_type)
overridevirtual

Reimplemented from RE::MagicItem.

Member Data Documentation

◆ data

Data RE::EnchantmentItem::data

◆ FORMTYPE

constexpr auto RE::EnchantmentItem::FORMTYPE = FormType::Enchantment
inlinestaticconstexpr

◆ RTTI

constexpr auto RE::EnchantmentItem::RTTI = RTTI_EnchantmentItem
inlinestaticconstexpr

◆ VTABLE

constexpr auto RE::EnchantmentItem::VTABLE = VTABLE_EnchantmentItem
inlinestaticconstexpr

The documentation for this class was generated from the following file: