@@ -72,9 +72,9 @@ FunctionHook CGameRules_TerminateRound("CGameRules_TerminateRound", dyno::Callba
7272dyno::ReturnAction Hook_CEntityIdentity_AcceptInput (dyno::CallbackType type, dyno::IHook& hook)
7373{
7474 ClassData data ({ { " plugin_name" , std::string (" core" ) } }, " Event" , nullptr );
75- ClassData* ThisPlayer = new ClassData ({ { " should_mark_freeable " , true }, { " class_name" , std::string (" CEntityInstance" ) }, { " class_ptr" , (void *)(hook.getArgument <CEntityIdentity*>(0 )->m_pInstance ) } }, " SDKClass" , nullptr );
76- ClassData* Activator = new ClassData ({ { " should_mark_freeable " , true }, { " class_name" , std::string (" CEntityInstance" ) }, { " class_ptr" , (void *)(hook.getArgument <CEntityInstance*>(2 )) } }, " SDKClass" , nullptr );
77- ClassData* Caller = new ClassData ({ { " should_mark_freeable " , true }, { " class_name" , std::string (" CEntityInstance" ) }, { " class_ptr" , (void *)(hook.getArgument <CEntityInstance*>(3 )) } }, " SDKClass" , nullptr );
75+ ClassData* ThisPlayer = new ClassData ({ { " class_name" , std::string (" CEntityInstance" ) }, { " class_ptr" , (void *)(hook.getArgument <CEntityIdentity*>(0 )->m_pInstance ) } }, " SDKClass" , nullptr );
76+ ClassData* Activator = new ClassData ({ { " class_name" , std::string (" CEntityInstance" ) }, { " class_ptr" , (void *)(hook.getArgument <CEntityInstance*>(2 )) } }, " SDKClass" , nullptr );
77+ ClassData* Caller = new ClassData ({ { " class_name" , std::string (" CEntityInstance" ) }, { " class_ptr" , (void *)(hook.getArgument <CEntityInstance*>(3 )) } }, " SDKClass" , nullptr );
7878
7979 g_pluginManager.ExecuteEvent (" core" , " OnEntityAcceptInput" , { ThisPlayer, hook.getArgument <CUtlSymbolLarge*>(1 )->String (), Activator, Caller, hook.getArgument <variant_t *>(4 )->ToString (), hook.getArgument <int >(5 ) }, &data);
8080
@@ -88,6 +88,10 @@ dyno::ReturnAction Hook_CEntityIdentity_AcceptInput(dyno::CallbackType type, dyn
8888 response = true ;
8989 }
9090
91+ delete ThisPlayer;
92+ delete Activator;
93+ delete Caller;
94+
9195 if (!response) return dyno::ReturnAction::Supercede;
9296
9397 return dyno::ReturnAction::Ignored;
@@ -114,9 +118,9 @@ dyno::ReturnAction Hook_CBaseEntity_TakeDamage(dyno::CallbackType type, dyno::IH
114118 }
115119
116120 ClassData data ({ { " plugin_name" , std::string (" core" ) } }, " Event" , nullptr );
117- ClassData* damageinfo = new ClassData ({ { " should_mark_freeable " , true }, { " class_name" , std::string (" CTakeDamageInfo" ) }, { " class_ptr" , (void *)info } }, " SDKClass" , nullptr );
118- ClassData* Inflictor = new ClassData ({ { " should_mark_freeable " , true }, { " class_name" , std::string (" CBaseEntity" ) }, { " class_ptr" , (void *)(info->m_hInflictor .Get ()) } }, " SDKClass" , nullptr );
119- ClassData* Ability = new ClassData ({ { " should_mark_freeable " , true }, { " class_name" , std::string (" CBaseEntity" ) }, { " class_ptr" , (void *)(info->m_hAbility .Get ()) } }, " SDKClass" , nullptr );
121+ ClassData* damageinfo = new ClassData ({ { " class_name" , std::string (" CTakeDamageInfo" ) }, { " class_ptr" , (void *)info } }, " SDKClass" , nullptr );
122+ ClassData* Inflictor = new ClassData ({ { " class_name" , std::string (" CBaseEntity" ) }, { " class_ptr" , (void *)(info->m_hInflictor .Get ()) } }, " SDKClass" , nullptr );
123+ ClassData* Ability = new ClassData ({ { " class_name" , std::string (" CBaseEntity" ) }, { " class_ptr" , (void *)(info->m_hAbility .Get ()) } }, " SDKClass" , nullptr );
120124
121125 g_pluginManager.ExecuteEvent (" core" , " OnPlayerDamage" , { playerid, attackerid, damageinfo, Inflictor, Ability }, &data);
122126
@@ -130,6 +134,10 @@ dyno::ReturnAction Hook_CBaseEntity_TakeDamage(dyno::CallbackType type, dyno::IH
130134 response = true ;
131135 }
132136
137+ delete damageinfo;
138+ delete Inflictor;
139+ delete Ability;
140+
133141 if (!response) return dyno::ReturnAction::Supercede;
134142
135143 return dyno::ReturnAction::Ignored;
0 commit comments