/******************************************************************* * Decompiled By: Bog * Decompiled File: scripts\mp\_gamelogic.gsc * Game: Call of Duty: Infinite Warfare * Platform: PC * Function Count: 115 * Decompile Time: 4528 ms * Timestamp: 10/27/2023 12:20:22 AM *******************************************************************/ //Function Number: 1 func_C530(param_00) { if(isdefined(level.var_72F2)) { return; } level endon("abort_forfeit"); level thread func_72F3(); level.var_72F2 = 1; if(!level.teambased && level.players.size > 1) { wait(10); } else { wait(1.05); } level.var_72F1 = 0; var_01 = 20; func_B3EA(var_01); var_02 = &""; if(!isdefined(param_00)) { var_02 = game["end_reason"]["players_forfeited"]; var_03 = level.players[0]; } else if(var_01 == "axis") { var_03 = game["end_reason"]["allies_forfeited"]; var_03 = "axis"; } else if(var_01 == "allies") { var_03 = game["end_reason"]["axis_forfeited"]; var_03 = "allies"; } else if(level.multiteambased && issubstr(var_01,"team_")) { var_03 = var_01; } else { var_03 = "tie"; } level.var_72B3 = 1; if(isplayer(var_03)) { function_0132("forfeit, win: " + var_03 getxuid() + "(" + var_03.name + ")"); } else { function_0132("forfeit, win: " + var_03 + ", allies: " + game["teamScores"]["allies"] + ", opfor: " + game["teamScores"]["axis"]); } thread endgame(var_03,var_02); } //Function Number: 2 func_72F3() { level endon("game_ended"); level waittill("abort_forfeit"); level.var_72F1 = 1; setomnvar("ui_match_start_countdown",0); } //Function Number: 3 func_B3EB(param_00) { waittillframeend; level endon("match_forfeit_timer_beginning"); while(param_00 > 0 && !level.var_7669 && !level.var_72F1 && !level.ingraceperiod) { setomnvar("ui_match_start_countdown",param_00); param_00--; scripts\mp\_hostmigration::func_13708(1); } setomnvar("ui_match_start_countdown",0); } //Function Number: 4 func_B3EA(param_00) { level notify("match_forfeit_timer_beginning"); var_01 = int(param_00); setomnvar("ui_match_start_text","opponent_forfeiting_in"); func_B3EB(var_01); } //Function Number: 5 func_5007(param_00) { if(param_00 == "allies") { iprintln(&"MP_FACTION_UNSA_ELIMINATED"); function_0132("team eliminated, win: opfor, allies: " + game["teamScores"]["allies"] + ", opfor: " + game["teamScores"]["axis"]); thread endgame("axis",game["end_reason"]["allies_eliminated"]); return; } if(param_00 == "axis") { iprintln(&"MP_FACTION_SDF_ELIMINATED"); function_0132("team eliminated, win: allies, allies: " + game["teamScores"]["allies"] + ", opfor: " + game["teamScores"]["axis"]); thread endgame("allies",game["end_reason"]["axis_eliminated"]); return; } function_0132("tie, allies: " + game["teamScores"]["allies"] + ", opfor: " + game["teamScores"]["axis"]); if(level.teambased) { thread endgame("tie",game["end_reason"]["tie"]); return; } thread endgame(undefined,game["end_reason"]["tie"]); } //Function Number: 6 func_5009(param_00) { if(level.teambased) { var_01 = scripts\mp\_utility::func_7F5E(param_00); if(isdefined(var_01)) { var_01 thread func_8378(); } } else { var_01 = scripts\mp\_utility::func_7F5E(); function_0132("last one alive, win: " + var_01.name); thread endgame(var_01,game["end_reason"]["enemies_eliminated"]); } return 1; } //Function Number: 7 func_E75E(param_00,param_01) { func_3E53(param_00); if(scripts\mp\_utility::func_9FB3(param_01)) { level notify("roundEnd_CheckScoreLimit"); level endon("roundEnd_CheckScoreLimit"); scripts\common\utility::func_136F7(); } var_02 = scripts\mp\_utility::func_8240(); if(scripts\mp\_utility::func_9900()) { if(scripts\mp\_utility::func_9FAA()) { if(scripts\mp\_utility::func_F88C(param_00)) { foreach(var_04 in level.players) { var_04 setclientomnvar("ui_friendly_time_to_beat",scripts\common\utility::func_116D7(var_04.team == game["timeToBeatTeam"],game["timeToBeat"],game["timeToBeatOld"])); var_04 setclientomnvar("ui_enemy_time_to_beat",scripts\common\utility::func_116D7(var_04.team != game["timeToBeatTeam"],game["timeToBeat"],game["timeToBeatOld"])); } thread endgame(param_00,game["end_reason"]["score_limit_reached"]); return; } return; } thread endgame(var_03,game["end_reason"]["score_limit_reached"]); return; } var_06 = game["teamScores"]["allies"]; var_07 = game["teamScores"]["axis"]; var_08 = var_06 >= level.var_E763; var_09 = var_07 >= level.var_E763; if(level.var_E763 > 0) { if(var_08 && var_09) { if(var_06 == var_07) { thread endgame("tie",game["end_reason"]["score_limit_reached"]); return; } if(var_06 > var_07) { thread endgame("allies",game["end_reason"]["score_limit_reached"]); return; } thread endgame("axis",game["end_reason"]["score_limit_reached"]); return; } if(var_08) { thread endgame("allies",game["end_reason"]["score_limit_reached"]); return; } if(var_09) { thread endgame("axis",game["end_reason"]["score_limit_reached"]); return; } return; } } //Function Number: 8 func_500A() { var_00 = "tie"; if(level.teambased) { if(scripts\mp\_utility::func_9900()) { if(scripts\mp\_utility::func_9FAB()) { var_00 = game["timeToBeatTeam"]; } } else if(game["teamScores"]["axis"] > game["teamScores"]["allies"]) { var_00 = "axis"; } else if(game["teamScores"]["allies"] > game["teamScores"]["axis"]) { var_00 = "allies"; } function_0132("time limit, win: " + var_00 + ", allies: " + game["teamScores"]["allies"] + ", opfor: " + game["teamScores"]["axis"]); } else { var_00 = scripts\mp\_gamescore::func_7F00(); if(scripts\mp\_gamescore::ishighestscoringplayertied()) { var_00 = "tie"; } if(isdefined(var_00) && isplayer(var_00)) { function_0132("time limit, win: " + var_00.name); } else { function_0132("time limit, tie"); } } thread endgame(var_00,game["end_reason"]["time_limit_reached"]); } //Function Number: 9 func_5008() { var_00 = undefined; thread endgame("halftime",game["end_reason"]["time_limit_reached"]); } //Function Number: 10 func_72BE(param_00) { if(level.var_90A1 || level.var_72B3) { return; } scripts\mp\_gamescore::func_12EEC(); if(level.teambased) { scripts\mp\_gamescore::func_12F4A("axis"); scripts\mp\_gamescore::func_12F4A("allies"); } var_01 = undefined; if(level.teambased) { if(game["teamScores"]["allies"] == game["teamScores"]["axis"]) { var_01 = "tie"; } else if(game["teamScores"]["axis"] > game["teamScores"]["allies"]) { var_01 = "axis"; } else { var_01 = "allies"; } function_0132("host ended game, win: " + var_01 + ", allies: " + game["teamScores"]["allies"] + ", opfor: " + game["teamScores"]["axis"]); } else { var_01 = scripts\mp\_gamescore::func_7F00(); if(isdefined(var_01)) { function_0132("host ended game, win: " + var_01.name); } else { function_0132("host ended game, tie"); } } level.var_72B3 = 1; level.var_90A1 = 1; if(level.splitscreen) { var_02 = game["end_reason"]["ended_game"]; } else { var_02 = game["end_reason"]["host_ended_game"]; } if(isdefined(param_00) && param_00 == 2) { var_02 = game["end_reason"]["allies_forfeited"]; } level notify("force_end"); thread endgame(var_01,var_02); } //Function Number: 11 func_C587(param_00) { var_01 = game["end_reason"]["score_limit_reached"]; var_02 = "tie"; if(level.multiteambased) { var_02 = scripts\mp\_gamescore::func_8242(); if(var_02 == "none") { var_02 = "tie"; } } else if(level.teambased) { if(game["teamScores"]["axis"] != game["teamScores"]["allies"]) { if(game["teamScores"]["axis"] > game["teamScores"]["allies"]) { var_02 = "axis"; } else { var_02 = "allies"; } } function_0132("scorelimit, win: " + var_02 + ", allies: " + game["teamScores"]["allies"] + ", opfor: " + game["teamScores"]["axis"]); } else { var_02 = scripts\mp\_gamescore::func_7F00(); if(scripts\mp\_utility::func_9FB3(param_00) && scripts\mp\_gamescore::ishighestscoringplayertied()) { var_02 = "tie"; } if(isdefined(var_02) && isplayer(var_02)) { function_0132("scorelimit, win: " + var_02.name); } else { function_0132("scorelimit, tie"); } } thread endgame(var_02,var_01); return 1; } //Function Number: 12 func_12E9D() { if(scripts\mp\_utility::func_B3EC() && !level.ingraceperiod && !isdefined(level.var_55EE) || !level.var_55EE) { if(level.multiteambased) { var_00 = 0; var_01 = 0; for(var_02 = 0;var_02 < level.teamnamelist.size;var_02++) { var_00 = var_00 + level.var_115C6[level.teamnamelist[var_02]]; if(level.var_115C6[level.teamnamelist[var_02]]) { var_01 = var_01 + 1; } } for(var_02 = 0;var_02 < level.teamnamelist.size;var_02++) { if(var_00 == level.var_115C6[level.teamnamelist[var_02]] && game["state"] == "playing") { thread func_C530(level.teamnamelist[var_02]); return; } } if(var_01 > 1) { level.var_72F2 = undefined; level notify("abort_forfeit"); } } else if(level.teambased) { if(level.var_115C6["allies"] < 1 && level.var_115C6["axis"] > 0 && game["state"] == "playing") { thread func_C530("axis"); return; } if(level.var_115C6["axis"] < 1 && level.var_115C6["allies"] > 0 && game["state"] == "playing") { thread func_C530("allies"); return; } if(level.var_115C6["axis"] > 0 && level.var_115C6["allies"] > 0) { level.var_72F2 = undefined; level notify("abort_forfeit"); } } else { if(level.var_115C6["allies"] + level.var_115C6["axis"] == 1 && level.var_B4BC > 1) { thread func_C530(); return; } if(level.var_115C6["axis"] + level.var_115C6["allies"] > 1) { level.var_72F2 = undefined; level notify("abort_forfeit"); } } } if(!scripts\mp\_utility::func_7ECE() && !isdefined(level.var_5611) || !level.var_5611) { return; } if(!scripts\mp\_utility::func_7672()) { return; } if(level.ingraceperiod) { return; } if(level.multiteambased) { return; } if(level.teambased) { var_03["allies"] = 0; var_03["axis"] = 0; foreach(var_05 in level.players) { if(var_05.team == "spectator" || !isdefined(var_05.var_8C2A) || isdefined(var_05.var_8C2A) && !var_05.var_8C2A) { continue; } var_03[var_05.team] = var_03[var_05.team] + var_05.pers["lives"]; } if(scripts\mp\_utility::func_9FB3(level.var_5611)) { var_03["allies"] = 0; var_03["axis"] = 0; } if(!level.var_1BE6["allies"] && !level.var_1BE6["axis"] && !var_03["allies"] && !var_03["axis"]) { return [[ level.var_C4E8 ]]("all"); } if(!level.var_1BE6["allies"] && !var_03["allies"]) { return [[ level.var_C4E8 ]]("allies"); } if(!level.var_1BE6["axis"] && !var_03["axis"]) { return [[ level.var_C4E8 ]]("axis"); } var_07 = level.var_1BE6["allies"] == 1; var_08 = level.var_1BE6["axis"] == 1; if(var_07 || var_08) { var_09 = 0; var_0A = undefined; if(var_07) { foreach(var_05 in level.players) { if(var_05.team == "allies") { if(!isalive(var_05)) { var_09 = var_09 + var_05.pers["lives"]; } } } if(var_09 == 0) { if(!isdefined(level.var_C50B["allies"]) || gettime() > level.var_C50B["allies"] + 5000) { level.var_C50B["allies"] = gettime(); var_0D = [[ level.var_C564 ]]("allies"); if(isdefined(var_0D)) { if(!isdefined(var_0A)) { var_0A = var_0D; } var_0A = var_0A || var_0D; } } } } if(var_08) { foreach(var_05 in level.players) { if(var_05.team == "axis") { if(!isalive(var_05)) { var_09 = var_09 + var_05.pers["lives"]; } } } if(var_09 == 0) { if(!isdefined(level.var_C50B["axis"]) || gettime() > level.var_C50B["axis"] + 5000) { level.var_C50B["axis"] = gettime(); var_10 = [[ level.var_C564 ]]("axis"); if(isdefined(var_10)) { if(!isdefined(var_0A)) { var_0A = var_10; } var_0A = var_0A || var_10; } } } } return var_0A; } return; } var_03 = 0; foreach(var_06 in level.players) { if(var_06.team == "spectator") { continue; } var_04 = var_04 + var_06.pers["lives"]; } if(!level.var_1BE6["allies"] && !level.var_1BE6["axis"] && !var_04) { return [[ level.var_C4E8 ]]("all"); } var_13 = scripts\mp\_utility::func_808A(); if(var_13.size == 1) { return [[ level.var_C564 ]]("all"); } } //Function Number: 13 func_13830() { if(!isdefined(level.var_6C6F)) { return 0; } level waittill("final_killcam_done"); return 1; } //Function Number: 14 func_118F8(param_00) { function_01AF(gettime() + int(param_00 * 1000)); var_01 = spawn("script_origin",(0,0,0)); var_01 hide(); if(param_00 >= 10) { wait(param_00 - 10); } for(;;) { var_01 playsound("ui_mp_timer_countdown"); wait(1); } } //Function Number: 15 func_136D7(param_00) { var_01 = gettime(); var_02 = var_01 + param_00 * 1000 - 200; if(param_00 > 5) { var_03 = gettime() + getdvarint("min_wait_for_players") * 1000; } else { var_03 = 0; } var_04 = level.var_4533 / 3; for(;;) { if(isdefined(game["roundsPlayed"]) && game["roundsPlayed"]) { break; } var_05 = level.var_B4BC; var_06 = gettime(); if((var_05 >= var_04 && var_06 > var_03) || var_06 > var_02) { break; } wait(0.05); } } //Function Number: 16 func_D84D() { level endon("game_ended"); level.var_4533 = getdvarint("party_partyPlayerCountNum"); if(level.var_D84D > 0) { func_B415(); } else { func_B414(); } scripts\mp\_hostmigration::func_13834(); foreach(var_01 in level.players) { scripts\mp\_playerlogic::func_41D1(var_01); var_01 scripts\mp\_utility::func_7385(0,1); if(!isdefined(var_01.pers["team"])) { continue; } var_02 = var_01.pers["team"]; var_03 = scripts\mp\_utility::func_801A(var_02); if(!isdefined(var_03) || !var_01.var_8C2A) { continue; } var_04 = 0; if(game["defenders"] == var_02) { var_04 = 1; } var_01 setclientomnvar("ui_objective_text",var_04); } if(game["state"] != "playing") { } } //Function Number: 17 func_8487() { level endon("game_ended"); if(!isdefined(game["clientActive"])) { while(function_0071() == 0) { wait(0.05); } game["clientActive"] = 1; } while(level.ingraceperiod > 0) { wait(1); level.ingraceperiod--; } level notify("grace_period_ending"); wait(0.05); scripts\mp\_utility::func_766F("graceperiod_done"); level.ingraceperiod = 0; if(game["state"] != "playing") { return; } if(scripts\mp\_utility::func_7ECE()) { var_00 = level.players; for(var_01 = 0;var_01 < var_00.size;var_01++) { var_02 = var_00[var_01]; if(!var_02.var_8C2A && var_02.sessionteam != "spectator" && !isalive(var_02)) { var_02.var_2C7 = "hud_status_dead"; } } } level thread func_12E9D(); } //Function Number: 18 func_F73B(param_00,param_01) { param_00.var_8BE9 = param_01; var_02 = !scripts\mp\_utility::func_9FB3(param_00.pers["hasDoneAnyCombat"]); if(var_02 && param_01) { param_00.pers["hasDoneAnyCombat"] = 1; if(isdefined(param_00.pers["hasMatchLoss"]) && param_00.pers["hasMatchLoss"]) { return; } func_12EC3(param_00); } } //Function Number: 19 func_12F66(param_00) { if(!param_00 scripts\mp\_utility::func_DCD5()) { return; } if(!scripts\mp\_utility::func_9FB3(param_00.pers["hasDoneAnyCombat"])) { return; } if(scripts\mp\_utility::func_9FB3(param_00.pers["recordedLoss"])) { param_00 scripts\mp\_persistence::func_10E12("losses",-1); } param_00 scripts\mp\_persistence::func_10E12("wins",1); param_00 scripts\mp\_utility::func_12EE8("winLossRatio","wins","losses"); param_00 scripts\mp\_persistence::func_10E12("currentWinStreak",1); var_01 = param_00 scripts\mp\_persistence::func_10E33("currentWinStreak"); if(var_01 > param_00 scripts\mp\_persistence::func_10E33("winStreak")) { param_00 scripts\mp\_persistence::func_10E54("winStreak",var_01); } param_00 scripts\mp\_persistence::func_10E56("round","win",1); param_00 scripts\mp\_persistence::func_10E56("round","loss",0); } //Function Number: 20 func_12EC3(param_00) { if(!param_00 scripts\mp\_utility::func_DCD5()) { return; } if(!scripts\mp\_utility::func_9FB3(param_00.pers["hasDoneAnyCombat"])) { return; } param_00.pers["hasMatchLoss"] = 1; if(!scripts\mp\_utility::func_9FB3(self.var_A49D)) { param_00 scripts\mp\_persistence::func_10E12("losses",1); param_00 scripts\mp\_utility::func_12EE8("winLossRatio","wins","losses"); param_00.pers["recordedLoss"] = 1; } param_00 scripts\mp\_persistence::func_10E12("gamesPlayed",1); param_00 scripts\mp\_persistence::func_10E56("round","loss",1); } //Function Number: 21 func_12F42(param_00) { if(!param_00 scripts\mp\_utility::func_DCD5()) { return; } if(!scripts\mp\_utility::func_9FB3(param_00.pers["hasDoneAnyCombat"])) { return; } if(scripts\mp\_utility::func_9FB3(param_00.pers["recordedLoss"])) { param_00 scripts\mp\_persistence::func_10E12("losses",-1); param_00 scripts\mp\_persistence::func_10E54("currentWinStreak",0); } param_00 scripts\mp\_persistence::func_10E12("ties",1); param_00 scripts\mp\_utility::func_12EE8("winLossRatio","wins","losses"); param_00 scripts\mp\_persistence::func_10E56("round","loss",0); } //Function Number: 22 func_12F65(param_00) { if(scripts\mp\_utility::func_D957()) { return; } if(!scripts\mp\_utility::func_13916()) { return; } level.processedwinloss = 1; var_01 = level.players; foreach(var_03 in level.players) { if(!isdefined(var_03) || !var_03 scripts\mp\_utility::func_DCD5()) { continue; } if(isai(var_03)) { continue; } var_03 giveachievement("MP_ACHIEVEMENT_1"); } func_12EF0(); if(!isdefined(param_00) || isdefined(param_00) && isstring(param_00) && param_00 == "tie") { foreach(var_03 in level.players) { if(isdefined(var_03.var_4530)) { continue; } if(level.var_90A1 && var_03 ishost()) { var_03 scripts\mp\_persistence::func_10E54("currentWinStreak",0); continue; } func_12F42(var_03); } return; } if(isplayer(param_00)) { if(level.var_90A1 && param_00 ishost()) { param_00 scripts\mp\_persistence::func_10E54("currentWinStreak",0); return; } for(var_07 = 0;var_07 < min(level.var_CC1D["all"].size,3);var_07++) { func_12F66(level.var_CC1D["all"][var_07]); } return; } if(isstring(param_00)) { foreach(var_03 in level.players) { if(isdefined(var_03.var_4530)) { continue; } if(level.var_90A1 && var_03 ishost()) { var_03 scripts\mp\_persistence::func_10E54("currentWinStreak",0); continue; } if(param_00 == "tie") { func_12F42(var_03); continue; } if(var_03.pers["team"] == param_00) { func_12F66(var_03); continue; } if(scripts\mp\_utility::func_9FB3(var_03.pers["recordedLoss"])) { var_03 scripts\mp\_persistence::func_10E54("currentWinStreak",0); } } return; } } //Function Number: 23 func_12EF0() { if(level.gametype != "infect") { return; } foreach(var_01 in level.players) { if(var_01.sessionstate == "spectator" && !var_01.var_2B0) { continue; } else if(scripts\mp\_utility::func_9FB3(var_01.pers["hasDoneAnyCombat"])) { continue; } else if(var_01.team == "axis") { continue; } else { var_01 func_F73B(var_01,1); } } } //Function Number: 24 func_7386(param_00) { self endon("disconnect"); scripts\mp\_utility::clearlowermessages(); if(!isdefined(param_00)) { param_00 = 0.05; } wait(param_00); scripts\mp\_utility::func_7385(1); } //Function Number: 25 func_12ECA(param_00) { if(!game["timePassed"]) { return; } if(!scripts\mp\_utility::func_B3EC()) { return; } if(!scripts\mp\_utility::func_81CA() || level.var_72B3) { var_01 = scripts\mp\_utility::func_81CB() / 1000; var_01 = min(var_01,1200); } else { var_01 = scripts\mp\_utility::func_81CA() * 60; } if(level.teambased) { if(param_00 == "allies") { var_02 = "allies"; var_03 = "axis"; } else if(var_02 == "axis") { var_02 = "axis"; var_03 = "allies"; } else { var_02 = "tie"; var_03 = "tie"; } if(var_02 != "tie") { setwinningteam(var_02); } foreach(var_05 in level.players) { if(isdefined(var_05.var_4530)) { continue; } if(!var_05 scripts\mp\_utility::func_DCD5()) { continue; } if(var_05.var_1190E["total"] < 1 || var_05.pers["participation"] < 1) { continue; } if(level.var_90A1 && var_05 ishost()) { continue; } if(!scripts\mp\_utility::func_9FB3(var_05.pers["hasDoneAnyCombat"])) { continue; } if(var_02 == "tie") { var_06 = var_05 func_3716("tie",var_01); var_05 thread func_837D("tie",var_06); var_05.var_B3DD = var_06; continue; } if(isdefined(var_05.pers["team"]) && var_05.pers["team"] == var_02) { var_06 = var_05 func_3716("win",var_01); var_05 thread func_837D("win",var_06); var_05.var_B3DD = var_06; continue; } if(isdefined(var_05.pers["team"]) && var_05.pers["team"] == var_03) { var_06 = var_05 func_3716("loss",var_01); var_05 thread func_837D("loss",var_06); var_05.var_B3DD = var_06; } } return; } var_08 = "win"; var_09 = "loss"; if(!isdefined(param_00)) { var_08 = "tie"; var_09 = "tie"; } foreach(var_05 in level.players) { if(isdefined(var_05.var_4530)) { continue; } if(var_05.var_1190E["total"] < 1 || var_05.pers["participation"] < 1) { continue; } if(!scripts\mp\_utility::func_9FB3(var_05.pers["hasDoneAnyCombat"])) { continue; } var_0B = 0; for(var_0C = 0;var_0C < min(level.var_CC1D["all"].size,3);var_0C++) { if(level.var_CC1D["all"][var_0C] != var_05) { continue; } var_0B = 1; } if(var_0B) { var_06 = var_05 func_3716(var_08,var_01); var_05 thread func_837D("win",var_06); var_05.var_B3DD = var_06; continue; } var_06 = var_05 func_3716(var_09,var_01); var_05 thread func_837D("loss",var_06); var_05.var_B3DD = var_06; } } //Function Number: 26 func_3716(param_00,param_01) { var_02 = scripts\mp\_rank::func_8104(param_00); var_03 = scripts\mp\_rank::func_7F8F(); var_04 = param_01 / 60 * var_03; var_05 = self.var_1190E["total"] / param_01; var_06 = int(var_02 * var_04 * var_05); return var_06; } //Function Number: 27 func_837D(param_00,param_01) { self endon("disconnect"); level waittill("give_match_bonus"); scripts\mp\_rank::func_839A(param_00,param_01); if(scripts\mp\_utility::func_13916()) { if(param_00 == "win") { thread scripts\mp\_awards::func_8380("match_complete_win"); return; } thread scripts\mp\_awards::func_8380("match_complete"); } } //Function Number: 28 func_FB23(param_00) { var_01 = level.players; for(var_02 = 0;var_02 < var_01.size;var_02++) { var_03 = var_01[var_02]; if(!isdefined(var_03.var_278) || !isdefined(var_03.pers["team"])) { continue; } } for(var_02 = 0;var_02 < var_01.size;var_02++) { var_03 = var_01[var_02]; if(!isdefined(var_03.var_1AB) || !isdefined(var_03.var_E9)) { continue; } if(120 > var_03.var_1190E["total"]) { continue; } var_04 = var_03.var_1AB - var_03.var_E9 / var_03.var_1190E["total"] / 60; setplayerteamrank(var_03,var_03.var_41F0,var_04); } } //Function Number: 29 func_3E54(param_00) { if(isdefined(level.var_118FA) && level.var_118FA) { return; } if(game["state"] != "playing") { function_01AF(0); return; } runjiprules(); if(scripts\mp\_utility::func_81CA() <= 0) { if(isdefined(level.var_10DFF)) { function_01AF(level.var_10DFF); } else { function_01AF(0); } return; } if(!scripts\mp\_utility::func_766C("prematch_done")) { function_01AF(0); return; } if(!isdefined(level.var_10DFF)) { return; } var_01 = func_81CD(); function_01AF(gettime() + int(var_01)); if(var_01 > 0) { return; } [[ level.var_C5B2 ]](); } //Function Number: 30 runjiprules() { if(!isdefined(level.nojip)) { level.nojip = 0; } if(!level.nojip) { if(scripts\mp\_utility::func_9F32() && !level.nojip) { switch(level.gametype) { case "front": case "dom": var_00 = checkdomjiprules(); break; case "sd": case "sr": case "siege": var_00 = checksdjiprules(); break; case "ctf": var_00 = checkctfjiprules(); break; case "ball": var_00 = checkballjiprules(); break; case "dd": var_00 = checkddjiprules(); break; default: var_00 = checkdefaultjiprules(); break; } if(var_00) { function_01BD(1); level.nojip = 1; return; } return; } if(scripts\mp\_utility::func_81CC() > level.var_1190B) { function_01BD(1); level.nojip = 1; return; } } } //Function Number: 31 checkdomjiprules() { if(!scripts\mp\_utility::func_9DF6()) { if(getteamscoreint("axis") > 150 || getteamscoreint("allies") > 150) { return 1; } if(scripts\mp\_utility::func_81CC() > 75) { return 1; } } return 0; } //Function Number: 32 checksdjiprules() { var_00 = scripts\mp\_utility::func_80F9("axis"); var_01 = scripts\mp\_utility::func_80F9("allies"); var_02 = 3; if(scripts\mp\_utility::func_9D46()) { var_02 = 5; } if(var_00 >= var_02 || var_01 >= var_02) { return 1; } return 0; } //Function Number: 33 checkctfjiprules() { if(!scripts\mp\_utility::func_9DF6()) { if(scripts\mp\_utility::func_81CC() > level.var_1190B) { return 1; } } var_00 = abs(getteamscoreint("axis") - getteamscoreint("allies")); if(var_00 > 10) { return 1; } return 0; } //Function Number: 34 checkballjiprules() { if(!scripts\mp\_utility::func_9DF6()) { if(scripts\mp\_utility::func_81CC() > level.var_1190B) { return 1; } } var_00 = abs(getteamscoreint("axis") - getteamscoreint("allies")); if(var_00 > 15) { return 1; } return 0; } //Function Number: 35 checkddjiprules() { var_00 = scripts\mp\_utility::func_80F9("axis"); var_01 = scripts\mp\_utility::func_80F9("allies"); if(var_00 + var_01 >= 3) { return 1; } return 0; } //Function Number: 36 checkdefaultjiprules() { if(scripts\mp\_utility::func_BFA7()) { if(scripts\mp\_utility::func_81CC() > level.var_1190B) { return 1; } } return 0; } //Function Number: 37 getteamscoreint(param_00) { return int(game["teamScores"][param_00]); } //Function Number: 38 func_81CD() { return scripts\mp\_utility::func_81CA() * 60 * 1000 - scripts\mp\_utility::func_81CB(); } //Function Number: 39 func_81CE() { var_00 = scripts\mp\_utility::func_81CA() * 60 * 1000; return var_00 - scripts\mp\_utility::func_81CB() / var_00; } //Function Number: 40 func_3E53(param_00) { if(level.var_E763 <= 0 || scripts\mp\_utility::func_9EBD()) { return; } if(isdefined(level.var_EC3C) && level.var_EC3C) { return; } if(level.gametype == "conf" || level.gametype == "jugg") { return; } if(!level.teambased) { return; } level.var_CF33 = 0; var_01 = 0; if(level.gametype == "dom" || level.gametype == "tdef") { var_01 = func_42AC(param_00); } else if(scripts\mp\_utility::func_81CB() > -5536) { var_01 = func_6747(param_00) < 1; } if(!level.var_CF33 && var_01) { level.var_CF33 = 1; level notify("match_ending_soon","score"); } if(!level.var_CF33 && scripts\mp\_utility::func_38F3()) { if(getteamscore(param_00) >= int(level.var_EC3B * level.var_4BFF - level.var_EC3B / 2)) { scripts\mp\_utility::func_AAE7("halfway_friendly_boost",param_00,"status"); scripts\mp\_utility::func_AAE7("halfway_enemy_boost",scripts\mp\_utility::getotherteam(param_00),"status"); level.var_54BB = 1; } } } //Function Number: 41 func_3E35() { if(level.var_E763 <= 0 || scripts\mp\_utility::func_9EBD()) { return; } if(level.teambased) { return; } if(scripts\mp\_utility::func_81CB() < -5536) { return; } if(level.gametype == "gun") { if(self.var_278 == 14) { level notify("match_ending_soon","score"); return; } return; } var_00 = func_6747(); if(var_00 < 2) { level notify("match_ending_soon","score"); } } //Function Number: 42 func_3E47(param_00) { if(scripts\mp\_utility::cantiebysimultaneouskill()) { param_00 = 1; } if(scripts\mp\_utility::func_9FB3(param_00)) { level notify("checkScoreLimit"); level endon("checkScoreLimit"); scripts\common\utility::func_136F7(); } if(scripts\mp\_utility::func_9EBD()) { return 0; } if(isdefined(level.var_EC3C) && level.var_EC3C) { return 0; } if(game["state"] != "playing") { return 0; } if(level.var_E763 <= 0) { return 0; } var_01 = 0; if(level.teambased) { for(var_02 = 0;var_02 < level.teamnamelist.size;var_02++) { if(game["teamScores"][level.teamnamelist[var_02]] >= level.var_E763) { var_01 = 1; break; } } } else { foreach(var_04 in level.players) { if(var_04.var_278 >= level.var_E763) { var_01 = 1; break; } } } if(!var_01) { return 0; } return func_C587(param_00); } //Function Number: 43 func_12E9F() { level endon("game_ended"); while(game["state"] == "playing") { if(isdefined(level.var_10DFF)) { if(func_81CD() < 3000) { wait(0.1); continue; } } wait(1); } } //Function Number: 44 func_B415() { thread func_B412("match_starting_in",level.var_D84D + level.var_D84E); func_136D7(level.var_D84D); if(level.var_D84E > 0 && !isdefined(level.var_90A9)) { var_00 = level.var_D84E; if((scripts\mp\_utility::func_9F32() && !scripts\mp\_utility::func_9DF6()) || scripts\mp\_utility::func_9EA6()) { var_00 = level.var_D84D; } level notify("match_start_real_countdown",var_00); func_B412("match_starting_in",var_00); } } //Function Number: 45 func_B413(param_00) { waittillframeend; level endon("match_start_timer_beginning"); while(param_00 > 0 && !level.var_7669) { setomnvar("ui_match_start_countdown",param_00); if(param_00 == 0) { function_0237("",0); } param_00--; wait(1); } setomnvar("ui_match_start_countdown",0); } //Function Number: 46 func_B412(param_00,param_01) { self notify("matchStartTimer"); self endon("matchStartTimer"); level notify("match_start_timer_beginning"); var_02 = int(param_01); if(var_02 >= 2) { setomnvar("ui_match_start_text",param_00); func_B413(var_02); } function_0237("",0); } //Function Number: 47 func_B414() { function_0237("",0); } //Function Number: 48 func_C585(param_00) { if(!isdefined(game["switchedsides"])) { game["switchedsides"] = 0; } if(param_00) { level.var_8865 = "overtime"; if(scripts\mp\_utility::func_9E74()) { var_01 = func_7E07(); if(var_01 != game["defenders"]) { game["switchedsides"] = !game["switchedsides"]; level.var_11374 = 1; return; } level.var_11374 = undefined; return; } game["switchedsides"] = !game["switchedsides"]; level.var_11374 = 1; return; } level.var_8865 = "halftime"; game["switchedsides"] = !game["switchedsides"]; level.var_11374 = 1; } //Function Number: 49 func_3E43(param_00) { if(!level.teambased) { return 0; } if(!isdefined(level.var_E765) || !level.var_E765) { return 0; } if(game["roundsPlayed"] % level.var_E765 == 0 || param_00) { func_C585(param_00); return 1; } return 0; } //Function Number: 50 func_11939() { if(level.var_7669) { var_00 = gettime() - level.var_766B / 1000; var_01 = level.var_D706 - var_00; if(var_01 < 0) { return 0; } return var_01; } if(scripts\mp\_utility::func_81CA() <= 0) { return undefined; } if(!isdefined(level.var_10DFF)) { return undefined; } var_02 = scripts\mp\_utility::func_81CA(); var_00 = gettime() - level.var_10DFF / 1000; var_01 = level.var_561F / 1000 + scripts\mp\_utility::func_81CA() * 60 - var_02; if(isdefined(level.var_11909)) { var_02 = var_02 + level.var_11909; } return var_02 + level.var_D706; } //Function Number: 51 func_736F() { if(isdefined(self.var_CA52)) { if(isdefined(self.var_CA52[0])) { self.var_CA52[0] scripts\mp\_hud_util::destroyelem(); self.var_CA53[0] scripts\mp\_hud_util::destroyelem(); } if(isdefined(self.var_CA52[1])) { self.var_CA52[1] scripts\mp\_hud_util::destroyelem(); self.var_CA53[1] scripts\mp\_hud_util::destroyelem(); } if(isdefined(self.var_CA52[2])) { self.var_CA52[2] scripts\mp\_hud_util::destroyelem(); self.var_CA53[2] scripts\mp\_hud_util::destroyelem(); } } self notify("perks_hidden"); if(!level.var_5828) { self.lowermessage scripts\mp\_hud_util::destroyelem(); self.lowertimer scripts\mp\_hud_util::destroyelem(); } if(isdefined(self.var_DAAE)) { self.var_DAAE scripts\mp\_hud_util::destroyelem(); } if(isdefined(self.var_DAAF)) { self.var_DAAF scripts\mp\_hud_util::destroyelem(); } } //Function Number: 52 func_7F07() { var_00 = getentarray("player","classname"); for(var_01 = 0;var_01 < var_00.size;var_01++) { if(var_00[var_01] ishost()) { return var_00[var_01]; } } } //Function Number: 53 func_90A2() { var_00 = func_7F07(); if(isdefined(var_00) && !var_00.var_8C2A && !isdefined(var_00.var_F1BA)) { return 1; } return 0; } //Function Number: 54 func_E761(param_00,param_01) { var_02 = 0; while(!var_02) { var_03 = level.players; var_02 = 1; foreach(var_05 in var_03) { if(!var_05 scripts\mp\_hud_message::func_9DC6()) { continue; } var_02 = 0; } wait(0.5); } if(!level.var_5828) { setomnvarforallclients("post_game_state",2); } foreach(var_05 in level.players) { var_05 thread scripts\mp\_utility::func_F8A0(0); } if(!param_01) { wait(param_00); } else { wait(param_00 / 2); level notify("give_match_bonus"); wait(param_00 / 2); var_02 = 0; while(!var_02) { var_03 = level.players; var_02 = 1; foreach(var_05 in var_03) { if(!var_05 scripts\mp\_hud_message::func_9DC6()) { continue; } var_02 = 0; } wait(0.5); } } setomnvarforallclients("post_game_state",1); level notify("round_end_finished"); } //Function Number: 55 func_E760(param_00) { self setdepthoffield(0,128,512,4000,6,1.8); } //Function Number: 56 initwaypointbackgrounds() { level.waypointcolors["koth_enemy"] = "enemy"; level.waypointbgtype["koth_enemy"] = 2; level.waypointcolors["koth_friendly"] = "friendly"; level.waypointbgtype["koth_friendly"] = 2; level.waypointcolors["koth_neutral"] = "neutral"; level.waypointbgtype["koth_neutral"] = 2; level.waypointcolors["waypoint_hardpoint_contested"] = "contest"; level.waypointbgtype["waypoint_hardpoint_contested"] = 2; level.waypointcolors["waypoint_hardpoint_losing"] = "contest"; level.waypointbgtype["waypoint_hardpoint_losing"] = 2; level.waypointcolors["waypoint_hardpoint_target"] = "neutral"; level.waypointbgtype["waypoint_hardpoint_target"] = 2; level.waypointcolors["waypoint_taking_chevron"] = "contest"; level.waypointbgtype["waypoint_taking_chevron"] = 2; level.waypointcolors["waypoint_ball_download"] = "neutral"; level.waypointbgtype["waypoint_ball_download"] = 1; level.waypointcolors["waypoint_ball_pass"] = "friendly"; level.waypointbgtype["waypoint_ball_pass"] = 1; level.waypointcolors["waypoint_ball_upload"] = "neutral"; level.waypointbgtype["waypoint_ball_upload"] = 1; level.waypointcolors["waypoint_neutral_ball"] = "neutral"; level.waypointbgtype["waypoint_neutral_ball"] = 1; level.waypointcolors["waypoint_capture_a"] = "enemy"; level.waypointbgtype["waypoint_capture_a"] = 2; level.waypointcolors["waypoint_capture_b"] = "enemy"; level.waypointbgtype["waypoint_capture_b"] = 2; level.waypointcolors["waypoint_capture_c"] = "enemy"; level.waypointbgtype["waypoint_capture_c"] = 2; level.waypointcolors["waypoint_defend_a"] = "friendly"; level.waypointbgtype["waypoint_defend_a"] = 2; level.waypointcolors["waypoint_defend_b"] = "friendly"; level.waypointbgtype["waypoint_defend_b"] = 2; level.waypointcolors["waypoint_defend_c"] = "friendly"; level.waypointbgtype["waypoint_defend_c"] = 2; level.waypointcolors["waypoint_losing_a"] = "contest"; level.waypointbgtype["waypoint_losing_a"] = 2; level.waypointcolors["waypoint_losing_b"] = "contest"; level.waypointbgtype["waypoint_losing_b"] = 2; level.waypointcolors["waypoint_losing_c"] = "contest"; level.waypointbgtype["waypoint_losing_c"] = 2; level.waypointcolors["waypoint_bomb"] = "neutral"; level.waypointbgtype["waypoint_bomb"] = 2; level.waypointcolors["waypoint_bomb_defusing"] = "contest"; level.waypointbgtype["waypoint_bomb_defusing"] = 2; level.waypointcolors["waypoint_bomb_planting"] = "contest"; level.waypointbgtype["waypoint_bomb_planting"] = 2; level.waypointcolors["waypoint_defuse_a"] = "enemy"; level.waypointbgtype["waypoint_defuse_a"] = 2; level.waypointcolors["waypoint_defuse_b"] = "enemy"; level.waypointbgtype["waypoint_defuse_b"] = 2; level.waypointcolors["waypoint_bank_a"] = "neutral"; level.waypointbgtype["waypoint_bank_a"] = 2; level.waypointcolors["waypoint_bank_b"] = "neutral"; level.waypointbgtype["waypoint_bank_b"] = 2; level.waypointcolors["waypoint_blitz_defend"] = "friendly"; level.waypointbgtype["waypoint_blitz_defend"] = 2; level.waypointcolors["waypoint_blitz_defend_round"] = "friendly"; level.waypointbgtype["waypoint_blitz_defend_round"] = 1; level.waypointcolors["waypoint_defend_round"] = "friendly"; level.waypointbgtype["waypoint_defend_round"] = 1; level.waypointcolors["waypoint_blitz_goal"] = "enemy"; level.waypointbgtype["waypoint_blitz_goal"] = 2; level.waypointcolors["waypoint_uplink_contested"] = "contest"; level.waypointbgtype["waypoint_uplink_contested"] = 2; level.waypointcolors["waypoint_dogtags"] = "enemy"; level.waypointcolors["waypoint_dogtags_friendlys"] = "friendly"; level.waypointcolors["waypoint_taking_flag"] = "contest"; level.waypointbgtype["waypoint_taking_flag"] = 2; level.waypointcolors["waypoint_capture_kill"] = "enemy"; level.waypointbgtype["waypoint_capture_kill"] = 2; level.waypointcolors["waypoint_capture_kill_round"] = "enemy"; level.waypointbgtype["waypoint_capture_kill_round"] = 1; level.waypointcolors["waypoint_capture_recover"] = "friendly"; level.waypointbgtype["waypoint_capture_recover"] = 2; level.waypointcolors["waypoint_capture_take"] = "enemy"; level.waypointbgtype["waypoint_capture_take"] = 2; level.waypointcolors["waypoint_captureneutral_a"] = "neutral"; level.waypointbgtype["waypoint_captureneutral_a"] = 2; level.waypointcolors["waypoint_captureneutral_b"] = "neutral"; level.waypointbgtype["waypoint_captureneutral_b"] = 2; level.waypointcolors["waypoint_captureneutral_c"] = "neutral"; level.waypointbgtype["waypoint_captureneutral_c"] = 2; level.waypointcolors["waypoint_contested_a"] = "contest"; level.waypointbgtype["waypoint_contested_a"] = 2; level.waypointcolors["waypoint_contested_b"] = "contest"; level.waypointbgtype["waypoint_contested_b"] = 2; level.waypointcolors["waypoint_contested_c"] = "contest"; level.waypointbgtype["waypoint_contested_c"] = 2; level.waypointcolors["waypoint_escort"] = "friendly"; level.waypointbgtype["waypoint_escort"] = 1; level.waypointcolors["waypoint_reset_marker"] = "contest"; level.waypointbgtype["waypoint_reset_marker"] = 2; level.waypointcolors["waypoint_returning_flag"] = "contest"; level.waypointbgtype["waypoint_returning_flag"] = 2; level.waypointcolors["waypoint_scoring_foe_a"] = "enemy"; level.waypointbgtype["waypoint_scoring_foe_a"] = 2; level.waypointcolors["waypoint_scoring_foe_b"] = "enemy"; level.waypointbgtype["waypoint_scoring_foe_b"] = 2; level.waypointcolors["waypoint_scoring_friend_a"] = "friendly"; level.waypointbgtype["waypoint_scoring_friend_a"] = 2; level.waypointcolors["waypoint_scoring_friend_b"] = "friendly"; level.waypointbgtype["waypoint_scoring_friend_b"] = 2; level.waypointcolors["waypoint_taking_a"] = "contest"; level.waypointbgtype["waypoint_taking_a"] = 2; level.waypointcolors["waypoint_taking_b"] = "contest"; level.waypointbgtype["waypoint_taking_b"] = 2; level.waypointcolors["waypoint_taking_c"] = "contest"; level.waypointbgtype["waypoint_taking_c"] = 2; level.waypointcolors["waypoint_target_a"] = "enemy"; level.waypointbgtype["waypoint_target_a"] = 2; level.waypointcolors["waypoint_target_b"] = "enemy"; level.waypointbgtype["waypoint_target_b"] = 2; } //Function Number: 57 func_3757() { scripts\mp\_load::main(); scripts\mp\_utility::func_ABF2("round_over",0); scripts\mp\_utility::func_ABF2("game_over",0); scripts\mp\_utility::func_ABF2("block_notifies",0); scripts\mp\_utility::func_ABF2("post_game_level_event_active",0); level.var_D84D = 0; level.var_D84E = 0; level.var_D701 = 0; level.var_18F = 0; setdvar("bg_compassShowEnemies",getdvar("scr_game_forceuav")); if(scripts\mp\_utility::func_B3EC()) { setdvar("isMatchMakingGame",1); } else { setdvar("isMatchMakingGame",0); } if(level.multiteambased) { setdvar("ui_numteams",level.var_C246); } if(!isdefined(game["gamestarted"])) { game["clientid"] = 0; game["truncated_killcams"] = 0; if(!isdefined(game["attackers"]) || !isdefined(game["defenders"])) { thread scripts\common\utility::func_66BD("No attackers or defenders team defined in level .gsc."); } if(!isdefined(game["attackers"])) { game["attackers"] = "allies"; } if(!isdefined(game["defenders"])) { game["defenders"] = "axis"; } if(!isdefined(game["state"])) { game["state"] = "playing"; } game["allies"] = "UNSA"; game["axis"] = "SDF"; game["strings"]["press_to_spawn"] = &"PLATFORM_PRESS_TO_SPAWN"; game["strings"]["spawn_next_round"] = &"MP_SPAWN_NEXT_ROUND"; game["strings"]["spawn_flag_wait"] = &"MP_SPAWN_FLAG_WAIT"; game["strings"]["spawn_point_capture_wait"] = &"MP_SPAWN_POINT_CAPTURE_WAIT"; game["strings"]["spawn_tag_wait"] = &"MP_SPAWN_TAG_WAIT"; game["strings"]["waiting_to_spawn"] = &"MP_WAITING_TO_SPAWN"; game["strings"]["waiting_to_safespawn"] = &"MP_WAITING_TO_SAFESPAWN"; game["strings"]["match_starting"] = &"MP_MATCH_STARTING"; game["strings"]["change_class"] = &"MP_CHANGE_CLASS_NEXT_SPAWN"; game["strings"]["change_rig"] = &"LUA_MENU_MP_CHANGE_RIG_NEXT_SPAWN"; game["strings"]["last_stand"] = &"MPUI_LAST_STAND"; game["strings"]["final_stand"] = &"MPUI_FINAL_STAND"; game["strings"]["c4_death"] = &"MPUI_C4_DEATH"; game["strings"]["must_select_loadout_to_spawn"] = &"MP_INGAME_ONLY_SELECT_LOADOUT_TO_SPAWN"; game["strings"]["cowards_way"] = &"PLATFORM_COWARDS_WAY_OUT"; game["colors"]["black"] = (0,0,0); game["colors"]["white"] = (1,1,1); game["colors"]["grey"] = (0.5,0.5,0.5); game["colors"]["cyan"] = (0.35,0.7,0.9); game["colors"]["orange"] = (0.9,0.6,0); game["colors"]["blue"] = (0.2,0.3,0.7); game["colors"]["red"] = (0.75,0.25,0.25); game["colors"]["green"] = (0.25,0.75,0.25); game["colors"]["yellow"] = (0.65,0.65,0); game["strings"]["allies_name"] = scripts\mp\_teams::func_81B5("allies"); game["icons"]["allies"] = scripts\mp\_teams::func_81B2("allies"); game["colors"]["allies"] = scripts\mp\_teams::func_81A4("allies"); game["strings"]["axis_name"] = scripts\mp\_teams::func_81B5("axis"); game["icons"]["axis"] = scripts\mp\_teams::func_81B2("axis"); game["colors"]["axis"] = scripts\mp\_teams::func_81A4("axis"); game["colors"]["friendly"] = (0.2588235,0.6392157,0.8745098); game["colors"]["enemy"] = (0.9294118,0.2313726,0.1411765); game["colors"]["contest"] = (1,0.8588235,0); game["colors"]["neutral"] = (1,1,1); initwaypointbackgrounds(); if(game["colors"]["allies"] == game["colors"]["black"]) { game["colors"]["allies"] = game["colors"]["grey"]; } if(game["colors"]["axis"] == game["colors"]["black"]) { game["colors"]["axis"] = game["colors"]["grey"]; } [[ level.var_C580 ]](); setdvarifuninitialized("min_wait_for_players",5); if(level.console) { if(!level.splitscreen) { if(scripts\mp\_utility::func_9EA6() || function_0103()) { level.var_D84D = scripts\mp\_tweakables::func_81E7("game","graceperiod_comp"); } else { level.var_D84D = scripts\mp\_tweakables::func_81E7("game","graceperiod"); } level.var_D84E = scripts\mp\_tweakables::func_81E7("game","matchstarttime"); } } else { if(scripts\mp\_utility::func_9EA6() || function_0103()) { level.var_D84D = scripts\mp\_tweakables::func_81E7("game","playerwaittime_comp"); } else { level.var_D84D = scripts\mp\_tweakables::func_81E7("game","playerwaittime"); } level.var_D84E = scripts\mp\_tweakables::func_81E7("game","matchstarttime"); } function_01BC(0); function_01BD(0); } else { setdvarifuninitialized("min_wait_for_players",5); if(level.console) { if(!level.splitscreen) { level.var_D84D = 5; level.var_D84E = scripts\mp\_tweakables::func_81E7("game","matchstarttime"); } } else { level.var_D84D = 5; level.var_D84E = scripts\mp\_tweakables::func_81E7("game","matchstarttime"); } } if(!isdefined(game["status"])) { game["status"] = "normal"; } setdvar("ui_overtime",scripts\mp\_utility::func_9900()); if(game["status"] != "overtime" && game["status"] != "halftime") { if(!isdefined(game["switchedsides"]) && game["switchedsides"] == 1 && scripts\mp\_utility::func_9EA9()) { game["teamScores"]["allies"] = 0; game["teamScores"]["axis"] = 0; } if(level.multiteambased) { for(var_00 = 0;var_00 < level.teamnamelist.size;var_00++) { game["teamScores"][level.teamnamelist[var_00]] = 0; } } } if(!isdefined(game["timePassed"])) { game["timePassed"] = 0; } if(!isdefined(game["roundsPlayed"])) { game["roundsPlayed"] = 0; } if(!isdefined(game["overtimeRoundsPlayed"])) { game["overtimeRoundsPlayed"] = 0; } if(!isdefined(game["finalRound"])) { game["finalRound"] = 0; } setomnvar("ui_last_round",game["finalRound"]); if(!isdefined(game["roundsWon"])) { game["roundsWon"] = []; } if(!isdefined(game["timeToBeat"])) { game["timeToBeat"] = 0; } if(!isdefined(game["timeToBeatOld"])) { game["timeToBeatOld"] = 0; } if(!isdefined(game["timeToBeatTeam"])) { game["timeToBeatTeam"] = "none"; } if(!isdefined(game["timeToBeatScore"])) { game["timeToBeatScore"] = 0; } if(level.teambased) { if(!isdefined(game["roundsWon"]["axis"])) { game["roundsWon"]["axis"] = 0; } if(!isdefined(game["roundsWon"]["allies"])) { game["roundsWon"]["allies"] = 0; } if(level.multiteambased) { for(var_00 = 0;var_00 < level.teamnamelist.size;var_00++) { if(!isdefined(game["roundsWon"][level.teamnamelist[var_00]])) { game["roundsWon"][level.teamnamelist[var_00]] = 0; } } } } level.var_7669 = 0; level.var_72B3 = 0; level.var_90A1 = 0; level.var_8B38 = getdvarint("g_hardcore"); level.tactical = (scripts\mp\_utility::func_B3EC() && getdvarint("scr_tactical")) || getdvarint("scr_game_tacticalmode"); var_01 = scripts\mp\_utility::func_9D46() || level.tactical; setdvar("disable_energy_bullet_ricochet",var_01); if(level.tactical) { level.var_B93A = ::scripts\mp\_damage::func_7678; setdvar("jump_slowdownEnable",1); setdvar("sprintLeap_enabled",0); setdvar("scr_" + level.gametype + "_doubleJump",1); setdvar("scr_game_doubleJump",1); level.var_112C1 = 1; } if(level.var_8B38) { function_0132("game mode: hardcore"); } level.var_54CC = getdvarint("scr_diehard"); level.var_3B1E = getdvarint("scr_game_casualScoreStreaks"); if(!isdefined(level.var_47EF)) { level.var_47EF = getdvarint("scr_" + level.gametype + "_crankedBombTimer",0); } level.var_112C0 = scripts\common\utility::func_116D7(getdvarint("scr_" + level.gametype + "_crankedBombTimer") > 0,1,0); if(!level.teambased) { level.var_54CC = 0; } if(level.var_54CC) { function_0132("game mode: diehard"); } level.var_1C98 = scripts\mp\_utility::func_803C("scr_" + level.gametype + "_allowKillstreaks","scr_game_allowKillstreaks"); level.var_1CA1 = scripts\mp\_utility::func_803C("scr_" + level.gametype + "_allowPerks","scr_game_allowPerks"); level.var_1CAA = scripts\mp\_utility::func_803C("scr_" + level.gametype + "_allowSupers","scr_game_allowSupers"); level.var_11260 = scripts\mp\_utility::func_803C("scr_" + level.gametype + "_superFastChargeRate","scr_game_superFastChargeRate"); level.superpointsmod = scripts\mp\_utility::func_803B("scr_" + level.gametype + "_superPointsMod","scr_game_superPointsMod"); if(!level.tactical) { level.var_112C1 = scripts\mp\_utility::func_803C("scr_" + level.gametype + "_doubleJump","scr_game_doubleJump"); } level.var_112C6 = scripts\mp\_utility::func_803C("scr_" + level.gametype + "_wallRun","scr_game_wallRun"); level.var_10903 = scripts\mp\_utility::func_803B("scr_" + level.gametype + "_spawnProtectionTimer","scr_game_spawnProtectionTimer"); level.var_EC3D = []; level.var_EC3D["kill"] = getdvarint("scr_" + level.gametype + "_pointsPerKill"); level.var_EC3D["death"] = getdvarint("scr_" + level.gametype + "_pointsPerDeath"); level.var_EC3D["headshot"] = getdvarint("scr_" + level.gametype + "_pointsHeadshotBonus"); level.var_B4A1 = 5; level.var_B4A0 = 32; level.var_130DD = 1; level.var_B47A = scripts\mp\_utility::func_803C("scr_" + level.gametype + "_ffPunishLimit","scr_game_ffPunishLimit"); thread scripts\mp\_powerloot::init(); thread scripts\mp\_healthoverlay::init(); thread scripts\mp\_killcam::init(); thread scripts\mp\_final_killcam::func_9807(); thread scripts\mp\_battlechatter_mp::init(); thread scripts\mp\_music_and_dialog::init(); thread [[ level.var_9994 ]](); thread scripts\mp\_class::init(); thread scripts\mp\_persistence::init(); thread scripts\mp\_missions::init(); thread scripts\mp\_rank::init(); thread scripts\mp\_playercards::init(); thread scripts\mp\_menus::init(); thread scripts\mp\_hud::init(); thread scripts\mp\_serversettings::init(); thread scripts\mp\_teams::init(); thread scripts\mp\_weapons::init(); thread scripts\mp\_outline::init(); thread scripts\mp\_shellshock::init(); thread scripts\mp\_deathicons::init(); thread scripts\mp\_damagefeedback::init(); thread scripts\mp\_lightarmor::init(); thread scripts\mp\killstreaks\_chill_common::func_3E6E(); thread scripts\mp\_objpoints::init(); thread scripts\mp\_gameobjects::init(); thread scripts\mp\_spectating::init(); thread scripts\mp\_spawnlogic::init(); thread scripts\mp\_matchdata::init(); thread scripts\mp\_clientmatchdata::init(); thread scripts\mp\_awards::init(); thread scripts\mp\_areas::init(); thread scripts\mp\_adrenaline::init(); thread scripts\mp\_killstreak_loot::init(); thread [[ level.var_A6A2 ]](); thread scripts\mp\_passives::init(); thread scripts\mp\perks\_perks::init(); thread scripts\mp\_events::init(); thread scripts\mp\_defcon::init(); thread [[ level.var_B3E7 ]](); thread scripts\mp\_zipline::init(); thread lib_0D69::init(); thread scripts\mp\_powers::init(); thread scripts\mp\_drone_pet::init(); thread scripts\mp\_whizby::init(); thread scripts\mp\_analyticslog::init(); thread scripts\mp\_loot::init(); thread scripts\mp\_supers::init(); thread scripts\mp\_callouts::init(); thread func_1C74(); thread ismp_init(); thread scripts\mp\_weapons::func_13AB2(); thread scripts\mp\_supers::func_13B6B(); thread scripts\mp\_gestures_mp::init(); thread scripts\mp\sentientpoolmanager::init(); thread scripts\mp\objidpoolmanager::init(); thread scripts\mp\contracts::init(); thread scripts\mp\_utility::initarbitraryuptriggers(); thread scripts\mp\_broshot::initbroshotfx(); if(level.teambased) { thread scripts\mp\_friendicons::init(); } thread scripts\mp\_hud_message::init(); if(scripts\mp\_codcasterclientmatchdata::func_10036()) { thread scripts\mp\_codcasterclientmatchdata::init(); } game["gamestarted"] = 1; level.var_4BFF = game["roundsPlayed"] + 1; level.var_B4BC = 0; level.var_13BDE["allies"] = 0; level.var_13BDE["axis"] = 0; level.var_AA44["allies"] = 0; level.var_AA44["axis"] = 0; level.var_13BE0["allies"] = 0; level.var_13BE0["axis"] = 0; level.var_1BE7["allies"] = []; level.var_1BE7["axis"] = []; level.var_1659 = []; if(level.multiteambased) { for(var_00 = 0;var_00 < level.teamnamelist.size;var_00++) { level.var_1461[level.teamnamelist[var_00]] = 0; level.var_1301[level.teamnamelist[var_00]] = 0; level.var_1462[level.teamnamelist[var_00]] = 0; level.var_1168[level.teamnamelist[var_00]] = []; } } setomnvar("ui_scorelimit",0); setdvar("ui_allow_teamchange",1); setomnvar("ui_round_hint_override_attackers",0); setomnvar("ui_round_hint_override_defenders",0); if(scripts\mp\_utility::func_7ECE()) { setdvar("g_deadChat",0); } else { setdvar("g_deadChat",1); } var_02 = getdvarint("scr_" + level.gametype + "_waverespawndelay"); if(var_02) { level.var_13BDE["allies"] = var_02; level.var_13BDE["axis"] = var_02; level.var_AA44["allies"] = 0; level.var_AA44["axis"] = 0; if(level.multiteambased) { for(var_00 = 0;var_00 < level.teamnamelist.size;var_00++) { level.var_1461[level.teamnamelist[var_00]] = var_02; level.var_1301[level.teamnamelist[var_00]] = 0; } } level thread func_13BE6(); } scripts\mp\_utility::func_766E("prematch_done",0); level.var_8487 = 15; level.ingraceperiod = level.var_8487; scripts\mp\_utility::func_766E("graceperiod_done",0); level.var_D4ED = 0; level.var_E75F = 6; level.var_6C71 = 3; level.var_8864 = 3; level.var_C08A = getentarray("noragdoll","targetname"); level.var_EC3B = scripts\mp\_utility::getwatcheddvar("scorelimit"); level.var_E762 = scripts\mp\_utility::getwatcheddvar("roundlimit"); level.var_13D89 = scripts\mp\_utility::getwatcheddvar("winlimit"); if(level.var_E762 != 1) { setomnvar("ui_current_round",level.var_4BFF); } if(level.var_EC3B == 1) { level.var_E763 = 1; level.var_11A3C = level.var_13D89; } else { level.var_E763 = level.var_EC3B * game["roundsPlayed"] + 1; level.var_11A3C = level.var_EC3B * level.var_E762; } if(scripts\mp\_utility::func_E269()) { level.var_E763 = level.var_EC3B; level.var_11A3C = level.var_EC3B; game["teamScores"][game["attackers"]] = 0; setteamscore(game["attackers"],0); game["teamScores"][game["defenders"]] = 0; setteamscore(game["defenders"],0); } if(scripts\mp\_utility::func_9ECF() && scripts\mp\_utility::func_9900()) { scripts\mp\_gamescore::func_12EE5(); } if(level.teambased) { scripts\mp\_gamescore::func_12F3B("axis"); scripts\mp\_gamescore::func_12F3B("allies"); if(level.multiteambased) { for(var_00 = 0;var_00 < level.teamnamelist.size;var_00++) { scripts\mp\_gamescore::func_12F3B(level.teamnamelist[var_00]); } } } thread func_12F54(); level notify("update_scorelimit"); if(isdefined(level.var_B3F8)) { level thread [[ level.var_B3F8 ]](); } [[ level.var_C5A4 ]](); level.var_EC3F = getdvarint("scr_" + level.gametype + "_score_percentage_cut_off",80); level.var_1190B = getdvarint("scr_" + level.gametype + "_time_percentage_cut_off",80); if(!level.console && getdvar("dedicated") == "dedicated LAN server" || getdvar("dedicated") == "dedicated internet server") { thread func_132A3(); } thread func_10D9F(); level thread scripts\mp\_utility::func_12F5B(); level thread func_118FB(); level thread scripts\mp\_final_killcam::func_5853(); level thread updateleaderboardstatscontinuous(); } //Function Number: 58 func_132A3() { for(;;) { if(level.rankedmatch) { exitlevel(0); } if(!getdvarint("xblive_privatematch")) { exitlevel(0); } if(getdvar("dedicated") != "dedicated LAN server" && getdvar("dedicated") != "dedicated internet server") { exitlevel(0); } wait(5); } } //Function Number: 59 func_118FB() { level endon("game_ended"); var_00 = scripts\mp\_utility::func_81CB(); while(game["state"] == "playing") { thread func_3E54(var_00); var_00 = scripts\mp\_utility::func_81CB(); if(isdefined(level.var_10DFF)) { if(func_81CD() < 3000) { wait(0.1); continue; } } wait(1); } } //Function Number: 60 func_12F54() { for(;;) { level scripts\common\utility::waittill_either("update_scorelimit","update_winlimit"); if(scripts\mp\_utility::func_9900()) { if(scripts\mp\_utility::func_9FAA()) { foreach(var_01 in level.players) { var_01 setclientomnvar("ui_friendly_time_to_beat",scripts\common\utility::func_116D7(var_01.team == game["timeToBeatTeam"],game["timeToBeat"],game["timeToBeatOld"])); var_01 setclientomnvar("ui_enemy_time_to_beat",scripts\common\utility::func_116D7(var_01.team != game["timeToBeatTeam"],game["timeToBeat"],game["timeToBeatOld"])); } setomnvar("ui_scorelimit",scripts\common\utility::func_116D7(scripts\mp\_utility::func_9FAB(),game["timeToBeatScore"],1)); } else if(scripts\mp\_utility::func_A00B()) { var_03 = game["roundsWon"][game["defenders"]]; var_04 = game["roundsWon"][game["attackers"]]; var_05 = 0; if(var_03 == var_04) { var_05 = var_03 + 2; } else if(var_03 > var_04) { var_05 = var_03 + 1; } else { var_05 = var_04 + 1; } setomnvar("ui_scorelimit",var_05); } else { func_130AB(); } continue; } func_130AB(); } } //Function Number: 61 func_130AB() { if(!scripts\mp\_utility::func_9F32() || !scripts\mp\_utility::func_9EBD() || scripts\mp\_utility::func_9EA9()) { setomnvar("ui_scorelimit",level.var_11A3C); thread func_3E47(); return; } setomnvar("ui_scorelimit",level.var_13D89); } //Function Number: 62 func_D54F() { self endon("death"); self endon("stop_ticking"); level endon("game_ended"); var_00 = level.var_2C6C; for(;;) { self playsound("ui_mp_suitcasebomb_timer"); if(var_00 > 10) { var_00 = var_00 - 1; wait(1); } else if(var_00 > 4) { var_00 = var_00 - 0.5; wait(0.5); } else if(var_00 > 1) { var_00 = var_00 - 0.4; wait(0.4); } else { var_00 = var_00 - 0.3; wait(0.3); } scripts\mp\_hostmigration::func_13834(); } } //Function Number: 63 func_11094() { self notify("stop_ticking"); } //Function Number: 64 func_118F7() { level endon("game_ended"); wait(0.05); var_00 = spawn("script_origin",(0,0,0)); var_00 hide(); var_01 = scripts\common\utility::func_116D7(scripts\mp\_utility::func_9D46(),5,2); while(game["state"] == "playing") { if(!level.var_1191F && scripts\mp\_utility::func_81CA()) { var_02 = func_81CD() / 1000; var_03 = int(var_02 + 0.5); if(var_03 >= 30 && var_03 <= 60) { level notify("match_ending_soon","time"); } if(var_03 <= 10 || var_03 <= 30 && var_03 % var_01 == 0) { level notify("match_ending_very_soon"); if(var_03 == 0) { break; } var_00 playsound("ui_mp_timer_countdown"); } if(var_02 - floor(var_02) >= 0.05) { wait(var_02 - floor(var_02)); } } wait(1); } } //Function Number: 65 func_7687() { level endon("game_ended"); if(isdefined(game["startTimeFromMatchStart"])) { level.var_10E00 = game["startTimeFromMatchStart"]; } level waittill("prematch_over"); level.var_10DFF = gettime(); level.var_561F = 0; if(!isdefined(game["startTimeFromMatchStart"])) { game["startTimeFromMatchStart"] = gettime(); level.var_10E00 = gettime(); scripts\mp\_matchdata::func_C558(); } if(isdefined(game["roundMillisecondsAlreadyPassed"])) { level.var_10DFF = level.var_10DFF - game["roundMillisecondsAlreadyPassed"]; game["roundMillisecondsAlreadyPassed"] = undefined; } if(game["roundsPlayed"] < 24) { setmatchdata("utcRoundStartTimeSeconds",game["roundsPlayed"],function_00D2()); } var_00 = gettime(); while(game["state"] == "playing") { if(!level.var_1191F) { game["timePassed"] = game["timePassed"] + gettime() - var_00; } var_00 = gettime(); wait(1); } } //Function Number: 66 func_12F45(param_00) { var_01 = level.var_11920 || isdefined(level.var_90A9); if(!scripts\mp\_utility::func_766C("prematch_done")) { var_01 = 0; } if(!level.var_1191F && var_01) { level.var_1191F = 1; level.var_1191E = gettime(); var_02 = func_81CD(); if(isdefined(param_00)) { function_01AF(param_00); } else { function_01AF(gettime() + int(var_02)); } setomnvar("ui_match_timer_stopped",1); return; } if(level.var_1191F && !var_01) { level.var_1191F = 0; level.var_561F = level.var_561F + gettime() - level.var_1191E; var_02 = func_81CD(); if(isdefined(param_00)) { function_01AF(param_00); } else { function_01AF(gettime() + int(var_02)); } setomnvar("ui_match_timer_stopped",0); } } //Function Number: 67 func_C9D6(param_00) { level.var_11920 = 1; func_12F45(param_00); } //Function Number: 68 func_E2FF(param_00) { level.var_11920 = 0; func_12F45(param_00); } //Function Number: 69 func_10D9F() { setslowmotion(1,1,0); thread func_7687(); level.var_1191F = 0; level.var_11920 = 0; setomnvar("ui_prematch_period",1); func_D84D(); function_026C("MatchStarted: Completed"); thread scripts\mp\_analyticslog::func_AFB1(); scripts\mp\_utility::func_766F("prematch_done"); level notify("prematch_over"); setomnvar("ui_prematch_period",0); func_12F45(); if(scripts\mp\_utility::func_81CA() > 0) { setomnvar("ui_match_timer_hidden",0); } else { setomnvar("ui_match_timer_hidden",1); } thread func_118F7(); thread func_8487(); thread scripts\mp\_missions::func_E75B(); } //Function Number: 70 func_13BE6() { level endon("game_ended"); while(game["state"] == "playing") { var_00 = gettime(); if(var_00 - level.var_AA44["allies"] > level.var_13BDE["allies"] * 1000) { level notify("wave_respawn_allies"); level.var_AA44["allies"] = var_00; level.var_13BE0["allies"] = 0; } if(var_00 - level.var_AA44["axis"] > level.var_13BDE["axis"] * 1000) { level notify("wave_respawn_axis"); level.var_AA44["axis"] = var_00; level.var_13BE0["axis"] = 0; } if(level.multiteambased) { for(var_01 = 0;var_01 < level.teamnamelist.size;var_01++) { if(var_00 - level.var_AA44[level.teamnamelist[var_01]] > level.var_1461[level.teamnamelist[var_01]] * 1000) { var_02 = "wave_rewpawn_" + level.teamnamelist[var_01]; level notify(var_02); level.var_AA44[level.teamnamelist[var_01]] = var_00; level.var_13BE0[level.teamnamelist[var_01]] = 0; } } } wait(0.05); } } //Function Number: 71 func_7E07() { var_00["allies"] = 0; var_00["axis"] = 0; var_01["allies"] = 0; var_01["axis"] = 0; foreach(var_03 in level.players) { var_04 = var_03.pers["team"]; if(isdefined(var_04) && var_04 == "allies" || var_04 == "axis") { var_00[var_04] = var_00[var_04] + var_03.var_1AB; var_01[var_04] = var_01[var_04] + var_03.var_E9; } } if(var_00["allies"] > var_00["axis"]) { return "allies"; } else if(var_00["axis"] > var_00["allies"]) { return "axis"; } if(var_01["allies"] < var_01["axis"]) { return "allies"; } else if(var_01["axis"] < var_01["allies"]) { return "axis"; } if(randomint(2) == 0) { return "allies"; } return "axis"; } //Function Number: 72 func_DCD3(param_00) { if(scripts\mp\_utility::func_B3EC()) { func_FB23(); if(func_90A2()) { level.var_90A1 = 1; function_0132("host idled out"); function_0063(); } func_12ECA(param_00); } func_12F65(param_00); } //Function Number: 73 func_56E0(param_00,param_01) { if(level.var_8865 == "halftime" && level.var_E762 && game["roundsPlayed"] * 2 == level.var_E762) { foreach(var_03 in level.players) { var_03 method_8461("mus_mp_halftime"); } } else if(level.var_D4ED) { foreach(var_03 in level.players) { var_03 method_8461("mus_mp_halftime"); } } else if(level.var_8865 == "halftime" && !level.var_E762) { foreach(var_03 in level.players) { var_03 method_8461("mus_mp_halftime"); } } if(!level.var_5828 && scripts\mp\_utility::func_9EA9() && game["finalRound"] == 0) { param_00 = "roundend"; } foreach(var_03 in level.players) { if(level.teambased) { var_03 thread scripts\mp\_hud_message::func_115DD(param_00,1,param_01); continue; } var_03 thread scripts\mp\_hud_message::func_C752(param_00,param_01); } } //Function Number: 74 func_56DA(param_00,param_01) { setomnvar("ui_match_over",1); foreach(var_03 in level.players) { if(level.teambased) { var_03 thread scripts\mp\_hud_message::func_115DD(param_00,0,param_01); continue; } var_03 thread scripts\mp\_hud_message::func_C752(param_00,param_01); } level notify("game_win",param_00); } //Function Number: 75 func_56E1() { level notify("spawning_intermission"); foreach(var_01 in level.players) { var_01 thread scripts\mp\_playerlogic::func_108DD(); } var_03 = level.var_8865; if(var_03 == "halftime") { if(level.var_E762) { if(game["roundsPlayed"] * 2 == level.var_E762) { var_03 = "halftime"; } else { var_03 = "intermission"; } } else { var_03 = "intermission"; } } level notify("round_switch",var_03); if(game["finalRound"] == 1) { var_03 = "finalround"; } var_04 = 0; if(isdefined(level.var_11374)) { var_04 = game["end_reason"]["switching_sides"]; } foreach(var_01 in level.players) { var_01 thread scripts\mp\_hud_message::func_115DD(var_03,1,var_04); } func_E761(level.var_8864,0); } //Function Number: 76 func_7384(param_00,param_01,param_02,param_03) { if(!isdefined(param_00)) { param_00 = 0; } if(!isdefined(param_03)) { param_03 = 0; } if(param_00 > 0 && param_03) { thread func_1032D(param_00); } if(param_00 > 1 && !scripts\mp\_utility::func_9FB3(level.var_C1C3)) { thread func_636B(param_00); } thread func_F22F(param_00); foreach(var_05 in level.players) { var_05 thread func_7386(param_00); var_05 thread func_E760(4); var_05 func_736F(); var_05 setclientdvars("cg_everyoneHearsEveryone",1,"cg_drawSpectatorMessages",0); if(isdefined(param_01) && isdefined(param_02)) { if(param_01 == "cg_fovScale" && var_05 issplitscreenplayer()) { var_05 setclientdvars(param_01,0.75); } var_05 setclientdvars(param_01,param_02); } } foreach(var_08 in level.var_1900) { var_08 scripts\mp\_utility::func_7385(1); } } //Function Number: 77 func_636B(param_00) { var_01 = param_00 * 1.3; function_0235("bw",var_01); scripts\mp\_hostmigration::func_13708(var_01); } //Function Number: 78 func_1032D(param_00) { setslowmotion(1,0.4,param_00); func_F6DF(); scripts\mp\_hostmigration::func_13708(param_00); setslowmotion(1,1,0); func_E26E(); } //Function Number: 79 func_F6DF() { soundsettimescalefactor("music_lr",0); soundsettimescalefactor("music_lsrs",0); soundsettimescalefactor("voice_air_3d",0); soundsettimescalefactor("voice_radio_3d",0); soundsettimescalefactor("voice_radio_2d",0); soundsettimescalefactor("voice_narration_2d",0); soundsettimescalefactor("voice_special_2d",0); soundsettimescalefactor("voice_bchatter_1_3d",0); soundsettimescalefactor("plr_ui_ingame_unres_2d",0); soundsettimescalefactor("hurt_nofilter_2d",0.15); soundsettimescalefactor("amb_bed_2d",0.25); soundsettimescalefactor("amb_elm_ext_unres_3d",0.25); soundsettimescalefactor("amb_elm_int_unres_3d",0.25); soundsettimescalefactor("amb_elm_unres_3d",0.25); soundsettimescalefactor("weap_plr_fire_1_2d",0.25); soundsettimescalefactor("weap_plr_fire_2_2d",0.25); soundsettimescalefactor("weap_plr_fire_3_2d",0.25); soundsettimescalefactor("weap_plr_fire_4_2d",0.25); soundsettimescalefactor("weap_plr_fire_overlap_2d",0.25); soundsettimescalefactor("weap_plr_fire_lfe_2d",0); soundsettimescalefactor("weap_plr_fire_alt_1_2d",0.25); soundsettimescalefactor("weap_plr_fire_alt_2_2d",0.25); soundsettimescalefactor("weap_plr_fire_alt_3_2d",0.25); soundsettimescalefactor("weap_plr_fire_alt_4_2d",0.25); soundsettimescalefactor("reload_plr_res_2d",0.3); soundsettimescalefactor("reload_plr_unres_2d",0.3); soundsettimescalefactor("scn_fx_unres_3d",0.25); soundsettimescalefactor("scn_fx_unres_2d",0.25); soundsettimescalefactor("scn_lfe_unres_2d",0); soundsettimescalefactor("scn_lfe_unres_3d",0); soundsettimescalefactor("spear_refl_close_unres_3d_lim",0.25); soundsettimescalefactor("spear_refl_unres_3d_lim",0.25); soundsettimescalefactor("weap_npc_main_3d",0.25); soundsettimescalefactor("weap_npc_mech_3d",0.25); soundsettimescalefactor("weap_npc_mid_3d",0.25); soundsettimescalefactor("weap_npc_lfe_3d",0); soundsettimescalefactor("weap_npc_dist_3d",0.25); soundsettimescalefactor("weap_npc_lo_3d",0.25); soundsettimescalefactor("melee_npc_3d",0.25); soundsettimescalefactor("melee_plr_2d",0.25); soundsettimescalefactor("special_hi_unres_1_3d",0.25); soundsettimescalefactor("special_lo_unres_1_2d",0); soundsettimescalefactor("bulletflesh_npc_1_unres_3d_lim",0.25); soundsettimescalefactor("bulletflesh_npc_2_unres_3d_lim",0.25); soundsettimescalefactor("bulletflesh_1_unres_3d_lim",0.25); soundsettimescalefactor("bulletflesh_2_unres_3d_lim",0.25); soundsettimescalefactor("foley_plr_mvmt_unres_2d_lim",0.3); soundsettimescalefactor("scn_fx_unres_2d_lim",0.3); soundsettimescalefactor("menu_1_2d_lim",0); soundsettimescalefactor("shock1_nofilter_3d",0.25); soundsettimescalefactor("equip_use_unres_3d",0.3); soundsettimescalefactor("explo_1_3d",0.3); soundsettimescalefactor("explo_2_3d",0.3); soundsettimescalefactor("explo_3_3d",0.3); soundsettimescalefactor("explo_4_3d",0.3); soundsettimescalefactor("explo_5_3d",0.3); soundsettimescalefactor("explo_lfe_3d",0.3); soundsettimescalefactor("vehicle_air_loops_3d_lim",0.3); soundsettimescalefactor("projectile_loop_close",0.3); soundsettimescalefactor("projectile_loop_mid",0.3); soundsettimescalefactor("projectile_loop_dist",0.3); } //Function Number: 80 func_E26E() { soundsettimescalefactor("music_lr",0); soundsettimescalefactor("music_lsrs",0); soundsettimescalefactor("weap_plr_fire_1_2d",0); soundsettimescalefactor("weap_plr_fire_2_2d",0); soundsettimescalefactor("weap_plr_fire_3_2d",0); soundsettimescalefactor("weap_plr_fire_4_2d",0); soundsettimescalefactor("weap_plr_fire_overlap_2d",0); soundsettimescalefactor("weap_plr_fire_lfe_2d",0); soundsettimescalefactor("weap_plr_fire_alt_1_2d",0); soundsettimescalefactor("weap_plr_fire_alt_2_2d",0); soundsettimescalefactor("weap_plr_fire_alt_3_2d",0); soundsettimescalefactor("weap_plr_fire_alt_4_2d",0); soundsettimescalefactor("scn_fx_unres_3d",0); soundsettimescalefactor("scn_fx_unres_2d",0); soundsettimescalefactor("spear_refl_close_unres_3d_lim",0); soundsettimescalefactor("spear_refl_unres_3d_lim",0); soundsettimescalefactor("weap_npc_main_3d",0); soundsettimescalefactor("weap_npc_mech_3d",0); soundsettimescalefactor("weap_npc_mid_3d",0); soundsettimescalefactor("weap_npc_lfe_3d",0); soundsettimescalefactor("weap_npc_dist_3d",0); soundsettimescalefactor("weap_npc_lo_3d",0); soundsettimescalefactor("melee_npc_3d",0); soundsettimescalefactor("melee_plr_2d",0); soundsettimescalefactor("special_hi_unres_1_3d",0); soundsettimescalefactor("special_lo_unres_1_2d",0); soundsettimescalefactor("bulletflesh_npc_1_unres_3d_lim",0); soundsettimescalefactor("bulletflesh_npc_2_unres_3d_lim",0); soundsettimescalefactor("bulletflesh_1_unres_3d_lim",0); soundsettimescalefactor("bulletflesh_2_unres_3d_lim",0); soundsettimescalefactor("foley_plr_mvmt_unres_2d_lim",0); soundsettimescalefactor("scn_fx_unres_2d_lim",0); soundsettimescalefactor("menu_1_2d_lim",0); soundsettimescalefactor("equip_use_unres_3d",0); soundsettimescalefactor("explo_1_3d",0); soundsettimescalefactor("explo_2_3d",0); soundsettimescalefactor("explo_3_3d",0); soundsettimescalefactor("explo_4_3d",0); soundsettimescalefactor("explo_5_3d",0); soundsettimescalefactor("explo_lfe_3d",0); soundsettimescalefactor("vehicle_air_loops_3d_lim",0); soundsettimescalefactor("projectile_loop_close",0); soundsettimescalefactor("projectile_loop_mid",0); soundsettimescalefactor("projectile_loop_dist",0); } //Function Number: 81 func_F22F(param_00) { wait(param_00); level notify("game_ended_frozen"); } //Function Number: 82 func_E2A9() { setomnvarforallclients("post_game_state",0); level notify("restarting"); game["state"] = "playing"; map_restart(1); } //Function Number: 83 endgame(param_00,param_01,param_02) { if(isdefined(level.endgame)) { [[ level.endgame ]](param_00,param_01); return; } func_6322(param_00,param_01,param_02); } //Function Number: 84 func_6322(param_00,param_01,param_02) { if(!isdefined(param_02)) { param_02 = 0; } if(level.var_7669) { return; } if(game["roundsPlayed"] < 24) { setmatchdata("utcRoundEndTimeSeconds",game["roundsPlayed"],function_00D2()); } scripts\mp\_matchdata::func_C557(); var_03 = 0; if(level.var_90A1 || level.var_72B3) { var_03 = 1; } if(scripts\mp\_utility::func_9900()) { if(game["overtimeRoundsPlayed"] == 0) { setmatchdata("firstOvertimeRoundIndex",game["roundsPlayed"]); } if(!var_03) { game["overtimeRoundsPlayed"]++; } } if(level.teambased) { if(param_00 == "axis" || param_00 == "allies") { if(!var_03) { game["roundsWon"][param_00]++; } if(!isdefined(level.var_6C6F)) { level.var_6C6F = param_00; } } else if(!isdefined(level.var_6C6F)) { level.var_6C6F = "none"; } scripts\mp\_gamescore::func_12F3B("axis"); scripts\mp\_gamescore::func_12F3B("allies"); if(scripts\mp\_utility::func_9F32() && game["roundsPlayed"] < 24 && level.gametype != "koth") { setmatchdata("alliesRoundScore",game["roundsPlayed"],getteamscore("allies")); setmatchdata("axisRoundScore",game["roundsPlayed"],getteamscore("axis")); } } else { if(isdefined(param_00) && isplayer(param_00) && !var_03) { game["roundsWon"][param_00.var_86BD]++; } if(!isdefined(level.var_6C6F)) { if(isstring(param_00) && param_00 == "tie") { level.var_6C6F = "none"; } else { level.var_6C6F = param_00.var_86BD; } } } scripts\mp\_gamescore::func_12EEC(); if(!var_03) { game["roundsPlayed"]++; } level.var_D4ED = scripts\mp\_utility::func_1004B(); if(scripts\mp\_utility::func_BFA7()) { game["finalRound"] = 1; } if(scripts\mp\_utility::func_13916()) { param_00 = checkmodeoverridetie(param_00); } var_04 = func_6321(param_00,param_01,param_02); if(var_04 && scripts\mp\_utility::func_13916()) { func_6320(param_00,param_01,param_02); } } //Function Number: 85 checkmodeoverridetie(param_00) { if(level.gametype == "ctf" && param_00 == "tie" && !level.var_13D8D) { scripts\mp\_gamescore::func_12F4A("axis"); scripts\mp\_gamescore::func_12F4A("allies"); var_01 = getteamscore("allies"); var_02 = getteamscore("axis"); if(var_01 != var_02) { param_00 = scripts\common\utility::func_116D7(var_01 > var_02,"allies","axis"); } } return param_00; } //Function Number: 86 func_6323() { if(isdefined(level.var_6C6F)) { level.var_6C6C[level.var_6C6F] = scripts\mp\_utility::func_810C(); level notify("game_cleanup"); level waittill("final_killcam_done"); } } //Function Number: 87 func_6321(param_00,param_01,param_02) { level.var_766B = gettime(); level.var_7669 = 1; level.ingraceperiod = 0; level.var_5828 = 0; if(getdvarint("scr_eom_combat")) { if(scripts\mp\_utility::func_13916()) { level.var_5828 = 1; } } scripts\common\utility::func_136F7(); scripts\mp\_gamescore::func_12EEC(); level.var_DDEE = 0; level.ignorescoring = 1; level.var_561D = 1; scripts\mp\_final_killcam::preloadfinalkillcam(); if(scripts\mp\_utility::func_13916()) { level notify("round_end_music",param_00); } if(level.var_5828) { setomnvarforallclients("post_game_state",1); setomnvarforallclients("post_game_state",2); foreach(var_04 in level.players) { if(level.teambased) { var_04 thread scripts\mp\_hud_message::func_115DD(param_00,0,param_01); continue; } var_04 thread scripts\mp\_hud_message::func_C752(param_00,param_01); } func_7384(3,"cg_fovScale",1,1); scripts\mp\_hostmigration::func_13708(3); game["state"] = "postgame"; level notify("game_ended",param_00); scripts\mp\_utility::func_ABF4("game_over"); scripts\mp\_utility::func_ABF4("block_notifies"); scripts\common\utility::func_136F7(); foreach(var_04 in level.players) { var_04 setclientdvar("ui_opensummary",1); if(scripts\mp\_utility::func_13918() || scripts\mp\_utility::func_13916()) { var_04 scripts\mp\killstreaks\_killstreaks::func_41C0(); } } } else { setomnvarforallclients("post_game_state",1); game["state"] = "postgame"; level notify("game_ended",param_01); scripts\mp\_utility::func_ABF4("game_over"); scripts\mp\_utility::func_ABF4("block_notifies"); scripts\common\utility::func_136F7(); foreach(var_04 in level.players) { var_04 setclientdvar("ui_opensummary",1); if(scripts\mp\_utility::func_13918() || scripts\mp\_utility::func_13916()) { var_04 scripts\mp\killstreaks\_killstreaks::func_41C0(); } } func_7384(1,"cg_fovScale",1,0); } function_01AF(0); thread scripts\mp\_analyticslog::func_AFB1(); scripts\mp\_playerlogic::func_D919(); if(scripts\mp\_analyticslog::func_1E6A()) { scripts\mp\_analyticslog::func_1E6B(); } if(isdefined(level.var_B3F0)) { [[ level.var_B3F0 ]](); } func_DCD3(param_00); setdvar("g_deadChat",1); setdvar("ui_allow_teamchange",0); setdvar("bg_compassShowEnemies",0); func_56E0(param_00,param_01); if(!scripts\mp\_utility::func_13916()) { level notify("round_win",param_00); func_E761(level.var_E75F,1); } else { func_E761(0,1); } func_6323(); setslowmotion(1,1,0); func_E26E(); if(level.teambased) { scripts\mp\_gamescore::func_12F4A("axis"); scripts\mp\_gamescore::func_12F4A("allies"); } if(!scripts\mp\_utility::func_13918() && !param_02) { if(!scripts\mp\_utility::func_13916()) { if(level.var_D4ED) { param_00 = "overtime"; game["status"] = "overtime"; } scripts\mp\_utility::func_ABF1("block_notifies"); if(func_3E43(level.var_D4ED)) { func_56E1(); } foreach(var_04 in level.players) { var_04.pers["stats"] = var_04.var_10E53; } func_E2A9(); return 0; } if(!level.var_72B3) { var_04 = func_12F07(param_02); } } return 1; } //Function Number: 88 func_6320(param_00,param_01,param_02) { if(!scripts\mp\_utility::func_9FB3(level.processedwinloss) && scripts\mp\_utility::func_9FB3(level.var_72F2) || level.var_72B3) { func_12F65(param_00); } scripts\mp\_missions::func_E75D(param_00); scripts\mp\_intel::updatemissionteamperformancestats(); func_3E16(); func_12F23(); scripts\mp\_persistence::func_13E03(); level notify("stop_leaderboard_stats"); updateleaderboardstats(); level.var_58D7 = scripts\mp\_broshot::func_97E0(param_00); if(!level.var_58D7) { level notify("spawning_intermission"); foreach(var_04 in level.players) { var_04 thread scripts\mp\_utility::func_F8A0(0); var_04 thread scripts\mp\_playerlogic::func_108DD(); } } if(scripts\mp\_utility::func_9FB3(param_02) && !scripts\mp\_utility::func_9FB3(level.var_C1B2)) { scripts\mp\_utility::func_144F(level.var_C1D0,0); function_0235("",0.75); } else { scripts\mp\_utility::func_144F("",0); function_0235("",0.75); } func_56DA(param_00,param_01); scripts\mp\_utility::func_ABF1("block_notifies"); level.var_18F = 1; if(!level.var_58D7) { setomnvarforallclients("post_game_state",4); func_E761(level.var_D706,1); } func_D9AA(); if(level.var_58D7) { setomnvarforallclients("post_game_state",6); wait(0.1); var_06 = scripts\mp\_broshot::func_10D73(param_00); var_07 = undefined; foreach(var_04 in level.players) { if(var_04 ishost()) { var_07 = var_04; break; } } if(isdefined(var_07)) { var_07 scripts\common\utility::waittill_notify_or_timeout("dev_skip_broshot",var_06); } else { wait(var_06); } scripts\mp\_broshot::func_6311(); } if(level.teambased) { if(param_00 == "axis" || param_00 == "allies") { setmatchdata("victor",param_00); } else { setmatchdata("victor","none"); } setmatchdata("alliesScore",getteamscore("allies")); setmatchdata("axisScore",getteamscore("axis")); } else { setmatchdata("victor","none"); } foreach(var_04 in level.players) { var_04 setplayerdata("common","round","endReasonTextIndex",param_01); if(var_04 scripts\mp\_utility::func_DCD5()) { var_04 scripts\mp\_matchdata::func_AFB9(); } if(isalive(var_04) && isdefined(var_04.var_B3E3)) { var_04 scripts\mp\_matchdata::logxpscoreearnedinlife(var_04.var_B3E3); } if(level.teambased) { if(param_00 == "axis" || param_00 == "allies") { if(isdefined(var_04.team)) { if(var_04.team == param_00) { var_04 method_859C(var_04.var_41F0,"win"); } else { var_04 method_859C(var_04.var_41F0,"loss"); } } else { var_04 method_859C(var_04.var_41F0,"none"); } } else if(getteamscore("allies") == getteamscore("axis")) { var_04 method_859C(var_04.var_41F0,"draw"); } else { var_04 method_859C(var_04.var_41F0,"none"); } continue; } if(isplayer(param_00) && param_00.var_41F0 == var_04.var_41F0) { var_04 method_859C(var_04.var_41F0,"win"); continue; } var_04 method_859C(var_04.var_41F0,"loss"); } setmatchdata("host",level.var_90AE); if(scripts\mp\_utility::func_B3EC()) { setmatchdata("playlistVersion",function_00C2()); setmatchdata("playlistID",function_00C1()); setmatchdata("isDedicated",function_0103()); } sendmatchdata(); foreach(var_04 in level.players) { var_04.pers["stats"] = var_04.var_10E53; } if(!param_02 && !level.var_D701) { if(!level.var_58D7) { if(!scripts\mp\_utility::func_13918()) { wait(6); } else { wait(min(5,4 + level.var_D701)); } } } else { wait(min(10,4 + level.var_D701)); } if(function_0303()) { for(var_0E = getgamebattlematchreportstate();var_0E != 3 && var_0E != 4;var_0E = getgamebattlematchreportstate()) { wait(1); } setomnvarforallclients("post_game_state",5); wait(5); } setomnvarforallclients("post_game_state",1); scripts\mp\_utility::func_ABF6("post_game_level_event_active"); function_01BC(0); function_01BD(0); level notify("exitLevel_called"); exitlevel(0); } //Function Number: 89 func_12F07(param_00) { if(!level.teambased) { return 1; } if(scripts\mp\_utility::func_9EA9()) { if(scripts\mp\_utility::func_9044()) { return game["end_reason"]["score_limit_reached"]; } if(scripts\mp\_utility::func_9049()) { return game["end_reason"]["time_limit_reached"]; } } else if(scripts\mp\_utility::func_9041()) { return game["end_reason"]["round_limit_reached"]; } if(scripts\mp\_utility::func_904A()) { return game["end_reason"]["score_limit_reached"]; } return game["end_reason"]["objective_completed"]; } //Function Number: 90 func_6747(param_00) { if(!scripts\mp\_utility::func_9EA9()) { var_01 = func_8106(param_00); var_02 = func_8108(param_00); var_03 = 999999; if(var_01) { var_03 = var_02 / var_01; } return var_03; } var_01 = func_8106(var_03); var_02 = func_8106(var_02); var_03 = 999999; if(var_01) { var_03 = var_02 / var_01; } return var_03; } //Function Number: 91 func_42AC(param_00) { var_01 = 10; var_02 = 20; if(level.gametype == "tdef") { var_01 = 20; } if(level.gametype == "dom") { var_02 = 20; } var_03 = level.var_E763; var_04 = getteamscore(param_00); var_05 = var_03 - var_04; if(var_05 <= scripts\common\utility::func_116D7(scripts\mp\_utility::func_9FB3(game["finalRound"]),var_02,var_01)) { return 1; } return 0; } //Function Number: 92 func_8106(param_00) { var_01 = scripts\mp\_utility::func_81CB() / -5536 + 0.0001; if(isplayer(self)) { var_02 = self.var_278 / var_01; } else { var_02 = getteamscore(var_01) / var_02; } return var_02; } //Function Number: 93 func_8108(param_00) { var_01 = level.var_E763; if(isplayer(self)) { var_02 = var_01 - self.var_278; } else { var_02 = var_02 - getteamscore(var_01); } return var_02; } //Function Number: 94 func_8107(param_00) { var_01 = level.var_E763; if(!game["switchedsides"]) { var_01 = var_01 / 2; var_02 = scripts\mp\_utility::func_81CB() / -5536 + 0.0001; var_03 = getteamscore(param_00) / var_02; } else { var_03 = int(var_03 / 2); var_02 = scripts\mp\_utility::func_81CB() / -5536 + 0.0001; var_04 = getteamscore(var_01); if(var_04 >= var_01) { var_03 = var_04 - var_01 / var_02; } else { return 0; } } return var_03; } //Function Number: 95 func_8378() { self endon("death"); self endon("disconnect"); level endon("game_ended"); scripts\mp\_utility::func_1383E(3); thread scripts\mp\_utility::func_115DE("callout_lastteammemberalive",self,self.pers["team"]); foreach(var_01 in level.teamnamelist) { if(self.pers["team"] != var_01) { thread scripts\mp\_utility::func_115DE("callout_lastenemyalive",self,var_01); } } scripts\mp\_music_and_dialog::func_C54B(self); } //Function Number: 96 func_D9AA() { var_00 = 0; foreach(var_02 in level.players) { if(!isdefined(var_02)) { continue; } var_02.var_41F4 = var_00; var_00++; if(level.var_DADB && var_02.name.size > level.var_B4B3) { var_03 = ""; for(var_04 = 0;var_04 < level.var_B4B3 - 3;var_04++) { var_03 = var_03 + var_02.name[var_04]; } var_03 = var_03 + "..."; } else { var_03 = var_02.name; } setclientmatchdata("players",var_02.var_41F4,"username",var_03); setclientmatchdata("players",var_02.var_41F4,"clanTag",var_02 method_8567()); setclientmatchdata("players",var_02.var_41F4,"xuidHigh",var_02 method_8565()); setclientmatchdata("players",var_02.var_41F4,"xuidLow",var_02 method_8566()); setclientmatchdata("players",var_02.var_41F4,"isBot",isbot(var_02)); setclientmatchdata("players",var_02.var_41F4,"uniqueClientId",var_02.var_41F0); var_02 setplayerdata("common","round","clientMatchIndex",var_02.var_41F4); } scripts\mp\_scoreboard::func_D9AB(); function_01A3(); if(scripts\mp\_codcasterclientmatchdata::func_10036()) { thread scripts\mp\_codcasterclientmatchdata::func_F22C(); } } //Function Number: 97 func_11AF7(param_00,param_01) { thread func_117B7(param_00,1,"deaths"); } //Function Number: 98 func_11AC8(param_00,param_01) { if(isdefined(self) && isplayer(self)) { if(param_01 != "MOD_FALLING") { if(param_01 == "MOD_MELEE" && issubstr(param_00,"tactical")) { scripts\mp\_matchdata::func_AF94("tactical","kills",1); scripts\mp\_matchdata::func_AF94("tactical","hits",1); scripts\mp\_persistence::func_93F9("tactical","kills",1); scripts\mp\_persistence::func_93F9("tactical","hits",1); return; } if(param_01 == "MOD_MELEE" && !scripts\mp\_weapons::func_9F2D(param_00) && !scripts\mp\_weapons::func_9E6D(param_00) && !scripts\mp\_weapons::isaxeweapon(param_00)) { scripts\mp\_matchdata::func_AF94("none","kills",1); scripts\mp\_matchdata::func_AF94("none","hits",1); scripts\mp\_persistence::func_93F9("none","kills",1); scripts\mp\_persistence::func_93F9("none","hits",1); return; } thread func_117B7(param_00,1,"kills"); } if(param_01 == "MOD_HEAD_SHOT") { thread func_117B7(param_00,1,"headShots"); } } } //Function Number: 99 func_FB1D(param_00,param_01,param_02) { if(!param_01) { return; } var_03 = scripts\mp\_utility::func_8225(param_00); var_04 = function_02C4(param_00); if(var_03 == "killstreak" || var_03 == "other" && param_00 != "trophy_mp" || var_03 == "other" && param_00 != "player_trophy_system_mp" || var_03 == "other" && param_00 != "super_trophy_mp") { return; } if(scripts\mp\_utility::func_9DE2(param_00)) { return; } if(var_03 == "weapon_grenade" || var_03 == "weapon_explosive" || param_00 == "trophy_mp" || param_00 == "adrenaline_mist_mp" || param_00 == "domeshield_mp" || param_00 == "copycat_grenade_mp" || param_00 == "speed_strip_mp" || param_00 == "forcepush_mp" || param_00 == "portal_generator_mp") { var_05 = scripts\mp\_utility::strip_suffix(param_00,"_mp"); scripts\mp\_persistence::func_93FC(var_05,param_02,param_01); scripts\mp\_matchdata::func_AFDC(var_05,param_02,param_01,var_04); return; } if(!isdefined(self.var_11AF0)) { self.var_11AF0 = param_01; } if(param_01 != self.var_11AF0) { scripts\mp\_persistence::func_12F5E(); self.var_11AF0 = param_01; } switch(var_03) { case "shots": self.var_11AF1++; break; case "hits": self.var_11AEE++; break; case "headShots": self.var_11AED++; break; case "kills": self.var_11AEF++; break; } if(var_03 == "deaths") { var_06 = undefined; var_07 = scripts\mp\_utility::func_8234(param_01); if(!scripts\mp\_utility::func_9D78(var_07) && !scripts\mp\_utility::func_9D79(var_07)) { return; } var_08 = scripts\mp\_utility::func_821A(param_01); scripts\mp\_persistence::func_93FC(var_07,var_03,param_02); scripts\mp\_matchdata::func_AFDC(var_07,"deaths",param_02,var_05); foreach(var_0A in var_08) { scripts\mp\_persistence::func_93F9(var_0A,var_03,param_02); scripts\mp\_matchdata::func_AF94(var_0A,var_03,param_02); } } } //Function Number: 100 func_F759(param_00,param_01,param_02) { if(!isdefined(param_01)) { return; } if(!isdefined(param_00)) { param_01 func_FB1D(param_02,1,"hits"); return; } if(!isdefined(param_00.var_D35E)) { param_00.var_D35E = []; } var_03 = 1; for(var_04 = 0;var_04 < param_00.var_D35E.size;var_04++) { if(param_00.var_D35E[var_04] == self) { var_03 = 0; break; } } if(var_03) { param_00.var_D35E[param_00.var_D35E.size] = self; param_01 func_FB1D(param_02,1,"hits"); } } //Function Number: 101 func_117B7(param_00,param_01,param_02) { self endon("disconnect"); waittillframeend; func_FB1D(param_00,param_01,param_02); } //Function Number: 102 func_12F23() { foreach(var_01 in level.players) { if(!isdefined(var_01)) { continue; } if(var_01 scripts\mp\_utility::func_DCD5()) { var_02 = getmatchspm(var_01); var_03 = var_01 getplayerdata("mp","globalSPM"); var_04 = var_01 getplayerdata("mp","gamesPlayed"); var_05 = var_01 getplayerdata("mp","dlcEggStatus"); if(var_05 > 0) { var_04 = int(max(var_04 - var_05,1)); } var_03 = var_03 * var_04 - 1; var_06 = var_02; if(var_04 > 0) { var_06 = var_03 + var_02 / var_04; } var_01 setplayerdata("mp","globalSPM",int(var_06)); var_07 = function_009F(level.gametype); if(var_07 >= 0 && var_07 < level.var_B4A0) { var_08 = var_01 getplayerdata("mp","gameModeScoreHistory",var_07,"index"); var_01 setplayerdata("mp","gameModeScoreHistory",var_07,"scores",var_08,int(var_02)); var_08 = var_08 + 1 % level.var_B4A1; var_01 setplayerdata("mp","gameModeScoreHistory",var_07,"index",var_08); } } } } //Function Number: 103 func_3E16() { foreach(var_01 in level.players) { if(!isdefined(var_01)) { continue; } if(var_01 scripts\mp\_utility::func_DCD5()) { var_02 = var_01 getplayerdata("common","round","kills"); var_03 = var_01 getplayerdata("common","round","deaths"); var_04 = var_01.pers["summary"]["xp"]; var_05 = var_01 getplayerdata("mp","bestKills"); var_06 = var_01 getplayerdata("mp","mostDeaths"); var_07 = var_01 getplayerdata("mp","mostXp"); var_08 = var_01 getplayerdata("mp","bestSPM","score"); var_09 = var_01 getplayerdata("mp","bestKD","score"); if(var_02 > var_05) { var_01 setplayerdata("mp","bestKills",var_02); } if(var_04 > var_07) { var_01 setplayerdata("mp","mostXp",var_04); } if(var_03 > var_06) { var_01 setplayerdata("mp","mostDeaths",var_03); } var_0A = var_02; if(var_03 > 1) { var_0A = var_0A / var_03; } var_0A = int(var_0A * 1000); if(var_0A > var_09) { var_01 setplayerdata("mp","bestKD","score",var_0A); var_01 setplayerdata("mp","bestKD","time",function_00D2()); } var_0B = getmatchspm(var_01); if(var_0B > var_08) { var_01 setplayerdata("mp","bestSPM","score",int(var_0B)); var_01 setplayerdata("mp","bestSPM","time",function_00D2()); } var_01 func_3E0C(); var_01 scripts\mp\_matchdata::func_AFD7(var_04,"totalXp"); var_01 scripts\mp\_matchdata::func_AFD7(var_01.pers["summary"]["score"],"scoreXp"); var_01 scripts\mp\_matchdata::func_AFD7(var_01.pers["summary"]["challenge"],"challengeXp"); var_01 scripts\mp\_matchdata::func_AFD7(var_01.pers["summary"]["match"],"matchXp"); var_01 scripts\mp\_matchdata::func_AFD7(var_01.pers["summary"]["misc"],"miscXp"); var_01 scripts\mp\_matchdata::func_AFD7(var_01.pers["summary"]["medal"],"medalXp"); var_01 scripts\mp\_matchdata::func_AFD7(var_01.pers["summary"]["bonusXP"],"bonusXp"); } if(isdefined(var_01.pers["confirmed"])) { var_01 scripts\mp\_matchdata::func_AFC6(); } if(isdefined(var_01.pers["denied"])) { var_01 scripts\mp\_matchdata::func_AFC7(); } } } //Function Number: 104 updateleaderboardstatscontinuous() { level endon("game_ended"); level endon("stop_leaderboard_stats"); var_00 = 0; for(;;) { while(!isdefined(level.players) || level.players.size == 0) { scripts\common\utility::func_136F7(); } if(var_00 >= level.players.size) { var_00 = 0; } var_01 = level.players[var_00]; if(!isdefined(var_01) || isai(var_01)) { scripts\common\utility::func_136F7(); } else { if(var_01 scripts\mp\_utility::func_DCD5()) { var_01 updateplayerleaderboardstats(); } wait(0.1); } var_00++; } } //Function Number: 105 updateleaderboardstats() { foreach(var_01 in level.players) { if(!isdefined(var_01) || isai(var_01)) { continue; } if(var_01 scripts\mp\_utility::func_DCD5()) { var_01 updateplayerleaderboardstats(); } } } //Function Number: 106 updateplayerleaderboardstats() { var_00 = undefined; if(level.var_8B38) { var_00 = "hc"; } else { var_00 = ""; } var_00 = var_00 + level.gametype; var_01 = scripts\common\utility::func_116D7(level.teambased,self.var_278,self.pers["gamemodeScore"]); incrementleaderboardstat(var_00 + "Score",var_01); var_02 = scripts\mp\_persistence::func_10E36("round","timePlayed",0); incrementleaderboardstat(var_00 + "TimePlayed",var_02); incrementleaderboardstat(var_00 + "Kills",self.pers["kills"]); incrementleaderboardstat(var_00 + "Deaths",self.pers["deaths"]); switch(level.gametype) { case "war": incrementleaderboardstat(var_00 + "Assists",self.pers["assists"]); break; case "front": incrementleaderboardstat(var_00 + "Assists",self.pers["assists"]); break; case "dm": updateleaderboardstatmaximum(var_00 + "Streak",self.pers["killChains"]); break; case "dom": incrementleaderboardstat(var_00 + "Captures",self.pers["captures"]); incrementleaderboardstat(var_00 + "Defends",self.pers["defends"]); break; case "sd": incrementleaderboardstat(var_00 + "Plants",self.pers["plants"]); incrementleaderboardstat(var_00 + "Defuses",self.pers["defuses"]); break; case "conf": incrementleaderboardstat(var_00 + "Confirms",self.pers["confirmed"]); incrementleaderboardstat(var_00 + "Denies",self.pers["denied"]); break; case "koth": incrementleaderboardstat(var_00 + "ObjTime",self.pers["objTime"]); incrementleaderboardstat(var_00 + "Defends",self.pers["defends"]); break; case "tdef": incrementleaderboardstat(var_00 + "ObjTime",self.pers["objTime"]); incrementleaderboardstat(var_00 + "Captures",self.pers["defends"]); break; case "ball": incrementleaderboardstat(var_00 + "Throws",self.pers["fieldgoals"]); incrementleaderboardstat(var_00 + "Carries",self.pers["touchdowns"]); break; case "ctf": incrementleaderboardstat(var_00 + "Captures",self.pers["captures"]); incrementleaderboardstat(var_00 + "Returns",self.pers["returns"]); break; case "sr": incrementleaderboardstat(var_00 + "Plants",self.pers["plants"]); incrementleaderboardstat(var_00 + "Rescues",self.pers["rescues"]); break; case "siege": incrementleaderboardstat(var_00 + "Captures",self.pers["captures"]); incrementleaderboardstat(var_00 + "Revives",self.pers["rescues"]); break; case "grind": incrementleaderboardstat(var_00 + "Banks",self.pers["confirmed"]); incrementleaderboardstat(var_00 + "Denies",self.pers["denied"]); break; case "infect": incrementleaderboardstat(var_00 + "Time",scripts\mp\_utility::getpersstat("extrascore0")); incrementleaderboardstat(var_00 + "Infected",self.pers["killsAsInfected"]); break; case "gun": incrementleaderboardstat(var_00 + "Stabs",self.pers["stabs"]); incrementleaderboardstat(var_00 + "SetBacks",self.pers["setbacks"]); break; case "grnd": incrementleaderboardstat(var_00 + "ObjTime",self.pers["objTime"]); incrementleaderboardstat(var_00 + "Defends",self.pers["defends"]); break; } } //Function Number: 107 incrementleaderboardstat(param_00,param_01) { if(!isdefined(self.leaderboardstartvalues)) { self.leaderboardstartvalues = []; } if(!isdefined(self.leaderboardstartvalues[param_00])) { self.leaderboardstartvalues[param_00] = self getplayerdata("mp","leaderBoardData",param_00); } var_02 = int(max(self.leaderboardstartvalues[param_00] + param_01,self.leaderboardstartvalues[param_00])); self setplayerdata("mp","leaderBoardData",param_00,var_02); } //Function Number: 108 updateleaderboardstatmaximum(param_00,param_01) { var_02 = self getplayerdata("mp","leaderBoardData",param_00); if(param_01 > var_02) { self setplayerdata("mp","leaderBoardData",param_00,param_01); } } //Function Number: 109 getmatchspm(param_00) { var_01 = scripts\common\utility::func_116D7(level.teambased,param_00.var_278,param_00.pers["gamemodeScore"]); var_02 = param_00 scripts\mp\_persistence::func_10E36("round","timePlayed",0); if(isdefined(var_02) && var_02 > 0) { var_03 = var_02 / 60; var_01 = var_01 / var_03; } return var_01; } //Function Number: 110 func_9FD2(param_00) { var_01 = scripts\mp\_utility::func_8225(param_00); return isdefined(param_00) && param_00 != "" && !scripts\mp\_utility::func_9E6C(param_00) && var_01 != "killstreak" && var_01 != "other"; } //Function Number: 111 func_3E0C() { var_00 = scripts\mp\_matchdata::func_322A(); var_01 = ""; var_02 = -1; for(var_03 = 0;var_03 < var_00.size;var_03++) { var_04 = var_00[var_03]; var_04 = scripts\mp\_utility::func_8234(var_04); if(func_9FD2(var_04)) { var_05 = self getplayerdata("mp","weaponStats",var_04,"kills"); if(var_05 > var_02) { var_01 = var_04; var_02 = var_05; } } } var_06 = self getplayerdata("mp","weaponStats",var_01,"shots"); var_07 = self getplayerdata("mp","weaponStats",var_01,"headShots"); var_08 = self getplayerdata("mp","weaponStats",var_01,"hits"); var_09 = self getplayerdata("mp","weaponStats",var_01,"deaths"); var_0A = 0; self setplayerdata("mp","bestWeapon","kills",var_02); self setplayerdata("mp","bestWeapon","shots",var_06); self setplayerdata("mp","bestWeapon","headShots",var_07); self setplayerdata("mp","bestWeapon","hits",var_08); self setplayerdata("mp","bestWeapon","deaths",var_09); self setplayerdata("mp","bestWeaponXP",var_0A); var_0B = int(tablelookup("mp/statstable.csv",4,var_01,0)); self setplayerdata("mp","bestWeaponIndex",var_0B); } //Function Number: 112 func_1C73(param_00) { self notify("allow_weapon_mp()"); if(param_00) { if(isdefined(self.var_1CB2) && !self hasweapon(self.var_1CB2)) { scripts\mp\_utility::func_1136C(self.var_A978); } self.var_1CB2 = undefined; return; } self.var_1CB2 = self getcurrentprimaryweapon(); thread func_13AAA(); } //Function Number: 113 func_1C74() { level.var_1C73 = ::func_1C73; } //Function Number: 114 func_13AAA() { self endon("death"); self endon("disconnect"); self endon("allow_weapon_mp()"); for(;;) { self waittill("weapon_switch_invalid",var_00); self.var_1CB2 = var_00; } } //Function Number: 115 ismp_init() { level.ismp = 1; }