2024-10-06 22:45:39 +03:00
|
|
|
void* Original_Process_Movement_Caller;
|
|
|
|
|
|
|
|
void __thiscall Redirected_Process_Movement(void* Unknown_Parameter, void* Player, void* Move_Data)
|
|
|
|
{
|
2024-10-21 06:13:28 +03:00
|
|
|
if (*(__int32*)((unsigned __int32)Player + 5324) < 0)
|
2024-10-06 22:45:39 +03:00
|
|
|
{
|
|
|
|
*(__int32*)((unsigned __int32)Move_Data + 36) &= ~1564;
|
|
|
|
|
2024-10-21 06:13:28 +03:00
|
|
|
*(__int32*)((unsigned __int32)Move_Data + 36) |= 4 * *(__int8*)((unsigned __int32)Player + 4636);
|
2024-10-06 22:45:39 +03:00
|
|
|
|
2024-11-01 16:43:34 +03:00
|
|
|
*(double*)((unsigned __int32)Move_Data + 44) = 0.;
|
2024-10-06 22:45:39 +03:00
|
|
|
}
|
2024-10-21 06:13:28 +03:00
|
|
|
|
|
|
|
(decltype(&Redirected_Process_Movement)(Original_Process_Movement_Caller))(Unknown_Parameter, Player, Move_Data);
|
2024-10-28 10:33:10 +03:00
|
|
|
|
2024-12-22 14:35:23 +03:00
|
|
|
if (Get_Identifier(Player, 0, 0) == 272)
|
2024-10-28 10:33:10 +03:00
|
|
|
{
|
2024-12-22 14:35:23 +03:00
|
|
|
void* Ability = *(void**)((unsigned __int32)Client_Module + 7644532 + (((*(unsigned __int32*)((unsigned __int32)Player + 7892) & 4095) - 4097) << 4));
|
|
|
|
|
|
|
|
if (Ability != nullptr)
|
|
|
|
{
|
|
|
|
*(float*)((unsigned __int32)Ability + 1636) = 0.f;
|
|
|
|
}
|
2024-10-28 10:33:10 +03:00
|
|
|
}
|
2024-10-06 22:45:39 +03:00
|
|
|
}
|