docs: add plugin setup guide

This commit is contained in:
2026-05-30 18:33:24 +12:00
parent f3db41c402
commit b61043a3fe
1776 changed files with 122386 additions and 2 deletions
@@ -0,0 +1,72 @@
#pragma once
#include "RE/D/DifficultyLevel.h"
#include "RE/L/LOCK_LEVEL.h"
namespace RE
{
namespace GamePlayFormulas
{
enum class ExperienceActivity : std::int32_t
{
kKillNPC = 0x0,
kHackComputer = 0x1,
};
inline bool CanHackGateCheck(LOCK_LEVEL a_lockLevel)
{
using func_t = decltype(&GamePlayFormulas::CanHackGateCheck);
static REL::Relocation<func_t> func{ ID::GamePlayFormulas::CanHackGateCheck };
return func(a_lockLevel);
}
inline bool CanPickLockGateCheck(LOCK_LEVEL a_lockLevel)
{
using func_t = decltype(&GamePlayFormulas::CanPickLockGateCheck);
static REL::Relocation<func_t> func{ ID::GamePlayFormulas::CanPickLockGateCheck };
return func(a_lockLevel);
}
inline float GetExperienceReward(ExperienceActivity a_activity, DifficultyLevel a_difficulty, float a_xpBase)
{
using func_t = decltype(&GamePlayFormulas::GetExperienceReward);
static REL::Relocation<func_t> func{ ID::GamePlayFormulas::GetExperienceReward };
return func(a_activity, a_difficulty, a_xpBase);
}
inline float GetLockXPReward(LOCK_LEVEL a_lockLevel)
{
using func_t = decltype(&GamePlayFormulas::GetLockXPReward);
static REL::Relocation<func_t> func{ ID::GamePlayFormulas::GetLockXPReward };
return func(a_lockLevel);
}
inline float CalculateItemHealthDamageBonus(float a_itemHealth)
{
using func_t = decltype(&GamePlayFormulas::CalculateItemHealthDamageBonus);
static REL::Relocation<func_t> func{ ID::GamePlayFormulas::CalculateItemHealthDamageBonus };
return func(a_itemHealth);
}
inline float CalcSprintingActionPoints(float a_equippedWeight, float a_elapsedTime, float a_endurance)
{
using func_t = decltype(&GamePlayFormulas::CalcSprintingActionPoints);
static REL::Relocation<func_t> func{ ID::GamePlayFormulas::CalcSpringingActionPoints };
return func(a_equippedWeight, a_elapsedTime, a_endurance);
}
inline float GetHackingWordCount(float a_playerIntelligence)
{
using func_t = decltype(&GamePlayFormulas::GetHackingWordCount);
static REL::Relocation<func_t> func{ ID::GamePlayFormulas::GetHackingWordCount };
return func(a_playerIntelligence);
}
inline float GetForceLockChance(float a_playerPerception, std::int32_t a_lockLevel)
{
using func_t = decltype(&GamePlayFormulas::GetForceLockChance);
static REL::Relocation<func_t> func{ ID::GamePlayFormulas::GetForceLockChance };
return func(a_playerPerception, a_lockLevel);
}
}
}