Exemplo n.º 1
0
 // Token: 0x06001580 RID: 5504 RVA: 0x000BAD6F File Offset: 0x000B8F6F
 private static int gmGmkFlipperCheckKeyHit(OBS_OBJECT_WORK gimmick_obj_work, GMS_PLAYER_WORK player_work)
 {
     if (GmPlayer.KeyCheckJumpKeyPush(player_work))
     {
         return(1);
     }
     return(0);
 }
Exemplo n.º 2
0
    // Token: 0x06000543 RID: 1347 RVA: 0x0002C9B4 File Offset: 0x0002ABB4
    private static bool gmGmkTarzanRopeCheckPlayerJump(OBS_OBJECT_WORK obj_work, int angle_target, int angle_current)
    {
        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;
        GMS_PLAYER_WORK           ply_work          = (GMS_PLAYER_WORK)target_obj;

        if (AppMain.gmGmkTarzanRopeGetCatchWait(obj_work) > 0U)
        {
            return(false);
        }
        if (GmPlayer.KeyCheckJumpKeyPush(ply_work))
        {
            target_obj.disp_flag &= 4294967279U;
            target_obj.spd_m      = 0;
            target_obj.spd.x      = 0;
            target_obj.spd.y      = 0;
            target_obj.dir.z      = 0;
            target_obj.spd_add.x  = 0;
            target_obj.spd_add.y  = 0;
            target_obj.spd_add.z  = 0;
            float num  = 1f + (float)gms_ENEMY_3D_WORK.ene_com.eve_rec.left / 10000f;
            int   num2 = (int)((float)angle_target * 0.8f * num);
            int   num3 = (int)((float)AppMain.MTM_MATH_ABS(angle_current) * 2.3f * num);
            if (angle_target == 0 && angle_current == 0)
            {
                num2 = 0;
                num3 = 16384;
            }
            else if ((angle_target < 0 && 0 < angle_current) || (0 < angle_target && angle_current < 0))
            {
                if (AppMain.MTM_MATH_ABS(angle_target + angle_current) < 1792)
                {
                    num2 = -num2;
                }
                else
                {
                    num2 = 0;
                    num3 = 16384;
                }
            }
            AppMain.GmPlySeqGmkInitGmkJump(ply_work, num2, -num3);
            AppMain.GmPlySeqChangeSequenceState(ply_work, 17);
            obj_work.ppFunc = AppMain.gmGmkTarzanRopeMainEnd;
            gms_ENEMY_3D_WORK.ene_com.target_obj = null;
            return(true);
        }
        return(false);
    }
Exemplo n.º 3
0
    // Token: 0x0600124F RID: 4687 RVA: 0x0009FF80 File Offset: 0x0009E180
    private static void gmGmkCannonReady(OBS_OBJECT_WORK obj_work)
    {
        AppMain.GMS_GMK_CANNON_WORK gms_GMK_CANNON_WORK = (AppMain.GMS_GMK_CANNON_WORK)obj_work;
        short angle_set = gms_GMK_CANNON_WORK.angle_set;
        short angle_now = gms_GMK_CANNON_WORK.angle_now;

        if (gms_GMK_CANNON_WORK.angle_set == gms_GMK_CANNON_WORK.angle_now)
        {
            if ((AppMain.g_gs_main_sys_info.game_flag & 1U) == 0U)
            {
                int num = (int)(AppMain._am_iphone_accel_data.sensor.x * 16384f) * 3;
                if (num > 32768)
                {
                    num = 32768;
                }
                else if (num < -32768)
                {
                    num = -32768;
                }

                num /= 2;
                if (num >= (int)(gms_GMK_CANNON_WORK.angle_now + 2730))
                {
                    num = (int)(gms_GMK_CANNON_WORK.angle_now + 2730);
                }
                else if (gms_GMK_CANNON_WORK.angle_now == 13650 && num >= 16380)
                {
                    num = 16380;
                }
                else if (num <= (int)(gms_GMK_CANNON_WORK.angle_now - 2730))
                {
                    num = (int)(gms_GMK_CANNON_WORK.angle_now - 2730);
                }
                else if (gms_GMK_CANNON_WORK.angle_now == -13650 && num <= -16380)
                {
                    num = -16380;
                }
                else
                {
                    num = (int)gms_GMK_CANNON_WORK.angle_now;
                }

                gms_GMK_CANNON_WORK.angle_set = (short)num;
            }
            else
            {
                AppMain.GMS_GMK_CANNON_WORK gms_GMK_CANNON_WORK2 = gms_GMK_CANNON_WORK;
                gms_GMK_CANNON_WORK2.angle_set += AppMain.gmGmkCannon_GetAngle(gms_GMK_CANNON_WORK.ply_work.key_on);
                if (gms_GMK_CANNON_WORK.angle_set > 16380 && (ushort)gms_GMK_CANNON_WORK.angle_set < 49156)
                {
                    gms_GMK_CANNON_WORK.angle_set = 16380;
                }

                if (gms_GMK_CANNON_WORK.angle_set < -16380 && (ushort)gms_GMK_CANNON_WORK.angle_set > 16380)
                {
                    gms_GMK_CANNON_WORK.angle_set = -16380;
                }
            }

            if (angle_set != gms_GMK_CANNON_WORK.angle_set)
            {
                GmSound.PlaySE("Cannon1");
            }
        }

        if (gms_GMK_CANNON_WORK.angle_set != gms_GMK_CANNON_WORK.angle_now)
        {
            AppMain.gmGmkCannon_CannonTurn(gms_GMK_CANNON_WORK);
            obj_work.dir.z = (ushort)gms_GMK_CANNON_WORK.angle_now;
        }

        if (gms_GMK_CANNON_WORK.angle_set == gms_GMK_CANNON_WORK.angle_now &&
            angle_now == gms_GMK_CANNON_WORK.angle_now &&
            GmPlayer.KeyCheckJumpKeyPush(gms_GMK_CANNON_WORK.ply_work))
        {
            AppMain.GMS_EFFECT_3DES_WORK gms_EFFECT_3DES_WORK =
                AppMain.GmEfctCmnEsCreate(gms_GMK_CANNON_WORK.ply_work.obj_work, 20);
            gms_EFFECT_3DES_WORK.efct_com.obj_work.dir.z = obj_work.dir.z;
            OBS_OBJECT_WORK obj_work2 = gms_EFFECT_3DES_WORK.efct_com.obj_work;
            obj_work2.pos.x = obj_work2.pos.x + AppMain.mtMathSin((int)obj_work.dir.z) * 32;
            OBS_OBJECT_WORK obj_work3 = gms_EFFECT_3DES_WORK.efct_com.obj_work;
            obj_work3.pos.y = obj_work3.pos.y - AppMain.mtMathCos((int)obj_work.dir.z) * 32;
            AppMain.GmPlySeqInitCannonShoot(gms_GMK_CANNON_WORK.ply_work,
                                            AppMain.mtMathCos((int)(obj_work.dir.z - 16384)) * gms_GMK_CANNON_WORK.cannon_power,
                                            AppMain.mtMathSin((int)(obj_work.dir.z - 16384)) * gms_GMK_CANNON_WORK.cannon_power);
            AppMain.gmGmkCannonFieldColOff(obj_work);
            gms_GMK_CANNON_WORK.gmk_work.ene_com.enemy_flag |= 32768U;
            gms_GMK_CANNON_WORK.shoot_after = 0;
            obj_work.ppFunc = AppMain.gmGmkCannonShoot;
            AppMain.gmGmkCannonShoot(obj_work);
            GmSound.PlaySE("Cannon2");
            AppMain.GMM_PAD_VIB_SMALL();
        }
    }