Цитата:
Лишнее.
- Код: Выделить всё
int __stdcall mirthMoraleBonus(LoHook* h, HookContext* c)
{
int cmAddr = *(int*)0x699420;
int monSide = *(int*)(c->edi + 244);
int heroOffset = *(int*)(cmAddr + monSide * 4 + 0x53CC);
char lvlWaterMagic = heroOffset ? *(char*)(heroOffset + 201 + 16) : 0;
if ( *(int*)(c->edi + 408 + 49 * 4) )
{
int k[] = {4, 5, 6, 8};
unsigned int dice;
rand_s(&dice);
dice = (unsigned int)((double)dice / ((double)UINT_MAX + 1) * 96.0) + 1;
c->flags.ZF = (int)dice <= k[lvlWaterMagic] * *(int*)c->ebx ? 1 : 0;
}
return EXEC_DEFAULT;
}
dice - положительное число, поэтому заведомо больше любого отрицательного.