CommonLibSSE (Parapets fork)
RE::TESFaction Class Reference

#include <TESFaction.h>

Inheritance diagram for RE::TESFaction:
RE::TESForm RE::TESFullName RE::TESReactionForm RE::BaseFormComponent RE::BaseFormComponent RE::BaseFormComponent

Classes

struct  ChangeFlags
 
struct  RecordFlags
 

Public Member Functions

 ~TESFaction () 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 Revert (BGSLoadFormBuffer *a_buf) override
 
void InitItemImpl () override
 
bool CanBeOwner () const
 
bool CanPayCrimeGold () const
 
std::int32_t GetCrimeGold () const
 
std::int32_t GetCrimeGoldNonViolent () const
 
std::int32_t GetCrimeGoldViolent () const
 
std::int32_t GetInfamy () const
 
std::int32_t GetInfamyNonViolent () const
 
std::int32_t GetInfamyViolent () const
 
std::int32_t GetStolenItemValueCrime () const
 
std::int32_t GetStolenItemValueNoCrime () const
 
bool HasSpecialCombatState () const
 
bool HasStealMultiplier () const
 
bool HiddenFromNPC () const
 
bool IgnoresAssault () const
 
bool IgnoresMurder () const
 
bool IgnoresPickpocket () const
 
bool IgnoresStealing () const
 
bool IgnoresTrespass () const
 
bool IgnoresWerewolf () const
 
bool IsFactionInCrimeGroup (const TESFaction *a_other) const
 
bool IsPlayerEnemy () const
 
bool IsPlayerExpelled () const
 
bool IsVendor () const
 
void ModCrimeGold (std::int32_t a_amount, bool a_violent)
 
void PlayerPayCrimeGold (bool a_removeStolenItems=true, bool a_goToJail=true)
 
bool ReportsCrimesAgainstMembers () const
 
void SendPlayerToJail (bool a_removeInventory=true, bool a_realJail=true)
 
void SetAlly (TESFaction *a_other, bool a_selfIsFriendToOther=false, bool a_otherIsFriendToSelf=false)
 
void SetCrimeGold (std::int32_t a_gold)
 
void SetCrimeGoldViolent (std::int32_t a_gold)
 
void SetEnemy (TESFaction *a_other, bool a_selfIsNeutralToOther=false, bool a_otherIsNeutralToSelf=false)
 
void SetFactionFightReaction (TESFaction *a_faction, FIGHT_REACTION a_fightReaction)
 
bool TracksCrimes () const
 
bool UsesCrimeGoldDefaults () const
 
- Public Member Functions inherited from RE::TESForm
 ~TESForm () override
 
void InitializeDataComponent () override
 
void ClearDataComponent () override
 
void CopyComponent (BaseFormComponent *a_rhs) override
 
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 InitLoadGame (BGSLoadFormBuffer *a_buf)
 
virtual void FinishLoadGame (BGSLoadFormBuffer *a_buf)
 
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 >
 requires (std::is_class_v< T >) T *As() noexcept
 
template<class T >
 requires (requires { T::FORMTYPE;}) const T *As() const noexcept
 
template<class T >
 requires (!requires { T::FORMTYPE;}) 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
 
const char * GetName () const
 
float GetWeight () const
 
bool HasVMAD () const
 
bool HasWorldModel () const noexcept
 
void InitItem ()
 
bool Is (FormType a_type) const noexcept
 
template<class... Args>
bool Is (Args... a_args) const noexcept requires(std
 
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 IsInitialized () const noexcept
 
bool IsKey () const noexcept
 
bool IsLockpick () const noexcept
 
bool IsNot (FormType a_type) const noexcept
 
template<class... Args>
bool IsNot (Args... a_args) const noexcept requires(std
 
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 ()
 
 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::TESReactionForm
 ~TESReactionForm () override
 
void InitializeDataComponent () override
 
void ClearDataComponent () override
 
void CopyComponent (BaseFormComponent *a_rhs) override
 

Public Attributes

BSTHashMap< const TESNPC *, std::uint32_t > * crimeGoldMap
 
FACTION_DATA data
 
std::uint32_t pad05C
 
FACTION_CRIME_DATA crimeData
 
FACTION_VENDOR_DATA vendorData
 
BSSimpleList< RANK_DATA * > rankData
 
std::int32_t majorCrime
 
std::int32_t minorCrime
 
AITimeStamp resistArrestTimeStamp
 
float pcEnemyFlagTimeStamp
 
- 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::TESReactionForm
BSSimpleList< GROUP_REACTION * > reactions
 
stl::enumeration< FormType, std::uint8_t > groupFormType
 
std::uint8_t pad19
 
std::uint16_t pad1A
 
std::uint32_t pad1C
 

Static Public Attributes

static constexpr auto RTTI = RTTI_TESFaction
 
static constexpr auto FORMTYPE = FormType::Faction
 
- 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::TESReactionForm
static constexpr auto RTTI = RTTI_TESReactionForm
 

Additional Inherited Members

- 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
}
 
- 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)
 

Constructor & Destructor Documentation

◆ ~TESFaction()

RE::TESFaction::~TESFaction ( )
override

Member Function Documentation

◆ CanBeOwner()

bool RE::TESFaction::CanBeOwner ( ) const

◆ CanPayCrimeGold()

bool RE::TESFaction::CanPayCrimeGold ( ) const

◆ ClearData()

void RE::TESFaction::ClearData ( )
overridevirtual

Reimplemented from RE::TESForm.

◆ GetCrimeGold()

std::int32_t RE::TESFaction::GetCrimeGold ( ) const

◆ GetCrimeGoldNonViolent()

std::int32_t RE::TESFaction::GetCrimeGoldNonViolent ( ) const

◆ GetCrimeGoldViolent()

std::int32_t RE::TESFaction::GetCrimeGoldViolent ( ) const

◆ GetInfamy()

std::int32_t RE::TESFaction::GetInfamy ( ) const

◆ GetInfamyNonViolent()

std::int32_t RE::TESFaction::GetInfamyNonViolent ( ) const

◆ GetInfamyViolent()

std::int32_t RE::TESFaction::GetInfamyViolent ( ) const

◆ GetStolenItemValueCrime()

std::int32_t RE::TESFaction::GetStolenItemValueCrime ( ) const

◆ GetStolenItemValueNoCrime()

std::int32_t RE::TESFaction::GetStolenItemValueNoCrime ( ) const

◆ HasSpecialCombatState()

bool RE::TESFaction::HasSpecialCombatState ( ) const

◆ HasStealMultiplier()

bool RE::TESFaction::HasStealMultiplier ( ) const

◆ HiddenFromNPC()

bool RE::TESFaction::HiddenFromNPC ( ) const

◆ IgnoresAssault()

bool RE::TESFaction::IgnoresAssault ( ) const

◆ IgnoresMurder()

bool RE::TESFaction::IgnoresMurder ( ) const

◆ IgnoresPickpocket()

bool RE::TESFaction::IgnoresPickpocket ( ) const

◆ IgnoresStealing()

bool RE::TESFaction::IgnoresStealing ( ) const

◆ IgnoresTrespass()

bool RE::TESFaction::IgnoresTrespass ( ) const

◆ IgnoresWerewolf()

bool RE::TESFaction::IgnoresWerewolf ( ) const

◆ InitializeData()

void RE::TESFaction::InitializeData ( )
overridevirtual

Reimplemented from RE::TESForm.

◆ InitItemImpl()

void RE::TESFaction::InitItemImpl ( )
overridevirtual

Reimplemented from RE::TESForm.

◆ IsFactionInCrimeGroup()

bool RE::TESFaction::IsFactionInCrimeGroup ( const TESFaction a_other) const

◆ IsPlayerEnemy()

bool RE::TESFaction::IsPlayerEnemy ( ) const

◆ IsPlayerExpelled()

bool RE::TESFaction::IsPlayerExpelled ( ) const

◆ IsVendor()

bool RE::TESFaction::IsVendor ( ) const

◆ Load()

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

Reimplemented from RE::TESForm.

◆ LoadGame()

void RE::TESFaction::LoadGame ( BGSLoadFormBuffer *  a_buf)
overridevirtual

Reimplemented from RE::TESForm.

◆ ModCrimeGold()

void RE::TESFaction::ModCrimeGold ( std::int32_t  a_amount,
bool  a_violent 
)

◆ PlayerPayCrimeGold()

void RE::TESFaction::PlayerPayCrimeGold ( bool  a_removeStolenItems = true,
bool  a_goToJail = true 
)

◆ ReportsCrimesAgainstMembers()

bool RE::TESFaction::ReportsCrimesAgainstMembers ( ) const

◆ Revert()

void RE::TESFaction::Revert ( BGSLoadFormBuffer *  a_buf)
overridevirtual

Reimplemented from RE::TESForm.

◆ SaveGame()

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

Reimplemented from RE::TESForm.

◆ SendPlayerToJail()

void RE::TESFaction::SendPlayerToJail ( bool  a_removeInventory = true,
bool  a_realJail = true 
)

◆ SetAlly()

void RE::TESFaction::SetAlly ( TESFaction a_other,
bool  a_selfIsFriendToOther = false,
bool  a_otherIsFriendToSelf = false 
)

◆ SetCrimeGold()

void RE::TESFaction::SetCrimeGold ( std::int32_t  a_gold)

◆ SetCrimeGoldViolent()

void RE::TESFaction::SetCrimeGoldViolent ( std::int32_t  a_gold)

◆ SetEnemy()

void RE::TESFaction::SetEnemy ( TESFaction a_other,
bool  a_selfIsNeutralToOther = false,
bool  a_otherIsNeutralToSelf = false 
)

◆ SetFactionFightReaction()

void RE::TESFaction::SetFactionFightReaction ( TESFaction a_faction,
FIGHT_REACTION  a_fightReaction 
)

◆ TracksCrimes()

bool RE::TESFaction::TracksCrimes ( ) const

◆ UsesCrimeGoldDefaults()

bool RE::TESFaction::UsesCrimeGoldDefaults ( ) const

Member Data Documentation

◆ crimeData

FACTION_CRIME_DATA RE::TESFaction::crimeData

◆ crimeGoldMap

BSTHashMap<const TESNPC*, std::uint32_t>* RE::TESFaction::crimeGoldMap

◆ data

FACTION_DATA RE::TESFaction::data

◆ FORMTYPE

constexpr auto RE::TESFaction::FORMTYPE = FormType::Faction
inlinestaticconstexpr

◆ majorCrime

std::int32_t RE::TESFaction::majorCrime

◆ minorCrime

std::int32_t RE::TESFaction::minorCrime

◆ pad05C

std::uint32_t RE::TESFaction::pad05C

◆ pcEnemyFlagTimeStamp

float RE::TESFaction::pcEnemyFlagTimeStamp

◆ rankData

BSSimpleList<RANK_DATA*> RE::TESFaction::rankData

◆ resistArrestTimeStamp

AITimeStamp RE::TESFaction::resistArrestTimeStamp

◆ RTTI

constexpr auto RE::TESFaction::RTTI = RTTI_TESFaction
inlinestaticconstexpr

◆ vendorData

FACTION_VENDOR_DATA RE::TESFaction::vendorData

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