Advertisement
Kaphotics

generate SOS intruder

Mar 28th, 2017
2,278
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.15 KB | None | 0 0
  1. signed int __fastcall sub_6FFBD4(int a1, pml::pokepara::CoreParam *a2, int a3)
  2. {
  3.   int v3; // r5@1
  4.   pml::pokepara::CoreParam *v4; // r6@1
  5.   int *v5; // r0@1
  6.   int v6; // r0@2
  7.   int v7; // r3@2
  8.   int v8; // r0@2
  9.   int v9; // r0@2
  10.   int v10; // r0@2
  11.   unsigned int v11; // r0@3
  12.   unsigned int v12; // r4@4
  13.   unsigned __int8 v13; // r0@13
  14.   unsigned int v14; // r1@14
  15.   unsigned int v15; // r0@14
  16.   bool v16; // cf@14
  17.   unsigned int v17; // r0@17
  18.   signed int result; // r0@25
  19.  
  20.   v3 = a1;
  21.   v4 = a2;
  22.   sub_765850(*(a1 + 4), a3, 0);
  23.   v5 = sub_7621F0(*(v3 + 8));
  24.   if ( v5
  25.     && (v6 = *v5,
  26.         v7 = *(v3 + 12),
  27.         Field::Encount::PokeSet::CheckEffectApplyIntruder(),
  28.         v8 = *(v3 + 2521),
  29.         v9 = *(v3 + 12),
  30.         Field::Encount::PokeSet::SetupLotteryIntruderPokeParam(),
  31.         v10) )
  32.   {
  33.     v11 = *(v3 + 2521);
  34.     if ( v11 >= 5 )                             // get flawless IV count
  35.     {
  36.       if ( v11 >= 10 )
  37.       {
  38.         if ( v11 >= 20 )
  39.         {
  40.           if ( v11 >= 30 )
  41.             v12 = 4;
  42.           else
  43.             v12 = 3;
  44.         }
  45.         else
  46.         {
  47.           v12 = 2;
  48.         }
  49.       }
  50.       else
  51.       {
  52.         v12 = 1;
  53.       }
  54.     }
  55.     else
  56.     {
  57.       v12 = 0;
  58.     }
  59.     while ( pml::pokepara::CoreParam::GetTalentPowerMaxNum(v4) < v12 )
  60.     {
  61.       v13 = gfl2::math::SFMTRandom::Next((v3 + 16), 6u);
  62.       pml::pokepara::CoreParam::ChangeTalentPower(v4, v13, 31);
  63.     }
  64.     v14 = gfl2::math::SFMTRandom::Next((v3 + 16), 100u);
  65.     v15 = *(v3 + 2521);
  66.     v16 = v15 >= 5;
  67.     if ( v15 >= 5 )
  68.       v16 = v15 >= 10;
  69.     if ( v16 )                                  // get hidden power rate
  70.     {
  71.       if ( v15 >= 20 )
  72.       {
  73.         if ( v15 >= 30 )
  74.           v17 = 15;
  75.         else
  76.           v17 = 10;
  77.       }
  78.       else
  79.       {
  80.         v17 = 5;
  81.       }
  82.     }
  83.     else
  84.     {
  85.       v17 = 0;
  86.     }
  87.     if ( v14 < v17 )                            // rand(100) < rate
  88.       pml::pokepara::CoreParam::SetTokuseiIndex(v4, 2u);// hidden abil
  89.     result = 1;                                 // pkm generated
  90.   }
  91.   else
  92.   {
  93.     result = 0;
  94.   }
  95.   return result;
  96. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement