18 class BSFaceGenNiNode;
19 class MenuOpenCloseEvent;
110 static_assert(
sizeof(
Skills) == 0x30);
131 static_assert(
sizeof(
Sounds) == 0x8);
187 static_assert(
sizeof(
FaceData) == 0x5C);
202 static_assert(
sizeof(
Layer) == 0x10);
213 void Revert(BGSLoadFormBuffer* a_buf)
override;
287 static_assert(
sizeof(
TESNPC) == 0x268);
Definition: BGSHeadPart.h:17
HeadPartType
Definition: BGSHeadPart.h:33
Definition: BGSOutfit.h:10
Definition: BGSOverridePackCollection.h:10
Definition: BGSTextureSet.h:16
Definition: BGSVoiceType.h:25
Definition: BSFaceGenNiNode.h:14
Definition: BSTArray.h:377
Definition: BSTEvent.h:146
Definition: BSTEvent.h:28
BSTArray< void * > * unk00[8]
Definition: TESNPC.h:27
Definition: NiAVObject.h:45
Definition: NiColor.h:137
Definition: TESActorBase.h:32
Definition: TESBoundObject.h:24
Definition: TESClass.h:88
Definition: TESCombatStyle.h:65
Definition: TESFaction.h:120
std::uint8_t unk244
Definition: TESNPC.h:278
Skills playerSkills
Definition: TESNPC.h:255
HeadRelatedData * headRelatedData
Definition: TESNPC.h:257
void InitializeData() override
std::uint8_t unk241
Definition: TESNPC.h:275
BSTArray< Layer * > * tintLayers
Definition: TESNPC.h:285
const TESNPC * GetRootFaceNPC() const
BGSVoiceType * GetObjectVoiceType() const override
TESClass * npcClass
Definition: TESNPC.h:256
std::uint32_t pad24C
Definition: TESNPC.h:282
void SaveGame(BGSSaveFormBuffer *a_buf) override
void SetObjectVoiceType(BGSVoiceType *a_voiceType) override
BSTArray< BGSRelationship * > * relationships
Definition: TESNPC.h:283
bool CalculateDoFavor(Actor *a_activator, bool a_arg2, TESObjectREFR *a_toActivate, float a_arg3) override
TESCombatStyle * combatStyle
Definition: TESNPC.h:259
bool Activate(TESObjectREFR *a_targetRef, TESObjectREFR *a_activatorRef, std::uint8_t a_arg3, TESBoundObject *a_object, std::int32_t a_targetCount) override
Color bodyTintColor
Definition: TESNPC.h:280
BGSListForm * giftFilter
Definition: TESNPC.h:258
void SetFaceTexture(BGSTextureSet *a_textureSet)
BGSHeadPart * GetHeadPartOverlayByType(HeadPartType a_type)
BSEventNotifyControl ProcessEvent(const MenuOpenCloseEvent *a_event, BSTEventSource< MenuOpenCloseEvent > *a_eventSource) override
TESObjectARMO * farSkin
Definition: TESNPC.h:268
std::uint32_t pad1E4
Definition: TESNPC.h:261
float GetActorValue(ActorValue a_akValue) override
void Revert(BGSLoadFormBuffer *a_buf) override
std::uint16_t pad24A
Definition: TESNPC.h:281
std::uint8_t unk243
Definition: TESNPC.h:277
void CopyFromTemplateForms(TESActorBase **a_templateForms) override
static constexpr auto FORMTYPE
Definition: TESNPC.h:41
void SetHairColor(BGSColorForm *a_hairColor)
float weight
Definition: TESNPC.h:265
BGSHeadPart ** GetBaseOverlays() const
BGSHeadPart ** headParts
Definition: TESNPC.h:273
BGSHeadPart * GetCurrentHeadPartByType(HeadPartType a_type)
static constexpr auto RTTI
Definition: TESNPC.h:38
stl::enumeration< SOUND_LEVEL, std::uint8_t > soundLevel
Definition: TESNPC.h:279
bool Load(TESFile *a_mod) override
void ChangeHeadPart(BGSHeadPart *a_target)
std::uint32_t GetNumBaseOverlays() const
BGSListForm * defaultPackList
Definition: TESNPC.h:271
void UnClone3D(TESObjectREFR *a_ref) override
void SetCombatStyle(TESCombatStyle *a_combatStyle) override
BGSOutfit * sleepOutfit
Definition: TESNPC.h:270
const char * GetTextForParsedSubTag(const BSFixedString &a_tag) const override
BGSHeadPart * GetHeadPartByType(HeadPartType a_type)
TESNPC * GetRootFaceNPC()
void ClearData() override
void SetSkinFromTint(NiColorA *a_result, TintMask *a_tintMask, bool a_fromTint)
std::int8_t numHeadParts
Definition: TESNPC.h:274
TESFaction * crimeFaction
Definition: TESNPC.h:272
std::uint32_t fileOffset
Definition: TESNPC.h:260
FaceData * faceData
Definition: TESNPC.h:284
NiAVObject * Clone3D(TESObjectREFR *a_ref) override
float height
Definition: TESNPC.h:264
Sounds sounds
Definition: TESNPC.h:266
TESRace * originalRace
Definition: TESNPC.h:262
BSFixedString shortName
Definition: TESNPC.h:267
void Copy(TESForm *a_srcForm) override
TESNPC * faceNPC
Definition: TESNPC.h:263
std::uint8_t unk242
Definition: TESNPC.h:276
void InitItemImpl() override
bool GetActivateText(TESObjectREFR *a_activator, BSString &a_dst) override
BGSOutfit * defaultOutfit
Definition: TESNPC.h:269
void LoadGame(BGSLoadFormBuffer *a_buf) override
bool FindInFileFast(TESFile *a_mod) override
void UpdateNeck(BSFaceGenNiNode *a_faceNode)
void SetActorValue(ActorValue a_akValue, float a_value) override
TESCombatStyle * GetCombatStyle() override
Definition: TESObjectARMO.h:37
Definition: TESObjectREFR.h:105
Definition: TESRace.h:146
Definition: AbsorbEffect.h:6
ActorValue
Definition: ActorValues.h:6
constexpr REL::ID RTTI_TESNPC
Definition: Offsets_RTTI.h:6025
BSEventNotifyControl
Definition: BSTEvent.h:12
ChangeFlag
Definition: TESNPC.h:46
@ kDefaultOutfit
Definition: TESNPC.h:56
@ kClass
Definition: TESNPC.h:54
@ kBaseData
Definition: TESNPC.h:47
@ kFace
Definition: TESNPC.h:55
@ kAIData
Definition: TESNPC.h:49
@ kSleepOutfit
Definition: TESNPC.h:57
@ kNPCSkills
Definition: TESNPC.h:53
@ kSpellList
Definition: TESNPC.h:50
@ kFullName
Definition: TESNPC.h:51
@ kAttributes
Definition: TESNPC.h:48
@ kRace
Definition: TESNPC.h:59
@ kGender
Definition: TESNPC.h:58
@ kFactions
Definition: TESNPC.h:52
@ kBrows_InOut
Definition: TESNPC.h:150
@ kCheeks_ForwardBack
Definition: TESNPC.h:146
@ kEyes_InOut
Definition: TESNPC.h:148
@ kNose_LongShort
Definition: TESNPC.h:140
@ kChin_NarrowWide
Definition: TESNPC.h:154
@ kLips_UpDown
Definition: TESNPC.h:152
@ kCheeks_UpDown
Definition: TESNPC.h:145
@ kEyes_UpDown
Definition: TESNPC.h:147
@ kEyes_ForwardBack
Definition: TESNPC.h:157
@ kNose_UpDown
Definition: TESNPC.h:141
@ kBrows_ForwardBack
Definition: TESNPC.h:151
@ kJaw_NarrowWide
Definition: TESNPC.h:143
@ kUnk
Definition: TESNPC.h:158
@ kBrows_UpDown
Definition: TESNPC.h:149
@ kJaw_ForwardBack
Definition: TESNPC.h:144
@ kTotal
Definition: TESNPC.h:160
@ kChin_UnderbiteOverbite
Definition: TESNPC.h:156
@ kChin_UpDown
Definition: TESNPC.h:155
@ kLips_InOut
Definition: TESNPC.h:153
@ kJaw_UpDown
Definition: TESNPC.h:142
@ kEyes
Definition: TESNPC.h:170
@ kMouth
Definition: TESNPC.h:171
@ kUnknown
Definition: TESNPC.h:169
@ kTotal
Definition: TESNPC.h:173
@ kNose
Definition: TESNPC.h:168
std::int32_t parts[Parts::kTotal]
Definition: TESNPC.h:185
float morphs[Morphs::kTotal]
Definition: TESNPC.h:184
@ kTotalPresets
Definition: TESNPC.h:180
@ kDefault
Definition: TESNPC.h:179
std::uint16_t interpolationValue
Definition: TESNPC.h:198
float GetInterpolationValue() const
std::uint16_t pad0A
Definition: TESNPC.h:199
Color tintColor
Definition: TESNPC.h:195
std::uint16_t preset
Definition: TESNPC.h:197
std::uint32_t pad0C
Definition: TESNPC.h:200
std::uint16_t tintIndex
Definition: TESNPC.h:196
RecordFlag
Definition: TESNPC.h:66
@ kIgnored
Definition: TESNPC.h:68
@ kDeleted
Definition: TESNPC.h:67
@ kBleedoutOverride
Definition: TESNPC.h:70
@ kCompressed
Definition: TESNPC.h:69
std::uint16_t health
Definition: TESNPC.h:104
@ kIllusion
Definition: TESNPC.h:94
@ kHeavyArmor
Definition: TESNPC.h:84
@ kLockpicking
Definition: TESNPC.h:87
@ kSneak
Definition: TESNPC.h:88
@ kRestoration
Definition: TESNPC.h:95
@ kDestruction
Definition: TESNPC.h:93
@ kSmithing
Definition: TESNPC.h:83
@ kOneHanded
Definition: TESNPC.h:79
@ kEnchanting
Definition: TESNPC.h:96
@ kConjuration
Definition: TESNPC.h:92
@ kMarksman
Definition: TESNPC.h:81
@ kPickpocket
Definition: TESNPC.h:86
@ kBlock
Definition: TESNPC.h:82
@ kAlteration
Definition: TESNPC.h:91
@ kSpecchcraft
Definition: TESNPC.h:90
@ kTotal
Definition: TESNPC.h:98
@ kAlchemy
Definition: TESNPC.h:89
@ kLightArmor
Definition: TESNPC.h:85
@ kTwoHanded
Definition: TESNPC.h:80
std::uint16_t stamina
Definition: TESNPC.h:106
std::uint16_t magicka
Definition: TESNPC.h:105
std::uint8_t values[kTotal]
Definition: TESNPC.h:102
std::uint16_t pad2A
Definition: TESNPC.h:107
float farawayModelDistance
Definition: TESNPC.h:108
std::uint8_t offsets[kTotal]
Definition: TESNPC.h:103
TESNPC * soundCreature
Definition: TESNPC.h:128
CreatureSounds * creatureSounds
Definition: TESNPC.h:129