/******************************************************************* * Decompiled By: Bog * Decompiled File: common_scripts\utility.gsc * Game: Call of Duty: Modern Warfare 3 * Platform: PC * Function Count: 173 * Decompile Time: 2887 ms * Timestamp: 10/27/2023 2:15:41 AM *******************************************************************/ //Function Number: 1 scriptprintln(param_00,param_01) { } //Function Number: 2 debugprintln(param_00,param_01) { } //Function Number: 3 draw_debug_line(param_00,param_01,param_02) { for(var_03 = 0;var_03 < param_02 * 20;var_03++) { wait 0.05; } } //Function Number: 4 waittillend(param_00) { self waittillmatch("end",param_00); } //Function Number: 5 noself_func(param_00,param_01,param_02,param_03,param_04) { if(!isdefined(level.func)) { return; } if(!isdefined(level.func[param_00])) { return; } if(!isdefined(param_01)) { [[ level.func[param_00] ]](); return; } if(!isdefined(param_02)) { [[ level.func[param_00] ]](param_01); return; } if(!isdefined(param_03)) { [[ level.func[param_00] ]](param_01,param_02); return; } if(!isdefined(param_04)) { [[ level.func[param_00] ]](param_01,param_02,param_03); return; } [[ level.func[param_00] ]](param_01,param_02,param_03,param_04); } //Function Number: 6 self_func(param_00,param_01,param_02,param_03,param_04) { if(!isdefined(level.func[param_00])) { return; } if(!isdefined(param_01)) { self [[ level.func[param_00] ]](); return; } if(!isdefined(param_02)) { self [[ level.func[param_00] ]](param_01); return; } if(!isdefined(param_03)) { self [[ level.func[param_00] ]](param_01,param_02); return; } if(!isdefined(param_04)) { self [[ level.func[param_00] ]](param_01,param_02,param_03); return; } self [[ level.func[param_00] ]](param_01,param_02,param_03,param_04); } //Function Number: 7 randomvector(param_00) { return (randomfloat(param_00) - param_00 * 0.5,randomfloat(param_00) - param_00 * 0.5,randomfloat(param_00) - param_00 * 0.5); } //Function Number: 8 randomvectorrange(param_00,param_01) { var_02 = randomfloatrange(param_00,param_01); if(randomint(2) == 0) { var_02 = var_02 * -1; } var_03 = randomfloatrange(param_00,param_01); if(randomint(2) == 0) { var_03 = var_03 * -1; } var_04 = randomfloatrange(param_00,param_01); if(randomint(2) == 0) { var_04 = var_04 * -1; } return (var_02,var_03,var_04); } //Function Number: 9 angle_dif(param_00,param_01) { if(param_00 == param_01) { return 0; } while(param_01 > 360) { param_01 = param_01 - 360; } while(param_01 < 0) { param_01 = param_01 + 360; } while(param_00 > 360) { param_00 = param_00 - 360; } while(param_00 < 0) { param_00 = param_00 + 360; } var_02 = undefined; var_03 = undefined; if(param_01 > 180) { var_03 = 360 - param_01; } else { var_03 = param_01; } if(param_00 > 180) { var_02 = 360 - param_00; } else { var_02 = param_00; } var_04 = var_03 + var_02; var_05 = 0; if(param_01 > param_00) { var_05 = param_01 - param_00; } else { var_05 = param_00 - param_01; } if(var_05 < var_04) { return var_05; } return var_04; } //Function Number: 10 sign(param_00) { if(param_00 >= 0) { return 1; } return -1; } //Function Number: 11 track(param_00) { if(isdefined(self.var_8BA)) { if(param_00 == self.var_8BA) { return; } } self.var_8BA = param_00; } //Function Number: 12 get_enemy_team(param_00) { var_01 = []; return var_7B[var_01]; } //Function Number: 13 clear_exception(param_00) { self.var_8BE[param_00] = level.var_8BD; } //Function Number: 14 set_exception(param_00,param_01) { self.var_8BE[param_00] = param_01; } //Function Number: 15 set_all_exceptions(param_00) { var_01 = getarraykeys(self.var_8BE); for(var_02 = 0;var_02 < var_01.size;var_02++) { self.var_8BE[var_01[var_02]] = param_00; } } //Function Number: 16 cointoss() { return randomint(100) >= 50; } //Function Number: 17 choose_from_weighted_array(param_00,param_01) { var_02 = randomint(param_01[param_01.size - 1] + 1); for(var_03 = 0;var_03 < param_01.size;var_03++) { if(var_02 <= param_01[var_03]) { return param_00[var_03]; } } } //Function Number: 18 get_cumulative_weights(param_00) { var_01 = []; var_02 = 0; for(var_03 = 0;var_03 < param_00.size;var_03++) { var_02 = var_02 + param_00[var_03]; var_01[var_03] = var_02; } return var_01; } //Function Number: 19 waittill_string(param_00,param_01) { if(param_00 != "death") { self endon("death"); } param_01 endon("die"); self waittill(param_00); param_01 notify("returned",param_00); } //Function Number: 20 waittill_multiple(param_00,param_01,param_02,param_03,param_04) { self endon("death"); var_05 = spawnstruct(); var_05.var_8C6 = 0; if(isdefined(param_00)) { thread waittill_string(param_00,var_05); var_05.var_8C6++; } if(isdefined(param_01)) { thread waittill_string(param_01,var_05); var_05.var_8C6++; } if(isdefined(param_02)) { thread waittill_string(param_02,var_05); var_05.var_8C6++; } if(isdefined(param_03)) { thread waittill_string(param_03,var_05); var_05.var_8C6++; } if(isdefined(param_04)) { thread waittill_string(param_04,var_05); var_05.var_8C6++; } while(var_05.var_8C6) { var_05 waittill("returned"); var_05.var_8C6--; } var_05 notify("die"); } //Function Number: 21 waittill_multiple_ents(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07) { self endon("death"); var_08 = spawnstruct(); var_08.var_8C6 = 0; if(isdefined(param_00)) { param_00 thread waittill_string(param_01,var_08); var_08.var_8C6++; } if(isdefined(param_02)) { param_02 thread waittill_string(param_03,var_08); var_08.var_8C6++; } if(isdefined(param_04)) { param_04 thread waittill_string(param_05,var_08); var_08.var_8C6++; } if(isdefined(param_06)) { param_06 thread waittill_string(param_07,var_08); var_08.var_8C6++; } while(var_08.var_8C6) { var_08 waittill("returned"); var_08.var_8C6--; } var_08 notify("die"); } //Function Number: 22 waittill_any_return(param_00,param_01,param_02,param_03,param_04) { if((!isdefined(param_00) || param_00 != "death") && !isdefined(param_01) || param_01 != "death" && !isdefined(param_02) || param_02 != "death" && !isdefined(param_03) || param_03 != "death" && !isdefined(param_04) || param_04 != "death") { self endon("death"); } var_05 = spawnstruct(); if(isdefined(param_00)) { thread waittill_string(param_00,var_05); } if(isdefined(param_01)) { thread waittill_string(param_01,var_05); } if(isdefined(param_02)) { thread waittill_string(param_02,var_05); } if(isdefined(param_03)) { thread waittill_string(param_03,var_05); } if(isdefined(param_04)) { thread waittill_string(param_04,var_05); } var_05 waittill("returned",var_06); var_05 notify("die"); return var_06; } //Function Number: 23 waittill_any_timeout(param_00,param_01,param_02,param_03,param_04,param_05) { if((!isdefined(param_01) || param_01 != "death") && !isdefined(param_02) || param_02 != "death" && !isdefined(param_03) || param_03 != "death" && !isdefined(param_04) || param_04 != "death" && !isdefined(param_05) || param_05 != "death") { self endon("death"); } var_06 = spawnstruct(); if(isdefined(param_01)) { thread waittill_string(param_01,var_06); } if(isdefined(param_02)) { thread waittill_string(param_02,var_06); } if(isdefined(param_03)) { thread waittill_string(param_03,var_06); } if(isdefined(param_04)) { thread waittill_string(param_04,var_06); } if(isdefined(param_05)) { thread waittill_string(param_05,var_06); } var_06 thread _timeout(param_00); var_06 waittill("returned",var_07); var_06 notify("die"); return var_07; } //Function Number: 24 _timeout(param_00) { self endon("die"); wait param_00; self notify("returned","timeout"); } //Function Number: 25 waittill_any(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07) { if(isdefined(param_01)) { self endon(param_01); } if(isdefined(param_02)) { self endon(param_02); } if(isdefined(param_03)) { self endon(param_03); } if(isdefined(param_04)) { self endon(param_04); } if(isdefined(param_05)) { self endon(param_05); } if(isdefined(param_06)) { self endon(param_06); } if(isdefined(param_07)) { self endon(param_07); } self waittill(param_00); } //Function Number: 26 waittill_any_ents(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A,param_0B,param_0C,param_0D) { if(isdefined(param_02) && isdefined(param_03)) { param_02 endon(param_03); } if(isdefined(param_04) && isdefined(param_05)) { param_04 endon(param_05); } if(isdefined(param_06) && isdefined(param_07)) { param_06 endon(param_07); } if(isdefined(param_08) && isdefined(param_09)) { param_08 endon(param_09); } if(isdefined(param_0A) && isdefined(param_0B)) { param_0A endon(param_0B); } if(isdefined(param_0C) && isdefined(param_0D)) { param_0C endon(param_0D); } param_00 waittill(param_01); } //Function Number: 27 isflashed() { if(!isdefined(self.flashendtime)) { return 0; } return gettime() < self.flashendtime; } //Function Number: 28 flag_exist(param_00) { return isdefined(level.flag[param_00]); } //Function Number: 29 flag(param_00) { return level.flag[param_00]; } //Function Number: 30 init_flags() { level.flag = []; level.flags_lock = []; level.generic_index = 0; if(!isdefined(level.sp_stat_tracking_func)) { level.sp_stat_tracking_func = ::empty_init_func; } level.flag_struct = spawnstruct(); level.flag_struct assign_unique_id(); } //Function Number: 31 flag_init(param_00) { if(!isdefined(level.flag)) { init_flags(); } level.flag[param_00] = 0; if(!isdefined(level.trigger_flags)) { init_trigger_flags(); level.trigger_flags[param_00] = []; } else if(!isdefined(level.trigger_flags[param_00])) { level.trigger_flags[param_00] = []; } if(issuffix(param_00,"aa_")) { thread [[ level.sp_stat_tracking_func ]](param_00); } } //Function Number: 32 empty_init_func(param_00) { } //Function Number: 33 issuffix(param_00,param_01) { if(param_01.size > param_00.size) { return 0; } for(var_02 = 0;var_02 < param_01.size;var_02++) { if(param_00[var_02] != param_01[var_02]) { return 0; } } return 1; } //Function Number: 34 flag_set(param_00,param_01) { level.flag[param_00] = 1; set_trigger_flag_permissions(param_00); if(isdefined(param_01)) { level notify(param_00,param_01); return; } level notify(param_00); } //Function Number: 35 assign_unique_id() { self.unique_id = "generic" + level.generic_index; level.generic_index++; } //Function Number: 36 flag_wait(param_00,param_01) { var_02 = undefined; while(!flag(param_00)) { var_02 = undefined; level waittill(param_00,var_02); if(isdefined(param_01) && flag(param_00,param_01)) { break; } } if(isdefined(var_02)) { return var_02; } } //Function Number: 37 flag_clear(param_00) { if(!flag(param_00)) { return; } level.flag[param_00] = 0; set_trigger_flag_permissions(param_00); level notify(param_00); } //Function Number: 38 flag_waitopen(param_00) { while(flag(param_00)) { level waittill(param_00); } } //Function Number: 39 waittill_either(param_00,param_01) { self endon(param_00); self waittill(param_01); } //Function Number: 40 array_thread(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A) { if(!isdefined(param_02)) { foreach(var_0C in param_00) { var_0C thread [[ param_01 ]](); } return; } if(!isdefined(param_06)) { foreach(var_0E in param_03) { var_0E thread [[ param_03 ]](param_04); } return; } if(!isdefined(param_09)) { foreach(var_10 in param_05) { var_10 thread [[ param_05 ]](param_06,param_07); } return; } if(!isdefined(var_0C)) { foreach(var_12 in param_07) { var_12 thread [[ param_07 ]](param_08,param_09,param_0A); } return; } if(!isdefined(var_0F)) { foreach(var_14 in param_09) { var_14 thread [[ param_09 ]](param_0A,var_0B,var_0C,var_0D); } return; } if(!isdefined(var_12)) { foreach(var_16 in var_0B) { var_16 thread [[ var_0B ]](var_0C,var_0D,var_0E,var_0F,var_10); } return; } if(!isdefined(var_15)) { foreach(var_18 in var_0D) { var_18 thread [[ var_0D ]](var_0E,var_0F,var_10,var_11,var_12,var_13); } return; } if(!isdefined(var_18)) { foreach(var_1A in var_0F) { var_1A thread [[ var_0F ]](var_10,var_11,var_12,var_13,var_14,var_15,var_16); } return; } if(!isdefined(var_1B)) { foreach(var_1C in var_11) { var_1C thread [[ var_11 ]](var_12,var_13,var_14,var_15,var_16,var_17,var_18,var_19); } return; } foreach(var_1E in var_13) { var_1E thread [[ var_13 ]](var_14,var_15,var_16,var_17,var_18,var_19,var_1A,var_1B,var_1C); } } //Function Number: 41 array_call(param_00,param_01,param_02,param_03,param_04) { if(isdefined(param_04)) { foreach(var_06 in param_00) { var_06 [[ param_01 ]](param_02,param_03,param_04); } return; } if(isdefined(var_06)) { foreach(var_08 in param_03) { var_08 [[ param_03 ]](param_04,var_05); } return; } if(isdefined(var_07)) { foreach(var_0A in var_05) { var_0A [[ var_05 ]](var_06); } return; } foreach(var_0C in var_07) { var_0C [[ var_07 ]](); } } //Function Number: 42 array_thread4(param_00,param_01,param_02,param_03,param_04,param_05) { array_thread(param_00,param_01,param_02,param_03,param_04,param_05); } //Function Number: 43 array_thread5(param_00,param_01,param_02,param_03,param_04,param_05,param_06) { array_thread(param_00,param_01,param_02,param_03,param_04,param_05,param_06); } //Function Number: 44 trigger_on(param_00,param_01) { if(isdefined(param_00) && isdefined(param_01)) { var_02 = getentarray(param_00,param_01); array_thread(var_02,::trigger_on_proc); return; } trigger_on_proc(); } //Function Number: 45 trigger_on_proc() { if(isdefined(self.realorigin)) { self.origin = self.realorigin; } self.trigger_off = undefined; } //Function Number: 46 trigger_off(param_00,param_01) { if(isdefined(param_00) && isdefined(param_01)) { var_02 = getentarray(param_00,param_01); array_thread(var_02,::trigger_off_proc); return; } trigger_off_proc(); } //Function Number: 47 trigger_off_proc() { if(!isdefined(self.realorigin)) { self.realorigin = self.origin; } if(self.origin == self.realorigin) { self.origin = self.origin + (0,0,-10000); } self.trigger_off = 1; } //Function Number: 48 set_trigger_flag_permissions(param_00) { if(!isdefined(level.trigger_flags)) { return; } level.trigger_flags[param_00] = array_removeundefined(level.trigger_flags[param_00]); array_thread(level.trigger_flags[param_00],::update_trigger_based_on_flags); } //Function Number: 49 update_trigger_based_on_flags() { var_00 = 1; if(isdefined(self.script_flag_true)) { var_00 = 0; var_01 = create_flags_and_return_tokens(self.script_flag_true); foreach(var_03 in var_01) { if(flag(var_03)) { var_00 = 1; break; } } } var_05 = 1; if(isdefined(self.script_flag_false)) { var_01 = create_flags_and_return_tokens(self.script_flag_false); foreach(var_03 in var_01) { if(flag(var_03)) { var_05 = 0; break; } } } [[ level.var_8EC[var_00 && var_05] ]](); } //Function Number: 50 create_flags_and_return_tokens(param_00) { var_01 = strtok(param_00," "); for(var_02 = 0;var_02 < var_01.size;var_02++) { if(!isdefined(level.flag[var_01[var_02]])) { flag_init(var_01[var_02]); } } return var_01; } //Function Number: 51 init_trigger_flags() { level.trigger_flags = []; level.var_8EC[1] = ::trigger_on; level.var_8EC[0] = ::trigger_off; } //Function Number: 52 getstruct(param_00,param_01) { var_02 = level.struct_class_names[param_01][param_00]; if(!isdefined(var_02)) { return undefined; } if(var_02.size > 1) { return undefined; } return var_02[0]; } //Function Number: 53 getstructarray(param_00,param_01) { var_02 = level.struct_class_names[param_01][param_00]; if(!isdefined(var_02)) { return []; } return var_02; } //Function Number: 54 struct_class_init() { level.struct_class_names = []; level.struct_class_names["target"] = []; level.struct_class_names["targetname"] = []; level.struct_class_names["script_noteworthy"] = []; level.struct_class_names["script_linkname"] = []; foreach(var_01 in level.struct) { if(isdefined(var_01.targetname)) { if(!isdefined(level.struct_class_names["targetname"][var_01.targetname])) { level.struct_class_names["targetname"][var_01.targetname] = []; } var_02 = level.struct_class_names["targetname"][var_01.targetname].size; level.struct_class_names["targetname"][var_01.targetname][var_02] = var_01; } if(isdefined(var_01.target)) { if(!isdefined(level.struct_class_names["target"][var_01.target])) { level.struct_class_names["target"][var_01.target] = []; } var_02 = level.struct_class_names["target"][var_01.target].size; level.struct_class_names["target"][var_01.target][var_02] = var_01; } if(isdefined(var_01.script_noteworthy)) { if(!isdefined(level.struct_class_names["script_noteworthy"][var_01.script_noteworthy])) { level.struct_class_names["script_noteworthy"][var_01.script_noteworthy] = []; } var_02 = level.struct_class_names["script_noteworthy"][var_01.script_noteworthy].size; level.struct_class_names["script_noteworthy"][var_01.script_noteworthy][var_02] = var_01; } if(isdefined(var_01.script_linkname)) { level.struct_class_names["script_linkname"][var_01.script_linkname][0] = var_01; } } } //Function Number: 55 fileprint_start(param_00) { } //Function Number: 56 fileprint_map_start() { } //Function Number: 57 fileprint_map_header(param_00) { if(!isdefined(param_00)) { param_00 = 0; } } //Function Number: 58 fileprint_map_keypairprint(param_00,param_01) { } //Function Number: 59 fileprint_map_entity_start() { } //Function Number: 60 fileprint_map_entity_end() { } //Function Number: 61 fileprint_radiant_vec(param_00) { } //Function Number: 62 array_remove(param_00,param_01) { var_02 = []; foreach(var_04 in param_00) { if(var_04 != param_01) { var_02[var_02.size] = var_04; } } return var_02; } //Function Number: 63 array_remove_array(param_00,param_01) { foreach(var_03 in param_01) { param_00 = array_remove(param_00,var_03); } return param_00; } //Function Number: 64 array_removeundefined(param_00) { var_01 = []; foreach(var_03 in param_00) { if(!isdefined(var_03)) { continue; } var_01[var_01.size] = var_03; } return var_01; } //Function Number: 65 array_levelthread(param_00,param_01,param_02,param_03,param_04) { if(isdefined(param_04)) { foreach(var_06 in param_00) { thread [[ param_01 ]](var_06,param_02,param_03,param_04); } return; } if(isdefined(var_06)) { foreach(var_08 in param_03) { thread [[ param_03 ]](var_08,param_04,var_05); } return; } if(isdefined(var_07)) { foreach(var_0A in var_05) { thread [[ var_05 ]](var_0A,var_06); } return; } foreach(var_0C in var_07) { thread [[ var_07 ]](var_0C); } } //Function Number: 66 array_levelcall(param_00,param_01,param_02,param_03,param_04) { if(isdefined(param_04)) { foreach(var_06 in param_00) { [[ param_01 ]](var_06,param_02,param_03,param_04); } return; } if(isdefined(var_06)) { foreach(var_08 in param_03) { [[ param_03 ]](var_08,param_04,var_05); } return; } if(isdefined(var_07)) { foreach(var_0A in var_05) { [[ var_05 ]](var_0A,var_06); } return; } foreach(var_0C in var_07) { [[ var_07 ]](var_0C); } } //Function Number: 67 add_to_array(param_00,param_01) { if(!isdefined(param_01)) { return param_00; } if(!isdefined(param_00)) { param_00[0] = param_01; } else { param_00[param_00.size] = param_01; } return param_00; } //Function Number: 68 flag_assert(param_00) { } //Function Number: 69 flag_wait_either(param_00,param_01) { for(;;) { if(flag(param_00)) { return; } if(flag(param_01)) { return; } level waittill_either(param_00,param_01); } } //Function Number: 70 flag_wait_either_return(param_00,param_01) { for(;;) { if(flag(param_00)) { return param_00; } if(flag(param_01)) { return param_01; } var_02 = level waittill_any_return(param_00,param_01); return var_02; } } //Function Number: 71 flag_wait_any(param_00,param_01,param_02,param_03,param_04,param_05) { var_06 = []; if(isdefined(param_05)) { } else if(isdefined(param_05)) { } else if(isdefined(param_04)) { } else if(isdefined(param_03)) { } else if(isdefined(param_02)) { flag_wait_either(param_01,param_02); return; } else { return; } for(;;) { var_07 = 0; while(var_07 < var_7B.size) { if(flag(var_7B[var_07])) { return; } var_07++ = var_7B[var_7B.size]; } level waittill_any(param_01,param_02,param_03,param_04,param_05,var_06); } } //Function Number: 72 flag_wait_any_return(param_00,param_01,param_02,param_03,param_04) { var_05 = []; if(isdefined(param_04)) { } else if(isdefined(param_04)) { } else if(isdefined(param_03)) { } else if(isdefined(param_02)) { var_06 = flag_wait_either_return(param_01,param_02); return var_06; } else { return; } for(;;) { var_07 = 0; while(var_07 < var_06.size) { if(flag(var_06[var_07])) { return var_06[var_07]; } var_07++ = var_7B[var_7B.size]; } var_06 = level waittill_any_return(param_02,param_03,param_04,var_05,var_7B); return var_07; } } //Function Number: 73 flag_wait_all(param_00,param_01,param_02,param_03) { if(isdefined(param_00)) { flag_wait(param_00); } if(isdefined(param_01)) { flag_wait(param_01); } if(isdefined(param_02)) { flag_wait(param_02); } if(isdefined(param_03)) { flag_wait(param_03); } } //Function Number: 74 flag_wait_or_timeout(param_00,param_01) { var_02 = param_01 * 1000; var_03 = gettime(); for(;;) { if(flag(param_00)) { break; } if(gettime() >= var_03 + var_02) { break; } var_04 = var_02 - gettime() - var_03; var_05 = var_04 / 1000; wait_for_flag_or_time_elapses(param_00,var_05); } } //Function Number: 75 flag_waitopen_or_timeout(param_00,param_01) { var_02 = gettime(); for(;;) { if(!flag(param_00)) { break; } if(gettime() >= var_02 + param_01 * 1000) { break; } wait_for_flag_or_time_elapses(param_00,param_01); } } //Function Number: 76 wait_for_flag_or_time_elapses(param_00,param_01) { level endon(param_00); wait param_01; } //Function Number: 77 delaycall(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09) { thread delaycall_proc(param_01,param_00,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09); } //Function Number: 78 delaycall_proc(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09) { if(issp()) { self endon("death"); } wait param_01; if(isdefined(param_09)) { self [[ param_00 ]](param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09); return; } if(isdefined(param_08)) { self [[ param_00 ]](param_02,param_03,param_04,param_05,param_06,param_07,param_08); return; } if(isdefined(param_07)) { self [[ param_00 ]](param_02,param_03,param_04,param_05,param_06,param_07); return; } if(isdefined(param_06)) { self [[ param_00 ]](param_02,param_03,param_04,param_05,param_06); return; } if(isdefined(param_05)) { self [[ param_00 ]](param_02,param_03,param_04,param_05); return; } if(isdefined(param_04)) { self [[ param_00 ]](param_02,param_03,param_04); return; } if(isdefined(param_03)) { self [[ param_00 ]](param_02,param_03); return; } if(isdefined(param_02)) { self [[ param_00 ]](param_02); return; } self [[ param_00 ]](); } //Function Number: 79 noself_delaycall(param_00,param_01,param_02,param_03,param_04,param_05) { thread noself_delaycall_proc(param_01,param_00,param_02,param_03,param_04,param_05); } //Function Number: 80 noself_delaycall_proc(param_00,param_01,param_02,param_03,param_04,param_05) { wait param_01; if(isdefined(param_05)) { [[ param_00 ]](param_02,param_03,param_04,param_05); return; } if(isdefined(param_04)) { [[ param_00 ]](param_02,param_03,param_04); return; } if(isdefined(param_03)) { [[ param_00 ]](param_02,param_03); return; } if(isdefined(param_02)) { [[ param_00 ]](param_02); return; } [[ param_00 ]](); } //Function Number: 81 issp() { if(!isdefined(level.issp)) { level.issp = !string_starts_with(getdvar("mapname"),"mp_"); } return level.issp; } //Function Number: 82 issp_towerdefense() { if(!isdefined(level.issp_towerdefense)) { level.issp_towerdefense = string_starts_with(getdvar("mapname"),"so_td_"); } return level.issp_towerdefense; } //Function Number: 83 string_starts_with(param_00,param_01) { if(param_00.size < param_01.size) { return 0; } for(var_02 = 0;var_02 < param_01.size;var_02++) { if(tolower(param_00[var_02]) != tolower(param_01[var_02])) { return 0; } } return 1; } //Function Number: 84 plot_points(param_00,param_01,param_02,param_03,param_04) { var_05 = param_00[0]; if(!isdefined(param_01)) { param_01 = 1; } if(!isdefined(param_02)) { param_02 = 1; } if(!isdefined(param_03)) { param_03 = 1; } if(!isdefined(param_04)) { param_04 = 0.05; } for(var_06 = 1;var_06 < param_00.size;var_06++) { thread draw_line_for_time(var_05,param_00[var_06],param_01,param_02,param_03,param_04); var_05 = param_00[var_06]; } } //Function Number: 85 draw_line_for_time(param_00,param_01,param_02,param_03,param_04,param_05) { param_05 = gettime() + param_05 * 1000; while(gettime() < param_05) { wait 0.05; } } //Function Number: 86 array_combine(param_00,param_01) { var_02 = []; foreach(var_04 in param_00) { var_02[var_02.size] = var_04; } foreach(var_04 in param_01) { var_02[var_02.size] = var_04; } return var_02; } //Function Number: 87 flat_angle(param_00) { var_01 = (0,param_00[1],0); return var_01; } //Function Number: 88 flat_origin(param_00) { var_01 = (param_00[0],param_00[1],0); return var_01; } //Function Number: 89 draw_arrow_time(param_00,param_01,param_02,param_03) { level endon("newpath"); var_04 = []; var_05 = vectortoangles(param_00 - param_01); var_06 = anglestoright(var_05); var_07 = anglestoforward(var_05); var_08 = anglestoup(var_05); var_09 = distance(param_00,param_01); var_0A = []; var_0B = 0.1; var_0A[0] = param_00; var_0A[1] = param_00 + var_06 * var_09 * var_0B + var_07 * var_09 * -0.1; var_0A[2] = param_01; var_0A[3] = param_00 + var_06 * var_09 * -1 * var_0B + var_07 * var_09 * -0.1; var_0A[4] = param_00; var_0A[5] = param_00 + var_08 * var_09 * var_0B + var_07 * var_09 * -0.1; var_0A[6] = param_01; var_0A[7] = param_00 + var_08 * var_09 * -1 * var_0B + var_07 * var_09 * -0.1; var_0A[8] = param_00; var_0C = param_02[0]; var_0D = param_02[1]; var_0E = param_02[2]; plot_points(var_0A,var_0C,var_0D,var_0E,param_03); } //Function Number: 90 get_linked_ents() { var_00 = []; if(isdefined(self.script_linkto)) { var_01 = get_links(); foreach(var_03 in var_01) { var_04 = getentarray(var_03,"script_linkname"); if(var_04.size > 0) { var_00 = array_combine(var_00,var_04); } } } return var_00; } //Function Number: 91 get_linked_vehicle_nodes() { var_00 = []; if(isdefined(self.script_linkto)) { var_01 = get_links(); foreach(var_03 in var_01) { var_04 = getvehiclenodearray(var_03,"script_linkname"); if(var_04.size > 0) { var_00 = array_combine(var_00,var_04); } } } return var_00; } //Function Number: 92 get_linked_ent() { var_00 = get_linked_ents(); return var_00[0]; } //Function Number: 93 get_linked_vehicle_node() { var_00 = get_linked_vehicle_nodes(); return var_00[0]; } //Function Number: 94 get_links() { return strtok(self.script_linkto," "); } //Function Number: 95 run_thread_on_targetname(param_00,param_01,param_02,param_03,param_04) { var_05 = getentarray(param_00,"targetname"); array_thread(var_05,param_01,param_02,param_03,param_04); var_05 = getstructarray(param_00,"targetname"); array_thread(var_05,param_01,param_02,param_03,param_04); var_05 = [[ level.getnodearrayfunction ]](param_00,"targetname"); array_thread(var_05,param_01,param_02,param_03,param_04); var_05 = getvehiclenodearray(param_00,"targetname"); array_thread(var_05,param_01,param_02,param_03,param_04); } //Function Number: 96 run_thread_on_noteworthy(param_00,param_01,param_02,param_03,param_04) { var_05 = getentarray(param_00,"script_noteworthy"); array_thread(var_05,param_01,param_02,param_03,param_04); var_05 = getstructarray(param_00,"script_noteworthy"); array_thread(var_05,param_01,param_02,param_03,param_04); var_05 = [[ level.getnodearrayfunction ]](param_00,"script_noteworthy"); array_thread(var_05,param_01,param_02,param_03,param_04); var_05 = getvehiclenodearray(param_00,"script_noteworthy"); array_thread(var_05,param_01,param_02,param_03,param_04); } //Function Number: 97 draw_arrow(param_00,param_01,param_02) { level endon("newpath"); var_03 = []; var_04 = vectortoangles(param_00 - param_01); var_05 = anglestoright(var_04); var_06 = anglestoforward(var_04); var_07 = distance(param_00,param_01); var_08 = []; var_09 = 0.05; var_08[0] = param_00; var_08[1] = param_00 + var_05 * var_07 * var_09 + var_06 * var_07 * -0.2; var_08[2] = param_01; var_08[3] = param_00 + var_05 * var_07 * -1 * var_09 + var_06 * var_07 * -0.2; for(var_0A = 0;var_0A < 4;var_0A++) { var_0B = var_0A + 1; if(var_0B >= 4) { var_0B = 0; } } } //Function Number: 98 getfx(param_00) { return level._effect[param_00]; } //Function Number: 99 fxexists(param_00) { return isdefined(level._effect[param_00]); } //Function Number: 100 print_csv_asset(param_00,param_01) { var_02 = param_01 + "," + param_00; if(isdefined(level.var_924[var_02])) { return; } level.var_924[var_02] = 1; } //Function Number: 101 fileprint_csv_start(param_00) { } //Function Number: 102 _loadfx(param_00) { return loadfx(param_00); } //Function Number: 103 getlastweapon() { return self.saved_lastweapon; } //Function Number: 104 playerunlimitedammothread() { } //Function Number: 105 isusabilityenabled() { return !self.disabledusability; } //Function Number: 106 _disableusability() { self.disabledusability++; self disableusability(); } //Function Number: 107 _enableusability() { self.disabledusability--; if(!self.disabledusability) { self enableusability(); } } //Function Number: 108 resetusability() { self.disabledusability = 0; self enableusability(); } //Function Number: 109 _disableweapon() { self.disabledweapon++; self disableweapons(); } //Function Number: 110 _enableweapon() { self.disabledweapon--; if(!self.disabledweapon) { self enableweapons(); } } //Function Number: 111 isweaponenabled() { return !self.disabledweapon; } //Function Number: 112 _disableweaponswitch() { self.disabledweaponswitch++; self disableweaponswitch(); } //Function Number: 113 _enableweaponswitch() { self.disabledweaponswitch--; if(!self.disabledweaponswitch) { self enableweaponswitch(); } } //Function Number: 114 isweaponswitchenabled() { return !self.disabledweaponswitch; } //Function Number: 115 _disableoffhandweapons() { self.disabledoffhandweapons++; self disableoffhandweapons(); } //Function Number: 116 _enableoffhandweapons() { self.disabledoffhandweapons--; if(!self.disabledoffhandweapons) { self enableoffhandweapons(); } } //Function Number: 117 isoffhandweaponenabled() { return !self.disabledoffhandweapons; } //Function Number: 118 random(param_00) { var_01 = []; foreach(var_03 in param_00) { var_01[var_01.size] = var_03; } if(!var_01.size) { return undefined; } return var_01[randomint(var_01.size)]; } //Function Number: 119 spawn_tag_origin() { var_00 = spawn("script_model",(0,0,0)); var_00 setmodel("tag_origin"); var_00 hide(); if(isdefined(self.origin)) { var_00.origin = self.origin; } if(isdefined(self.angles)) { var_00.angles = self.angles; } return var_00; } //Function Number: 120 waittill_notify_or_timeout(param_00,param_01) { self endon(param_00); wait param_01; } //Function Number: 121 fileprint_launcher_start_file() { level.var_93E = 0; level.fileprint_launcher = 1; fileprint_launcher("GAMEPRINTSTARTFILE:"); } //Function Number: 122 fileprint_launcher(param_00) { level.var_93E++; if(level.var_93E > 200) { wait 0.05; level.var_93E = 0; } } //Function Number: 123 fileprint_launcher_end_file(param_00,param_01) { if(!isdefined(param_01)) { param_01 = 0; } if(param_01) { fileprint_launcher("GAMEPRINTENDFILE:GAMEPRINTP4ENABLED:" + param_00); } else { fileprint_launcher("GAMEPRINTENDFILE:" + param_00); } var_02 = gettime() + 4000; while(getdvarint("LAUNCHER_PRINT_SUCCESS") == 0 && getdvar("LAUNCHER_PRINT_FAIL") == "0" && gettime() < var_02) { wait 0.05; } if(!gettime() < var_02) { iprintlnbold("LAUNCHER_PRINT_FAIL:( TIMEOUT ): launcherconflict? restart launcher and try again? "); level.fileprint_launcher = undefined; return 0; } var_03 = getdvar("LAUNCHER_PRINT_FAIL"); if(var_03 != "0") { iprintlnbold("LAUNCHER_PRINT_FAIL:( " + var_03 + " ): launcherconflict? restart launcher and try again? "); level.fileprint_launcher = undefined; return 0; } level.fileprint_launcher = undefined; return 1; } //Function Number: 124 launcher_write_clipboard(param_00) { level.var_93E = 0; fileprint_launcher("LAUNCHER_CLIP:" + param_00); } //Function Number: 125 isdestructible() { if(!isdefined(self)) { return 0; } return isdefined(self.destructible_type); } //Function Number: 126 pauseeffect() { common_scripts\_createfx::stop_fx_looper(); } //Function Number: 127 activate_individual_exploder() { if(isdefined(self.v["firefx"])) { thread fire_effect(); } if(isdefined(self.v["fxid"]) && self.v["fxid"] != "No FX") { thread cannon_effect(); } else if(isdefined(self.v["soundalias"]) && self.v["soundalias"] != "nil") { thread sound_effect(); } if(isdefined(self.v["loopsound"]) && self.v["loopsound"] != "nil") { thread effect_loopsound(); } if(isdefined(self.v["damage"])) { thread exploder_damage(); } if(isdefined(self.v["earthquake"])) { thread exploder_earthquake(); } if(isdefined(self.v["rumble"])) { thread exploder_rumble(); } if(self.v["exploder_type"] == "exploder") { thread brush_show(); return; } if(self.v["exploder_type"] == "exploderchunk" || self.v["exploder_type"] == "exploderchunk visible") { thread brush_throw(); return; } thread brush_delete(); } //Function Number: 128 waitframe() { wait 0.05; } //Function Number: 129 brush_delete() { var_00 = self.v["exploder"]; if(isdefined(self.v["delay"])) { wait self.v["delay"]; } else { wait 0.05; } if(!isdefined(self.model)) { return; } if(isdefined(self.model.classname)) { if(issp() && self.model.spawnflags & 1) { self.model [[ level.connectpathsfunction ]](); } } if(level.createfx_enabled) { if(isdefined(self.var_946)) { return; } self.var_946 = 1; self.model hide(); self.model notsolid(); wait 3; self.var_946 = undefined; self.model show(); self.model solid(); return; } if(!isdefined(self.v["fxid"]) || self.v["fxid"] == "No FX") { self.v["exploder"] = undefined; } waittillframeend; if(isdefined(self.model) && isdefined(self.model.classname)) { self.model delete(); } } //Function Number: 130 brush_throw() { if(isdefined(self.v["delay"])) { wait self.v["delay"]; } var_00 = undefined; if(isdefined(self.v["target"])) { var_00 = get_target_ent(self.v["target"]); } if(!isdefined(var_00)) { self.model delete(); return; } self.model show(); if(isdefined(self.v["delay_post"])) { wait self.v["delay_post"]; } var_01 = self.v["origin"]; var_02 = self.v["angles"]; var_03 = var_00.origin; var_04 = var_03 - self.v["origin"]; var_05 = var_04[0]; var_06 = var_04[1]; var_07 = var_04[2]; var_08 = isdefined(self.v["physics"]); if(var_08) { var_09 = undefined; if(isdefined(var_00.target)) { var_09 = var_00 get_target_ent(); } if(!isdefined(var_09)) { var_0A = var_01; var_0B = var_00.origin; } else { var_0A = var_02.origin; var_0B = var_0A.origin - var_01.origin * self.v["physics"]; } self.model physicslaunchclient(var_0A,var_0B); return; } else { self.model rotatevelocity((var_08,var_09,var_0A),12); self.model movegravity((var_08,var_09,var_0A),12); } if(level.createfx_enabled) { if(isdefined(self.var_946)) { return; } self.var_946 = 1; wait 3; self.var_946 = undefined; self.v["origin"] = var_04; self.v["angles"] = var_05; self.model hide(); return; } self.v["exploder"] = undefined; wait 6; self.model delete(); } //Function Number: 131 get_target_ent(param_00) { if(!isdefined(param_00)) { param_00 = self.target; } var_01 = getent(param_00,"targetname"); if(isdefined(var_01)) { return var_01; } if(issp()) { var_01 = [[ level.getnodefunction ]](param_00,"targetname"); if(isdefined(var_01)) { return var_01; } } var_01 = getstruct(param_00,"targetname"); if(isdefined(var_01)) { return var_01; } var_01 = getvehiclenode(param_00,"targetname"); if(isdefined(var_01)) { return var_01; } } //Function Number: 132 brush_show() { if(isdefined(self.v["delay"])) { wait self.v["delay"]; } if(!isdefined(self.model.script_modelname)) { self.model show(); self.model solid(); } else { var_00 = self.model spawn_tag_origin(); if(isdefined(self.model.script_linkname)) { var_00.script_linkname = self.model.script_linkname; } var_00 setmodel(self.model.script_modelname); var_00 show(); } self.brush_shown = 1; if(issp() && !isdefined(self.model.script_modelname) && self.model.spawnflags & 1) { if(!isdefined(self.model.disconnect_paths)) { self.model [[ level.connectpathsfunction ]](); } else { self.model [[ level.disconnectpathsfunction ]](); } } if(level.createfx_enabled) { if(isdefined(self.var_946)) { return; } self.var_946 = 1; wait 3; self.var_946 = undefined; if(!isdefined(self.model.script_modelname)) { self.model hide(); self.model notsolid(); } } } //Function Number: 133 exploder_earthquake() { exploder_delay(); do_earthquake(self.v["earthquake"],self.v["origin"]); } //Function Number: 134 do_earthquake(param_00,param_01) { var_02 = level.earthquake[param_00]; earthquake(var_02["magnitude"],var_02["duration"],param_01,var_02["radius"]); } //Function Number: 135 exploder_rumble() { if(!issp()) { return; } exploder_delay(); level.player playrumbleonentity(self.v["rumble"]); } //Function Number: 136 exploder_delay() { if(!isdefined(self.v["delay"])) { self.v["delay"] = 0; } var_00 = self.v["delay"]; var_01 = self.v["delay"] + 0.001; if(isdefined(self.v["delay_min"])) { var_00 = self.v["delay_min"]; } if(isdefined(self.v["delay_max"])) { var_01 = self.v["delay_max"]; } if(var_00 > 0) { wait randomfloatrange(var_00,var_01); } } //Function Number: 137 exploder_damage() { if(isdefined(self.v["delay"])) { var_00 = self.v["delay"]; } else { var_00 = 0; } if(isdefined(self.v["damage_radius"])) { var_01 = self.v["damage_radius"]; } else { var_01 = 128; } var_02 = self.v["damage"]; var_03 = self.v["origin"]; wait var_00; radiusdamage(var_03,var_01,var_02,var_02); } //Function Number: 138 effect_loopsound() { if(isdefined(self.var_956)) { self.var_956 delete(); } var_00 = self.v["origin"]; var_01 = self.v["loopsound"]; exploder_delay(); self.var_956 = play_loopsound_in_space(var_01,var_00); } //Function Number: 139 play_loopsound_in_space(param_00,param_01) { var_02 = spawn("script_origin",(0,0,0)); if(!isdefined(param_01)) { param_01 = self.origin; } var_02.origin = param_01; var_02 playloopsound(param_00); return var_02; } //Function Number: 140 sound_effect() { effect_soundalias(); } //Function Number: 141 effect_soundalias() { var_00 = self.v["origin"]; var_01 = self.v["soundalias"]; exploder_delay(); play_sound_in_space(var_01,var_00); } //Function Number: 142 play_sound_in_space(param_00,param_01,param_02) { var_03 = spawn("script_origin",(0,0,1)); if(!isdefined(param_01)) { param_01 = self.origin; } var_03.origin = param_01; if(issp()) { if(isdefined(param_02) && param_02) { var_03 playsoundasmaster(param_00,"sounddone"); } else { var_03 playsound(param_00,"sounddone"); } } else if(isdefined(param_02) && param_02) { var_03 playsoundasmaster(param_00); } else { var_03 playsound(param_00); } var_03 waittill("sounddone"); var_03 delete(); } //Function Number: 143 cannon_effect() { if(isdefined(self.v["repeat"])) { thread exploder_playsound(); for(var_00 = 0;var_00 < self.v["repeat"];var_00++) { playfx(level._effect[self.v["fxid"]],self.v["origin"],self.v["forward"],self.v["up"]); exploder_delay(); } return; } exploder_delay(); if(isdefined(self.looper)) { self.looper delete(); } self.looper = spawnfx(getfx(self.v["fxid"]),self.v["origin"],self.v["forward"],self.v["up"]); triggerfx(self.looper); exploder_playsound(); } //Function Number: 144 exploder_playsound() { if(!isdefined(self.v["soundalias"]) || self.v["soundalias"] == "nil") { return; } play_sound_in_space(self.v["soundalias"],self.v["origin"]); } //Function Number: 145 fire_effect() { var_00 = self.v["forward"]; var_01 = self.v["up"]; var_02 = undefined; var_03 = self.v["firefxsound"]; var_04 = self.v["origin"]; var_05 = self.v["firefx"]; var_06 = self.v["ender"]; if(!isdefined(var_06)) { var_06 = "createfx_effectStopper"; } var_07 = self.v["firefxtimeout"]; var_08 = 0.5; if(isdefined(self.v["firefxdelay"])) { var_08 = self.v["firefxdelay"]; } exploder_delay(); if(isdefined(var_03)) { level thread loop_fx_sound(var_03,var_04,1,var_06,var_07); } playfx(level._effect[var_05],self.v["origin"],var_00,var_01); } //Function Number: 146 loop_fx_sound(param_00,param_01,param_02,param_03,param_04) { if(isdefined(param_02) && param_02 == 1) { if(!isdefined(level.first_frame) || level.first_frame == 1) { spawnloopingsound(param_00,param_01); return; } return; } var_05 = spawn("script_origin",(0,0,0)); if(isdefined(param_03)) { thread loop_sound_delete(param_03,var_05); self endon(param_03); } var_05.origin = param_01; var_05 playloopsound(param_00); var_06 = 0; if(isdefined(level.createfx_enabled)) { var_06 = level.createfx_enabled; } if(!isdefined(param_04) && !var_06) { var_05 willneverchange(); return; } if(isdefined(param_04)) { wait param_04; } } //Function Number: 147 loop_fx_sound_interval(param_00,param_01,param_02,param_03,param_04,param_05) { var_06 = spawn("script_origin",(0,0,0)); if(isdefined(param_02)) { thread loop_sound_delete(param_02,var_06); self endon(param_02); } var_06.origin = param_01; if(param_04 >= param_05) { wait 0.05; } if(!soundexists(param_00)) { wait 0.05; } for(;;) { lock("createfx_looper"); thread play_sound_in_space(param_00,var_06.origin); eog_newstar("createfx_looper"); wait randomfloatrange(param_04,param_05); } } //Function Number: 148 loop_sound_delete(param_00,param_01) { param_01 endon("death"); self waittill(param_00); param_01 delete(); } //Function Number: 149 exploder_before_load(param_00) { waittillframeend; waittillframeend; activate_exploder(param_00); } //Function Number: 150 exploder_after_load(param_00) { activate_exploder(param_00); } //Function Number: 151 activate_exploder(param_00) { param_00 = param_00 + ""; level notify("exploding_" + param_00); if(isdefined(level.createfxexploders) && !level.createfx_enabled) { var_01 = level.createfxexploders[param_00]; if(isdefined(var_01)) { foreach(var_03 in var_01) { var_03 activate_individual_exploder(); } return; } return; } var_05 = 0; while(var_03 < level.createfxent.size) { var_05 = level.createfxent[var_03]; if(!isdefined(var_05)) { continue; } if(var_05.v["type"] != "exploder") { continue; } if(!isdefined(var_05.v["exploder"])) { continue; } if(var_05.v["exploder"] + "" != var_02) { continue; } var_05 activate_individual_exploder(); var_03++; } } //Function Number: 152 createloopeffect(param_00) { var_01 = common_scripts\_createfx::createeffect("loopfx",param_00); var_01.v["delay"] = common_scripts\_createfx::getloopeffectdelaydefault(); return var_01; } //Function Number: 153 createoneshoteffect(param_00) { var_01 = common_scripts\_createfx::createeffect("oneshotfx",param_00); var_01.v["delay"] = common_scripts\_createfx::getoneshoteffectdelaydefault(); return var_01; } //Function Number: 154 createexploder(param_00) { var_01 = common_scripts\_createfx::createeffect("exploder",param_00); var_01.v["delay"] = common_scripts\_createfx::getexploderdelaydefault(); var_01.v["exploder_type"] = "normal"; return var_01; } //Function Number: 155 alphabetize(param_00) { if(param_00.size <= 1) { return param_00; } var_01 = 0; for(var_02 = param_00.size - 1;var_02 >= 1;var_02--) { var_03 = param_00[var_02]; var_04 = var_02; for(var_05 = 0;var_05 < var_02;var_05++) { var_06 = param_00[var_05]; if(stricmp(var_06,var_03) > 0) { var_03 = var_06; var_04 = var_05; } } if(var_04 != var_02) { param_00[var_04] = param_00[var_02]; param_00[var_02] = var_03; } } return param_00; } //Function Number: 156 is_later_in_alphabet(param_00,param_01) { return stricmp(param_00,param_01) > 0; } //Function Number: 157 alphabet_compare(param_00,param_01) { var_02 = []; var_03 = 1; var_02["0"] = var_03; var_03++; var_02["1"] = var_03; var_03++; var_02["2"] = var_03; var_03++; var_02["3"] = var_03; var_03++; var_02["4"] = var_03; var_03++; var_02["5"] = var_03; var_03++; var_02["6"] = var_03; var_03++; var_02["7"] = var_03; var_03++; var_02["8"] = var_03; var_03++; var_02["9"] = var_03; var_03++; var_02["_"] = var_03; var_03++; var_02["a"] = var_03; var_03++; var_02["b"] = var_03; var_03++; var_02["c"] = var_03; var_03++; var_02["d"] = var_03; var_03++; var_02["e"] = var_03; var_03++; var_02["f"] = var_03; var_03++; var_02["g"] = var_03; var_03++; var_02["h"] = var_03; var_03++; var_02["i"] = var_03; var_03++; var_02["j"] = var_03; var_03++; var_02["k"] = var_03; var_03++; var_02["l"] = var_03; var_03++; var_02["m"] = var_03; var_03++; var_02["n"] = var_03; var_03++; var_02["o"] = var_03; var_03++; var_02["p"] = var_03; var_03++; var_02["q"] = var_03; var_03++; var_02["r"] = var_03; var_03++; var_02["s"] = var_03; var_03++; var_02["t"] = var_03; var_03++; var_02["u"] = var_03; var_03++; var_02["v"] = var_03; var_03++; var_02["w"] = var_03; var_03++; var_02["x"] = var_03; var_03++; var_02["y"] = var_03; var_03++; var_02["z"] = var_03; var_03++; param_00 = tolower(param_00); param_01 = tolower(param_01); var_04 = 0; if(isdefined(var_02[param_00])) { var_04 = var_02[param_00]; } var_05 = 0; if(isdefined(var_02[param_01])) { var_05 = var_02[param_01]; } if(var_04 > var_05) { return "1st"; } if(var_04 < var_05) { return "2nd"; } return "same"; } //Function Number: 158 play_loop_sound_on_entity(param_00,param_01) { var_02 = spawn("script_origin",(0,0,0)); var_02 endon("death"); thread delete_on_death(var_02); if(isdefined(param_01)) { var_02.origin = self.origin + param_01; var_02.angles = self.angles; var_02 linkto(self); } else { var_02.origin = self.origin; var_02.angles = self.angles; var_02 linkto(self); } var_02 playloopsound(param_00); self waittill("stop sound" + param_00); var_02 stoploopsound(param_00); var_02 delete(); } //Function Number: 159 stop_loop_sound_on_entity(param_00) { self notify("stop sound" + param_00); } //Function Number: 160 delete_on_death(param_00) { param_00 endon("death"); self waittill("death"); if(isdefined(param_00)) { param_00 delete(); } } //Function Number: 161 error(param_00) { waitframe(); } //Function Number: 162 exploder(param_00) { [[ level.var_7CD ]](param_00); } //Function Number: 163 create_dvar(param_00,param_01) { setdvarifuninitialized(param_00,param_01); } //Function Number: 164 void() { } //Function Number: 165 tag_project(param_00,param_01) { var_02 = self gettagorigin(param_00); var_03 = self gettagangles(param_00); var_04 = anglestoforward(var_03); var_04 = vectornormalize(var_04) * param_01; return var_02 + var_04; } //Function Number: 166 ter_op(param_00,param_01,param_02) { if(param_00) { return param_01; } return param_02; } //Function Number: 167 create_lock(param_00,param_01) { if(!isdefined(param_01)) { param_01 = 1; } if(!isdefined(level.lock)) { level.lock = []; } var_02 = spawnstruct(); var_02.var_96C = param_01; var_02.count = 0; level.lock[param_00] = var_02; } //Function Number: 168 lock(param_00) { for(var_01 = level.lock[param_00];var_01.count >= var_01.var_96C;var_01 waittill("unlocked")) { } var_01.count++; } //Function Number: 169 is_locked(param_00) { var_01 = level.lock[param_00]; return var_01.count > var_01.var_96C; } //Function Number: 170 unlock_wait(param_00) { thread unlock_thread(param_00); wait 0.05; } //Function Number: 171 eog_newstar(param_00) { thread unlock_thread(param_00); } //Function Number: 172 unlock_thread(param_00) { wait 0.05; var_01 = level.lock[param_00]; var_01.count--; var_01 notify("unlocked"); } //Function Number: 173 get_template_level() { var_00 = level.script; if(isdefined(level.template_script)) { var_00 = level.template_script; } return var_00; }