Example #1
0
 // Token: 0x06000FD9 RID: 4057 RVA: 0x0008A5AC File Offset: 0x000887AC
 private static AppMain.OBS_OBJECT_WORK GmGmkRockChaseManagerInit(AppMain.GMS_EVE_RECORD_EVENT eve_rec, int pos_x, int pos_y, byte type)
 {
     AppMain.OBS_OBJECT_WORK         obs_OBJECT_WORK         = AppMain.GmGmkRockHookInit(eve_rec, pos_x, pos_y, type);
     AppMain.GMS_ENEMY_3D_WORK       hook_work               = (AppMain.GMS_ENEMY_3D_WORK)obs_OBJECT_WORK;
     AppMain.OBS_OBJECT_WORK         work                    = AppMain.GmEventMgrLocalEventBirth(307, pos_x, pos_y, eve_rec.flag, eve_rec.left, eve_rec.top, eve_rec.width, eve_rec.height, 0);
     AppMain.GMS_GMK_ROCK_CHASE_WORK gms_GMK_ROCK_CHASE_WORK = (AppMain.GMS_GMK_ROCK_CHASE_WORK)work;
     gms_GMK_ROCK_CHASE_WORK.hook_work = hook_work;
     return(obs_OBJECT_WORK);
 }
Example #2
0
 // Token: 0x06000FDD RID: 4061 RVA: 0x0008A798 File Offset: 0x00088998
 private static AppMain.OBS_OBJECT_WORK GmGmkRockChaseInit(AppMain.GMS_EVE_RECORD_EVENT eve_rec, int pos_x, int pos_y, byte type)
 {
     AppMain.GMS_GMK_ROCK_CHASE_WORK gms_GMK_ROCK_CHASE_WORK = (AppMain.GMS_GMK_ROCK_CHASE_WORK)AppMain.gmGmkRockLoadObj(eve_rec, pos_x, pos_y, type, () => new AppMain.GMS_GMK_ROCK_CHASE_WORK());
     AppMain.OBS_OBJECT_WORK         obj_work = gms_GMK_ROCK_CHASE_WORK.enemy_work.ene_com.obj_work;
     AppMain.gmGmkRockChaseInit(obj_work);
     AppMain.gmGmkRockChaseSetLength(gms_GMK_ROCK_CHASE_WORK, ( int )(eve_rec.left * 2) * 4096);
     AppMain.gmGmkRockChaseSetSpeed(gms_GMK_ROCK_CHASE_WORK, ( int )(eve_rec.top * 2) * 4096);
     return(obj_work);
 }
Example #3
0
 private static void gmGmkRockChaseTcbDest(AppMain.MTS_TASK_TCB tcb)
 {
     AppMain.GMS_GMK_ROCK_CHASE_WORK tcbWork = (AppMain.GMS_GMK_ROCK_CHASE_WORK)AppMain.mtTaskGetTcbWork(tcb);
     if (tcbWork.se_handle != null)
     {
         AppMain.GmSoundStopSE(tcbWork.se_handle);
         AppMain.GsSoundFreeSeHandle(tcbWork.se_handle);
         tcbWork.se_handle = (AppMain.GSS_SND_SE_HANDLE)null;
     }
     AppMain.GmEnemyDefaultExit(tcb);
 }
Example #4
0
 // Token: 0x06000FE6 RID: 4070 RVA: 0x0008AAC8 File Offset: 0x00088CC8
 private static void gmGmkRockChaseTcbDest(MTS_TASK_TCB tcb)
 {
     AppMain.GMS_GMK_ROCK_CHASE_WORK gms_GMK_ROCK_CHASE_WORK = (AppMain.GMS_GMK_ROCK_CHASE_WORK)AppMain.mtTaskGetTcbWork(tcb);
     if (gms_GMK_ROCK_CHASE_WORK.se_handle != null)
     {
         GsSound.StopSE(gms_GMK_ROCK_CHASE_WORK.se_handle);
         GsSound.FreeSeHandle(gms_GMK_ROCK_CHASE_WORK.se_handle);
         gms_GMK_ROCK_CHASE_WORK.se_handle = null;
     }
     AppMain.GmEnemyDefaultExit(tcb);
 }
Example #5
0
 // Token: 0x06000FED RID: 4077 RVA: 0x0008AEB0 File Offset: 0x000890B0
 private static void gmGmkRockChaseChangeModeEnd(OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_GMK_ROCK_CHASE_WORK gms_GMK_ROCK_CHASE_WORK = (AppMain.GMS_GMK_ROCK_CHASE_WORK)obj_work;
     if (gms_GMK_ROCK_CHASE_WORK.flag_vib)
     {
         AppMain.GMM_PAD_VIB_STOP();
         gms_GMK_ROCK_CHASE_WORK.flag_vib = false;
     }
     obj_work.flag      &= 4294967279U;
     obj_work.move_flag |= 256U;
     obj_work.ppFunc     = null;
 }
Example #6
0
 // Token: 0x06000FE7 RID: 4071 RVA: 0x0008AB0C File Offset: 0x00088D0C
 private static void gmGmkRockWaitDefFunc(AppMain.OBS_RECT_WORK own_rect, AppMain.OBS_RECT_WORK target_rect)
 {
     AppMain.OBS_OBJECT_WORK         parent_obj = own_rect.parent_obj;
     AppMain.GMS_GMK_ROCK_CHASE_WORK gms_GMK_ROCK_CHASE_WORK = (AppMain.GMS_GMK_ROCK_CHASE_WORK)parent_obj;
     AppMain.OBS_OBJECT_WORK         obj_work = (AppMain.OBS_OBJECT_WORK)gms_GMK_ROCK_CHASE_WORK.hook_work;
     AppMain.gmGmkRockHookkChangeModeActive(obj_work);
     gms_GMK_ROCK_CHASE_WORK.hook_work = null;
     AppMain.GMS_EFFECT_3DES_WORK gms_EFFECT_3DES_WORK = AppMain.GmEfctZoneEsCreate(parent_obj, 2, 32);
     gms_EFFECT_3DES_WORK.efct_com.obj_work.ppFunc        = null;
     gms_EFFECT_3DES_WORK.efct_com.obj_work.pos.z         = 131072;
     gms_EFFECT_3DES_WORK.efct_com.obj_work.parent_ofst.y = 204800;
     AppMain.gmGmkRockChaseChangeModeFall(parent_obj);
 }
Example #7
0
 private static AppMain.OBS_OBJECT_WORK GmGmkRockChaseInit(
     AppMain.GMS_EVE_RECORD_EVENT eve_rec,
     int pos_x,
     int pos_y,
     byte type)
 {
     AppMain.GMS_GMK_ROCK_CHASE_WORK rock_work = (AppMain.GMS_GMK_ROCK_CHASE_WORK)AppMain.gmGmkRockLoadObj(eve_rec, pos_x, pos_y, type, (AppMain.TaskWorkFactoryDelegate)(() => (object)new AppMain.GMS_GMK_ROCK_CHASE_WORK()));
     AppMain.OBS_OBJECT_WORK         objWork   = rock_work.enemy_work.ene_com.obj_work;
     AppMain.gmGmkRockChaseInit(objWork);
     AppMain.gmGmkRockChaseSetLength(rock_work, (int)eve_rec.left * 2 * 4096);
     AppMain.gmGmkRockChaseSetSpeed(rock_work, (int)eve_rec.top * 2 * 4096);
     return(objWork);
 }
Example #8
0
    private static void gmGmkRockChaseDrawFunc(AppMain.OBS_OBJECT_WORK obj_work)
    {
        AppMain.GMS_GMK_ROCK_CHASE_WORK rock_work = (AppMain.GMS_GMK_ROCK_CHASE_WORK)obj_work;
        AppMain.VecU16 vecU16 = new AppMain.VecU16(obj_work.dir);
        ushort         angleZ = AppMain.gmGmkRockChaseGetAngleZ(rock_work);

        obj_work.dir.z = obj_work.spd_m >= 0 ? angleZ : angleZ;
        ushort userWork = (ushort)obj_work.user_work;

        obj_work.dir.x  = userWork;
        obj_work.pos.y += rock_work.current_bound;
        AppMain.ObjDrawActionSummary(obj_work);
        AppMain.ObjDrawActionSummary(obj_work);
        obj_work.dir.Assign(vecU16);
        obj_work.pos.y -= rock_work.current_bound;
    }
Example #9
0
 private static void gmGmkRockChaseChangeModeChase(AppMain.OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_GMK_ROCK_CHASE_WORK rock_work = (AppMain.GMS_GMK_ROCK_CHASE_WORK)obj_work;
     obj_work.spd_m = 0;
     obj_work.spd.x = 0;
     obj_work.spd.y = 0;
     AppMain.gmGmkRockChaseSetDirType(rock_work, 0U);
     obj_work.ppFunc = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmGmkRockChaseMainChase);
     if (rock_work.effect_work == null)
     {
         AppMain.GMS_EFFECT_3DES_WORK gmsEffect3DesWork = AppMain.GmEfctZoneEsCreate(obj_work, 2, 24);
         gmsEffect3DesWork.efct_com.obj_work.ppFunc        = (AppMain.MPP_VOID_OBS_OBJECT_WORK)null;
         gmsEffect3DesWork.efct_com.obj_work.pos.z         = 131072;
         gmsEffect3DesWork.efct_com.obj_work.parent_ofst.y = 204800;
         rock_work.effect_work = gmsEffect3DesWork;
     }
     AppMain.GmSoundPlaySE("BigRock2", rock_work.se_handle);
 }
Example #10
0
 // Token: 0x06000FEC RID: 4076 RVA: 0x0008ADF4 File Offset: 0x00088FF4
 private static void gmGmkRockChaseChangeModeChase(OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_GMK_ROCK_CHASE_WORK gms_GMK_ROCK_CHASE_WORK = (AppMain.GMS_GMK_ROCK_CHASE_WORK)obj_work;
     obj_work.spd_m = 0;
     obj_work.spd.x = 0;
     obj_work.spd.y = 0;
     AppMain.gmGmkRockChaseSetDirType(gms_GMK_ROCK_CHASE_WORK, 0U);
     obj_work.ppFunc = AppMain.gmGmkRockChaseMainChase;
     if (gms_GMK_ROCK_CHASE_WORK.effect_work == null)
     {
         AppMain.GMS_EFFECT_3DES_WORK gms_EFFECT_3DES_WORK = AppMain.GmEfctZoneEsCreate(obj_work, 2, 24);
         gms_EFFECT_3DES_WORK.efct_com.obj_work.ppFunc        = null;
         gms_EFFECT_3DES_WORK.efct_com.obj_work.pos.z         = 131072;
         gms_EFFECT_3DES_WORK.efct_com.obj_work.parent_ofst.y = 204800;
         gms_GMK_ROCK_CHASE_WORK.effect_work = gms_EFFECT_3DES_WORK;
     }
     GmSound.PlaySE("BigRock2", gms_GMK_ROCK_CHASE_WORK.se_handle);
 }
Example #11
0
    // Token: 0x06000FEA RID: 4074 RVA: 0x0008AC68 File Offset: 0x00088E68
    private static void gmGmkRockChaseInit(OBS_OBJECT_WORK obj_work)
    {
        AppMain.GMS_ENEMY_3D_WORK gms_ENEMY_3D_WORK = (AppMain.GMS_ENEMY_3D_WORK)obj_work;
        AppMain.gmGmkRockSetRectWait(gms_ENEMY_3D_WORK);
        AppMain.ObjObjectFieldRectSet(obj_work, -28, -28, 28, 42);
        obj_work.disp_flag |= 4194304U;
        gms_ENEMY_3D_WORK.ene_com.target_obj = AppMain.g_gm_main_system.ply_work[( int )(( UIntPtr )0)].obj_work;
        obj_work.pos.z = -131072;
        AppMain.GMS_GMK_ROCK_CHASE_WORK gms_GMK_ROCK_CHASE_WORK = (AppMain.GMS_GMK_ROCK_CHASE_WORK)obj_work;
        ushort angle_z = AppMain.mtMathRand();

        AppMain.gmGmkRockChaseSetAngleZ(gms_GMK_ROCK_CHASE_WORK, angle_z);
        obj_work.user_work = ( uint )AppMain.mtMathRand();
        gms_GMK_ROCK_CHASE_WORK.se_handle = GsSound.AllocSeHandle();
        obj_work.ppFunc = null;
        obj_work.ppMove = AppMain.gmGmkRockMoveFunc;
        obj_work.ppOut  = AppMain.gmGmkRockChaseDrawFunc;
        AppMain.mtTaskChangeTcbDestructor(obj_work.tcb, AppMain.gmGmkRockChaseTcbDest);
    }
Example #12
0
    private static void gmGmkRockChaseInit(AppMain.OBS_OBJECT_WORK obj_work)
    {
        AppMain.GMS_ENEMY_3D_WORK gimmick_work = (AppMain.GMS_ENEMY_3D_WORK)obj_work;
        AppMain.gmGmkRockSetRectWait(gimmick_work);
        AppMain.ObjObjectFieldRectSet(obj_work, (short)-28, (short)-28, (short)28, (short)42);
        obj_work.disp_flag |= 4194304U;
        gimmick_work.ene_com.target_obj = AppMain.g_gm_main_system.ply_work[0].obj_work;
        obj_work.pos.z = -131072;
        AppMain.GMS_GMK_ROCK_CHASE_WORK rock_work = (AppMain.GMS_GMK_ROCK_CHASE_WORK)obj_work;
        ushort angle_z = AppMain.mtMathRand();

        AppMain.gmGmkRockChaseSetAngleZ(rock_work, angle_z);
        obj_work.user_work  = (uint)AppMain.mtMathRand();
        rock_work.se_handle = AppMain.GsSoundAllocSeHandle();
        obj_work.ppFunc     = (AppMain.MPP_VOID_OBS_OBJECT_WORK)null;
        obj_work.ppMove     = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmGmkRockMoveFunc);
        obj_work.ppOut      = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmGmkRockChaseDrawFunc);
        AppMain.mtTaskChangeTcbDestructor(obj_work.tcb, new AppMain.GSF_TASK_PROCEDURE(AppMain.gmGmkRockChaseTcbDest));
    }
Example #13
0
 private static void gmGmkRockChaseChangeModeFall(AppMain.OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_GMK_ROCK_CHASE_WORK gmkRockChaseWork = (AppMain.GMS_GMK_ROCK_CHASE_WORK)obj_work;
     AppMain.gmGmkRockSetRectActive((AppMain.GMS_ENEMY_3D_WORK)obj_work);
     obj_work.spd_m      = 0;
     obj_work.spd.x      = 0;
     obj_work.spd.y      = 0;
     obj_work.dir.z      = (ushort)0;
     obj_work.flag      |= 16U;
     obj_work.move_flag |= 192U;
     obj_work.move_flag &= 4294443007U;
     if (gmkRockChaseWork.se_handle != null)
     {
         AppMain.GmSoundStopSE(gmkRockChaseWork.se_handle);
     }
     if (gmkRockChaseWork.flag_vib)
     {
         AppMain.GMM_PAD_VIB_STOP();
         gmkRockChaseWork.flag_vib = false;
     }
     obj_work.ppFunc = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmGmkRockChaseMainFall);
 }
Example #14
0
    // Token: 0x06000FE5 RID: 4069 RVA: 0x0008AA20 File Offset: 0x00088C20
    private static void gmGmkRockChaseDrawFunc(OBS_OBJECT_WORK obj_work)
    {
        AppMain.GMS_GMK_ROCK_CHASE_WORK gms_GMK_ROCK_CHASE_WORK = (AppMain.GMS_GMK_ROCK_CHASE_WORK)obj_work;
        AppMain.VecU16 vecU = new AppMain.VecU16(obj_work.dir);
        ushort         z    = AppMain.gmGmkRockChaseGetAngleZ(gms_GMK_ROCK_CHASE_WORK);

        if (obj_work.spd_m < 0)
        {
            obj_work.dir.z = z;
        }
        else
        {
            obj_work.dir.z = z;
        }
        ushort x = (ushort)obj_work.user_work;

        obj_work.dir.x = x;
        obj_work.pos.y = obj_work.pos.y + gms_GMK_ROCK_CHASE_WORK.current_bound;
        AppMain.ObjDrawActionSummary(obj_work);
        AppMain.ObjDrawActionSummary(obj_work);
        obj_work.dir.Assign(vecU);
        obj_work.pos.y = obj_work.pos.y - gms_GMK_ROCK_CHASE_WORK.current_bound;
    }
Example #15
0
 // Token: 0x06000FEB RID: 4075 RVA: 0x0008AD3C File Offset: 0x00088F3C
 private static void gmGmkRockChaseChangeModeFall(OBS_OBJECT_WORK obj_work)
 {
     AppMain.GMS_GMK_ROCK_CHASE_WORK gms_GMK_ROCK_CHASE_WORK = (AppMain.GMS_GMK_ROCK_CHASE_WORK)obj_work;
     AppMain.GMS_ENEMY_3D_WORK       gimmick_work            = (AppMain.GMS_ENEMY_3D_WORK)obj_work;
     AppMain.gmGmkRockSetRectActive(gimmick_work);
     obj_work.spd_m      = 0;
     obj_work.spd.x      = 0;
     obj_work.spd.y      = 0;
     obj_work.dir.z      = 0;
     obj_work.flag      |= 16U;
     obj_work.move_flag |= 192U;
     obj_work.move_flag &= 4294443007U;
     if (gms_GMK_ROCK_CHASE_WORK.se_handle != null)
     {
         GsSound.StopSE(gms_GMK_ROCK_CHASE_WORK.se_handle);
     }
     if (gms_GMK_ROCK_CHASE_WORK.flag_vib)
     {
         AppMain.GMM_PAD_VIB_STOP();
         gms_GMK_ROCK_CHASE_WORK.flag_vib = false;
     }
     obj_work.ppFunc = AppMain.gmGmkRockChaseMainFall;
 }
Example #16
0
 // Token: 0x06001002 RID: 4098 RVA: 0x0008B741 File Offset: 0x00089941
 private static void gmGmkRockChaseSetDirType(AppMain.GMS_GMK_ROCK_CHASE_WORK rock_work, uint type)
 {
     rock_work.dir_type = type;
 }
Example #17
0
 // Token: 0x06001003 RID: 4099 RVA: 0x0008B74A File Offset: 0x0008994A
 private static uint gmGmkRockChaseGetDirType(AppMain.GMS_GMK_ROCK_CHASE_WORK rock_work)
 {
     return(rock_work.dir_type);
 }
Example #18
0
 // Token: 0x06001000 RID: 4096 RVA: 0x0008B728 File Offset: 0x00089928
 private static void gmGmkRockChaseAddAngleZ(AppMain.GMS_GMK_ROCK_CHASE_WORK rock_work, short angle_z)
 {
     rock_work.angle_z += ( ushort )angle_z;
 }
Example #19
0
 // Token: 0x06001001 RID: 4097 RVA: 0x0008B739 File Offset: 0x00089939
 private static ushort gmGmkRockChaseGetAngleZ(AppMain.GMS_GMK_ROCK_CHASE_WORK rock_work)
 {
     return(rock_work.angle_z);
 }
Example #20
0
 // Token: 0x06000FFE RID: 4094 RVA: 0x0008B717 File Offset: 0x00089917
 private static int gmGmkRockChaseGetSpeed(AppMain.GMS_GMK_ROCK_CHASE_WORK rock_work)
 {
     return(rock_work.speed);
 }
Example #21
0
 // Token: 0x06000FFF RID: 4095 RVA: 0x0008B71F File Offset: 0x0008991F
 private static void gmGmkRockChaseSetAngleZ(AppMain.GMS_GMK_ROCK_CHASE_WORK rock_work, ushort angle_z)
 {
     rock_work.angle_z = angle_z;
 }
Example #22
0
 // Token: 0x06000FFD RID: 4093 RVA: 0x0008B70E File Offset: 0x0008990E
 private static void gmGmkRockChaseSetSpeed(AppMain.GMS_GMK_ROCK_CHASE_WORK rock_work, int speed)
 {
     rock_work.speed = speed;
 }
Example #23
0
 // Token: 0x06000FFC RID: 4092 RVA: 0x0008B706 File Offset: 0x00089906
 private static int gmGmkRockChaseGetLength(AppMain.GMS_GMK_ROCK_CHASE_WORK rock_work)
 {
     return(rock_work.length);
 }
Example #24
0
 // Token: 0x06000FFB RID: 4091 RVA: 0x0008B6FD File Offset: 0x000898FD
 private static void gmGmkRockChaseSetLength(AppMain.GMS_GMK_ROCK_CHASE_WORK rock_work, int length)
 {
     rock_work.length = length;
 }
Example #25
0
    // Token: 0x06000FEF RID: 4079 RVA: 0x0008AF6C File Offset: 0x0008916C
    private static void gmGmkRockChaseMainChase(OBS_OBJECT_WORK obj_work)
    {
        AppMain.GMS_GMK_ROCK_CHASE_WORK gms_GMK_ROCK_CHASE_WORK = (AppMain.GMS_GMK_ROCK_CHASE_WORK)obj_work;
        AppMain.GMS_ENEMY_3D_WORK       gms_ENEMY_3D_WORK       = (AppMain.GMS_ENEMY_3D_WORK)obj_work;
        OBS_OBJECT_WORK target_obj = gms_ENEMY_3D_WORK.ene_com.target_obj;
        int             num        = target_obj.pos.x - obj_work.pos.x;
        uint            num2       = AppMain.gmGmkRockChaseGetDirType(gms_GMK_ROCK_CHASE_WORK);

        if (num2 == 0U)
        {
            if (( int )obj_work.dir.z <= AppMain.NNM_DEGtoA16(180f))
            {
                num2 = 1U;
            }
            else
            {
                num2 = 2U;
            }
            AppMain.gmGmkRockChaseSetDirType(gms_GMK_ROCK_CHASE_WORK, num2);
        }
        int num3;
        int num4;

        if ((num2 == 1U && num < 0) || (num2 == 2U && num >= 0))
        {
            num3 = 768;
            num4 = 32768;
            if (gms_GMK_ROCK_CHASE_WORK.flag_vib)
            {
                AppMain.GMM_PAD_VIB_STOP();
                gms_GMK_ROCK_CHASE_WORK.flag_vib = false;
            }
        }
        else
        {
            int num5 = AppMain.MTM_MATH_ABS(target_obj.spd_m);
            if (num5 < AppMain.gmGmkRockChaseGetSpeed(gms_GMK_ROCK_CHASE_WORK))
            {
                num3 = 512;
                num4 = 65536;
            }
            else
            {
                int num6 = AppMain.MTM_MATH_ABS(num);
                int num7 = AppMain.gmGmkRockChaseGetLength(gms_GMK_ROCK_CHASE_WORK);
                int num8 = AppMain.FX_Mul(num7, 8192);
                if (num8 < 1228800)
                {
                    num8 = 1228800;
                }
                if (num6 > num8)
                {
                    num3 = 3840;
                    num4 = ( int )(( long )num5 + 32768L);
                    if (gms_GMK_ROCK_CHASE_WORK.flag_vib)
                    {
                        AppMain.GMM_PAD_VIB_STOP();
                        gms_GMK_ROCK_CHASE_WORK.flag_vib = false;
                    }
                }
                else if (num6 > num7)
                {
                    num3 = 768;
                    num4 = ( int )(( long )num5 + 10240L);
                    if (!gms_GMK_ROCK_CHASE_WORK.flag_vib)
                    {
                        AppMain.GMM_PAD_VIB_MID_NOEND();
                        gms_GMK_ROCK_CHASE_WORK.flag_vib = true;
                    }
                }
                else
                {
                    num3 = -768;
                    num4 = ( int )(( long )num5 + -6144L);
                    if (!gms_GMK_ROCK_CHASE_WORK.flag_vib)
                    {
                        AppMain.GMM_PAD_VIB_MID_NOEND();
                        gms_GMK_ROCK_CHASE_WORK.flag_vib = true;
                    }
                }
            }
        }
        if (num2 == 1U)
        {
            obj_work.spd_m += num3;
            AppMain.gmGmkRockChaseAddAngleZ(gms_GMK_ROCK_CHASE_WORK, 1000);
            if (obj_work.spd_m > num4)
            {
                obj_work.spd_m = num4;
            }
        }
        else
        {
            num3            = -num3;
            num4            = -num4;
            obj_work.spd_m += num3;
            AppMain.gmGmkRockChaseAddAngleZ(gms_GMK_ROCK_CHASE_WORK, -1000);
            if (obj_work.spd_m < num4)
            {
                obj_work.spd_m = num4;
            }
        }
        if ((obj_work.move_flag & 1U) == 0U)
        {
            AppMain.gmGmkRockChaseChangeModeFall(obj_work);
            return;
        }
        if (gms_GMK_ROCK_CHASE_WORK.current_bound >= 0)
        {
            gms_GMK_ROCK_CHASE_WORK.current_bound = 0;
            if (AppMain.mtMathRand() % 10 == 0)
            {
                int num9 = (int)(32 + AppMain.mtMathRand() % 16);
                gms_GMK_ROCK_CHASE_WORK.target_bound   = -num9 * 4096;
                gms_GMK_ROCK_CHASE_WORK.current_bound -= 8192;
                if (gms_GMK_ROCK_CHASE_WORK.se_handle != null)
                {
                    GsSound.StopSE(gms_GMK_ROCK_CHASE_WORK.se_handle);
                    return;
                }
            }
        }
        else if (gms_GMK_ROCK_CHASE_WORK.target_bound > gms_GMK_ROCK_CHASE_WORK.current_bound)
        {
            gms_GMK_ROCK_CHASE_WORK.target_bound   = 0;
            gms_GMK_ROCK_CHASE_WORK.current_bound += 8192;
            if (gms_GMK_ROCK_CHASE_WORK.current_bound >= 0)
            {
                GmSound.PlaySE("BigRock1");
                GmSound.PlaySE("BigRock2", gms_GMK_ROCK_CHASE_WORK.se_handle);
                GmCamera.VibrationSet(0, 12288, 0);
                return;
            }
        }
        else
        {
            gms_GMK_ROCK_CHASE_WORK.current_bound -= 8192;
        }
    }
Example #26
0
    private static void gmGmkRockChaseMainChase(AppMain.OBS_OBJECT_WORK obj_work)
    {
        AppMain.GMS_GMK_ROCK_CHASE_WORK rock_work = (AppMain.GMS_GMK_ROCK_CHASE_WORK)obj_work;
        AppMain.OBS_OBJECT_WORK         targetObj = ((AppMain.GMS_ENEMY_3D_WORK)obj_work).ene_com.target_obj;
        int  a    = targetObj.pos.x - obj_work.pos.x;
        uint type = AppMain.gmGmkRockChaseGetDirType(rock_work);

        if (type == 0U)
        {
            type = (int)obj_work.dir.z > AppMain.NNM_DEGtoA16(180f) ? 2U : 1U;
            AppMain.gmGmkRockChaseSetDirType(rock_work, type);
        }
        int num1;
        int num2;

        if (type == 1U && a < 0 || type == 2U && a >= 0)
        {
            num1 = 768;
            num2 = 32768;
            if (rock_work.flag_vib)
            {
                AppMain.GMM_PAD_VIB_STOP();
                rock_work.flag_vib = false;
            }
        }
        else
        {
            int num3 = AppMain.MTM_MATH_ABS(targetObj.spd_m);
            if (num3 < AppMain.gmGmkRockChaseGetSpeed(rock_work))
            {
                num1 = 512;
                num2 = 65536;
            }
            else
            {
                int num4   = AppMain.MTM_MATH_ABS(a);
                int length = AppMain.gmGmkRockChaseGetLength(rock_work);
                int num5   = AppMain.FX_Mul(length, 8192);
                if (num5 < 1228800)
                {
                    num5 = 1228800;
                }
                if (num4 > num5)
                {
                    num1 = 3840;
                    num2 = (int)((long)num3 + 32768L);
                    if (rock_work.flag_vib)
                    {
                        AppMain.GMM_PAD_VIB_STOP();
                        rock_work.flag_vib = false;
                    }
                }
                else if (num4 > length)
                {
                    num1 = 768;
                    num2 = (int)((long)num3 + 10240L);
                    if (!rock_work.flag_vib)
                    {
                        AppMain.GMM_PAD_VIB_MID_NOEND();
                        rock_work.flag_vib = true;
                    }
                }
                else
                {
                    num1 = -768;
                    num2 = (int)((long)num3 + -6144L);
                    if (!rock_work.flag_vib)
                    {
                        AppMain.GMM_PAD_VIB_MID_NOEND();
                        rock_work.flag_vib = true;
                    }
                }
            }
        }
        if (type == 1U)
        {
            obj_work.spd_m += num1;
            AppMain.gmGmkRockChaseAddAngleZ(rock_work, (short)1000);
            if (obj_work.spd_m > num2)
            {
                obj_work.spd_m = num2;
            }
        }
        else
        {
            int num3 = -num1;
            int num4 = -num2;
            obj_work.spd_m += num3;
            AppMain.gmGmkRockChaseAddAngleZ(rock_work, (short)-1000);
            if (obj_work.spd_m < num4)
            {
                obj_work.spd_m = num4;
            }
        }
        if (((int)obj_work.move_flag & 1) == 0)
        {
            AppMain.gmGmkRockChaseChangeModeFall(obj_work);
        }
        else if (rock_work.current_bound >= 0)
        {
            rock_work.current_bound = 0;
            if ((int)AppMain.mtMathRand() % 10 != 0)
            {
                return;
            }
            int num3 = 32 + (int)AppMain.mtMathRand() % 16;
            rock_work.target_bound   = -num3 * 4096;
            rock_work.current_bound -= 8192;
            if (rock_work.se_handle == null)
            {
                return;
            }
            AppMain.GmSoundStopSE(rock_work.se_handle);
        }
        else if (rock_work.target_bound > rock_work.current_bound)
        {
            rock_work.target_bound   = 0;
            rock_work.current_bound += 8192;
            if (rock_work.current_bound < 0)
            {
                return;
            }
            AppMain.GmSoundPlaySE("BigRock1");
            AppMain.GmSoundPlaySE("BigRock2", rock_work.se_handle);
            AppMain.GmCameraVibrationSet(0, 12288, 0);
        }
        else
        {
            rock_work.current_bound -= 8192;
        }
    }