mirror of
https://github.com/InfinityLoader/IL-GSC.git
synced 2025-06-11 02:37:56 -05:00
3256 lines
70 KiB
Plaintext
3256 lines
70 KiB
Plaintext
/*******************************************************************
|
|
* Decompiled By: Bog
|
|
* Decompiled File: scripts\mp\_playerlogic.gsc
|
|
* Game: Call of Duty: Infinite Warfare
|
|
* Platform: PC
|
|
* Function Count: 79
|
|
* Decompile Time: 3026 ms
|
|
* Timestamp: 10/27/2023 12:21:15 AM
|
|
*******************************************************************/
|
|
|
|
//Function Number: 1
|
|
func_1193B(param_00)
|
|
{
|
|
if(!self.var_8C2A)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
var_01 = gettime() + param_00 * 1000;
|
|
var_02 = level.var_AA44[self.pers["team"]];
|
|
var_03 = level.var_13BDE[self.pers["team"]] * 1000;
|
|
var_04 = var_01 - var_02 / var_03;
|
|
var_05 = ceil(var_04);
|
|
var_06 = var_02 + var_05 * var_03;
|
|
if(isdefined(self.var_E29A))
|
|
{
|
|
var_07 = gettime() - self.var_E29A / 1000;
|
|
if(self.var_E29A < var_02)
|
|
{
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
if(isdefined(self.var_13BE5))
|
|
{
|
|
var_06 = var_06 + 50 * self.var_13BE5;
|
|
}
|
|
|
|
return var_06 - gettime() / 1000;
|
|
}
|
|
|
|
//Function Number: 2
|
|
func_115D4()
|
|
{
|
|
var_00 = self.pers["teamkills"];
|
|
if(level.var_B47A < 0 || var_00 <= level.var_B47A)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
var_01 = var_00 - level.var_B47A;
|
|
return scripts\mp\_tweakables::func_81E7("team","teamkillspawndelay") * var_01;
|
|
}
|
|
|
|
//Function Number: 3
|
|
func_1193A(param_00)
|
|
{
|
|
if((level.ingraceperiod && !self.var_8C2A) || level.var_7669)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
var_01 = 0;
|
|
if(self.var_8C2A)
|
|
{
|
|
var_02 = self [[ level.var_C583 ]]();
|
|
if(isdefined(var_02))
|
|
{
|
|
var_01 = var_02;
|
|
}
|
|
else
|
|
{
|
|
var_01 = getdvarfloat("scr_" + level.gametype + "_playerrespawndelay");
|
|
}
|
|
|
|
if(param_00 && isdefined(self.pers["teamKillPunish"]) && self.pers["teamKillPunish"])
|
|
{
|
|
var_01 = var_01 + func_115D4();
|
|
}
|
|
|
|
if(isdefined(self.var_E29A))
|
|
{
|
|
var_03 = gettime() - self.var_E29A / 1000;
|
|
var_01 = var_01 - var_03;
|
|
if(var_01 < 0)
|
|
{
|
|
var_01 = 0;
|
|
}
|
|
}
|
|
|
|
if(isdefined(self.var_F851))
|
|
{
|
|
var_01 = var_01 + level.var_11946;
|
|
}
|
|
}
|
|
|
|
var_04 = getdvarint("scr_" + level.gametype + "_waverespawndelay") > 0;
|
|
if(var_04)
|
|
{
|
|
return func_1193B(var_01);
|
|
}
|
|
|
|
return var_01;
|
|
}
|
|
|
|
//Function Number: 4
|
|
func_B4EE()
|
|
{
|
|
if(scripts\mp\_utility::func_9FB3(level.var_C1C3))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(scripts\mp\_utility::func_7ECE() || isdefined(level.var_5611))
|
|
{
|
|
if(isdefined(level.var_5611) && level.var_5611)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(scripts\mp\_utility::func_9FB3(self.pers["teamKillPunish"]))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(self.pers["lives"] <= 0 && scripts\mp\_utility::func_7672())
|
|
{
|
|
return 0;
|
|
}
|
|
else if(scripts\mp\_utility::func_7672())
|
|
{
|
|
if(level.ingraceperiod && !self.var_8C2A)
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
if(!level.ingraceperiod && !self.var_8C2A && isdefined(level.var_1C9A) && !level.var_1C9A)
|
|
{
|
|
if(isdefined(self.var_101D9) && !self.var_101D9)
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
}
|
|
}
|
|
|
|
return 1;
|
|
}
|
|
|
|
//Function Number: 5
|
|
func_1083A()
|
|
{
|
|
self endon("becameSpectator");
|
|
if(isdefined(self.var_136FE) && self.var_136FE)
|
|
{
|
|
self waittill("okToSpawn");
|
|
}
|
|
|
|
if(isdefined(self.var_185F))
|
|
{
|
|
scripts\mp\_menus::func_185F(self.var_185F);
|
|
self.var_185F = undefined;
|
|
}
|
|
|
|
if(!func_B4EE())
|
|
{
|
|
wait(0.05);
|
|
var_00 = self.origin;
|
|
var_01 = self.angles;
|
|
self notify("attempted_spawn");
|
|
if(scripts\mp\_utility::func_9FB3(self.pers["teamKillPunish"]))
|
|
{
|
|
self.pers["teamkills"] = max(self.pers["teamkills"] - 1,0);
|
|
scripts\mp\_utility::setlowermessage("friendly_fire",&"MP_FRIENDLY_FIRE_WILL_NOT");
|
|
if(!self.var_8C2A && self.pers["teamkills"] <= level.var_B47A)
|
|
{
|
|
self.pers["teamKillPunish"] = 0;
|
|
}
|
|
}
|
|
else if(scripts\mp\_utility::func_9F32() && game["finalRound"] == 0)
|
|
{
|
|
if(isdefined(self.var_113EF) && self.var_113EF)
|
|
{
|
|
scripts\mp\_utility::setlowermessage("spawn_info",game["strings"]["spawn_tag_wait"]);
|
|
}
|
|
else if(level.gametype == "siege")
|
|
{
|
|
scripts\mp\_utility::setlowermessage("spawn_info",game["strings"]["spawn_point_capture_wait"]);
|
|
}
|
|
else
|
|
{
|
|
scripts\mp\_utility::setlowermessage("spawn_info",game["strings"]["spawn_next_round"]);
|
|
}
|
|
|
|
thread func_E170(3);
|
|
}
|
|
|
|
if(self.sessionstate != "spectator")
|
|
{
|
|
var_00 = var_00 + (0,0,60);
|
|
}
|
|
|
|
if(scripts\mp\_utility::func_9FC6())
|
|
{
|
|
self.var_108DB = 1;
|
|
self.var_4E55 = self.origin;
|
|
self waittill("stopped_using_remote");
|
|
}
|
|
|
|
if(!scripts\mp\_utility::func_9FB3(level.var_C1C3))
|
|
{
|
|
thread func_10911(var_00,var_01);
|
|
}
|
|
|
|
return;
|
|
}
|
|
|
|
if(self.var_136FF)
|
|
{
|
|
return;
|
|
}
|
|
|
|
self.var_136FF = 1;
|
|
func_1369D();
|
|
if(isdefined(self))
|
|
{
|
|
self.var_136FF = 0;
|
|
}
|
|
}
|
|
|
|
//Function Number: 6
|
|
func_1369D()
|
|
{
|
|
self endon("disconnect");
|
|
self endon("end_respawn");
|
|
level endon("game_ended");
|
|
self notify("attempted_spawn");
|
|
var_00 = 0;
|
|
if(scripts\mp\_utility::func_9FB3(self.pers["teamKillPunish"]))
|
|
{
|
|
var_01 = func_115D4();
|
|
if(var_01 > 0)
|
|
{
|
|
scripts\mp\_utility::setlowermessage("friendly_fire",&"MP_FRIENDLY_FIRE_WILL_NOT",var_01,1,1);
|
|
thread func_E285(self.origin + (0,0,60),self.angles);
|
|
var_00 = 1;
|
|
wait(var_01);
|
|
scripts\mp\_utility::clearlowermessage("friendly_fire");
|
|
self.var_E29A = gettime();
|
|
}
|
|
|
|
self.pers["teamKillPunish"] = 0;
|
|
}
|
|
else if(func_115D4())
|
|
{
|
|
self.pers["teamkills"] = max(self.pers["teamkills"] - 1,0);
|
|
}
|
|
|
|
if(scripts\mp\_utility::func_9FC6())
|
|
{
|
|
self.var_108DB = 1;
|
|
self.var_4E55 = self.origin;
|
|
self waittill("stopped_using_remote");
|
|
if(scripts\mp\_utility::func_9FB3(level.var_C1C3))
|
|
{
|
|
return;
|
|
}
|
|
}
|
|
|
|
if(!isdefined(self.var_13BE5) && isdefined(level.var_13BE0[self.team]))
|
|
{
|
|
self.var_13BE5 = level.var_13BE0[self.team];
|
|
level.var_13BE0[self.team]++;
|
|
}
|
|
|
|
var_02 = func_1193A(0);
|
|
thread func_D81E(var_02);
|
|
if(scripts\mp\_utility::isinarbitraryup())
|
|
{
|
|
var_03 = self getworldupreferenceangles();
|
|
var_04 = anglestoup(var_03);
|
|
var_05 = var_04 * 60;
|
|
}
|
|
else
|
|
{
|
|
var_05 = (0,0,60);
|
|
}
|
|
|
|
if(var_02 > 0)
|
|
{
|
|
scripts\mp\_utility::setlowermessage("spawn_info",game["strings"]["waiting_to_spawn"],var_02,1,1);
|
|
if(!var_00)
|
|
{
|
|
thread func_E285(self.origin + var_05,self.angles);
|
|
}
|
|
|
|
var_00 = 1;
|
|
scripts\mp\_utility::func_136EF(var_02,"force_spawn");
|
|
if(!scripts\mp\_utility::func_9FB3(self.var_136FE))
|
|
{
|
|
self notify("stop_wait_safe_spawn_button");
|
|
}
|
|
}
|
|
|
|
if(func_BE8F())
|
|
{
|
|
if(!scripts\mp\_utility::func_9FB3(self.var_136FE))
|
|
{
|
|
scripts\mp\_utility::setlowermessage("spawn_info",game["strings"]["press_to_spawn"],undefined,undefined,undefined,undefined,undefined,undefined,1);
|
|
}
|
|
|
|
if(!var_00)
|
|
{
|
|
thread func_E285(self.origin + var_05,self.angles);
|
|
}
|
|
|
|
var_00 = 1;
|
|
func_1370E();
|
|
}
|
|
|
|
waitclassselected();
|
|
if(isbot(self))
|
|
{
|
|
if(!scripts\mp\bots\_bots::func_2DDF())
|
|
{
|
|
self waittill("bot_ready_to_spawn");
|
|
}
|
|
}
|
|
|
|
self.var_136FF = 0;
|
|
scripts\mp\_utility::clearlowermessage("spawn_info");
|
|
self.var_13BE5 = undefined;
|
|
thread func_108F2();
|
|
}
|
|
|
|
//Function Number: 7
|
|
waitclassselected()
|
|
{
|
|
while(scripts\mp\_utility::func_9FB3(self.var_136FE))
|
|
{
|
|
wait(0.05);
|
|
}
|
|
}
|
|
|
|
//Function Number: 8
|
|
func_BE8F()
|
|
{
|
|
if(scripts\mp\_tweakables::func_81E7("player","forcerespawn") != 0)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(!self.var_8C2A)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
var_00 = getdvarint("scr_" + level.gametype + "_waverespawndelay") > 0;
|
|
if(var_00)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(self.var_138DD)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
return 1;
|
|
}
|
|
|
|
//Function Number: 9
|
|
func_1370E()
|
|
{
|
|
self endon("disconnect");
|
|
self endon("end_respawn");
|
|
for(;;)
|
|
{
|
|
if(self usebuttonpressed())
|
|
{
|
|
break;
|
|
}
|
|
|
|
wait(0.05);
|
|
}
|
|
}
|
|
|
|
//Function Number: 10
|
|
func_E170(param_00)
|
|
{
|
|
self endon("disconnect");
|
|
level endon("game_ended");
|
|
waittillframeend;
|
|
self endon("end_respawn");
|
|
wait(param_00);
|
|
scripts\mp\_utility::clearlowermessage("spawn_info");
|
|
}
|
|
|
|
//Function Number: 11
|
|
func_AA0D()
|
|
{
|
|
self laststandrevive();
|
|
if(scripts\mp\_utility::_hasperk("specialty_finalstand") && !level.var_54CC)
|
|
{
|
|
scripts\mp\_utility::func_E150("specialty_finalstand");
|
|
}
|
|
|
|
if(level.var_54CC)
|
|
{
|
|
self.var_16F = "";
|
|
}
|
|
|
|
self setstance("crouch");
|
|
self.var_E4A8 = 1;
|
|
self notify("revive");
|
|
if(isdefined(self.var_10B67))
|
|
{
|
|
self.maxhealth = self.var_10B67;
|
|
}
|
|
|
|
self.health = self.maxhealth;
|
|
scripts\common\utility::func_1C6E(1);
|
|
if(game["state"] == "postgame")
|
|
{
|
|
scripts\mp\_gamelogic::func_7386();
|
|
}
|
|
}
|
|
|
|
//Function Number: 12
|
|
func_7E63()
|
|
{
|
|
var_00 = spawn("script_origin",self.origin);
|
|
var_00 hide();
|
|
var_00.angles = self.angles;
|
|
return var_00;
|
|
}
|
|
|
|
//Function Number: 13
|
|
func_D81E(param_00)
|
|
{
|
|
if(!0)
|
|
{
|
|
return;
|
|
}
|
|
|
|
self endon("disconnect");
|
|
self endon("spawned");
|
|
self endon("used_predicted_spawnpoint");
|
|
self notify("predicting_about_to_spawn_player");
|
|
self endon("predicting_about_to_spawn_player");
|
|
if(param_00 <= 0)
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(param_00 > 1)
|
|
{
|
|
wait(param_00 - 1);
|
|
}
|
|
|
|
func_D81D();
|
|
self predictstreampos(self.var_D820.origin + (0,0,60),self.var_D820.angles);
|
|
self.var_D821 = gettime();
|
|
for(var_01 = 0;var_01 < 30;var_01++)
|
|
{
|
|
wait(0.4);
|
|
var_02 = self.var_D820;
|
|
func_D81D();
|
|
if(self.var_D820 != var_02)
|
|
{
|
|
self predictstreampos(self.var_D820.origin + (0,0,60),self.var_D820.angles);
|
|
self.var_D821 = gettime();
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 14
|
|
func_D81D()
|
|
{
|
|
if(func_1193A(1) > 1)
|
|
{
|
|
self.var_D820 = func_8148();
|
|
return;
|
|
}
|
|
|
|
if(isdefined(self.var_F851))
|
|
{
|
|
self.var_D820 = self.var_F851;
|
|
return;
|
|
}
|
|
|
|
var_00 = self [[ level.var_8136 ]]();
|
|
self.var_D820 = var_00;
|
|
}
|
|
|
|
//Function Number: 15
|
|
func_3E42(param_00)
|
|
{
|
|
self notify("used_predicted_spawnpoint");
|
|
self.var_D820 = undefined;
|
|
}
|
|
|
|
//Function Number: 16
|
|
func_CA12(param_00,param_01)
|
|
{
|
|
return param_00 + " (" + int(param_00 / param_01 * 100) + "%)";
|
|
}
|
|
|
|
//Function Number: 17
|
|
func_D919()
|
|
{
|
|
}
|
|
|
|
//Function Number: 18
|
|
func_8135(param_00)
|
|
{
|
|
if(!positionwouldtelefrag(param_00.origin))
|
|
{
|
|
return param_00.origin;
|
|
}
|
|
|
|
if(!isdefined(param_00.var_1D53))
|
|
{
|
|
return param_00.origin;
|
|
}
|
|
|
|
foreach(var_02 in param_00.var_1D53)
|
|
{
|
|
if(!positionwouldtelefrag(var_02))
|
|
{
|
|
return var_02;
|
|
}
|
|
}
|
|
|
|
return param_00.origin;
|
|
}
|
|
|
|
//Function Number: 19
|
|
func_119A9()
|
|
{
|
|
if(!isdefined(self.var_F851))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
var_00 = getentarray("care_package","targetname");
|
|
foreach(var_02 in var_00)
|
|
{
|
|
if(distance(var_02.origin,self.var_F851.var_D424) > 64)
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(isdefined(var_02.var_222))
|
|
{
|
|
scripts\mp\_hud_message::func_10151("destroyed_insertion",undefined,var_02.var_222);
|
|
}
|
|
|
|
scripts\mp\perks\_perkfunctions::func_51D7(self.var_F851);
|
|
return 0;
|
|
}
|
|
|
|
var_04 = [];
|
|
var_04[0] = self;
|
|
var_04[1] = self.var_F851;
|
|
var_05 = scripts\common\trace::func_48BC(1,1,1,0,0,1,1);
|
|
if(!scripts\common\trace::func_DCF1(self.var_F851.origin + (0,0,60),self.var_F851.origin,var_04,var_05))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
var_06 = self.var_F851.origin + (0,0,1);
|
|
var_07 = playerphysicstrace(var_06,self.var_F851.origin + (0,0,-16));
|
|
if(var_06[2] == var_07[2])
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
return 1;
|
|
}
|
|
|
|
//Function Number: 20
|
|
func_108DC()
|
|
{
|
|
self notify("spawningClientThisFrameReset");
|
|
self endon("spawningClientThisFrameReset");
|
|
wait(0.05);
|
|
level.var_C23D--;
|
|
}
|
|
|
|
//Function Number: 21
|
|
func_806C(param_00,param_01)
|
|
{
|
|
var_02 = scripts\mp\_class::func_AE31();
|
|
var_02 = scripts\mp\_class::func_AE48(var_02,param_01);
|
|
scripts\mp\_class::func_AE4C(var_02);
|
|
self.var_400E = var_02;
|
|
self.var_400F = 1;
|
|
if(var_02.var_AE89 != "none")
|
|
{
|
|
param_00.var_D8E1 = var_02.var_AE89;
|
|
}
|
|
|
|
if(var_02.var_AE9D != "none")
|
|
{
|
|
param_00.var_F0C4 = var_02.var_AE9D;
|
|
}
|
|
|
|
var_03 = scripts\mp\_teams::func_7E55();
|
|
if(isdefined(var_03["body"]))
|
|
{
|
|
param_00.var_2C09 = var_03["body"];
|
|
}
|
|
|
|
if(isdefined(var_03["head"]))
|
|
{
|
|
param_00.var_8C59 = var_03["head"];
|
|
}
|
|
}
|
|
|
|
//Function Number: 22
|
|
func_AEAD(param_00,param_01)
|
|
{
|
|
var_02 = [];
|
|
if(isdefined(param_00.var_D8E1))
|
|
{
|
|
var_02[var_02.size] = param_00.var_D8E1;
|
|
}
|
|
|
|
if(isdefined(param_00.var_F0C4))
|
|
{
|
|
var_02[var_02.size] = param_00.var_F0C4;
|
|
}
|
|
|
|
if(var_02.size > 0)
|
|
{
|
|
self loadweaponsforplayer(var_02,param_01);
|
|
}
|
|
|
|
self loadcustomization(param_00.var_2C09,param_00.var_8C59,param_01);
|
|
}
|
|
|
|
//Function Number: 23
|
|
func_1CB6(param_00)
|
|
{
|
|
var_01 = [];
|
|
if(isdefined(param_00.var_D8E1))
|
|
{
|
|
var_01[var_01.size] = param_00.var_D8E1;
|
|
}
|
|
|
|
if(isdefined(param_00.var_F0C4))
|
|
{
|
|
var_01[var_01.size] = param_00.var_F0C4;
|
|
}
|
|
|
|
if(!self hasloadedviewweapons(var_01))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(!self hasloadedcustomizationviewmodels(param_00.var_2C09))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
return 1;
|
|
}
|
|
|
|
//Function Number: 24
|
|
func_108F2(param_00)
|
|
{
|
|
self endon("disconnect");
|
|
self endon("joined_spectators");
|
|
self notify("spawned");
|
|
self notify("end_respawn");
|
|
self notify("started_spawnPlayer");
|
|
if(!isdefined(param_00))
|
|
{
|
|
param_00 = 0;
|
|
}
|
|
|
|
var_01 = undefined;
|
|
self.var_1189A = 0;
|
|
self setclientomnvar("ui_options_menu",0);
|
|
self setclientomnvar("ui_hud_shake",0);
|
|
self.var_A9A6 = undefined;
|
|
self.var_4C87 = undefined;
|
|
self.killsteakvariantattackerinfo = undefined;
|
|
self.cratemantle = undefined;
|
|
if(!level.ingraceperiod && !self.var_8BE9)
|
|
{
|
|
level.var_C23D++;
|
|
if(level.var_C23D > 1)
|
|
{
|
|
self.var_13700 = 1;
|
|
wait(0.05 * level.var_C23D - 1);
|
|
}
|
|
|
|
thread func_108DC();
|
|
self.var_13700 = 0;
|
|
}
|
|
|
|
var_02 = spawnstruct();
|
|
func_806C(var_02,self.var_4004);
|
|
func_AEAD(var_02,1);
|
|
if(!getomnvar("ui_prematch_period"))
|
|
{
|
|
if(!func_1CB6(var_02))
|
|
{
|
|
var_03 = scripts\mp\_tweakables::func_81E7("player","streamingwaittime");
|
|
var_04 = var_03 * 1000;
|
|
var_05 = gettime() + var_04;
|
|
self.var_13700 = 1;
|
|
wait(0.1);
|
|
while(!func_1CB6(var_02))
|
|
{
|
|
wait(0.1);
|
|
if(gettime() > var_05)
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
|
|
self.var_13700 = 0;
|
|
}
|
|
}
|
|
|
|
if(isdefined(self.var_72E2))
|
|
{
|
|
var_06 = self.var_72E2;
|
|
self.var_72E2 = undefined;
|
|
if(isdefined(self.var_72E0))
|
|
{
|
|
var_07 = self.var_72E0;
|
|
self.var_72E0 = undefined;
|
|
}
|
|
else
|
|
{
|
|
var_07 = (0,randomfloatrange(0,360),0);
|
|
}
|
|
}
|
|
else if(isdefined(self.var_F851) && isdefined(self.var_F851.var_C188) || func_119A9())
|
|
{
|
|
var_06 = self.var_F851;
|
|
if(!isdefined(self.var_F851.var_C188))
|
|
{
|
|
self.var_1189A = 1;
|
|
self playlocalsound("tactical_spawn");
|
|
if(level.multiteambased)
|
|
{
|
|
foreach(var_09 in level.teamnamelist)
|
|
{
|
|
if(var_09 != self.team)
|
|
{
|
|
self playsoundtoteam("tactical_spawn",var_09);
|
|
}
|
|
}
|
|
}
|
|
else if(level.teambased)
|
|
{
|
|
self playsoundtoteam("tactical_spawn",level.var_C74B[self.team]);
|
|
}
|
|
else
|
|
{
|
|
self playsound("tactical_spawn");
|
|
}
|
|
}
|
|
|
|
foreach(var_0C in level.var_12B14)
|
|
{
|
|
if(distancesquared(var_0C.origin,var_01.var_D424) < 1024)
|
|
{
|
|
var_0C notify("damage",5000,var_0C.var_222,(0,0,0),(0,0,0),"MOD_EXPLOSIVE","","","",undefined,"killstreak_jammer_mp");
|
|
}
|
|
}
|
|
|
|
var_06 = self.var_F851.var_D424;
|
|
var_07 = self.var_F851.angles;
|
|
if(isdefined(self.var_F851.var_6578))
|
|
{
|
|
self.var_F851.var_6578 delete();
|
|
}
|
|
|
|
self.var_F851 delete();
|
|
var_01 = undefined;
|
|
}
|
|
else if(isdefined(self.var_9F69) && isdefined(self.var_28CC))
|
|
{
|
|
var_06 = undefined;
|
|
var_07 = undefined;
|
|
var_0E = scripts\mp\_battlebuddy::func_3DF5();
|
|
if(var_0E.var_10E5B == 0)
|
|
{
|
|
var_06 = var_0E.origin;
|
|
var_07 = var_0E.angles;
|
|
}
|
|
else
|
|
{
|
|
var_01 = self [[ level.var_8136 ]]();
|
|
var_06 = var_01.origin;
|
|
var_07 = var_01.angles;
|
|
}
|
|
|
|
scripts\mp\_battlebuddy::func_40E7();
|
|
self setclientomnvar("cam_scene_name","battle_spawn");
|
|
self setclientomnvar("cam_scene_lead",self.var_28CC getentitynumber());
|
|
self setclientomnvar("cam_scene_support",self getentitynumber());
|
|
}
|
|
else if(isdefined(self.var_8DD8) && !isdefined(self.var_6DED) || isdefined(self.var_6DED) && self.var_6DED && level.var_D84D > 0 && self.team == "allies")
|
|
{
|
|
while(!isdefined(level.var_1C29))
|
|
{
|
|
wait(0.1);
|
|
}
|
|
|
|
var_06 = level.var_1C29.origin;
|
|
var_07 = level.var_1C29.angles;
|
|
self.var_6DED = 0;
|
|
}
|
|
else if(isdefined(self.var_8DD8) && !isdefined(self.var_6DED) || isdefined(self.var_6DED) && self.var_6DED && level.var_D84D > 0 && self.team == "axis")
|
|
{
|
|
while(!isdefined(level.var_26F5))
|
|
{
|
|
wait(0.1);
|
|
}
|
|
|
|
var_06 = level.var_26F5.origin;
|
|
var_07 = level.var_26F5.angles;
|
|
self.var_6DED = 0;
|
|
}
|
|
else
|
|
{
|
|
var_06 = self [[ level.var_8136 ]]();
|
|
var_06 = var_06.origin;
|
|
var_07 = var_02.angles;
|
|
}
|
|
|
|
func_F853();
|
|
var_0F = self.var_8C2A;
|
|
self.var_6BA7 = undefined;
|
|
if(!param_00)
|
|
{
|
|
self.var_A684 = [];
|
|
self.var_A685 = [];
|
|
self.var_A6B4 = [];
|
|
scripts\mp\_utility::func_12F19("playing");
|
|
scripts\mp\_utility::func_41BF();
|
|
self.var_3881 = undefined;
|
|
self.maxhealth = scripts\mp\_tweakables::func_81E7("player","maxhealth");
|
|
self.health = self.maxhealth;
|
|
self.var_7408 = undefined;
|
|
self.var_8C2A = 1;
|
|
self.var_10916 = gettime();
|
|
self.var_1391E = !isdefined(var_01);
|
|
self.var_18DF = 0;
|
|
self.var_4D44 = [];
|
|
self.killstreakscaler = 1;
|
|
self.var_C2AD = 1;
|
|
self.var_4000 = undefined;
|
|
self.var_FC96 = 0;
|
|
self.var_FC97 = 0;
|
|
self.var_FC95 = 0;
|
|
self.var_DDCC = 0;
|
|
self.var_AA43 = undefined;
|
|
self.var_AC68 = 0;
|
|
if(isdefined(self.pers["deaths"]))
|
|
{
|
|
self.var_AC68 = self.pers["deaths"];
|
|
}
|
|
|
|
scripts\mp\_utility::func_41A6();
|
|
scripts\mp\_killcam::clearkillcamomnvars();
|
|
thread monitorwallrun();
|
|
}
|
|
|
|
self.var_BCF6 = 1;
|
|
self.inlaststand = 0;
|
|
self.var_1B3 = undefined;
|
|
self.var_94A2 = undefined;
|
|
self.var_93BB = undefined;
|
|
if(!param_00)
|
|
{
|
|
self.var_26B9 = 4;
|
|
var_10 = self.pers["lives"];
|
|
if(var_10 == scripts\mp\_utility::func_7ECE())
|
|
{
|
|
func_1853();
|
|
}
|
|
|
|
if(var_10)
|
|
{
|
|
self.pers["lives"]--;
|
|
}
|
|
|
|
func_1845();
|
|
if(!var_0F || scripts\mp\_utility::func_7672() || scripts\mp\_utility::func_7672() && level.ingraceperiod && self.var_8BE9)
|
|
{
|
|
func_E112();
|
|
}
|
|
|
|
if(!self.var_13906)
|
|
{
|
|
var_11 = 20;
|
|
if(scripts\mp\_utility::func_81CA() > 0 && var_11 < scripts\mp\_utility::func_81CA() * 60 / 4)
|
|
{
|
|
var_11 = scripts\mp\_utility::func_81CA() * 60 / 4;
|
|
}
|
|
|
|
if(level.ingraceperiod || scripts\mp\_utility::func_81CB() < var_11 * 1000)
|
|
{
|
|
self.var_13906 = 1;
|
|
}
|
|
}
|
|
}
|
|
|
|
self setdepthoffield(0,0,512,512,4,0);
|
|
if(level.console)
|
|
{
|
|
self setclientdvar("cg_fov","63");
|
|
}
|
|
|
|
if(isdefined(var_01))
|
|
{
|
|
scripts\mp\_spawnlogic::func_6C5B(var_01);
|
|
var_06 = func_8135(var_01);
|
|
var_07 = var_01.angles;
|
|
}
|
|
else if(!isdefined(self.var_6BA5))
|
|
{
|
|
self.var_A9F6 = gettime();
|
|
}
|
|
|
|
self.var_108FF = var_06;
|
|
if(param_00 && scripts\mp\_gameobjects::touchingarbitraryuptrigger())
|
|
{
|
|
if(self isonground())
|
|
{
|
|
self normalizeworldupreferenceangles();
|
|
var_06 = var_06 - (0,0,80);
|
|
}
|
|
|
|
var_07 = self getworldupreferenceangles();
|
|
}
|
|
|
|
self spawn(var_06,var_07);
|
|
if(param_00 && isdefined(self.var_6BA6))
|
|
{
|
|
self setstance(self.var_6BA6);
|
|
self.var_6BA6 = undefined;
|
|
}
|
|
|
|
if(isai(self))
|
|
{
|
|
scripts\mp\_utility::func_7385(1);
|
|
}
|
|
|
|
self motionblurhqenable();
|
|
[[ level.onspawnplayer ]]();
|
|
if(isdefined(var_01))
|
|
{
|
|
func_3E42(var_01.origin);
|
|
}
|
|
|
|
if(!param_00)
|
|
{
|
|
if(isai(self) && isdefined(level.var_2D9E) && isdefined(level.var_2D9E["player_spawned"]))
|
|
{
|
|
self [[ level.var_2D9E["player_spawned"] ]]();
|
|
}
|
|
|
|
if(!isai(self))
|
|
{
|
|
thread func_13A6C();
|
|
}
|
|
|
|
if(isdefined(level.var_B3FB))
|
|
{
|
|
[[ level.var_B3FB ]](self.var_41F0,self.team,"SPAWN",self.var_108FF[0],self.var_108FF[1],self.var_10916);
|
|
}
|
|
|
|
if(!isai(self))
|
|
{
|
|
if(!isdefined(self.pers["distTrackingPassed"]))
|
|
{
|
|
thread totaldisttracking(var_06);
|
|
}
|
|
|
|
thread stancespamtracking();
|
|
}
|
|
}
|
|
|
|
if(!param_00)
|
|
{
|
|
self.var_B3E3 = scripts\mp\_matchdata::func_AFD6();
|
|
self.lastmatchdatakillstreakindex = -1;
|
|
thread func_DDED();
|
|
if(self ishost())
|
|
{
|
|
setmatchdata("players",self.var_41F0,"wasAHost",1);
|
|
}
|
|
}
|
|
|
|
scripts\mp\_class::func_F691(self.var_4004);
|
|
if(isdefined(level.var_4C55))
|
|
{
|
|
self [[ level.var_4C55 ]](param_00);
|
|
}
|
|
else
|
|
{
|
|
scripts\mp\_class::func_8379(self.team,self.var_4004);
|
|
}
|
|
|
|
self method_84BE("player_mp");
|
|
if(isdefined(game["roundsPlayed"]) && game["roundsPlayed"] > 0)
|
|
{
|
|
if(!isdefined(self.var_400D) || !self.var_400D)
|
|
{
|
|
if(isdefined(self.var_4006))
|
|
{
|
|
self setclientomnvar("ui_loadout_selected",self.var_4006);
|
|
self.var_400D = 1;
|
|
}
|
|
}
|
|
}
|
|
|
|
if(getdvarint("camera_thirdPerson"))
|
|
{
|
|
scripts\mp\_utility::setthirdpersondof(1);
|
|
}
|
|
|
|
if(!scripts\mp\_utility::func_766C("prematch_done"))
|
|
{
|
|
func_1CA2(self);
|
|
}
|
|
else
|
|
{
|
|
scripts\mp\_utility::func_7385(0);
|
|
}
|
|
|
|
if(scripts\mp\_utility::func_7F1D("scr_showperksonspawn",1) == 1 && game["state"] != "postgame")
|
|
{
|
|
scripts\mp\perks\_perks::func_F7C5("ui_spawn_perk_",self.pers["loadoutPerks"]);
|
|
self setclientomnvar("ui_spawn_abilities_show",1);
|
|
}
|
|
|
|
waittillframeend;
|
|
self.var_108DB = undefined;
|
|
self notify("spawned_player");
|
|
level notify("player_spawned",self);
|
|
thread func_F850();
|
|
if(game["state"] == "postgame")
|
|
{
|
|
scripts\mp\_gamelogic::func_7386();
|
|
}
|
|
|
|
if(scripts\mp\_analyticslog::func_1E6A() && !param_00)
|
|
{
|
|
if(scripts\mp\_analyticslog::func_1E5E())
|
|
{
|
|
level.var_10841 = level.var_10841 + 1;
|
|
}
|
|
else
|
|
{
|
|
scripts\mp\_analyticslog::func_1E60();
|
|
}
|
|
|
|
if(scripts\mp\_analyticslog::func_1E65(level.var_10841))
|
|
{
|
|
if(isdefined(level.var_108D1.var_108FD))
|
|
{
|
|
scripts\mp\_analyticslog::func_1E66(self,self.var_108FD,level.var_10841,var_01);
|
|
scripts\mp\_analyticslog::func_1E68(var_01.origin,self.team,self.var_AC68,level.var_10841);
|
|
scripts\mp\_analyticslog::func_1E67(self,var_01.origin,level.var_10841);
|
|
}
|
|
}
|
|
|
|
self.var_A9F4 = var_01;
|
|
}
|
|
}
|
|
|
|
//Function Number: 25
|
|
func_F850()
|
|
{
|
|
self endon("disconnect");
|
|
scripts\common\utility::func_136F7();
|
|
self setclientomnvar("ui_player_spawned_notify",gettime());
|
|
}
|
|
|
|
//Function Number: 26
|
|
func_DDED()
|
|
{
|
|
self endon("death");
|
|
self endon("disconnect");
|
|
level endon("game_ended");
|
|
if(scripts\mp\_matchdata::func_38C6(self))
|
|
{
|
|
for(;;)
|
|
{
|
|
var_00 = self.var_B3E3;
|
|
if(!isdefined(var_00))
|
|
{
|
|
var_00 = -1;
|
|
}
|
|
|
|
var_01 = scripts\mp\_utility::func_9EE8();
|
|
var_02 = scripts\mp\_matchdata::func_81C8(gettime());
|
|
var_03 = var_02 / 1000;
|
|
self method_8571(var_03,var_00,var_01);
|
|
wait(2);
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 27
|
|
func_1CA2(param_00)
|
|
{
|
|
param_00 allowmovement(0);
|
|
param_00 scripts\common\utility::func_1C46(0);
|
|
param_00 scripts\common\utility::func_1C58(0);
|
|
param_00 scripts\common\utility::allow_jump(0);
|
|
param_00.var_D84C = 1;
|
|
}
|
|
|
|
//Function Number: 28
|
|
func_41D1(param_00)
|
|
{
|
|
if(scripts\common\utility::istrue(param_00.var_D84C))
|
|
{
|
|
param_00 allowmovement(1);
|
|
param_00 scripts\common\utility::func_1C46(1);
|
|
param_00 scripts\common\utility::func_1C58(1);
|
|
param_00 scripts\common\utility::allow_jump(1);
|
|
param_00.var_D84C = undefined;
|
|
}
|
|
}
|
|
|
|
//Function Number: 29
|
|
waitforversusmenudone()
|
|
{
|
|
level endon("prematch_over");
|
|
self endon("versus_menu_done");
|
|
for(;;)
|
|
{
|
|
self waittill("luinotifyserver",var_00,var_01);
|
|
if(var_00 == "versus_done")
|
|
{
|
|
self notify("versus_menu_done");
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 30
|
|
func_10912(param_00)
|
|
{
|
|
var_01 = 6;
|
|
self endon("disconnect");
|
|
if(isai(self))
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(level.splitscreen || self issplitscreenplayer())
|
|
{
|
|
self setclientdvars("cg_fovscale","0.65");
|
|
}
|
|
else
|
|
{
|
|
self setclientdvars("cg_fovscale","1");
|
|
}
|
|
|
|
self setclientomnvar("ui_mapshot_camera",1);
|
|
self lerpfovbypreset("mapflyover");
|
|
var_02 = scripts\common\utility::getstructarray("camera_intro","targetname");
|
|
if(var_02.size == 0)
|
|
{
|
|
self visionsetfadetoblackforplayer("",0.75);
|
|
return;
|
|
}
|
|
|
|
var_03 = undefined;
|
|
var_04 = undefined;
|
|
func_F853();
|
|
scripts\mp\_utility::clearlowermessage("spawn_info");
|
|
scripts\mp\_utility::func_12F19("spectator");
|
|
self.pers["team"] = "spectator";
|
|
self.team = "spectator";
|
|
scripts\mp\_utility::func_41BF();
|
|
self.var_7408 = undefined;
|
|
func_E27B();
|
|
self allowspectateteam("allies",0);
|
|
self allowspectateteam("axis",0);
|
|
self allowspectateteam("freelook",0);
|
|
self allowspectateteam("none",0);
|
|
if(isdefined(var_02) && var_02.size > 1)
|
|
{
|
|
var_05 = randomintrange(0,var_02.size - 1);
|
|
var_03 = var_02[var_05];
|
|
}
|
|
else if(isdefined(var_02))
|
|
{
|
|
var_03 = var_02[0];
|
|
}
|
|
else
|
|
{
|
|
}
|
|
|
|
var_03.var_6C01 = 1;
|
|
scripts\mp\_utility::func_7385(1);
|
|
self setspectatedefaults(var_03.origin,var_03.angles);
|
|
self spawn(var_03.origin,var_03.angles);
|
|
func_3E42(var_03.origin);
|
|
var_06 = spawn("script_model",var_03.origin);
|
|
var_06 setmodel("tag_origin");
|
|
var_06.angles = var_03.angles;
|
|
thread waitforversusmenudone();
|
|
if(isdefined(param_00) && param_00 == 99)
|
|
{
|
|
var_07 = "debug";
|
|
}
|
|
else if(scripts\mp\_utility::func_766C("prematch_done"))
|
|
{
|
|
var_07 = "prematch_over";
|
|
}
|
|
else if(self.versusdone)
|
|
{
|
|
var_07 = "versus_menu_done";
|
|
}
|
|
else
|
|
{
|
|
var_07 = scripts\common\utility::waittill_any_timeout_1(2,"versus_menu_done","prematch_over");
|
|
}
|
|
|
|
if(var_07 == "timeout")
|
|
{
|
|
if(scripts\mp\_utility::func_766C("prematch_done"))
|
|
{
|
|
var_07 = "prematch_over";
|
|
}
|
|
else
|
|
{
|
|
var_07 = "versus_menu_done";
|
|
}
|
|
}
|
|
|
|
if(var_07 == "prematch_over")
|
|
{
|
|
self visionsetfadetoblackforplayer("",0.75);
|
|
return;
|
|
}
|
|
|
|
if(self issplitscreenplayer() && self issplitscreenplayerprimary())
|
|
{
|
|
var_08 = self getothersplitscreenplayer();
|
|
var_08 notify("versus_menu_done");
|
|
wait(0.05);
|
|
}
|
|
|
|
self cameralinkto(var_06,"tag_origin");
|
|
var_09 = scripts\mp\_utility::func_7F8B();
|
|
self notify("mapCamera_start");
|
|
switch(var_09)
|
|
{
|
|
case "mp_parkour":
|
|
var_06 scriptmodelplayanimdeltamotion("iw7_mp_intro_camera_parkour",1);
|
|
self visionsetfadetoblackforplayer("",0.75);
|
|
self playlocalsound("mp_camera_intro_whoosh");
|
|
wait(var_01 - 0.25);
|
|
break;
|
|
|
|
case "mp_frontier":
|
|
var_06 scriptmodelplayanimdeltamotion("iw7_mp_intro_camera_frontier",1);
|
|
self visionsetfadetoblackforplayer("",0.75);
|
|
self playlocalsound("mp_camera_intro_whoosh");
|
|
wait(var_01 - 0.25);
|
|
break;
|
|
|
|
case "mp_fallen":
|
|
var_06 scriptmodelplayanimdeltamotion("iw7_mp_intro_camera_fallen",1);
|
|
self visionsetfadetoblackforplayer("",0.75);
|
|
self playlocalsound("mp_camera_intro_whoosh");
|
|
wait(var_01 - 0.25);
|
|
break;
|
|
|
|
case "mp_proto":
|
|
var_06 scriptmodelplayanimdeltamotion("iw7_mp_intro_camera_proto",1);
|
|
self visionsetfadetoblackforplayer("",0.75);
|
|
self playlocalsound("mp_camera_intro_whoosh");
|
|
wait(var_01 - 0.25);
|
|
break;
|
|
|
|
case "mp_metropolis":
|
|
var_06 scriptmodelplayanimdeltamotion("iw7_mp_intro_camera_metropolis",1);
|
|
self visionsetfadetoblackforplayer("",0.75);
|
|
self playlocalsound("mp_camera_intro_whoosh");
|
|
wait(var_01 - 0.25);
|
|
break;
|
|
|
|
case "mp_dome_iw":
|
|
var_06 scriptmodelplayanimdeltamotion("iw7_mp_intro_camera_dome_iw",1);
|
|
self visionsetfadetoblackforplayer("",0.75);
|
|
self playlocalsound("mp_camera_intro_whoosh");
|
|
wait(var_01 - 0.25);
|
|
break;
|
|
|
|
case "mp_breakneck":
|
|
var_06 scriptmodelplayanimdeltamotion("iw7_mp_intro_camera_breakneck",1);
|
|
self visionsetfadetoblackforplayer("",0.75);
|
|
self playlocalsound("mp_camera_intro_whoosh");
|
|
wait(var_01 - 0.25);
|
|
break;
|
|
|
|
case "mp_desert":
|
|
var_06 scriptmodelplayanimdeltamotion("iw7_mp_intro_camera_desert",1);
|
|
self visionsetfadetoblackforplayer("",0.75);
|
|
self playlocalsound("mp_camera_intro_whoosh");
|
|
wait(var_01 - 0.25);
|
|
break;
|
|
|
|
case "mp_divide":
|
|
var_06 scriptmodelplayanimdeltamotion("iw7_mp_intro_camera_divide",1);
|
|
self visionsetfadetoblackforplayer("",0.75);
|
|
self playlocalsound("mp_camera_intro_whoosh");
|
|
wait(var_01 - 0.25);
|
|
break;
|
|
|
|
case "mp_quarry":
|
|
var_06 scriptmodelplayanimdeltamotion("iw7_mp_intro_camera_quarry",1);
|
|
self visionsetfadetoblackforplayer("",0.75);
|
|
self playlocalsound("mp_camera_intro_whoosh");
|
|
wait(var_01 - 0.25);
|
|
break;
|
|
|
|
case "mp_skyway":
|
|
var_06 scriptmodelplayanimdeltamotion("iw7_mp_intro_camera_skyway",1);
|
|
self visionsetfadetoblackforplayer("",0.75);
|
|
self playlocalsound("mp_camera_intro_whoosh");
|
|
wait(var_01 - 0.25);
|
|
break;
|
|
|
|
case "mp_rivet":
|
|
var_06 scriptmodelplayanimdeltamotion("iw7_mp_intro_camera_rivet",1);
|
|
self visionsetfadetoblackforplayer("",0.75);
|
|
self playlocalsound("mp_camera_intro_whoosh");
|
|
wait(var_01 - 0.25);
|
|
break;
|
|
|
|
case "mp_riot":
|
|
var_06 scriptmodelplayanimdeltamotion("iw7_mp_intro_camera_riot",1);
|
|
self visionsetfadetoblackforplayer("",0.75);
|
|
self playlocalsound("mp_camera_intro_whoosh");
|
|
wait(var_01 - 0.25);
|
|
break;
|
|
|
|
case "mp_dome_dusk":
|
|
var_06 scriptmodelplayanimdeltamotion("iw7_mp_intro_camera_dome_iw",1);
|
|
self visionsetfadetoblackforplayer("",0.75);
|
|
self playlocalsound("mp_camera_intro_whoosh");
|
|
wait(var_01 - 0.25);
|
|
break;
|
|
|
|
case "mp_geneva":
|
|
var_06 scriptmodelplayanimdeltamotion("iw7_mp_intro_camera_geneva",1);
|
|
self visionsetfadetoblackforplayer("",0.75);
|
|
self playlocalsound("mp_camera_intro_whoosh");
|
|
wait(var_01 - 0.25);
|
|
break;
|
|
|
|
case "mp_renaissance2":
|
|
var_06 scriptmodelplayanimdeltamotion("iw7_mp_intro_camera_geneva",1);
|
|
self visionsetfadetoblackforplayer("",0.75);
|
|
self playlocalsound("mp_camera_intro_whoosh");
|
|
wait(var_01 - 0.25);
|
|
break;
|
|
|
|
case "mp_afghan":
|
|
var_06 scriptmodelplayanimdeltamotion("iw7_mp_intro_camera_afghan",1);
|
|
self visionsetfadetoblackforplayer("",0.75);
|
|
self playlocalsound("mp_camera_intro_whoosh");
|
|
wait(var_01 - 0.25);
|
|
break;
|
|
|
|
case "mp_neon":
|
|
var_06 scriptmodelplayanimdeltamotion("iw7_mp_intro_camera_neon",1);
|
|
self visionsetfadetoblackforplayer("",0.75);
|
|
self playlocalsound("mp_camera_intro_whoosh");
|
|
wait(var_01 - 0.25);
|
|
break;
|
|
|
|
case "mp_prime":
|
|
var_06 scriptmodelplayanimdeltamotion("iw7_mp_intro_camera_prime",1);
|
|
self visionsetfadetoblackforplayer("",0.75);
|
|
self playlocalsound("mp_camera_intro_whoosh");
|
|
wait(var_01 - 0.25);
|
|
break;
|
|
|
|
case "mp_flip":
|
|
var_06 scriptmodelplayanimdeltamotion("iw7_mp_intro_camera_flip",1);
|
|
self visionsetfadetoblackforplayer("",0.75);
|
|
self playlocalsound("mp_camera_intro_whoosh");
|
|
wait(var_01 - 0.25);
|
|
break;
|
|
|
|
case "mp_mansion":
|
|
var_06 scriptmodelplayanimdeltamotion("iw7_mp_intro_camera_mansion",1);
|
|
self visionsetfadetoblackforplayer("",0.75);
|
|
self playlocalsound("mp_camera_intro_whoosh");
|
|
wait(var_01 - 0.25);
|
|
break;
|
|
|
|
case "mp_marsoasis":
|
|
var_06 scriptmodelplayanimdeltamotion("iw7_mp_intro_camera_marsoasis",1);
|
|
self visionsetfadetoblackforplayer("",0.75);
|
|
self playlocalsound("mp_camera_intro_whoosh");
|
|
wait(var_01 - 0.25);
|
|
break;
|
|
|
|
case "mp_junk":
|
|
var_06 scriptmodelplayanimdeltamotion("iw7_mp_intro_camera_junk",1);
|
|
self visionsetfadetoblackforplayer("",0.75);
|
|
self playlocalsound("mp_camera_intro_whoosh");
|
|
wait(var_01 - 0.25);
|
|
break;
|
|
|
|
case "mp_turista2":
|
|
var_06 scriptmodelplayanimdeltamotion("iw7_mp_intro_camera_marsoasis",1);
|
|
self visionsetfadetoblackforplayer("",0.75);
|
|
self playlocalsound("mp_camera_intro_whoosh");
|
|
wait(var_01 - 0.25);
|
|
break;
|
|
|
|
case "mp_overflow":
|
|
var_06 scriptmodelplayanimdeltamotion("iw7_mp_intro_camera_overflow",1);
|
|
self visionsetfadetoblackforplayer("",0.75);
|
|
self playlocalsound("mp_camera_intro_whoosh");
|
|
wait(var_01 - 0.25);
|
|
break;
|
|
|
|
case "mp_permafrost2":
|
|
var_06 scriptmodelplayanimdeltamotion("iw7_mp_intro_camera_overflow",1);
|
|
self visionsetfadetoblackforplayer("",0.75);
|
|
self playlocalsound("mp_camera_intro_whoosh");
|
|
wait(var_01 - 0.25);
|
|
break;
|
|
|
|
case "mp_nova":
|
|
var_06 scriptmodelplayanimdeltamotion("iw7_mp_intro_camera_nova",1);
|
|
self visionsetfadetoblackforplayer("",0.75);
|
|
self playlocalsound("mp_camera_intro_whoosh");
|
|
wait(var_01 - 0.25);
|
|
break;
|
|
|
|
case "mp_paris":
|
|
var_06 scriptmodelplayanimdeltamotion("iw7_mp_intro_camera_paris",1);
|
|
self visionsetfadetoblackforplayer("",0.75);
|
|
self playlocalsound("mp_camera_intro_whoosh");
|
|
wait(var_01 - 0.25);
|
|
break;
|
|
|
|
case "mp_pixel":
|
|
var_06 scriptmodelplayanimdeltamotion("iw7_mp_intro_camera_pixel",1);
|
|
self visionsetfadetoblackforplayer("",0.75);
|
|
self playlocalsound("mp_camera_intro_whoosh");
|
|
wait(var_01 - 0.25);
|
|
break;
|
|
|
|
case "mp_hawkwar":
|
|
var_06 scriptmodelplayanimdeltamotion("iw7_mp_intro_camera_hawkwar",1);
|
|
self visionsetfadetoblackforplayer("",0.75);
|
|
self playlocalsound("mp_camera_intro_whoosh");
|
|
wait(var_01 - 0.25);
|
|
break;
|
|
|
|
case "mp_rally":
|
|
var_06 scriptmodelplayanimdeltamotion("iw7_mp_intro_camera_rally",1);
|
|
self visionsetfadetoblackforplayer("",0.75);
|
|
self playlocalsound("mp_camera_intro_whoosh");
|
|
wait(var_01 - 0.25);
|
|
break;
|
|
|
|
case "mp_carnage2":
|
|
var_06 scriptmodelplayanimdeltamotion("iw7_mp_intro_camera_rally",1);
|
|
self visionsetfadetoblackforplayer("",0.75);
|
|
self playlocalsound("mp_camera_intro_whoosh");
|
|
wait(var_01 - 0.25);
|
|
break;
|
|
|
|
case "mp_depot":
|
|
var_06 scriptmodelplayanimdeltamotion("iw7_mp_intro_camera_depot",1);
|
|
self visionsetfadetoblackforplayer("",0.75);
|
|
self playlocalsound("mp_camera_intro_whoosh");
|
|
wait(var_01 - 0.25);
|
|
break;
|
|
|
|
case "mp_codphish":
|
|
var_06 scriptmodelplayanimdeltamotion("iw7_mp_intro_camera_codphish",1);
|
|
self visionsetfadetoblackforplayer("",0.75);
|
|
self playlocalsound("mp_camera_intro_whoosh");
|
|
wait(var_01 - 0.25);
|
|
break;
|
|
|
|
default:
|
|
break;
|
|
}
|
|
|
|
wait(0.25);
|
|
self visionsetfadetoblackforplayer("",0.75);
|
|
self playlocalsound("mp_camera_intro_whoosh");
|
|
var_0A = var_03;
|
|
var_04 = scripts\common\utility::getstruct(var_03.target,"targetname");
|
|
var_0B = 0;
|
|
for(;;)
|
|
{
|
|
if(isdefined(var_0A.var_10992))
|
|
{
|
|
var_0C = 1 / var_0A.var_10992;
|
|
var_0D = var_0C * distance(var_0A.origin,var_04.origin);
|
|
}
|
|
else
|
|
{
|
|
var_0D = distance(var_0A.origin,var_04.origin);
|
|
}
|
|
|
|
var_0B = var_0B + var_0D;
|
|
var_0A.var_5708 = var_0D;
|
|
var_0A = var_04;
|
|
if(isdefined(var_0A.target))
|
|
{
|
|
var_04 = scripts\common\utility::getstruct(var_0A.target,"targetname");
|
|
continue;
|
|
}
|
|
|
|
break;
|
|
}
|
|
|
|
var_0A.var_666E = 1;
|
|
var_0A = var_03;
|
|
var_04 = scripts\common\utility::getstruct(var_03.target,"targetname");
|
|
for(;;)
|
|
{
|
|
var_0E = var_0A.var_5708 / var_0B;
|
|
var_0F = var_0E * var_01;
|
|
if(isdefined(var_04.var_666E))
|
|
{
|
|
var_10 = var_0F / 2;
|
|
}
|
|
else
|
|
{
|
|
var_10 = 0;
|
|
}
|
|
|
|
if(isdefined(var_0A.var_6C01))
|
|
{
|
|
var_11 = var_0F / 2;
|
|
}
|
|
else
|
|
{
|
|
var_11 = 0;
|
|
}
|
|
|
|
var_06 moveto(var_04.origin,var_0F,var_11,var_10);
|
|
var_06 rotateto(var_04.angles,var_0F,var_11,var_10);
|
|
if(isdefined(var_04.var_666E))
|
|
{
|
|
var_12 = int(var_0F / 2);
|
|
wait(var_12);
|
|
wait(var_12);
|
|
}
|
|
else
|
|
{
|
|
wait(var_0F);
|
|
}
|
|
|
|
var_0A = var_04;
|
|
if(isdefined(var_0A.target))
|
|
{
|
|
var_04 = scripts\common\utility::getstruct(var_0A.target,"targetname");
|
|
continue;
|
|
}
|
|
|
|
break;
|
|
}
|
|
|
|
scripts\mp\_utility::func_7385(0);
|
|
self.var_10D78 = var_06;
|
|
self setclientomnvar("ui_mapshot_camera",0);
|
|
}
|
|
|
|
//Function Number: 31
|
|
func_10911(param_00,param_01)
|
|
{
|
|
self notify("spawned");
|
|
self notify("end_respawn");
|
|
self notify("joined_spectators");
|
|
if(isdefined(self.deathspectatepos))
|
|
{
|
|
param_00 = self.deathspectatepos;
|
|
param_01 = vectortoangles(self.origin - self.deathspectatepos);
|
|
}
|
|
|
|
if(isdefined(self.var_10D78) && !isdefined(param_00))
|
|
{
|
|
param_00 = self.var_10D78.origin;
|
|
param_01 = self.var_10D78.angles;
|
|
self.var_10D78 delete();
|
|
}
|
|
|
|
func_93A5(param_00,param_01);
|
|
}
|
|
|
|
//Function Number: 32
|
|
func_E285(param_00,param_01)
|
|
{
|
|
if(isdefined(self.deathspectatepos))
|
|
{
|
|
param_00 = self.deathspectatepos;
|
|
param_01 = vectortoangles(self.origin - self.deathspectatepos);
|
|
}
|
|
|
|
func_93A5(param_00,param_01);
|
|
}
|
|
|
|
//Function Number: 33
|
|
func_93A5(param_00,param_01)
|
|
{
|
|
func_F853();
|
|
var_02 = self.pers["team"];
|
|
if(isdefined(var_02) && var_02 == "spectator" && !level.var_7669)
|
|
{
|
|
scripts\mp\_utility::clearlowermessage("spawn_info");
|
|
}
|
|
|
|
scripts\mp\_utility::func_12F19("spectator");
|
|
scripts\mp\_utility::func_41BF();
|
|
self.var_7408 = undefined;
|
|
func_E27B();
|
|
scripts\mp\_spectating::func_F857();
|
|
func_C5A0(param_00,param_01);
|
|
if(level.teambased && !level.splitscreen && !self issplitscreenplayer())
|
|
{
|
|
self setdepthoffield(0,128,512,4000,6,1.8);
|
|
}
|
|
}
|
|
|
|
//Function Number: 34
|
|
func_8072(param_00)
|
|
{
|
|
if(param_00 < 0)
|
|
{
|
|
return undefined;
|
|
}
|
|
|
|
for(var_01 = 0;var_01 < level.players.size;var_01++)
|
|
{
|
|
if(level.players[var_01] getentitynumber() == param_00)
|
|
{
|
|
return level.players[var_01];
|
|
}
|
|
}
|
|
|
|
return undefined;
|
|
}
|
|
|
|
//Function Number: 35
|
|
func_C5A0(param_00,param_01)
|
|
{
|
|
if(isdefined(param_00) && isdefined(param_01))
|
|
{
|
|
self setspectatedefaults(param_00,param_01);
|
|
self spawn(param_00,param_01);
|
|
func_3E42(param_00);
|
|
return;
|
|
}
|
|
|
|
var_02 = func_8148();
|
|
var_03 = 8;
|
|
if(isdefined(level.var_37C8) && level.var_37C8.size)
|
|
{
|
|
for(var_04 = 0;var_04 < level.camerahighestindex + 1 && var_04 < var_03;var_04++)
|
|
{
|
|
if(!isdefined(level.var_37C8[var_04]) || !isdefined(level.var_37C1[var_04]))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
self setmlgcameradefaults(var_04,level.var_37C8[var_04],level.var_37C1[var_04]);
|
|
level.var_37C3[var_04].origin = level.var_37C8[var_04];
|
|
level.var_C215[var_04].origin = level.var_37C8[var_04];
|
|
level.var_37C3[var_04].angles = level.var_37C1[var_04];
|
|
level.var_C215[var_04].angles = level.var_37C1[var_04];
|
|
}
|
|
}
|
|
else
|
|
{
|
|
for(var_04 = 0;var_04 < var_03;var_04++)
|
|
{
|
|
self setmlgcameradefaults(var_04,var_02.origin,var_02.angles);
|
|
}
|
|
}
|
|
|
|
self setspectatedefaults(var_02.origin,var_02.angles);
|
|
self spawn(var_02.origin,var_02.angles);
|
|
func_3E42(var_02.origin);
|
|
}
|
|
|
|
//Function Number: 36
|
|
func_8148()
|
|
{
|
|
var_00 = getentarray("mp_global_intermission","classname");
|
|
var_01 = scripts\mp\_spawnlogic::func_813C(var_00);
|
|
return var_01;
|
|
}
|
|
|
|
//Function Number: 37
|
|
func_108DD()
|
|
{
|
|
self endon("disconnect");
|
|
self notify("spawned");
|
|
self notify("end_respawn");
|
|
func_F853();
|
|
scripts\mp\_utility::clearlowermessages();
|
|
scripts\mp\_utility::func_7385(1);
|
|
self setclientdvar("cg_everyoneHearsEveryone",1);
|
|
if(isdefined(level.var_6C6F) && level.var_6C6F != "none" && isdefined(level.var_B3D9) && scripts\mp\_utility::func_13916() && !scripts\mp\_utility::func_9FB3(level.var_58D7))
|
|
{
|
|
wait(level.var_B3D9);
|
|
}
|
|
|
|
if(!scripts\mp\_utility::func_9FB3(level.var_58D7))
|
|
{
|
|
scripts\mp\_utility::func_12F19("intermission");
|
|
}
|
|
|
|
scripts\mp\_utility::func_41BF();
|
|
self.var_7408 = undefined;
|
|
var_00 = getentarray("mp_global_intermission","classname");
|
|
var_00 = scripts\mp\_spawnscoring::func_3E05(var_00);
|
|
var_01 = var_00[0];
|
|
if(!isdefined(level.var_4C4E))
|
|
{
|
|
self spawn(var_01.origin,var_01.angles);
|
|
func_3E42(var_01.origin);
|
|
self setdepthoffield(0,128,512,4000,6,1.8);
|
|
}
|
|
else
|
|
{
|
|
level notify("scoreboard_displaying");
|
|
}
|
|
|
|
scripts\mp\_utility::func_7385(1);
|
|
}
|
|
|
|
//Function Number: 38
|
|
func_10857()
|
|
{
|
|
if(1)
|
|
{
|
|
if(isdefined(level.var_4C4E) && scripts\mp\_utility::func_13916())
|
|
{
|
|
level notify("start_custom_ending");
|
|
}
|
|
|
|
if(!self.var_45D6)
|
|
{
|
|
scripts\mp\_utility::func_7385(1);
|
|
}
|
|
|
|
if(scripts\mp\_utility::func_9FB3(level.var_58D7))
|
|
{
|
|
self notify("spawned");
|
|
scripts\mp\_utility::func_41BF();
|
|
}
|
|
else
|
|
{
|
|
func_10911();
|
|
scripts\mp\_utility::func_7385(1);
|
|
}
|
|
|
|
return;
|
|
}
|
|
|
|
self notify("spawned");
|
|
self notify("end_respawn");
|
|
func_F853();
|
|
scripts\mp\_utility::clearlowermessages();
|
|
self setclientdvar("cg_everyoneHearsEveryone",1);
|
|
scripts\mp\_utility::func_12F19("dead");
|
|
scripts\mp\_utility::func_41BF();
|
|
self.var_7408 = undefined;
|
|
var_00 = func_8148();
|
|
func_10911(var_00.origin,var_00.angles);
|
|
func_3E42(var_00.origin);
|
|
scripts\mp\_utility::func_7385(1);
|
|
self setdepthoffield(0,0,512,512,4,0);
|
|
}
|
|
|
|
//Function Number: 39
|
|
func_F853()
|
|
{
|
|
self stopshellshock();
|
|
self stoprumble("damage_heavy");
|
|
self.var_4E55 = undefined;
|
|
}
|
|
|
|
//Function Number: 40
|
|
func_C15D()
|
|
{
|
|
waittillframeend;
|
|
if(isdefined(self))
|
|
{
|
|
level notify("connecting",self);
|
|
}
|
|
}
|
|
|
|
//Function Number: 41
|
|
func_374F(param_00)
|
|
{
|
|
if(!isdefined(self.var_452B))
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(scripts\mp\_utility::func_9F32())
|
|
{
|
|
setmatchdata("players",self.var_41F0,"playerQuitRoundNumber",game["roundsPlayed"]);
|
|
}
|
|
|
|
if(level.teambased)
|
|
{
|
|
if(isdefined(self.team))
|
|
{
|
|
if(self.team == "allies")
|
|
{
|
|
setmatchdata("players",self.var_41F0,"playerQuitTeamScore",getteamscore("allies"));
|
|
setmatchdata("players",self.var_41F0,"playerQuitOppposingTeamScore",getteamscore("axis"));
|
|
}
|
|
else if(self.team == "axis")
|
|
{
|
|
setmatchdata("players",self.var_41F0,"playerQuitTeamScore",getteamscore("axis"));
|
|
setmatchdata("players",self.var_41F0,"playerQuitOppposingTeamScore",getteamscore("allies"));
|
|
}
|
|
}
|
|
}
|
|
|
|
setmatchdata("players",self.var_41F0,"utcDisconnectTimeSeconds",function_00D2());
|
|
setmatchdata("players",self.var_41F0,"disconnectReason",param_00);
|
|
self method_859C(self.var_41F0,param_00);
|
|
var_01 = getmatchdata("commonMatchData","playerCountLeft");
|
|
var_01++;
|
|
setmatchdata("commonMatchData","playerCountLeft",var_01);
|
|
if(scripts\mp\_utility::func_DCD5())
|
|
{
|
|
scripts\mp\_matchdata::func_AFB9();
|
|
}
|
|
|
|
if(scripts\mp\_utility::func_9D92())
|
|
{
|
|
self method_84E3();
|
|
}
|
|
|
|
scripts\mp\_matchdata::func_AFD4();
|
|
if(isdefined(self.pers["confirmed"]))
|
|
{
|
|
scripts\mp\_matchdata::func_AFC6();
|
|
}
|
|
|
|
if(isdefined(self.pers["denied"]))
|
|
{
|
|
scripts\mp\_matchdata::func_AFC7();
|
|
}
|
|
|
|
func_E15B();
|
|
scripts\mp\_spawnlogic::func_E113();
|
|
scripts\mp\_spawnlogic::func_E106();
|
|
var_02 = self getentitynumber();
|
|
if(!level.teambased)
|
|
{
|
|
game["roundsWon"][self.var_86BD] = undefined;
|
|
}
|
|
|
|
if(level.splitscreen)
|
|
{
|
|
var_03 = level.players;
|
|
if(var_03.size <= 1)
|
|
{
|
|
level thread scripts\mp\_gamelogic::func_72BE();
|
|
}
|
|
}
|
|
|
|
if(isdefined(self.var_1AB) && isdefined(self.var_E9))
|
|
{
|
|
if(120 < self.var_1190E["total"])
|
|
{
|
|
var_04 = self.var_1AB - self.var_E9 / self.var_1190E["total"] / 60;
|
|
setplayerteamrank(self,self.var_41F0,var_04);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
}
|
|
|
|
var_05 = self getentitynumber();
|
|
var_06 = self.var_86BD;
|
|
function_0131("Q;" + var_06 + ";" + var_05 + ";" + self.name + "\n");
|
|
thread scripts\mp\_events::func_5638();
|
|
if(level.var_7669)
|
|
{
|
|
scripts\mp\_gamescore::func_E0ED();
|
|
}
|
|
|
|
if(isdefined(self.team))
|
|
{
|
|
func_E11D();
|
|
}
|
|
|
|
if(self.sessionstate == "playing" && !isdefined(self.var_6BA7) && self.var_6BA7)
|
|
{
|
|
func_E0FF(1);
|
|
return;
|
|
}
|
|
|
|
if(self.sessionstate == "spectator" || self.sessionstate == "dead")
|
|
{
|
|
level thread scripts\mp\_gamelogic::func_12E9D();
|
|
}
|
|
}
|
|
|
|
//Function Number: 42
|
|
func_E15B()
|
|
{
|
|
var_00 = 0;
|
|
for(var_01 = 0;var_01 < level.players.size;var_01++)
|
|
{
|
|
if(level.players[var_01] == self)
|
|
{
|
|
var_00 = 1;
|
|
while(var_01 < level.players.size - 1)
|
|
{
|
|
level.players[var_01] = level.players[var_01 + 1];
|
|
var_01++;
|
|
}
|
|
|
|
level.players[var_01] = undefined;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 43
|
|
func_97EA()
|
|
{
|
|
if(level.splitscreen || self issplitscreenplayer())
|
|
{
|
|
self setclientdvars("cg_fovscale","0.75");
|
|
setdvar("r_materialBloomHQScriptMasterEnable",0);
|
|
return;
|
|
}
|
|
|
|
self setclientdvars("cg_fovscale","1");
|
|
}
|
|
|
|
//Function Number: 44
|
|
func_97E9()
|
|
{
|
|
setdvar("cg_drawCrosshair",1);
|
|
setdvar("cg_drawCrosshairNames",1);
|
|
if(level.var_8B38)
|
|
{
|
|
setdvar("cg_drawCrosshair",0);
|
|
setdvar("cg_drawCrosshairNames",1);
|
|
}
|
|
|
|
if(isdefined(level.var_1D5D) && level.var_1D5D)
|
|
{
|
|
setdvar("cg_drawFriendlyNamesAlways",1);
|
|
}
|
|
else
|
|
{
|
|
setdvar("cg_drawFriendlyNamesAlways",0);
|
|
}
|
|
|
|
self setclientdvars("cg_drawSpectatorMessages",1);
|
|
func_97EA();
|
|
if(scripts\mp\_utility::func_7ECE())
|
|
{
|
|
self setclientdvars("cg_deadChatWithDead",1,"cg_deadChatWithTeam",0,"cg_deadHearTeamLiving",0,"cg_deadHearAllLiving",0);
|
|
}
|
|
else
|
|
{
|
|
self setclientdvars("cg_deadChatWithDead",0,"cg_deadChatWithTeam",1,"cg_deadHearTeamLiving",1,"cg_deadHearAllLiving",0);
|
|
}
|
|
|
|
if(level.teambased)
|
|
{
|
|
self setclientdvars("cg_everyonehearseveryone",0);
|
|
}
|
|
|
|
self setclientdvar("ui_altscene",0);
|
|
if(getdvarint("scr_hitloc_debug"))
|
|
{
|
|
for(var_00 = 0;var_00 < 6;var_00++)
|
|
{
|
|
self setclientdvar("ui_hitloc_" + var_00,"");
|
|
}
|
|
|
|
self.var_903A = 1;
|
|
}
|
|
}
|
|
|
|
//Function Number: 45
|
|
func_7F87()
|
|
{
|
|
var_00 = 0;
|
|
for(var_01 = 0;var_01 < 30;var_01++)
|
|
{
|
|
foreach(var_03 in level.players)
|
|
{
|
|
if(!isdefined(var_03))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(var_03.var_41F0 == var_01)
|
|
{
|
|
var_00 = 1;
|
|
break;
|
|
}
|
|
|
|
var_00 = 0;
|
|
}
|
|
|
|
if(!var_00)
|
|
{
|
|
return var_01;
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 46
|
|
func_FAE7()
|
|
{
|
|
self.var_EB6A = [];
|
|
for(var_00 = 1;var_00 <= 4;var_00++)
|
|
{
|
|
self.var_EB6A[var_00] = spawnstruct();
|
|
self.var_EB6A[var_00].type = "";
|
|
self.var_EB6A[var_00].var_195 = undefined;
|
|
}
|
|
|
|
if(!level.console)
|
|
{
|
|
for(var_00 = 5;var_00 <= 8;var_00++)
|
|
{
|
|
self.var_EB6A[var_00] = spawnstruct();
|
|
self.var_EB6A[var_00].type = "";
|
|
self.var_EB6A[var_00].var_195 = undefined;
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 47
|
|
connect_validateplayerteam()
|
|
{
|
|
if(!isdefined(self))
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(self.sessionteam == "none" && scripts\mp\_utility::func_B3EC() && level.teambased && !isdefined(self.pers["isBot"]) && !self ismlgspectator() && level.gametype != "infect")
|
|
{
|
|
bbprint("mp_invalid_team_error","player_xuid %s isHost %i",self getxuid(),self ishost());
|
|
wait(1.5);
|
|
kick(self getentitynumber(),"EXE_PLAYERKICKED_INVALIDTEAM");
|
|
}
|
|
}
|
|
|
|
//Function Number: 48
|
|
queueconnectednotify()
|
|
{
|
|
for(;;)
|
|
{
|
|
if(!isdefined(level.players_waiting_for_callback))
|
|
{
|
|
wait(0.05);
|
|
continue;
|
|
}
|
|
|
|
break;
|
|
}
|
|
|
|
for(;;)
|
|
{
|
|
for(var_00 = 0;var_00 < level.players_waiting_for_callback.size;var_00++)
|
|
{
|
|
var_01 = level.players_waiting_for_callback[var_00];
|
|
if(isdefined(var_01))
|
|
{
|
|
level notify("connected",var_01);
|
|
var_01 notify("connected_continue");
|
|
level.players_waiting_for_callback[var_00] = undefined;
|
|
break;
|
|
}
|
|
}
|
|
|
|
var_02 = scripts\mp\_utility::cleanarray(level.players_waiting_for_callback);
|
|
level.players_waiting_for_callback = var_02;
|
|
wait(0.05);
|
|
}
|
|
}
|
|
|
|
//Function Number: 49
|
|
watchforversusdone()
|
|
{
|
|
self endon("disconnect");
|
|
self.versusdone = 0;
|
|
for(;;)
|
|
{
|
|
self waittill("luinotifyserver",var_00,var_01);
|
|
if(var_00 == "versus_done")
|
|
{
|
|
self.versusdone = 1;
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 50
|
|
monitorplayersegments(param_00)
|
|
{
|
|
param_00 endon("disconnect");
|
|
level endon("game_ended");
|
|
createplayersegmentstats(param_00);
|
|
for(;;)
|
|
{
|
|
param_00 waittill("spawned_player");
|
|
recordsegmentdata(param_00);
|
|
}
|
|
}
|
|
|
|
//Function Number: 51
|
|
createplayersegmentstats(param_00)
|
|
{
|
|
param_00.var_F18B = [];
|
|
param_00.var_F18B["distanceTotal"] = 0;
|
|
param_00.var_F18B["movingTotal"] = 0;
|
|
param_00.var_F18B["movementUpdateCount"] = 0;
|
|
}
|
|
|
|
//Function Number: 52
|
|
recordsegmentdata(param_00)
|
|
{
|
|
param_00 endon("death");
|
|
while(!scripts\mp\_utility::func_766C("prematch_done"))
|
|
{
|
|
wait(0.5);
|
|
}
|
|
|
|
wait(4);
|
|
param_00.savedsegmentposition = param_00.origin;
|
|
param_00.positionptm = param_00.origin;
|
|
for(;;)
|
|
{
|
|
wait(1);
|
|
if(param_00 scripts\mp\_utility::func_9FC6())
|
|
{
|
|
param_00 waittill("stopped_using_remote");
|
|
param_00.savedsegmentposition = param_00.origin;
|
|
param_00.positionptm = param_00.origin;
|
|
continue;
|
|
}
|
|
|
|
param_00.var_F18B["movementUpdateCount"]++;
|
|
param_00.var_F18B["distanceTotal"] = param_00.var_F18B["distanceTotal"] + distance2d(param_00.savedsegmentposition,param_00.origin);
|
|
param_00.savedsegmentposition = param_00.origin;
|
|
if(param_00.var_F18B["movementUpdateCount"] % 5 == 0)
|
|
{
|
|
var_01 = distance2d(param_00.positionptm,param_00.origin);
|
|
param_00.positionptm = param_00.origin;
|
|
if(var_01 > 16)
|
|
{
|
|
param_00.var_F18B["movingTotal"]++;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 53
|
|
writesegmentdata(param_00)
|
|
{
|
|
param_00 endon("disconnect");
|
|
if(param_00.var_F18B["movementUpdateCount"] < 30)
|
|
{
|
|
return;
|
|
}
|
|
|
|
var_01 = param_00.var_F18B["movingTotal"] / param_00.var_F18B["movementUpdateCount"] / 5 * 100;
|
|
var_02 = param_00.var_F18B["distanceTotal"] / param_00.var_F18B["movementUpdateCount"];
|
|
setmatchdata("players",param_00.var_41F0,"averageSpeedDuringMatch",var_02);
|
|
setmatchdata("players",param_00.var_41F0,"percentageOfTimeMoving",var_01);
|
|
}
|
|
|
|
//Function Number: 54
|
|
func_374C()
|
|
{
|
|
thread func_C15D();
|
|
thread watchforversusdone();
|
|
self.var_2C7 = "hud_status_connecting";
|
|
self waittill("begin");
|
|
self.var_2C7 = "";
|
|
self.var_4539 = undefined;
|
|
self visionsetfadetoblackforplayer("bw",0);
|
|
level.players_waiting_for_callback[level.players_waiting_for_callback.size] = self;
|
|
self waittill("connected_continue");
|
|
self.var_452B = 1;
|
|
self setclientomnvar("ui_scoreboard_freeze",0);
|
|
if(self ishost())
|
|
{
|
|
level.player = self;
|
|
}
|
|
|
|
if(!level.splitscreen && !isdefined(self.pers["score"]))
|
|
{
|
|
iprintln(&"MP_CONNECTED",self);
|
|
}
|
|
|
|
self.var_13114 = self isusingonlinedataoffline();
|
|
func_97E9();
|
|
func_98BE();
|
|
if(getdvar("r_reflectionProbeGenerate") == "1")
|
|
{
|
|
level waittill("eternity");
|
|
}
|
|
|
|
self.var_86BD = scripts\mp\_utility::func_81EC();
|
|
var_00 = 0;
|
|
var_01 = 0;
|
|
if(!isdefined(self.pers["clientid"]))
|
|
{
|
|
for(var_02 = 0;var_02 < 30;var_02++)
|
|
{
|
|
var_03 = getmatchdata("players",var_02,"playerID","xuid");
|
|
if(var_03 == self.var_86BD)
|
|
{
|
|
self.pers["clientid"] = var_02;
|
|
var_01 = 1;
|
|
var_04 = getmatchdata("commonMatchData","playerCountReconnected");
|
|
var_04++;
|
|
setmatchdata("commonMatchData","playerCountReconnected",var_04);
|
|
setmatchdata("players",var_02,"utcReconnectTimeSeconds",function_00D2());
|
|
break;
|
|
}
|
|
}
|
|
|
|
if(!var_01)
|
|
{
|
|
if(game["clientid"] >= 30)
|
|
{
|
|
self.pers["clientid"] = func_7F87();
|
|
}
|
|
else
|
|
{
|
|
self.pers["clientid"] = game["clientid"];
|
|
}
|
|
|
|
if(game["clientid"] < 30)
|
|
{
|
|
game["clientid"]++;
|
|
}
|
|
}
|
|
|
|
var_00 = 1;
|
|
self.pers["matchdataWeaponStats"] = [];
|
|
self.pers["matchdataScoreEventCounts"] = [];
|
|
self.pers["xpAtLastDeath"] = 0;
|
|
self.pers["scoreAtLastDeath"] = 0;
|
|
self method_8596(self.pers["clientid"]);
|
|
setmatchdata("players",self.pers["clientid"],"joinType",self getjointype());
|
|
setmatchdata("players",self.pers["clientid"],"isTrialVersion",self method_85B4());
|
|
}
|
|
|
|
if(var_00)
|
|
{
|
|
scripts\mp\_persistence::func_10E57("round","timePlayed",0,1);
|
|
self setplayerdata("common","round","timePlayed",0);
|
|
self setplayerdata("common","round","totalXp",0);
|
|
self setplayerdata("common","aarUnlockCount",0);
|
|
if(!isdefined(game["uniquePlayerCount"]))
|
|
{
|
|
game["uniquePlayerCount"] = 1;
|
|
}
|
|
else
|
|
{
|
|
game["uniquePlayerCount"]++;
|
|
}
|
|
}
|
|
|
|
self.var_41F0 = self.pers["clientid"];
|
|
self.pers["teamKillPunish"] = 0;
|
|
function_0131("J;" + self.var_86BD + ";" + self getentitynumber() + ";" + self.name + "\n");
|
|
self method_85A3();
|
|
var_05 = getmatchdata("commonMatchData","playerCount");
|
|
if(game["clientid"] <= 30 && game["clientid"] != var_05)
|
|
{
|
|
if(!isai(self) && scripts\mp\_utility::func_B3EC())
|
|
{
|
|
self registerparty(self.var_41F0);
|
|
}
|
|
|
|
if(var_00 && !var_01)
|
|
{
|
|
var_05++;
|
|
setmatchdata("commonMatchData","playerCount",var_05);
|
|
}
|
|
|
|
setmatchdata("players",self.var_41F0,"playerID","xuid",scripts\mp\_utility::func_81EC());
|
|
setmatchdata("players",self.var_41F0,"gamertag",self.name);
|
|
setmatchdata("players",self.var_41F0,"skill",self method_810F());
|
|
setmatchclientip(self,self.var_41F0);
|
|
if(var_00 && !var_01)
|
|
{
|
|
setmatchdata("players",self.var_41F0,"utcConnectTimeSeconds",function_00D2());
|
|
}
|
|
|
|
if(scripts\mp\_utility::func_DCD5())
|
|
{
|
|
scripts\mp\_matchdata::func_AFC4();
|
|
}
|
|
|
|
if((isdefined(self.pers["isBot"]) && self.pers["isBot"]) || isai(self))
|
|
{
|
|
var_06 = 1;
|
|
setmatchdata("players",self.var_41F0,"isBot",1);
|
|
}
|
|
else
|
|
{
|
|
var_06 = 0;
|
|
}
|
|
|
|
if(scripts\mp\_utility::func_B3EC() && scripts\mp\_utility::func_1CAD() && !var_06)
|
|
{
|
|
setmatchdata("players",self.var_41F0,"team",self.sessionteam);
|
|
}
|
|
|
|
if(var_00 && isdefined(level.var_B3FD))
|
|
{
|
|
[[ level.var_B3FD ]](self.var_41F0,self.team,self.name);
|
|
}
|
|
}
|
|
|
|
if(!level.teambased)
|
|
{
|
|
game["roundsWon"][self.var_86BD] = 0;
|
|
}
|
|
|
|
self.var_AAEF = [];
|
|
self.var_AAEB = [];
|
|
self.var_AAE8 = "";
|
|
self.var_AAEA = [];
|
|
self.var_AAE9 = "";
|
|
if(!isdefined(self.pers["cur_kill_streak"]))
|
|
{
|
|
self.pers["cur_kill_streak"] = 0;
|
|
}
|
|
|
|
if(!isdefined(self.pers["cur_death_streak"]))
|
|
{
|
|
self.pers["cur_death_streak"] = 0;
|
|
}
|
|
|
|
if(!isdefined(self.pers["cur_kill_streak_for_nuke"]))
|
|
{
|
|
self.pers["cur_kill_streak_for_nuke"] = 0;
|
|
}
|
|
|
|
if(scripts\mp\_utility::func_DCD5())
|
|
{
|
|
self.var_A61A = scripts\mp\_persistence::func_10E33("killStreak");
|
|
}
|
|
|
|
self.var_A991 = -1;
|
|
self.var_115D5 = 0;
|
|
self.var_8C2A = 0;
|
|
self.var_136FF = 0;
|
|
self.var_138DD = 0;
|
|
self.var_13906 = 0;
|
|
self.var_BCF6 = 1;
|
|
self.killstreakscaler = 1;
|
|
self.var_C2AD = 1;
|
|
self.var_6DED = 1;
|
|
self.var_AC68 = 0;
|
|
if(isdefined(self.pers["deaths"]))
|
|
{
|
|
self.var_AC68 = self.pers["deaths"];
|
|
}
|
|
|
|
func_FAE7();
|
|
level thread monitorplayersegments(self);
|
|
func_E278();
|
|
waittillframeend;
|
|
level.players[level.players.size] = self;
|
|
scripts\mp\_spawnlogic::func_1855();
|
|
scripts\mp\_spawnlogic::func_184B();
|
|
if(game["state"] == "postgame")
|
|
{
|
|
self.var_4530 = 1;
|
|
self setclientdvars("cg_drawSpectatorMessages",0);
|
|
self visionsetfadetoblackforplayer("",0.25);
|
|
func_108DD();
|
|
return;
|
|
}
|
|
|
|
if(var_00 && scripts\mp\_utility::func_81CB() >= -5536 || game["roundsPlayed"] > 0)
|
|
{
|
|
self.var_A49D = 1;
|
|
}
|
|
|
|
if(isai(self) && isdefined(level.var_2D9E) && isdefined(level.var_2D9E["think"]))
|
|
{
|
|
self thread [[ level.var_2D9E["think"] ]]();
|
|
}
|
|
|
|
level endon("game_ended");
|
|
if(isdefined(level.var_90A9))
|
|
{
|
|
thread scripts\mp\_hostmigration::func_90AA();
|
|
}
|
|
|
|
if(isdefined(level.var_C56F))
|
|
{
|
|
[[ level.var_C56F ]]();
|
|
}
|
|
|
|
if(!isdefined(self.pers["team"]))
|
|
{
|
|
var_0A = scripts\mp\_utility::func_81CB() / 1000 + 6;
|
|
if(var_0A < level.var_D84D)
|
|
{
|
|
func_10912();
|
|
self lerpfovbypreset("default");
|
|
self setclientomnvar("ui_mapshot_camera",0);
|
|
func_97EA();
|
|
self.pers["team"] = "";
|
|
self.team = "free";
|
|
}
|
|
else
|
|
{
|
|
self visionsetfadetoblackforplayer("",0.5);
|
|
}
|
|
|
|
connect_validateplayerteam();
|
|
if(self ismlgspectator())
|
|
{
|
|
thread scripts\mp\_menus::func_F859();
|
|
return;
|
|
}
|
|
|
|
if((scripts\mp\_utility::func_B3EC() || scripts\mp\_utility::func_AEB6() || function_0303()) && self.sessionteam != "none")
|
|
{
|
|
thread func_10911();
|
|
thread scripts\mp\_menus::func_F876(self.sessionteam);
|
|
if(scripts\mp\_utility::func_1C7D() || scripts\mp\_utility::func_10125() && !isai(self))
|
|
{
|
|
self setclientomnvar("ui_options_menu",2);
|
|
}
|
|
|
|
if(!function_0303())
|
|
{
|
|
thread func_A5AD();
|
|
}
|
|
|
|
return;
|
|
}
|
|
|
|
if(!scripts\mp\_utility::func_B3EC() && scripts\mp\_utility::func_1CAD())
|
|
{
|
|
scripts\mp\_menus::func_B678();
|
|
self setclientomnvar("ui_options_menu",1);
|
|
return;
|
|
}
|
|
|
|
thread func_10911();
|
|
scripts\mp\_menus::func_2642();
|
|
if(scripts\mp\_utility::func_1C7D() || scripts\mp\_utility::func_10125() && !isai(self))
|
|
{
|
|
self setclientomnvar("ui_options_menu",2);
|
|
}
|
|
|
|
if(scripts\mp\_utility::func_B3EC())
|
|
{
|
|
thread func_A5AD();
|
|
}
|
|
|
|
return;
|
|
}
|
|
|
|
self visionsetfadetoblackforplayer("",0.5);
|
|
connect_validateplayerteam();
|
|
var_0B = self.pers["team"];
|
|
if(scripts\mp\_utility::func_B3EC() && !isdefined(self.pers["isBot"]) && !self ismlgspectator() && getdvarint("team_consistency_fix"))
|
|
{
|
|
var_0B = self.sessionteam;
|
|
}
|
|
|
|
scripts\mp\_menus::func_185F(var_0B,1);
|
|
if(self ismlgspectator())
|
|
{
|
|
thread func_10911();
|
|
return;
|
|
}
|
|
|
|
if(scripts\mp\_utility::func_9FD4(self.pers["class"]))
|
|
{
|
|
thread func_1083A();
|
|
return;
|
|
}
|
|
|
|
thread func_10911();
|
|
if(self.pers["team"] == "spectator")
|
|
{
|
|
if(scripts\mp\_utility::func_1CAD())
|
|
{
|
|
scripts\mp\_menus::func_2A7A();
|
|
return;
|
|
}
|
|
|
|
self [[ level.var_2642 ]]();
|
|
return;
|
|
}
|
|
|
|
scripts\mp\_menus::func_2A61();
|
|
}
|
|
|
|
//Function Number: 55
|
|
func_3755()
|
|
{
|
|
if(isdefined(self.var_452B) && self.var_452B)
|
|
{
|
|
scripts\mp\_utility::func_12EDC();
|
|
scripts\mp\_utility::func_12EC8();
|
|
}
|
|
|
|
if(self ishost())
|
|
{
|
|
func_97EA();
|
|
}
|
|
|
|
var_00 = 0;
|
|
foreach(var_02 in level.players)
|
|
{
|
|
if(!isdefined(var_02.pers["isBot"]) || var_02.pers["isBot"] == 0)
|
|
{
|
|
var_00++;
|
|
}
|
|
}
|
|
|
|
if(!isdefined(self.pers["isBot"]) || self.pers["isBot"] == 0)
|
|
{
|
|
level.var_90A8++;
|
|
if(level.var_90A8 >= var_00 * 2 / 3)
|
|
{
|
|
level notify("hostmigration_enoughplayers");
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 56
|
|
func_17EA(param_00,param_01)
|
|
{
|
|
var_02 = scripts\mp\_rank::func_80C9(param_00);
|
|
var_03 = scripts\mp\_rank::func_80CF(var_02);
|
|
var_04 = scripts\mp\_rank::func_80CE(var_02);
|
|
var_02 = var_02 + param_00 - var_03 / var_04 - var_03;
|
|
var_02 = var_02 + param_01;
|
|
if(var_02 < 0)
|
|
{
|
|
var_02 = 0;
|
|
var_05 = 0;
|
|
}
|
|
else if(var_03 >= level.var_B4C0 + 1)
|
|
{
|
|
var_03 = level.var_B4C0;
|
|
var_05 = 1;
|
|
}
|
|
else
|
|
{
|
|
var_05 = var_03 - floor(var_03);
|
|
var_02 = int(floor(var_02));
|
|
}
|
|
|
|
var_03 = scripts\mp\_rank::func_80CF(var_02);
|
|
var_04 = scripts\mp\_rank::func_80CE(var_02);
|
|
return int(var_05 * var_04 - var_03) + var_03;
|
|
}
|
|
|
|
//Function Number: 57
|
|
func_72DF()
|
|
{
|
|
self endon("death");
|
|
self endon("disconnect");
|
|
self endon("spawned");
|
|
wait(60);
|
|
if(self.var_8C2A)
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(self.pers["team"] == "spectator")
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(!scripts\mp\_utility::func_9FD4(self.pers["class"]))
|
|
{
|
|
self.pers["class"] = "CLASS_CUSTOM1";
|
|
self.var_4004 = self.pers["class"];
|
|
}
|
|
|
|
thread func_1083A();
|
|
}
|
|
|
|
//Function Number: 58
|
|
func_A5AD()
|
|
{
|
|
self endon("death");
|
|
self endon("disconnect");
|
|
self endon("spawned");
|
|
self endon("attempted_spawn");
|
|
var_00 = getdvarfloat("scr_kick_time",90);
|
|
var_01 = getdvarfloat("scr_kick_mintime",45);
|
|
var_02 = getdvarfloat("scr_kick_hosttime",120);
|
|
var_03 = gettime();
|
|
if(self ishost())
|
|
{
|
|
func_A5AF(var_02);
|
|
}
|
|
else
|
|
{
|
|
func_A5AF(var_00);
|
|
}
|
|
|
|
var_04 = gettime() - var_03 / 1000;
|
|
if(var_04 < var_00 - 0.1 && var_04 < var_01)
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(self.var_8C2A)
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(self.pers["team"] == "spectator")
|
|
{
|
|
return;
|
|
}
|
|
|
|
kick(self getentitynumber(),"EXE_PLAYERKICKED_INACTIVE",1);
|
|
level thread scripts\mp\_gamelogic::func_12E9D();
|
|
}
|
|
|
|
//Function Number: 59
|
|
func_A5AF(param_00)
|
|
{
|
|
level endon("game_ended");
|
|
scripts\mp\_hostmigration::func_13708(param_00);
|
|
}
|
|
|
|
//Function Number: 60
|
|
func_BA38()
|
|
{
|
|
level endon("game_ended");
|
|
self endon("disconnect");
|
|
self.var_13552 = 0;
|
|
while(self.var_13552 < 2)
|
|
{
|
|
self waittill("voteToKick");
|
|
self.var_13552++;
|
|
}
|
|
|
|
kick(self getentitynumber(),"EXE_PLAYERKICKED_TEAMKILLS");
|
|
}
|
|
|
|
//Function Number: 61
|
|
func_6B57()
|
|
{
|
|
wait(1);
|
|
self notify("voteToKick");
|
|
wait(3);
|
|
self notify("voteToKick");
|
|
wait(2);
|
|
self notify("voteToKick");
|
|
}
|
|
|
|
//Function Number: 62
|
|
totaldisttracking(param_00)
|
|
{
|
|
level endon("game_ended");
|
|
self endon("disconnect");
|
|
self endon("spawned");
|
|
self notify("distFromSpawnTracking");
|
|
self endon("distFromSpawnTracking");
|
|
if(!scripts\mp\_utility::func_766C("prematch_done"))
|
|
{
|
|
scripts\mp\_utility::func_7670("prematch_done");
|
|
}
|
|
|
|
var_01 = param_00;
|
|
for(;;)
|
|
{
|
|
scripts\common\utility::waittill_notify_or_timeout("death",5);
|
|
if(!isdefined(self.pers["totalDistTraveledSQ"]))
|
|
{
|
|
self.pers["totalDistTraveledSQ"] = 0;
|
|
}
|
|
|
|
self.pers["totalDistTraveledSQ"] = self.pers["totalDistTraveledSQ"] + distancesquared(var_01,self.origin);
|
|
var_01 = self.origin;
|
|
if(self.pers["totalDistTraveledSQ"] > 90000)
|
|
{
|
|
self.pers["distTrackingPassed"] = 1;
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 63
|
|
stancespamtracking()
|
|
{
|
|
level endon("game_ended");
|
|
self endon("disconnect");
|
|
self endon("spawned");
|
|
self notify("stanceSpamTracking");
|
|
self endon("stanceSpamTracking");
|
|
if(!scripts\mp\_utility::func_766C("prematch_done"))
|
|
{
|
|
scripts\mp\_utility::func_7670("prematch_done");
|
|
}
|
|
|
|
var_00 = undefined;
|
|
for(;;)
|
|
{
|
|
var_01 = self getstance();
|
|
if(isdefined(var_00) && var_00 != var_01)
|
|
{
|
|
if(!isdefined(self.pers["stanceTracking"]))
|
|
{
|
|
self.pers["stanceTracking"] = [];
|
|
self.pers["stanceTracking"]["prone"] = 0;
|
|
self.pers["stanceTracking"]["crouch"] = 0;
|
|
self.pers["stanceTracking"]["stand"] = 0;
|
|
}
|
|
|
|
if(var_01 == "prone" || var_01 == "crouch" || var_01 == "stand")
|
|
{
|
|
self.pers["stanceTracking"][var_01]++;
|
|
}
|
|
}
|
|
|
|
var_00 = var_01;
|
|
scripts\common\utility::func_136F7();
|
|
}
|
|
}
|
|
|
|
//Function Number: 64
|
|
func_98BE()
|
|
{
|
|
scripts\mp\_persistence::func_97E2();
|
|
if(!isdefined(self.pers["deaths"]))
|
|
{
|
|
scripts\mp\_utility::initpersstat("deaths");
|
|
scripts\mp\_persistence::func_10E56("round","deaths",0);
|
|
}
|
|
|
|
self.var_E9 = scripts\mp\_utility::getpersstat("deaths");
|
|
if(!isdefined(self.pers["score"]))
|
|
{
|
|
scripts\mp\_utility::initpersstat("score");
|
|
scripts\mp\_persistence::func_10E56("round","score",0);
|
|
}
|
|
|
|
self.var_278 = scripts\mp\_utility::getpersstat("score");
|
|
if(!isdefined(self.pers["suicides"]))
|
|
{
|
|
scripts\mp\_utility::initpersstat("suicides");
|
|
}
|
|
|
|
self.var_111BB = scripts\mp\_utility::getpersstat("suicides");
|
|
if(!isdefined(self.pers["kills"]))
|
|
{
|
|
scripts\mp\_utility::initpersstat("kills");
|
|
scripts\mp\_persistence::func_10E56("round","kills",0);
|
|
}
|
|
|
|
self.var_1AB = scripts\mp\_utility::getpersstat("kills");
|
|
if(!isdefined(self.pers["headshots"]))
|
|
{
|
|
scripts\mp\_utility::initpersstat("headshots");
|
|
}
|
|
|
|
self.var_8CA0 = scripts\mp\_utility::getpersstat("headshots");
|
|
if(!isdefined(self.pers["assists"]))
|
|
{
|
|
scripts\mp\_utility::initpersstat("assists");
|
|
scripts\mp\_persistence::func_10E56("round","assists",0);
|
|
}
|
|
|
|
self.var_4D = scripts\mp\_utility::getpersstat("assists");
|
|
if(!isdefined(self.pers["captures"]))
|
|
{
|
|
scripts\mp\_utility::initpersstat("captures");
|
|
scripts\mp\_persistence::func_10E56("round","captures",0);
|
|
}
|
|
|
|
self.var_3A3F = scripts\mp\_utility::getpersstat("captures");
|
|
if(!isdefined(self.pers["returns"]))
|
|
{
|
|
scripts\mp\_utility::initpersstat("returns");
|
|
scripts\mp\_persistence::func_10E56("round","returns",0);
|
|
}
|
|
|
|
self.var_E476 = scripts\mp\_utility::getpersstat("returns");
|
|
if(!isdefined(self.pers["defends"]))
|
|
{
|
|
scripts\mp\_utility::initpersstat("defends");
|
|
scripts\mp\_persistence::func_10E56("round","defends",0);
|
|
}
|
|
|
|
self.var_508B = scripts\mp\_utility::getpersstat("defends");
|
|
if(!isdefined(self.pers["plants"]))
|
|
{
|
|
scripts\mp\_utility::initpersstat("plants");
|
|
scripts\mp\_persistence::func_10E56("round","plants",0);
|
|
}
|
|
|
|
self.var_CC51 = scripts\mp\_utility::getpersstat("plants");
|
|
if(!isdefined(self.pers["defuses"]))
|
|
{
|
|
scripts\mp\_utility::initpersstat("defuses");
|
|
scripts\mp\_persistence::func_10E56("round","defuses",0);
|
|
}
|
|
|
|
self.var_50AA = scripts\mp\_utility::getpersstat("defuses");
|
|
if(!isdefined(self.pers["destructions"]))
|
|
{
|
|
scripts\mp\_utility::initpersstat("destructions");
|
|
scripts\mp\_persistence::func_10E56("round","destructions",0);
|
|
}
|
|
|
|
self.var_5383 = scripts\mp\_utility::getpersstat("destructions");
|
|
if(!isdefined(self.pers["confirmed"]))
|
|
{
|
|
scripts\mp\_utility::initpersstat("confirmed");
|
|
scripts\mp\_persistence::func_10E56("round","confirmed",0);
|
|
}
|
|
|
|
self.var_4522 = scripts\mp\_utility::getpersstat("confirmed");
|
|
if(!isdefined(self.pers["denied"]))
|
|
{
|
|
scripts\mp\_utility::initpersstat("denied");
|
|
scripts\mp\_persistence::func_10E56("round","denied",0);
|
|
}
|
|
|
|
self.var_51E9 = scripts\mp\_utility::getpersstat("denied");
|
|
if(!isdefined(self.pers["rescues"]))
|
|
{
|
|
scripts\mp\_utility::initpersstat("rescues");
|
|
scripts\mp\_persistence::func_10E56("round","rescues",0);
|
|
}
|
|
|
|
self.var_E1C2 = scripts\mp\_utility::getpersstat("rescues");
|
|
if(!isdefined(self.pers["touchdowns"]))
|
|
{
|
|
scripts\mp\_utility::initpersstat("touchdowns");
|
|
scripts\mp\_persistence::func_10E56("round","touchdowns",0);
|
|
}
|
|
|
|
self.var_11A3E = scripts\mp\_utility::getpersstat("touchdowns");
|
|
if(!isdefined(self.pers["fieldgoals"]))
|
|
{
|
|
scripts\mp\_utility::initpersstat("fieldgoals");
|
|
scripts\mp\_persistence::func_10E56("round","fieldgoals",0);
|
|
}
|
|
|
|
self.var_6BDB = scripts\mp\_utility::getpersstat("fieldgoals");
|
|
if(!isdefined(self.pers["killChains"]))
|
|
{
|
|
scripts\mp\_utility::initpersstat("killChains");
|
|
scripts\mp\_persistence::func_10E56("round","killChains",0);
|
|
}
|
|
|
|
self.var_A642 = scripts\mp\_utility::getpersstat("killChains");
|
|
if(!isdefined(self.pers["killsAsSurvivor"]))
|
|
{
|
|
scripts\mp\_utility::initpersstat("killsAsSurvivor");
|
|
scripts\mp\_persistence::func_10E56("round","killsAsSurvivor",0);
|
|
}
|
|
|
|
self.var_A676 = scripts\mp\_utility::getpersstat("killsAsSurvivor");
|
|
if(!isdefined(self.pers["killsAsInfected"]))
|
|
{
|
|
scripts\mp\_utility::initpersstat("killsAsInfected");
|
|
scripts\mp\_persistence::func_10E56("round","killsAsInfected",0);
|
|
}
|
|
|
|
self.var_A675 = scripts\mp\_utility::getpersstat("killsAsInfected");
|
|
if(!isdefined(self.pers["teamkills"]))
|
|
{
|
|
scripts\mp\_utility::initpersstat("teamkills");
|
|
}
|
|
|
|
if(!isdefined(self.pers["extrascore0"]))
|
|
{
|
|
scripts\mp\_utility::initpersstat("extrascore0");
|
|
}
|
|
|
|
if(!isdefined(self.pers["extrascore1"]))
|
|
{
|
|
scripts\mp\_utility::initpersstat("extrascore1");
|
|
}
|
|
|
|
if(!isdefined(self.pers["stabs"]))
|
|
{
|
|
scripts\mp\_utility::initpersstat("stabs");
|
|
scripts\mp\_persistence::func_10E56("round","stabs",0);
|
|
}
|
|
|
|
self.var_10B39 = scripts\mp\_utility::getpersstat("stabs");
|
|
if(!isdefined(self.pers["setbacks"]))
|
|
{
|
|
scripts\mp\_utility::initpersstat("setbacks");
|
|
scripts\mp\_persistence::func_10E56("round","setbacks",0);
|
|
}
|
|
|
|
self.var_F655 = scripts\mp\_utility::getpersstat("setbacks");
|
|
if(!isdefined(self.pers["objTime"]))
|
|
{
|
|
scripts\mp\_utility::initpersstat("objTime");
|
|
scripts\mp\_persistence::func_10E56("round","objTime",0);
|
|
}
|
|
|
|
self.var_C2C5 = scripts\mp\_utility::getpersstat("objTime");
|
|
if(!isdefined(self.pers["gamemodeScore"]))
|
|
{
|
|
scripts\mp\_utility::initpersstat("gamemodeScore");
|
|
scripts\mp\_persistence::func_10E56("round","gamemodeScore",0);
|
|
}
|
|
|
|
if(!isdefined(self.pers["supersEarned"]))
|
|
{
|
|
scripts\mp\_utility::initpersstat("supersEarned");
|
|
}
|
|
|
|
if(!isdefined(self.pers["wardenKSCount"]))
|
|
{
|
|
scripts\mp\_utility::initpersstat("wardenKSCount");
|
|
}
|
|
|
|
if(!isdefined(self.pers["teamKillPunish"]))
|
|
{
|
|
self.pers["teamKillPunish"] = 0;
|
|
}
|
|
|
|
scripts\mp\_utility::initpersstat("longestStreak");
|
|
self.pers["lives"] = scripts\mp\_utility::func_7ECE();
|
|
scripts\mp\_persistence::func_10E56("round","killStreak",0);
|
|
scripts\mp\_persistence::func_10E56("round","loss",0);
|
|
scripts\mp\_persistence::func_10E56("round","win",0);
|
|
scripts\mp\_persistence::func_10E56("round","scoreboardType","none");
|
|
}
|
|
|
|
//Function Number: 65
|
|
func_1860()
|
|
{
|
|
level.var_115C6[self.team]++;
|
|
if(!isdefined(level.var_115D8))
|
|
{
|
|
level.var_115D8 = [];
|
|
}
|
|
|
|
if(!isdefined(level.var_115D8[self.team]))
|
|
{
|
|
level.var_115D8[self.team] = [];
|
|
}
|
|
|
|
level.var_115D8[self.team][level.var_115D8[self.team].size] = self;
|
|
scripts\mp\_gamelogic::func_12E9D();
|
|
}
|
|
|
|
//Function Number: 66
|
|
func_E11D()
|
|
{
|
|
level.var_115C6[self.team]--;
|
|
if(isdefined(level.var_115D8) && isdefined(level.var_115D8[self.team]))
|
|
{
|
|
var_00 = [];
|
|
foreach(var_02 in level.var_115D8[self.team])
|
|
{
|
|
if(!isdefined(var_02) || var_02 == self)
|
|
{
|
|
continue;
|
|
}
|
|
|
|
var_00[var_00.size] = var_02;
|
|
}
|
|
|
|
level.var_115D8[self.team] = var_00;
|
|
}
|
|
}
|
|
|
|
//Function Number: 67
|
|
func_1845()
|
|
{
|
|
var_00 = self.team;
|
|
if(!isdefined(self.var_1D40) && self.var_1D40)
|
|
{
|
|
level.var_8C2A[var_00]++;
|
|
func_93F8(var_00);
|
|
}
|
|
|
|
self.var_1D40 = undefined;
|
|
if(level.var_1BE6["allies"] + level.var_1BE6["axis"] > level.var_B4BC)
|
|
{
|
|
level.var_B4BC = level.var_1BE6["allies"] + level.var_1BE6["axis"];
|
|
}
|
|
}
|
|
|
|
//Function Number: 68
|
|
func_93F8(param_00,param_01)
|
|
{
|
|
level.var_1BE6[param_00]++;
|
|
if(!isdefined(level.var_1BE5))
|
|
{
|
|
level.var_1BE5 = [];
|
|
}
|
|
|
|
if(!isdefined(level.var_1BE5[param_00]))
|
|
{
|
|
level.var_1BE5[param_00] = [];
|
|
}
|
|
|
|
level.var_1BE5[param_00] = scripts\common\utility::array_add(level.var_1BE5[param_00],self);
|
|
if(scripts\mp\_utility::func_9FB3(param_01) && param_00 == "allies" || param_00 == "axis")
|
|
{
|
|
var_02 = level.var_C74B[param_00];
|
|
foreach(var_04 in level.players)
|
|
{
|
|
if(var_04.team == param_00)
|
|
{
|
|
var_04 playsoundtoplayer("mp_bodycount_tick_positive",var_04);
|
|
continue;
|
|
}
|
|
|
|
if(var_04.team == var_02)
|
|
{
|
|
var_04 playsoundtoplayer("mp_bodycount_tick_negative",var_04);
|
|
}
|
|
}
|
|
}
|
|
|
|
scripts\mp\_gamelogic::func_12E9D();
|
|
}
|
|
|
|
//Function Number: 69
|
|
func_E0FF(param_00)
|
|
{
|
|
var_01 = self.pers["lives"];
|
|
var_02 = scripts\mp\_utility::func_7ECE() != 0 && var_01 == 0;
|
|
var_03 = self.team;
|
|
if(isdefined(self.var_11377) && self.var_11377 && isdefined(self.var_A49E) && self.var_A49E == self.team)
|
|
{
|
|
var_03 = self.var_AB33;
|
|
}
|
|
|
|
if(isdefined(param_00))
|
|
{
|
|
func_E0CA();
|
|
}
|
|
else if(isdefined(self.var_11377) && !level.ingraceperiod || self.var_8BE9)
|
|
{
|
|
if(var_01)
|
|
{
|
|
self.pers["lives"]--;
|
|
}
|
|
}
|
|
|
|
func_4FBD(var_03,var_02);
|
|
}
|
|
|
|
//Function Number: 70
|
|
func_4FBD(param_00,param_01)
|
|
{
|
|
level.var_1BE6[param_00]--;
|
|
for(var_02 = 0;var_02 < level.var_1BE5[param_00].size;var_02++)
|
|
{
|
|
if(level.var_1BE5[param_00][var_02] == self)
|
|
{
|
|
level.var_1BE5[param_00][var_02] = level.var_1BE5[param_00][level.var_1BE5[param_00].size - 1];
|
|
level.var_1BE5[param_00][level.var_1BE5[param_00].size - 1] = undefined;
|
|
break;
|
|
}
|
|
}
|
|
|
|
if(scripts\mp\_utility::func_9FB3(param_01) && param_00 == "allies" || param_00 == "axis")
|
|
{
|
|
var_03 = level.var_C74B[param_00];
|
|
foreach(var_05 in level.players)
|
|
{
|
|
if(var_05.team == param_00)
|
|
{
|
|
var_05 playsoundtoplayer("mp_bodycount_tick_negative",var_05);
|
|
continue;
|
|
}
|
|
|
|
if(var_05.team == var_03)
|
|
{
|
|
var_05 playsoundtoplayer("mp_bodycount_tick_positive",var_05);
|
|
}
|
|
}
|
|
}
|
|
|
|
scripts\mp\_gamelogic::func_12E9D();
|
|
}
|
|
|
|
//Function Number: 71
|
|
func_1853()
|
|
{
|
|
level.var_AD8D[self.team] = level.var_AD8D[self.team] + self.pers["lives"];
|
|
}
|
|
|
|
//Function Number: 72
|
|
func_E112()
|
|
{
|
|
level.var_AD8D[self.team]--;
|
|
level.var_AD8D[self.team] = int(max(0,level.var_AD8D[self.team]));
|
|
}
|
|
|
|
//Function Number: 73
|
|
func_E0CA()
|
|
{
|
|
level.var_AD8D[self.team] = level.var_AD8D[self.team] - self.pers["lives"];
|
|
level.var_AD8D[self.team] = int(max(0,level.var_AD8D[self.team]));
|
|
}
|
|
|
|
//Function Number: 74
|
|
func_E278()
|
|
{
|
|
self setclientomnvar("ui_carrying_bomb",0);
|
|
self setclientomnvar("ui_objective_state",0);
|
|
self setclientomnvar("ui_securing",0);
|
|
self setclientomnvar("ui_light_armor",0);
|
|
self setclientomnvar("ui_killcam_end_milliseconds",0);
|
|
self setclientomnvar("ui_juiced_end_milliseconds",0);
|
|
self setclientdvar("ui_eyes_on_end_milliseconds",0);
|
|
self setclientomnvar("ui_cranked_bomb_timer_end_milliseconds",0);
|
|
self setclientomnvar("ui_edge_glow",0);
|
|
}
|
|
|
|
//Function Number: 75
|
|
func_E27B()
|
|
{
|
|
self setclientomnvar("ui_carrying_bomb",0);
|
|
self setclientomnvar("ui_objective_state",0);
|
|
self setclientomnvar("ui_securing",0);
|
|
self setclientomnvar("ui_light_armor",0);
|
|
self setclientomnvar("ui_killcam_end_milliseconds",0);
|
|
self setclientomnvar("ui_juiced_end_milliseconds",0);
|
|
self setclientdvar("ui_eyes_on_end_milliseconds",0);
|
|
self setclientomnvar("ui_cranked_bomb_timer_end_milliseconds",0);
|
|
self setclientomnvar("ui_edge_glow",0);
|
|
}
|
|
|
|
//Function Number: 76
|
|
monitorwallrun()
|
|
{
|
|
self endon("death");
|
|
self endon("disconnect");
|
|
for(;;)
|
|
{
|
|
if(self method_8446())
|
|
{
|
|
self.var_AA43 = gettime();
|
|
}
|
|
|
|
wait(0.05);
|
|
}
|
|
}
|
|
|
|
//Function Number: 77
|
|
func_13A6C()
|
|
{
|
|
self endon("death");
|
|
self endon("disconnect");
|
|
self waittill("sprint_slide_begin");
|
|
}
|
|
|
|
//Function Number: 78
|
|
func_13B76()
|
|
{
|
|
self endon("death");
|
|
self endon("disconnect");
|
|
self.var_11563 = [];
|
|
for(;;)
|
|
{
|
|
var_00 = (self.origin[0],self.origin[1],self.origin[2] + 64);
|
|
var_01 = self getplayerangles();
|
|
var_02 = anglestoforward(var_01);
|
|
var_03 = var_00 + var_02 * 10000;
|
|
var_04 = bullettrace(var_00,var_03,1,self,0,0,0,0,0);
|
|
var_05 = var_04["entity"];
|
|
if(isdefined(var_05) && isplayer(var_05) && var_05.team != self.team && lib_0DF8::func_213D(self,var_05))
|
|
{
|
|
if(isdefined(var_05))
|
|
{
|
|
func_12F36("ui_target_health",var_05.health);
|
|
}
|
|
|
|
if(isdefined(var_05))
|
|
{
|
|
func_12F36("ui_target_max_health",var_05.maxhealth);
|
|
}
|
|
|
|
if(isdefined(var_05))
|
|
{
|
|
func_12F36("ui_target_entity_num",var_05 getentitynumber());
|
|
}
|
|
}
|
|
else
|
|
{
|
|
func_12F36("ui_target_entity_num",-1);
|
|
}
|
|
|
|
wait(0.1);
|
|
}
|
|
}
|
|
|
|
//Function Number: 79
|
|
func_12F36(param_00,param_01)
|
|
{
|
|
scripts\common\utility::func_136F7();
|
|
if(!isdefined(self))
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(!isdefined(param_01))
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(!isdefined(self.var_11563[param_00]) || param_01 != self.var_11563[param_00])
|
|
{
|
|
self setclientomnvar(param_00,param_01);
|
|
self.var_11563[param_00] = param_01;
|
|
}
|
|
} |