add: exp modifier hook

This commit is contained in:
2024-04-13 19:37:34 +02:00
parent 277c0e9713
commit b9552f3920
2 changed files with 16 additions and 2 deletions

View File

@@ -57,7 +57,6 @@ void __stdcall hNolanBehaviour_OnAttributeUpdateValue(app::NolanBehaviour* __thi
// DO_APP_FUNC(0x005E5E10, bool, OptionsHelpers_IsRobeUnlocked, (OptionsHelpers * __this, String * robe, String * character, MethodInfo * method)); // DO_APP_FUNC(0x005E5E10, bool, OptionsHelpers_IsRobeUnlocked, (OptionsHelpers * __this, String * robe, String * character, MethodInfo * method));
typedef bool(__stdcall* TOptionsHelpers_IsRobeUnlocked)(app::OptionsHelpers*, app::String*, app::String*, MethodInfo*); typedef bool(__stdcall* TOptionsHelpers_IsRobeUnlocked)(app::OptionsHelpers*, app::String*, app::String*, MethodInfo*);
TOptionsHelpers_IsRobeUnlocked oOptionsHelpers_IsRobeUnlocked = NULL; TOptionsHelpers_IsRobeUnlocked oOptionsHelpers_IsRobeUnlocked = NULL;
bool __stdcall hOptionsHelpers_IsRobeUnlocked(app::OptionsHelpers* __this, app::String* robe, app::String* character, MethodInfo* method) { bool __stdcall hOptionsHelpers_IsRobeUnlocked(app::OptionsHelpers* __this, app::String* robe, app::String* character, MethodInfo* method) {
if (settings::unlock_all) if (settings::unlock_all)
@@ -78,6 +77,17 @@ bool __stdcall hOptionsHelpers_IsCharacterUnlocked(app::OptionsHelpers* __this,
return oOptionsHelpers_IsCharacterUnlocked(__this, prefab, method); return oOptionsHelpers_IsCharacterUnlocked(__this, prefab, method);
} }
typedef app::RankHelpers_ExpGainInfo* (__stdcall* TRankHelpers_CalculateExpGain)(app::RankHelpers*, int32_t, int32_t, app::GameConfigToken*, MethodInfo*);
TRankHelpers_CalculateExpGain oRankHelpers_CalculateExpGain = NULL;
app::RankHelpers_ExpGainInfo* __stdcall hRankHelpers_CalculateExpGain(app::RankHelpers* __this, int32_t mapProgress, int32_t numAwards, app::GameConfigToken* gameConfigToken, MethodInfo* method) {
app::RankHelpers_ExpGainInfo* gain = oRankHelpers_CalculateExpGain(__this, mapProgress, numAwards, gameConfigToken, method);
if (settings::exp_modifier) {
gain->fields.totalExp = settings::new_exp;
}
return gain;
}
void CreateHooks() { void CreateHooks() {
/* /*
//Exemple : //Exemple :
@@ -107,6 +117,11 @@ void CreateHooks() {
std::cout << "Failed to create uv hook: " << MH_StatusToString(status_uv) << std::endl; std::cout << "Failed to create uv hook: " << MH_StatusToString(status_uv) << std::endl;
return; return;
} }
MH_STATUS status_xp = MH_CreateHook((LPVOID*)app::RankHelpers_CalculateExpGain , &hRankHelpers_CalculateExpGain, reinterpret_cast<LPVOID*>(&oRankHelpers_CalculateExpGain));
if (status_uv != MH_OK) {
std::cout << "Failed to create xp hook: " << MH_StatusToString(status_xp) << std::endl;
return;
}
MH_STATUS enable_status_Debug_Log = MH_EnableHook(MH_ALL_HOOKS); MH_STATUS enable_status_Debug_Log = MH_EnableHook(MH_ALL_HOOKS);
if (enable_status_Debug_Log != MH_OK) { if (enable_status_Debug_Log != MH_OK) {
std::cout << "Failed to enable hooks: " << MH_StatusToString(enable_status_Debug_Log) << std::endl; std::cout << "Failed to enable hooks: " << MH_StatusToString(enable_status_Debug_Log) << std::endl;

View File

@@ -9,7 +9,6 @@ namespace settings {
float flashlight_color[4] = { 255.f, 255.f, 255.f, 255.f }; float flashlight_color[4] = { 255.f, 255.f, 255.f, 255.f };
bool unlimited_uv = false; bool unlimited_uv = false;
bool unlimited_uv_reset = true;
bool fullbright = false; bool fullbright = false;
bool player_esp = false; bool player_esp = false;