I need to know this aswell for something cool im coding
I only have this but i don't understand it.
signed int __thiscall CChar::CheckHit(void *Attacker, int pTarget, int a3)
{
signed int result; // eax@2
int v4; // esi@6
signed int v5; // [sp+4h] [bp-30h]@16
int v6; // [sp+18h] [bp-1Ch]@4
int pAttacker; // [sp+24h] [bp-10h]@1
int v8; // [sp+28h] [bp-Ch]@6
int v9; // [sp+2Ch] [bp-8h]@3
pAttacker = (int)Attacker;
if ( CChar::IsMState((int)Attacker, 0x2000000i64) )
{
result = 1;
}
else
{
v9 = *(_DWORD *)(pAttacker + 60) - *(_DWORD *)(pTarget + 60);// Attacker Level - Target Level
if ( v9 < 0 )
v6 = -dword_4D8130[abs(v9)];
else
v6 = dword_4D8130[v9];
v4 = CChar::GetHit(pAttacker); // Get OTP
v8 = a3 + v6 + v4 - CChar::GetDodge(pTarget);// Get Evasion + Calc Hit
if ( (*(int (__thiscall **)(int))(*(_DWORD *)pTarget + 64))(pTarget) )
{
if ( CChar::IsBState(pAttacker, 0x4000i64) )
{
v8 += 10;
}
else if ( CChar::IsBState(pAttacker, 0x20000000i64) )
{
v8 += 5;
}
}
if ( v8 <= 41 )
{
if ( v8 < -41 )
v8 = -41;
}
else
{
v8 = 41;
}
if ( v8 < 0 )
v5 = 100 - dword_4D82C8[abs(v8)];
else
v5 = dword_4D82C8[v8];
result = v5 >= sub_406E10(1, 100);
}
return result;
}