/******************************************************************* * Decompiled By: Bog * Decompiled File: maps/mp/_utility.gsc * Game: Call of Duty: Advanced Warfare * Platform: PC * Function Count: 392 * Decompile Time: 6048 ms * Timestamp: 10/27/2023 2:08:59 AM *******************************************************************/ //Function Number: 1 exploder_sound() { if(isdefined(self.script_delay)) { wait(self.script_delay); } self playsound(level.scr_sound[self.script_sound]); } //Function Number: 2 _beginlocationselection(param_00,param_01,param_02,param_03) { self beginlocationselection(param_01,param_02,param_03); self setclientomnvar("ui_map_location_selector",1); self.selectinglocation = 1; self setblurforplayer(10.3,0.3); thread endselectiononaction("cancel_location"); thread endselectiononaction("death"); thread endselectiononaction("disconnect"); thread endselectiononaction("used"); thread endselectiononaction("weapon_change"); self endon("stop_location_selection"); thread endselectiononendgame(); thread endselectiononemp(); thread endselectionohostmigration(); } //Function Number: 3 stoplocationselection(param_00,param_01) { if(!isdefined(param_01)) { param_01 = "generic"; } if(!param_00) { self setclientomnvar("ui_map_location_selector",0); self setblurforplayer(0,0.3); self endlocationselection(); self.selectinglocation = undefined; } self notify("stop_location_selection",param_01); } //Function Number: 4 endselectiononemp() { self endon("stop_location_selection"); for(;;) { level waittill("emp_update"); if(!isemped()) { continue; } thread stoplocationselection(0,"emp"); } } //Function Number: 5 endselectiononaction(param_00,param_01) { self endon("stop_location_selection"); if(!isdefined(param_01)) { param_01 = 1; } while(param_01 > 0) { self waittill(param_00); param_01--; } thread stoplocationselection(param_00 == "disconnect",param_00); } //Function Number: 6 endselectiononendgame() { self endon("stop_location_selection"); level waittill("game_ended"); thread stoplocationselection(0,"end_game"); } //Function Number: 7 endselectionohostmigration() { self endon("stop_location_selection"); level waittill("host_migration_begin"); thread stoplocationselection(0,"hostmigrate"); } //Function Number: 8 isattachment(param_00) { var_01 = tablelookup("mp/attachmentTable.csv",3,param_00,0); if(isdefined(var_01) && var_01 != "") { return 1; } return 0; } //Function Number: 9 getattachmenttype(param_00) { var_01 = tablelookup("mp/attachmentTable.csv",3,param_00,1); return var_01; } //Function Number: 10 delaythread(param_00,param_01,param_02,param_03,param_04,param_05,param_06) { thread delaythread_proc(param_01,param_00,param_02,param_03,param_04,param_05,param_06); } //Function Number: 11 delaythread_proc(param_00,param_01,param_02,param_03,param_04,param_05,param_06) { wait(param_01); if(!isdefined(param_02)) { thread [[ param_00 ]](); return; } if(!isdefined(param_03)) { thread [[ param_00 ]](param_02); return; } if(!isdefined(param_04)) { thread [[ param_00 ]](param_02,param_03); return; } if(!isdefined(param_05)) { thread [[ param_00 ]](param_02,param_03,param_04); return; } if(!isdefined(param_06)) { thread [[ param_00 ]](param_02,param_03,param_04,param_05); return; } thread [[ param_00 ]](param_02,param_03,param_04,param_05,param_06); } //Function Number: 12 getplant() { var_00 = self.origin + (0,0,10); var_01 = 11; var_02 = anglestoforward(self.angles); var_02 = var_02 * var_01; var_03[0] = var_00 + var_02; var_03[1] = var_00; var_04 = bullettrace(var_03[0],var_03[0] + (0,0,-18),0,undefined); if(var_04["fraction"] < 1) { var_05 = spawnstruct(); var_05.origin = var_04["position"]; var_05.angles = orienttonormal(var_04["normal"]); return var_05; } var_05 = bullettrace(var_04[1],var_04[1] + (0,0,-18),0,undefined); if(var_05["fraction"] < 1) { var_05 = spawnstruct(); var_05.origin = var_04["position"]; var_05.angles = orienttonormal(var_04["normal"]); return var_05; } var_04[2] = var_01 + (16,16,0); var_04[3] = var_01 + (16,-16,0); var_04[4] = var_01 + (-16,-16,0); var_04[5] = var_01 + (-16,16,0); var_06 = undefined; var_07 = undefined; for(var_08 = 0;var_08 < var_04.size;var_08++) { var_05 = bullettrace(var_04[var_08],var_04[var_08] + (0,0,-1000),0,undefined); if(!isdefined(var_06) || var_05["fraction"] < var_06) { var_06 = var_05["fraction"]; var_07 = var_05["position"]; } } if(var_06 == 1) { var_07 = self.origin; } var_05 = spawnstruct(); var_08.origin = var_06; var_08.angles = orienttonormal(var_04["normal"]); return var_08; } //Function Number: 13 orienttonormal(param_00) { var_01 = (param_00[0],param_00[1],0); var_02 = length(var_01); if(!var_02) { return (0,0,0); } var_03 = vectornormalize(var_01); var_04 = param_00[2] * -1; var_05 = (var_03[0] * var_04,var_03[1] * var_04,var_02); var_06 = vectortoangles(var_05); return var_06; } //Function Number: 14 deleteplacedentity(param_00) { var_01 = getentarray(param_00,"classname"); for(var_02 = 0;var_02 < var_01.size;var_02++) { var_01[var_02] delete(); } } //Function Number: 15 playsoundonplayers(param_00,param_01,param_02) { if(level.splitscreen) { if(isdefined(level.players[0])) { level.players[0] playlocalsound(param_00); return; } return; } if(isdefined(param_01)) { if(isdefined(param_02)) { for(var_03 = 0;var_03 < level.players.size;var_03++) { var_04 = level.players[var_03]; if(var_04 issplitscreenplayer() && !var_04 issplitscreenplayerprimary()) { continue; } if(isdefined(var_04.pers["team"]) && var_04.pers["team"] == param_01 && !isexcluded(var_04,param_02)) { var_04 playlocalsound(param_00); } } return; } for(var_03 = 0;var_03 < level.players.size;var_03++) { var_04 = level.players[var_03]; if(var_04 issplitscreenplayer() && !var_04 issplitscreenplayerprimary()) { continue; } if(isdefined(var_04.pers["team"]) && var_04.pers["team"] == param_01) { var_04 playlocalsound(param_00); } } return; } if(isdefined(var_04)) { for(var_03 = 0;var_03 < level.players.size;var_03++) { var_04 = level.players[var_03]; if(var_04 issplitscreenplayer() && !var_04 issplitscreenplayerprimary()) { continue; } if(!isexcluded(var_04,param_02)) { var_04 playlocalsound(param_00); } } return; } for(var_03 = 0;var_03 < level.players.size;var_03++) { var_04 = level.players[var_03]; if(var_04 issplitscreenplayer() && !var_04 issplitscreenplayerprimary()) { continue; } var_04 playlocalsound(param_00); } } //Function Number: 16 playloopsoundtoplayers(param_00,param_01,param_02) { if(!soundexists(param_00)) { return; } var_03 = spawn("script_origin",(0,0,0)); var_03 endon("death"); thread common_scripts\utility::delete_on_death(var_03); if(isdefined(param_02)) { var_03 hide(); foreach(var_05 in param_02) { var_03 showtoplayer(var_05); } } if(isdefined(param_01)) { var_03.origin = self.origin + param_01; var_03.angles = self.angles; var_03 vehicle_jetbikesethoverforcescale(self); } else { var_03.origin = self.origin; var_03.angles = self.angles; var_03 vehicle_jetbikesethoverforcescale(self); } var_03 playloopsound(param_00); self waittill("stop sound" + param_00); var_03 stoploopsound(param_00); var_03 delete(); } //Function Number: 17 sortlowermessages() { for(var_00 = 1;var_00 < self.lowermessages.size;var_00++) { var_01 = self.lowermessages[var_00]; var_02 = var_01.priority; for(var_03 = var_00 - 1;var_03 >= 0 && var_02 > self.lowermessages[var_03].priority;var_03--) { self.lowermessages[var_03 + 1] = self.lowermessages[var_03]; } self.lowermessages[var_03 + 1] = var_01; } } //Function Number: 18 addlowermessage(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08) { var_09 = undefined; foreach(var_0B in self.lowermessages) { if(var_0B.name == param_00) { if(var_0B.text == param_01 && var_0B.priority == param_03) { return; } var_09 = var_0B; break; } } if(!isdefined(var_09)) { var_09 = spawnstruct(); self.lowermessages[self.lowermessages.size] = var_09; } var_09.name = param_00; var_09.text = param_01; var_09.time = param_02; var_09.addtime = gettime(); var_09.priority = param_03; var_09.showtimer = param_04; var_09.shouldfade = param_05; var_09.fadetoalpha = param_06; var_09.fadetoalphatime = param_07; var_09.hidewhenindemo = param_08; sortlowermessages(); } //Function Number: 19 removelowermessage(param_00) { if(isdefined(self.lowermessages)) { for(var_01 = self.lowermessages.size;var_01 > 0;var_01--) { if(self.lowermessages[var_01 - 1].name != param_00) { continue; } var_02 = self.lowermessages[var_01 - 1]; for(var_03 = var_01;var_03 < self.lowermessages.size;var_03++) { if(isdefined(self.lowermessages[var_03])) { self.lowermessages[var_03 - 1] = self.lowermessages[var_03]; } } self.lowermessages[self.lowermessages.size - 1] = undefined; } sortlowermessages(); } } //Function Number: 20 getlowermessage() { return self.lowermessages[0]; } //Function Number: 21 setlowermessage(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08) { if(!isdefined(param_03)) { param_03 = 1; } if(!isdefined(param_02)) { param_02 = 0; } if(!isdefined(param_04)) { param_04 = 0; } if(!isdefined(param_05)) { param_05 = 0; } if(!isdefined(param_06)) { param_06 = 0.85; } if(!isdefined(param_07)) { param_07 = 3; } if(!isdefined(param_08)) { param_08 = 0; } addlowermessage(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08); updatelowermessage(); } //Function Number: 22 updatelowermessage() { if(!isdefined(self.lowermessage)) { return; } var_00 = getlowermessage(); if(!isdefined(var_00)) { if(isdefined(self.lowermessage) && isdefined(self.lowertimer)) { self.lowermessage.alpha = 0; self.lowertimer.alpha = 0; } return; } self.lowermessage settext(var_00.text); self.lowermessage.alpha = 0.85; self.lowertimer.alpha = 1; self.lowermessage.hidewhenindemo = var_00.hidewhenindemo; if(var_00.shouldfade) { self.lowermessage fadeovertime(min(var_00.fadetoalphatime,60)); self.lowermessage.alpha = var_00.fadetoalpha; } if(var_00.time > 0 && var_00.showtimer) { self.lowertimer settimer(max(var_00.time - gettime() - var_00.addtime / 1000,0.1)); return; } if(var_00.time > 0 && !var_00.showtimer) { self.lowertimer settext(""); self.lowermessage fadeovertime(min(var_00.time,60)); self.lowermessage.alpha = 0; thread clearondeath(var_00); thread clearafterfade(var_00); return; } self.lowertimer settext(""); } //Function Number: 23 clearondeath(param_00) { self notify("message_cleared"); self endon("message_cleared"); self endon("disconnect"); level endon("game_ended"); self waittill("death"); clearlowermessage(param_00.name); } //Function Number: 24 clearafterfade(param_00) { wait(param_00.time); clearlowermessage(param_00.name); self notify("message_cleared"); } //Function Number: 25 clearlowermessage(param_00) { removelowermessage(param_00); updatelowermessage(); } //Function Number: 26 clearlowermessages() { for(var_00 = 0;var_00 < self.lowermessages.size;var_00++) { self.lowermessages[var_00] = undefined; } if(!isdefined(self.lowermessage)) { return; } updatelowermessage(); } //Function Number: 27 printonteam(param_00,param_01) { foreach(var_03 in level.players) { if(var_03.team != param_01) { continue; } var_03 iprintln(param_00); } } //Function Number: 28 printboldonteam(param_00,param_01) { for(var_02 = 0;var_02 < level.players.size;var_02++) { var_03 = level.players[var_02]; if(isdefined(var_03.pers["team"]) && var_03.pers["team"] == param_01) { var_03 iprintlnbold(param_00); } } } //Function Number: 29 printboldonteamarg(param_00,param_01,param_02) { for(var_03 = 0;var_03 < level.players.size;var_03++) { var_04 = level.players[var_03]; if(isdefined(var_04.pers["team"]) && var_04.pers["team"] == param_01) { var_04 iprintlnbold(param_00,param_02); } } } //Function Number: 30 printonteamarg(param_00,param_01,param_02) { for(var_03 = 0;var_03 < level.players.size;var_03++) { var_04 = level.players[var_03]; if(isdefined(var_04.pers["team"]) && var_04.pers["team"] == param_01) { var_04 iprintln(param_00,param_02); } } } //Function Number: 31 printonplayers(param_00,param_01) { var_02 = level.players; for(var_03 = 0;var_03 < var_02.size;var_03++) { if(isdefined(param_01)) { if(isdefined(var_02[var_03].pers["team"]) && var_02[var_03].pers["team"] == param_01) { var_02[var_03] iprintln(param_00); } continue; } var_02[var_03] iprintln(param_00); } } //Function Number: 32 printandsoundoneveryone(param_00,param_01,param_02,param_03,param_04,param_05,param_06) { var_07 = isdefined(param_04); var_08 = 0; if(isdefined(param_05)) { var_08 = 1; } if(level.splitscreen || !var_07) { for(var_09 = 0;var_09 < level.players.size;var_09++) { var_0A = level.players[var_09]; var_0B = var_0A.team; if(isdefined(var_0B)) { if(var_0B == param_00 && isdefined(param_02)) { var_0A iprintln(param_02,param_06); continue; } if(var_0B == param_01 && isdefined(param_03)) { var_0A iprintln(param_03,param_06); } } } if(var_07) { level.players[0] playlocalsound(param_04); return; } return; } if(var_0B) { for(var_09 = 0;var_09 < level.players.size;var_09++) { var_0A = level.players[var_09]; var_0B = var_0A.team; if(isdefined(var_0B)) { if(var_0B == param_00) { if(isdefined(param_02)) { var_0A iprintln(param_02,param_06); } var_0A playlocalsound(param_04); continue; } if(var_0B == param_01) { if(isdefined(param_03)) { var_0A iprintln(param_03,param_06); } var_0A playlocalsound(param_05); } } } return; } for(var_09 = 0;var_09 < level.players.size;var_09++) { var_0A = level.players[var_09]; var_0B = var_0A.team; if(isdefined(var_0B)) { if(var_0B == param_00) { if(isdefined(param_02)) { var_0A iprintln(param_02,param_06); } var_0A playlocalsound(param_04); continue; } if(var_0B == param_01) { if(isdefined(param_03)) { var_0A iprintln(param_03,param_06); } } } } } //Function Number: 33 printandsoundonteam(param_00,param_01,param_02) { foreach(var_04 in level.players) { if(var_04.team != param_00) { continue; } var_04 printandsoundonplayer(param_01,param_02); } } //Function Number: 34 printandsoundonplayer(param_00,param_01) { self iprintln(param_00); self playlocalsound(param_01); } //Function Number: 35 _playlocalsound(param_00) { if(level.splitscreen && self getentitynumber() != 0) { return; } self playlocalsound(param_00); } //Function Number: 36 dvarintvalue(param_00,param_01,param_02,param_03) { param_00 = "scr_" + level.gametype + "_" + param_00; if(getdvar(param_00) == "") { setdvar(param_00,param_01); return param_01; } var_04 = getdvarint(param_00); if(var_04 > param_03) { var_04 = param_03; } else if(var_04 < param_02) { var_04 = param_02; } else { return var_04; } setdvar(param_00,var_04); return var_04; } //Function Number: 37 dvarfloatvalue(param_00,param_01,param_02,param_03) { param_00 = "scr_" + level.gametype + "_" + param_00; if(getdvar(param_00) == "") { setdvar(param_00,param_01); return param_01; } var_04 = getdvarfloat(param_00); if(var_04 > param_03) { var_04 = param_03; } else if(var_04 < param_02) { var_04 = param_02; } else { return var_04; } setdvar(param_00,var_04); return var_04; } //Function Number: 38 play_sound_on_tag(param_00,param_01) { if(isdefined(param_01)) { playsoundatpos(self gettagorigin(param_01),param_00); return; } playsoundatpos(self.origin,param_00); } //Function Number: 39 getotherteam(param_00) { if(level.multiteambased) { } if(param_00 == "allies") { return "axis"; } else if(param_00 == "axis") { return "allies"; } else { return "none"; } } //Function Number: 40 wait_endon(param_00,param_01,param_02,param_03) { self endon(param_01); if(isdefined(param_02)) { self endon(param_02); } if(isdefined(param_03)) { self endon(param_03); } wait(param_00); } //Function Number: 41 initpersstat(param_00) { if(!isdefined(self.pers[param_00])) { self.pers[param_00] = 0; } } //Function Number: 42 getpersstat(param_00) { return self.pers[param_00]; } //Function Number: 43 incpersstat(param_00,param_01) { if(isdefined(self) && isdefined(self.pers) && isdefined(self.pers[param_00])) { self.pers[param_00] = self.pers[param_00] + param_01; maps\mp\gametypes\_persistence::statadd(param_00,param_01); } } //Function Number: 44 setpersstat(param_00,param_01) { self.pers[param_00] = param_01; } //Function Number: 45 initplayerstat(param_00,param_01) { if(!isdefined(self.stats["stats_" + param_00])) { if(!isdefined(param_01)) { param_01 = 0; } self.stats["stats_" + param_00] = spawnstruct(); self.stats["stats_" + param_00].value = param_01; if(rankingenabled()) { self setcommonplayerdata("round","awards",param_00,0); } } } //Function Number: 46 incplayerstat(param_00,param_01) { if(isagent(self)) { return; } var_02 = self.stats["stats_" + param_00]; var_02.value = var_02.value + param_01; if(isdefined(level.awards[param_00]) && isdefined(level.awards[param_00].process) && level.awards[param_00].saveonupdate) { var_03 = level.awards[param_00].process; self [[ var_03 ]](param_00,param_01); } } //Function Number: 47 setplayerstat(param_00,param_01) { var_02 = self.stats["stats_" + param_00]; var_02.value = param_01; var_02.time = gettime(); } //Function Number: 48 getplayerstat(param_00) { return self.stats["stats_" + param_00].value; } //Function Number: 49 getplayerstattime(param_00) { return self.stats["stats_" + param_00].time; } //Function Number: 50 setplayerstatifgreater(param_00,param_01) { var_02 = getplayerstat(param_00); if(param_01 > var_02) { setplayerstat(param_00,param_01); } } //Function Number: 51 setplayerstatiflower(param_00,param_01) { var_02 = getplayerstat(param_00); if(param_01 < var_02) { setplayerstat(param_00,param_01); } } //Function Number: 52 updatepersratio(param_00,param_01,param_02) { if(!rankingenabled()) { return; } var_03 = maps\mp\gametypes\_persistence::statget(param_01); var_04 = maps\mp\gametypes\_persistence::statget(param_02); if(var_04 == 0) { var_04 = 1; } maps\mp\gametypes\_persistence::statset(param_00,int(var_03 * 1000 / var_04)); } //Function Number: 53 updatepersratiobuffered(param_00,param_01,param_02) { if(!rankingenabled()) { return; } var_03 = maps\mp\gametypes\_persistence::statgetbuffered(param_01); var_04 = maps\mp\gametypes\_persistence::statgetbuffered(param_02); if(var_04 == 0) { var_04 = 1; } maps\mp\gametypes\_persistence::statsetbuffered(param_00,int(var_03 * 1000 / var_04)); } //Function Number: 54 waittillslowprocessallowed(param_00) { if(level.lastslowprocessframe == gettime()) { if(isdefined(param_00) && param_00) { while(level.lastslowprocessframe == gettime()) { wait(0.05); } } else { wait(0.05); if(level.lastslowprocessframe == gettime()) { wait(0.05); if(level.lastslowprocessframe == gettime()) { wait(0.05); if(level.lastslowprocessframe == gettime()) { wait(0.05); } } } } } level.lastslowprocessframe = gettime(); } //Function Number: 55 waitfortimeornotify(param_00,param_01) { self endon(param_01); wait(param_00); } //Function Number: 56 waitfortimeornotifies(param_00,param_01) { if(isdefined(param_01)) { foreach(var_03 in param_01) { self endon(var_03); } } if(isdefined(param_00) && param_00 > 0) { wait(param_00); } } //Function Number: 57 isexcluded(param_00,param_01) { for(var_02 = 0;var_02 < param_01.size;var_02++) { if(param_00 == param_01[var_02]) { return 1; } } return 0; } //Function Number: 58 leaderdialog(param_00,param_01,param_02,param_03,param_04) { if(isdefined(level.iszombiegame) && level.iszombiegame) { return; } if(param_00 == "null") { return; } if(!isdefined(param_01)) { leaderdialogbothteams(param_00,"allies",param_00,"axis",param_02,param_03,param_04); return; } if(isdefined(param_03)) { for(var_05 = 0;var_05 < level.players.size;var_05++) { var_06 = level.players[var_05]; if(isdefined(var_06.pers["team"]) && var_06.pers["team"] == param_01 && !isexcluded(var_06,param_03)) { if(var_06 issplitscreenplayer() && !var_06 issplitscreenplayerprimary()) { continue; } var_06 leaderdialogonplayer(param_00,param_02,undefined,param_04); } } return; } for(var_05 = 0;var_05 < level.players.size;var_05++) { var_06 = level.players[var_05]; if(isdefined(var_06.pers["team"]) && var_06.pers["team"] == param_01) { if(var_06 issplitscreenplayer() && !var_06 issplitscreenplayerprimary()) { continue; } var_06 leaderdialogonplayer(param_00,param_02,undefined,param_04); } } } //Function Number: 59 leaderdialogbothteams(param_00,param_01,param_02,param_03,param_04,param_05,param_06) { if(isdefined(level.iszombiegame) && level.iszombiegame) { return; } if(level.splitscreen) { return; } if(level.splitscreen) { if(level.players.size) { level.players[0] leaderdialogonplayer(param_00,param_04,undefined,param_06); } return; } if(isdefined(param_05)) { for(var_07 = 0;var_07 < level.players.size;var_07++) { var_08 = level.players[var_07]; var_09 = var_08.pers["team"]; if(!isdefined(var_09)) { continue; } if(isexcluded(var_08,param_05)) { continue; } if(var_08 issplitscreenplayer() && !var_08 issplitscreenplayerprimary()) { continue; } if(var_09 == param_01) { var_08 leaderdialogonplayer(param_00,param_04,undefined,param_06); continue; } if(var_09 == param_03) { var_08 leaderdialogonplayer(param_02,param_04,undefined,param_06); } } return; } for(var_07 = 0;var_07 < level.players.size;var_07++) { var_08 = level.players[var_07]; var_09 = var_08.pers["team"]; if(!isdefined(var_09)) { continue; } if(var_08 issplitscreenplayer() && !var_08 issplitscreenplayerprimary()) { continue; } if(var_09 == param_01) { var_08 leaderdialogonplayer(param_00,param_04,undefined,param_06); continue; } if(var_09 == param_03) { var_08 leaderdialogonplayer(param_02,param_04,undefined,param_06); } } } //Function Number: 60 leaderdialogonplayers(param_00,param_01,param_02,param_03) { if(isdefined(level.iszombiegame) && level.iszombiegame) { return; } foreach(var_05 in param_01) { var_05 leaderdialogonplayer(param_00,param_02,undefined,param_03); } } //Function Number: 61 leaderdialogonplayer(param_00,param_01,param_02,param_03) { if(isdefined(level.iszombiegame) && level.iszombiegame) { return; } if(!isdefined(param_02)) { param_02 = 0; } var_04 = self.pers["team"]; if(isdefined(level.ishorde) && !self issplitscreenplayerprimary()) { return; } if(isdefined(level.announcerdisabled) && level.announcerdisabled) { return; } if(!isdefined(var_04)) { return; } if(var_04 != "allies" && var_04 != "axis") { return; } if(self issplitscreenplayer() && !self issplitscreenplayerprimary()) { return; } if(!isdefined(param_03)) { param_03 = (0,0,0); } if(isdefined(param_01)) { if(self.leaderdialoggroup == param_01) { if(param_02) { if(self.leaderdialogactive != "") { self stoplocalsound(self.leaderdialogactive); } thread leaderdialogonplayer_internal(param_00,var_04,param_03); } return; } var_05 = isdefined(self.leaderdialoggroups[param_01]); self.leaderdialoggroups[param_01] = param_00; param_00 = param_01; if(var_05) { return; } } if(self.leaderdialogactive == "") { thread leaderdialogonplayer_internal(param_00,var_04,param_03); return; } self.leaderdialogqueue[self.leaderdialogqueue.size] = param_00; self.leaderdialoglocqueue[self.leaderdialoglocqueue.size] = param_03; } //Function Number: 62 leaderdialog_trylockout(param_00,param_01) { var_02 = 2; if(isdefined(game["dialog"]["lockouts"][param_00])) { var_02 = game["dialog"]["lockouts"][param_00]; if(var_02 == 0) { return; } } if(!isdefined(param_01.active_vo_lockouts)) { param_01.active_vo_lockouts = []; } param_01.active_vo_lockouts[param_00] = 1; thread leaderdialog_lockoutcleardelayed(param_00,param_01,var_02); } //Function Number: 63 leaderdialog_lockoutcleardelayed(param_00,param_01,param_02) { param_01 endon("disconnect"); wait(param_02); param_01.active_vo_lockouts[param_00] = undefined; } //Function Number: 64 leaderdialog_islockedout(param_00,param_01) { if(isdefined(param_01.active_vo_lockouts)) { if(isdefined(param_01.active_vo_lockouts[param_00])) { if(isdefined(param_01.active_vo_lockouts[param_00] == 1)) { return 1; } } } return 0; } //Function Number: 65 leaderdialogonplayer_internal(param_00,param_01,param_02) { self endon("disconnect"); self notify("playLeaderDialogOnPlayer"); self endon("playLeaderDialogOnPlayer"); if(isdefined(self.leaderdialoggroups[param_00])) { var_03 = param_00; param_00 = self.leaderdialoggroups[var_03]; self.leaderdialoggroups[var_03] = undefined; self.leaderdialoggroup = var_03; } if(!isdefined(game["dialog"][param_00])) { return; } if(isai(self) && isdefined(level.bot_funcs) && isdefined(level.bot_funcs["leader_dialog"])) { self [[ level.bot_funcs["leader_dialog"] ]](param_00,param_02); } if(issubstr(game["dialog"][param_00],"null")) { return; } if(isdefined(level.ishorde) && level.ishorde) { if(issubstr(param_00,"coop_gdn")) { var_04 = param_00; } else { var_04 = "AT_anr0_" + game["dialog"][param_01]; } } else { var_04 = game["voice"][param_02] + game["dialog"][param_01]; } if(soundexists(var_04)) { if(leaderdialog_islockedout(game["dialog"][param_00],self)) { return; } self.leaderdialogactive = var_04; self playlocalannouncersound(var_04); leaderdialog_trylockout(game["dialog"][param_00],self); } else { } wait(2); self.leaderdialoglocalsound = ""; self.leaderdialogactive = ""; self.leaderdialoggroup = ""; if(self.leaderdialogqueue.size > 0) { var_05 = self.leaderdialogqueue[0]; var_06 = self.leaderdialoglocqueue[0]; for(var_07 = 1;var_07 < self.leaderdialogqueue.size;var_07++) { self.leaderdialogqueue[var_07 - 1] = self.leaderdialogqueue[var_07]; } for(var_07 = 1;var_07 < self.leaderdialoglocqueue.size;var_07++) { self.leaderdialoglocqueue[var_07 - 1] = self.leaderdialoglocqueue[var_07]; } self.leaderdialogqueue[var_07 - 1] = undefined; self.leaderdialoglocqueue[var_07 - 1] = undefined; thread leaderdialogonplayer_internal(var_05,param_01,var_06); } } //Function Number: 66 getnextrelevantdialog() { for(var_00 = 0;var_00 < self.leaderdialogqueue.size;var_00++) { if(issubstr(self.leaderdialogqueue[var_00],"losing")) { if(self.team == "allies") { if(issubstr(level.axiscapturing,self.leaderdialogqueue[var_00])) { return self.leaderdialogqueue[var_00]; } else { common_scripts\utility::array_remove(self.leaderdialogqueue,self.leaderdialogqueue[var_00]); } } else if(issubstr(level.alliescapturing,self.leaderdialogqueue[var_00])) { return self.leaderdialogqueue[var_00]; } else { common_scripts\utility::array_remove(self.leaderdialogqueue,self.leaderdialogqueue[var_00]); } continue; } return level.alliescapturing[self.leaderdialogqueue]; } } //Function Number: 67 orderonqueueddialog() { self endon("disconnect"); var_00 = []; var_00 = self.leaderdialogqueue; for(var_01 = 0;var_01 < self.leaderdialogqueue.size;var_01++) { if(issubstr(self.leaderdialogqueue[var_01],"losing")) { for(var_02 = var_01;var_02 >= 0;var_02--) { if(!issubstr(self.leaderdialogqueue[var_02],"losing") && var_02 != 0) { continue; } if(var_02 != var_01) { arrayinsertion(var_00,self.leaderdialogqueue[var_01],var_02); common_scripts\utility::array_remove(var_00,self.leaderdialogqueue[var_01]); break; } } } } self.leaderdialogqueue = var_00; } //Function Number: 68 flushdialogonplayer() { self.leaderdialoggroups = []; self.leaderdialogqueue = []; self.leaderdialogactive = ""; self.currentleaderdialoggroup = ""; self notify("flush_dialog"); } //Function Number: 69 flushgroupdialog(param_00) { foreach(var_02 in level.players) { var_02 flushgroupdialogonplayer(param_00); } } //Function Number: 70 arrayremovevalue(param_00,param_01) { var_02 = 0; for(var_03 = 0;var_02 < param_00.size;var_03++) { if(param_00[var_02] == param_01) { var_02++; continue; } if(var_02 != var_03) { param_00[var_03] = param_00[var_02]; } var_02++; } while(var_03 < param_00.size) { param_00[var_03] = undefined; var_03++; } } //Function Number: 71 flushgroupdialogonplayer(param_00) { self.leaderdialoggroups[param_00] = undefined; arrayremovevalue(self.leaderdialogqueue,param_00); if(self.leaderdialogqueue.size == 0) { flushdialogonplayer(); } } //Function Number: 72 updatemainmenu() { if(self.pers["team"] == "spectator") { self setclientdvar("g_scriptMainMenu",game["menu_team"]); return; } self setclientdvar("g_scriptMainMenu",game["menu_class_" + self.pers["team"]]); } //Function Number: 73 updateobjectivetext() { if(self.pers["team"] == "spectator") { self setclientdvar("cg_objectiveText",""); return; } if(getwatcheddvar("scorelimit") > 0 && !isobjectivebased()) { if(level.splitscreen) { self setclientdvar("cg_objectiveText",getobjectivescoretext(self.pers["team"])); return; } self setclientdvar("cg_objectiveText",getobjectivescoretext(self.pers["team"]),getwatcheddvar("scorelimit")); return; } self setclientdvar("cg_objectiveText",getobjectivetext(self.pers["team"])); } //Function Number: 74 setobjectivetext(param_00,param_01) { game["strings"]["objective_" + param_00] = param_01; } //Function Number: 75 setobjectivescoretext(param_00,param_01) { game["strings"]["objective_score_" + param_00] = param_01; } //Function Number: 76 setobjectivehinttext(param_00,param_01) { game["strings"]["objective_hint_" + param_00] = param_01; } //Function Number: 77 getobjectivetext(param_00) { return game["strings"]["objective_" + param_00]; } //Function Number: 78 getobjectivescoretext(param_00) { return game["strings"]["objective_score_" + param_00]; } //Function Number: 79 getobjectivehinttext(param_00) { return game["strings"]["objective_hint_" + param_00]; } //Function Number: 80 gettimepassed() { if(!isdefined(level.starttime) || !isdefined(level.discardtime)) { return 0; } if(level.timerstopped) { return level.timerpausetime - level.starttime - level.discardtime; } return gettime() - level.starttime - level.discardtime; } //Function Number: 81 getunpausedtimepassedraw() { if(!isdefined(level.matchdurationstarttime)) { return 0; } return gettime() - level.matchdurationstarttime; } //Function Number: 82 getgametimepassedms() { var_00 = getmatchdata("gameLengthSeconds") * 1000; var_00 = var_00 + getunpausedtimepassedraw(); return var_00; } //Function Number: 83 getgametimepassedseconds() { var_00 = getgametimepassedms(); var_01 = int(var_00 / 1000); return var_01; } //Function Number: 84 gettimepassedpercentage() { return gettimepassed() / gettimelimit() * 60 * 1000 * 100; } //Function Number: 85 getsecondspassed() { return gettimepassed() / 1000; } //Function Number: 86 getminutespassed() { return getsecondspassed() / 60; } //Function Number: 87 gettimedeciseconds() { return convertmillisecondstodecisecondsandclamptoshort(gettime()); } //Function Number: 88 gettimepasseddeciseconds() { return convertmillisecondstodecisecondsandclamptoshort(gettimepassed()); } //Function Number: 89 gettimepasseddecisecondsincludingrounds() { var_00 = getgametimepassedms(); return convertmillisecondstodecisecondsandclamptoshort(var_00); } //Function Number: 90 convertmillisecondstodecisecondsandclamptoshort(param_00) { return clamptoshort(param_00 / 100); } //Function Number: 91 clamptoshort(param_00) { param_00 = int(param_00); if(param_00 > 32767) { param_00 = 32767; } if(param_00 < -32768) { param_00 = -32768; } return param_00; } //Function Number: 92 clamptobyte(param_00) { param_00 = int(param_00); if(param_00 > 255) { param_00 = 255; } if(param_00 < 0) { param_00 = 0; } return param_00; } //Function Number: 93 clearkillcamstate() { self.forcespectatorclient = -1; self.killcamentity = -1; self.archivetime = 0; self.psoffsettime = 0; self.spectatekillcam = 0; } //Function Number: 94 isinkillcam() { return self.spectatekillcam; } //Function Number: 95 isvalidclass(param_00) { return isdefined(param_00) && param_00 != ""; } //Function Number: 96 getvalueinrange(param_00,param_01,param_02) { if(param_00 > param_02) { return param_02; } if(param_00 < param_01) { return param_01; } return param_00; } //Function Number: 97 logxpgains() { if(!isdefined(self.pers["summary"])) { return; } if(isai(self)) { return; } var_00 = 0; if(isdefined(self.timeplayed["total"])) { var_00 = self.timeplayed["total"]; } reconevent("script_EarnedXP: totalXP %d, timeplayed %d, score %d, challenge %d, match %d, misc %d, gamemode %s",self.pers["summary"]["xp"],var_00,self.pers["summary"]["score"],self.pers["summary"]["challenge"],self.pers["summary"]["match"],self.pers["summary"]["misc"],level.gametype); } //Function Number: 98 registerroundswitchdvar(param_00,param_01,param_02,param_03) { registerwatchdvarint("roundswitch",param_01); param_00 = "scr_" + param_00 + "_roundswitch"; level.roundswitchdvar = param_00; level.roundswitchmin = param_02; level.roundswitchmax = param_03; level.roundswitch = getdvarint(param_00,param_01); if(level.roundswitch < param_02) { level.roundswitch = param_02; return; } if(level.roundswitch > param_03) { level.roundswitch = param_03; } } //Function Number: 99 registerroundlimitdvar(param_00,param_01) { registerwatchdvarint("roundlimit",param_01); } //Function Number: 100 registernumteamsdvar(param_00,param_01) { registerwatchdvarint("numTeams",param_01); } //Function Number: 101 registerwinlimitdvar(param_00,param_01) { registerwatchdvarint("winlimit",param_01); } //Function Number: 102 registerscorelimitdvar(param_00,param_01) { registerwatchdvarint("scorelimit",param_01); } //Function Number: 103 registertimelimitdvar(param_00,param_01) { registerwatchdvarfloat("timelimit",param_01); setdvar("ui_timelimit",gettimelimit()); } //Function Number: 104 registerhalftimedvar(param_00,param_01) { registerwatchdvarint("halftime",param_01); setdvar("ui_halftime",gethalftime()); } //Function Number: 105 registernumlivesdvar(param_00,param_01) { registerwatchdvarint("numlives",param_01); } //Function Number: 106 setovertimelimitdvar(param_00) { setdvar("overtimeTimeLimit",param_00); } //Function Number: 107 get_damageable_player(param_00,param_01) { var_02 = spawnstruct(); var_02.isplayer = 1; var_02.isadestructable = 0; var_02.entity = param_00; var_02.damagecenter = param_01; return var_02; } //Function Number: 108 get_damageable_sentry(param_00,param_01) { var_02 = spawnstruct(); var_02.isplayer = 0; var_02.isadestructable = 0; var_02.issentry = 1; var_02.entity = param_00; var_02.damagecenter = param_01; return var_02; } //Function Number: 109 get_damageable_grenade(param_00,param_01) { var_02 = spawnstruct(); var_02.isplayer = 0; var_02.isadestructable = 0; var_02.entity = param_00; var_02.damagecenter = param_01; return var_02; } //Function Number: 110 get_damageable_mine(param_00,param_01) { var_02 = spawnstruct(); var_02.isplayer = 0; var_02.isadestructable = 0; var_02.entity = param_00; var_02.damagecenter = param_01; return var_02; } //Function Number: 111 get_damageable_player_pos(param_00) { return param_00.origin + (0,0,32); } //Function Number: 112 getstancecenter() { if(self getstance() == "crouch") { var_00 = self.origin + (0,0,24); } else if(self getstance() == "prone") { var_00 = self.origin + (0,0,10); } else { var_00 = self.origin + (0,0,32); } return var_00; } //Function Number: 113 get_damageable_grenade_pos(param_00) { return param_00.origin; } //Function Number: 114 getdvarvec(param_00) { var_01 = getdvar(param_00); if(var_01 == "") { return (0,0,0); } var_02 = strtok(var_01," "); if(var_02.size < 3) { return (0,0,0); } setdvar("tempR",var_02[0]); setdvar("tempG",var_02[1]); setdvar("tempB",var_02[2]); return (getdvarfloat("tempR"),getdvarfloat("tempG"),getdvarfloat("tempB")); } //Function Number: 115 strip_suffix(param_00,param_01) { if(param_00.size <= param_01.size) { return param_00; } if(getsubstr(param_00,param_00.size - param_01.size,param_00.size) == param_01) { return getsubstr(param_00,0,param_00.size - param_01.size); } return param_00; } //Function Number: 116 _takeweaponsexcept(param_00) { var_01 = self getweaponslistall(); foreach(var_03 in var_01) { if(var_03 == param_00) { continue; } else { self takeweapon(var_03); } } } //Function Number: 117 savedata() { var_00 = spawnstruct(); var_00.offhandclass = self gettacticalweapon(); var_00.actionslots = self.saved_actionslotdata; var_00.currentweapon = self getcurrentweapon(); var_01 = self getweaponslistall(); var_00.weapons = []; foreach(var_03 in var_01) { if(weaponinventorytype(var_03) == "exclusive") { continue; } if(weaponinventorytype(var_03) == "altmode") { continue; } var_04 = spawnstruct(); var_04.name = var_03; var_04.clipammor = self getweaponammoclip(var_03,"right"); var_04.clipammol = self getweaponammoclip(var_03,"left"); var_04.stockammo = self setweaponammostock(var_03); if(isdefined(self.throwinggrenade) && self.throwinggrenade == var_03) { var_04.stockammo--; } var_00.weapons[var_00.weapons.size] = var_04; } self.script_savedata = var_00; } //Function Number: 118 restoredata() { var_00 = self.script_savedata; self settacticalweapon(var_00.offhandclass); foreach(var_02 in var_00.weapons) { _giveweapon(var_02.name,int(tablelookup("mp/camoTable.csv",1,self.loadoutprimarycamo,0))); self setweaponammoclip(var_02.name,var_02.clipammor,"right"); if(issubstr(var_02.name,"akimbo")) { self setweaponammoclip(var_02.name,var_02.clipammol,"left"); } self setweaponammostock(var_02.name,var_02.stockammo); } foreach(var_06, var_05 in var_00.actionslots) { _setactionslot(var_06,var_05.type,var_05.item); } if(self getcurrentweapon() == "none") { var_02 = var_00.currentweapon; if(var_02 == "none") { var_02 = common_scripts\utility::getlastweapon(); } self setspawnweapon(var_02); self switchtoweapon(var_02); } } //Function Number: 119 setextrascore0(param_00) { self.extrascore0 = param_00; setpersstat("extrascore0",param_00); } //Function Number: 120 setextrascore1(param_00) { self.extrascore1 = param_00; setpersstat("extrascore1",param_00); } //Function Number: 121 _setactionslot(param_00,param_01,param_02) { self.saved_actionslotdata[param_00].type = param_01; self.saved_actionslotdata[param_00].item = param_02; self setactionslot(param_00,param_01,param_02); } //Function Number: 122 isfloat(param_00) { if(int(param_00) != param_00) { return 1; } return 0; } //Function Number: 123 registerwatchdvarint(param_00,param_01) { var_02 = "scr_" + level.gametype + "_" + param_00; level.watchdvars[var_02] = spawnstruct(); level.watchdvars[var_02].value = getdvarint(var_02,param_01); level.watchdvars[var_02].type = "int"; level.watchdvars[var_02].notifystring = "update_" + param_00; } //Function Number: 124 registerwatchdvarfloat(param_00,param_01) { var_02 = "scr_" + level.gametype + "_" + param_00; level.watchdvars[var_02] = spawnstruct(); level.watchdvars[var_02].value = getdvarfloat(var_02,param_01); level.watchdvars[var_02].type = "float"; level.watchdvars[var_02].notifystring = "update_" + param_00; } //Function Number: 125 registerwatchdvar(param_00,param_01) { var_02 = "scr_" + level.gametype + "_" + param_00; level.watchdvars[var_02] = spawnstruct(); level.watchdvars[var_02].value = getdvar(var_02,param_01); level.watchdvars[var_02].type = "string"; level.watchdvars[var_02].notifystring = "update_" + param_00; } //Function Number: 126 setoverridewatchdvar(param_00,param_01) { param_00 = "scr_" + level.gametype + "_" + param_00; level.overridewatchdvars[param_00] = param_01; } //Function Number: 127 getwatcheddvar(param_00) { param_00 = "scr_" + level.gametype + "_" + param_00; if(isdefined(level.overridewatchdvars) && isdefined(level.overridewatchdvars[param_00])) { return level.overridewatchdvars[param_00]; } return level.watchdvars[param_00].value; } //Function Number: 128 updatewatcheddvars() { while(game["state"] == "playing") { var_00 = getarraykeys(level.watchdvars); foreach(var_02 in var_00) { if(level.watchdvars[var_02].type == "string") { var_03 = getproperty(var_02,level.watchdvars[var_02].value); } else if(level.watchdvars[var_02].type == "float") { var_03 = getfloatproperty(var_02,level.watchdvars[var_02].value); } else { var_03 = getintproperty(var_02,level.watchdvars[var_02].value); } if(var_03 != level.watchdvars[var_02].value) { level.watchdvars[var_02].value = var_03; level notify(level.watchdvars[var_02].notifystring,var_03); } } wait(1); } } //Function Number: 129 isroundbased() { if(!level.teambased) { return 0; } if(getwatcheddvar("winlimit") != 1 && getwatcheddvar("roundlimit") != 1) { return 1; } return 0; } //Function Number: 130 isfirstround() { if(!level.teambased) { return 1; } if(getwatcheddvar("roundlimit") > 1 && game["roundsPlayed"] == 0) { return 1; } if(getwatcheddvar("winlimit") > 1 && game["roundsWon"]["allies"] == 0 && game["roundsWon"]["axis"] == 0) { return 1; } return 0; } //Function Number: 131 islastround() { if(!level.teambased) { return 1; } if(getwatcheddvar("roundlimit") > 1 && game["roundsPlayed"] >= getwatcheddvar("roundlimit") - 1) { return 1; } if(getwatcheddvar("winlimit") > 1 && game["roundsWon"]["allies"] >= getwatcheddvar("winlimit") - 1 && game["roundsWon"]["axis"] >= getwatcheddvar("winlimit") - 1) { return 1; } return 0; } //Function Number: 132 wasonlyround() { if(!level.teambased) { return 1; } if(isdefined(level.onlyroundoverride)) { return 0; } if(getwatcheddvar("winlimit") == 1 && hitwinlimit()) { return 1; } if(getwatcheddvar("roundlimit") == 1) { return 1; } return 0; } //Function Number: 133 waslastround() { if(level.forcedend) { return 1; } if(!level.teambased) { return 1; } if(hitroundlimit() || hitwinlimit()) { return 1; } return 0; } //Function Number: 134 hitroundlimit() { if(getwatcheddvar("roundlimit") <= 0) { return 0; } return game["roundsPlayed"] >= getwatcheddvar("roundlimit"); } //Function Number: 135 hitscorelimit() { if(isobjectivebased()) { return 0; } if(getwatcheddvar("scorelimit") <= 0) { return 0; } if(level.teambased) { if(game["teamScores"]["allies"] >= getwatcheddvar("scorelimit") || game["teamScores"]["axis"] >= getwatcheddvar("scorelimit")) { return 1; } } else { for(var_00 = 0;var_00 < level.players.size;var_00++) { var_01 = level.players[var_00]; if(isdefined(var_01.score) && var_01.score >= getwatcheddvar("scorelimit")) { return 1; } } } return 0; } //Function Number: 136 hitwinlimit() { if(getwatcheddvar("winlimit") <= 0) { return 0; } if(!level.teambased) { return 1; } if(getroundswon("allies") >= getwatcheddvar("winlimit") || getroundswon("axis") >= getwatcheddvar("winlimit")) { return 1; } return 0; } //Function Number: 137 getscorelimit() { if(isroundbased()) { if(getwatcheddvar("roundlimit")) { return getwatcheddvar("roundlimit"); } return getwatcheddvar("winlimit"); } return getwatcheddvar("scorelimit"); } //Function Number: 138 getroundswon(param_00) { return game["roundsWon"][param_00]; } //Function Number: 139 isobjectivebased() { return level.objectivebased; } //Function Number: 140 gettimelimit() { if(inovertime()) { var_00 = float(getdvar("overtimeTimeLimit")); if(!isdefined(var_00)) { var_00 = 1; } return var_00; } return getwatcheddvar("timelimit"); } //Function Number: 141 gethalftime() { if(inovertime()) { return 0; } return getwatcheddvar("halftime"); } //Function Number: 142 inovertime() { return isdefined(game["status"]) && isovertimetext(game["status"]); } //Function Number: 143 isovertimetext(param_00) { return param_00 == "overtime" || param_00 == "overtime_halftime"; } //Function Number: 144 gamehasstarted() { if(isdefined(level.gamehasstarted)) { return level.gamehasstarted; } if(level.teambased) { return level.hasspawned["axis"] && level.hasspawned["allies"]; } return level.maxplayercount > 1; } //Function Number: 145 getaverageorigin(param_00) { var_01 = (0,0,0); if(!param_00.size) { return undefined; } foreach(var_03 in param_00) { var_01 = var_01 + var_03.origin; } var_05 = int(var_01[0] / param_00.size); var_06 = int(var_01[1] / param_00.size); var_07 = int(var_01[2] / param_00.size); var_01 = (var_05,var_06,var_07); return var_01; } //Function Number: 146 getlivingplayers(param_00) { var_01 = []; foreach(var_03 in level.players) { if(!isalive(var_03)) { continue; } if(level.teambased && isdefined(param_00)) { if(param_00 == var_03.pers["team"]) { var_01[var_01.size] = var_03; } continue; } var_01[var_01.size] = var_03; } return var_01; } //Function Number: 147 setusingremote(param_00) { if(isdefined(self.carryicon)) { self.carryicon.alpha = 0; } self.usingremote = param_00; common_scripts\utility::_disableoffhandweapons(); self notify("using_remote"); } //Function Number: 148 getremotename() { return self.usingremote; } //Function Number: 149 freezecontrolswrapper(param_00) { if(isdefined(level.hostmigrationtimer)) { self freezecontrols(1); return; } self freezecontrols(param_00); self.controlsfrozen = param_00; } //Function Number: 150 freezecontrolswrapperwithdelay(param_00,param_01) { wait(param_01); if(isdefined(self)) { freezecontrolswrapper(param_00); } } //Function Number: 151 clearusingremote() { if(isdefined(self.carryicon)) { self.carryicon.alpha = 1; } self.usingremote = undefined; common_scripts\utility::_enableoffhandweapons(); var_00 = self getcurrentweapon(); if(var_00 == "none" || iskillstreakweapon(var_00)) { self switchtoweapon(common_scripts\utility::getlastweapon()); } freezecontrolswrapper(0); playerremotekillstreakshowhud(); self notify("stopped_using_remote"); } //Function Number: 152 playerremotekillstreakhidehud() { self setclientomnvar("ui_killstreak_remote",1); } //Function Number: 153 playerremotekillstreakshowhud() { self setclientomnvar("ui_killstreak_remote",0); } //Function Number: 154 get_water_weapon() { if(isdefined(self.underwatermotiontype)) { if(self.underwatermotiontype == "shallow" && isdefined(level.shallow_water_weapon)) { return level.shallow_water_weapon; } if(self.underwatermotiontype == "deep" && isdefined(level.deep_water_weapon)) { return level.deep_water_weapon; } if(self.underwatermotiontype != "none" && isdefined(level.shallow_water_weapon)) { return level.shallow_water_weapon; } } return "none"; } //Function Number: 155 isusingremote() { return isdefined(self.usingremote); } //Function Number: 156 isinremotetransition() { return isdefined(self.remoteridetransition); } //Function Number: 157 isrocketcorpse() { return isdefined(self.isrocketcorpse) && self.isrocketcorpse; } //Function Number: 158 queuecreate(param_00) { if(!isdefined(level.queues)) { level.queues = []; } level.queues[param_00] = []; } //Function Number: 159 queueadd(param_00,param_01) { level.queues[param_00][level.queues[param_00].size] = param_01; } //Function Number: 160 queueremovefirst(param_00) { var_01 = undefined; var_02 = []; foreach(var_04 in level.queues[param_00]) { if(!isdefined(var_04)) { continue; } if(!isdefined(var_01)) { var_01 = var_04; continue; } var_02[var_02.size] = var_04; } level.queues[param_00] = var_02; return var_01; } //Function Number: 161 _giveweapon(param_00,param_01,param_02) { if(!isdefined(param_01)) { param_01 = -1; } var_03 = 0; if(isdefined(self.pers["toggleScopeStates"]) && isdefined(self.pers["toggleScopeStates"][param_00])) { var_03 = self.pers["toggleScopeStates"][param_00]; } if(issubstr(param_00,"_akimbo") || isdefined(param_02) && param_02 == 1) { if(isagent(self)) { self giveweapon(param_00,param_01,1,-1,0); return; } self giveweapon(param_00,param_01,1,-1,0,self,var_03); return; } if(isagent(self)) { self giveweapon(param_00,param_01,0,-1,0); return; } self giveweapon(param_00,param_01,0,-1,0,self,var_03); } //Function Number: 162 _hasperk(param_00) { if(isdefined(self.perks) && isdefined(self.perks[param_00])) { return 1; } return 0; } //Function Number: 163 giveperk(param_00,param_01,param_02) { if(issubstr(param_00,"_mp")) { _giveweapon(param_00,0); self givestartammo(param_00); _setperk(param_00,param_01); return; } if(issubstr(param_00,"specialty_weapon_")) { _setperk(param_00,param_01); return; } _setperk(param_00,param_01,param_02); } //Function Number: 164 _setperk(param_00,param_01,param_02) { self.perks[param_00] = 1; self.perksperkname[param_00] = param_00; self.perksuseslot[param_00] = param_01; if(isdefined(level.perksetfuncs[param_00])) { self thread [[ level.perksetfuncs[param_00] ]](); } var_03 = strip_suffix(param_00,"_lefthand"); if(isdefined(param_02)) { self setperk(param_00,!isdefined(level.scriptperks[var_03]),param_01,param_02); return; } self setperk(param_00,!isdefined(level.scriptperks[var_03]),param_01); } //Function Number: 165 _unsetperk(param_00) { self.perks[param_00] = undefined; self.perksperkname[param_00] = undefined; self.perksuseslot[param_00] = undefined; self.perksperkpower[param_00] = undefined; if(isdefined(level.perkunsetfuncs[param_00])) { self thread [[ level.perkunsetfuncs[param_00] ]](); } var_01 = strip_suffix(param_00,"_lefthand"); self unsetperk(param_00,!isdefined(level.scriptperks[var_01])); } //Function Number: 166 _clearperks() { foreach(var_02, var_01 in self.perks) { if(isdefined(level.perkunsetfuncs[var_02])) { self [[ level.perkunsetfuncs[var_02] ]](); } } self.perks = []; self.perksperkname = []; self.perksuseslot = []; self.perksperkpower = []; self clearperks(); } //Function Number: 167 cangiveability(param_00) { return _cangiveability(param_00); } //Function Number: 168 _cangiveability(param_00) { if(!isdefined(level.abilitycansetfuncs) || !isdefined(level.abilitycansetfuncs[param_00])) { return 1; } return self [[ level.abilitycansetfuncs[param_00] ]](); } //Function Number: 169 giveability(param_00,param_01) { _setability(param_00,param_01); } //Function Number: 170 _setability(param_00,param_01) { self.abilities[param_00] = 1; if(isplayer(self)) { if(isdefined(level.abilitysetfuncs[param_00])) { self thread [[ level.abilitysetfuncs[param_00] ]](); } } self setperk(param_00,!isdefined(level.scriptabilities[param_00]),param_01); } //Function Number: 171 _unsetability(param_00) { self.abilities[param_00] = undefined; if(isplayer(self)) { if(isdefined(level.abilityunsetfuncs[param_00])) { self thread [[ level.abilityunsetfuncs[param_00] ]](); } } self unsetperk(param_00,!isdefined(level.scriptabilities[param_00])); } //Function Number: 172 _clearabilities() { if(isplayer(self)) { if(isdefined(level.abilityunsetfuncs[self.pers["ability"]])) { self [[ level.abilityunsetfuncs[self.pers["ability"]] ]](); } } self.abilities = []; self clearperks(); } //Function Number: 173 _hasability(param_00,param_01) { if(!isdefined(param_01)) { param_01 = 0; } if(param_01) { if(isdefined(self.abilities[param_00]) && self.abilities[param_00]) { return 1; } } else if(isdefined(self.pers["ability"]) && self.pers["ability"] == param_00 && isdefined(self.pers["abilityOn"]) && self.pers["abilityOn"]) { return 1; } return 0; } //Function Number: 174 quicksort(param_00,param_01) { return quicksortmid(param_00,0,param_00.size - 1,param_01); } //Function Number: 175 quicksortmid(param_00,param_01,param_02,param_03) { var_04 = param_01; var_05 = param_02; if(!isdefined(param_03)) { param_03 = ::quicksort_compare; } if(param_02 - param_01 >= 1) { var_06 = param_00[param_01]; while(var_05 > var_04) { while([[ param_03 ]](param_00[var_04],var_06) && var_04 <= param_02 && var_05 > var_04) { var_04++; } while(![[ param_03 ]](param_00[var_05],var_06) && var_05 >= param_01 && var_05 >= var_04) { var_05--; } if(var_05 > var_04) { param_00 = swap(param_00,var_04,var_05); } } param_00 = swap(param_00,param_01,var_05); param_00 = quicksortmid(param_00,param_01,var_05 - 1,param_03); param_00 = quicksortmid(param_00,var_05 + 1,param_02,param_03); } else { return param_01; } return param_00; } //Function Number: 176 quicksort_compare(param_00,param_01) { return param_00 <= param_01; } //Function Number: 177 swap(param_00,param_01,param_02) { var_03 = param_00[param_01]; param_00[param_01] = param_00[param_02]; param_00[param_02] = var_03; return param_00; } //Function Number: 178 _suicide() { if(isusingremote() && !isdefined(self.fauxdead)) { thread maps\mp\gametypes\_damage::playerkilled_internal(self,self,self,10000,"MOD_SUICIDE","frag_grenade_mp",(0,0,0),"none",0,1116,1); return; } if(!isusingremote() && !isdefined(self.fauxdead)) { self suicide(); } } //Function Number: 179 isreallyalive(param_00) { if(isalive(param_00) && !isdefined(param_00.fauxdead)) { return 1; } return 0; } //Function Number: 180 waittill_any_timeout_pause_on_death_and_prematch(param_00,param_01,param_02,param_03,param_04,param_05) { var_06 = spawnstruct(); if(isdefined(param_01)) { thread common_scripts\utility::waittill_string_no_endon_death(param_01,var_06); } if(isdefined(param_02)) { thread common_scripts\utility::waittill_string_no_endon_death(param_02,var_06); } if(isdefined(param_03)) { thread common_scripts\utility::waittill_string_no_endon_death(param_03,var_06); } if(isdefined(param_04)) { thread common_scripts\utility::waittill_string_no_endon_death(param_04,var_06); } if(isdefined(param_05)) { thread common_scripts\utility::waittill_string_no_endon_death(param_05,var_06); } var_06 thread _timeout_pause_on_death_and_prematch(param_00,self); var_06 waittill("returned",var_07); var_06 notify("die"); return var_07; } //Function Number: 181 _timeout_pause_on_death_and_prematch(param_00,param_01) { self endon("die"); var_02 = 0.05; while(param_00 > 0) { if(isplayer(param_01) && !isreallyalive(param_01)) { param_01 waittill("spawned_player"); } if(getdvarint("ui_inprematch")) { level waittill("prematch_over"); } wait(var_02); param_00 = param_00 - var_02; } self notify("returned","timeout"); } //Function Number: 182 playdeathsound() { if(isdefined(level.customplaydeathsound)) { self thread [[ level.customplaydeathsound ]](); return; } var_00 = randomintrange(1,8); if(maps\mp\killstreaks\_juggernaut::get_is_in_mech()) { return; } if(self.team == "axis") { if(self hasfemalecustomizationmodel()) { self playsound("generic_death_enemy_fm_" + var_00); return; } self playsound("generic_death_enemy_" + var_00); return; } if(self hasfemalecustomizationmodel()) { self playsound("generic_death_friendly_fm_" + var_00); return; } self playsound("generic_death_friendly_" + var_00); } //Function Number: 183 rankingenabled() { if(!isplayer(self)) { return 0; } return level.rankedmatch && !self.usingonlinedataoffline; } //Function Number: 184 privatematch() { return !level.onlinegame || getdvarint("xblive_privatematch"); } //Function Number: 185 matchmakinggame() { return level.onlinegame && !getdvarint("xblive_privatematch"); } //Function Number: 186 practiceroundgame() { return level.practiceround; } //Function Number: 187 setaltsceneobj(param_00,param_01,param_02,param_03) { } //Function Number: 188 endsceneondeath(param_00) { self endon("altscene"); param_00 waittill("death"); self notify("end_altScene"); } //Function Number: 189 getmapname() { return getdvar("mapname"); } //Function Number: 190 getgametypenumlives() { return getwatcheddvar("numlives"); } //Function Number: 191 arrayinsertion(param_00,param_01,param_02) { if(param_00.size != 0) { for(var_03 = param_00.size;var_03 >= param_02;var_03--) { param_00[var_03 + 1] = param_00[var_03]; } } param_00[param_02] = param_01; } //Function Number: 192 getproperty(param_00,param_01) { var_02 = param_01; var_02 = getdvar(param_00,param_01); return var_02; } //Function Number: 193 getintproperty(param_00,param_01) { var_02 = param_01; var_02 = getdvarint(param_00,param_01); return var_02; } //Function Number: 194 getfloatproperty(param_00,param_01) { var_02 = param_01; var_02 = getdvarfloat(param_00,param_01); return var_02; } //Function Number: 195 ischangingweapon() { return isdefined(self.changingweapon); } //Function Number: 196 killshouldaddtokillstreak(param_00) { return 1; } //Function Number: 197 isjuggernaut() { if(isdefined(self.isjuggernaut) && self.isjuggernaut == 1) { return 1; } if(isdefined(self.isjuggernautdef) && self.isjuggernautdef == 1) { return 1; } if(isdefined(self.isjuggernautgl) && self.isjuggernautgl == 1) { return 1; } if(isdefined(self.isjuggernautrecon) && self.isjuggernautrecon == 1) { return 1; } if(isdefined(self.isjuggernautmaniac) && self.isjuggernautmaniac == 1) { return 1; } return 0; } //Function Number: 198 iskillstreakweapon(param_00) { if(!isdefined(param_00)) { return 0; } if(param_00 == "none") { return 0; } if(isdestructibleweapon(param_00)) { return 0; } if(isbombsiteweapon(param_00)) { return 0; } if(issubstr(param_00,"killstreak")) { return 1; } if(param_00 == "airdrop_sentry_marker_mp") { return 1; } var_01 = getweaponnametokens(param_00); var_02 = 0; foreach(var_04 in var_01) { if(var_04 == "mp") { var_02 = 1; break; } } if(!var_02) { param_00 = param_00 + "_mp"; } if(maps\mp\killstreaks\_airdrop::isairdropmarker(param_00)) { return 1; } if(isdefined(level.killstreakwieldweapons) && isdefined(level.killstreakwieldweapons[param_00])) { return 1; } var_06 = weaponinventorytype(param_00); if(isdefined(var_06) && var_06 == "exclusive") { return 1; } return 0; } //Function Number: 199 isdestructibleweapon(param_00) { if(!isdefined(param_00)) { return 0; } switch(param_00) { case "barrel_mp": case "destructible": case "destructible_car": case "destructible_toy": break; } } //Function Number: 200 isaugmentedgamemode() { return getdvarint("scr_game_high_jump",0); } //Function Number: 201 isgrapplinghookgamemode() { if(invirtuallobby()) { return 0; } return getdvarint("scr_game_grappling_hook",0); } //Function Number: 202 isdivisionmode() { return getdvarint("scr_game_division",0); } //Function Number: 203 isbombsiteweapon(param_00) { if(!isdefined(param_00)) { return 0; } switch(param_00) { case "bomb_site_mp": case "search_dstry_bomb_defuse_mp": case "search_dstry_bomb_mp": break; } } //Function Number: 204 isenvironmentweapon(param_00) { if(!isdefined(param_00)) { return 0; } if(param_00 == "turret_minigun_mp") { return 1; } if(issubstr(param_00,"_bipod_")) { return 1; } return 0; } //Function Number: 205 is_legacy_weapon(param_00) { switch(param_00) { case "iw5_dlcgun8loot1": case "iw5_dlcgun7loot6": case "iw5_dlcgun7loot0": case "iw5_dlcgun6loot5": case "iw5_dlcgun6": break; default: break; } } //Function Number: 206 islootweapon(param_00) { if(is_legacy_weapon(param_00)) { return 0; } if(issubstr(param_00,"loot")) { return 1; } if(issubstr(param_00,"atlas")) { return 1; } if(issubstr(param_00,"gold")) { return 1; } if(issubstr(param_00,"blops2")) { return 1; } if(issubstr(param_00,"ghosts")) { return 1; } return 0; } //Function Number: 207 getweaponnametokens(param_00) { return strtok(param_00,"_"); } //Function Number: 208 getweaponclass(param_00) { var_01 = getbaseweaponname(param_00); var_02 = tablelookup("mp/statstable.csv",4,var_01,2); if(var_02 == "") { var_03 = strip_suffix(param_00,"_lefthand"); var_03 = strip_suffix(var_03,"_mp"); var_02 = tablelookup("mp/statstable.csv",4,var_03,2); } if(isenvironmentweapon(param_00)) { var_02 = "weapon_mg"; } else if(iskillstreakweapon(param_00)) { var_02 = "killstreak"; } else if(param_00 == "none") { var_02 = "other"; } else if(var_02 == "") { var_02 = "other"; } return var_02; } //Function Number: 209 getweaponattachmentarrayfromstats(param_00) { param_00 = getbaseweaponname(param_00); if(!isdefined(level.weaponattachments[param_00])) { var_01 = []; for(var_02 = 0;var_02 <= 29;var_02++) { var_03 = tablelookup("mp/statsTable.csv",4,param_00,11 + var_02); if(var_03 == "") { break; } var_01[var_01.size] = var_03; } level.weaponattachments[param_00] = var_01; } return level.weaponattachments[param_00]; } //Function Number: 210 getweaponattachmentfromstats(param_00,param_01) { param_00 = getbaseweaponname(param_00); return tablelookup("mp/statsTable.csv",4,param_00,11 + param_01); } //Function Number: 211 getbaseweaponname(param_00,param_01) { var_02 = getweaponnametokens(param_00); var_03 = ""; if(var_02[0] == "iw5" || var_02[0] == "iw6" || var_02[0] == "s1") { var_03 = var_02[0] + "_" + var_02[1]; } else if(var_02[0] == "alt") { var_03 = var_02[1] + "_" + var_02[2]; } else if(var_02.size > 1 && var_02[1] == "grenade" || var_02[1] == "marker") { var_03 = var_02[0] + "_" + var_02[1]; } else { var_03 = var_02[0]; } var_04 = ""; if(isdefined(param_01) && param_01 == 1) { var_04 = tablelookup("mp/statsTable.csv",4,var_03,59); } if(var_04 != "") { return "iw5_" + var_04; } return var_03; } //Function Number: 212 fixakimbostring(param_00,param_01) { if(!isdefined(param_01)) { param_01 = 1; } var_02 = 0; for(var_03 = 0;var_03 < param_00.size;var_03++) { if(param_00[var_03] == "a" && param_00[var_03 + 1] == "k" && param_00[var_03 + 2] == "i" && param_00[var_03 + 3] == "m" && param_00[var_03 + 4] == "b" && param_00[var_03 + 5] == "o") { var_02 = var_03; break; } } param_00 = getsubstr(param_00,0,var_02) + getsubstr(param_00,var_02 + 6,param_00.size); if(param_01) { param_00 = param_00 + "_akimbo"; } return param_00; } //Function Number: 213 playsoundinspace(param_00,param_01) { playsoundatpos(param_01,param_00); } //Function Number: 214 limitdecimalplaces(param_00,param_01) { var_02 = 1; for(var_03 = 0;var_03 < param_01;var_03++) { var_02 = var_02 * 10; } var_04 = param_00 * var_02; var_04 = int(var_04); var_04 = var_04 / var_02; return var_04; } //Function Number: 215 rounddecimalplaces(param_00,param_01,param_02) { if(!isdefined(param_02)) { param_02 = "nearest"; } var_03 = 1; for(var_04 = 0;var_04 < param_01;var_04++) { var_03 = var_03 * 10; } var_05 = param_00 * var_03; if(param_02 == "up") { var_06 = ceil(var_05); } else if(var_03 == "down") { var_06 = floor(var_06); } else { var_06 = var_06 + 0.5; } var_05 = int(var_06); var_05 = var_05 / var_03; return var_05; } //Function Number: 216 playerforclientid(param_00) { foreach(var_02 in level.players) { if(var_02.clientid == param_00) { return var_02; } } return undefined; } //Function Number: 217 stringtofloat(param_00) { var_01 = strtok(param_00,"."); var_02 = int(var_01[0]); if(isdefined(var_01[1])) { var_03 = 1; for(var_04 = 0;var_04 < var_01[1].size;var_04++) { var_03 = var_03 * 0.1; } var_02 = var_02 + int(var_01[1]) * var_03; } return var_02; } //Function Number: 218 setselfusable(param_00) { self makeusable(); foreach(var_02 in level.players) { if(var_02 != param_00) { self disableplayeruse(var_02); continue; } self enableplayeruse(var_02); } } //Function Number: 219 setselfunusuable() { self makeunusable(); foreach(var_01 in level.players) { self disableplayeruse(var_01); } } //Function Number: 220 maketeamusable(param_00) { self makeusable(); thread _updateteamusable(param_00); } //Function Number: 221 _updateteamusable(param_00) { self endon("death"); for(;;) { foreach(var_02 in level.players) { if(var_02.team == param_00) { self enableplayeruse(var_02); continue; } self disableplayeruse(var_02); } level waittill("joined_team"); } } //Function Number: 222 makeenemyusable(param_00) { self makeusable(); thread _updateenemyusable(param_00); } //Function Number: 223 _updateenemyusable(param_00) { self endon("death"); var_01 = param_00.team; for(;;) { if(level.teambased) { foreach(var_03 in level.players) { if(var_03.team != var_01) { self enableplayeruse(var_03); continue; } self disableplayeruse(var_03); } } else { foreach(var_03 in level.players) { if(var_03 != param_00) { self enableplayeruse(var_03); continue; } self disableplayeruse(var_03); } } level waittill("joined_team"); } } //Function Number: 224 getnextlifeid() { var_00 = getmatchdata("lifeCount"); if(var_00 < level.maxlives) { setmatchdata("lifeCount",var_00 + 1); return var_00; } return level.maxlives - 1; } //Function Number: 225 initgameflags() { if(!isdefined(game["flags"])) { game["flags"] = []; } } //Function Number: 226 gameflaginit(param_00,param_01) { game["flags"][param_00] = param_01; } //Function Number: 227 gameflag(param_00) { return game["flags"][param_00]; } //Function Number: 228 gameflagset(param_00) { game["flags"][param_00] = 1; level notify(param_00); } //Function Number: 229 gameflagclear(param_00) { game["flags"][param_00] = 0; } //Function Number: 230 gameflagwait(param_00) { while(!gameflag(param_00)) { level waittill(param_00); } } //Function Number: 231 isbulletdamage(param_00) { var_01 = "MOD_RIFLE_BULLET MOD_PISTOL_BULLET MOD_HEAD_SHOT"; if(issubstr(var_01,param_00)) { return 1; } return 0; } //Function Number: 232 isfmjdamage(param_00,param_01,param_02) { return isdefined(param_02) && isplayer(param_02) && param_02 _hasperk("specialty_bulletpenetration") && isdefined(param_01) && isbulletdamage(param_01); } //Function Number: 233 initlevelflags() { if(!isdefined(level.levelflags)) { level.levelflags = []; } } //Function Number: 234 levelflaginit(param_00,param_01) { level.levelflags[param_00] = param_01; } //Function Number: 235 levelflag(param_00) { return level.levelflags[param_00]; } //Function Number: 236 levelflagset(param_00) { level.levelflags[param_00] = 1; level notify(param_00); } //Function Number: 237 levelflagclear(param_00) { level.levelflags[param_00] = 0; level notify(param_00); } //Function Number: 238 levelflagwait(param_00) { while(!levelflag(param_00)) { level waittill(param_00); } } //Function Number: 239 levelflagwaitopen(param_00) { while(levelflag(param_00)) { level waittill(param_00); } } //Function Number: 240 invirtuallobby() { if(!isdefined(level.virtuallobbyactive) || level.virtuallobbyactive == 0) { return 0; } return 1; } //Function Number: 241 initglobals() { if(!isdefined(level.global_tables)) { level.global_tables["killstreakTable"] = spawnstruct(); level.global_tables["killstreakTable"].path = "mp/killstreakTable.csv"; level.global_tables["killstreakTable"].index_col = 0; level.global_tables["killstreakTable"].ref_col = 1; level.global_tables["killstreakTable"].name_col = 2; level.global_tables["killstreakTable"].desc_col = 3; level.global_tables["killstreakTable"].adrenaline_col = 4; level.global_tables["killstreakTable"].earned_hint_col = 5; level.global_tables["killstreakTable"].sound_col = 6; level.global_tables["killstreakTable"].earned_dialog_col = 7; level.global_tables["killstreakTable"].allies_dialog_col = 8; level.global_tables["killstreakTable"].opfor_dialog_col = 9; level.global_tables["killstreakTable"].enemy_use_dialog_col = 10; level.global_tables["killstreakTable"].weapon_col = 11; level.global_tables["killstreakTable"].score_col = 12; level.global_tables["killstreakTable"].icon_col = 13; level.global_tables["killstreakTable"].overhead_icon_col = 14; level.global_tables["killstreakTable"].overhead_icon_col_plus1 = 15; level.global_tables["killstreakTable"].overhead_icon_col_plus2 = 16; level.global_tables["killstreakTable"].overhead_icon_col_plus3 = 17; level.global_tables["killstreakTable"].dpad_icon_col = 18; level.global_tables["killstreakTable"].unearned_icon_col = 19; } } //Function Number: 242 iskillstreakdenied() { if(invirtuallobby()) { return 0; } return isemped() || isairdenied(); } //Function Number: 243 isemped() { if(self.team == "spectator") { return 0; } if(invirtuallobby()) { return 0; } if(level.teambased) { return level.teamemped[self.team] || isdefined(self.empgrenaded) && self.empgrenaded; } return (isdefined(level.empplayer) && level.empplayer != self) || isdefined(self.empgrenaded) && self.empgrenaded; } //Function Number: 244 isempedbykillstreak() { if(self.team == "spectator") { return 0; } if(invirtuallobby()) { return 0; } if(level.teambased) { return level.teamemped[self.team]; } return isdefined(level.empplayer) && level.empplayer != self; } //Function Number: 245 isairdenied() { return 0; } //Function Number: 246 isnuked() { if(self.team == "spectator") { return 0; } return isdefined(self.nuked); } //Function Number: 247 getplayerforguid(param_00) { foreach(var_02 in level.players) { if(var_02.guid == param_00) { return var_02; } } return undefined; } //Function Number: 248 teamplayercardsplash(param_00,param_01,param_02,param_03) { if(level.hardcoremode) { return; } foreach(var_05 in level.players) { if(isdefined(param_02) && var_05.team != param_02) { continue; } if(!isplayer(var_05)) { continue; } var_05 thread maps\mp\gametypes\_hud_message::playercardsplashnotify(param_00,param_01,param_03); } } //Function Number: 249 iscacprimaryweapon(param_00) { switch(getweaponclass(param_00)) { case "weapon_special": case "weapon_heavy": case "weapon_shotgun": case "weapon_lmg": case "weapon_sniper": case "weapon_riot": case "weapon_assault": case "weapon_smg": break; default: break; } } //Function Number: 250 iscacsecondaryweapon(param_00) { switch(getweaponclass(param_00)) { case "weapon_sec_special": case "weapon_machine_pistol": case "weapon_pistol": case "weapon_projectile": break; default: break; } } //Function Number: 251 getlastlivingplayer(param_00) { var_01 = undefined; foreach(var_03 in level.players) { if(isdefined(param_00) && var_03.team != param_00) { continue; } if(!isreallyalive(var_03) && !var_03 maps\mp\gametypes\_playerlogic::mayspawn()) { continue; } var_01 = var_03; } return var_01; } //Function Number: 252 getpotentiallivingplayers() { var_00 = []; foreach(var_02 in level.players) { if(!isreallyalive(var_02) && !var_02 maps\mp\gametypes\_playerlogic::mayspawn()) { continue; } var_00[var_00.size] = var_02; } return var_00; } //Function Number: 253 waittillrecoveredhealth(param_00,param_01) { self endon("death"); self endon("disconnect"); var_02 = 0; if(!isdefined(param_01)) { param_01 = 0.05; } if(!isdefined(param_00)) { param_00 = 0; } for(;;) { if(self.health != self.maxhealth) { var_02 = 0; } else { var_02 = var_02 + param_01; } wait(param_01); if(self.health == self.maxhealth && var_02 >= param_00) { break; } } } //Function Number: 254 attachmentmap_tounique(param_00,param_01) { var_02 = param_00; param_01 = getbaseweaponname(param_01,1); if(param_01 != "iw5_dlcgun6loot5" && islootweapon(param_01)) { param_01 = maps\mp\gametypes\_class::getbasefromlootversion(param_01); } if(isdefined(level.attachmentmap_basetounique[param_01]) && isdefined(level.attachmentmap_basetounique[param_01][param_00])) { var_02 = level.attachmentmap_basetounique[param_01][param_00]; } else { var_03 = tablelookup("mp/statstable.csv",4,param_01,2); if(isdefined(level.attachmentmap_basetounique[var_03]) && isdefined(level.attachmentmap_basetounique[var_03][param_00])) { var_02 = level.attachmentmap_basetounique[var_03][param_00]; } } return var_02; } //Function Number: 255 attachmentperkmap(param_00) { var_01 = undefined; if(isdefined(level.attachmentmap_attachtoperk[param_00])) { var_01 = level.attachmentmap_attachtoperk[param_00]; } return var_01; } //Function Number: 256 isattachmentsniperscopedefault(param_00,param_01) { var_02 = strtok(param_00,"_"); return isattachmentsniperscopedefaulttokenized(var_02,param_01); } //Function Number: 257 isattachmentsniperscopedefaulttokenized(param_00,param_01) { var_02 = 0; if(param_00.size && isdefined(param_01)) { var_03 = 0; if(param_00[0] == "alt") { var_03 = 1; } if(param_00.size >= 3 + var_03 && param_00[var_03] == "iw5" || param_00[var_03] == "iw6") { if(weaponclass(param_00[var_03] + "_" + param_00[var_03 + 1] + "_" + param_00[var_03 + 2]) == "sniper") { var_02 = param_00[var_03 + 1] + "scope" == param_01; } } } return var_02; } //Function Number: 258 getweaponattachmentsbasenames(param_00) { var_01 = getweaponattachments(param_00); foreach(var_04, var_03 in var_01) { var_01[var_04] = attachmentmap_tobase(var_03); } return var_01; } //Function Number: 259 getattachmentlistbasenames() { var_00 = []; var_01 = 0; var_02 = tablelookup("mp/attachmentTable.csv",0,var_01,4); while(var_02 != "") { if(!common_scripts\utility::array_contains(var_00,var_02)) { var_00[var_00.size] = var_02; } var_01++; var_02 = tablelookup("mp/attachmentTable.csv",0,var_01,4); } return var_00; } //Function Number: 260 getattachmentlistuniqenames() { var_00 = []; var_01 = 0; var_02 = tablelookup("mp/attachmentTable.csv",0,var_01,3); while(var_02 != "") { var_00[var_00.size] = var_02; var_01++; var_02 = tablelookup("mp/attachmentTable.csv",0,var_01,3); } return var_00; } //Function Number: 261 buildattachmentmaps() { var_00 = getattachmentlistuniqenames(); level.attachmentmap_uniquetobase = []; foreach(var_02 in var_00) { var_03 = tablelookup("mp/attachmentTable.csv",3,var_02,4); if(var_02 == var_03) { continue; } level.attachmentmap_uniquetobase[var_02] = var_03; } var_05 = []; var_06 = 1; var_07 = tablelookupbyrow("mp/attachmentmap.csv",var_06,0); while(var_07 != "") { var_05[var_05.size] = var_07; var_06++; var_07 = tablelookupbyrow("mp/attachmentmap.csv",var_06,0); } var_08 = []; var_09 = 1; var_0A = tablelookupbyrow("mp/attachmentmap.csv",0,var_09); while(var_0A != "") { var_08[var_0A] = var_09; var_09++; var_0A = tablelookupbyrow("mp/attachmentmap.csv",0,var_09); } level.attachmentmap_basetounique = []; foreach(var_07 in var_05) { foreach(var_0F, var_0D in var_08) { var_0E = tablelookup("mp/attachmentmap.csv",0,var_07,var_0D); if(var_0E == "") { continue; } if(!isdefined(level.attachmentmap_basetounique[var_07])) { level.attachmentmap_basetounique[var_07] = []; } level.attachmentmap_basetounique[var_07][var_0F] = var_0E; } } level.attachmentmap_attachtoperk = []; foreach(var_12 in var_00) { var_13 = tablelookup("mp/attachmentTable.csv",3,var_12,8); if(var_13 == "") { continue; } level.attachmentmap_attachtoperk[var_12] = var_13; } } //Function Number: 262 attachmentmap_tobase(param_00) { if(isdefined(level.attachmentmap_uniquetobase[param_00])) { param_00 = level.attachmentmap_uniquetobase[param_00]; } return param_00; } //Function Number: 263 _objective_delete(param_00) { objective_delete(param_00); if(!isdefined(level.reclaimedreservedobjectives)) { level.reclaimedreservedobjectives = []; level.reclaimedreservedobjectives[0] = param_00; return; } level.reclaimedreservedobjectives[level.reclaimedreservedobjectives.size] = param_00; } //Function Number: 264 touchingbadtrigger() { var_00 = getentarray("trigger_hurt","classname"); foreach(var_02 in var_00) { if(self istouching(var_02)) { return 1; } } var_04 = getentarray("radiation","targetname"); foreach(var_02 in var_04) { if(self istouching(var_02)) { return 1; } } if(isdefined(level.ishorde) && level.ishorde) { if(getmapname() == "mp_torqued") { if(isdefined(level.hordeavalanche) && level.hordeavalanche && isdefined(level.dyneventavalanche.status) && level.dyneventavalanche.status != "post_avalanche") { var_07 = getentarray("quake_kill_volume01","targetname"); foreach(var_09 in var_07) { if(self istouching(var_09)) { return 1; } } } } else if(getmapname() == "mp_lost") { foreach(var_0C in level.hordekilltriggers) { if(self istouching(var_0C)) { return 1; } } } } if(getdvar("g_gametype") == "hp" && isdefined(level.zone) && isdefined(level.zone.trig) && self istouching(level.zone.trig)) { return 1; } return 0; } //Function Number: 265 setthirdpersondof(param_00) { if(param_00) { self setdepthoffield(0,110,512,4096,6,1.8); return; } self setdepthoffield(0,0,512,512,4,0); } //Function Number: 266 killtrigger(param_00,param_01,param_02) { var_03 = spawn("trigger_radius",param_00,0,param_01,param_02); for(;;) { var_03 waittill("trigger",var_04); if(!isplayer(var_04)) { continue; } var_04 suicide(); } } //Function Number: 267 findisfacing(param_00,param_01,param_02) { var_03 = cos(param_02); var_04 = anglestoforward(param_00.angles); var_05 = param_01.origin - param_00.origin; var_04 = var_04 * (1,1,0); var_05 = var_05 * (1,1,0); var_05 = vectornormalize(var_05); var_04 = vectornormalize(var_04); var_06 = vectordot(var_05,var_04); if(var_06 >= var_03) { return 1; } return 0; } //Function Number: 268 drawline(param_00,param_01,param_02,param_03) { var_04 = int(param_02 * 20); for(var_05 = 0;var_05 < var_04;var_05++) { wait(0.05); } } //Function Number: 269 drawsphere(param_00,param_01,param_02,param_03) { var_04 = int(param_02 * 20); for(var_05 = 0;var_05 < var_04;var_05++) { wait(0.05); } } //Function Number: 270 setrecoilscale(param_00,param_01) { if(!isdefined(param_00)) { param_00 = 0; } if(!isdefined(self.recoilscale)) { self.recoilscale = param_00; } else { self.recoilscale = self.recoilscale + param_00; } if(isdefined(param_01)) { if(isdefined(self.recoilscale) && param_01 < self.recoilscale) { param_01 = self.recoilscale; } var_02 = 100 - param_01; } else { var_02 = 100 - self.recoilscale; } if(var_02 < 0) { var_02 = 0; } if(var_02 > 100) { var_02 = 100; } if(var_02 == 100) { self playerrecoilscaleoff(); return; } self playerrecoilscaleon(var_02); } //Function Number: 271 cleanarray(param_00) { var_01 = []; foreach(var_04, var_03 in param_00) { if(!isdefined(var_03)) { continue; } var_01[var_01.size] = param_00[var_04]; } return var_01; } //Function Number: 272 notusableforjoiningplayers(param_00) { self notify("notusablejoiningplayers"); self endon("death"); level endon("game_ended"); param_00 endon("disconnect"); param_00 endon("death"); self endon("notusablejoiningplayers"); for(;;) { level waittill("player_spawned",var_01); if(isdefined(var_01) && var_01 != param_00) { self disableplayeruse(var_01); } } } //Function Number: 273 isstrstart(param_00,param_01) { return getsubstr(param_00,0,param_01.size) == param_01; } //Function Number: 274 disableallstreaks() { level.killstreaksdisabled = 1; } //Function Number: 275 enableallstreaks() { level.killstreaksdisabled = undefined; } //Function Number: 276 validateusestreak(param_00,param_01) { if(isdefined(param_00)) { var_02 = param_00; } else { var_03 = self.pers["killstreaks"]; var_02 = var_03[self.killstreakindexweapon].streakname; } if(isdefined(level.killstreaksdisabled) && level.killstreaksdisabled) { return 0; } if(isdefined(self.killstreaksdisabled) && self.killstreaksdisabled) { return 0; } if(!self isonground() && isridekillstreak(var_02)) { return 0; } if(isusingremote() || isinremotetransition()) { return 0; } if(isdefined(self.selectinglocation)) { return 0; } if(shouldpreventearlyuse(var_02) && level.killstreakrounddelay) { var_04 = 0; if(isdefined(level.prematch_done_time)) { var_04 = gettime() - level.prematch_done_time / 1000; } if(var_04 < level.killstreakrounddelay) { var_05 = int(level.killstreakrounddelay - var_04 + 0.5); if(!var_05) { var_05 = 1; } if(!isdefined(param_01) && param_01) { self iprintlnbold(&"MP_UNAVAILABLE_FOR_N",var_05); } return 0; } } if(isemped() && !isdefined(level.iszombiegame) || !level.iszombiegame) { if(!isdefined(var_02) && var_02) { if(isdefined(level.emptimeremaining) && level.emptimeremaining > 0) { self iprintlnbold(&"MP_UNAVAILABLE_FOR_N_WHEN_EMP",level.emptimeremaining); } else if(isdefined(self.empendtime) && int(self.empendtime - gettime() / 1000) > 0) { self iprintlnbold(&"MP_UNAVAILABLE_FOR_N",int(self.empendtime - gettime() / 1000)); } } return 0; } if(self isusingturret() && isridekillstreak(var_04) || iscarrykillstreak(var_04)) { if(!isdefined(var_02) && var_02) { self iprintlnbold(&"MP_UNAVAILABLE_USING_TURRET"); } return 0; } if(isjuggernaut()) { return 0; } if(isdefined(self.laststand) && !_hasperk("specialty_finalstand")) { if(!isdefined(var_02) && var_02) { self iprintlnbold(&"MP_UNAVILABLE_IN_LASTSTAND"); } return 0; } if(!common_scripts\utility::isweaponenabled()) { return 0; } return 1; } //Function Number: 277 isridekillstreak(param_00) { switch(param_00) { case "mp_seoul2": case "mp_bigben2": case "assault_ugv": case "warbird": case "recon_ugv": case "mp_recreation": case "orbitalsupport": case "orbital_strike_drone": case "orbital_strike_cluster": case "orbital_strike_laser_chem": case "orbital_strike_chem": case "orbital_strike_laser": case "orbital_strike": case "missile_strike": case "mp_terrace": case "mp_solar": case "mp_levity": case "mp_detroit": case "mp_dam": break; default: break; } } //Function Number: 278 iscarrykillstreak(param_00) { switch(param_00) { case "remote_mg_sentry_turret": case "deployable_exp_ammo": case "deployable_grenades": case "deployable_ammo": case "sentry": break; default: break; } } //Function Number: 279 shouldpreventearlyuse(param_00) { switch(param_00) { case "strafing_run_airstrike": case "warbird": case "orbitalsupport": case "orbital_strike_laser": case "missile_strike": break; } } //Function Number: 280 iskillstreakaffectedbyemp(param_00) { switch(param_00) { case "refill_grenades": case "speed_boost": case "eyes_on": case "high_value_target": case "recon_agent": case "agent": case "placeable_barrier": case "deployable_juicebox": case "deployable_grenades": case "deployable_ammo": break; default: break; } } //Function Number: 281 iskillstreakaffectedbyjammer(param_00) { return iskillstreakaffectedbyemp(param_00) && !isflyingkillstreak(param_00); } //Function Number: 282 isflyingkillstreak(param_00) { switch(param_00) { case "orbital_carepackag": case "airdrop_support": case "airdrop_assault": case "airdrop_sentry_minigun": case "orbitalsupport": case "orbital_strike_drone": case "orbital_strike_cluster": case "orbital_strike_laser_chem": case "orbital_strike_chem": case "orbital_strike_laser": case "orbital_strike": case "missile_strike": break; default: break; } } //Function Number: 283 isallteamstreak(param_00) { var_01 = getkillstreakallteamstreak(param_00); if(!isdefined(var_01)) { return 0; } if(int(var_01) == 1) { return 1; } return 0; } //Function Number: 284 getkillstreakrownum(param_00) { return tablelookuprownum(level.global_tables["killstreakTable"].path,level.global_tables["killstreakTable"].ref_col,param_00); } //Function Number: 285 getkillstreakindex(param_00) { var_01 = tablelookup(level.global_tables["killstreakTable"].path,level.global_tables["killstreakTable"].ref_col,param_00,level.global_tables["killstreakTable"].index_col); if(var_01 == "") { var_02 = -1; } else { var_02 = int(var_02); } return var_02; } //Function Number: 286 getkillstreakreference(param_00) { return tablelookup(level.global_tables["killstreakTable"].path,level.global_tables["killstreakTable"].ref_col,param_00,level.global_tables["killstreakTable"].ref_col); } //Function Number: 287 getkillstreakname(param_00) { return tablelookupistring(level.global_tables["killstreakTable"].path,level.global_tables["killstreakTable"].ref_col,param_00,level.global_tables["killstreakTable"].name_col); } //Function Number: 288 getkillstreakdescription(param_00) { return tablelookupistring(level.global_tables["killstreakTable"].path,level.global_tables["killstreakTable"].ref_col,param_00,level.global_tables["killstreakTable"].desc_col); } //Function Number: 289 getkillstreakkills(param_00) { return tablelookup(level.global_tables["killstreakTable"].path,level.global_tables["killstreakTable"].ref_col,param_00,level.global_tables["killstreakTable"].adrenaline_col); } //Function Number: 290 getkillstreakearnedhint(param_00) { return tablelookupistring(level.global_tables["killstreakTable"].path,level.global_tables["killstreakTable"].ref_col,param_00,level.global_tables["killstreakTable"].earned_hint_col); } //Function Number: 291 getkillstreaksound(param_00) { return tablelookup(level.global_tables["killstreakTable"].path,level.global_tables["killstreakTable"].ref_col,param_00,level.global_tables["killstreakTable"].sound_col); } //Function Number: 292 getkillstreakearneddialog(param_00) { return tablelookup(level.global_tables["killstreakTable"].path,level.global_tables["killstreakTable"].ref_col,param_00,level.global_tables["killstreakTable"].earned_dialog_col); } //Function Number: 293 getkillstreakalliesdialog(param_00) { return tablelookup(level.global_tables["killstreakTable"].path,level.global_tables["killstreakTable"].ref_col,param_00,level.global_tables["killstreakTable"].allies_dialog_col); } //Function Number: 294 getkillstreakenemydialog(param_00) { return tablelookup(level.global_tables["killstreakTable"].path,level.global_tables["killstreakTable"].ref_col,param_00,level.global_tables["killstreakTable"].enemy_dialog_col); } //Function Number: 295 getkillstreakenemyusedialog(param_00) { return int(tablelookup(level.global_tables["killstreakTable"].path,level.global_tables["killstreakTable"].ref_col,param_00,level.global_tables["killstreakTable"].enemy_use_dialog_col)); } //Function Number: 296 getkillstreakweapon(param_00,param_01) { if(isdefined(param_01) && param_01.size > 0) { var_02 = _getmodulekillstreakweapon(param_00,param_01); if(isdefined(var_02)) { return var_02; } } return tablelookup(level.global_tables["killstreakTable"].path,level.global_tables["killstreakTable"].ref_col,param_00,level.global_tables["killstreakTable"].weapon_col); } //Function Number: 297 _getmodulekillstreakweapon(param_00,param_01) { var_02 = param_01; var_04 = getfirstarraykey(var_02); if(isdefined(var_04)) { var_03 = var_02[var_04]; switch(var_03) { case "warbird_ai_follow": case "warbird_ai_attack": break; case "assault_ugv_ai": break; case "turretheadmg_mp": case "turretheadrocket_mp": case "turretheadenergy_mp": break; default: break; } } } //Function Number: 298 getkillstreakscore(param_00) { return tablelookup(level.global_tables["killstreakTable"].path,level.global_tables["killstreakTable"].ref_col,param_00,level.global_tables["killstreakTable"].score_col); } //Function Number: 299 getkillstreakicon(param_00) { return tablelookup(level.global_tables["killstreakTable"].path,level.global_tables["killstreakTable"].ref_col,param_00,level.global_tables["killstreakTable"].icon_col); } //Function Number: 300 getkillstreakoverheadicon(param_00) { return tablelookup(level.global_tables["killstreakTable"].path,level.global_tables["killstreakTable"].ref_col,param_00,level.global_tables["killstreakTable"].overhead_icon_col); } //Function Number: 301 getkillstreakdpadicon(param_00) { return tablelookup(level.global_tables["killstreakTable"].path,level.global_tables["killstreakTable"].ref_col,param_00,level.global_tables["killstreakTable"].dpad_icon_col); } //Function Number: 302 getkillstreakunearnedicon(param_00) { return tablelookup(level.global_tables["killstreakTable"].path,level.global_tables["killstreakTable"].ref_col,param_00,level.global_tables["killstreakTable"].unearned_icon_col); } //Function Number: 303 getkillstreakallteamstreak(param_00) { return tablelookup(level.global_tables["killstreakTable"].path,level.global_tables["killstreakTable"].ref_col,param_00,level.global_tables["killstreakTable"].all_team_streak_col); } //Function Number: 304 currentactivevehiclecount(param_00) { if(!isdefined(param_00)) { param_00 = 0; } var_01 = param_00; if(isdefined(level.helis)) { var_01 = var_01 + level.helis.size; } if(isdefined(level.littlebirds)) { var_01 = var_01 + level.littlebirds.size; } if(isdefined(level.ugvs)) { var_01 = var_01 + level.ugvs.size; } if(isdefined(level.ishorde) && level.ishorde) { if(isdefined(level.flying_attack_drones)) { var_01 = var_01 + level.flying_attack_drones.size; } if(isdefined(level.trackingdrones)) { var_01 = var_01 + level.trackingdrones.size; } } return var_01; } //Function Number: 305 maxvehiclesallowed() { return 8; } //Function Number: 306 incrementfauxvehiclecount() { level.fauxvehiclecount++; } //Function Number: 307 decrementfauxvehiclecount() { level.fauxvehiclecount--; if(level.fauxvehiclecount < 0) { level.fauxvehiclecount = 0; } } //Function Number: 308 lightweightscalar(param_00) { return 1.07; } //Function Number: 309 allowteamchoice() { if(!isshipbuild() && getdvarint("scr_skipclasschoice",0) > 0) { return 0; } var_00 = int(tablelookup("mp/gametypesTable.csv",0,level.gametype,4)); return var_00; } //Function Number: 310 allowclasschoice() { if(!isshipbuild() && getdvarint("scr_skipclasschoice",0) > 0) { return 0; } var_00 = int(tablelookup("mp/gametypesTable.csv",0,level.gametype,5)); return var_00; } //Function Number: 311 showgenericmenuonmatchstart() { if(allowteamchoice() || allowclasschoice()) { return 0; } var_00 = int(tablelookup("mp/gametypesTable.csv",0,level.gametype,7)); return var_00; } //Function Number: 312 isbuffequippedonweapon(param_00,param_01) { return 0; } //Function Number: 313 setcommonrulesfrommatchrulesdata(param_00) { var_01 = getmatchrulesdata("commonOption","timeLimit"); setdynamicdvar("scr_" + level.gametype + "_timeLimit",var_01); registertimelimitdvar(level.gametype,var_01); var_02 = getmatchrulesdata("commonOption","scoreLimit"); setdynamicdvar("scr_" + level.gametype + "_scoreLimit",var_02); registerscorelimitdvar(level.gametype,var_02); setdynamicdvar("scr_game_matchstarttime",getmatchrulesdata("commonOption","preMatchTimer")); setdynamicdvar("scr_game_roundstarttime",getmatchrulesdata("commonOption","preRoundTimer")); setdynamicdvar("scr_game_suicidespawndelay",getmatchrulesdata("commonOption","suicidePenalty")); setdynamicdvar("scr_team_teamkillspawndelay",getmatchrulesdata("commonOption","teamKillPenalty")); setdynamicdvar("scr_team_teamkillkicklimit",getmatchrulesdata("commonOption","teamKillKickLimit")); var_03 = getmatchrulesdata("commonOption","numLives"); setdynamicdvar("scr_" + level.gametype + "_numLives",var_03); registernumlivesdvar(level.gametype,var_03); setdynamicdvar("scr_player_maxhealth",getmatchrulesdata("commonOption","maxHealth")); setdynamicdvar("scr_player_healthregentime",getmatchrulesdata("commonOption","healthRegen")); level.matchrules_damagemultiplier = 0; level.matchrules_vampirism = 0; setdynamicdvar("scr_game_spectatetype",getmatchrulesdata("commonOption","spectateModeAllowed")); setdynamicdvar("scr_game_lockspectatorpov",getmatchrulesdata("commonOption","spectateModePOV")); setdynamicdvar("scr_game_allowkillcam",getmatchrulesdata("commonOption","showKillcam")); setdynamicdvar("scr_game_forceuav",getmatchrulesdata("commonOption","radarAlwaysOn")); setdynamicdvar("scr_" + level.gametype + "_playerrespawndelay",getmatchrulesdata("commonOption","respawnDelay")); setdynamicdvar("scr_" + level.gametype + "_waverespawndelay",getmatchrulesdata("commonOption","waveRespawnDelay")); setdynamicdvar("scr_player_forcerespawn",getmatchrulesdata("commonOption","forceRespawn")); level.matchrules_allowcustomclasses = getmatchrulesdata("commonOption","allowCustomClasses"); level.customclasspickcount = getmatchrulesdata("commonOption","classPickCount"); setdynamicdvar("scr_game_high_jump",getmatchrulesdata("commonOption","highJump")); setdynamicdvar("jump_slowdownEnable",getdvar("scr_game_high_jump") == "0"); setdynamicdvar("scr_game_hardpoints",1); setdynamicdvar("scr_game_perks",1); setdynamicdvar("g_hardcore",getmatchrulesdata("commonOption","hardcoreModeOn")); setdynamicdvar("scr_thirdPerson",getmatchrulesdata("commonOption","forceThirdPersonView")); setdynamicdvar("camera_thirdPerson",getmatchrulesdata("commonOption","forceThirdPersonView")); setdynamicdvar("scr_game_onlyheadshots",getmatchrulesdata("commonOption","headshotsOnly")); if(!isdefined(param_00)) { setdynamicdvar("scr_team_fftype",getmatchrulesdata("commonOption","ffType")); } setdynamicdvar("scr_game_killstreakdelay",getmatchrulesdata("commonOption","streakGracePeriod")); level.dynamiceventstype = getmatchrulesdata("commonOption","dynamicEventsType"); level.mapstreaksdisabled = getmatchrulesdata("commonOption","mapStreaksDisabled"); level.chatterdisabled = getmatchrulesdata("commonOption","chatterDisabled"); level.announcerdisabled = getmatchrulesdata("commonOption","announcerDisabled"); level.matchrules_switchteamdisabled = getmatchrulesdata("commonOption","switchTeamDisabled"); level.grenadegraceperiod = getmatchrulesdata("commonOption","grenadeGracePeriod"); if(getmatchrulesdata("commonOption","hardcoreModeOn")) { setdynamicdvar("scr_team_fftype",1); setdynamicdvar("scr_player_maxhealth",30); setdynamicdvar("scr_player_healthregentime",0); setdynamicdvar("scr_player_respawndelay",10); setdynamicdvar("scr_game_allowkillcam",0); setdynamicdvar("scr_game_forceuav",0); } setdvar("bg_compassShowEnemies",getdvar("scr_game_forceuav")); } //Function Number: 314 reinitializematchrulesonmigration() { for(;;) { level waittill("host_migration_begin"); [[ level.initializematchrules ]](); } } //Function Number: 315 reinitializethermal(param_00) { self endon("disconnect"); if(isdefined(param_00)) { param_00 endon("death"); } for(;;) { level waittill("host_migration_begin"); if(isdefined(self.lastvisionsetthermal)) { self visionsetthermalforplayer(self.lastvisionsetthermal,0); } } } //Function Number: 316 getmatchrulesspecialclass(param_00,param_01) { var_02 = []; var_02["loadoutPrimary"] = getmatchrulesdata("defaultClasses",param_00,param_01,"class","weaponSetups",0,"weapon"); var_02["loadoutPrimaryAttachment"] = getmatchrulesdata("defaultClasses",param_00,param_01,"class","weaponSetups",0,"attachment",0); var_02["loadoutPrimaryAttachment2"] = getmatchrulesdata("defaultClasses",param_00,param_01,"class","weaponSetups",0,"attachment",1); var_02["loadoutPrimaryAttachment3"] = getmatchrulesdata("defaultClasses",param_00,param_01,"class","weaponSetups",0,"attachment",2); var_02["loadoutPrimaryCamo"] = getmatchrulesdata("defaultClasses",param_00,param_01,"class","weaponSetups",0,"camo"); var_02["loadoutPrimaryReticle"] = getmatchrulesdata("defaultClasses",param_00,param_01,"class","weaponSetups",0,"reticle"); var_02["loadoutSecondary"] = getmatchrulesdata("defaultClasses",param_00,param_01,"class","weaponSetups",1,"weapon"); var_02["loadoutSecondaryAttachment"] = getmatchrulesdata("defaultClasses",param_00,param_01,"class","weaponSetups",1,"attachment",0); var_02["loadoutSecondaryAttachment2"] = getmatchrulesdata("defaultClasses",param_00,param_01,"class","weaponSetups",1,"attachment",1); var_02["loadoutSecondaryAttachment3"] = getmatchrulesdata("defaultClasses",param_00,param_01,"class","weaponSetups",1,"attachment",2); var_02["loadoutSecondaryCamo"] = getmatchrulesdata("defaultClasses",param_00,param_01,"class","weaponSetups",1,"camo"); var_02["loadoutSecondaryReticle"] = getmatchrulesdata("defaultClasses",param_00,param_01,"class","weaponSetups",1,"reticle"); var_02["loadoutEquipment"] = getmatchrulesdata("defaultClasses",param_00,param_01,"class","equipmentSetups",0,"equipment"); var_02["loadoutEquipmentExtra"] = getmatchrulesdata("defaultClasses",param_00,param_01,"class","equipmentSetups",0,"extra"); var_02["loadoutOffhand"] = getmatchrulesdata("defaultClasses",param_00,param_01,"class","equipmentSetups",1,"equipment"); var_02["loadoutOffhandExtra"] = getmatchrulesdata("defaultClasses",param_00,param_01,"class","equipmentSetups",1,"extra"); for(var_03 = 0;var_03 < 6;var_03++) { var_02["loadoutPerks"][var_03] = getmatchrulesdata("defaultClasses",param_00,param_01,"class","perkSlots",var_03); } for(var_03 = 0;var_03 < 3;var_03++) { var_02["loadoutWildcards"][var_03] = getmatchrulesdata("defaultClasses",param_00,param_01,"class","wildcardSlots",var_03); } for(var_03 = 0;var_03 < 4;var_03++) { var_02["loadoutKillstreaks"][var_03] = getmatchrulesdata("defaultClasses",param_00,param_01,"class","assaultStreaks",var_03,"streak"); for(var_04 = 0;var_04 < 3;var_04++) { var_02["loadoutKillstreakModules"][var_03][var_04] = getmatchrulesdata("defaultClasses",param_00,param_01,"class","assaultStreaks",var_03,"modules",var_04); } } var_02["loadoutJuggernaut"] = getmatchrulesdata("defaultClasses",param_00,param_01,"juggernaut"); return var_02; } //Function Number: 317 recipeclassapplyjuggernaut(param_00) { level endon("game_ended"); self endon("disconnect"); if(!isdefined(level.ishorde) && !isdefined(level.iszombiegame) && level.iszombiegame) { if(level.ingraceperiod && !self.hasdonecombat) { self waittill("applyLoadout"); } else { self waittill("spawned_player"); } } else { self waittill("applyLoadout"); } if(param_00) { self notify("lost_juggernaut"); wait(0.5); } if(!isdefined(self.isjuiced)) { self.movespeedscaler = 0.7; maps\mp\gametypes\_weapons::updatemovespeedscale(); } self.juggmovespeedscaler = 0.7; self disableweaponpickup(); if(!getdvarint("camera_thirdPerson") && !isdefined(level.ishorde) && !isdefined(level.iszombiegame) && level.iszombiegame) { self.juggernautoverlay = newclienthudelem(self); self.juggernautoverlay.x = 0; self.juggernautoverlay.y = 0; self.juggernautoverlay.alignx = "left"; self.juggernautoverlay.aligny = "top"; self.juggernautoverlay.horzalign = "fullscreen"; self.juggernautoverlay.vertalign = "fullscreen"; self.juggernautoverlay setshader(level.juggsettings["juggernaut"].overlay,640,480); self.juggernautoverlay.sort = -10; self.juggernautoverlay.archived = 1; self.juggernautoverlay.hidein3rdperson = 1; } thread maps\mp\killstreaks\_juggernaut::juggernautsounds(); if(level.gametype != "jugg" || isdefined(level.matchrules_showjuggradaricon) && level.matchrules_showjuggradaricon) { self setperk("specialty_radarjuggernaut",1,0); } if(isdefined(self.isjuggmodejuggernaut) && self.isjuggmodejuggernaut) { var_01 = spawn("script_model",self.origin); var_01.team = self.team; var_01 makeportableradar(self); self.personalradar = var_01; thread maps\mp\killstreaks\_juggernaut::radarmover(var_01); } level notify("juggernaut_equipped",self); thread maps\mp\killstreaks\_juggernaut::juggremover(); } //Function Number: 318 updatesessionstate(param_00) { self.sessionstate = param_00; self setclientomnvar("ui_session_state",param_00); } //Function Number: 319 cac_getcustomclassloc() { if(isdefined(level.forcecustomclassloc)) { return level.forcecustomclassloc; } if(getdvarint("xblive_privatematch") || issystemlink()) { return "privateMatchCustomClasses"; } return "customClasses"; } //Function Number: 320 getclassindex(param_00) { return level.classmap[param_00]; } //Function Number: 321 isteaminlaststand() { var_00 = getlivingplayers(self.team); foreach(var_02 in var_00) { if(var_02 != self && !isdefined(var_02.laststand) || !var_02.laststand) { return 0; } } return 1; } //Function Number: 322 killteaminlaststand(param_00) { var_01 = getlivingplayers(param_00); foreach(var_03 in var_01) { if(isdefined(var_03.laststand) && var_03.laststand) { var_03 thread maps\mp\gametypes\_damage::dieaftertime(randomintrange(1,3)); } } } //Function Number: 323 switch_to_last_weapon(param_00) { if(!isai(self)) { self switchtoweapon(param_00); return; } self switchtoweapon("none"); } //Function Number: 324 isaiteamparticipant(param_00) { if(isagent(param_00) && param_00.agent_teamparticipant == 1) { return 1; } if(isbot(param_00)) { return 1; } return 0; } //Function Number: 325 isteamparticipant(param_00) { if(isaiteamparticipant(param_00)) { return 1; } if(isplayer(param_00)) { return 1; } return 0; } //Function Number: 326 isaigameparticipant(param_00) { if(isagent(param_00) && param_00.agent_gameparticipant == 1) { return 1; } if(isbot(param_00)) { return 1; } return 0; } //Function Number: 327 isgameparticipant(param_00) { if(isaigameparticipant(param_00)) { return 1; } if(isplayer(param_00)) { return 1; } return 0; } //Function Number: 328 getteamindex(param_00) { var_01 = 0; if(level.teambased) { switch(param_00) { case "axis": break; case "allies": break; } } } //Function Number: 329 ismeleemod(param_00) { return param_00 == "MOD_MELEE" || param_00 == "MOD_MELEE_ALT"; } //Function Number: 330 isheadshot(param_00,param_01,param_02,param_03) { if(isdefined(param_03)) { if(isdefined(param_03.owner)) { if(param_03.code_classname == "script_vehicle") { return 0; } if(param_03.code_classname == "misc_turret") { return 0; } if(param_03.code_classname == "script_model") { return 0; } } if(isdefined(param_03.agent_type)) { if(param_03.agent_type == "dog" || param_03.agent_type == "alien") { return 0; } } } return (param_01 == "head" || param_01 == "helmet") && !ismeleemod(param_02) && param_02 != "MOD_IMPACT" && !isenvironmentweapon(param_00); } //Function Number: 331 attackerishittingteam(param_00,param_01) { if(!level.teambased) { return 0; } if(!isdefined(param_01) || !isdefined(param_00)) { return 0; } if(!isdefined(param_00.team) || !isdefined(param_01.team)) { return 0; } if(param_00 == param_01) { return 0; } if(param_00.pers["team"] == param_01.team && isdefined(param_01.teamchangedthisframe)) { return 0; } if(isdefined(param_01.scrambled) && param_01.scrambled) { return 0; } if(param_00.team == param_01.team) { return 1; } return 0; } //Function Number: 332 set_high_priority_target_for_bot(param_00) { if(!isdefined(self.high_priority_for) && common_scripts\utility::array_contains(self.high_priority_for,param_00)) { self.high_priority_for = common_scripts\utility::array_add(self.high_priority_for,param_00); param_00 notify("calculate_new_level_targets"); } } //Function Number: 333 add_to_bot_use_targets(param_00,param_01) { if(isdefined(level.bot_funcs["bots_add_to_level_targets"])) { param_00.use_time = param_01; param_00.bot_interaction_type = "use"; [[ level.bot_funcs["bots_add_to_level_targets"] ]](param_00); } } //Function Number: 334 remove_from_bot_use_targets(param_00) { if(isdefined(level.bot_funcs["bots_remove_from_level_targets"])) { [[ level.bot_funcs["bots_remove_from_level_targets"] ]](param_00); } } //Function Number: 335 add_to_bot_damage_targets(param_00) { if(isdefined(level.bot_funcs["bots_add_to_level_targets"])) { param_00.bot_interaction_type = "damage"; [[ level.bot_funcs["bots_add_to_level_targets"] ]](param_00); } } //Function Number: 336 remove_from_bot_damage_targets(param_00) { if(isdefined(level.bot_funcs["bots_remove_from_level_targets"])) { [[ level.bot_funcs["bots_remove_from_level_targets"] ]](param_00); } } //Function Number: 337 notify_enemy_bots_bomb_used(param_00) { if(isdefined(level.bot_funcs["notify_enemy_bots_bomb_used"])) { self [[ level.bot_funcs["notify_enemy_bots_bomb_used"] ]](param_00); } } //Function Number: 338 get_rank_xp_and_prestige_for_bot() { if(isdefined(level.bot_funcs["bot_get_rank_xp_and_prestige"])) { return self [[ level.bot_funcs["bot_get_rank_xp_and_prestige"] ]](); } } //Function Number: 339 set_rank_xp_and_prestige_for_bot() { var_00 = get_rank_xp_and_prestige_for_bot(); if(isdefined(var_00)) { self.pers["rankxp"] = var_00.rankxp; self.pers["prestige"] = var_00.prestige; self.pers["prestige_fake"] = var_00.prestige; } } //Function Number: 340 set_console_status() { if(!isdefined(level.console)) { level.console = getdvar("consoleGame") == "true"; } else { } if(!isdefined(level.xenon)) { level.xenon = getdvar("xenonGame") == "true"; } else { } if(!isdefined(level.ps3)) { level.ps3 = getdvar("ps3Game") == "true"; } else { } if(!isdefined(level.xb3)) { level.xb3 = getdvar("xb3Game") == "true"; } else { } if(!isdefined(level.ps4)) { level.ps4 = getdvar("ps4Game") == "true"; } } //Function Number: 341 is_gen4() { if(level.xb3 || level.ps4 || !level.console) { return 1; } return 0; } //Function Number: 342 setdvar_cg_ng(param_00,param_01,param_02) { if(!isdefined(level.console) || !isdefined(level.xb3) || !isdefined(level.ps4)) { set_console_status(); } if(is_gen4()) { setdvar(param_00,param_02); return; } setdvar(param_00,param_01); } //Function Number: 343 isvalidteamtarget(param_00,param_01) { return isdefined(param_01.team) && param_01.team != param_00.team; } //Function Number: 344 isvalidffatarget(param_00,param_01) { return isdefined(param_01.owner) && param_01.owner != param_00; } //Function Number: 345 gethelipilotmeshoffset() { return (0,0,5000); } //Function Number: 346 gethelipilottraceoffset() { return (0,0,2500); } //Function Number: 347 revertvisionsetforplayer(param_00) { if(!isdefined(param_00)) { param_00 = 1; } if(isdefined(level.nukedetonated) && isdefined(level.nukevisionset)) { self setclienttriggervisionset(level.nukevisionset,param_00); self visionsetnakedforplayer(level.nukevisionset,param_00); set_visionset_for_watching_players(level.nukevisionset,param_00); return; } if(isdefined(self.usingremote) && isdefined(self.ridevisionset)) { self setclienttriggervisionset(self.ridevisionset,param_00); self visionsetnakedforplayer(self.ridevisionset,param_00); set_visionset_for_watching_players(self.ridevisionset,param_00); return; } self setclienttriggervisionset("",param_00); self visionsetnakedforplayer("",param_00); set_visionset_for_watching_players("",param_00); } //Function Number: 348 set_light_set_for_player(param_00) { if(!isplayer(self)) { return; } if(isdefined(level.lightset_current)) { level.lightset_previous = level.lightset_current; } level.lightset_current = param_00; self lightsetforplayer(param_00); } //Function Number: 349 clear_light_set_for_player() { if(!isplayer(self)) { return; } var_00 = getmapcustom("map"); if(isdefined(level.lightset_previous)) { var_00 = level.lightset_previous; level.lightset_previous = undefined; } level.lightset_current = var_00; self lightsetforplayer(var_00); } //Function Number: 350 light_set_override_for_player(param_00,param_01,param_02,param_03) { if(!isplayer(self)) { return; } self lightsetoverrideenableforplayer(param_00,param_01); waitfortimeornotifies(param_02,["death","disconnect"]); if(isdefined(self)) { self lightsetoverrideenableforplayer(param_03); } } //Function Number: 351 getuniqueid() { if(isdefined(self.pers["guid"])) { return self.pers["guid"]; } var_00 = self getguid(); if(var_00 == "0000000000000000") { if(isdefined(level.guidgen)) { level.guidgen++; } else { level.guidgen = 1; } var_00 = "script" + level.guidgen; } self.pers["guid"] = var_00; return self.pers["guid"]; } //Function Number: 352 get_players_watching(param_00,param_01) { if(!isdefined(param_00)) { param_00 = 0; } if(!isdefined(param_01)) { param_01 = 0; } var_02 = self getentitynumber(); var_03 = []; foreach(var_05 in level.players) { if(!isdefined(var_05) || var_05 == self) { continue; } var_06 = 0; if(!param_01) { if((isdefined(var_05.team) && var_05.team == "spectator") || var_05.sessionstate == "spectator") { var_07 = var_05 getspectatingplayer(); if(isdefined(var_07) && var_07 == self) { var_06 = 1; } } if(var_05.forcespectatorclient == var_02) { var_06 = 1; } } if(!param_00) { if(var_05.killcamentity == var_02) { var_06 = 1; } } if(var_06) { var_03[var_03.size] = var_05; } } return var_03; } //Function Number: 353 set_visionset_for_watching_players(param_00,param_01,param_02,param_03,param_04,param_05,param_06) { var_07 = get_players_watching(param_04,param_05); foreach(var_09 in var_07) { var_09 notify("changing_watching_visionset"); if(isdefined(param_03) && param_03) { var_09 visionsetmissilecamforplayer(param_00,param_01); } else if(isdefined(param_06) && param_06) { var_09 visionsetpostapplyforplayer(param_00,param_01); } else { var_09 visionsetnakedforplayer(param_00,param_01); } if(param_00 != "" && isdefined(param_02)) { var_09 thread reset_visionset_on_team_change(self,param_01 + param_02,param_06); var_09 thread reset_visionset_on_disconnect(self,param_06); if(var_09 isinkillcam()) { var_09 thread reset_visionset_on_spawn(); } } } } //Function Number: 354 reset_visionset_on_spawn() { self endon("disconnect"); self waittill("spawned"); self visionsetnakedforplayer("",0); self visionsetpostapplyforplayer("",0); } //Function Number: 355 reset_visionset_on_team_change(param_00,param_01,param_02) { self endon("changing_watching_visionset"); param_00 endon("disconnect"); var_03 = gettime(); var_04 = self.team; while(gettime() - var_03 < param_01 * 1000) { if(self.team != var_04 || !common_scripts\utility::array_contains(param_00 get_players_watching(),self)) { if(isdefined(param_02) && param_02) { self visionsetpostapplyforplayer("",0); } else { self visionsetnakedforplayer("",0); } self notify("changing_visionset"); break; } wait(0.05); } } //Function Number: 356 reset_visionset_on_disconnect(param_00,param_01) { self endon("changing_watching_visionset"); param_00 waittill("disconnect"); if(isdefined(param_01) && param_01) { self visionsetpostapplyforplayer("",0); return; } self visionsetnakedforplayer("",0); } //Function Number: 357 _validateattacker(param_00) { if(isagent(param_00) && !isdefined(param_00.isactive) || !param_00.isactive) { return undefined; } return param_00; } //Function Number: 358 _setnameplatematerial(param_00,param_01) { if(!isdefined(self.nameplatematerial)) { self.nameplatematerial = []; self.prevnameplatematerial = []; } else { self.prevnameplatematerial[0] = self.nameplatematerial[0]; self.prevnameplatematerial[1] = self.nameplatematerial[1]; } self.nameplatematerial[0] = param_00; self.nameplatematerial[1] = param_01; self setnameplatematerial(param_00,param_01); } //Function Number: 359 _restorepreviousnameplatematerial() { if(isdefined(self.prevnameplatematerial)) { self setnameplatematerial(self.prevnameplatematerial[0],self.prevnameplatematerial[1]); } else { self setnameplatematerial("",""); } self.nameplatematerial = undefined; self.prevnameplatematerial = undefined; } //Function Number: 360 findandplayanims(param_00,param_01) { var_02 = getentarray(param_00,"targetname"); if(var_02.size > 0) { foreach(var_04 in var_02) { var_05 = 0; if(isdefined(var_04.script_animation)) { if(isdefined(var_04.script_parameters) && var_04.script_parameters == "delta_anim") { var_05 = 1; } var_04 thread playanim(param_01,var_05); } } } } //Function Number: 361 playanim(param_00,param_01) { if(param_00 == 1) { wait(randomfloatrange(0,1)); } if(param_01 == 0) { self scriptmodelplayanim(self.script_animation); return; } self scriptmodelplayanimdeltamotion(self.script_animation); } //Function Number: 362 playerallowhighjump(param_00,param_01) { _playerallow("highjump",param_00,param_01,::allowhighjump); } //Function Number: 363 playerallowhighjumpdrop(param_00,param_01) { _playerallow("highjumpdrop",param_00,param_01,::allowhighjumpdrop); } //Function Number: 364 playerallowboostjump(param_00,param_01) { _playerallow("boostjump",param_00,param_01,::allowboostjump); } //Function Number: 365 playerallowpowerslide(param_00,param_01) { _playerallow("powerslide",param_00,param_01,::allowpowerslide); } //Function Number: 366 playerallowdodge(param_00,param_01) { _playerallow("dodge",param_00,param_01,::allowdodge); } //Function Number: 367 _playerallow(param_00,param_01,param_02,param_03,param_04) { if(!isdefined(self.playerdisableabilitytypes)) { self.playerdisableabilitytypes = []; } if(!isdefined(self.playerdisableabilitytypes[param_00])) { self.playerdisableabilitytypes[param_00] = []; } if(!isdefined(param_02)) { param_02 = "default"; } if(!isdefined(param_04)) { param_04 = 1; } if(param_01) { self.playerdisableabilitytypes[param_00] = common_scripts\utility::array_remove(self.playerdisableabilitytypes[param_00],param_02); if(!self.playerdisableabilitytypes[param_00].size) { if(param_04) { self [[ param_03 ]](1); return; } self [[ param_03 ]](1); return; } return; } if(!isdefined(common_scripts\utility::array_find(self.playerdisableabilitytypes[param_00],param_02))) { self.playerdisableabilitytypes[param_00] = common_scripts\utility::array_add(self.playerdisableabilitytypes[param_00],param_02); } if(param_04) { self [[ param_03 ]](0); return; } self [[ param_03 ]](0); } //Function Number: 368 makegloballyusablebytype(param_00,param_01,param_02,param_03) { var_04 = 500; switch(param_00) { case "killstreakRemote": break; case "coopStreakPrompt": break; default: break; } } //Function Number: 369 _insertintoglobalusablelist(param_00,param_01,param_02,param_03) { if(!isdefined(level.globalusableents)) { level.globalusableents = []; } var_04 = -1; for(var_05 = 0;var_05 < level.globalusableents.size;var_05++) { var_06 = level.globalusableents[var_05]; if(var_06.priority > param_00) { if(var_04 == -1) { var_04 = var_05; } break; } if(var_06.priority == param_00) { var_06.priority = var_06.priority + 0.01; if(var_06.enabled) { var_06.ent makeglobalusable(var_06.priority,var_06.player,var_06.team); } if(var_04 == -1) { var_04 = var_05; } } } if(var_04 == -1) { var_04 = 0; } var_07 = spawnstruct(); var_07.ent = self; var_07.priority = param_00; var_07.type = param_01; var_07.player = param_02; var_07.team = param_03; var_07.enabled = 1; level.globalusableents = common_scripts\utility::array_insert(level.globalusableents,var_07,var_04); } //Function Number: 370 makegloballyunusablebytype() { var_00 = undefined; foreach(var_02 in level.globalusableents) { if(var_02.ent == self) { var_00 = var_02; break; } } if(isdefined(var_00)) { var_04 = var_00.priority; level.globalusableents = common_scripts\utility::array_remove(level.globalusableents,var_00); self makeglobalunusable(); foreach(var_02 in level.globalusableents) { if(var_04 > var_02.priority && int(var_04) == int(var_02.priority)) { var_02.priority = var_02.priority - 0.01; if(var_02.enabled) { var_02.ent makeglobalusable(var_02.priority,var_02.player,var_02.team); } } } } } //Function Number: 371 disablegloballyusablebytype() { foreach(var_01 in level.globalusableents) { if(var_01.ent == self) { if(var_01.enabled) { var_01.ent makeglobalunusable(); var_01.enabled = 0; } break; } } } //Function Number: 372 enablegloballyusablebytype() { foreach(var_01 in level.globalusableents) { if(var_01.ent == self) { if(!var_01.enabled) { var_01.ent makeglobalusable(var_01.priority,var_01.player,var_01.team); var_01.enabled = 1; } break; } } } //Function Number: 373 setdof(param_00) { self setdepthoffield(param_00["nearStart"],param_00["nearEnd"],param_00["farStart"],param_00["farEnd"],param_00["nearBlur"],param_00["farBlur"]); } //Function Number: 374 is_exo_ability_weapon(param_00) { switch(param_00) { case "iw5_dlcgun12loot7_mp": case "exomute_equipment_mp": case "exocloakhorde_equipment_mp": case "exohoverhorde_equipment_mp": case "exoshieldhorde_equipment_mp": case "exoshield_equipment_mp": case "exorepulsor_equipment_mp": case "exoping_equipment_mp": case "exohover_equipment_mp": case "exocloak_equipment_mp": case "extra_health_mp": case "adrenaline_mp": break; default: break; } } //Function Number: 375 isenemy(param_00) { if(level.teambased) { return isplayeronenemyteam(param_00); } return isplayerffaenemy(param_00); } //Function Number: 376 isplayeronenemyteam(param_00) { return param_00.team != self.team; } //Function Number: 377 isplayerffaenemy(param_00) { if(isdefined(param_00.owner)) { return param_00.owner != self; } return param_00 != self; } //Function Number: 378 ismlgsystemlink() { if(issystemlink() && getdvarint("xblive_competitionmatch")) { return 1; } return 0; } //Function Number: 379 ismlgsplitscreen() { if(issplitscreen() && getdvarint("xblive_competitionmatch")) { return 1; } return 0; } //Function Number: 380 ismlgprivatematch() { if(privatematch() && getdvarint("xblive_competitionmatch")) { return 1; } return 0; } //Function Number: 381 ismlgmatch() { if(ismlgsystemlink() || ismlgsplitscreen() || ismlgprivatematch()) { return 1; } return 0; } //Function Number: 382 spawnfxshowtoteam(param_00,param_01,param_02,param_03) { var_04 = spawnfx(param_00,param_02,param_03); var_04 fxshowtoteam(param_01); return var_04; } //Function Number: 383 fxshowtoteam(param_00) { thread showfxtoteam(param_00); setfxkillondelete(self,1); triggerfx(self); } //Function Number: 384 showfxtoteam(param_00) { self endon("death"); level endon("game_ended"); for(;;) { self hide(); foreach(var_02 in level.players) { var_03 = var_02.team; if(var_03 != "axis" || var_02 ismlgspectator()) { var_03 = "allies"; } if(param_00 == var_03 || param_00 == "neutral") { self showtoplayer(var_02); } } level waittill("joined_team"); } } //Function Number: 385 get_spawn_weapon_name(param_00) { var_01 = "iw5_combatknife_mp"; if(isdefined(param_00.primaryname) && param_00.primaryname != "none" && param_00.primaryname != "iw5_combatknife_mp") { var_01 = param_00.primaryname; } else if(isdefined(param_00.secondaryname) && param_00.secondaryname != "none") { var_01 = param_00.secondaryname; } return var_01; } //Function Number: 386 playersaveangles() { self.restoreangles = self getplayerangles(); } //Function Number: 387 playerrestoreangles() { if(isdefined(self.restoreangles)) { if(self.team != "spectator") { self setplayerangles(self.restoreangles); } self.restoreangles = undefined; } } //Function Number: 388 setmlgicons(param_00,param_01) { param_00 maps\mp\gametypes\_gameobjects::set2dicon("mlg",param_01); param_00 maps\mp\gametypes\_gameobjects::set3dicon("mlg",param_01); } //Function Number: 389 spawnpatchclip(param_00,param_01,param_02) { var_03 = getent(param_00,"targetname"); if(!isdefined(var_03)) { return undefined; } var_04 = spawn("script_model",param_01); var_04 clonebrushmodeltoscriptmodel(var_03); var_04.angles = param_02; return var_04; } //Function Number: 390 iscoop() { if(isdefined(level.ishorde) && level.ishorde) { return 1; } if(isdefined(level.iszombiegame) && level.iszombiegame) { return 1; } return 0; } //Function Number: 391 setlightingstate_patched(param_00) { var_01 = getentarray(); setomnvar("lighting_state",param_00); if(!getdvarint("r_reflectionProbeGenerate")) { foreach(var_03 in var_01) { if(isdefined(var_03.lightingstate) && var_03.classname == "script_brushmodel" || var_03.classname == "script_model") { if(var_03.lightingstate == 0) { continue; } if(var_03.lightingstate == param_00) { var_03 common_scripts\utility::show_solid(); var_03 allowriotshieldplant(); continue; } var_03 notify("hidingLightingState"); var_03 common_scripts\utility::hide_notsolid(); } } } } //Function Number: 392 gettimeutc_for_stat_recording() { return gettimeutc(); }