Advertisement
Guest User

Untitled

a guest
Oct 31st, 2019
479
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.22 KB | None | 0 0
  1. BOOL __stdcall CalcDamage::CheckMDamageMiss(MobStat *ms, CharacterData *cd, BasicStat *bs, SecondaryStat *ss, unsigned int nRandForMissCheck)
  2. {
  3.   int v5; // eax@1
  4.   signed int v6; // ecx@3
  5.   int v7; // edx@5
  6.   long double v8; // st7@9
  7.   char v10; // c0@9
  8.   char v11; // c3@9
  9.   long double v12; // st7@12
  10.   int v13; // eax@13
  11.   long double a; // [sp+0h] [bp-10h]@9
  12.   long double b; // [sp+8h] [bp-8h]@9
  13.   int nMobACC; // [sp+24h] [bp+14h]@7
  14.   int nMobACCa; // [sp+24h] [bp+14h]@15
  15.  
  16.   v5 = ss->nEVA + ss->nEVA_;
  17.   if ( v5 <= 0 )
  18.     v5 = 0;
  19.   v6 = v5;
  20.   if ( v5 >= 999 )
  21.     v6 = 999;
  22.   v7 = bs->nLevel;
  23.   if ( v7 >= ms->nLevel || (v6 -= (ms->nLevel - v7) / 2, v6 > 0) )
  24.     nMobACC = v6;
  25.   else
  26.     nMobACC = 0;
  27.   v8 = (double)nMobACC;
  28.   b = v8 * 0.1;
  29.   a = v8;
  30.   if ( v10 != 0 || v11 != 0 )
  31.   {
  32.     if ( v8 == b )
  33.       goto LABEL_13;
  34.   }
  35.   else
  36.   {
  37.     zswap(&a, &b);
  38.   }
  39.   v12 = b - a;
  40.   *(_QWORD *)&b = nRandForMissCheck % 10000000; // RNG between 0-9999999
  41.   v8 = v12 * (double)*(signed __int64 *)&b * 0.000000100000010000001 + a;
  42. LABEL_13:
  43.   v13 = ms->nACC + ms->nACC_;
  44.   if ( v13 <= 0 )
  45.     v13 = 0;
  46.   nMobACCa = v13;
  47.   if ( v13 >= 999 )
  48.     nMobACCa = 999;
  49.   return v8 >= (double)nMobACCa;
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement