private static void gmGmkWaterAreaSetRect( AppMain.GMS_ENEMY_3D_WORK gimmick_work, byte width, byte height, uint type) { AppMain.OBS_RECT_WORK pRec = gimmick_work.ene_com.rect_work[2]; if (width < (byte)34) { width = (byte)34; } if (height < (byte)34) { height = (byte)34; } AppMain.ObjRectWorkZSet(pRec, (short)((int)-width / 2), (short)((int)-height / 2), (short)-500, (short)((int)width / 2), (short)((int)height / 2), (short)500); AppMain.ObjRectAtkSet(pRec, (ushort)0, (short)0); pRec.ppHit = (AppMain.OBS_RECT_WORK_Delegate1)null; AppMain.ObjRectDefSet(pRec, (ushort)0, (short)0); switch (type) { case 1: case 2: case 3: case 4: pRec.flag |= 1024U; pRec.ppDef = new AppMain.OBS_RECT_WORK_Delegate1(AppMain.gmGmkWaterAreaDefFuncDelay); break; } }
private static void gmGmkMoveGearDefFunc( AppMain.OBS_RECT_WORK mine_rect, AppMain.OBS_RECT_WORK match_rect) { AppMain.GMS_GMK_GEAR_WORK parentObj1 = (AppMain.GMS_GMK_GEAR_WORK)mine_rect.parent_obj; if (match_rect.parent_obj.obj_type != (ushort)3) { return; } AppMain.GMS_ENEMY_COM_WORK parentObj2 = (AppMain.GMS_ENEMY_COM_WORK)match_rect.parent_obj; if (parentObj2.eve_rec.id == (ushort)183) { parentObj1.move_end_x = match_rect.parent_obj.pos.x; parentObj1.move_end_y = match_rect.parent_obj.pos.y; if (((int)parentObj2.eve_rec.flag & 1) == 0) { return; } parentObj1.gear_end_obj = match_rect.parent_obj; } else { if (((AppMain.GMS_ENEMY_COM_WORK)match_rect.parent_obj).eve_rec.id != (ushort)184) { return; } parentObj1.sw_gear_obj = match_rect.parent_obj; } }
// Token: 0x06001B0A RID: 6922 RVA: 0x000F61E0 File Offset: 0x000F43E0 private static void gmGmkPulleyDefFunc(AppMain.OBS_RECT_WORK mine_rect, AppMain.OBS_RECT_WORK match_rect) { AppMain.GMS_ENEMY_COM_WORK gms_ENEMY_COM_WORK = (AppMain.GMS_ENEMY_COM_WORK)mine_rect.parent_obj; AppMain.GMS_PLAYER_WORK gms_PLAYER_WORK = (AppMain.GMS_PLAYER_WORK)match_rect.parent_obj; if (gms_ENEMY_COM_WORK == null) { return; } if (gms_PLAYER_WORK == null || gms_PLAYER_WORK.obj_work.obj_type != 1) { return; } if (gms_PLAYER_WORK.gmk_obj == (AppMain.OBS_OBJECT_WORK)gms_ENEMY_COM_WORK) { return; } AppMain.GmPlySeqInitPulley(gms_PLAYER_WORK, gms_ENEMY_COM_WORK); AppMain.ObjDrawObjectActionSet3DNN(gms_ENEMY_COM_WORK.obj_work, 3, 0); if ((gms_PLAYER_WORK.obj_work.disp_flag & 1U) != 0U) { gms_ENEMY_COM_WORK.obj_work.dir.y = 32768; } else { gms_ENEMY_COM_WORK.obj_work.dir.y = 0; } gms_ENEMY_COM_WORK.obj_work.user_flag = ( uint )(( ulong )gms_ENEMY_COM_WORK.obj_work.user_flag & 18446744073709518847UL); ((AppMain.OBS_OBJECT_WORK)gms_ENEMY_COM_WORK).ppFunc = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmGmkPulleyMove); AppMain.ObjRectWorkSet(gms_ENEMY_COM_WORK.rect_work[2], -32, 9, 32, 24); }
// Token: 0x06001AFF RID: 6911 RVA: 0x000F573C File Offset: 0x000F393C private static void gmGmkSsEmeraldDefFunc(AppMain.OBS_RECT_WORK mine_rect, AppMain.OBS_RECT_WORK match_rect) { AppMain.GMS_ENEMY_COM_WORK gms_ENEMY_COM_WORK = (AppMain.GMS_ENEMY_COM_WORK)mine_rect.parent_obj; GMS_PLAYER_WORK gms_PLAYER_WORK = (GMS_PLAYER_WORK)match_rect.parent_obj; if (gms_ENEMY_COM_WORK == null) { return; } if (gms_PLAYER_WORK == null || gms_PLAYER_WORK.obj_work.obj_type != 1) { return; } if (gms_PLAYER_WORK.gmk_obj == (OBS_OBJECT_WORK)gms_ENEMY_COM_WORK) { return; } GmSound.PlayJingle(3U, 0); GmSound.PlaySE("Special5"); AppMain.GmComEfctCreateRing(gms_ENEMY_COM_WORK.obj_work.pos.x, gms_ENEMY_COM_WORK.obj_work.pos.y); AppMain.gmGmkSsEmeraldEfctKill(); gms_ENEMY_COM_WORK.obj_work.flag |= 4U; AppMain.g_gm_main_system.game_flag |= 65536U; }
private static AppMain.OBS_OBJECT_WORK GmGmkScrewInit( AppMain.GMS_EVE_RECORD_EVENT eve_rec, int pos_x, int pos_y, byte type) { AppMain.OBS_OBJECT_WORK work = AppMain.GMM_ENEMY_CREATE_WORK(eve_rec, pos_x, pos_y, (AppMain.TaskWorkFactoryDelegate)(() => (object)new AppMain.GMS_ENEMY_COM_WORK()), "GMK_SCREW"); AppMain.GMS_ENEMY_COM_WORK gmsEnemyComWork = (AppMain.GMS_ENEMY_COM_WORK)work; work.move_flag |= 8480U; gmsEnemyComWork.rect_work[0].flag &= 4294967291U; gmsEnemyComWork.rect_work[1].flag &= 4294967291U; AppMain.OBS_RECT_WORK pRec = gmsEnemyComWork.rect_work[2]; pRec.ppHit = (AppMain.OBS_RECT_WORK_Delegate1)null; pRec.ppDef = new AppMain.OBS_RECT_WORK_Delegate1(AppMain.gmGmkScrewDefFunc); AppMain.ObjRectAtkSet(pRec, (ushort)0, (short)0); AppMain.ObjRectDefSet(pRec, (ushort)65534, (short)0); if (((int)eve_rec.flag & AppMain.GMD_GMK_SCREW_EVE_FLAG_LEFT) != 0) { AppMain.ObjRectWorkSet(pRec, (short)-4, (short)-8, (short)-16, (short)0); } else { AppMain.ObjRectWorkSet(pRec, (short)4, (short)-8, (short)16, (short)0); } work.ppFunc = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmGmkScrewMain); return(work); }
// Token: 0x060008E3 RID: 2275 RVA: 0x0005104C File Offset: 0x0004F24C public static void gmGmkBreakObjStart(OBS_OBJECT_WORK obj_work) { AppMain.GMS_GMK_BOBJ_WORK gms_GMK_BOBJ_WORK = (AppMain.GMS_GMK_BOBJ_WORK)obj_work; gms_GMK_BOBJ_WORK.gmk_work.ene_com.col_work.obj_col.obj = obj_work; gms_GMK_BOBJ_WORK.gmk_work.ene_com.col_work.obj_col.width = ( ushort )AppMain.tbl_gm_gmk_bobj_col_rect[gms_GMK_BOBJ_WORK.zone_type][0]; gms_GMK_BOBJ_WORK.gmk_work.ene_com.col_work.obj_col.height = ( ushort )AppMain.tbl_gm_gmk_bobj_col_rect[gms_GMK_BOBJ_WORK.zone_type][1]; gms_GMK_BOBJ_WORK.gmk_work.ene_com.col_work.obj_col.ofst_x = AppMain.tbl_gm_gmk_bobj_col_rect[gms_GMK_BOBJ_WORK.zone_type][2]; gms_GMK_BOBJ_WORK.gmk_work.ene_com.col_work.obj_col.ofst_y = AppMain.tbl_gm_gmk_bobj_col_rect[gms_GMK_BOBJ_WORK.zone_type][3]; gms_GMK_BOBJ_WORK.gmk_work.ene_com.col_work.obj_col.dir = 0; gms_GMK_BOBJ_WORK.breakrect_left = ( short )(gms_GMK_BOBJ_WORK.gmk_work.ene_com.col_work.obj_col.ofst_x - 4); gms_GMK_BOBJ_WORK.breakrect_right = ( short )(gms_GMK_BOBJ_WORK.breakrect_left + ( short )gms_GMK_BOBJ_WORK.gmk_work.ene_com.col_work.obj_col.width + 4); gms_GMK_BOBJ_WORK.breakrect_top = ( short )(gms_GMK_BOBJ_WORK.gmk_work.ene_com.col_work.obj_col.ofst_y - 4); gms_GMK_BOBJ_WORK.gmk_work.ene_com.rect_work[1].flag &= 4294967291U; AppMain.OBS_RECT_WORK obs_RECT_WORK = gms_GMK_BOBJ_WORK.gmk_work.ene_com.rect_work[0]; obs_RECT_WORK.ppDef = AppMain.gmGmkBreakObjHit; obs_RECT_WORK.ppHit = null; AppMain.ObjRectAtkSet(obs_RECT_WORK, 0, 0); AppMain.ObjRectDefSet(obs_RECT_WORK, 65534, 0); AppMain.ObjRectWorkSet(obs_RECT_WORK, AppMain.tbl_gm_gmk_bobj_col_rect[gms_GMK_BOBJ_WORK.zone_type][4], AppMain.tbl_gm_gmk_bobj_col_rect[gms_GMK_BOBJ_WORK.zone_type][5], AppMain.tbl_gm_gmk_bobj_col_rect[gms_GMK_BOBJ_WORK.zone_type][6], AppMain.tbl_gm_gmk_bobj_col_rect[gms_GMK_BOBJ_WORK.zone_type][7]); obs_RECT_WORK = gms_GMK_BOBJ_WORK.gmk_work.ene_com.rect_work[2]; obs_RECT_WORK.ppDef = null; obs_RECT_WORK.ppHit = null; AppMain.ObjRectAtkSet(obs_RECT_WORK, 0, 0); AppMain.ObjRectDefSet(obs_RECT_WORK, 65534, 0); AppMain.ObjRectWorkSet(obs_RECT_WORK, gms_GMK_BOBJ_WORK.breakrect_left, gms_GMK_BOBJ_WORK.breakrect_top, gms_GMK_BOBJ_WORK.breakrect_right, 0); gms_GMK_BOBJ_WORK.hitpass = false; gms_GMK_BOBJ_WORK.hitcheck = 0; obj_work.ppFunc = AppMain.gmGmkBreakObjStay; }
// Token: 0x0600179F RID: 6047 RVA: 0x000D10FC File Offset: 0x000CF2FC private static OBS_OBJECT_WORK GmGmkSsTimeInit(AppMain.GMS_EVE_RECORD_EVENT eve_rec, int pos_x, int pos_y, byte type) { OBS_OBJECT_WORK obs_OBJECT_WORK = AppMain.GMM_ENEMY_CREATE_WORK(eve_rec, pos_x, pos_y, () => new AppMain.GMS_ENEMY_3D_WORK(), "GMK_SS_TIME"); AppMain.GMS_ENEMY_3D_WORK gms_ENEMY_3D_WORK = (AppMain.GMS_ENEMY_3D_WORK)obs_OBJECT_WORK; obs_OBJECT_WORK.view_out_ofst -= 128; uint num = (uint)(eve_rec.flag & 3); num = AppMain.MTM_MATH_CLIP(num, 0U, 2U); obs_OBJECT_WORK.user_work = num; AppMain.ObjObjectCopyAction3dNNModel(obs_OBJECT_WORK, AppMain.gm_gmk_ss_time_obj_3d_list[( int )(( UIntPtr )num)], gms_ENEMY_3D_WORK.obj_3d); obs_OBJECT_WORK.pos.z = -131072; obs_OBJECT_WORK.move_flag |= 8448U; gms_ENEMY_3D_WORK.ene_com.col_work.obj_col.flag |= 134217728U; obs_OBJECT_WORK.disp_flag |= 4194304U; obs_OBJECT_WORK.obj_3d.use_light_flag &= 4294967294U; obs_OBJECT_WORK.obj_3d.use_light_flag |= 2U; obs_OBJECT_WORK.scale.x = (obs_OBJECT_WORK.scale.y = (obs_OBJECT_WORK.scale.z = 6144)); obs_OBJECT_WORK.ppFunc = AppMain.gmGmkSsTimeMain; gms_ENEMY_3D_WORK.ene_com.rect_work[0].flag &= 4294967291U; AppMain.OBS_RECT_WORK obs_RECT_WORK = gms_ENEMY_3D_WORK.ene_com.rect_work[2]; obs_RECT_WORK.ppDef = AppMain.gmGmkSsTimeDefFunc; AppMain.ObjRectDefSet(obs_RECT_WORK, 65534, 0); AppMain.ObjRectWorkSet(obs_RECT_WORK, -6, -6, 6, 6); return(obs_OBJECT_WORK); }
private static void gmGmkWaterSliderSetRect( AppMain.GMS_ENEMY_3D_WORK gimmick_work, uint slider_type) { AppMain.OBS_RECT_WORK pRec = gimmick_work.ene_com.rect_work[2]; short num1 = 0; short num2 = 0; short num3 = 0; switch (slider_type) { case 1: case 5: num1 = (short)-64; num3 = (short)32; break; case 2: case 6: num1 = (short)-64; num3 = (short)64; break; case 3: case 7: num1 = (short)-64; num3 = (short)128; break; } AppMain.ObjRectWorkZSet(pRec, (short)((int)num1 - 8), (short)-8, (short)-500, (short)((int)num2 + 8), (short)((int)num3 + 8), (short)500); AppMain.ObjRectDefSet(pRec, (ushort)65534, (short)0); pRec.ppDef = new AppMain.OBS_RECT_WORK_Delegate1(AppMain.gmGmkWaterSliderDefFunc); }
// Token: 0x06001035 RID: 4149 RVA: 0x0008CF48 File Offset: 0x0008B148 public static AppMain.OBS_OBJECT_WORK GmEneMoguInit(AppMain.GMS_EVE_RECORD_EVENT eve_rec, int pos_x, int pos_y, byte type) { AppMain.OBS_OBJECT_WORK obs_OBJECT_WORK = AppMain.GMM_ENEMY_CREATE_WORK(eve_rec, pos_x, pos_y, () => new AppMain.GMS_ENE_MOGU_WORK(), "ENE_MOGU"); AppMain.GMS_ENEMY_3D_WORK gms_ENEMY_3D_WORK = (AppMain.GMS_ENEMY_3D_WORK)obs_OBJECT_WORK; AppMain.GMS_ENE_MOGU_WORK gms_ENE_MOGU_WORK = (AppMain.GMS_ENE_MOGU_WORK)obs_OBJECT_WORK; AppMain.ObjObjectCopyAction3dNNModel(obs_OBJECT_WORK, AppMain.gm_ene_mogu_obj_3d_list[0], gms_ENEMY_3D_WORK.obj_3d); AppMain.ObjObjectAction3dNNMotionLoad(obs_OBJECT_WORK, 0, true, AppMain.ObjDataGet(676), null, 0, null); AppMain.ObjDrawObjectSetToon(obs_OBJECT_WORK); obs_OBJECT_WORK.pos.z = 0; AppMain.OBS_RECT_WORK obs_RECT_WORK = gms_ENEMY_3D_WORK.ene_com.rect_work[1]; AppMain.ObjRectWorkSet(obs_RECT_WORK, -11, -24, 11, 0); obs_RECT_WORK.flag |= 4U; obs_RECT_WORK = gms_ENEMY_3D_WORK.ene_com.rect_work[0]; AppMain.ObjRectWorkSet(obs_RECT_WORK, -19, -32, 19, 0); obs_RECT_WORK.flag |= 4U; gms_ENEMY_3D_WORK.ene_com.rect_work[2].flag &= 4294967291U; obs_RECT_WORK = gms_ENEMY_3D_WORK.ene_com.rect_work[2]; AppMain.ObjRectWorkSet(obs_RECT_WORK, -19, -32, 19, 0); obs_RECT_WORK.flag &= 4294967291U; AppMain.ObjObjectFieldRectSet(obs_OBJECT_WORK, -4, -44, 4, -38); obs_OBJECT_WORK.move_flag |= 128U; if ((eve_rec.flag & 1) == 0) { obs_OBJECT_WORK.disp_flag |= 1U; } obs_OBJECT_WORK.user_work = ( uint )(obs_OBJECT_WORK.pos.x + (( int )eve_rec.left << 12)); obs_OBJECT_WORK.user_flag = ( uint )(obs_OBJECT_WORK.pos.x + (( int )(eve_rec.left + ( sbyte )eve_rec.width) << 12)); gms_ENE_MOGU_WORK.spd_dec = 102; gms_ENE_MOGU_WORK.spd_dec_dist = 20480; gms_ENE_MOGU_WORK.flag = 0U; AppMain.gmEneMoguWaitInit(obs_OBJECT_WORK); obs_OBJECT_WORK.obj_3d.use_light_flag &= 4294967294U; obs_OBJECT_WORK.obj_3d.use_light_flag |= 64U; return(obs_OBJECT_WORK); }
private static void gmGmkSeesawStart(AppMain.OBS_OBJECT_WORK obj_work) { AppMain.GMS_GMK_SEESAW_WORK gmsGmkSeesawWork = (AppMain.GMS_GMK_SEESAW_WORK)obj_work; gmsGmkSeesawWork.gmk_work.ene_com.rect_work[1].flag &= 4294967291U; AppMain.OBS_RECT_WORK pRec1 = gmsGmkSeesawWork.gmk_work.ene_com.rect_work[2]; pRec1.ppDef = (AppMain.OBS_RECT_WORK_Delegate1)null; pRec1.ppHit = (AppMain.OBS_RECT_WORK_Delegate1)null; AppMain.ObjRectAtkSet(pRec1, (ushort)0, (short)0); AppMain.ObjRectDefSet(pRec1, (ushort)65534, (short)0); AppMain.ObjRectWorkSet(pRec1, (short)-48, (short)-24, (short)48, (short)0); AppMain.OBS_RECT_WORK pRec2 = gmsGmkSeesawWork.gmk_work.ene_com.rect_work[0]; pRec2.flag |= 4U; pRec2.ppDef = (AppMain.OBS_RECT_WORK_Delegate1)null; pRec2.ppHit = (AppMain.OBS_RECT_WORK_Delegate1)null; AppMain.ObjRectWorkSet(pRec2, (short)-2, (short)-2, (short)2, (short)2); obj_work.flag &= 4294967293U; gmsGmkSeesawWork.initial_tilt = gmsGmkSeesawWork.tilt; gmsGmkSeesawWork.tilt_d = (short)0; gmsGmkSeesawWork.tilt_se_timer = (short)0; if (AppMain.seesaw_alive[(int)gmsGmkSeesawWork.seesaw_id] == (short)0) { AppMain.seesaw_tilt[(int)gmsGmkSeesawWork.seesaw_id] = gmsGmkSeesawWork.tilt; } else { gmsGmkSeesawWork.tilt = AppMain.seesaw_tilt[(int)gmsGmkSeesawWork.seesaw_id]; } obj_work.dir.z = (ushort)gmsGmkSeesawWork.tilt; ++AppMain.seesaw_alive[(int)gmsGmkSeesawWork.seesaw_id]; AppMain.mtTaskChangeTcbDestructor(obj_work.tcb, new AppMain.GSF_TASK_PROCEDURE(AppMain.gmGmkSeesawExitTCB)); obj_work.ppFunc = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmGmkSeesawStay); }
public static AppMain.OBS_OBJECT_WORK GmEneTStarNeedleInit( AppMain.GMS_EVE_RECORD_EVENT eve_rec, int pos_x, int pos_y, byte type) { AppMain.OBS_OBJECT_WORK work = AppMain.GMM_ENEMY_CREATE_WORK(eve_rec, pos_x, pos_y, (AppMain.TaskWorkFactoryDelegate)(() => (object)new AppMain.GMS_ENE_T_STAR_WORK()), "ENE_T_STAR"); AppMain.GMS_ENEMY_3D_WORK gmsEnemy3DWork = (AppMain.GMS_ENEMY_3D_WORK)work; AppMain.GMS_ENE_T_STAR_WORK gmsEneTStarWork = (AppMain.GMS_ENE_T_STAR_WORK)work; AppMain.ObjObjectCopyAction3dNNModel(work, AppMain.gm_ene_t_star_obj_3d_list[1], gmsEnemy3DWork.obj_3d); AppMain.ObjObjectAction3dNNMotionLoad(work, 0, true, AppMain.ObjDataGet(682), (string)null, 0, (AppMain.AMS_AMB_HEADER)null); AppMain.ObjDrawObjectSetToon(work); work.pos.z = 655360; AppMain.OBS_RECT_WORK pRec1 = gmsEnemy3DWork.ene_com.rect_work[1]; AppMain.ObjRectWorkSet(pRec1, (short)-11, (short)-12, (short)11, (short)12); pRec1.flag |= 4U; gmsEnemy3DWork.ene_com.rect_work[2].flag &= 4294967291U; AppMain.OBS_RECT_WORK pRec2 = gmsEnemy3DWork.ene_com.rect_work[2]; AppMain.ObjRectWorkSet(pRec2, (short)-19, (short)-16, (short)19, (short)16); pRec2.flag &= 4294967291U; work.disp_flag |= 4194304U; work.move_flag &= 4294967167U; work.move_flag |= 256U; work.user_work = (uint)(work.pos.x + ((int)eve_rec.left << 12)); work.user_flag = (uint)(work.pos.x + ((int)eve_rec.left + (int)eve_rec.width << 12)); work.ppFunc = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmEneTStarNeedleMain); work.scale.x = AppMain.FX_F32_TO_FX32(1.25f); work.scale.y = AppMain.FX_F32_TO_FX32(1.25f); work.scale.z = AppMain.FX_F32_TO_FX32(1.25f); work.obj_3d.use_light_flag &= 4294967294U; work.obj_3d.use_light_flag |= 64U; return(work); }
// Token: 0x060008C9 RID: 2249 RVA: 0x0004F83C File Offset: 0x0004DA3C private static void gmGmkActNeedleFwMain(AppMain.OBS_OBJECT_WORK obj_work) { AppMain.GMS_ENEMY_3D_WORK gms_ENEMY_3D_WORK = (AppMain.GMS_ENEMY_3D_WORK)obj_work; AppMain.GMS_GMK_NEEDLE_WORK gms_GMK_NEEDLE_WORK = (AppMain.GMS_GMK_NEEDLE_WORK)gms_ENEMY_3D_WORK; AppMain.OBS_RECT_WORK obs_RECT_WORK = gms_ENEMY_3D_WORK.ene_com.rect_work[1]; if (gms_GMK_NEEDLE_WORK.needle_type == 4) { AppMain.OBS_OBJECT_WORK rider_obj = gms_ENEMY_3D_WORK.ene_com.col_work.obj_col.rider_obj; if (rider_obj != null && rider_obj.ride_obj == (AppMain.OBS_OBJECT_WORK)gms_ENEMY_3D_WORK) { if (rider_obj.obj_type == 1) { AppMain.amFlagOff(ref obj_work.flag, 2U); } } else { AppMain.amFlagOn(ref obj_work.flag, 2U); } } if (gms_GMK_NEEDLE_WORK.timer >= 60) { gms_GMK_NEEDLE_WORK.timer = 0; AppMain.gmGmkActNeedleScalingInit(obj_work); } else { gms_GMK_NEEDLE_WORK.timer++; } if ((gms_GMK_NEEDLE_WORK.scale_flag & 1U) != 0U) { AppMain.gmGmkActNeedleSetScaleColRect(obj_work); } }
private static void GmPlyEfctCreateHomingCursol(AppMain.GMS_PLAYER_WORK ply_work) { if (ply_work.enemy_obj == null) { return; } AppMain.GMS_ENEMY_COM_WORK enemyObj = (AppMain.GMS_ENEMY_COM_WORK)ply_work.enemy_obj; if (enemyObj.obj_work.obj_type != (ushort)2 && enemyObj.obj_work.obj_type != (ushort)3) { return; } AppMain.GMS_EFFECT_3DES_WORK efct_work = AppMain.GmEfctCmnEsCreate(enemyObj.obj_work, 95); efct_work.efct_com.obj_work.ppFunc = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmPlyEfctHomingCursolMain); AppMain.OBS_RECT_WORK obsRectWork = enemyObj.rect_work[2]; efct_work.efct_com.obj_work.user_timer = (int)obsRectWork.rect.left + (int)obsRectWork.rect.right >> 1 << 12; efct_work.efct_com.obj_work.user_work = (uint)((int)obsRectWork.rect.top + (int)obsRectWork.rect.bottom >> 1 << 12); if (((int)enemyObj.obj_work.disp_flag & 1) != 0) { efct_work.efct_com.obj_work.user_timer = -efct_work.efct_com.obj_work.user_timer; } if (((int)enemyObj.obj_work.disp_flag & 2) != 0) { efct_work.efct_com.obj_work.user_work = (uint)-(int)efct_work.efct_com.obj_work.user_work; } AppMain.GmComEfctSetDispOffset(efct_work, efct_work.efct_com.obj_work.user_timer, (int)efct_work.efct_com.obj_work.user_work, 524288); }
// Token: 0x06001576 RID: 5494 RVA: 0x000BA64C File Offset: 0x000B884C private static void gmGmkFlipperDefFuncLR(AppMain.OBS_RECT_WORK gimmick_rect, AppMain.OBS_RECT_WORK target_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 = target_rect.parent_obj; if (parent_obj2.obj_type != 1) { return; } gms_ENEMY_3D_WORK.ene_com.target_obj = parent_obj2; int num = 86016; int num2 = 0; if (( int )gms_ENEMY_3D_WORK.ene_com.eve_rec.width * 1000 == 0) { if (parent_obj2.pos.x < parent_obj.pos.x) { parent_obj.user_flag = 0U; num *= -1; } else { parent_obj.user_flag = 1U; } } else { parent_obj.user_flag = 0U; num *= -1; } int num3 = AppMain.FX_F32_TO_FX32((100f + (float)gms_ENEMY_3D_WORK.ene_com.eve_rec.left) * 0.01f); if (num3 < 0) { num3 = 0; } int num4 = AppMain.FX_F32_TO_FX32((100f + (float)gms_ENEMY_3D_WORK.ene_com.eve_rec.top) * 0.01f); if (num4 < 0) { num4 = 0; } num = AppMain.FX_Mul(num, num3); num2 = AppMain.FX_Mul(num2, num4); AppMain.gmGmkFlipperChangeModeHit(parent_obj); int no_spddown_timer = 12; if ((gms_ENEMY_3D_WORK.ene_com.eve_rec.flag & 2) != 0) { no_spddown_timer = 180; } AppMain.GmPlySeqInitPinball(( GMS_PLAYER_WORK )parent_obj2, num, num2, no_spddown_timer); 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(num2), ( double )AppMain.FX_FX32_TO_F32(num)) - 16384); }
// Token: 0x06000726 RID: 1830 RVA: 0x0003F934 File Offset: 0x0003DB34 private static void gmBoss4CapsuleDamageDefFunc(AppMain.OBS_RECT_WORK my_rect, AppMain.OBS_RECT_WORK your_rect) { AppMain.OBS_OBJECT_WORK parent_obj = my_rect.parent_obj; AppMain.OBS_OBJECT_WORK parent_obj2 = your_rect.parent_obj; AppMain.GMS_BOSS4_CAP_WORK w = (AppMain.GMS_BOSS4_CAP_WORK)parent_obj; AppMain.GMS_BOSS4_BODY_WORK gms_BOSS4_BODY_WORK = (AppMain.GMS_BOSS4_BODY_WORK)parent_obj.parent_obj; if (parent_obj2 != null && 1 == parent_obj2.obj_type) { if (AppMain._cap_inv_flag > 0) { return; } AppMain.GmBoss4UtilSetPlayerAttackReaction(parent_obj2, parent_obj); AppMain.GmSoundPlaySE("Enemy"); AppMain.GmBoss4CapsuleSetInvincible(30); AppMain.GmBoss4UtilInitNoHitTimer(gms_BOSS4_BODY_WORK.nohit_work, (AppMain.GMS_ENEMY_COM_WORK)gms_BOSS4_BODY_WORK, 25); if (!AppMain.IS_FLAG(4U, w)) { AppMain.SET_FLAG(1073741824U, w); if ((gms_BOSS4_BODY_WORK.flag[0] & 4096U) == 0U) { gms_BOSS4_BODY_WORK.flag[0] |= 2048U; gms_BOSS4_BODY_WORK.avoid_timer = 90; } } } }
// Token: 0x06000788 RID: 1928 RVA: 0x00042BE0 File Offset: 0x00040DE0 public static OBS_OBJECT_WORK GmEneTStarNeedleInit(AppMain.GMS_EVE_RECORD_EVENT eve_rec, int pos_x, int pos_y, byte type) { OBS_OBJECT_WORK obs_OBJECT_WORK = AppMain.GMM_ENEMY_CREATE_WORK(eve_rec, pos_x, pos_y, () => new AppMain.GMS_ENE_T_STAR_WORK(), "ENE_T_STAR"); AppMain.GMS_ENEMY_3D_WORK gms_ENEMY_3D_WORK = (AppMain.GMS_ENEMY_3D_WORK)obs_OBJECT_WORK; AppMain.ObjObjectCopyAction3dNNModel(obs_OBJECT_WORK, AppMain.gm_ene_t_star_obj_3d_list[1], gms_ENEMY_3D_WORK.obj_3d); AppMain.ObjObjectAction3dNNMotionLoad(obs_OBJECT_WORK, 0, true, AppMain.ObjDataGet(682), null, 0, null); AppMain.ObjDrawObjectSetToon(obs_OBJECT_WORK); obs_OBJECT_WORK.pos.z = 655360; AppMain.OBS_RECT_WORK obs_RECT_WORK = gms_ENEMY_3D_WORK.ene_com.rect_work[1]; AppMain.ObjRectWorkSet(obs_RECT_WORK, -11, -12, 11, 12); obs_RECT_WORK.flag |= 4U; gms_ENEMY_3D_WORK.ene_com.rect_work[2].flag &= 4294967291U; obs_RECT_WORK = gms_ENEMY_3D_WORK.ene_com.rect_work[2]; AppMain.ObjRectWorkSet(obs_RECT_WORK, -19, -16, 19, 16); obs_RECT_WORK.flag &= 4294967291U; obs_OBJECT_WORK.disp_flag |= 4194304U; obs_OBJECT_WORK.move_flag &= 4294967167U; obs_OBJECT_WORK.move_flag |= 256U; obs_OBJECT_WORK.user_work = ( uint )(obs_OBJECT_WORK.pos.x + (( int )eve_rec.left << 12)); obs_OBJECT_WORK.user_flag = ( uint )(obs_OBJECT_WORK.pos.x + (( int )(eve_rec.left + ( sbyte )eve_rec.width) << 12)); obs_OBJECT_WORK.ppFunc = AppMain.gmEneTStarNeedleMain; obs_OBJECT_WORK.scale.x = AppMain.FX_F32_TO_FX32(1.25f); obs_OBJECT_WORK.scale.y = AppMain.FX_F32_TO_FX32(1.25f); obs_OBJECT_WORK.scale.z = AppMain.FX_F32_TO_FX32(1.25f); obs_OBJECT_WORK.obj_3d.use_light_flag &= 4294967294U; obs_OBJECT_WORK.obj_3d.use_light_flag |= 64U; return(obs_OBJECT_WORK); }
// Token: 0x0600155D RID: 5469 RVA: 0x000B9970 File Offset: 0x000B7B70 private static void gmGmkLoopDefFunc(AppMain.OBS_RECT_WORK own_rect, AppMain.OBS_RECT_WORK target_rect) { AppMain.UNREFERENCED_PARAMETER(target_rect); OBS_OBJECT_WORK parent_obj = own_rect.parent_obj; parent_obj.user_flag |= 1U; }
// Token: 0x060017AB RID: 6059 RVA: 0x000D161C File Offset: 0x000CF81C private static void gmGmkSeesawStart(OBS_OBJECT_WORK obj_work) { AppMain.GMS_GMK_SEESAW_WORK gms_GMK_SEESAW_WORK = (AppMain.GMS_GMK_SEESAW_WORK)obj_work; gms_GMK_SEESAW_WORK.gmk_work.ene_com.rect_work[1].flag &= 4294967291U; AppMain.OBS_RECT_WORK obs_RECT_WORK = gms_GMK_SEESAW_WORK.gmk_work.ene_com.rect_work[2]; obs_RECT_WORK.ppDef = null; obs_RECT_WORK.ppHit = null; AppMain.ObjRectAtkSet(obs_RECT_WORK, 0, 0); AppMain.ObjRectDefSet(obs_RECT_WORK, 65534, 0); AppMain.ObjRectWorkSet(obs_RECT_WORK, -48, -24, 48, 0); obs_RECT_WORK = gms_GMK_SEESAW_WORK.gmk_work.ene_com.rect_work[0]; obs_RECT_WORK.flag |= 4U; obs_RECT_WORK.ppDef = null; obs_RECT_WORK.ppHit = null; AppMain.ObjRectWorkSet(obs_RECT_WORK, -2, -2, 2, 2); obj_work.flag &= 4294967293U; gms_GMK_SEESAW_WORK.initial_tilt = gms_GMK_SEESAW_WORK.tilt; gms_GMK_SEESAW_WORK.tilt_d = 0; gms_GMK_SEESAW_WORK.tilt_se_timer = 0; if (AppMain.seesaw_alive[( int )gms_GMK_SEESAW_WORK.seesaw_id] == 0) { AppMain.seesaw_tilt[( int )gms_GMK_SEESAW_WORK.seesaw_id] = gms_GMK_SEESAW_WORK.tilt; } else { gms_GMK_SEESAW_WORK.tilt = AppMain.seesaw_tilt[( int )gms_GMK_SEESAW_WORK.seesaw_id]; } obj_work.dir.z = ( ushort )gms_GMK_SEESAW_WORK.tilt; short[] array = AppMain.seesaw_alive; ushort seesaw_id = gms_GMK_SEESAW_WORK.seesaw_id; array[( int )seesaw_id] = ( short )(array[( int )seesaw_id] + 1); AppMain.mtTaskChangeTcbDestructor(obj_work.tcb, AppMain.gmGmkSeesawExitTCB); obj_work.ppFunc = AppMain.gmGmkSeesawStay; }
// Token: 0x060017A3 RID: 6051 RVA: 0x000D1308 File Offset: 0x000CF508 private static void gmGmkSsTimeDefFunc(AppMain.OBS_RECT_WORK mine_rect, AppMain.OBS_RECT_WORK match_rect) { AppMain.GMS_ENEMY_COM_WORK gms_ENEMY_COM_WORK = (AppMain.GMS_ENEMY_COM_WORK)mine_rect.parent_obj; GMS_PLAYER_WORK gms_PLAYER_WORK = (GMS_PLAYER_WORK)match_rect.parent_obj; if (gms_ENEMY_COM_WORK == null) { return; } if (gms_PLAYER_WORK == null || gms_PLAYER_WORK.obj_work.obj_type != 1) { return; } if (gms_PLAYER_WORK.gmk_obj == ( OBS_OBJECT_WORK )gms_ENEMY_COM_WORK) { return; } AppMain.GMS_EFFECT_3DES_WORK gms_EFFECT_3DES_WORK = AppMain.GmEfctZoneEsCreate(gms_ENEMY_COM_WORK.obj_work, 5, 17); gms_EFFECT_3DES_WORK.efct_com.obj_work.flag |= 512U; gms_EFFECT_3DES_WORK.efct_com.obj_work.ppFunc = AppMain.gmGmkSsTimeEfctMain; gms_EFFECT_3DES_WORK = AppMain.GmEfctZoneEsCreate(gms_ENEMY_COM_WORK.obj_work, 5, AppMain.gm_gmk_ss_time_add_msg[AppMain.GsEnvGetLanguage()]); gms_EFFECT_3DES_WORK.efct_com.obj_work.flag |= 512U; gms_EFFECT_3DES_WORK.efct_com.obj_work.ppFunc = AppMain.gmGmkSsTimeEfctMain; gms_EFFECT_3DES_WORK.obj_3des.command_state = 10U; gms_ENEMY_COM_WORK.enemy_flag |= 65536U; GmSound.PlaySE("Special6"); AppMain.GmFixRequestTimerFlash(); AppMain.g_gm_main_system.game_time += AppMain.gm_gmk_ss_time_add_subtract[( int )(( UIntPtr )gms_ENEMY_COM_WORK.obj_work.user_work)]; gms_ENEMY_COM_WORK.obj_work.flag |= 4U; }
private static void gmBoss4CapsuleAtkHitFunc( AppMain.OBS_RECT_WORK my_rect, AppMain.OBS_RECT_WORK your_rect) { ((AppMain.GMS_BOSS4_BODY_WORK)my_rect.parent_obj.parent_obj).flag[0] |= 268435456U; AppMain.GmEnemyDefaultAtkFunc(my_rect, your_rect); }
// Token: 0x0600026A RID: 618 RVA: 0x00013CA8 File Offset: 0x00011EA8 private static void gmGmkStopperHit(AppMain.OBS_RECT_WORK mine_rect, AppMain.OBS_RECT_WORK match_rect) { AppMain.OBS_OBJECT_WORK parent_obj = mine_rect.parent_obj; AppMain.GMS_PLAYER_WORK gms_PLAYER_WORK = (AppMain.GMS_PLAYER_WORK)match_rect.parent_obj; AppMain.GMS_GMK_STOPPER_WORK gms_GMK_STOPPER_WORK = (AppMain.GMS_GMK_STOPPER_WORK)parent_obj; int num = 0; if (gms_PLAYER_WORK == AppMain.g_gm_main_system.ply_work[( int )(( UIntPtr )0)]) { if (parent_obj.pos.y > gms_PLAYER_WORK.obj_work.pos.y) { if (gms_PLAYER_WORK.obj_work.spd.y >= 0) { num = 1; } } else if (gms_PLAYER_WORK.obj_work.spd.y <= 0) { num = 1; } if (num != 0) { AppMain.GmPlySeqInitStopper(gms_PLAYER_WORK, gms_GMK_STOPPER_WORK.gmk_work.ene_com); gms_GMK_STOPPER_WORK.gmk_work.ene_com.col_work.obj_col.obj = null; parent_obj.flag |= 2U; gms_GMK_STOPPER_WORK.ply_work = gms_PLAYER_WORK; parent_obj.user_timer = (parent_obj.pos.y >> 12) + ( int )gms_GMK_STOPPER_WORK.gmk_work.ene_com.col_work.obj_col.height + ( int )gms_GMK_STOPPER_WORK.gmk_work.ene_com.col_work.obj_col.ofst_y - ( int )gms_PLAYER_WORK.rect_work[0].rect.top; parent_obj.ppFunc = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmGmkStopperLockWait); return; } mine_rect.flag &= 4294573823U; } }
private static void gmBoss4CapsuleDamageDefFunc( AppMain.OBS_RECT_WORK my_rect, AppMain.OBS_RECT_WORK your_rect) { AppMain.OBS_OBJECT_WORK parentObj1 = my_rect.parent_obj; AppMain.OBS_OBJECT_WORK parentObj2 = your_rect.parent_obj; AppMain.GMS_BOSS4_CAP_WORK w = (AppMain.GMS_BOSS4_CAP_WORK)parentObj1; AppMain.GMS_BOSS4_BODY_WORK parentObj3 = (AppMain.GMS_BOSS4_BODY_WORK)parentObj1.parent_obj; if (parentObj2 == null || (ushort)1 != parentObj2.obj_type || AppMain._cap_inv_flag > 0) { return; } AppMain.GmBoss4UtilSetPlayerAttackReaction(parentObj2, parentObj1); AppMain.GmSoundPlaySE("Enemy"); AppMain.GmBoss4CapsuleSetInvincible(30); AppMain.GmBoss4UtilInitNoHitTimer(parentObj3.nohit_work, (AppMain.GMS_ENEMY_COM_WORK)parentObj3, 25); if (AppMain.IS_FLAG(4U, w)) { return; } AppMain.SET_FLAG(1073741824U, w); if (((int)parentObj3.flag[0] & 4096) != 0) { return; } parentObj3.flag[0] |= 2048U; parentObj3.avoid_timer = 90; }
// Token: 0x06000DB5 RID: 3509 RVA: 0x00079208 File Offset: 0x00077408 private static void gmGmkSteamPipeStart(OBS_OBJECT_WORK obj_work, int type) { AppMain.GMS_GMK_STEAMP_WORK gms_GMK_STEAMP_WORK = (AppMain.GMS_GMK_STEAMP_WORK)obj_work; if (type >= 4 && type < 8) { gms_GMK_STEAMP_WORK.gmk_work.ene_com.rect_work[0].flag &= 4294967291U; gms_GMK_STEAMP_WORK.gmk_work.ene_com.rect_work[1].flag &= 4294967291U; AppMain.OBS_RECT_WORK obs_RECT_WORK = gms_GMK_STEAMP_WORK.gmk_work.ene_com.rect_work[2]; obs_RECT_WORK.ppHit = null; if (type < 6) { obs_RECT_WORK.ppDef = AppMain.gmGmkSteamGateHit; gms_GMK_STEAMP_WORK.gmk_work.ene_com.col_work.obj_col.obj = obj_work; gms_GMK_STEAMP_WORK.gmk_work.ene_com.col_work.obj_col.width = 32; gms_GMK_STEAMP_WORK.gmk_work.ene_com.col_work.obj_col.height = 16; gms_GMK_STEAMP_WORK.gmk_work.ene_com.col_work.obj_col.ofst_x = -14; gms_GMK_STEAMP_WORK.gmk_work.ene_com.col_work.obj_col.ofst_y = -34; gms_GMK_STEAMP_WORK.gmk_work.ene_com.col_work.obj_col.dir = 0; } else { obs_RECT_WORK.ppDef = AppMain.gmGmkSteamExitHit; } AppMain.ObjRectAtkSet(obs_RECT_WORK, 0, 0); AppMain.ObjRectDefSet(obs_RECT_WORK, 65534, 0); AppMain.ObjRectWorkSet(obs_RECT_WORK, AppMain.tbl_gm_gmk_steampipe_rect[type][0], AppMain.tbl_gm_gmk_steampipe_rect[type][1], AppMain.tbl_gm_gmk_steampipe_rect[type][2], AppMain.tbl_gm_gmk_steampipe_rect[type][3]); obs_RECT_WORK.flag |= 4U; obj_work.flag &= 4294967293U; } gms_GMK_STEAMP_WORK.obj_type = type; gms_GMK_STEAMP_WORK.status = 0; obj_work.ppFunc = AppMain.gmGmkSteamPipeStay; }
// Token: 0x06000F0E RID: 3854 RVA: 0x000845BD File Offset: 0x000827BD public static void ObjRectDefSet(AppMain.OBS_RECT_WORK pRec, ushort usDefFlag, short sDefPower) { pRec.flag |= 4U; pRec.def_flag = usDefFlag; pRec.def_power = sDefPower; pRec.flag &= 4294967039U; }
private static AppMain.OBS_OBJECT_WORK GmEneUniuniNeedleInit( AppMain.GMS_EVE_RECORD_EVENT eve_rec, int pos_x, int pos_y, byte type) { AppMain.OBS_OBJECT_WORK work = AppMain.GMM_ENEMY_CREATE_WORK(eve_rec, pos_x, pos_y, (AppMain.TaskWorkFactoryDelegate)(() => (object)new AppMain.GMS_ENE_UNIUNI_WORK()), "ENE_UNIUNI"); AppMain.GMS_ENEMY_3D_WORK gmsEnemy3DWork = (AppMain.GMS_ENEMY_3D_WORK)work; AppMain.GMS_ENE_UNIUNI_WORK gmsEneUniuniWork = (AppMain.GMS_ENE_UNIUNI_WORK)work; AppMain.ObjObjectCopyAction3dNNModel(work, AppMain.gm_ene_uniuni_obj_3d_list[1], gmsEnemy3DWork.obj_3d); AppMain.ObjObjectAction3dNNMotionLoad(work, 0, true, AppMain.ObjDataGet(695), (string)null, 0, (AppMain.AMS_AMB_HEADER)null); AppMain.ObjDrawObjectSetToon(work); work.pos.z = 655360; AppMain.OBS_RECT_WORK pRec1 = gmsEnemy3DWork.ene_com.rect_work[1]; AppMain.ObjRectWorkSet(pRec1, (short)-4, (short)-4, (short)4, (short)4); pRec1.flag |= 4U; AppMain.OBS_RECT_WORK pRec2 = gmsEnemy3DWork.ene_com.rect_work[2]; AppMain.ObjRectWorkSet(pRec2, (short)-19, (short)0, (short)19, (short)32); pRec2.flag &= 4294967291U; gmsEnemy3DWork.ene_com.enemy_flag |= 32768U; work.move_flag &= 4294967167U; work.move_flag |= 256U; work.disp_flag |= 4194304U; AppMain.gmEneUniuniNeedleWaitInit(work); work.obj_3d.use_light_flag &= 4294967294U; work.obj_3d.use_light_flag |= 64U; return(work); }
// Token: 0x06000F16 RID: 3862 RVA: 0x00084AC0 File Offset: 0x00082CC0 private static void objRectCheckGroup(AppMain.ArrayPointer <AppMain.OBS_RECT_WORK> GroupA, AppMain.ArrayPointer <AppMain.OBS_RECT_WORK> GroupD, byte GroupNumA, byte GroupNumD, byte Index) { int x = 0; int x2 = 0; int x3 = 0; int x4 = 0; int num = 0; int num2 = 0; ushort w = 0; ushort w2 = 0; ushort w3 = 0; ushort w4 = 0; ushort num3 = 0; ushort num4 = 0; for (ushort num5 = 0; num5 < ( ushort )GroupNumA; num5 += 1) { AppMain.OBS_RECT_WORK obs_RECT_WORK = GroupA[(int)num5]; if (obs_RECT_WORK != null && (obs_RECT_WORK.flag & 2048U) == 0U && (obs_RECT_WORK.flag & 4U) != 0U && (( int )obs_RECT_WORK.target_g_flag & 1 << ( int )Index) != 0 && (obs_RECT_WORK.parent_obj == null || (obs_RECT_WORK.parent_obj.flag & 6U) == 0U)) { AppMain.ObjRectLTBSet(obs_RECT_WORK, ref x, ref x2, ref num); AppMain.ObjRectWHDSet(obs_RECT_WORK, ref w, ref w2, ref num3); for (ushort num6 = 0; num6 < ( ushort )GroupNumD; num6 += 1) { AppMain.OBS_RECT_WORK obs_RECT_WORK2 = GroupD[(int)num6]; if (GroupA[( int )num5] == null) { break; } if (obs_RECT_WORK2 != null && obs_RECT_WORK2 != obs_RECT_WORK && (obs_RECT_WORK2.parent_obj != obs_RECT_WORK.parent_obj || obs_RECT_WORK2.parent_obj == null) && ((obs_RECT_WORK2.flag | obs_RECT_WORK.flag) & 2048U) == 0U && (obs_RECT_WORK2.flag & 4U) != 0U && (obs_RECT_WORK2.parent_obj == null || (obs_RECT_WORK2.parent_obj.flag & 6U) == 0U)) { AppMain.ObjRectLTBSet(obs_RECT_WORK2, ref x3, ref x4, ref num2); AppMain.ObjRectWHDSet(obs_RECT_WORK2, ref w3, ref w4, ref num4); if (((obs_RECT_WORK2.flag | obs_RECT_WORK.flag) & 524288U) != 0U || (AppMain.OBM_LINE_AND_LINE(x, ( int )w, x3, ( int )w3) && AppMain.OBM_LINE_AND_LINE(x2, ( int )w2, x4, ( int )w4))) { ushort num7 = AppMain.objRectCheckFuncCall(obs_RECT_WORK, obs_RECT_WORK2); if ((num7 & 1) != 0) { if ((obs_RECT_WORK.flag & 65536U) != 0U) { obs_RECT_WORK.flag |= 512U; obs_RECT_WORK.flag &= 4294901759U; } GroupA.SetPrimitive(( int )num5, null); } if ((num7 & 2) != 0) { if ((obs_RECT_WORK2.flag & 65536U) != 0U) { obs_RECT_WORK2.flag |= 512U; obs_RECT_WORK2.flag &= 4294901759U; } GroupD.SetPrimitive(( int )num6, null); } } } } } } }
// Token: 0x06000E05 RID: 3589 RVA: 0x0007B91C File Offset: 0x00079B1C public static void gmEneKaniWalkInit(AppMain.OBS_OBJECT_WORK obj_work) { AppMain.GMS_ENEMY_3D_WORK gms_ENEMY_3D_WORK = (AppMain.GMS_ENEMY_3D_WORK)obj_work; AppMain.GmEneComActionSetDependHFlip(obj_work, 2, 2); obj_work.disp_flag |= 4U; obj_work.ppFunc = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmEneKaniWalkMain); obj_work.move_flag &= 4294967291U; if ((obj_work.disp_flag & 1U) != 0U) { obj_work.spd.x = -2048; } else { obj_work.spd.x = 2048; } AppMain.OBS_RECT_WORK obs_RECT_WORK = gms_ENEMY_3D_WORK.ene_com.rect_work[1]; AppMain.ObjRectWorkSet(obs_RECT_WORK, -11, -24, 11, 0); obs_RECT_WORK.flag |= 4U; AppMain.GMS_ENE_KANI_WORK gms_ENE_KANI_WORK = (AppMain.GMS_ENE_KANI_WORK)obj_work; if (gms_ENE_KANI_WORK.walk_s != 0) { gms_ENE_KANI_WORK.timer = 15; return; } gms_ENE_KANI_WORK.timer = ( int )(10 + AppMain.mtMathRand() % 20); }
// Token: 0x06000F2E RID: 3886 RVA: 0x0008573C File Offset: 0x0008393C private static ushort ObjRectWorkCheck(AppMain.OBS_RECT_WORK pObj1, AppMain.OBS_RECT_WORK pObj2) { if ((pObj1.flag & 4U) != 0U && (pObj2.flag & 4U) != 0U && (pObj1.flag & 2048U) == 0U && (pObj2.flag & 2048U) == 0U) { int x = 0; int x2 = 0; int x3 = 0; int x4 = 0; ushort w = 0; ushort w2 = 0; ushort w3 = 0; ushort w4 = 0; int num = 0; int num2 = 0; ushort num3 = 0; ushort num4 = 0; if (pObj1.parent_obj != null && (pObj1.parent_obj.flag & 6U) != 0U) { return(0); } if (pObj2.parent_obj != null && (pObj2.parent_obj.flag & 6U) != 0U) { return(0); } AppMain.ObjRectLTBSet(pObj1, ref x, ref x2, ref num); AppMain.ObjRectLTBSet(pObj2, ref x3, ref x4, ref num2); AppMain.ObjRectWHDSet(pObj1, ref w, ref w2, ref num3); AppMain.ObjRectWHDSet(pObj2, ref w3, ref w4, ref num4); if (AppMain.OBM_LINE_AND_LINE(x, ( int )w, x3, ( int )w3) && AppMain.OBM_LINE_AND_LINE(x2, ( int )w2, x4, ( int )w4)) { return(1); } } return(0); }
// Token: 0x06001B03 RID: 6915 RVA: 0x000F5864 File Offset: 0x000F3A64 private static AppMain.OBS_OBJECT_WORK GmGmkPulleyBaseInit(AppMain.GMS_EVE_RECORD_EVENT eve_rec, int pos_x, int pos_y, byte type) { pos_y -= 24576; AppMain.OBS_OBJECT_WORK obs_OBJECT_WORK = AppMain.GMM_ENEMY_CREATE_RIDE_WORK(eve_rec, pos_x, pos_y, () => new AppMain.GMS_GMK_PULLEY_WORK(), "GMK_PULLEY_BASE"); AppMain.GMS_ENEMY_3D_WORK gms_ENEMY_3D_WORK = (AppMain.GMS_ENEMY_3D_WORK)obs_OBJECT_WORK; ((AppMain.GMS_GMK_PULLEY_WORK)obs_OBJECT_WORK).se_handle = null; AppMain.mtTaskChangeTcbDestructor(obs_OBJECT_WORK.tcb, new AppMain.GSF_TASK_PROCEDURE(AppMain.gmGmkPulleyBaseExit)); AppMain.ObjObjectCopyAction3dNNModel(obs_OBJECT_WORK, AppMain.gm_gmk_pulley_obj_3d_list[0], gms_ENEMY_3D_WORK.obj_3d); AppMain.ObjObjectAction3dNNMotionLoad(obs_OBJECT_WORK, 0, false, AppMain.ObjDataGet(821), null, 0, null); AppMain.ObjDrawObjectActionSet(obs_OBJECT_WORK, 0); obs_OBJECT_WORK.move_flag |= 8448U; obs_OBJECT_WORK.disp_flag |= 4194308U; gms_ENEMY_3D_WORK.ene_com.col_work.obj_col.flag |= 134217728U; gms_ENEMY_3D_WORK.ene_com.rect_work[0].flag &= 4294967291U; gms_ENEMY_3D_WORK.ene_com.rect_work[1].flag &= 4294967291U; AppMain.OBS_RECT_WORK obs_RECT_WORK = gms_ENEMY_3D_WORK.ene_com.rect_work[2]; obs_RECT_WORK.ppHit = null; obs_RECT_WORK.ppDef = new AppMain.OBS_RECT_WORK_Delegate1(AppMain.gmGmkPulleyDefFunc); AppMain.ObjRectAtkSet(obs_RECT_WORK, 0, 0); AppMain.ObjRectDefSet(obs_RECT_WORK, 65534, 0); AppMain.ObjRectWorkSet(obs_RECT_WORK, -4, 9, 4, 24); obs_RECT_WORK.flag |= 1024U; obs_OBJECT_WORK.pos.z = 0; obs_OBJECT_WORK.ppFunc = null; AppMain.OBS_OBJECT_WORK obs_OBJECT_WORK2 = AppMain.GMM_EFFECT_CREATE_WORK(() => new AppMain.GMS_EFFECT_3DNN_WORK(), obs_OBJECT_WORK, 0, "GMK_PULLEY_ROT"); AppMain.GMS_EFFECT_3DNN_WORK gms_EFFECT_3DNN_WORK = (AppMain.GMS_EFFECT_3DNN_WORK)obs_OBJECT_WORK2; AppMain.ObjObjectCopyAction3dNNModel(obs_OBJECT_WORK2, AppMain.gm_gmk_pulley_obj_3d_list[1], gms_EFFECT_3DNN_WORK.obj_3d); obs_OBJECT_WORK2.move_flag |= 8448U; obs_OBJECT_WORK2.disp_flag |= 4194304U; obs_OBJECT_WORK2.disp_flag &= 4294967039U; obs_OBJECT_WORK2.flag |= 16U; obs_OBJECT_WORK2.ppFunc = new AppMain.MPP_VOID_OBS_OBJECT_WORK(AppMain.gmGmkPulleyRotMain); ((AppMain.GMS_GMK_PULLEY_WORK)obs_OBJECT_WORK).efct_work = null; return(obs_OBJECT_WORK); }
private static void gmGmkRockRideStopSetRect(AppMain.GMS_ENEMY_3D_WORK gimmick_work) { AppMain.OBS_RECT_WORK pRec = gimmick_work.ene_com.rect_work[2]; pRec.flag |= 1024U; AppMain.ObjRectDefSet(pRec, ushort.MaxValue, (short)3); pRec.ppDef = (AppMain.OBS_RECT_WORK_Delegate1)null; }