diff --git a/src/core/managers/entity_manager.cpp b/src/core/managers/entity_manager.cpp index 501d003ab..c5377aa09 100644 --- a/src/core/managers/entity_manager.cpp +++ b/src/core/managers/entity_manager.cpp @@ -15,7 +15,6 @@ */ #include "core/managers/entity_manager.h" -#include "core/detours.h" #include "core/function.h" #include "core/gameconfig.h" #include "core/globals.h" @@ -129,8 +128,6 @@ void EntityManager::OnAllInitialized() new ValveFunction((void*)CBaseEntity_TakeDamageOld, CALL_CONV, std::vector{ DATA_TYPE_POINTER, DATA_TYPE_POINTER, DATA_TYPE_POINTER }, DATA_TYPE_LONG_LONG); - Func_OnTakeDamage->AddHook(&OnTakeDamageProxy); - auto m_hook = funchook_create(); funchook_prepare(m_hook, (void**)&m_pFireOutputInternal, (void*)&DetourFireOutputInternal); funchook_install(m_hook, 0); diff --git a/src/mm_plugin.cpp b/src/mm_plugin.cpp index b1005159c..46f381e08 100644 --- a/src/mm_plugin.cpp +++ b/src/mm_plugin.cpp @@ -16,6 +16,7 @@ #include +#include "core/detours.h" #include "core/coreconfig.h" #include "core/game_system.h" #include "core/gameconfig.h" @@ -244,6 +245,11 @@ void CounterStrikeSharpMMPlugin::AllPluginsLoaded() */ on_metamod_all_plugins_loaded_callback->ScriptContext().Reset(); on_metamod_all_plugins_loaded_callback->Execute(); + + if (globals::entityManager.Func_OnTakeDamage) + { + globals::entityManager.Func_OnTakeDamage->AddHook(&OnTakeDamageProxy); + } } void CounterStrikeSharpMMPlugin::Hook_GameFrame(bool simulating, bool bFirstTick, bool bLastTick)