docs: add plugin setup guide
This commit is contained in:
@@ -0,0 +1,197 @@
|
||||
#pragma once
|
||||
|
||||
#include "RE/B/BSTArray.h"
|
||||
#include "RE/B/BSTSingleton.h"
|
||||
|
||||
namespace RE
|
||||
{
|
||||
class ActorValue :
|
||||
public BSTSingletonImplicit<ActorValue> // 000
|
||||
{
|
||||
public:
|
||||
enum class AVType
|
||||
{
|
||||
kDerivedAttribute = 0x0,
|
||||
kAttribute = 0x1,
|
||||
kSkill = 0x2,
|
||||
kAIAttribute = 0x3,
|
||||
kResistance = 0x4,
|
||||
kCondition = 0x5,
|
||||
kCharge = 0x6,
|
||||
kIntValue = 0x7,
|
||||
kVariable = 0x8,
|
||||
kResource = 0x9
|
||||
};
|
||||
|
||||
enum class Flags : std::int32_t
|
||||
{
|
||||
kDepreciated = 1 << 1,
|
||||
kEnumeration = 1 << 2,
|
||||
kNoScriptModAV = 1 << 3,
|
||||
kCache = 1 << 4,
|
||||
kCachePermenant = 1 << 5,
|
||||
kAlwaysClamp = 1 << 6,
|
||||
kImplicitBase0 = 1 << 10,
|
||||
kImplicitBase1 = 1 << 11,
|
||||
kImplicitBase100 = 1 << 12,
|
||||
kUserDefined = 1 << 13,
|
||||
kDerived = 1 << 15,
|
||||
kBaseUseAutoCalc = 1 << 16,
|
||||
kMin1 = 1 << 20,
|
||||
kMax10 = 1 << 21,
|
||||
kMax100 = 1 << 22,
|
||||
kScaleBy100 = 1 << 23,
|
||||
kPercentage = 1 << 24,
|
||||
kDamageMinZero = 1 << 25,
|
||||
kDamageIsPositive = 1 << 26,
|
||||
kGodModeNoDamage = 1 << 27,
|
||||
kDoesNotRecover = 1 << 28,
|
||||
kHardcoded = 1 << 31,
|
||||
};
|
||||
|
||||
[[nodiscard]] static ActorValue* GetSingleton()
|
||||
{
|
||||
using func_t = decltype(&ActorValue::GetSingleton);
|
||||
static REL::Relocation<func_t> func{ ID::ActorValue::Singleton };
|
||||
return func();
|
||||
}
|
||||
|
||||
// members
|
||||
ActorValueInfo* absorbChance; // 000
|
||||
ActorValueInfo* actionPoints; // 008
|
||||
ActorValueInfo* aggression; // 010
|
||||
ActorValueInfo* agility; // 018
|
||||
ActorValueInfo* aimStability; // 020
|
||||
ActorValueInfo* alchemy; // 028
|
||||
ActorValueInfo* animationMult; // 030
|
||||
ActorValueInfo* armorPerks; // 038
|
||||
ActorValueInfo* assistance; // 040
|
||||
ActorValueInfo* attackDamageMult; // 048
|
||||
ActorValueInfo* blindness; // 050
|
||||
ActorValueInfo* block; // 058
|
||||
ActorValueInfo* bloodyMess; // 060
|
||||
ActorValueInfo* bowSpeedBonus; // 068
|
||||
ActorValueInfo* bowStaggerBonus; // 070
|
||||
ActorValueInfo* brainCondition; // 078
|
||||
ActorValueInfo* carryWeight; // 080
|
||||
ActorValueInfo* charisma; // 088
|
||||
ActorValueInfo* combatHealthRegenMult; // 090
|
||||
ActorValueInfo* confidence; // 098
|
||||
ActorValueInfo* criticalChance; // 0A0
|
||||
ActorValueInfo* damageResistance; // 0A8
|
||||
ActorValueInfo* deafness; // 0B0
|
||||
ActorValueInfo* enchanting; // 0B8
|
||||
ActorValueInfo* endurance; // 0C0
|
||||
ActorValueInfo* enduranceCondition; // 0C8
|
||||
ActorValueInfo* experience; // 0D0
|
||||
ActorValueInfo* health; // 0D8
|
||||
ActorValueInfo* healRateMult; // 0E0
|
||||
ActorValueInfo* idleChatterTimeMin; // 0E8
|
||||
ActorValueInfo* idleChatterTimeMAx; // 0F0
|
||||
ActorValueInfo* ignoreCrippledLimbs; // 0F8
|
||||
ActorValueInfo* intelligence; // 100
|
||||
ActorValueInfo* invisibility; // 108
|
||||
ActorValueInfo* karma; // 110
|
||||
ActorValueInfo* leftAttackCondition; // 118
|
||||
ActorValueInfo* leftItemCharge; // 120
|
||||
ActorValueInfo* leftMobiltyCondition; // 128
|
||||
ActorValueInfo* leftWeaponSpeedMult; // 130
|
||||
ActorValueInfo* lockpicking; // 138
|
||||
ActorValueInfo* luck; // 140
|
||||
ActorValueInfo* mass; // 148
|
||||
ActorValueInfo* meleeDamage; // 150
|
||||
ActorValueInfo* morality; // 158
|
||||
ActorValueInfo* movementNoiseMult; // 160
|
||||
ActorValueInfo* nightEyeBonus; // 168
|
||||
ActorValueInfo* perception; // 170
|
||||
ActorValueInfo* perceptionCondition; // 178
|
||||
ActorValueInfo* pickpocket; // 180
|
||||
ActorValueInfo* poisonResistance; // 188
|
||||
ActorValueInfo* powerArmorBattery; // 190
|
||||
ActorValueInfo* powerArmorHeadCondition; // 198
|
||||
ActorValueInfo* powerArmorTorsoCondition; // 1A0
|
||||
ActorValueInfo* powerArmorLeftArmCondition; // 1A8
|
||||
ActorValueInfo* powerArmorRightArmCondition; // 1B0
|
||||
ActorValueInfo* powerArmorLeftLegCondition; // 1B8
|
||||
ActorValueInfo* powerArmorRightLegCondition; // 1C0
|
||||
ActorValueInfo* radHealthMax; // 1C8
|
||||
ActorValueInfo* rads; // 1D0
|
||||
ActorValueInfo* fatigueAPMax; // 1D8
|
||||
ActorValueInfo* fatigue; // 1E0
|
||||
ActorValueInfo* reflectDamage; // 1E8
|
||||
ActorValueInfo* restoreConditionRate; // 1F0
|
||||
ActorValueInfo* rightAttackCondition; // 1F8
|
||||
ActorValueInfo* rightItemCharge; // 200
|
||||
ActorValueInfo* rightMobilityCondition; // 208
|
||||
ActorValueInfo* rotationSpeedCondition; // 210
|
||||
ActorValueInfo* shieldPerks; // 218
|
||||
ActorValueInfo* shoutRecoveryMult; // 220
|
||||
ActorValueInfo* sneak; // 228
|
||||
ActorValueInfo* speechcraft; // 230
|
||||
ActorValueInfo* speedMult; // 238
|
||||
ActorValueInfo* stamina; // 240
|
||||
ActorValueInfo* strength; // 248
|
||||
ActorValueInfo* suspicious; // 250
|
||||
ActorValueInfo* telekinesis; // 258
|
||||
ActorValueInfo* unarmedDamage; // 260
|
||||
ActorValueInfo* vansPerk; // 268
|
||||
ActorValueInfo* wardPower; // 270
|
||||
ActorValueInfo* waitingForPlayer; // 278
|
||||
ActorValueInfo* waterBreathing; // 280
|
||||
ActorValueInfo* waterWalking; // 288
|
||||
ActorValueInfo* weaponSpeedMult; // 290
|
||||
ActorValueInfo* weapReloadSpeedMult; // 298
|
||||
ActorValueInfo* restoreHealthRate; // 2A0
|
||||
ActorValueInfo* restoreAPRate; // 2A8
|
||||
ActorValueInfo* apRateMult; // 2B0
|
||||
ActorValueInfo* restoreRadsRate; // 2B8
|
||||
ActorValueInfo* radsRateMult; // 2C0
|
||||
ActorValueInfo* restoreFatigueRate; // 2C8
|
||||
ActorValueInfo* fatigueRateMult; // 2D0
|
||||
ActorValueInfo* conditionRateMult; // 2D8
|
||||
ActorValueInfo* fireResistance; // 2E0
|
||||
ActorValueInfo* electricalResistance; // 2E8
|
||||
ActorValueInfo* frostResistance; // 2F0
|
||||
ActorValueInfo* magicResistance; // 2F8
|
||||
ActorValueInfo* radIngestionResistance; // 300
|
||||
ActorValueInfo* radExposureResistance; // 308
|
||||
ActorValueInfo* energy; // 310
|
||||
ActorValueInfo* energyResistance; // 318
|
||||
ActorValueInfo* paralysis; // 320
|
||||
ActorValueInfo* attackConditionAlt1; // 328
|
||||
ActorValueInfo* attackConditionAlt2; // 330
|
||||
ActorValueInfo* attackConditionAlt3; // 338
|
||||
ActorValueInfo* powerGenerated; // 340
|
||||
ActorValueInfo* powerRadation; // 348
|
||||
ActorValueInfo* powerRequired; // 350
|
||||
ActorValueInfo* resourceFood; // 358
|
||||
ActorValueInfo* resourceWater; // 360
|
||||
ActorValueInfo* resourceSafety; // 368
|
||||
ActorValueInfo* resourceBed; // 370
|
||||
ActorValueInfo* resourceHappiness; // 378
|
||||
ActorValueInfo* resourceArtillery; // 380
|
||||
ActorValueInfo* workshopItemOverlap; // 388
|
||||
ActorValueInfo* workshopItemClampDirection; // 390
|
||||
ActorValueInfo* workshopItemZOffset; // 398
|
||||
ActorValueInfo* workshopPlayerOwned; // 3A0
|
||||
ActorValueInfo* workshopActorWounded; // 3A8
|
||||
ActorValueInfo* workshopStackableItem; // 3B0
|
||||
ActorValueInfo* workshopSnapPointRadius; // 3B8
|
||||
ActorValueInfo* workshopAnythingIsGround; // 3C0
|
||||
ActorValueInfo* workshopMaxTriangles; // 3C8
|
||||
ActorValueInfo* workshopMaxDraws; // 3D0
|
||||
ActorValueInfo* workshopCurrentTriangles; // 3D8
|
||||
ActorValueInfo* workshopCurrentDraws; // 3E0
|
||||
ActorValueInfo* workshopIgnoreSimpleIntersections; // 3E8
|
||||
ActorValueInfo* workshopAllowUnsupportedStacking; // 3F0
|
||||
ActorValueInfo* workshopSnapTransmitsPower; // 3F8
|
||||
ActorValueInfo* workshopPowerConnection; // 400
|
||||
ActorValueInfo* logicOperation; // 408
|
||||
ActorValueInfo* logicOutput; // 410
|
||||
ActorValueInfo* ignorePlayerWhileFrenzied; // 418
|
||||
BSTArray<ActorValueInfo*> hardcodedActorValues; // 420
|
||||
BSTArray<ActorValueInfo*> conditionActorValues; // 438
|
||||
std::uint32_t avTypeCounts[10]; // 450
|
||||
};
|
||||
static_assert(sizeof(ActorValue) == 0x478);
|
||||
}
|
||||
Reference in New Issue
Block a user