17 class PackageLocation;
114 static_assert(
sizeof(
RANK_DATA) == 0x20);
184 void SetAlly(
TESFaction* a_other,
bool a_selfIsFriendToOther =
false,
bool a_otherIsFriendToSelf =
false);
187 void SetEnemy(
TESFaction* a_other,
bool a_selfIsNeutralToOther =
false,
bool a_otherIsNeutralToSelf =
false);
Definition: BGSOutfit.h:11
Definition: BSTHashMap.h:21
Definition: PackageLocation.h:11
Definition: TESCondition.h:992
Definition: TESFaction.h:120
void SetEnemy(TESFaction *a_other, bool a_selfIsNeutralToOther=false, bool a_otherIsNeutralToSelf=false)
bool IsFactionInCrimeGroup(const TESFaction *a_other) const
bool HiddenFromNPC() const
std::int32_t GetInfamy() const
std::int32_t GetInfamyNonViolent() const
bool UsesCrimeGoldDefaults() const
std::int32_t GetStolenItemValueNoCrime() const
bool OffersServices() const
BSTHashMap< const TESNPC *, std::uint32_t > * crimeGoldMap
Definition: TESFaction.h:193
void PlayerPayCrimeGold(bool a_removeStolenItems=true, bool a_goToJail=true)
void InitItemImpl() override
std::int32_t minorCrime
Definition: TESFaction.h:200
void InitializeData() override
BSSimpleList< RANK_DATA * > rankData
Definition: TESFaction.h:198
static constexpr auto RTTI
Definition: TESFaction.h:122
std::int32_t GetStolenItemValueCrime() const
std::int32_t GetCrimeGoldNonViolent() const
bool IgnoresPickpocket() const
bool IgnoresWerewolf() const
void SetFactionFightReaction(TESFaction *a_faction, FIGHT_REACTION a_fightReaction)
void SendPlayerToJail(bool a_removeInventory=true, bool a_realJail=true)
void ClearData() override
bool IgnoresAssault() const
static constexpr auto VTABLE
Definition: TESFaction.h:123
bool ReportsCrimesAgainstMembers() const
void SetCrimeGoldViolent(std::int32_t a_gold)
void ModCrimeGold(std::int32_t a_amount, bool a_violent)
void SetCrimeGold(std::int32_t a_gold)
bool IgnoresMurder() const
bool TracksCrimes() const
bool IsPlayerEnemy() const
AITimeStamp resistArrestTimeStamp
Definition: TESFaction.h:201
bool IgnoresStealing() const
bool Load(TESFile *a_mod) override
std::int32_t GetInfamyViolent() const
std::int32_t GetCrimeGoldViolent() const
void LoadGame(BGSLoadFormBuffer *a_buf) override
bool IsPlayerExpelled() const
bool HasStealMultiplier() const
FACTION_CRIME_DATA crimeData
Definition: TESFaction.h:196
void SaveGame(BGSSaveFormBuffer *a_buf) override
FACTION_VENDOR_DATA vendorData
Definition: TESFaction.h:197
static constexpr auto FORMTYPE
Definition: TESFaction.h:124
std::int32_t majorCrime
Definition: TESFaction.h:199
bool IgnoresTrespass() const
void Revert(BGSLoadFormBuffer *a_buf) override
std::uint32_t pad05C
Definition: TESFaction.h:195
void SetAlly(TESFaction *a_other, bool a_selfIsFriendToOther=false, bool a_otherIsFriendToSelf=false)
bool HasSpecialCombatState() const
bool CanPayCrimeGold() const
FACTION_DATA data
Definition: TESFaction.h:194
float pcEnemyFlagTimeStamp
Definition: TESFaction.h:202
std::int32_t GetCrimeGold() const
Definition: TESFullName.h:9
Definition: TESObjectREFR.h:113
Definition: TESTexture.h:10
Definition: AbsorbEffect.h:6
constexpr REL::VariantID RTTI_TESFaction(513906, 392444, 0x1ed97c0)
constexpr std::array< REL::VariantID, 3 > VTABLE_TESFaction
Definition: Offsets_VTABLE.h:923
FIGHT_REACTION
Definition: FightReactions.h:6
Definition: AITimeStamp.h:6
Definition: TESFaction.h:46
std::uint16_t assaultCrimeGold
Definition: TESFaction.h:52
std::uint16_t pad0A
Definition: TESFaction.h:55
std::uint16_t escapeCrimeGold
Definition: TESFaction.h:57
std::uint16_t murderCrimeGold
Definition: TESFaction.h:51
std::uint16_t trespassCrimeGold
Definition: TESFaction.h:53
std::uint16_t pickpocketCrimeGold
Definition: TESFaction.h:54
std::uint16_t werewolfCrimeGold
Definition: TESFaction.h:58
bool arrest
Definition: TESFaction.h:49
bool attackOnSight
Definition: TESFaction.h:50
float stealCrimeGoldMult
Definition: TESFaction.h:56
Definition: TESFaction.h:63
TESObjectREFR * factionWaitMarker
Definition: TESFaction.h:67
std::uint32_t pad44
Definition: TESFaction.h:73
FACTION_CRIME_DATA_VALUES crimevalues
Definition: TESFaction.h:72
BGSListForm * crimeGroup
Definition: TESFaction.h:70
BGSOutfit * jailOutfit
Definition: TESFaction.h:71
TESObjectREFR * factionStolenContainer
Definition: TESFaction.h:68
TESObjectREFR * factionPlayerInventoryContainer
Definition: TESFaction.h:69
TESObjectREFR * factionJailMarker
Definition: TESFaction.h:66
Definition: TESFaction.h:20
Flag flags
Definition: TESFaction.h:41
Flag
Definition: TESFaction.h:22
@ kIgnoresCrimes_Stealing
Definition: TESFaction.h:31
@ kPlayerIsExpelled
Definition: TESFaction.h:26
@ kTrackCrime
Definition: TESFaction.h:28
@ kCanBeOwner
Definition: TESFaction.h:37
@ kHiddenFromNPC
Definition: TESFaction.h:24
@ kSpecialCombat
Definition: TESFaction.h:25
@ kNone
Definition: TESFaction.h:23
@ kPlayerIsEnemy
Definition: TESFaction.h:27
@ kIgnoresCrimes_Werewolf
Definition: TESFaction.h:38
@ kDoNotReportCrimesAgainstMembers
Definition: TESFaction.h:33
@ kIngoresCrimes_Trespass
Definition: TESFaction.h:32
@ kCrimeGold_UseDefaults
Definition: TESFaction.h:34
@ kIgnoresCrimes_Murder
Definition: TESFaction.h:29
@ kVendor
Definition: TESFaction.h:36
@ kIgnoresCrimes_Assult
Definition: TESFaction.h:30
@ kIgnoresCrimes_Pickpocket
Definition: TESFaction.h:35
Definition: TESFaction.h:78
bool notBuySell
Definition: TESFaction.h:85
bool buysStolen
Definition: TESFaction.h:84
bool buysNonStolen
Definition: TESFaction.h:86
std::uint16_t endHour
Definition: TESFaction.h:82
std::uint32_t locationRadius
Definition: TESFaction.h:83
std::uint16_t startHour
Definition: TESFaction.h:81
std::uint8_t padB
Definition: TESFaction.h:87
Definition: TESFaction.h:92
TESObjectREFR * merchantContainer
Definition: TESFaction.h:100
std::uint32_t lastDayReset
Definition: TESFaction.h:101
FACTION_VENDOR_DATA_VALUES vendorValues
Definition: TESFaction.h:95
std::uint32_t pad34
Definition: TESFaction.h:102
TESCondition * vendorConditions
Definition: TESFaction.h:98
std::uint32_t pad0C
Definition: TESFaction.h:96
PackageLocation * vendorLocation
Definition: TESFaction.h:97
BGSListForm * vendorSellBuyList
Definition: TESFaction.h:99
Definition: TESFaction.h:107
TESTexture textureInsignia
Definition: TESFaction.h:112
BSFixedString femaleRankTitle
Definition: TESFaction.h:111
BSFixedString maleRankTitle
Definition: TESFaction.h:110
Definition: TESFaction.h:127
ChangeFlag
Definition: TESFaction.h:129
@ kFactionFlags
Definition: TESFaction.h:130
@ kFactionReactions
Definition: TESFaction.h:131
@ kFactionCrimeCounts
Definition: TESFaction.h:132
Definition: TESFaction.h:137
RecordFlag
Definition: TESFaction.h:139
@ kIgnored
Definition: TESFaction.h:141
@ kDeleted
Definition: TESFaction.h:140