/******************************************************************* * Decompiled By: Bog * Decompiled File: scripts\mp\_crib.gsc * Game: Call of Duty: Infinite Warfare * Platform: PC * Function Count: 36 * Decompile Time: 1856 ms * Timestamp: 10/27/2023 12:14:57 AM *******************************************************************/ //Function Number: 1 init() { precacheshellshock("frag_grenade_mp"); func_DBDE(); func_DBE3(); func_1338C(); func_D0F6(); } //Function Number: 2 func_DBDE() { func_BF26("main","player_view1_start","player_view1_end"); var_00 = func_BF25("main","Primary Weapon","radial_weapons_primary",::func_157D); var_01 = func_BF25("main","Secondary Weapon","radial_weapons_secondary",::func_157E); var_02 = func_BF25("main","Gears","radial_gears",::func_1578); var_03 = func_BF25("main","Kill Streaks","radial_killstreaks",::func_1579); var_04 = func_BF25("main","Leaderboards","radial_leaderboards",::func_157A); func_BF26("gears","player_view2_start","player_view2_end"); func_BF26("weapons_primary","player_view3_start","player_view3_end"); func_BF26("weapons_secondary","player_view3_start","player_view3_end"); func_BF26("killstreak","player_view4_start","player_view4_end"); func_BF26("leaderboards","player_view5_start","player_view5_end"); } //Function Number: 3 func_DBE3() { foreach(var_01 in level.var_DBDF) { func_10417(var_01); for(var_02 = 0;var_02 < var_01.size;var_02++) { if(isdefined(var_01[var_02 + 1])) { var_03 = func_7FB4(var_01[var_02].var_D69A,var_01[var_02 + 1].var_D69A); var_01[var_02].var_62A6 = var_03; var_01[var_02 + 1].var_10BA0 = var_03; continue; } var_03 = func_7FB4(var_01[var_02].var_D69A,var_01[0].var_D69A) + 180; if(var_03 > 360) { var_03 = var_03 - 360; } var_01[var_02].var_62A6 = var_03; var_01[0].var_10BA0 = var_03; } } thread func_12F12(); thread func_13B36(); thread func_139A7(); thread func_4F2A(); } //Function Number: 4 func_4F2A() { level endon("game_ended"); level.var_4A6B = 1; for(;;) { if(!isdefined(level.var_C2C8)) { wait(0.05); continue; } var_00 = 1; while(!level.var_C2C8 buttonpressed("BUTTON_Y")) { wait(0.05); } level.var_C2C8 playsound("mouse_click"); if(var_00) { level.var_4A6B = level.var_4A6B * -1; var_00 = 0; } while(level.var_C2C8 buttonpressed("BUTTON_Y")) { wait(0.05); } } } //Function Number: 5 func_D0F6() { level thread func_C56E(); level thread func_E459(); } //Function Number: 6 func_E459() { level waittill("game_ended"); setdvar("cg_draw2d",1); } //Function Number: 7 func_C56E() { level waittill("connected",var_00); var_00 thread func_DD78(); var_00 waittill("spawned_player"); wait(1); var_00 method_83B7(); setdvar("cg_draw2d",0); if(!isdefined(var_00)) { return; } else { level.var_C2C8 = var_00; } var_00 thread func_7C17(); func_13FC9("main"); } //Function Number: 8 func_DD78() { self endon("disconnect"); var_00 = "autoassign"; while(!isdefined(self.pers["team"])) { wait(0.05); } self notify("menuresponse",game["menu_team"],var_00); wait(0.5); var_01 = getarraykeys(level.var_400C); var_02 = []; for(var_03 = 0;var_03 < var_01.size;var_03++) { if(!issubstr(var_01[var_03],"custom")) { var_02[var_02.size] = var_01[var_03]; } } for(;;) { var_04 = var_02[0]; self notify("menuresponse","changeclass",var_04); self waittill("spawned_player"); wait(0.1); } } //Function Number: 9 func_7C17() { level endon("game_ended"); self endon("disconnect"); for(;;) { var_00 = self getnormalizedmovement(); var_01 = vectortoangles(var_00); level.var_E77B = int(var_01[1]); wait(0.05); } } //Function Number: 10 func_BF26(param_00,param_01,param_02) { if(isdefined(level.var_DBDF) && level.var_DBDF.size) { } var_03 = getent(param_02,"targetname"); var_04 = vectornormalize(anglestoforward(var_03.angles)) * 40; level.var_DBDF[param_00] = []; level.var_DBE0[param_00]["view_start"] = param_01; level.var_DBE0[param_00]["view_pos"] = var_03.origin + var_04; level.var_DBE0[param_00]["player_view_pos"] = var_03.origin; level.var_DBE0[param_00]["view_angles"] = var_03.angles; } //Function Number: 11 func_BF25(param_00,param_01,param_02,param_03) { var_04 = getent(param_02,"targetname"); var_05 = func_80A9(param_00,var_04); var_06 = spawnstruct(); var_06.var_D699 = var_04.origin; var_06.label = param_01; var_06.var_724E = 1; var_06.var_724D = (0.5,0.5,1); var_06.var_D69A = var_05; var_06.var_1577 = param_03; var_06.var_DC07 = 8; level.var_DBDF[param_00][level.var_DBDF[param_00].size] = var_06; return var_06; } //Function Number: 12 func_12F12() { level endon("game_ended"); for(;;) { if(!isdefined(level.var_DBDD)) { wait(0.05); continue; } var_00 = level.var_1622; foreach(var_02 in level.var_DBDF[level.var_DBDD]) { if(func_9E4E(var_02.var_10BA0,var_02.var_62A6)) { level.var_1622 = var_02; continue; } var_02.var_724D = (0.5,0.5,1); } if(isdefined(level.var_1622)) { level.var_1622.var_724D = (1,1,0.5); if(isdefined(var_00) && var_00 != level.var_1622) { level.var_C2C8 playsound("mouse_over"); } } wait(0.05); } } //Function Number: 13 func_13B36() { level endon("game_ended"); for(;;) { if(!isdefined(level.var_C2C8)) { wait(0.05); continue; } var_00 = 1; while(!level.var_C2C8 buttonpressed("BUTTON_A")) { wait(0.05); } level.var_C2C8 playsound("mouse_click"); if(isdefined(level.var_1622) && var_00) { level.var_1622 notify("select_button_pressed"); [[ level.var_1622.var_1577 ]](); var_00 = 0; } while(level.var_C2C8 buttonpressed("BUTTON_A")) { wait(0.05); } } } //Function Number: 14 func_139A7() { level endon("game_ended"); for(;;) { if(!isdefined(level.var_C2C8)) { wait(0.05); continue; } var_00 = 1; while(!level.var_C2C8 buttonpressed("BUTTON_X")) { wait(0.05); } level.var_C2C8 playsound("mouse_click"); if(var_00) { func_1576(); var_00 = 0; } while(level.var_C2C8 buttonpressed("BUTTON_X")) { wait(0.05); } } } //Function Number: 15 func_10417(param_00) { for(var_01 = 0;var_01 < param_00.size - 1;var_01++) { for(var_02 = 0;var_02 < param_00.size - 1 - var_01;var_02++) { if(param_00[var_02 + 1].var_D69A < param_00[var_02].var_D69A) { func_32EA(param_00[var_02],param_00[var_02 + 1]); } } } } //Function Number: 16 func_32EA(param_00,param_01) { var_02 = param_00.var_D699; var_03 = param_00.label; var_04 = param_00.var_D69A; var_05 = param_00.var_1577; var_06 = param_00.var_DC07; param_00.var_D699 = param_01.var_D699; param_00.label = param_01.label; param_00.var_D69A = param_01.var_D69A; param_00.var_1577 = param_01.var_1577; param_00.var_DC07 = param_01.var_DC07; param_01.var_D699 = var_02; param_01.label = var_03; param_01.var_D69A = var_04; param_01.var_1577 = var_05; param_01.var_DC07 = var_06; } //Function Number: 17 func_5B5C(param_00) { foreach(var_02 in level.var_DBDF[param_00]) { var_02 thread func_5B5B(param_00); } } //Function Number: 18 func_5B5B(param_00) { level endon("game_ended"); self endon("remove_button"); var_01 = level.var_DBE0[param_00]["view_pos"]; var_02 = var_01 + func_DBDA(self.var_D69A,4); for(;;) { var_03 = (1,0,0); if(func_9E4E(self.var_10BA0,self.var_62A6)) { var_03 = (1,1,0); } if(isdefined(level.var_4A6B) && level.var_4A6B > 0) { var_04 = var_01 + func_DBDA(level.var_E77B,2); } wait(0.05); } } //Function Number: 19 func_13FC9(param_00,param_01) { level.var_1622 = undefined; if(isdefined(level.var_DBDD) && level.var_DBDD != "") { level.var_DBE1 = level.var_DBDD; } else { level.var_DBE1 = "main"; level.var_DBDD = "main"; } foreach(var_03 in level.var_DBDF[level.var_DBE1]) { var_03 notify("remove_button"); } if(isdefined(param_01) && param_01) { level.var_C2C8 func_83FD(level.var_DBE0[level.var_DBE1]["view_start"],param_00); } else { level.var_C2C8 func_83FC(level.var_DBE0[param_00]["view_start"]); } level thread func_5B5C(param_00); level.var_DBDD = param_00; } //Function Number: 20 func_80A9(param_00,param_01) { var_02 = level.var_DBE0[param_00]["view_angles"]; var_03 = level.var_DBE0[param_00]["view_pos"]; var_03 = var_03 + vectornormalize(anglestoforward(var_02)) * 40; var_04 = anglestoforward(var_02); var_05 = vectornormalize(anglestoup(var_02)); var_06 = param_01.angles; var_07 = param_01.origin; var_08 = vectornormalize(vectorfromlinetopoint(var_03,var_03 + var_04,var_07)); var_09 = acos(vectordot(var_08,var_05)); if(vectordot(anglestoright(var_02),var_08) < 0) { var_09 = 360 - var_09; } return var_09; } //Function Number: 21 func_DBDA(param_00,param_01) { var_02 = (270 - param_00,0,0); var_03 = anglestoforward(var_02); var_04 = vectornormalize(var_03); var_05 = var_04 * param_01; return var_05; } //Function Number: 22 func_7FB4(param_00,param_01) { var_02 = param_00 + param_01 + 720 / 2 - 360; return var_02; } //Function Number: 23 func_9E4E(param_00,param_01) { var_02 = level.var_E77B > param_00 && level.var_E77B < 360; var_03 = level.var_E77B > 0 && level.var_E77B < param_01; if(param_00 > param_01) { var_04 = var_02 || var_03; } else { var_04 = level.var_E77B > param_01 && level.var_E77B < var_02; } return var_04; } //Function Number: 24 func_1576() { if(isdefined(level.var_DBDD) && level.var_DBDD != "main") { func_13FC9("main",1); return; } } //Function Number: 25 func_157D() { iprintlnbold("action_weapons_primary"); func_13FC9("weapons_primary"); } //Function Number: 26 func_157E() { iprintlnbold("action_weapons_secondary"); func_13FC9("weapons_secondary"); } //Function Number: 27 func_1578() { iprintlnbold("action_gears"); func_13FC9("gears"); } //Function Number: 28 func_1579() { iprintlnbold("action_killstreak"); func_13FC9("killstreak"); } //Function Number: 29 func_157A() { iprintlnbold("action_leaderboards"); func_13FC9("leaderboards"); } //Function Number: 30 func_1338C() { level.var_1338D = []; func_31AD("player_view1_start"); func_31AD("player_view2_start"); func_31AD("player_view3_start"); func_31AD("player_view4_start"); func_31AD("player_view5_start"); } //Function Number: 31 func_31AD(param_00) { level.var_1338D[param_00] = []; var_01 = getent(param_00,"targetname"); level.var_1338D[param_00][level.var_1338D[param_00].size] = var_01; while(isdefined(var_01) && isdefined(var_01.target)) { var_02 = getent(var_01.target,"targetname"); level.var_1338D[param_00][level.var_1338D[param_00].size] = var_02; var_01 = var_02; } } //Function Number: 32 func_83FC(param_00) { if(!isdefined(level.var_5F21)) { var_01 = level.var_1338D[param_00][0]; level.var_5F21 = spawn("script_model",var_01.origin); level.var_5F21.angles = var_01.angles; self setorigin(level.var_5F21.origin - (0,0,65)); self linkto(level.var_5F21); wait(0.05); self setplayerangles(level.var_5F21.angles); thread func_7284(); } var_02 = 1; var_03 = abs(distance(level.var_5F21.origin,level.var_1338D[param_00][level.var_1338D[param_00].size - 1].origin)); var_02 = var_02 * var_03 / 1200; var_02 = max(var_02,0.1); var_04 = var_02; if(!1) { var_04 = var_04 * var_02 * level.var_1338D[param_00].size + 1; } thread func_2BD8(3,var_04); foreach(var_07, var_06 in level.var_1338D[param_00]) { if(1) { if(var_07 != level.var_1338D[param_00].size - 1) { continue; } } level.var_5F21 moveto(var_06.origin,var_02,var_02 * 0.5,0); level.var_5F21 rotateto(var_06.angles,var_02,var_02 * 0.5,0); wait(var_02); } } //Function Number: 33 func_83FD(param_00,param_01) { var_02 = 1; var_03 = abs(distance(level.var_5F21.origin,level.var_DBE0[param_01]["player_view_pos"])); var_02 = var_02 * var_03 / 1200; var_02 = max(var_02,0.1); var_04 = var_02; if(!1) { var_04 = var_04 * var_02 * level.var_1338D[param_00].size + 1; } thread func_2BD8(3,var_04); if(!1) { for(var_05 = level.var_1338D[param_00].size - 1;var_05 >= 0;var_05--) { var_06 = level.var_1338D[param_00][var_05]; level.var_5F21 moveto(var_06.origin,var_02); level.var_5F21 rotateto(var_06.angles,var_02); wait(var_02); } } thread func_2BD8(3,var_02); var_07 = level.var_DBE0[param_01]["player_view_pos"]; var_08 = level.var_DBE0[param_01]["view_angles"]; level.var_5F21 moveto(var_07,var_02,var_02 * 0.5,0); level.var_5F21 rotateto(var_08,var_02,var_02 * 0.5,0); wait(var_02); } //Function Number: 34 func_126C0(param_00) { self setblurforplayer(20,param_00 + 0.2 / 2); self setblurforplayer(0,param_00 + 0.2 / 2); self shellshock("frag_grenade_mp",param_00 + 0.2); } //Function Number: 35 func_2BD8(param_00,param_01) { var_02 = int(param_01 / 0.05); for(var_03 = 0;var_03 < var_02;var_03++) { var_04 = var_03 / var_02; var_05 = sin(180 * var_04); var_06 = param_00 * var_05; setdvar("r_blur",var_06); wait(0.05); } setdvar("r_blur",0); } //Function Number: 36 func_7284() { level endon("game_ended"); self endon("disconnect"); level.var_5F21 endon("remove_dummy"); for(;;) { self setplayerangles(level.var_5F21.angles); wait(0.05); } }