Files
Commonwealth-Online-Public/plugin/lib/commonlibf4/include/RE/A/ACTOR_BASE_DATA.h
T
2026-05-30 18:33:24 +12:00

62 lines
1.6 KiB
C++

#pragma once
namespace RE
{
class ACTOR_BASE_DATA
{
public:
enum class Flag
{
kNone = 0,
kFemale = 1 << 0,
kEssential = 1 << 1,
kIsChargenFacePreset = 1 << 2,
kRespawn = 1 << 3,
kAutoCalcStats = 1 << 4,
kUnique = 1 << 5,
kDoesntAffectStealthMeter = 1 << 6,
kPCLevelMult = 1 << 7,
kUsesTemplate = 1 << 8,
kProtected = 1 << 11,
kSummonable = 1 << 14,
kDoesntBleed = 1 << 16,
kBleedoutOverride = 1 << 18,
kOppositeGenderanims = 1 << 19,
kSimpleActor = 1 << 20,
kLoopedScript = 1 << 21, // ?
kLoopedAudio = 1 << 28, // ?
kIsGhost = 1 << 29,
kInvulnerable = 1 << 31
};
enum class TEMPLATE_USE_FLAG
{
kNone = 0,
kTraits = 1 << 0,
kStats = 1 << 1,
kFactions = 1 << 2,
kSpells = 1 << 3,
kAIData = 1 << 4,
kAIPackages = 1 << 5,
kUnused = 1 << 6,
kBaseData = 1 << 7,
kInventory = 1 << 8,
kScript = 1 << 9,
kAIDefPackList = 1 << 10,
kAttackData = 1 << 11,
kKeywords = 1 << 12
};
// members
REX::TEnumSet<Flag, std::uint32_t> actorBaseFlags; // 00
std::int16_t xpValueOffset; // 04
std::uint16_t level; // 06
std::uint16_t calcLevelMin; // 08
std::uint16_t calcLevelMax; // 0A
std::uint16_t baseDisposition; // 0C
REX::TEnumSet<TEMPLATE_USE_FLAG, std::uint16_t> templateUseFlags; // 0E
std::int16_t bleedoutOverride; // 10
};
static_assert(sizeof(ACTOR_BASE_DATA) == 0x14);
}