Skip to content

Commit

Permalink
maintenance
Browse files Browse the repository at this point in the history
  • Loading branch information
powerof3 authored and github-actions[bot] committed Oct 18, 2024
1 parent e83cfcb commit c325839
Show file tree
Hide file tree
Showing 2 changed files with 66 additions and 66 deletions.
128 changes: 64 additions & 64 deletions include/RE/A/ActorValueInfo.h
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ namespace RE
inline static constexpr auto RTTI = RTTI_ActorValueInfo;
inline static constexpr auto VTABLE = VTABLE_ActorValueInfo;
inline static constexpr auto FORMTYPE = FormType::ActorValueInfo;

using DynamicBaseValueFunctor = float (*)(ActorValueOwner*, uint32_t avIndex);

struct RecordFlags
Expand All @@ -36,78 +36,78 @@ namespace RE

enum class ActorValueType : std::uint32_t
{
kAttribute, // e.g. Health, HealRate
kSkill, // e.g. OneHanded, VampirePerks, WerewolfPerks
kAITemperament, // e.g. Aggression, Energy, Morality
kDamageResistance, // e.g. PoisonResist
kLimbCondition, // e.g. BrainCondition
kStatus, // e.g. DetectLifeRange, Invisibility, NightEye, Paralysis
kMiscellaneous, // e.g. ArmorPerks, BowSpeedBonus, Fame, [Skill]Mod, [Skill]SkillAdvance, Variable01, WardPower
kAttribute, // e.g. Health, HealRate
kSkill, // e.g. OneHanded, VampirePerks, WerewolfPerks
kAITemperament, // e.g. Aggression, Energy, Morality
kDamageResistance, // e.g. PoisonResist
kLimbCondition, // e.g. BrainCondition
kStatus, // e.g. DetectLifeRange, Invisibility, NightEye, Paralysis
kMiscellaneous, // e.g. ArmorPerks, BowSpeedBonus, Fame, [Skill]Mod, [Skill]SkillAdvance, Variable01, WardPower
};

enum class ActorValueFlag : std::uint32_t
{
// used for combat-related magic skills
kHostileEffectsScaleWithDifficulty = 1 << 1,

// affects kClampAsSpecialStat behavior
kSpecialStatClampsAsNonZero = 1 << 2,
// clamped value (ActorValueOwner::GetClampedActorValue) is in the range [0, 10]

// clamped value (ActorValueOwner::GetClampedActorValue) is in the range [0, 10]
// or [1, 10]
kClampAsSpecialStat = 1 << 3,

// clamped value is in the range [0, 100]
kClampAsSkill = 1 << 4,

// the value can have "permanent," "temporary," and "damage" modifiers
// (see RE::Modifiers, RE::ActorValueStorage, RE::Actor::healthModifiers, etc.)
kCanHaveModifiers = 1 << 5,
// if the base value is computed from the actor or race, then the computed

// if the base value is computed from the actor or race, then the computed
// base value is the dynamic computation + the current value
kBaseValueIsDynamicPlusCurrent = 1 << 6,
// base value is computed per reference (`computeBaseFunc`), and the GetAVInfo

// base value is computed per reference (`computeBaseFunc`), and the GetAVInfo
// console command lists the "derived" value as "ignored"
kBaseValueComputedFromActor = 1 << 7,

// the AV is an enum.
kEnumeration = 1 << 8,

// damaging this AV increases the value, and restoring it decreases the value.
// used for AVs where high = bad, e.g. MovementNoiseMult impairing sneak
kInverted = 1 << 9,
// base value is computed per reference (`computeBaseFunc`), and values cached
// in the AI process (see other flags) are forcibly refreshed on race change or

// base value is computed per reference (`computeBaseFunc`), and values cached
// in the AI process (see other flags) are forcibly refreshed on race change or
// savegame load
kBaseValueComputedFromRace = 1 << 11,

// Papyrus APIs refuse to alter this AV's value
kCannotBeAlteredByScripts = 1 << 14,

kBaseValueIsAlwaysZero = 1 << 15,
// probably intended for multipliers, though some (e.g. WeaponSpeedMult) use the

// probably intended for multipliers, though some (e.g. WeaponSpeedMult) use the
// kBaseValueIsAlwaysZero flag instead
kBaseValueIsAlwaysOne = 1 << 16,

// used for limb condition AVs
kBaseValueIsAlwaysOneHundred = 1 << 17,

// see RE::CachedValues::actorValueCache
kAIProcessCachesCurrentValue = 1 << 18,
// see RE::CachedValues::maxActorValueCache. non-numeric AVs like Confidence, in

// see RE::CachedValues::maxActorValueCache. non-numeric AVs like Confidence, in
// particular, only cache their current value and not a maximum
kAIProcessCachesMaxValue = 1 << 19,
// the current value for the player cannot be decreased while ToggleGodMode

// the current value for the player cannot be decreased while ToggleGodMode
// is active
kProtectedByGodMode = 1 << 20,
// when an effect's <MAG> token is substituted for the magnitude, the displayed

// when an effect's <MAG> token is substituted for the magnitude, the displayed
// value is scaled by 100
kDisplayedEffectMagnitudeTimesOneHundred = 1 << 21,
};
Expand All @@ -132,35 +132,35 @@ namespace RE
[[nodiscard]] const char* GetDefaultPath() const override; // 06 - { return "Textures\\"; }

// members
const char* enumName; // 050
BSFixedString abbreviation; // 058 - ANAM
REX::EnumSet<ActorValueFlag, std::uint32_t> flags; // 060
ActorValueType type; // 064
DynamicBaseValueFunctor computeBaseFunc; // 068 - used if appropriate flags are set
std::uint32_t unk070; // 070
std::uint32_t unk074; // 074
std::uint32_t unk078; // 078
std::uint32_t unk07C; // 07C
std::uint32_t unk080; // 080
std::uint32_t unk084; // 084
std::uint32_t unk088; // 088
std::uint32_t unk08C; // 08C
std::uint32_t unk090; // 090
std::uint32_t unk094; // 094
std::uint32_t unk098; // 098
std::uint32_t unk09C; // 09C
std::uint32_t unk0A0; // 0A0
std::uint32_t unk0A4; // 0A4
std::uint32_t unk0A8; // 0A8
std::uint32_t unk0AC; // 0AC
std::uint64_t enumValueCount; // 0B0
const char* enumValues[0xA]; // 0B8
Skill* skill; // 108 - AVSK
std::uint32_t isNthAICachedCurrentValue; // 110 - if appropriate AV flag is set, RE::CachedValues::actorValueCache[n] is this AV
std::uint32_t isNthAICachedMaxValue; // 114 - if appropriate AV flag is set, RE::CachedValues::maxActorValueCache[n] is this AV
BGSSkillPerkTreeNode* perkTree; // 118
std::uint32_t perkTreeWidth; // 120
std::uint32_t unk124; // 124 - CNAM
const char* enumName; // 050
BSFixedString abbreviation; // 058 - ANAM
REX::EnumSet<ActorValueFlag, std::uint32_t> flags; // 060
ActorValueType type; // 064
DynamicBaseValueFunctor computeBaseFunc; // 068 - used if appropriate flags are set
std::uint32_t unk070; // 070
std::uint32_t unk074; // 074
std::uint32_t unk078; // 078
std::uint32_t unk07C; // 07C
std::uint32_t unk080; // 080
std::uint32_t unk084; // 084
std::uint32_t unk088; // 088
std::uint32_t unk08C; // 08C
std::uint32_t unk090; // 090
std::uint32_t unk094; // 094
std::uint32_t unk098; // 098
std::uint32_t unk09C; // 09C
std::uint32_t unk0A0; // 0A0
std::uint32_t unk0A4; // 0A4
std::uint32_t unk0A8; // 0A8
std::uint32_t unk0AC; // 0AC
std::uint64_t enumValueCount; // 0B0
const char* enumValues[0xA]; // 0B8
Skill* skill; // 108 - AVSK
std::uint32_t isNthAICachedCurrentValue; // 110 - if appropriate AV flag is set, RE::CachedValues::actorValueCache[n] is this AV
std::uint32_t isNthAICachedMaxValue; // 114 - if appropriate AV flag is set, RE::CachedValues::maxActorValueCache[n] is this AV
BGSSkillPerkTreeNode* perkTree; // 118
std::uint32_t perkTreeWidth; // 120
std::uint32_t unk124; // 124 - CNAM
};
static_assert(sizeof(ActorValueInfo) == 0x128);
}
4 changes: 2 additions & 2 deletions include/RE/T/TESObjectWEAP.h
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ namespace RE
enum RecordFlag : std::uint32_t
{
kNonPlayable = 1 << 2,
kHasInheritedFromTemplate = 1 << 3, // cleared on load; set by relevant processing in InitItemImpl
kHasInheritedFromTemplate = 1 << 3, // cleared on load; set by relevant processing in InitItemImpl
kDeleted = 1 << 5,
kIgnored = 1 << 12
};
Expand Down Expand Up @@ -121,7 +121,7 @@ namespace RE
kMinorCrime = 1 << 4,
kRangeFixed = 1 << 5,
kNotUsedInNormalCombat = 1 << 6,
kOverridesConditionDamage = 1 << 7,
kOverridesConditionDamage = 1 << 7,
kDontUse3rdPersonISAnim = 1 << 8, // unused
kBurstShot = 1 << 9,
kRumbleAlternate = 1 << 10,
Expand Down

0 comments on commit c325839

Please sign in to comment.