Exemplo n.º 1
0
 // Token: 0x06000064 RID: 100 RVA: 0x00005AD4 File Offset: 0x00003CD4
 private static void gmGmkSlotGameHit_100(OBS_OBJECT_WORK obj_work)
 {
     if (AppMain.GmRingCheckRestSlotRing() != 0)
     {
         return;
     }
     AppMain.GMS_GMK_SLOT_WORK gms_GMK_SLOT_WORK = (AppMain.GMS_GMK_SLOT_WORK)obj_work;
     GmPlayer.AddScore(AppMain.slot_start_player, AppMain.tbl_slot_bonus_score[( int )gms_GMK_SLOT_WORK.lotresult], AppMain.slot_start_player.obj_work.pos.x, AppMain.slot_start_player.obj_work.pos.y);
     AppMain.slot_start_call = -1;
     obj_work.ppFunc         = AppMain.gmGmkSlotStay;
 }
Exemplo n.º 2
0
    // Token: 0x0600140D RID: 5133 RVA: 0x000B1F60 File Offset: 0x000B0160
    private static void gmGmkBobbinDefPlayer(AppMain.GMS_ENEMY_3D_WORK gimmick_work, GMS_PLAYER_WORK player_work, int speed_x, int speed_y)
    {
        bool flag_no_recover_homing = false;

        if ((gimmick_work.ene_com.eve_rec.flag & 1) != 0)
        {
            flag_no_recover_homing = true;
        }
        AppMain.GmPlySeqInitPinballAir(player_work, speed_x, speed_y, 5, flag_no_recover_homing);
        if (!AppMain.GMM_MAIN_STAGE_IS_SS())
        {
            OBS_OBJECT_WORK obs_OBJECT_WORK = (OBS_OBJECT_WORK)gimmick_work;
            GmPlayer.AddScore(player_work, 10, obs_OBJECT_WORK.pos.x, obs_OBJECT_WORK.pos.y);
        }
    }
Exemplo n.º 3
0
    // Token: 0x06000263 RID: 611 RVA: 0x0001377C File Offset: 0x0001197C
    private static void gmGmkStopperStay_Norm_100(OBS_OBJECT_WORK obj_work)
    {
        AppMain.GMS_GMK_STOPPER_WORK gms_GMK_STOPPER_WORK = (AppMain.GMS_GMK_STOPPER_WORK)obj_work;
        if (gms_GMK_STOPPER_WORK.ply_work != AppMain.g_gm_main_system.ply_work[(int)((UIntPtr)0)] ||
            gms_GMK_STOPPER_WORK.ply_work.gmk_obj != obj_work || gms_GMK_STOPPER_WORK.ply_work.seq_state != 40)
        {
            AppMain.gmGmkStopperReset(obj_work);
            return;
        }

        OBS_CAMERA obs_CAMERA = ObjCamera.Get(0);

        GmCamera.PosSet(AppMain.FXM_FLOAT_TO_FX32(obs_CAMERA.pos.x),
                        AppMain.FXM_FLOAT_TO_FX32(-obs_CAMERA.pos.y) + 16384, AppMain.FXM_FLOAT_TO_FX32(obs_CAMERA.pos.z));
        AppMain.GMS_GMK_STOPPER_WORK gms_GMK_STOPPER_WORK2 = gms_GMK_STOPPER_WORK;
        gms_GMK_STOPPER_WORK2.player_pass_timer -= 1;
        if (gms_GMK_STOPPER_WORK.player_pass_timer <= 0)
        {
            obj_work.disp_flag &= 4294967291U;
            AppMain.gmGmkStopperStay_Norm_110(obj_work);
            return;
        }

        if (gms_GMK_STOPPER_WORK.player_pass_timer % 16 == 0)
        {
            GmPlayer.AddScore(gms_GMK_STOPPER_WORK.ply_work, 1000, gms_GMK_STOPPER_WORK.ply_work.obj_work.pos.x,
                              gms_GMK_STOPPER_WORK.ply_work.obj_work.pos.y);
            GsSound.StopSE(gms_GMK_STOPPER_WORK.se_handle);
            gms_GMK_STOPPER_WORK.se_handle.snd_ctrl_param.pitch =
                0.8f - (float)gms_GMK_STOPPER_WORK.player_pass_timer / 160f;
            GmSound.PlaySE("Casino3", gms_GMK_STOPPER_WORK.se_handle);
            if (gms_GMK_STOPPER_WORK.player_pass_timer <= 16)
            {
                GmSound.PlaySE("Casino3_1");
            }
        }
    }
Exemplo n.º 4
0
    // Token: 0x060008E5 RID: 2277 RVA: 0x000512EC File Offset: 0x0004F4EC
    private static void gmGmkBreakObjHit(AppMain.OBS_RECT_WORK mine_rect, AppMain.OBS_RECT_WORK match_rect)
    {
        OBS_OBJECT_WORK parent_obj      = mine_rect.parent_obj;
        GMS_PLAYER_WORK gms_PLAYER_WORK = (GMS_PLAYER_WORK)match_rect.parent_obj;

        if (gms_PLAYER_WORK == AppMain.g_gm_main_system.ply_work[( int )(( UIntPtr )0)])
        {
            AppMain.GMS_GMK_BOBJ_WORK gms_GMK_BOBJ_WORK = (AppMain.GMS_GMK_BOBJ_WORK)parent_obj;
            AppMain.OBS_RECT_WORK     obs_RECT_WORK     = gms_GMK_BOBJ_WORK.gmk_work.ene_com.obj_work.rect_work[0];
            if (gms_PLAYER_WORK.act_state == 39 || gms_PLAYER_WORK.act_state == 31 || (gms_PLAYER_WORK.player_flag & 262144U) != 0U)
            {
                short  num3;
                short  num2;
                short  num  = num2 = (num3 = 0);
                ushort vect = 0;
                if (parent_obj.pos.x >= gms_PLAYER_WORK.obj_work.pos.x)
                {
                    num2 = ( short )((parent_obj.pos.x >> 12) + ( int )obs_RECT_WORK.rect.left - ( int )match_rect.rect.right);
                    num2 = ( short )((gms_PLAYER_WORK.obj_work.pos.x >> 12) - ( int )num2);
                    gms_GMK_BOBJ_WORK.hitcheck = 1;
                }
                else
                {
                    num = ( short )((parent_obj.pos.x >> 12) + ( int )obs_RECT_WORK.rect.right - ( int )match_rect.rect.left - (gms_PLAYER_WORK.obj_work.pos.x >> 12));
                    gms_GMK_BOBJ_WORK.hitcheck = 1;
                    vect = 32768;
                }
                if (parent_obj.pos.y >= gms_PLAYER_WORK.obj_work.pos.y)
                {
                    num3 = ( short )((parent_obj.pos.y >> 12) + ( int )obs_RECT_WORK.rect.top - ( int )match_rect.rect.bottom);
                    num3 = ( short )((gms_PLAYER_WORK.obj_work.pos.y >> 12) - ( int )num3);
                    gms_GMK_BOBJ_WORK.hitcheck = 1;
                }
                if (obs_RECT_WORK.rect.right > gms_GMK_BOBJ_WORK.breakrect_right)
                {
                    AppMain.OBS_RECT rect = obs_RECT_WORK.rect;
                    rect.right -= num;
                    if (obs_RECT_WORK.rect.right < gms_GMK_BOBJ_WORK.breakrect_right)
                    {
                        obs_RECT_WORK.rect.right = gms_GMK_BOBJ_WORK.breakrect_right;
                    }
                }
                if (obs_RECT_WORK.rect.left < gms_GMK_BOBJ_WORK.breakrect_left)
                {
                    AppMain.OBS_RECT rect2 = obs_RECT_WORK.rect;
                    rect2.left += num2;
                    if (obs_RECT_WORK.rect.left > gms_GMK_BOBJ_WORK.breakrect_left)
                    {
                        obs_RECT_WORK.rect.left = gms_GMK_BOBJ_WORK.breakrect_left;
                    }
                }
                if (obs_RECT_WORK.rect.top < gms_GMK_BOBJ_WORK.breakrect_top)
                {
                    AppMain.OBS_RECT rect3 = obs_RECT_WORK.rect;
                    rect3.top += num3;
                    if (obs_RECT_WORK.rect.top > gms_GMK_BOBJ_WORK.breakrect_top)
                    {
                        obs_RECT_WORK.rect.top = gms_GMK_BOBJ_WORK.breakrect_top;
                    }
                }
                gms_GMK_BOBJ_WORK.hitpass = true;
                short num4 = (short)(gms_PLAYER_WORK.obj_work.spd.x >> 12);
                short num5 = (short)(gms_PLAYER_WORK.obj_work.spd.y >> 12);
                if ((obs_RECT_WORK.rect.right + num4 <= gms_GMK_BOBJ_WORK.breakrect_right || obs_RECT_WORK.rect.left + num4 >= gms_GMK_BOBJ_WORK.breakrect_left) && obs_RECT_WORK.rect.top + num5 >= gms_GMK_BOBJ_WORK.breakrect_top)
                {
                    ushort efct_zone_idx = AppMain.tbl_gmk_breakobj_effect[gms_GMK_BOBJ_WORK.zone_type];
                    switch (gms_GMK_BOBJ_WORK.zone_type)
                    {
                    case 0:
                        if (AppMain.g_gs_main_sys_info.stage_id == 2)
                        {
                            efct_zone_idx = 3;
                        }
                        break;

                    case 2:
                        if (AppMain.g_gm_main_system.water_level != 65535 && ( int )AppMain.g_gm_main_system.water_level < (parent_obj.pos.y >> 12) + ( int )gms_GMK_BOBJ_WORK.breakrect_top)
                        {
                            efct_zone_idx = 11;
                        }
                        break;
                    }
                    OBS_OBJECT_WORK obs_OBJECT_WORK = (OBS_OBJECT_WORK)AppMain.GmEfctZoneEsCreate(null, gms_GMK_BOBJ_WORK.zone_type, (int)efct_zone_idx);
                    obs_OBJECT_WORK.pos.x = parent_obj.pos.x;
                    obs_OBJECT_WORK.pos.y = parent_obj.pos.y;
                    obs_OBJECT_WORK.pos.z = parent_obj.pos.z;
                    AppMain.gmGmkBreakObj_CreateParts(parent_obj, gms_GMK_BOBJ_WORK.zone_type, vect);
                    gms_GMK_BOBJ_WORK.gmk_work.ene_com.obj_work.col_work.obj_col.obj = null;
                    AppMain.GmEnemyDefaultDefFunc(mine_rect, match_rect);
                    GmSound.PlaySE("BreakOBJ");
                    GmPlayer.AddScore(gms_PLAYER_WORK, 100, parent_obj.pos.x, parent_obj.pos.y);
                }
            }
        }
    }
Exemplo n.º 5
0
    // Token: 0x0600068D RID: 1677 RVA: 0x0003AF00 File Offset: 0x00039100
    private static void gmGmkEnBmprDefFunc(AppMain.OBS_RECT_WORK gimmick_rect, AppMain.OBS_RECT_WORK player_rect)
    {
        OBS_OBJECT_WORK parent_obj = gimmick_rect.parent_obj;

        AppMain.GMS_ENEMY_3D_WORK gms_ENEMY_3D_WORK = (AppMain.GMS_ENEMY_3D_WORK)parent_obj;
        OBS_OBJECT_WORK           parent_obj2       = player_rect.parent_obj;

        if (parent_obj2.obj_type != 1)
        {
            return;
        }
        int num = AppMain.gmGmkEnBmprCalcType((int)gms_ENEMY_3D_WORK.ene_com.eve_rec.id);

        parent_obj.dir.z  = AppMain.g_gm_gmk_en_bmpr_angle_z[num];
        parent_obj2.dir.z = 0;
        int num2 = parent_obj2.spd.x;
        int num3 = parent_obj2.spd.y;

        if ((parent_obj2.move_flag & 32768U) != 0U)
        {
            if (parent_obj2.spd_m != 0)
            {
                num2 = AppMain.FX_Mul(parent_obj2.spd_m, AppMain.mtMathCos(( int )parent_obj2.dir.z));
                num3 = AppMain.FX_Mul(parent_obj2.spd_m, AppMain.mtMathSin(( int )parent_obj2.dir.z));
            }
            else
            {
                AppMain.VecFx32 vecFx = AppMain.gmGmkEnBmprNormalizeVectorXY(new AppMain.VecFx32
                {
                    x = parent_obj2.pos.x - parent_obj.pos.x,
                    y = parent_obj2.pos.y - parent_obj.pos.y,
                    z = 0
                });
                num2 = AppMain.FX_Mul(vecFx.x, 98304);
                num3 = AppMain.FX_Mul(vecFx.y, 98304);
            }
        }
        int num4 = -12288;
        int num5 = parent_obj2.pos.x - parent_obj.pos.x;
        int num6 = parent_obj2.pos.y + num4 - parent_obj.pos.y;

        switch (num)
        {
        case 0:
            num2 = 0;
            if (num6 < 0)
            {
                num3 = -24576;
            }
            else
            {
                num3 = 24576;
                OBS_OBJECT_WORK obs_OBJECT_WORK = parent_obj;
                obs_OBJECT_WORK.dir.z = ( ushort )(obs_OBJECT_WORK.dir.z + 32768);
            }
            break;

        case 1:
        {
            int num7 = AppMain.FX_Mul(24576, 2896);
            if (num6 < 0)
            {
                num2 = -num7;
                num3 = -num7;
            }
            else
            {
                num2 = num7;
                num3 = num7;
                OBS_OBJECT_WORK obs_OBJECT_WORK2 = parent_obj;
                obs_OBJECT_WORK2.dir.z = ( ushort )(obs_OBJECT_WORK2.dir.z + 32768);
            }
            break;
        }

        case 2:
            num3 = 0;
            if (num5 < 0)
            {
                num2 = -24576;
            }
            else
            {
                num2 = 24576;
                OBS_OBJECT_WORK obs_OBJECT_WORK3 = parent_obj;
                obs_OBJECT_WORK3.dir.z = ( ushort )(obs_OBJECT_WORK3.dir.z + 32768);
            }
            break;

        case 3:
        {
            int num8 = AppMain.FX_Mul(24576, 2896);
            if (num6 > 0)
            {
                num2 = -num8;
                num3 = num8;
            }
            else
            {
                num2 = num8;
                num3 = -num8;
                OBS_OBJECT_WORK obs_OBJECT_WORK4 = parent_obj;
                obs_OBJECT_WORK4.dir.z = ( ushort )(obs_OBJECT_WORK4.dir.z + 32768);
            }
            break;
        }
        }
        AppMain.GmPlySeqInitPinballAir(( GMS_PLAYER_WORK )parent_obj2, num2, num3, 5);
        AppMain.gmGmkEnBmprChangeModeHit(parent_obj);
        int num9 = AppMain.gmGmkEnBmperGetUserWorkLife(parent_obj);

        if (num9 <= 0)
        {
            parent_obj.user_flag = ( uint )(( ulong )parent_obj.user_flag & 18446744073709551614UL);
        }
        int num10 = 10;

        if (AppMain.gmGmkEnBmprCheckGroupBonus(parent_obj) != 0)
        {
            num10 *= 50;
        }
        GmPlayer.AddScore(( GMS_PLAYER_WORK )parent_obj2, num10, parent_obj.pos.x, parent_obj.pos.y);
        AppMain.GMS_EFFECT_3DES_WORK gms_EFFECT_3DES_WORK = AppMain.GmEfctCmnEsCreate(parent_obj, 16);
        gms_EFFECT_3DES_WORK.efct_com.obj_work.pos.x = parent_obj2.pos.x;
        gms_EFFECT_3DES_WORK.efct_com.obj_work.pos.y = parent_obj2.pos.y;
        gms_EFFECT_3DES_WORK.efct_com.obj_work.pos.z = 131072;
        gms_EFFECT_3DES_WORK.efct_com.obj_work.dir.z = ( ushort )(AppMain.nnArcTan2(( double )AppMain.FX_FX32_TO_F32(num3), ( double )AppMain.FX_FX32_TO_F32(num2)) - 16384);
        AppMain.GMM_PAD_VIB_SMALL();
    }