/******************************************************************* * Decompiled By: Bog * Decompiled File: scripts\mp\_battlechatter_mp.gsc * Game: Call of Duty: Infinite Warfare * Platform: PC * Function Count: 64 * Decompile Time: 3056 ms * Timestamp: 10/27/2023 12:14:34 AM *******************************************************************/ //Function Number: 1 init() { if(level.multiteambased) { foreach(var_01 in level.teamnamelist) { level.var_9F9F[var_01] = 0; level.var_1092F[var_01] = []; } } else { level.var_9F9F["allies"] = 0; level.var_9F9F["axis"] = 0; level.var_1092F["allies"] = []; level.var_1092F["axis"] = []; } func_FAE9(); level.var_29CB = []; level.var_29CB["reload"] = "inform_reloading_generic"; level.var_29CB["frag_out"] = "inform_attack_grenade"; level.var_29CB["flash_out"] = "inform_attack_flashbang"; level.var_29CB["smoke_out"] = "inform_attack_smoke"; level.var_29CB["conc_out"] = "inform_attack_stun"; level.var_29CB["c4_plant"] = "inform_attack_thwc4"; level.var_29CB["claymore_plant"] = "inform_plant_claymore"; level.var_29CB["semtex_out"] = "semtex_use"; level.var_29CB["kill"] = "inform_killfirm_infantry"; level.var_29CB["casualty"] = "reaction_casualty_generic"; level.var_29CB["suppressing_fire"] = "cmd_suppressfire"; level.var_29CB["moving"] = "order_move_combat"; level.var_29CB["callout_generic"] = "threat_infantry_generic"; level.var_29CB["callout_response_generic"] = "response_ack_yes"; level.var_29CB["damage"] = "inform_taking_fire"; level.var_29CB["semtex_incoming"] = "semtex_incoming"; level.var_29CB["c4_incoming"] = "c4_incoming"; level.var_29CB["flash_incoming"] = "flash_incoming"; level.var_29CB["stun_incoming"] = "stun_incoming"; level.var_29CB["grenade_incoming"] = "grenade_incoming"; level.var_29CB["rpg_incoming"] = "rpg_incoming"; level.var_29AA = []; level.var_29AA["timeout"]["suppressing_fire"] = 5000; level.var_29AA["timeout"]["moving"] = -20536; level.var_29AA["timeout"]["callout_generic"] = 15000; level.var_29AA["timeout"]["callout_location"] = 3000; level.var_29AA["timeout_player"]["suppressing_fire"] = 10000; level.var_29AA["timeout_player"]["moving"] = 120000; level.var_29AA["timeout_player"]["callout_generic"] = 5000; level.var_29AA["timeout_player"]["callout_location"] = 5000; foreach(var_05, var_04 in level.var_1092F) { level.var_29AA["last_say_time"][var_05]["suppressing_fire"] = -99999; level.var_29AA["last_say_time"][var_05]["moving"] = -99999; level.var_29AA["last_say_time"][var_05]["callout_generic"] = -99999; level.var_29AA["last_say_time"][var_05]["callout_location"] = -99999; level.var_29AA["last_say_pos"][var_05]["suppressing_fire"] = (0,0,-9000); level.var_29AA["last_say_pos"][var_05]["moving"] = (0,0,-9000); level.var_29AA["last_say_pos"][var_05]["callout_generic"] = (0,0,-9000); level.var_29AA["last_say_pos"][var_05]["callout_location"] = (0,0,-9000); level.var_13526[var_05][""] = 0; level.var_13526[var_05]["w"] = 0; } scripts\common\bcs_location_trigs::func_29BB(); scripts\mp\bcs_location_trigs::func_29BB(); var_06 = getdvar("g_gametype"); level.var_9F92 = 1; if(var_06 == "war" || var_06 == "kc" || var_06 == "dom") { level.var_9F92 = 0; } level thread func_C56E(); } //Function Number: 2 func_C56E() { for(;;) { level waittill("connected",var_00); var_01 = var_00 getplayerdata("common","gender"); if(var_01) { var_00.var_7727 = "female"; } else { var_00.var_7727 = "male"; } var_00 thread func_C57B(); } } //Function Number: 3 func_C57B() { self endon("disconnect"); for(;;) { self waittill("spawned_player"); self.var_29AA = []; self.var_29AA["last_say_time"]["suppressing_fire"] = -99999; self.var_29AA["last_say_time"]["moving"] = -99999; self.var_29AA["last_say_time"]["callout_generic"] = -99999; self.var_29AA["last_say_time"]["callout_location"] = -99999; if(scripts\mp\_utility::func_9D48("archetype_heavy")) { var_00 = "HV_"; } else if(scripts\mp\_utility::func_9D48("archetype_scout")) { var_00 = "SN_"; } else if(scripts\mp\_utility::func_9D48("archetype_assassin")) { var_00 = "FT_"; } else if(scripts\mp\_utility::func_9D48("archetype_engineer")) { var_00 = "N6_"; } else if(scripts\mp\_utility::func_9D48("archetype_sniper")) { var_00 = "GH_"; } else if(scripts\mp\_utility::func_9D48("archetype_assault")) { var_00 = "AS_"; } else { var_00 = "AS_"; } var_01 = scripts\mp\_teams::func_7E55(); if(isdefined(var_01)) { var_02 = var_01["body"]; if(isdefined(var_02)) { switch(var_02) { case "mp_ftl_hero_valley_girl_body": var_00 = "N6_"; break; case "body_mp_ghost_zombies": var_00 = "N6_"; break; } } } var_03 = !isagent(self) && !scripts\mp\_utility::isfemale(); self.pers["voicePrefix"] = var_00 + var_03 + "_"; if(level.splitscreen) { continue; } if(!level.teambased) { continue; } if(scripts\mp\_utility::func_9D46()) { self.var_29A4 = 1; continue; } thread func_402C(); thread func_DF5F(); thread func_85E5(); thread func_85D1(); thread func_112CC(); thread func_3B20(); thread func_4D73(); thread func_10AC4(); thread func_117E1(); } } //Function Number: 4 func_85D1() { self endon("disconnect"); self endon("death"); var_00 = self.origin; var_01 = 147456; for(;;) { var_02 = scripts\common\utility::func_116D7(isdefined(level.var_85D5),level.var_85D5,[]); var_03 = scripts\common\utility::func_116D7(isdefined(level.var_B898),level.var_B898,[]); if(var_02.size + var_03.size < 1 || !scripts\mp\_utility::func_9F19(self)) { wait(0.05); continue; } var_02 = scripts\common\utility::array_combine(var_02,var_03); foreach(var_05 in var_02) { wait(0.05); if(!isdefined(var_05)) { continue; } if(isdefined(var_05.var_13C2E)) { switch(var_05.var_13C2E) { case "mobile_radar_mp": case "motion_sensor_mp": case "proximity_explosive_mp": case "throwingreaper_mp": case "throwingknifesmokewall_mp": case "throwingknifeteleport_mp": case "trophy_mp": case "smoke_grenade_mp": case "throwingknife_mp": case "blackhole_grenade_mp": case "throwingknifec4_mp": break; } if(function_0244(var_05.var_13C2E) != "offhand" && weaponclass(var_05.var_13C2E) == "grenade") { continue; } if(!isdefined(var_05.var_222)) { var_05.var_222 = getmissileowner(var_05); } if(isdefined(var_05.var_222) && level.teambased && var_05.var_222.team == self.team) { continue; } var_06 = distancesquared(var_05.origin,self.origin); if(var_06 < var_01) { if(scripts\common\utility::func_4347()) { wait(5); continue; } if(bullettracepassed(var_05.origin,self.origin,0,self)) { if(var_05.var_13C2E == "concussion_grenade_mp" || var_05.var_13C2E == "sensor_grenade_mp") { level thread func_EB84(self,"stun_incoming"); wait(5); continue; } if(var_05.var_13C2E == "flash_grenade_mp") { level thread func_EB84(self,"flash_incoming"); wait(5); continue; } if(weaponclass(var_05.var_13C2E) == "rocketlauncher") { level thread func_EB84(self,"rpg_incoming"); wait(5); continue; } if(var_05.var_13C2E == "c4_mp") { level thread func_EB84(self,"c4_incoming"); wait(5); continue; } if(var_05.var_13C2E == "semtex_mp") { level thread func_EB84(self,"semtex_incoming"); wait(5); continue; } level thread func_EB84(self,"grenade_incoming"); wait(5); } } } } } } //Function Number: 5 func_112CC() { self endon("death"); self endon("disconnect"); self endon("faux_spawn"); var_00 = undefined; for(;;) { self waittill("begin_firing"); thread func_112D1(); thread func_112D0(); self waittill("stoppedFiring"); } } //Function Number: 6 func_112D0() { thread func_1371B(); self endon("begin_firing"); self waittill("end_firing"); wait(0.3); self notify("stoppedFiring"); } //Function Number: 7 func_1371B() { self endon("stoppedFiring"); self waittill("begin_firing"); thread func_112D0(); } //Function Number: 8 func_112D1() { self notify("suppressWaiter"); self endon("suppressWaiter"); self endon("death"); self endon("disconnect"); self endon("stoppedFiring"); wait(1); if(func_3902("suppressing_fire")) { level thread func_EB84(self,"suppressing_fire"); } } //Function Number: 9 func_402C() { self endon("death"); self endon("disconnect"); self endon("faux_spawn"); for(;;) { self waittill("begin_firing"); var_00 = self getcurrentweapon(); if(var_00 == "claymore_mp") { level thread func_EB84(self,"claymore_plant"); } } } //Function Number: 10 func_DF5F() { self endon("death"); self endon("disconnect"); self endon("faux_spawn"); for(;;) { self waittill("reload_start"); level thread func_EB84(self,"reload"); } } //Function Number: 11 func_85E5() { self endon("death"); self endon("disconnect"); self endon("faux_spawn"); for(;;) { self waittill("grenade_fire",var_00,var_01); if(var_01 == "frag_grenade_mp") { level thread func_EB84(self,"frag_out"); continue; } if(var_01 == "semtex_mp") { level thread func_EB84(self,"semtex_out"); continue; } if(var_01 == "cluster_grenade_mp") { level thread func_EB84(self,"frag_out"); continue; } if(var_01 == "flash_grenade_mp") { level thread func_EB84(self,"flash_out"); continue; } if(var_01 == "concussion_grenade_mp" || var_01 == "sensor_grenade_mp") { level thread func_EB84(self,"conc_out"); continue; } if(var_01 == "smoke_grenade_mp" || var_01 == "gas_grenade_mp") { level thread func_EB84(self,"smoke_out"); continue; } if(var_01 == "c4_mp") { level thread func_EB84(self,"c4_plant"); } } } //Function Number: 12 func_10AC4() { self endon("death"); self endon("disconnect"); self endon("faux_spawn"); for(;;) { self waittill("sprint_begin"); if(func_3902("moving")) { level thread func_EB84(self,"moving",0,0); } } } //Function Number: 13 func_4D73() { self endon("death"); self endon("disconnect"); self endon("faux_spawn"); for(;;) { self waittill("damage",var_00,var_01); if(!isdefined(var_01)) { continue; } if(!isdefined(var_01.classname)) { continue; } if(var_01 != self && var_01.classname != "worldspawn") { wait(1.5); level thread func_EB84(self,"damage"); wait(3); } } } //Function Number: 14 func_3B20() { self endon("disconnect"); self endon("faux_spawn"); self waittill("death"); foreach(var_01 in level.var_C928) { if(!isdefined(var_01)) { continue; } if(var_01 == self) { continue; } if(!scripts\mp\_utility::func_9F19(var_01)) { continue; } if(!isdefined(self.team)) { continue; } if(var_01.team != self.team) { continue; } if(isagent(var_01)) { continue; } if(distancesquared(self.origin,var_01.origin) <= 262144) { level thread func_EB85(var_01,"casualty",0.75); break; } } } //Function Number: 15 func_117E1() { self endon("death"); self endon("disconnect"); self endon("faux_spawn"); for(;;) { self waittill("enemy_sighted"); if(getomnvar("ui_prematch_period")) { level waittill("prematch_over"); continue; } if(!func_3902("callout_location") && !func_3902("callout_generic")) { continue; } var_00 = self method_815C(); if(!isdefined(var_00)) { continue; } var_01 = 0; var_02 = 4000000; if(self method_822E() > 0.7) { var_02 = 6250000; } foreach(var_04 in var_00) { if(isdefined(var_04) && scripts\mp\_utility::func_9F19(var_04) && !var_04 scripts\mp\_utility::_hasperk("specialty_coldblooded") && distancesquared(self.origin,var_04.origin) < var_02) { var_05 = var_04 func_81F7(self); var_01 = 1; if(isdefined(var_05) && func_3902("callout_location") && func_73DC(4840000)) { if(scripts\mp\_utility::_hasperk("specialty_quieter") || !func_73DC(262144)) { level thread func_EB84(self,var_05.var_AECB[0],0); } else { level thread func_EB84(self,var_05.var_AECB[0],1); } break; } } } if(var_01 && func_3902("callout_generic")) { level thread func_EB84(self,"callout_generic"); level thread func_EB87(self,"plr_target_generic",undefined,0.75); } } } //Function Number: 16 func_EB85(param_00,param_01,param_02,param_03,param_04) { param_00 endon("death"); param_00 endon("disconnect"); wait(param_02); func_EB84(param_00,param_01,param_03,param_04); } //Function Number: 17 func_EB84(param_00,param_01,param_02,param_03) { param_00 endon("death"); param_00 endon("disconnect"); if(scripts\mp\_utility::func_9FB3(param_00.var_29A4)) { return; } if(func_9F6A(param_00)) { return; } if(param_00.team != "spectator") { var_04 = param_00.pers["voicePrefix"]; if(isdefined(level.var_29CB[param_01])) { var_05 = var_04 + level.var_29CB[param_01]; } else { func_AEC5(param_02); var_05 = var_05 + "co_loc_" + param_02; param_00 thread func_5ABF(var_05,param_01); param_01 = "callout_location"; } param_00 func_12E72(param_01); param_00 thread func_5AB0(var_05,param_02,param_03); } } //Function Number: 18 func_5AB0(param_00,param_01,param_02) { if(!isdefined(param_02)) { param_02 = 1; } var_03 = self.pers["team"]; level func_182A(self,var_03); var_04 = !level.var_9F92 || !scripts\mp\_utility::_hasperk("specialty_coldblooded") && isagent(self) || self method_81B9(); if(param_02 && var_04) { if(isagent(self) || level.var_1BE6[var_03] > 3) { thread func_5AB1(param_00,var_03); } } if(isagent(self) || isdefined(param_01) && param_01) { self playsoundtoteam(param_00,var_03); } else { self playsoundtoteam(param_00,var_03,self); } thread func_118EF(param_00); scripts\common\utility::waittill_any_3(param_00,"death","disconnect"); level func_E173(self,var_03); } //Function Number: 19 func_5AB1(param_00,param_01) { var_02 = spawn("script_origin",self.origin + (0,0,256)); var_03 = param_00 + "_n"; if(soundexists(var_03)) { foreach(var_05 in level.teamnamelist) { if(var_05 != param_01) { var_02 playsoundtoteam(var_03,var_05); } } } wait(3); var_02 delete(); } //Function Number: 20 func_5ABF(param_00,param_01) { var_02 = scripts\common\utility::func_13734(param_00,"death","disconnect"); if(var_02 == param_00) { var_03 = self.team; var_04 = self.pers["voicePrefix"]; var_05 = self.origin; wait(0.5); foreach(var_0B, var_07 in level.var_C928) { if(!isdefined(var_07)) { continue; } if(var_07 == self) { continue; } if(!scripts\mp\_utility::func_9F19(var_07)) { continue; } if(var_07.team != var_03) { continue; } var_08 = var_07.pers["voicePrefix"]; if(!isdefined(var_08)) { continue; } if(var_08 != var_04 && distancesquared(var_05,var_07.origin) <= 262144 && !func_9F6A(var_07)) { var_09 = var_08 + "co_loc_" + param_01 + "_echo"; if(soundexists(var_09) && scripts\common\utility::func_4347()) { var_0A = var_09; } else { var_0A = var_0B + level.var_29CB["callout_response_generic"]; } var_07 thread func_5AB0(var_0A,0,1); break; } } } } //Function Number: 21 func_118EF(param_00) { self endon("death"); self endon("disconnect"); wait(2); self notify(param_00); } //Function Number: 22 func_9F6A(param_00,param_01) { param_00 endon("death"); param_00 endon("disconnect"); if(!isdefined(param_01)) { param_01 = 1000; } var_02 = param_01 * param_01; if(isdefined(param_00) && isdefined(param_00.team) && param_00.team != "spectator") { for(var_03 = 0;var_03 < level.var_1092F[param_00.team].size;var_03++) { var_04 = level.var_1092F[param_00.team][var_03]; if(var_04 == param_00) { return 1; } if(!isdefined(var_04)) { continue; } if(distancesquared(var_04.origin,param_00.origin) < var_02) { return 1; } } } return 0; } //Function Number: 23 func_182A(param_00,param_01) { level.var_1092F[param_01][level.var_1092F[param_01].size] = param_00; } //Function Number: 24 func_E173(param_00,param_01) { var_02 = []; for(var_03 = 0;var_03 < level.var_1092F[param_01].size;var_03++) { if(level.var_1092F[param_01][var_03] == param_00) { continue; } var_02[var_02.size] = level.var_1092F[param_01][var_03]; } level.var_1092F[param_01] = var_02; } //Function Number: 25 func_55B4(param_00) { param_00.var_29A4 = 1; } //Function Number: 26 func_6260(param_00) { param_00.var_29A4 = undefined; } //Function Number: 27 func_3902(param_00) { var_01 = self.pers["team"]; if(var_01 == "spectator") { return 0; } var_02 = level.var_29AA["timeout_player"][param_00]; var_03 = gettime() - self.var_29AA["last_say_time"][param_00]; if(var_02 > var_03) { return 0; } var_02 = level.var_29AA["timeout"][param_00]; var_03 = gettime() - level.var_29AA["last_say_time"][var_01][param_00]; if(var_02 < var_03) { return 1; } return 0; } //Function Number: 28 func_12E72(param_00) { var_01 = self.pers["team"]; self.var_29AA["last_say_time"][param_00] = gettime(); level.var_29AA["last_say_time"][var_01][param_00] = gettime(); level.var_29AA["last_say_pos"][var_01][param_00] = self.origin; } //Function Number: 29 func_12EC1(param_00) { } //Function Number: 30 func_7F7E() { var_00 = func_7803(); var_00 = scripts\common\utility::array_randomize(var_00); if(var_00.size) { foreach(var_02 in var_00) { if(!func_AEC6(var_02)) { return var_02; } } foreach(var_02 in var_00) { if(!func_AEC7(var_02)) { return var_02; } } } return undefined; } //Function Number: 31 func_81F7(param_00) { var_01 = func_7803(); var_01 = scripts\common\utility::array_randomize(var_01); if(var_01.size) { foreach(var_03 in var_01) { if(!func_AEC6(var_03) && param_00 func_3878(var_03)) { return var_03; } } foreach(var_03 in var_01) { if(!func_AEC7(var_03) && param_00 func_3878(var_03)) { return var_03; } } } return undefined; } //Function Number: 32 func_7803() { var_00 = level.var_29BC; var_01 = self getistouchingentities(var_00); var_02 = []; foreach(var_04 in var_01) { if(isdefined(var_04.var_AECB)) { var_02[var_02.size] = var_04; } } return var_02; } //Function Number: 33 func_12D96() { if(isdefined(level.var_29BC)) { anim.var_29BC = scripts\common\utility::func_22BC(level.var_29BC); } } //Function Number: 34 func_9C15() { var_00 = func_7803(); foreach(var_02 in var_00) { if(!func_AEC7(var_02)) { return 1; } } return 0; } //Function Number: 35 func_AEC6(param_00) { var_01 = func_AEC9(param_00.var_AECB[0]); if(!isdefined(var_01)) { return 0; } return 1; } //Function Number: 36 func_AEC7(param_00) { var_01 = func_AEC9(param_00.var_AECB[0]); if(!isdefined(var_01)) { return 0; } var_02 = var_01 + 25000; if(gettime() < var_02) { return 1; } return 0; } //Function Number: 37 func_AEC5(param_00) { level.var_AECC[param_00] = gettime(); } //Function Number: 38 func_AEC9(param_00) { if(isdefined(level.var_AECC[param_00])) { return level.var_AECC[param_00]; } return undefined; } //Function Number: 39 func_3878(param_00) { foreach(var_02 in param_00.var_AECB) { var_03 = func_7F7F("co_loc_" + var_02); var_04 = func_80A3(var_02,0); var_05 = func_7F7F("concat_loc_" + var_02); var_06 = soundexists(var_03) || soundexists(var_04) || soundexists(var_05); if(var_06) { return var_06; } } return 0; } //Function Number: 40 func_3896(param_00) { var_01 = param_00.var_AECB; foreach(var_03 in var_01) { if(func_9D7A(var_03,self)) { return 1; } } return 0; } //Function Number: 41 func_7E18(param_00) { var_01 = undefined; var_02 = self.var_AECB; foreach(var_04 in var_02) { if(func_9D7B(var_04,param_00) && !isdefined(self.var_DB40)) { var_01 = var_04; break; } if(func_9D7C(var_04)) { var_01 = var_04; } } return var_01; } //Function Number: 42 func_9D7C(param_00) { return issubstr(param_00,"_report"); } //Function Number: 43 func_9D7A(param_00,param_01) { var_02 = param_01 func_7F7F("concat_loc_" + param_00); if(soundexists(var_02)) { return 1; } return 0; } //Function Number: 44 func_9D7B(param_00,param_01) { if(issubstr(param_00,"_qa") && soundexists(param_00)) { return 1; } var_02 = param_01 func_80A3(param_00,0); if(soundexists(var_02)) { return 1; } return 0; } //Function Number: 45 func_7F7F(param_00) { var_01 = self.pers["voicePrefix"] + param_00; return var_01; } //Function Number: 46 func_80A3(param_00,param_01) { var_02 = func_7F7F(param_00); var_02 = var_02 + "_qa" + param_01; return var_02; } //Function Number: 47 func_28D2() { return 0; } //Function Number: 48 func_28D3() { return 0; } //Function Number: 49 func_28DA(param_00) { } //Function Number: 50 func_28DB(param_00) { } //Function Number: 51 func_28D4(param_00) { } //Function Number: 52 func_7DAD(param_00) { } //Function Number: 53 func_28DC(param_00,param_01,param_02) { } //Function Number: 54 func_73DC(param_00) { if(!isdefined(param_00)) { param_00 = 262144; } foreach(var_02 in level.players) { if(var_02.team == self.pers["team"]) { if(var_02 != self && distancesquared(var_02.origin,self.origin) <= param_00) { return 1; } } } return 0; } //Function Number: 55 func_FAE9() { level.var_F215 = []; level.var_F215["plr_killfirm_c6"] = "kill_rig"; level.var_F215["plr_killfirm_ftl"] = "kill_rig"; level.var_F215["plr_killfirm_ghost"] = "kill_rig"; level.var_F215["plr_killfirm_merc"] = "kill_rig"; level.var_F215["plr_killfirm_stryker"] = "kill_rig"; level.var_F215["plr_killfirm_warfighter"] = "kill_rig"; level.var_F215["plr_killfirm_generic"] = "kill_gen"; level.var_F215["plr_killfirm_amf"] = "kill_amf"; level.var_F215["plr_killfirm_headshot"] = "kill_headshot"; level.var_F215["plr_killfirm_grenade"] = "kill_grenade"; level.var_F215["plr_killfirm_rival"] = "kill_rival"; level.var_F215["plr_killfirm_semtex"] = "kill_semtex"; level.var_F215["plr_killfirm_multi"] = "kill_multi"; level.var_F215["plr_killfirm_twofer"] = "kill_twofer"; level.var_F215["plr_killfirm_threefer"] = "kill_threefer"; level.var_F215["plr_killfirm_killstreak"] = "kill_ss"; level.var_F215["plr_killstreak_destroy"] = "kill_other_ss"; level.var_F215["plr_killstreak_target"] = "targeted_by_ss"; level.var_F215["plr_hit_back"] = "dmg_back"; level.var_F215["plr_damaged_light"] = "dmg_light"; level.var_F215["plr_damaged_heavy"] = "dmg_heavy"; level.var_F215["plr_damaged_emp"] = "dmg_emp"; level.var_F215["plr_healing"] = "healing"; level.var_F215["plr_kd_high"] = "kd_high"; level.var_F215["plr_firefight"] = "firefight"; level.var_F215["plr_target_generic"] = "enemy_sighted"; level.var_F215["plr_perk_super"] = "super_activate"; level.var_F215["plr_perk_trophy"] = "super_activate"; level.var_F215["plr_perk_turret"] = "super_activate"; level.var_F215["plr_perk_amplify"] = "super_activate"; level.var_F215["plr_perk_overdrive"] = "super_activate"; level.var_F215["plr_perk_ftl"] = "super_activate"; level.var_F215["plr_perk_pulse"] = "super_activate"; level.var_F215["plr_perk_rewind"] = "super_activate"; level.var_F215["plr_perk_super_kill"] = "super_kill"; level.var_F215["plr_perk_trophy_block"] = "super_kill"; level.var_F215["plr_perk_turret_kill"] = "super_kill"; level.var_F215["plr_killfirm_shift"] = "super_kill"; level.var_F215["plr_perk_railgun"] = "super_kill"; level.var_F215["plr_perk_stealth"] = "super_kill"; level.var_F215["plr_perk_armor"] = "super_kill"; level.var_F215["plr_perk_charge"] = "super_kill"; level.var_F215["plr_perk_dragon"] = "super_kill"; level.var_F215["plr_perk_pound"] = "super_kill"; level.var_F215["plr_perk_reaper"] = "super_kill"; level.var_F214 = []; func_F839("kill_rig",15,0.3,0.25); func_F839("kill_gen",30,0.1,0.25); func_F839("kill_amf",15,0.5,0.5); func_F839("kill_headshot",15,0.7,0.25); func_F839("kill_grenade",15,0.5,0.25); func_F839("kill_rival",15,0.7,0.25); func_F839("kill_semtex",15,0.5,0.25); func_F839("kill_multi",20,0.6,0.25); func_F839("kill_twofer",10,0.7,0.75); func_F839("kill_threefer",10,0.8,0.75); func_F839("kill_ss",10,0.5,0.2); func_F839("kill_other_ss",10,0.7,0.75); func_F839("targeted_by_ss",10,0.4,0.33); func_F839("dmg_back",20,0.5,0.5); func_F839("dmg_light",20,0.4,0.1); func_F839("dmg_heavy",20,0.5,0.2); func_F839("healing",10,0.3,0.1); func_F839("kd_high",20,0.7,0.8); func_F839("enemy_sighted",20,0.2,0.25); func_F839("firefight",10,0.4,0.33); func_F839("super_activate",10,1,1); func_F839("super_kill",10,0.9,0.66); } //Function Number: 56 func_F839(param_00,param_01,param_02,param_03) { level.var_F214[param_00]["timeout"] = param_01; level.var_F214[param_00]["priority"] = param_02; level.var_F214[param_00]["chance"] = param_03; } //Function Number: 57 func_EB87(param_00,param_01,param_02,param_03) { if(isagent(param_00) || !isplayer(param_00)) { return; } if(scripts\mp\_utility::func_9FB3(param_00.var_29A4)) { return; } var_04 = param_00.pers["voicePrefix"] + param_01; if(!isdefined(param_01) || !soundexists(var_04)) { if(!isdefined(param_02)) { return; } param_01 = param_02; var_04 = param_00.pers["voicePrefix"] + param_01; if(!soundexists(var_04)) { return; } } if(!isdefined(param_00.var_F213)) { param_00.var_F213 = []; param_00.var_D4B0 = 0; param_00.var_DB91 = "none"; } if(isdefined(param_00.var_F213[level.var_F215[param_01]]) && param_00.var_F213[level.var_F215[param_01]] > 0) { return; } if(!isdefined(param_00.pers["selfVOBonusChance"])) { param_00 thread func_12F14(); } if(randomfloat(1) > level.var_F214[level.var_F215[param_01]]["chance"] + param_00.pers["selfVOBonusChance"]) { return; } param_00 thread func_128AC(param_01,param_03); } //Function Number: 58 func_12F14() { self endon("disconnect"); level endon("game_ended"); self.pers["selfVOBonusChance"] = 0; for(;;) { self.pers["selfVOBonusChance"] = self.pers["selfVOBonusChance"] + 0.1; wait(3); } } //Function Number: 59 func_128AC(param_00,param_01) { self endon("death"); self endon("disconnect"); if(self.var_DB91 == param_00) { return; } if(self.var_DB91 == "none" || level.var_F214[level.var_F215[self.var_DB91]]["priority"] < level.var_F214[level.var_F215[param_00]]["priority"] || level.var_F214[level.var_F215[self.var_DB91]]["priority"] == level.var_F214[level.var_F215[param_00]]["priority"] && scripts\common\utility::func_4347()) { self.var_DB91 = param_00; } else { return; } self notify("addToSelfVOQueue"); self endon("addToSelfVOQueue"); self.var_F212 = 1; if(isdefined(param_01)) { thread func_F211(param_01); } var_02 = func_809D(param_00); var_03 = gettime(); while(self.var_D4B0 || !self.var_F212 || var_02 > gettime()) { if(gettime() > var_03 + 2000) { self.var_DB91 = "none"; return; } wait(0.05); } scripts\common\utility::func_136F7(); thread func_D510(param_00); } //Function Number: 60 func_809D(param_00) { if(!isdefined(self.var_A9EC)) { self.var_A9EC = 0; } return self.var_A9EC + 2000 + 10000 * 1 - level.var_F214[level.var_F215[param_00]]["priority"]; } //Function Number: 61 func_F211(param_00) { self endon("death"); self endon("disconnect"); self endon("addToSelfVOQueue"); self.var_F212 = 0; wait(param_00); self.var_F212 = 1; } //Function Number: 62 func_D510(param_00) { self endon("death"); self endon("disconnect"); var_01 = self.pers["voicePrefix"] + param_00; self.pers["selfVOBonusChance"] = 0; self.var_DB91 = "none"; var_02 = lookupsoundlength(var_01) / 1000; self.var_A9EC = gettime(); thread func_D4B1(var_02); thread func_12F15(param_00); self playsoundtoplayer(var_01,self); } //Function Number: 63 func_D4B1(param_00) { self endon("disconnect"); self.var_D4B0 = 1; wait(param_00); self.var_D4B0 = 0; } //Function Number: 64 func_12F15(param_00) { self endon("disconnect"); self.var_F213[level.var_F215[param_00]] = gettime(); wait(level.var_F214[level.var_F215[param_00]]["timeout"]); self.var_F213[level.var_F215[param_00]] = 0; }