Example #1
0
 private static void gmBoss1EffBombUpdateCreate(AppMain.GMS_BOSS1_EFF_BOMB_WORK bomb_work)
 {
     AppMain.MTM_ASSERT((object)bomb_work.parent_obj);
     if (bomb_work.interval_timer != 0U)
     {
         --bomb_work.interval_timer;
     }
     else
     {
         int v2_1 = bomb_work.area[0];
         int v2_2 = bomb_work.area[1];
         int num1 = AppMain.FX_Mul(AppMain.AkMathRandFx(), v2_1);
         int num2 = AppMain.FX_Mul(AppMain.AkMathRandFx(), v2_2);
         if (bomb_work.bomb_type == 0)
         {
             AppMain.GMS_EFFECT_3DES_WORK gmsEffect3DesWork = AppMain.GmEfctCmnEsCreate((AppMain.OBS_OBJECT_WORK)null, 7);
             if (--bomb_work.interval_timer_sound <= 0)
             {
                 bomb_work.interval_timer_sound = 3;
                 AppMain.GmSoundPlaySE("Boss0_02");
             }
             AppMain.OBS_OBJECT_WORK obsObjectWork = AppMain.GMM_BS_OBJ((object)gmsEffect3DesWork);
             AppMain.MTM_ASSERT((object)obsObjectWork);
             obsObjectWork.pos.x = bomb_work.pos[0] - (v2_1 >> 1) + num1;
             obsObjectWork.pos.y = bomb_work.pos[1] - (v2_2 >> 1) + num2;
             obsObjectWork.pos.z = AppMain.GMM_BS_OBJ((object)bomb_work.parent_obj).pos.z + 131072;
             uint num3 = (uint)((long)AppMain.AkMathRandFx() * (long)(bomb_work.interval_max - bomb_work.interval_min) >> 12);
             bomb_work.interval_timer = bomb_work.interval_min + num3;
         }
         else
         {
             AppMain.MTM_ASSERT(false);
         }
     }
 }
Example #2
0
 private static void gmBoss1EffBombInitCreate(
     AppMain.GMS_BOSS1_EFF_BOMB_WORK bomb_work,
     int bomb_type,
     AppMain.OBS_OBJECT_WORK parent_obj,
     int pos_x,
     int pos_y,
     int width,
     int height,
     uint interval_min,
     uint interval_max)
 {
     AppMain.MTM_ASSERT((object)bomb_work);
     AppMain.MTM_ASSERT((object)parent_obj);
     bomb_work.parent_obj           = parent_obj;
     bomb_work.bomb_type            = bomb_type;
     bomb_work.interval_timer       = 0U;
     bomb_work.interval_min         = interval_min;
     bomb_work.interval_max         = interval_max;
     bomb_work.pos[0]               = pos_x;
     bomb_work.pos[1]               = pos_y;
     bomb_work.area[0]              = width;
     bomb_work.area[1]              = height;
     bomb_work.interval_timer_sound = 0;
 }