Files
2026-05-30 18:33:24 +12:00

178 lines
5.7 KiB
C++

#pragma once
namespace RE
{
namespace BGSEntryPoint
{
enum class ENTRY_POINT : std::uint32_t
{
kModBreathTimer = 0x0,
kCalculateCriticalHitChance = 0x1,
kCalculateCriticalHitDamageMult = 0x2,
kCalculateMineExplodeChance = 0x3,
kModIncomingLimbDamage = 0x4,
kAdjustBookActorValueBonus = 0x5,
kModifyRecoveredHealth = 0x6,
kGetShouldAttack = 0x7,
kModBuyPrices = 0x8,
kAddLeveledListOnDeath = 0x9,
kGetMaxCarryWeight = 0xA,
kModifyAddictionChance = 0xB,
kModifyAddictionDuration = 0xC,
kModifyPositiveChemDuration = 0xD,
kActivate = 0xE,
kIgnoreRunningDuringDetection = 0xF,
kIgnoreBrokenLock = 0x10,
kModifyEnemyCriticalHitChance = 0x11,
kModifySneakAttackMult = 0x12,
kModifyMaxPlaceableMines = 0x13,
kModifyBowZoom = 0x14,
kModifyRecoverArrowChance = 0x15,
kModExperience = 0x16,
kModTelekinesisDistance = 0x17,
kModTelekinesisDamageMult = 0x18,
kModTelekinesisDamage = 0x19,
kModBashingDamage = 0x1A,
kModPowerAttackActionPoints = 0x1B,
kModPowerAttackDamage = 0x1C,
kModSpellMagnitude = 0x1D,
kModSpellDuration = 0x1E,
kModSecondaryValueWeight = 0x1F,
kModArmorWeight = 0x20,
kModIncomingStagger = 0x21,
kModTargetStagger = 0x22,
kModAttackDamage = 0x23,
kModIncomingDamage = 0x24,
kModTargetDamageResistance = 0x25,
kModSpellCost = 0x26,
kModPercentageBlocked = 0x27,
kModShieldDeflectArrowChance = 0x28,
kModIncomingSpellMagnitude = 0x29,
kModIncomingSpellDuration = 0x2A,
kModPlayerIntimidation = 0x2B,
kModRicochetChance = 0x2C,
kModRicochetDamage = 0x2D,
kModBribeAmount = 0x2E,
kModDetectionLight = 0x2F,
kModDetectionMovement = 0x30,
kModScrapRewardMult = 0x31,
kSetSweepAttack = 0x32,
kApplyCombatHitSpell = 0x33,
kApplyBashSpell = 0x34,
kApplyReanimateSpell = 0x35,
kSetBooleanGraphVariable = 0x36,
kModSpellCastingSoundEvent = 0x37,
kModPickpocketChance = 0x38,
kModDetectionSneakSkill = 0x39,
kModFallingDamage = 0x3A,
kModLockpickSweetSpot = 0x3B,
kModSellPrices = 0x3C,
kCanPickpocketEquippedItem = 0x3D,
kGetPlayerGateLockpick = 0x3E,
kSetLockpickStartingArc = 0x3F,
kSetLockpickProgressionPicking = 0x40,
kSetLockpickUnbreakable = 0x41,
kModAlchemyEffectiveness = 0x42,
kApplyWeaponSwingSpell = 0x43,
kModCommandedActorLimit = 0x44,
kApplySneakingSpell = 0x45,
kModPlayerMagicSlowdown = 0x46,
kModWardMagickaAbsorptionPercent = 0x47,
kModInitialIngredientEffectsLearned = 0x48,
kPurifyAlchemyIngredients = 0x49,
kFilterActivation = 0x4A,
kCanDualCastSpell = 0x4B,
kModOutgoingExplosionLimbDamage = 0x4C,
kModEnchantmentPower = 0x4D,
kModSoulPercentCapturedToWeapon = 0x4E,
kModVATSAttackAP = 0x4F,
kModReflectDamageChance = 0x50,
kSetActivateLabel = 0x51,
kModKillExperience = 0x52,
kModPoisonDoseCount = 0x53,
kShouldApplyItem = 0x54,
kModArmorRating = 0x55,
kModLockpickingCrimeChance = 0x56,
kModIngredientsHarvested = 0x57,
kModSpellRange = 0x58,
kModRicochetCriticalChargeMult = 0x59,
kModLockpickRewardKeyChance = 0x5A,
kModAutoLockpickChance = 0x5B,
kModAutoHackingChance = 0x5C,
kModTypedAttackDamage = 0x5D,
kModTypedIncomingDamage = 0x5E,
kModCharismaChallengeChance = 0x5F,
kModSprintAPDrainRate = 0x60,
kModDrawnWeaponWeightSpeedEffect = 0x61,
kGetPlayerGateHacking = 0x62,
kModPlayerExplosionDamage = 0x63,
kModPlayerExplosionScale = 0x64,
kSetRadsToHealthMult = 0x65,
kModActorScopeStability = 0x66,
kModActorGrenadeSpeedMult = 0x67,
kModExplosionForce = 0x68,
kModVATSPenetrationMinVisibility = 0x69,
kModRadsForRadHealthMax = 0x6A,
kModVATSPlayerAPKillAwardChance = 0x6B,
kSetVATSFillCritOnHit = 0x6C,
kModVATSConcentratedFireBonus = 0x6D,
kModVATSCriticalCount = 0x6E,
kModVATSHoldSteadyBonus = 0x6F,
kModTypedSpellMagnitude = 0x70,
kModTypedIncomingSpellMagnitude = 0x71,
kSetVATSGunFuNumTargetsForCrits = 0x72,
kModOutgoingLimbDamage = 0x73,
kModRestoreActionCostValue = 0x74,
kModVATSReloadAP = 0x75,
kModIncomingBatteryDamage = 0x76,
kModVATSCriticalCharge = 0x77,
kModExperienceLocation = 0x78,
kModExperienceSpeech = 0x79,
kModVATSHeadShotChance = 0x7A,
kModVATSHitChance = 0x7B,
kModIncomingExplosionDamage = 0x7C,
kModAmmoHealthMult = 0x7D,
kModHackingGuesses = 0x7E,
kModTerminalLockoutTime = 0x7F,
kSetUndetectable = 0x80,
kInvestInVendor = 0x81,
kModOutgoingLimbBashDamage = 0x82,
kSetRunWhileOverEncumbered = 0x83,
kGetComponentRadarDistance = 0x84,
kShowGrenadeTrajectory = 0x85,
kModConeOfFireMult = 0x86,
kModVATSConcentratedFireDamageMult = 0x87,
kApplyBloodyMessSpell = 0x88,
kModVATSCritFillChanceOnBank = 0x89,
kModVATSCritFillChanceOnUse = 0x8A,
kSetVATSCritFillOnAPReward = 0x8B,
kSetVATSCritFillOnStranger = 0x8C,
kModGunRangeMult = 0x8D,
kModScopeHoldBreathAPDrainMult = 0x8E,
kSetForceDecapitate = 0x8F,
kModVATSShootExplosiveDamageMult = 0x90,
kModScroungerFillAmmoChance = 0x91,
kSetCanExplodePants = 0x92,
kSetVATSPenetrationFullDamage = 0x93,
kModVATSGunFu2ndTargetDmgMult = 0x94,
kModVATSGunFu3rdTargetDmgMult = 0x95,
kModVATSGunFu4thPlusDmgMult = 0x96,
kModVATSBlitzMaxDist = 0x97,
kSetVATSBlitzDmgMultAtMaxDist = 0x98,
kModVATSBlitzDmgBonusDist = 0x99,
kModBashCriticalChance = 0x9A,
kVATSApplyParalyzingPalmSpell = 0x9B,
kModFatigueForFatigueAPMax = 0x9C,
kSetFatigueToAPMult = 0x9D,
};
template <class... Args>
inline void HandleEntryPoint(ENTRY_POINT a_entryPoint, Actor* a_perkOwner, Args... a_args)
{
using func_t = decltype(&BGSEntryPoint::HandleEntryPoint<Args...>);
static REL::Relocation<func_t> func{ ID::BGSEntryPoint::HandleEntryPoint };
return func(a_entryPoint, a_perkOwner, a_args...);
}
}
}