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

#include <TESQuest.h>

Inheritance diagram for RE::TESQuest:
RE::BGSStoryManagerTreeForm RE::TESFullName RE::TESForm RE::BaseFormComponent RE::BaseFormComponent

Classes

struct  ChangeFlags
 
struct  RecordFlags
 

Public Types

using DT = DIALOGUE_TYPE
 
- 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

 ~TESQuest () override
 
void InitializeData () override
 
void ClearData () override
 
bool Load (TESFile *a_mod) override
 
void SaveGame (BGSSaveFormBuffer *a_buf) override
 
void LoadGame (BGSLoadFormBuffer *a_buf) override
 
void FinishLoadGame (BGSLoadFormBuffer *a_buf) override
 
void Revert (BGSLoadFormBuffer *a_buf) override
 
void InitItemImpl () override
 
const char * GetFormEditorID () const override
 
bool SetFormEditorID (const char *a_str) override
 
TESConditionQConditions () override
 
BGSStoryManagerTreeVisitor::VisitControl AcceptVisitor (BGSStoryManagerTreeVisitor &a_visitor) override
 
ObjectRefHandleCreateRefHandleByAliasID (ObjectRefHandle &a_handle, std::uint32_t a_aliasID)
 
bool EnsureQuestStarted (bool &a_result, bool a_startNow)
 
std::uint16_t GetCurrentStageID () const
 
constexpr QUEST_DATA::Type GetType () const noexcept
 
bool IsActive () const
 
bool IsCompleted () const
 
bool IsEnabled () const
 
bool IsRunning () const
 
bool IsStarting () const
 
bool IsStopped () const
 
bool IsStopping () const
 
void Reset ()
 
void ResetAndUpdate ()
 
void SetEnabled (bool a_set)
 
bool Start ()
 
bool StartsEnabled () const
 
void Stop ()
 
- Public Member Functions inherited from RE::BGSStoryManagerTreeForm
 ~BGSStoryManagerTreeForm () override
 
virtual std::uint32_t QChildCount () const
 
virtual BGSStoryManagerTreeFormGetChild (std::uint32_t a_idx) const
 
virtual TESConditionQConditions ()=0
 
virtual BGSStoryManagerTreeVisitor::VisitControl AcceptVisitor (BGSStoryManagerTreeVisitor &a_visitor)=0
 
- 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 Attributes

BSTArray< BGSQuestInstanceText * > instanceData
 
std::uint32_t currentInstanceID
 
std::uint32_t pad054
 
BSTArray< BGSBaseAlias * > aliases
 
BSTHashMap< std::uint32_t, ObjectRefHandlerefAliasMap
 
BSTHashMap< UnkKey, UnkValueunk0A0
 
BSReadWriteLock aliasAccessLock
 
QUEST_DATA data
 
QuestEvent eventID
 
std::uint32_t pad0E4
 
BSSimpleList< TESQuestStage > * executedStages
 
BSSimpleList< TESQuestStage * > * waitingStages
 
BSSimpleList< BGSQuestObjective * > objectives
 
TESCondition objConditions
 
TESCondition storyManagerConditions
 
BSTHashMap< BGSDialogueBranch *, BSTArray< TESTopic * > * > branchedDialogue [DT::kBranchedTotal]
 
BSTArray< TESTopic * > topics [DT::kTotal - DT::kBranchedTotal]
 
BSTArray< BGSScene * > scenes
 
BSTArray< TESGlobal * > * textGlobals
 
std::uint16_t currentStage
 
bool alreadyRun
 
std::uint8_t pad22B
 
std::uint32_t pad22C
 
BSString formEditorID
 
const BGSStoryEventstartEventData
 
NiPointer< QueuedPromoteQuestTask > promoteTask
 
BSTArray< ObjectRefHandlepromotedRefs
 
- Public Attributes inherited from RE::BGSStoryManagerTreeForm
std::uint32_t lastVisitorID
 
std::uint32_t pad24
 
- 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
 

Static Public Attributes

static constexpr auto RTTI = RTTI_TESQuest
 
static constexpr auto VTABLE = VTABLE_TESQuest
 
static constexpr auto FORMTYPE = FormType::Quest
 
- Static Public Attributes inherited from RE::BGSStoryManagerTreeForm
static constexpr auto RTTI = RTTI_BGSStoryManagerTreeForm
 
- 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
 

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)
 

Member Typedef Documentation

◆ DT

Constructor & Destructor Documentation

◆ ~TESQuest()

RE::TESQuest::~TESQuest ( )
override

Member Function Documentation

◆ AcceptVisitor()

BGSStoryManagerTreeVisitor::VisitControl RE::TESQuest::AcceptVisitor ( BGSStoryManagerTreeVisitor a_visitor)
overridevirtual

◆ ClearData()

void RE::TESQuest::ClearData ( )
overridevirtual

Reimplemented from RE::TESForm.

◆ CreateRefHandleByAliasID()

ObjectRefHandle & RE::TESQuest::CreateRefHandleByAliasID ( ObjectRefHandle a_handle,
std::uint32_t  a_aliasID 
)

◆ EnsureQuestStarted()

bool RE::TESQuest::EnsureQuestStarted ( bool &  a_result,
bool  a_startNow 
)

◆ FinishLoadGame()

void RE::TESQuest::FinishLoadGame ( BGSLoadFormBuffer a_buf)
overridevirtual

Reimplemented from RE::TESForm.

◆ GetCurrentStageID()

std::uint16_t RE::TESQuest::GetCurrentStageID ( ) const

◆ GetFormEditorID()

const char * RE::TESQuest::GetFormEditorID ( ) const
overridevirtual

Reimplemented from RE::TESForm.

◆ GetType()

constexpr QUEST_DATA::Type RE::TESQuest::GetType ( ) const
inlineconstexprnoexcept

◆ InitializeData()

void RE::TESQuest::InitializeData ( )
overridevirtual

Reimplemented from RE::TESForm.

◆ InitItemImpl()

void RE::TESQuest::InitItemImpl ( )
overridevirtual

Reimplemented from RE::TESForm.

◆ IsActive()

bool RE::TESQuest::IsActive ( ) const

◆ IsCompleted()

bool RE::TESQuest::IsCompleted ( ) const

◆ IsEnabled()

bool RE::TESQuest::IsEnabled ( ) const

◆ IsRunning()

bool RE::TESQuest::IsRunning ( ) const

◆ IsStarting()

bool RE::TESQuest::IsStarting ( ) const

◆ IsStopped()

bool RE::TESQuest::IsStopped ( ) const

◆ IsStopping()

bool RE::TESQuest::IsStopping ( ) const

◆ Load()

bool RE::TESQuest::Load ( TESFile a_mod)
overridevirtual

Reimplemented from RE::TESForm.

◆ LoadGame()

void RE::TESQuest::LoadGame ( BGSLoadFormBuffer a_buf)
overridevirtual

Reimplemented from RE::TESForm.

◆ QConditions()

TESCondition * RE::TESQuest::QConditions ( )
overridevirtual

◆ Reset()

void RE::TESQuest::Reset ( )

◆ ResetAndUpdate()

void RE::TESQuest::ResetAndUpdate ( )

◆ Revert()

void RE::TESQuest::Revert ( BGSLoadFormBuffer a_buf)
overridevirtual

Reimplemented from RE::TESForm.

◆ SaveGame()

void RE::TESQuest::SaveGame ( BGSSaveFormBuffer *  a_buf)
overridevirtual

Reimplemented from RE::TESForm.

◆ SetEnabled()

void RE::TESQuest::SetEnabled ( bool  a_set)

◆ SetFormEditorID()

bool RE::TESQuest::SetFormEditorID ( const char *  a_str)
overridevirtual

Reimplemented from RE::TESForm.

◆ Start()

bool RE::TESQuest::Start ( )

◆ StartsEnabled()

bool RE::TESQuest::StartsEnabled ( ) const

◆ Stop()

void RE::TESQuest::Stop ( )

Member Data Documentation

◆ aliasAccessLock

BSReadWriteLock RE::TESQuest::aliasAccessLock
mutable

◆ aliases

BSTArray<BGSBaseAlias*> RE::TESQuest::aliases

◆ alreadyRun

bool RE::TESQuest::alreadyRun

◆ branchedDialogue

BSTHashMap<BGSDialogueBranch*, BSTArray<TESTopic*>*> RE::TESQuest::branchedDialogue[DT::kBranchedTotal]

◆ currentInstanceID

std::uint32_t RE::TESQuest::currentInstanceID

◆ currentStage

std::uint16_t RE::TESQuest::currentStage

◆ data

QUEST_DATA RE::TESQuest::data

◆ eventID

QuestEvent RE::TESQuest::eventID

◆ executedStages

BSSimpleList<TESQuestStage>* RE::TESQuest::executedStages

◆ formEditorID

BSString RE::TESQuest::formEditorID

◆ FORMTYPE

constexpr auto RE::TESQuest::FORMTYPE = FormType::Quest
inlinestaticconstexpr

◆ instanceData

BSTArray<BGSQuestInstanceText*> RE::TESQuest::instanceData

◆ objConditions

TESCondition RE::TESQuest::objConditions

◆ objectives

BSSimpleList<BGSQuestObjective*> RE::TESQuest::objectives

◆ pad054

std::uint32_t RE::TESQuest::pad054

◆ pad0E4

std::uint32_t RE::TESQuest::pad0E4

◆ pad22B

std::uint8_t RE::TESQuest::pad22B

◆ pad22C

std::uint32_t RE::TESQuest::pad22C

◆ promotedRefs

BSTArray<ObjectRefHandle> RE::TESQuest::promotedRefs

◆ promoteTask

NiPointer<QueuedPromoteQuestTask> RE::TESQuest::promoteTask

◆ refAliasMap

BSTHashMap<std::uint32_t, ObjectRefHandle> RE::TESQuest::refAliasMap

◆ RTTI

constexpr auto RE::TESQuest::RTTI = RTTI_TESQuest
inlinestaticconstexpr

◆ scenes

BSTArray<BGSScene*> RE::TESQuest::scenes

◆ startEventData

const BGSStoryEvent* RE::TESQuest::startEventData

◆ storyManagerConditions

TESCondition RE::TESQuest::storyManagerConditions

◆ textGlobals

BSTArray<TESGlobal*>* RE::TESQuest::textGlobals

◆ topics

BSTArray<TESTopic*> RE::TESQuest::topics[DT::kTotal - DT::kBranchedTotal]

◆ unk0A0

BSTHashMap<UnkKey, UnkValue> RE::TESQuest::unk0A0

◆ VTABLE

constexpr auto RE::TESQuest::VTABLE = VTABLE_TESQuest
inlinestaticconstexpr

◆ waitingStages

BSSimpleList<TESQuestStage*>* RE::TESQuest::waitingStages

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