/******************************************************************* * Decompiled By: Bog * Decompiled File: maps\_utility_code.gsc * Game: Call of Duty: Ghosts * Platform: PC * Function Count: 89 * Decompile Time: 1595 ms * Timestamp: 10/27/2023 1:26:05 AM *******************************************************************/ //Function Number: 1 func_4E22(param_00,param_01,param_02,param_03) { for(var_04 = 0;var_04 < param_03 * 20;var_04++) { wait(0.05); } } //Function Number: 2 func_7D00(param_00,param_01) { var_02 = param_00.var_7CF5; var_03 = param_01.var_7CF5; self.var_ED8[var_03] = param_00; self.var_ED8[var_02] = param_01; self.var_ED8[var_02].var_7CF5 = var_02; self.var_ED8[var_03].var_7CF5 = var_03; } //Function Number: 3 func_8B1B(param_00,param_01) { waittillframeend; var_02 = []; if(level.var_8AB1 == 1) { var_02[0] = randomfloatrange(param_00,param_01); level.var_8AB0 = var_02; level.active_wait_spread = undefined; } var_02[0] = param_00; var_02[var_02.size] = param_01; for(var_03 = 1;var_03 < level.var_8AB1 - 1;var_03++) { var_02 = func_8B1C(var_02); } level.var_8AB0 = common_scripts\utility::array_randomize(var_02); level.active_wait_spread = undefined; } //Function Number: 4 func_8B1C(param_00) { var_01 = -1; var_02 = 0; for(var_03 = 0;var_03 < param_00.size - 1;var_03++) { var_04 = param_00[var_03 + 1] - param_00[var_03]; if(var_04 <= var_02) { continue; } var_02 = var_04; var_01 = var_03; } var_05 = []; for(var_06 = 0;var_06 < param_00.size;var_06++) { if(var_01 == var_06 - 1) { var_05[var_05.size] = randomfloatrange(param_00[var_01],param_00[var_01 + 1]); } var_05[var_05.size] = param_00[var_06]; } return var_05; } //Function Number: 5 func_8B82(param_00) { while(level.var_2387[self.script_deathchain] > 0) { level waittill("spawner_expired" + self.script_deathchain); } if(param_00) { self waittill("trigger"); } var_01 = maps\_utility::func_39D6(); common_scripts\utility::flag_set(var_01); } //Function Number: 6 func_8AC4() { self endon("death"); self endon("removed from battleChatter"); while(self.var_4968) { wait(0.05); } } //Function Number: 7 func_8AA2(param_00) { self endon("death"); param_00 endon("trigger"); self waittill("trigger"); param_00 notify("trigger"); } //Function Number: 8 func_8AA0(param_00,param_01) { var_02 = getentarray(param_00,param_01); var_03 = spawnstruct(); common_scripts\utility::func_F1B(var_02,::func_8AA2,var_03); var_03 waittill("trigger"); } //Function Number: 9 ent_waits_for_trigger(param_00) { self endon("done"); param_00 waittill("trigger"); self notify("done"); } //Function Number: 10 func_866D() { self notify("debug_color_update"); self endon("debug_color_update"); var_00 = self.unique_id; self waittill("death"); level.var_23D4[var_00] = undefined; level notify("updated_color_friendlies"); } //Function Number: 11 func_866C(param_00) { thread func_866D(); if(isdefined(self.var_6BCF)) { level.var_23D4[param_00] = self.var_6BCF; } else { level.var_23D4[param_00] = undefined; } level notify("updated_color_friendlies"); } //Function Number: 12 func_4673() { } //Function Number: 13 func_55B1(param_00) { self notify("new_color_being_set"); self.var_55B5 = 1; maps\_colors::func_4D55(); self endon("new_color_being_set"); self endon("death"); waittillframeend; waittillframeend; if(isdefined(self.var_6BCF)) { self.currentcolorcode = level.currentcolorforced[maps\_colors::func_39C5()][self.var_6BCF]; if(isdefined(self.dontcolormove)) { self.dontcolormove = undefined; } else { thread maps\_colors::func_3D86(); } } self.var_55B5 = undefined; self notify("done_setting_new_color"); } //Function Number: 14 radio_queue_thread(param_00) { var_01 = gettime(); for(;;) { if(!isdefined(self._radio_queue)) { break; } self waittill("finished_radio"); if(gettime() > var_01 + 7500) { } } self._radio_queue = 1; maps\_utility::func_8A74(level.var_4C11,0.5); level.player maps\_utility::func_5D23(level.var_6AF5[param_00]); self._radio_queue = undefined; level.var_4C11 = gettime(); self notify("finished_radio"); } //Function Number: 15 ent_wait_for_flag_or_time_elapses(param_00,param_01) { self endon(param_00); wait(param_01); } //Function Number: 16 func_8B51(param_00,param_01,param_02) { param_00 endon("done"); [[ param_01 ]](param_02); param_00 notify("done"); } //Function Number: 17 func_4264(param_00,param_01) { if(!isdefined(param_01)) { wait(param_00); } var_02 = param_00 * 20; for(var_03 = 0;var_03 < var_02;var_03++) { if([[ param_01 ]]()) { break; } wait(0.05); } } //Function Number: 18 hint_timeout(param_00) { wait(param_00); self.var_8119 = 1; } //Function Number: 19 func_424D(param_00,param_01,param_02,param_03,param_04,param_05,param_06) { return param_00 + _hint_stick_get_config_suffix(param_01,param_02,param_03,param_04,param_05,param_06); } //Function Number: 20 _hint_stick_get_config_suffix(param_00,param_01,param_02,param_03,param_04,param_05) { var_06 = getsticksconfig(); if(level.player common_scripts\utility::func_4828()) { if((isdefined(level.ps3) && level.ps3) || isdefined(level.ps4) && level.ps4) { if(issubstr(var_06,"southpaw") || param_05 && issubstr(var_06,"legacy")) { return param_04; } return param_03; } if(issubstr(var_06,"southpaw") || param_05 && issubstr(var_06,"legacy")) { return param_02; } return param_01; } return param_00; } //Function Number: 21 _hint_stick_update_string(param_00,param_01) { var_02 = param_01 + param_00; var_03 = level.var_8357[var_02]; level.hint_breakfunc = var_03; } //Function Number: 22 _hint_stick_update_breakfunc(param_00,param_01) { var_02 = param_01 + param_00; var_03 = level.var_8358[var_02]; level.current_hint settext(var_03); } //Function Number: 23 func_424E(param_00,param_01,param_02,param_03,param_04,param_05,param_06) { level notify("hint_change_config"); level endon("hint_change_config"); var_07 = _hint_stick_get_config_suffix(param_01,param_02,param_03,param_04,param_05,param_06); _hint_stick_update_string(var_07,param_00); _hint_stick_update_breakfunc(var_07,param_00); while(isdefined(level.current_hint)) { var_08 = _hint_stick_get_config_suffix(param_01,param_02,param_03,param_04,param_05,param_06); if(var_08 != var_07) { var_07 = var_08; _hint_stick_update_string(var_07,param_00); _hint_stick_update_breakfunc(var_07,param_00); } common_scripts\utility::func_8AFE(); } } //Function Number: 24 func_4263(param_00,param_01,param_02,param_03,param_04,param_05,param_06) { var_07 = gettime(); if(!isdefined(param_06)) { param_06 = 0; } if(!isalive(self)) { } var_08 = 1; var_09 = 0.75; var_0A = 0.95; var_0B = 0.4; var_0C = 2; if(isdefined(level.hint_fontscale)) { var_0C = level.hint_fontscale; } if(isdefined(self.current_global_hint)) { if(self.current_global_hint == param_00) { } } maps\_utility::ent_flag_waitopen("global_hint_in_use"); if(isdefined(self.current_global_hint)) { if(self.current_global_hint == param_00) { } } maps\_utility::func_2F48("global_hint_in_use"); self.current_global_hint = param_00; var_0D = maps\_hud_util::func_20D1("default",var_0C); level.current_hint = var_0D; level.hint_breakfunc = param_01; thread destroy_hint_on_friendlyfire(var_0D); level endon("friendlyfire_mission_fail"); var_0D.alpha = 0.9; var_0D.x = 0; var_0D.y = -68; var_0D.alignx = "center"; var_0D.aligny = "middle"; var_0D.horzalign = "center"; var_0D.vertalign = "middle"; var_0D.foreground = 0; var_0D.hidewhendead = 1; var_0D.hidewheninmenu = 1; var_0D settext(param_00); var_0D.alpha = 0; var_0D fadeovertime(var_08); var_0D.alpha = var_0A; func_4264(var_08,level.hint_breakfunc); var_0E = 0; if(isdefined(param_04)) { var_0E = 3; } else if(isdefined(param_03)) { var_0E = 2; } else if(isdefined(param_02)) { var_0E = 1; } var_0F = spawnstruct(); var_0F.var_8119 = 0; if(isdefined(param_05)) { var_0F thread hint_timeout(param_05); } if(isdefined(level.hint_breakfunc)) { for(;;) { var_0D fadeovertime(var_09); var_0D.alpha = var_0B; func_4264(var_09,level.hint_breakfunc); if(var_0E == 3) { if([[ level.hint_breakfunc ]](param_02,param_03,param_04)) { break; } } else if(var_0E == 2) { if([[ level.hint_breakfunc ]](param_02,param_03)) { break; } } else if(var_0E == 1) { if([[ level.hint_breakfunc ]](param_02)) { break; } } else if([[ level.hint_breakfunc ]]()) { break; } var_0D fadeovertime(var_09); var_0D.alpha = var_0A; func_4264(var_09,level.hint_breakfunc); if(var_0F.var_8119) { break; } if(var_0E == 3) { if([[ level.hint_breakfunc ]](param_02,param_03,param_04)) { break; } continue; } if(var_0E == 2) { if([[ level.hint_breakfunc ]](param_02,param_03)) { break; } continue; } if(var_0E == 1) { if([[ level.hint_breakfunc ]](param_02)) { break; } continue; } if([[ level.hint_breakfunc ]]()) { break; } } } else { for(var_10 = 0;var_10 < 1;var_10++) { var_0D fadeovertime(var_09); var_0D.alpha = var_0B; func_4264(var_09,level.hint_breakfunc); var_0D fadeovertime(var_09); var_0D.alpha = var_0A; func_4264(var_09,level.hint_breakfunc); } } maps\_utility::func_8A74(var_07,param_06); var_0D notify("destroying"); self.current_global_hint = undefined; var_0D destroy(); level.current_hint = undefined; maps\_utility::func_2F44("global_hint_in_use"); } //Function Number: 25 destroy_hint_on_friendlyfire(param_00) { param_00 endon("destroying"); level waittill("friendlyfire_mission_fail"); if(!isdefined(param_00)) { } self.current_global_hint = undefined; param_00 destroy(); maps\_utility::func_2F44("global_hint_in_use"); } //Function Number: 26 func_7513(param_00) { param_00.var_8119 = 0; if(!isalive(self)) { } var_01 = 1; var_02 = 0.75; var_03 = 0.95; var_04 = 0.4; maps\_utility::ent_flag_waitopen("global_hint_in_use"); maps\_utility::func_2F48("global_hint_in_use"); if(param_00.var_8119) { } if(isdefined(param_00.timeout)) { param_00 thread hint_timeout(param_00.timeout); } var_05 = maps\_hud_util::func_20D1("objective",2); var_05.alpha = 0.9; var_05.x = 0; var_05.y = -38; var_05.alignx = "center"; var_05.aligny = "middle"; var_05.horzalign = "center"; var_05.vertalign = "middle"; var_05.foreground = 0; var_05.hidewhendead = 1; var_05 settext(param_00.var_7CDD); var_05.alpha = 0; var_05 fadeovertime(var_01); var_05.alpha = var_03; func_4264(var_01); for(;;) { var_05 fadeovertime(var_02); var_05.alpha = var_04; func_4264(var_02); if(param_00.var_8119) { break; } var_05 fadeovertime(var_02); var_05.alpha = var_03; func_4264(var_02); if(param_00.var_8119) { break; } } var_05 destroy(); maps\_utility::func_2F44("global_hint_in_use"); } //Function Number: 27 func_4D8A(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08) { if(isdefined(self.var_3353) && self.var_3353 == gettime()) { wait(0.1); } var_09 = self gettagorigin(param_01); var_0A = self gettagangles(param_01); param_00 maps\_utility::func_4D86(var_09,var_0A,param_02,param_03,param_04,param_05,param_06,param_07,param_08); if(param_08) { } param_00 playerlinkto(self,param_01,param_03,param_04,param_05,param_06,param_07,0); } //Function Number: 28 lerp_player_view_to_tag_oldstyle_internal(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08) { if(isdefined(self.var_3353) && self.var_3353 == gettime()) { wait(0.1); } var_09 = self gettagorigin(param_01); var_0A = self gettagangles(param_01); param_00 maps\_utility::func_4D87(var_09,var_0A,param_02,param_03,param_04,param_05,param_06,param_07,1); if(param_08) { } param_00 playerlinktodelta(self,param_01,param_03,param_04,param_05,param_06,param_07,0); } //Function Number: 29 function_stack_wait(param_00) { self endon("death"); param_00 common_scripts\utility::func_8B4F("function_done","death"); } //Function Number: 30 function_stack_wait_finish(param_00) { function_stack_wait(param_00); if(!isdefined(self)) { return 0; } if(!issentient(self)) { return 1; } if(isalive(self)) { return 1; } return 0; } //Function Number: 31 func_35BB(param_00,param_01,param_02,param_03,param_04,param_05,param_06) { self endon("death"); if(!isdefined(param_00.function_stack)) { param_00.function_stack = []; } param_00.function_stack[param_00.function_stack.size] = self; thread func_35BC(param_00); function_stack_caller_waits_for_turn(param_00); if(isdefined(param_00) && isdefined(param_00.function_stack)) { self.var_35BA = 1; self notify("function_stack_func_begun"); if(isdefined(param_06)) { param_00 [[ param_01 ]](param_02,param_03,param_04,param_05,param_06); } else if(isdefined(param_05)) { param_00 [[ param_01 ]](param_02,param_03,param_04,param_05); } else if(isdefined(param_04)) { param_00 [[ param_01 ]](param_02,param_03,param_04); } else if(isdefined(param_03)) { param_00 [[ param_01 ]](param_02,param_03); } else if(isdefined(param_02)) { param_00 [[ param_01 ]](param_02); } else { param_00 [[ param_01 ]](); } if(isdefined(param_00) && isdefined(param_00.function_stack)) { param_00.function_stack = common_scripts\utility::array_remove(param_00.function_stack,self); param_00 notify("level_function_stack_ready"); } } if(isdefined(self)) { self.var_35BA = 0; self notify("function_done"); } } //Function Number: 32 func_35BC(param_00) { self endon("function_done"); self waittill("death"); if(isdefined(param_00)) { param_00.function_stack = common_scripts\utility::array_remove(param_00.function_stack,self); param_00 notify("level_function_stack_ready"); } } //Function Number: 33 function_stack_caller_waits_for_turn(param_00) { param_00 endon("death"); self endon("death"); param_00 endon("clear_function_stack"); while(param_00.function_stack[0] != self) { param_00 waittill("level_function_stack_ready"); } } //Function Number: 34 func_859F(param_00) { level endon("player_flashed"); wait(param_00); common_scripts\utility::func_337C("player_flashed"); } //Function Number: 35 func_8A9A(param_00) { self endon("death"); param_00 waittill("sounddone"); return 1; } //Function Number: 36 func_45CA(param_00) { level.lvl_visionset = param_00; if(!isdefined(level.vision_cheat_enabled)) { level.vision_cheat_enabled = 0; } return level.vision_cheat_enabled; } //Function Number: 37 func_0F22(param_00,param_01,param_02) { array_waitlogic2(param_00,param_01,param_02); self._array_wait = 0; self notify("_array_wait"); } //Function Number: 38 array_waitlogic2(param_00,param_01,param_02) { param_00 endon(param_01); param_00 endon("death"); if(isdefined(param_02)) { wait(param_02); } param_00 waittill(param_01); } //Function Number: 39 func_3047(param_00) { if(param_00.var_5AED.size == 0) { param_00.caller [[ param_00.func ]](); } else if(param_00.var_5AED.size == 1) { param_00.caller [[ param_00.func ]](param_00.var_5AED[0]); } else if(param_00.var_5AED.size == 2) { param_00.caller [[ param_00.func ]](param_00.var_5AED[0],param_00.var_5AED[1]); } else if(param_00.var_5AED.size == 3) { param_00.caller [[ param_00.func ]](param_00.var_5AED[0],param_00.var_5AED[1],param_00.var_5AED[2]); } if(param_00.var_5AED.size == 4) { param_00.caller [[ param_00.func ]](param_00.var_5AED[0],param_00.var_5AED[1],param_00.var_5AED[2],param_00.var_5AED[3]); } if(param_00.var_5AED.size == 5) { param_00.caller [[ param_00.func ]](param_00.var_5AED[0],param_00.var_5AED[1],param_00.var_5AED[2],param_00.var_5AED[3],param_00.var_5AED[4]); } } //Function Number: 40 func_3048(param_00) { if(param_00.var_5AED.size == 0) { [[ param_00.func ]](); } else if(param_00.var_5AED.size == 1) { [[ param_00.func ]](param_00.var_5AED[0]); } else if(param_00.var_5AED.size == 2) { [[ param_00.func ]](param_00.var_5AED[0],param_00.var_5AED[1]); } else if(param_00.var_5AED.size == 3) { [[ param_00.func ]](param_00.var_5AED[0],param_00.var_5AED[1],param_00.var_5AED[2]); } if(param_00.var_5AED.size == 4) { [[ param_00.func ]](param_00.var_5AED[0],param_00.var_5AED[1],param_00.var_5AED[2],param_00.var_5AED[3]); } if(param_00.var_5AED.size == 5) { [[ param_00.func ]](param_00.var_5AED[0],param_00.var_5AED[1],param_00.var_5AED[2],param_00.var_5AED[3],param_00.var_5AED[4]); } } //Function Number: 41 func_3049(param_00,param_01) { if(!isdefined(param_00.caller)) { } for(var_02 = 0;var_02 < param_01.size;var_02++) { param_01[var_02].caller endon(param_01[var_02].var_2D50); } if(param_00.var_5AED.size == 0) { param_00.caller [[ param_00.func ]](); } else if(param_00.var_5AED.size == 1) { param_00.caller [[ param_00.func ]](param_00.var_5AED[0]); } else if(param_00.var_5AED.size == 2) { param_00.caller [[ param_00.func ]](param_00.var_5AED[0],param_00.var_5AED[1]); } else if(param_00.var_5AED.size == 3) { param_00.caller [[ param_00.func ]](param_00.var_5AED[0],param_00.var_5AED[1],param_00.var_5AED[2]); } if(param_00.var_5AED.size == 4) { param_00.caller [[ param_00.func ]](param_00.var_5AED[0],param_00.var_5AED[1],param_00.var_5AED[2],param_00.var_5AED[3]); } if(param_00.var_5AED.size == 5) { param_00.caller [[ param_00.func ]](param_00.var_5AED[0],param_00.var_5AED[1],param_00.var_5AED[2],param_00.var_5AED[3],param_00.var_5AED[4]); } } //Function Number: 42 func_8B63(param_00,param_01) { self endon("all_funcs_ended"); self endon("any_funcs_aborted"); func_3049(param_00,param_01); self.count--; self notify("func_ended"); } //Function Number: 43 func_8B20(param_00,param_01) { self endon("all_funcs_ended"); self endon("any_funcs_aborted"); func_3049(param_00,param_01); self.abort_count--; self notify("abort_func_ended"); } //Function Number: 44 func_2818(param_00) { self endon("all_funcs_ended"); if(!param_00.size) { } var_01 = 0; self.abort_count = param_00.size; var_02 = []; common_scripts\utility::array_levelthread(param_00,::func_8B20,var_02); for(;;) { if(self.abort_count <= var_01) { break; } self waittill("abort_func_ended"); } self notify("any_funcs_aborted"); } //Function Number: 45 func_8276(param_00) { if(isdefined(self.forward)) { var_01 = anglestoforward(param_00.angles); param_00.origin = param_00.origin + var_01 * self.forward; } if(isdefined(self.right)) { var_02 = anglestoright(param_00.angles); param_00.origin = param_00.origin + var_02 * self.right; } if(isdefined(self.up)) { var_03 = anglestoup(param_00.angles); param_00.origin = param_00.origin + var_03 * self.up; } if(isdefined(self.yaw)) { param_00 addyaw(self.yaw); } if(isdefined(self.var_5C59)) { param_00 addpitch(self.var_5C59); } if(isdefined(self.var_67A3)) { param_00 addroll(self.var_67A3); } } //Function Number: 46 func_2BB1(param_00,param_01,param_02,param_03,param_04) { self notify("start_dynamic_run_speed"); self endon("death"); self endon("stop_dynamic_run_speed"); self endon("start_dynamic_run_speed"); level endon("_stealth_spotted"); if(maps\_utility::ent_flag_exist("_stealth_custom_anim")) { maps\_utility::ent_flag_waitopen("_stealth_custom_anim"); } if(!maps\_utility::ent_flag_exist("dynamic_run_speed_stopped")) { maps\_utility::func_2F47("dynamic_run_speed_stopped"); maps\_utility::func_2F47("dynamic_run_speed_stopping"); } else { maps\_utility::func_2F44("dynamic_run_speed_stopping"); maps\_utility::func_2F44("dynamic_run_speed_stopped"); } self.run_speed_state = ""; self.var_58A2 = self.moveplaybackrate; thread func_7C1D(); var_05 = param_00 * param_00; var_06 = param_01 * param_01; var_07 = param_02 * param_02; var_08 = param_03 * param_03; for(;;) { wait(0.05); var_09 = level.players[0]; foreach(var_0B in level.players) { if(distancesquared(var_09.origin,self.origin) > distancesquared(var_0B.origin,self.origin)) { var_09 = var_0B; } } var_0D = anglestoforward(self.angles); var_0E = vectornormalize(var_09.origin - self.origin); var_0F = vectordot(var_0D,var_0E); var_10 = distancesquared(self.origin,var_09.origin); var_11 = var_10; if(isdefined(param_04)) { var_12 = common_scripts\utility::func_3A56(var_09.origin,param_04); var_11 = distancesquared(var_12.origin,var_09.origin); } var_13 = 0; if(isdefined(self.last_set_goalent)) { var_13 = [[ level.drs_ahead_test ]](self.last_set_goalent,param_01); } else if(isdefined(self.var_4C22)) { var_13 = [[ level.drs_ahead_test ]](self.var_4C22,param_01); } if(isdefined(self.var_1FFA) && self.var_1FFA && !self.dontchangemoveplaybackrate) { self.moveplaybackrate = 1; } if(var_10 < var_06 || var_0F > -0.25 || var_13) { func_2BAF("sprint"); wait(0.5); continue; } else if(var_10 < var_05 || var_0F > -0.25) { func_2BAF("run"); wait(0.5); continue; } else if(var_11 > var_07) { if(self.a.var_5486 != "stop") { func_2BAF("stop"); wait(0.5); } continue; } else if(var_10 > var_08) { func_2BAF("jog"); wait(0.5); continue; } } } //Function Number: 47 func_7C1D() { self endon("start_dynamic_run_speed"); self endon("death"); func_7C1E(); if(!self.dontchangemoveplaybackrate) { self.moveplaybackrate = self.var_58A2; } if(isdefined(level.scr_anim["generic"]["DRS_run"])) { if(isarray(level.scr_anim["generic"]["DRS_run"])) { maps\_utility::func_6EF1("DRS_run"); } else { maps\_utility::func_6EF0("DRS_run"); } } else { maps\_utility::clear_run_anim(); } self notify("stop_loop"); maps\_utility::func_2F44("dynamic_run_speed_stopping"); maps\_utility::func_2F44("dynamic_run_speed_stopped"); } //Function Number: 48 func_7C1E() { level endon("_stealth_spotted"); self waittill("stop_dynamic_run_speed"); } //Function Number: 49 func_2BAE(param_00,param_01) { if(!isdefined(param_00.classname)) { if(!isdefined(param_00.type)) { var_02 = ::maps\_spawner::func_39C4; } else { var_02 = ::maps\_spawner::func_39C3; } } else { var_02 = ::maps\_spawner::get_target_ents; } return maps\_spawner::func_3D5F(param_00,var_02,param_01); } //Function Number: 50 func_2BAF(param_00) { if(self.run_speed_state == param_00) { } self.run_speed_state = param_00; switch(param_00) { case "sprint": if(isdefined(self.var_1FFA) && self.var_1FFA && !self.dontchangemoveplaybackrate) { self.moveplaybackrate = 1; } else if(!self.dontchangemoveplaybackrate) { self.moveplaybackrate = 1.15; } if(isarray(level.scr_anim["generic"]["DRS_sprint"])) { maps\_utility::func_6EF1("DRS_sprint"); } else { maps\_utility::func_6EF0("DRS_sprint"); } self notify("stop_loop"); maps\_utility::anim_stopanimscripted(); maps\_utility::func_2F44("dynamic_run_speed_stopped"); break; case "run": if(!self.dontchangemoveplaybackrate) { self.moveplaybackrate = self.var_58A2; } if(isdefined(level.scr_anim["generic"]["DRS_run"])) { if(isarray(level.scr_anim["generic"]["DRS_run"])) { maps\_utility::func_6EF1("DRS_run"); } else { maps\_utility::func_6EF0("DRS_run"); } } else { maps\_utility::clear_run_anim(); } self notify("stop_loop"); maps\_utility::anim_stopanimscripted(); maps\_utility::func_2F44("dynamic_run_speed_stopped"); break; case "stop": thread func_2BB2(); break; case "jog": if(!self.dontchangemoveplaybackrate) { self.moveplaybackrate = self.var_58A2; } if(isdefined(level.scr_anim["generic"]["DRS_combat_jog"])) { if(isarray(level.scr_anim["generic"]["DRS_combat_jog"])) { maps\_utility::func_6EF1("DRS_combat_jog"); } else { maps\_utility::func_6EF0("DRS_combat_jog"); } } else { maps\_utility::clear_run_anim(); } self notify("stop_loop"); maps\_utility::anim_stopanimscripted(); maps\_utility::func_2F44("dynamic_run_speed_stopped"); break; case "crouch": break; } } //Function Number: 51 func_2BB2() { self endon("death"); if(maps\_utility::ent_flag("dynamic_run_speed_stopped")) { } if(maps\_utility::ent_flag("dynamic_run_speed_stopping")) { } self endon("stop_dynamic_run_speed"); maps\_utility::func_2F48("dynamic_run_speed_stopping"); maps\_utility::func_2F48("dynamic_run_speed_stopped"); self endon("dynamic_run_speed_stopped"); var_00 = "DRS_run_2_stop"; maps\_anim::func_D65(self,"gravity",var_00); maps\_utility::func_2F44("dynamic_run_speed_stopping"); while(maps\_utility::ent_flag("dynamic_run_speed_stopped")) { var_01 = "DRS_stop_idle"; thread maps\_anim::anim_generic_loop(self,var_01); if(isdefined(level.scr_anim["generic"]["signal_go"])) { maps\_utility::func_3FAA("go"); } wait(randomfloatrange(12,20)); if(maps\_utility::ent_flag_exist("_stealth_stance_handler")) { maps\_utility::ent_flag_waitopen("_stealth_stance_handler"); } self notify("stop_loop"); if(!maps\_utility::ent_flag("dynamic_run_speed_stopped")) { } if(isdefined(level.var_2BB0)) { var_02 = common_scripts\utility::func_6306(level.var_2BB0); level thread maps\_utility::func_62C4(var_02); } if(isdefined(level.scr_anim["generic"]["signal_go"])) { maps\_utility::func_3FAA("go"); } } } //Function Number: 52 g_speed_get_func() { return int(getdvar("g_speed")); } //Function Number: 53 g_speed_set_func(param_00) { setsaveddvar("g_speed",int(param_00)); } //Function Number: 54 g_bob_scale_get_func() { return level.player getbobrate(); } //Function Number: 55 g_bob_scale_set_func(param_00) { level.player setbobrate(param_00); } //Function Number: 56 func_549E() { return self.movespeedscale; } //Function Number: 57 func_54A1(param_00) { self.movespeedscale = param_00; self setmovespeedscale(param_00); } //Function Number: 58 func_11CC() { if(common_scripts\utility::flag_exist("autosave_tactical_player_nade")) { } common_scripts\utility::func_3385("autosave_tactical_player_nade"); level.autosave_tactical_player_nades = 0; notifyoncommand("autosave_player_nade","+frag"); notifyoncommand("autosave_player_nade","-smoke"); notifyoncommand("autosave_player_nade","+smoke"); common_scripts\utility::func_F1B(level.players,::autosave_tactical_grenade_check); } //Function Number: 59 autosave_tactical_grenade_check() { for(;;) { self waittill("autosave_player_nade"); common_scripts\utility::flag_set("autosave_tactical_player_nade"); self waittill("grenade_fire",var_00); thread autosave_tactical_grenade_check_dieout(var_00); } } //Function Number: 60 autosave_tactical_grenade_check_dieout(param_00) { level.autosave_tactical_player_nades++; param_00 common_scripts\utility::waittill_notify_or_timeout("death",10); level.autosave_tactical_player_nades--; waittillframeend; if(!level.autosave_tactical_player_nades) { common_scripts\utility::func_337C("autosave_tactical_player_nade"); } } //Function Number: 61 autosave_tactical_proc() { level notify("autosave_tactical_proc"); level endon("autosave_tactical_proc"); level thread maps\_utility::func_5704("kill_save",5); level endon("kill_save"); level endon("autosave_tactical_player_nade"); if(common_scripts\utility::flag("autosave_tactical_player_nade")) { common_scripts\utility::func_33A2("autosave_tactical_player_nade",4); if(common_scripts\utility::flag("autosave_tactical_player_nade")) { } } var_00 = getaiarray("axis"); foreach(var_02 in var_00) { if(isdefined(var_02.enemy) && isplayer(var_02.enemy)) { } } waittillframeend; maps\_utility::autosave_by_name(); } //Function Number: 62 func_553B(param_00,param_01,param_02,param_03) { maps\_utility::func_5541(param_01); level endon("stop_music"); wait(param_01); thread maps\_utility::music_play(param_00,undefined,param_02,param_03); } //Function Number: 63 func_5536(param_00,param_01,param_02,param_03,param_04,param_05) { maps\_utility::func_5541(param_02); level endon("stop_music"); wait(param_02); thread func_5535(param_00,param_01,undefined,param_03,param_04,param_05); } //Function Number: 64 func_5535(param_00,param_01,param_02,param_03,param_04,param_05) { if(isdefined(param_02) && param_02 > 0) { thread func_5536(param_00,param_01,param_02,param_03,param_04,param_05); } maps\_utility::func_5541(); level endon("stop_music"); maps\_utility::func_5545(param_00,param_03,param_04); if(isdefined(param_05) && param_05 == 1 && common_scripts\utility::flag_exist("_stealth_spotted")) { level endon("_stealth_spotted"); thread func_5538(param_00,param_01,param_02); } var_06 = maps\_utility::musiclength(param_00); if(!isdefined(param_01)) { param_01 = 1; } if(param_01 <= 10) { var_06 = var_06 + param_01; } wait(var_06); maps\_utility::func_5534(param_00,param_01,param_02,param_03,param_04); } //Function Number: 65 func_5538(param_00,param_01,param_02) { level endon("stop_music"); common_scripts\utility::flag_wait("_stealth_spotted"); musicstop(0.5); while(common_scripts\utility::flag("_stealth_spotted")) { common_scripts\utility::func_33A0("_stealth_spotted"); wait(1); } thread maps\_utility::func_5534(param_00,param_01,param_02); } //Function Number: 66 func_2A0D(param_00,param_01,param_02) { self endon("death"); self endon("stop_sliding"); var_03 = self; var_04 = undefined; for(;;) { var_05 = var_03 getnormalizedmovement(); var_06 = anglestoforward(var_03.angles); var_07 = anglestoright(var_03.angles); var_05 = (var_05[1] * var_07[0] + var_05[0] * var_06[0],var_05[1] * var_07[1] + var_05[0] * var_06[1],0); param_00.slidevelocity = param_00.slidevelocity + var_05 * param_01; wait(0.05); param_00.slidevelocity = param_00.slidevelocity * 1 - param_02; } } //Function Number: 67 func_4ACA(param_00) { self endon("death"); if(isdefined(param_00)) { wait(randomfloat(param_00)); } playfxontag(common_scripts\utility::func_3AB9("flesh_hit"),self,"tag_eye"); self kill(level.player.origin); } //Function Number: 68 func_86A5(param_00,param_01) { self endon("death"); var_02 = 0; for(;;) { if(self.intensity > 0.0001 && gettime() > 300) { if(!var_02) { self playrumblelooponentity(param_01); var_02 = 1; } } else if(var_02) { self stoprumble(param_01); var_02 = 0; } var_03 = 1 - self.intensity; var_03 = var_03 * 1000; self.origin = param_00 geteye() + (0,0,var_03); wait(0.05); } } //Function Number: 69 func_7A41(param_00) { var_01 = spawn("script_model",self.origin); self.glow_model = var_01; var_01.angles = self.angles; var_01 setmodel(param_00); var_01 endon("death"); self waittill("death"); var_01 delete(); } //Function Number: 70 process_blend(param_00,param_01,param_02,param_03,param_04) { waittillframeend; if(!isdefined(self.var_79E6)) { self.var_79E6 = 0; } if(!isdefined(self.end)) { self.end = 1; } if(!isdefined(self.base)) { self.base = 0; } var_05 = self.time * 20; var_06 = self.end - self.var_79E6; self.var_7C14 = 0; if(isdefined(param_04)) { for(var_07 = 0;var_07 <= var_05 && !self.var_7C14;var_07++) { var_08 = self.base + var_07 * var_06 / var_05; param_01 thread [[ param_00 ]](var_08,param_02,param_03,param_04); wait(0.05); } } if(isdefined(var_05)) { for(var_07 = 0;var_07 <= var_05 && !self.var_7C14;var_07++) { var_08 = self.base + var_07 * var_06 / var_05; param_01 thread [[ param_00 ]](var_08,param_02,param_03); wait(0.05); } } if(isdefined(param_04)) { for(var_07 = 0;var_07 <= var_05 && !self.var_7C14;var_07++) { var_08 = self.base + var_07 * var_06 / var_05; param_01 thread [[ param_00 ]](var_08,param_02); wait(0.05); } } for(var_07 = 0;var_07 <= var_05 && !self.var_7C14;var_07++) { var_08 = self.base + var_07 * var_06 / var_05; param_01 thread [[ param_00 ]](var_08); wait(0.05); } } //Function Number: 71 add_trace_fx_proc(param_00) { waittillframeend; if(!isdefined(level.var_81DA)) { level.var_81DA = []; } if(!isdefined(level.var_81DA)) { level.var_81DA[param_00] = []; } if(isdefined(self.fx)) { level.var_81DA[param_00][self.var_7D6F]["fx"] = self.fx; } if(isdefined(self.fx_array)) { level.var_81DA[param_00][self.var_7D6F]["fx_array"] = self.fx_array; } if(isdefined(self.sound)) { level.var_81DA[param_00][self.var_7D6F]["sound"] = self.sound; } if(isdefined(self.rumble)) { level.var_81DA[param_00][self.var_7D6F]["rumble"] = self.rumble; } if(!isdefined(level.var_81DA[param_00]["default"])) { level.var_81DA[param_00]["default"] = level.var_81DA[param_00][self.var_7D6F]; } } //Function Number: 72 func_6253(param_00) { var_01 = spawnstruct(); precachemodel(param_00.model); var_01.var_81D5 = param_00.model; var_01.origin = param_00.origin; var_01.angles = param_00.angles; var_01.script_noteworthy = param_00.script_noteworthy; var_01.script_linkto = param_00.script_linkto; var_01.targetname = param_00.targetname; var_01.target = param_00.target; var_01.destructible_type = param_00.destructible_type; var_01.script_noflip = param_00.script_noflip; param_00 maps\_utility::func_6104(param_00.destructible_type); self.destructibles[self.destructibles.size] = var_01; param_00 notify("masking_destructible"); param_00 delete(); } //Function Number: 73 func_381B() { var_00 = "allies"; if(isdefined(self.script_color_axis)) { var_00 = "axis"; } var_00 = maps\_colors::func_39C5(var_00); var_01 = []; if(var_00 == "allies") { var_02 = maps\_colors::func_3823(self.var_6B66,"allies"); var_01 = var_02["colorCodes"]; } else { var_02 = maps\_colors::func_3823(self.script_color_axis,"axis"); var_01 = var_02["colorCodes"]; } var_03 = []; var_03["team"] = var_00; var_03["codes"] = var_01; return var_03; } //Function Number: 74 delaythread_proc(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07) { self endon("death"); self endon("stop_delay_thread"); wait(param_01); if(isdefined(param_07)) { thread [[ param_00 ]](param_02,param_03,param_04,param_05,param_06,param_07); } if(isdefined(param_06)) { thread [[ param_00 ]](param_02,param_03,param_04,param_05,param_06); } if(isdefined(param_05)) { thread [[ param_00 ]](param_02,param_03,param_04,param_05); } if(isdefined(param_04)) { thread [[ param_00 ]](param_02,param_03,param_04); } if(isdefined(param_03)) { thread [[ param_00 ]](param_02,param_03); } if(isdefined(param_02)) { thread [[ param_00 ]](param_02); } thread [[ param_00 ]](); } //Function Number: 75 delaychildthread_proc(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07) { self endon("death"); self endon("stop_delay_thread"); wait(param_01); if(isdefined(param_07)) { childthread [[ param_00 ]](param_02,param_03,param_04,param_05,param_06,param_07); } if(isdefined(param_06)) { childthread [[ param_00 ]](param_02,param_03,param_04,param_05,param_06); } if(isdefined(param_05)) { childthread [[ param_00 ]](param_02,param_03,param_04,param_05); } if(isdefined(param_04)) { childthread [[ param_00 ]](param_02,param_03,param_04); } if(isdefined(param_03)) { childthread [[ param_00 ]](param_02,param_03); } if(isdefined(param_02)) { childthread [[ param_00 ]](param_02); } childthread [[ param_00 ]](); } //Function Number: 76 flagwaitthread_proc(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07) { self endon("death"); common_scripts\utility::flag_wait(param_01[0]); delaythread_proc(param_00,param_01[1],param_02,param_03,param_04,param_05,param_06,param_07); } //Function Number: 77 func_8BC4(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07) { self endon("death"); self waittill(param_01[0]); delaythread_proc(param_00,param_01[1],param_02,param_03,param_04,param_05,param_06,param_07); } //Function Number: 78 add_wait_asserter() { level notify("kill_add_wait_asserter"); level endon("kill_add_wait_asserter"); for(var_00 = 0;var_00 < 20;var_00++) { waittillframeend; } } //Function Number: 79 func_8661() { } //Function Number: 80 comparesizesfx(param_00,param_01,param_02,param_03) { if(!param_01.size) { return undefined; } if(isdefined(param_02)) { var_04 = undefined; var_05 = getarraykeys(param_01); for(var_06 = 0;var_06 < var_05.size;var_06++) { var_07 = distance(param_01[var_05[var_06]].var_880E["origin"],param_00); if([[ param_03 ]](var_07,param_02)) { continue; } param_02 = var_07; var_04 = param_01[var_05[var_06]]; } return var_04; } var_05 = getarraykeys(var_05); var_04 = var_04[var_07[0]]; var_04 = distance(var_07.var_880E["origin"],param_02); for(var_06 = 1;var_06 < var_04.size;var_06++) { var_07 = distance(param_01[var_04[var_06]].var_880E["origin"],param_00); if([[ param_03 ]](var_07,param_02)) { continue; } param_02 = var_07; var_05 = param_01[var_04[var_06]]; } return var_05; } //Function Number: 81 waittill_triggered_current() { for(;;) { self waittill("trigger",var_00); waittillframeend; if(var_00.currentnode == self) { return var_00; } } } //Function Number: 82 add_trigger_func_thread() { self.trigger_functions = []; self waittill("trigger",var_00); var_01 = self.trigger_functions; self.trigger_functions = undefined; foreach(var_03 in var_01) { thread [[ var_03 ]](var_00); } } //Function Number: 83 add_to_radio(param_00) { if(!isdefined(level.var_6AF5[param_00])) { level.var_6AF5[param_00] = param_00; } } //Function Number: 84 add_to_dialogue(param_00) { if(!isdefined(level.scr_anim[self.animname])) { level.scr_anim[self.animname] = []; } if(!isdefined(level.scr_sound[self.animname])) { level.scr_sound[self.animname] = []; } if(!isdefined(level.scr_sound[self.animname][param_00])) { level.scr_sound[self.animname][param_00] = param_00; } } //Function Number: 85 add_to_dialogue_generic(param_00) { if(!isdefined(level.scr_sound["generic"])) { level.scr_sound["generic"] = []; } if(!isdefined(level.scr_sound["generic"][param_00])) { level.scr_sound["generic"][param_00] = param_00; } } //Function Number: 86 func_57D6(param_00) { if(!maps\_utility::func_47DB()) { } var_01 = get_leveltime(); var_02 = var_01; if(isdefined(level.var_6407)) { var_02 = var_01 - level.var_6407; } level.var_6407 = var_01; reconevent("script_objective: objective %d, leveltime %d, deltatime %d",param_00,var_01,var_02); } //Function Number: 87 mission_recon(param_00) { if(maps\_utility::func_47DB()) { if(!isdefined(param_00)) { param_00 = 1; } var_01 = get_leveltime(); var_02 = var_01; reconevent("script_level: leveltime %d, deltatime %d, success %d",var_02,var_01,param_00); } } //Function Number: 88 get_leveltime() { return getlevelticks() * 0.05; } //Function Number: 89 _flag_wait_trigger(param_00,param_01) { self endon("death"); for(;;) { self waittill("trigger",var_02); common_scripts\utility::flag_set(param_00); if(!param_01) { } while(var_02 istouching(self)) { wait(0.05); } common_scripts\utility::func_337C(param_00); } }