mirror of
https://github.com/InfinityLoader/IL-GSC.git
synced 2025-06-10 18:27:57 -05:00
1391 lines
28 KiB
Plaintext
1391 lines
28 KiB
Plaintext
/*******************************************************************
|
|
* Decompiled By: Bog
|
|
* Decompiled File: scripts\cp\cp_globallogic.gsc
|
|
* Game: Call of Duty: Infinite Warfare
|
|
* Platform: PC
|
|
* Function Count: 80
|
|
* Decompile Time: 4032 ms
|
|
* Timestamp: 10/27/2023 12:09:20 AM
|
|
*******************************************************************/
|
|
|
|
//Function Number: 1
|
|
init()
|
|
{
|
|
scripts\common\utility::func_1115B();
|
|
func_F6BD();
|
|
func_F6BA();
|
|
scripts\cp\_utility::func_F305();
|
|
func_FA99();
|
|
scripts\cp\_utility::func_980B();
|
|
scripts\cp\_utility::func_9892();
|
|
func_FAAB();
|
|
func_F6BB();
|
|
func_F6BF();
|
|
func_F6BC();
|
|
func_AE18();
|
|
func_10958();
|
|
func_97F7();
|
|
func_FAAA();
|
|
func_9817();
|
|
func_988B();
|
|
scripts\common\fx::func_980A();
|
|
scripts\mp\_callbacksetup::func_FAA2();
|
|
scripts\cp\_movers::init();
|
|
scripts\cp\_fx::main();
|
|
scripts\cp\_merits::func_3214();
|
|
scripts\cp\_endgame::init();
|
|
scripts\cp\_laststand::func_9654();
|
|
if(func_100BC())
|
|
{
|
|
level thread func_132A3();
|
|
}
|
|
|
|
level.var_108E4 = (0,0,0);
|
|
level.var_108E2 = (0,0,0);
|
|
level.var_B32E = func_6CAF(level.var_108E4,level.var_108E2);
|
|
function_01B4(level.var_B32E);
|
|
}
|
|
|
|
//Function Number: 2
|
|
func_6CAF(param_00,param_01)
|
|
{
|
|
var_02 = (0,0,0);
|
|
var_02 = param_01 - param_00;
|
|
var_02 = (var_02[0] / 2,var_02[1] / 2,var_02[2] / 2) + param_00;
|
|
return var_02;
|
|
}
|
|
|
|
//Function Number: 3
|
|
func_F6BD()
|
|
{
|
|
level.var_1307 = 1;
|
|
level.splitscreen = function_0114();
|
|
level.onlinegame = getdvarint("onlinegame");
|
|
level.rankedmatch = (level.onlinegame && !getdvarint("xblive_privatematch")) || getdvarint("force_ranking");
|
|
level.script = tolower(getdvar("mapname"));
|
|
level.gametype = tolower(getdvar("ui_gametype"));
|
|
level.teamnamelist = ["axis","allies"];
|
|
level.var_C74B["allies"] = "axis";
|
|
level.var_C74B["axis"] = "allies";
|
|
level.multiteambased = 0;
|
|
level.teambased = 1;
|
|
level.var_C2A1 = 0;
|
|
level.var_74C2 = [];
|
|
level.createfx_enabled = getdvar("createfx") != "";
|
|
level.var_108E4 = (0,0,0);
|
|
level.var_108E2 = (0,0,0);
|
|
level.var_8B38 = 0;
|
|
level.var_C22E = 0;
|
|
level.var_DDDA = [];
|
|
}
|
|
|
|
//Function Number: 4
|
|
func_F6BA()
|
|
{
|
|
setdvar("ui_inhostmigration",0);
|
|
setdvar("camera_thirdPerson",getdvarint("scr_thirdPerson"));
|
|
setdvar("sm_sunShadowScale",1);
|
|
setdvar("r_specularcolorscale",2.5);
|
|
setdvar("r_diffusecolorscale",1);
|
|
setdvar("r_lightGridEnableTweaks",0);
|
|
setdvar("r_lightGridIntensity",1);
|
|
setdvar("bg_compassShowEnemies",getdvar("scr_game_forceuav"));
|
|
setdvar("isMatchMakingGame",scripts\cp\_utility::func_B3EC());
|
|
setdvar("ui_overtime",0);
|
|
setdvar("ui_allow_teamchange",1);
|
|
setdvar("g_deadChat",1);
|
|
setdvar("min_wait_for_players",5);
|
|
setdvar("ui_friendlyfire",0);
|
|
setdvar("cg_drawFriendlyHUDGrenades",0);
|
|
setdvar("cg_drawCrosshair",scripts\common\utility::func_116D7(level.var_8B38 == 1,0,1));
|
|
setdvar("cg_drawCrosshairNames",1);
|
|
setdvar("cg_drawFriendlyNamesAlways",0);
|
|
}
|
|
|
|
//Function Number: 5
|
|
func_FA99()
|
|
{
|
|
level.var_3768 = ::func_4631;
|
|
level.var_375F = ::func_5043;
|
|
level.var_3761 = ::func_5045;
|
|
level.callbackplayerdamage = ::func_5044;
|
|
level.var_3763 = ::func_5046;
|
|
level.var_3766 = ::func_5049;
|
|
level.var_375E = ::func_503E;
|
|
level.var_8136 = ::func_503B;
|
|
level.onspawnplayer = ::func_2B53;
|
|
level.var_C580 = ::func_2B53;
|
|
level.var_C5A4 = ::func_2B53;
|
|
level.var_D3D5 = ::func_5048;
|
|
level.var_97C2 = ::scripts\cp\_agent_utils::func_97C2;
|
|
level.var_F635 = ::scripts\cp\_agent_utils::func_F290;
|
|
level.var_190A = ::scripts\cp\_agent_utils::func_1313C;
|
|
level.var_1908 = ::scripts\cp\_agent_utils::func_1908;
|
|
level.var_7EC5 = ::scripts\cp\_agent_utils::func_7EC5;
|
|
level.var_184B = ::scripts\cp\_agent_utils::func_184B;
|
|
level.var_3764 = ::scripts\cp\_laststand::func_373E;
|
|
level.endgame = ::scripts\cp\_endgame::endgame;
|
|
level.var_72BF = ::scripts\cp\_endgame::func_72BF;
|
|
}
|
|
|
|
//Function Number: 6
|
|
func_AE18()
|
|
{
|
|
level._effect["slide_dust"] = loadfx("vfx/core/screen/vfx_scrnfx_tocam_slidedust_m");
|
|
}
|
|
|
|
//Function Number: 7
|
|
func_5044(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A,param_0B)
|
|
{
|
|
}
|
|
|
|
//Function Number: 8
|
|
func_5046(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08)
|
|
{
|
|
}
|
|
|
|
//Function Number: 9
|
|
func_FAAB()
|
|
{
|
|
var_00 = ["trigger_multiple","trigger_once","trigger_use","trigger_radius","trigger_lookat","trigger_damage"];
|
|
foreach(var_02 in var_00)
|
|
{
|
|
var_03 = getentarray(var_02,"classname");
|
|
for(var_04 = 0;var_04 < var_03.size;var_04++)
|
|
{
|
|
if(isdefined(var_03[var_04].var_EE89))
|
|
{
|
|
var_03[var_04].var_ED84 = var_03[var_04].var_EE89;
|
|
}
|
|
|
|
if(isdefined(var_03[var_04].var_ED84))
|
|
{
|
|
level thread func_69AA(var_03[var_04]);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 10
|
|
func_10958()
|
|
{
|
|
level thread func_11ADC();
|
|
level thread func_11B00();
|
|
level thread func_11ACB();
|
|
}
|
|
|
|
//Function Number: 11
|
|
func_11ADC()
|
|
{
|
|
for(;;)
|
|
{
|
|
level.var_85D5 = getentarray("grenade","classname");
|
|
scripts\common\utility::func_136F7();
|
|
}
|
|
}
|
|
|
|
//Function Number: 12
|
|
func_11B00()
|
|
{
|
|
for(;;)
|
|
{
|
|
level.var_B898 = getentarray("rocket","classname");
|
|
scripts\common\utility::func_136F7();
|
|
}
|
|
}
|
|
|
|
//Function Number: 13
|
|
func_11ACB()
|
|
{
|
|
for(;;)
|
|
{
|
|
level.var_3A59 = getentarray("care_package","targetname");
|
|
scripts\common\utility::func_136F7();
|
|
}
|
|
}
|
|
|
|
//Function Number: 14
|
|
func_5048()
|
|
{
|
|
if(scripts\common\utility::istrue(self.keep_perks))
|
|
{
|
|
if(scripts\cp\_utility::has_zombie_perk("perk_machine_tough"))
|
|
{
|
|
return 200;
|
|
}
|
|
|
|
return 100;
|
|
}
|
|
|
|
return 100;
|
|
}
|
|
|
|
//Function Number: 15
|
|
func_F6BB()
|
|
{
|
|
game["thermal_vision"] = "thermal_mp";
|
|
game["attackers"] = "allies";
|
|
game["defenders"] = "axis";
|
|
game["allies_outfit"] = "urban";
|
|
game["axis_outfit"] = "woodland";
|
|
game["clientid"] = 0;
|
|
game["roundsPlayed"] = 0;
|
|
game["state"] = "playing";
|
|
game["status"] = "normal";
|
|
game["roundsWon"] = [];
|
|
}
|
|
|
|
//Function Number: 16
|
|
func_F6BF()
|
|
{
|
|
function_0237("",0);
|
|
function_0238("default_night_mp");
|
|
function_0236("missilecam");
|
|
function_023A(game["thermal_vision"]);
|
|
function_0239("",0);
|
|
}
|
|
|
|
//Function Number: 17
|
|
func_F6BC()
|
|
{
|
|
function_01BC(0);
|
|
function_01BD(0);
|
|
}
|
|
|
|
//Function Number: 18
|
|
func_503B()
|
|
{
|
|
return func_7DDA(scripts\common\utility::getstructarray("default_player_start","targetname"));
|
|
}
|
|
|
|
//Function Number: 19
|
|
func_7DDA(param_00)
|
|
{
|
|
var_01 = self getentitynumber();
|
|
if(var_01 == 4)
|
|
{
|
|
var_01 = 1;
|
|
}
|
|
|
|
return param_00[var_01];
|
|
}
|
|
|
|
//Function Number: 20
|
|
func_5038()
|
|
{
|
|
level.var_7669 = 1;
|
|
setomnvar("allow_server_pause",0);
|
|
level notify("game_ended","allies");
|
|
scripts\common\utility::func_136F7();
|
|
exitlevel(0);
|
|
}
|
|
|
|
//Function Number: 21
|
|
func_4631()
|
|
{
|
|
[[ level.var_C580 ]]();
|
|
func_E256();
|
|
func_E255();
|
|
lib_0CFE::func_98B1();
|
|
lib_0CFF::func_98C0();
|
|
scripts\cp\_weaponrank::init();
|
|
scripts\cp\_relics::init();
|
|
thread scripts\cp\powers\coop_powers::init();
|
|
scripts\cp\_merits::init();
|
|
thread scripts\cp\contracts_coop::init();
|
|
level thread func_E896();
|
|
level thread func_8489();
|
|
level thread func_10D9F();
|
|
game["gamestarted"] = 1;
|
|
}
|
|
|
|
//Function Number: 22
|
|
func_E256()
|
|
{
|
|
level.var_115C6["allies"] = 0;
|
|
level.var_115C6["axis"] = 0;
|
|
level.var_115C6["spectator"] = 0;
|
|
level.var_8C2A["allies"] = 0;
|
|
level.var_8C2A["axis"] = 0;
|
|
level.var_6BAA = 0;
|
|
level.var_7669 = 0;
|
|
level.var_72B3 = 0;
|
|
level.var_90A1 = 0;
|
|
level.var_8487 = 10;
|
|
level.ingraceperiod = level.var_8487;
|
|
level.var_C08A = getentarray("noragdoll","targetname");
|
|
level.var_740A = 0;
|
|
level.var_10DFF = gettime();
|
|
}
|
|
|
|
//Function Number: 23
|
|
func_E255()
|
|
{
|
|
level.players = [];
|
|
level.var_C928 = [];
|
|
level.var_3CB5 = [];
|
|
level.var_8DD3 = [];
|
|
level.var_12A83 = [];
|
|
level.var_935F = [];
|
|
level.var_12B14 = [];
|
|
level.var_27EF = [];
|
|
}
|
|
|
|
//Function Number: 24
|
|
func_E896()
|
|
{
|
|
level notify("coop_pre_match");
|
|
level endon("game_ended");
|
|
level endon("coop_pre_match");
|
|
scripts\cp\_utility::func_766E("prematch_done",0);
|
|
setomnvar("ui_prematch_period",1);
|
|
if(isdefined(level.var_D84B))
|
|
{
|
|
[[ level.var_D84B ]]();
|
|
}
|
|
|
|
scripts\cp\_utility::func_766F("prematch_done");
|
|
setomnvar("ui_prematch_period",0);
|
|
}
|
|
|
|
//Function Number: 25
|
|
func_8489()
|
|
{
|
|
level notify("coop_grace_period");
|
|
level endon("game_ended");
|
|
level endon("coop_grace_period");
|
|
while(function_0071() == 0)
|
|
{
|
|
scripts\common\utility::func_136F7();
|
|
}
|
|
|
|
while(level.ingraceperiod > 0)
|
|
{
|
|
wait(1);
|
|
level.ingraceperiod--;
|
|
}
|
|
|
|
level.ingraceperiod = 0;
|
|
}
|
|
|
|
//Function Number: 26
|
|
func_10D9F()
|
|
{
|
|
[[ level.var_C5A4 ]]();
|
|
}
|
|
|
|
//Function Number: 27
|
|
func_100BC()
|
|
{
|
|
return !level.console && getdvar("dedicated") == "dedicated LAN server" || getdvar("dedicated") == "dedicated internet server";
|
|
}
|
|
|
|
//Function Number: 28
|
|
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: 29
|
|
func_5043()
|
|
{
|
|
self endon("disconnect");
|
|
self.var_2C7 = "hud_status_connecting";
|
|
self waittill("begin");
|
|
self.var_2C7 = "";
|
|
var_00 = gettime();
|
|
level notify("connected",self);
|
|
game["clientid"]++;
|
|
func_98BC();
|
|
func_F7F0();
|
|
func_97E9();
|
|
func_FAE7();
|
|
func_98B9();
|
|
func_988E();
|
|
lib_0CFF::func_98BA();
|
|
lib_0CFC::func_95C1();
|
|
self.var_C016 = 0;
|
|
self.var_C004 = 0;
|
|
if(scripts\cp\_utility::func_462B("outline"))
|
|
{
|
|
thread scripts\cp\_outline::func_D3DF();
|
|
}
|
|
|
|
thread scripts\cp\_vo::func_97CC();
|
|
thread scripts\cp\_merits::func_12ED0();
|
|
if(self ishost())
|
|
{
|
|
level.player = self;
|
|
}
|
|
|
|
if(!level.teambased)
|
|
{
|
|
game["roundsWon"][self.var_86BD] = 0;
|
|
}
|
|
|
|
waittillframeend;
|
|
func_1810(self);
|
|
if(game["state"] == "postgame")
|
|
{
|
|
self.var_4530 = 1;
|
|
self setclientdvars("cg_drawSpectatorMessages",0);
|
|
func_108DD();
|
|
return;
|
|
}
|
|
|
|
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\cp\_hostmigration::func_90AA();
|
|
}
|
|
|
|
if(isdefined(level.var_C56F))
|
|
{
|
|
[[ level.var_C56F ]]();
|
|
}
|
|
|
|
if(!isai(self))
|
|
{
|
|
func_D3D9();
|
|
}
|
|
|
|
func_108F2();
|
|
}
|
|
|
|
//Function Number: 30
|
|
func_D3D9()
|
|
{
|
|
thread func_102EC();
|
|
thread func_72C1();
|
|
}
|
|
|
|
//Function Number: 31
|
|
func_F7F0()
|
|
{
|
|
self.var_86BD = scripts\cp\_utility::func_81EC();
|
|
self.var_41F0 = game["clientid"];
|
|
self.var_13114 = self isusingonlinedataoffline();
|
|
self.var_452B = 1;
|
|
self.var_8C2A = 0;
|
|
self.var_136FF = 0;
|
|
self.var_138DD = 0;
|
|
self.var_BCF6 = 1;
|
|
self.var_C2AD = 1;
|
|
self.inlaststand = 0;
|
|
}
|
|
|
|
//Function Number: 32
|
|
func_97E9()
|
|
{
|
|
func_97EA();
|
|
self setclientdvars("cg_drawSpectatorMessages",1,"cg_deadChatWithDead",0,"cg_deadChatWithTeam",1,"cg_deadHearTeamLiving",1,"cg_deadHearAllLiving",0,"ui_altscene",0);
|
|
if(level.teambased)
|
|
{
|
|
self setclientdvar("cg_everyonehearseveryone",0);
|
|
}
|
|
}
|
|
|
|
//Function Number: 33
|
|
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: 34
|
|
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: 35
|
|
func_98B9()
|
|
{
|
|
self.var_CA5B = [];
|
|
self.var_CA61 = [];
|
|
}
|
|
|
|
//Function Number: 36
|
|
func_102EC()
|
|
{
|
|
self endon("disconnect");
|
|
for(;;)
|
|
{
|
|
self waittill("sprint_slide_begin");
|
|
self playfx(level._effect["slide_dust"],self geteye());
|
|
}
|
|
}
|
|
|
|
//Function Number: 37
|
|
func_72C1()
|
|
{
|
|
self endon("disconnect");
|
|
level endon("game_ended");
|
|
for(;;)
|
|
{
|
|
self waittill("luinotifyserver",var_00,var_01);
|
|
if(var_00 == "arcade_off")
|
|
{
|
|
self notify("adjustedStance");
|
|
}
|
|
|
|
if(var_00 == "end_game")
|
|
{
|
|
level thread [[ level.var_72BF ]]();
|
|
self notify("disconnect");
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 38
|
|
func_108DD(param_00)
|
|
{
|
|
func_F726();
|
|
var_01 = self.var_72E0;
|
|
func_108F2();
|
|
self setclientdvar("cg_everyoneHearsEveryone",1);
|
|
self setdepthoffield(0,128,512,4000,6,1.8);
|
|
if(level.console)
|
|
{
|
|
self setclientdvar("cg_fov","90");
|
|
}
|
|
|
|
scripts\cp\_utility::func_12F19("intermission");
|
|
}
|
|
|
|
//Function Number: 39
|
|
func_F726()
|
|
{
|
|
var_00 = func_7ED8();
|
|
func_F717(var_00.origin,var_00.angles);
|
|
}
|
|
|
|
//Function Number: 40
|
|
func_F717(param_00,param_01)
|
|
{
|
|
self.var_72E2 = param_00;
|
|
self.var_72E0 = param_01;
|
|
}
|
|
|
|
//Function Number: 41
|
|
func_7ED8()
|
|
{
|
|
var_00 = getentarray("mp_global_intermission","classname");
|
|
return var_00[0];
|
|
}
|
|
|
|
//Function Number: 42
|
|
func_108F2(param_00)
|
|
{
|
|
thread func_108F4(param_00);
|
|
}
|
|
|
|
//Function Number: 43
|
|
func_108F4(param_00)
|
|
{
|
|
self endon("disconnect");
|
|
self endon("joined_spectators");
|
|
level endon("game_ended");
|
|
if(self.var_136FF)
|
|
{
|
|
return;
|
|
}
|
|
|
|
func_136E9();
|
|
func_108F3(param_00);
|
|
}
|
|
|
|
//Function Number: 44
|
|
func_136E9()
|
|
{
|
|
self.var_136FF = 1;
|
|
if(scripts\cp\_utility::func_9FC6())
|
|
{
|
|
self waittill("stopped_using_remote");
|
|
}
|
|
|
|
self.var_136FF = 0;
|
|
}
|
|
|
|
//Function Number: 45
|
|
func_108F3(param_00)
|
|
{
|
|
self notify("spawned");
|
|
self notify("started_spawnPlayer");
|
|
if(level.var_7669)
|
|
{
|
|
self spawn(func_8135(self,1),func_8132(self));
|
|
}
|
|
else
|
|
{
|
|
self spawn(func_8135(self),func_8132(self));
|
|
}
|
|
|
|
func_E262();
|
|
func_E261();
|
|
func_E263();
|
|
resetplayerdamagemodifiers();
|
|
param_00 = scripts\common\utility::func_116D7(isdefined(param_00),param_00,0);
|
|
if(!param_00)
|
|
{
|
|
func_C07F();
|
|
}
|
|
|
|
if(isai(self))
|
|
{
|
|
func_10828(param_00);
|
|
}
|
|
|
|
[[ level.onspawnplayer ]]();
|
|
if(!scripts\common\utility::flag("introscreen_over"))
|
|
{
|
|
scripts\cp\_utility::func_7385(1);
|
|
}
|
|
|
|
self [[ level.var_4C55 ]](param_00);
|
|
if(getdvarint("camera_thirdPerson"))
|
|
{
|
|
scripts\cp\_utility::setthirdpersondof(1);
|
|
}
|
|
|
|
if(func_1001B())
|
|
{
|
|
scripts\cp\_utility::func_7385(1);
|
|
}
|
|
|
|
waittillframeend;
|
|
self notify("spawned_player");
|
|
level notify("player_spawned",self);
|
|
}
|
|
|
|
//Function Number: 46
|
|
func_E262()
|
|
{
|
|
self setclientomnvar("ui_options_menu",0);
|
|
self setclientomnvar("ui_hud_shake",0);
|
|
}
|
|
|
|
//Function Number: 47
|
|
func_E261()
|
|
{
|
|
self stopshellshock();
|
|
self stoprumble("damage_heavy");
|
|
self setdepthoffield(0,0,512,512,4,0);
|
|
if(level.console)
|
|
{
|
|
self setclientdvar("cg_fov","65");
|
|
}
|
|
}
|
|
|
|
//Function Number: 48
|
|
resetplayerdamagemodifiers()
|
|
{
|
|
if(isdefined(self.var_17DF))
|
|
{
|
|
var_00 = getarraykeys(self.var_17DF);
|
|
foreach(var_02 in var_00)
|
|
{
|
|
scripts\cp\_utility::func_E0E6(var_02,1);
|
|
}
|
|
}
|
|
|
|
if(isdefined(self.var_BDC8))
|
|
{
|
|
var_00 = getarraykeys(self.var_BDC8);
|
|
foreach(var_02 in var_00)
|
|
{
|
|
scripts\cp\_utility::func_E0E6(var_02,0);
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 49
|
|
func_E263()
|
|
{
|
|
var_00 = func_8144();
|
|
self.team = var_00;
|
|
self.sessionteam = var_00;
|
|
self.pers["team"] = var_00;
|
|
self.var_6BA7 = undefined;
|
|
self.var_BCF6 = 1;
|
|
self.var_55E6 = 0;
|
|
self.var_55D9 = 0;
|
|
self.var_8C1F = 0;
|
|
self.var_8C1E = 0;
|
|
}
|
|
|
|
//Function Number: 50
|
|
func_8144()
|
|
{
|
|
if(isdefined(level.var_D425))
|
|
{
|
|
return [[ level.var_D425 ]](self);
|
|
}
|
|
|
|
return "allies";
|
|
}
|
|
|
|
//Function Number: 51
|
|
func_C07F()
|
|
{
|
|
func_E25B();
|
|
scripts\cp\_utility::func_12F19("playing");
|
|
}
|
|
|
|
//Function Number: 52
|
|
func_E25B()
|
|
{
|
|
self.maxhealth = self [[ level.var_D3D5 ]]();
|
|
self.health = self.maxhealth;
|
|
self.var_26B9 = 5;
|
|
self.var_7408 = undefined;
|
|
self.var_8C2A = 1;
|
|
self.var_10916 = gettime();
|
|
self.var_C2AD = 1;
|
|
}
|
|
|
|
//Function Number: 53
|
|
func_10828(param_00)
|
|
{
|
|
scripts\cp\_utility::func_7385(1);
|
|
if(!param_00)
|
|
{
|
|
if(isdefined(level.var_2D9E) && isdefined(level.var_2D9E["player_spawned"]))
|
|
{
|
|
self [[ level.var_2D9E["player_spawned"] ]]();
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 54
|
|
func_8135(param_00,param_01)
|
|
{
|
|
var_02 = undefined;
|
|
if(isdefined(param_00.var_72E2))
|
|
{
|
|
var_02 = param_00.var_72E2;
|
|
var_02 = getclosestpointonnavmesh(var_02);
|
|
if(isdefined(param_01))
|
|
{
|
|
var_02 = param_00.var_72E2;
|
|
}
|
|
|
|
param_00.var_72E2 = undefined;
|
|
}
|
|
else
|
|
{
|
|
var_03 = param_00 [[ level.var_8136 ]]();
|
|
var_02 = scripts\common\utility::func_116D7(scripts\common\utility::istrue(level.disable_start_spawn_on_navmesh),scripts\common\utility::func_5D14(var_03.origin,0,-100),getclosestpointonnavmesh(var_03.origin));
|
|
if(isdefined(param_01))
|
|
{
|
|
var_02 = var_03;
|
|
}
|
|
|
|
if(level.script == "cp_disco")
|
|
{
|
|
var_02 = var_03.origin;
|
|
}
|
|
}
|
|
|
|
return var_02;
|
|
}
|
|
|
|
//Function Number: 55
|
|
func_8132(param_00)
|
|
{
|
|
var_01 = undefined;
|
|
if(isdefined(param_00.var_72E0))
|
|
{
|
|
var_01 = param_00.var_72E0;
|
|
param_00.var_72E0 = undefined;
|
|
}
|
|
else
|
|
{
|
|
var_02 = param_00 [[ level.var_8136 ]]();
|
|
var_01 = scripts\common\utility::func_116D7(isdefined(var_02.angles),var_02.angles,(0,0,0));
|
|
}
|
|
|
|
return var_01;
|
|
}
|
|
|
|
//Function Number: 56
|
|
func_1001B()
|
|
{
|
|
if(game["state"] == "postgame")
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
//Function Number: 57
|
|
func_662C()
|
|
{
|
|
var_00 = func_7ED8();
|
|
self setspectatedefaults(var_00.origin,var_00.angles);
|
|
func_F717(var_00.origin,var_00.angles);
|
|
func_F858();
|
|
scripts\cp\_utility::func_12F19("spectator");
|
|
}
|
|
|
|
//Function Number: 58
|
|
func_F858()
|
|
{
|
|
if(isdefined(level.var_10979))
|
|
{
|
|
[[ level.var_10979 ]](self);
|
|
return;
|
|
}
|
|
|
|
func_504C(self);
|
|
}
|
|
|
|
//Function Number: 59
|
|
func_504C(param_00)
|
|
{
|
|
param_00 allowspectateteam("allies",1);
|
|
param_00 allowspectateteam("axis",1);
|
|
param_00 allowspectateteam("freelook",0);
|
|
param_00 allowspectateteam("none",1);
|
|
}
|
|
|
|
//Function Number: 60
|
|
func_5045(param_00)
|
|
{
|
|
if(!isdefined(self.var_452B))
|
|
{
|
|
return;
|
|
}
|
|
|
|
scripts\cp\_analytics::on_player_disconnect(param_00);
|
|
func_E15A(self);
|
|
if(func_563B())
|
|
{
|
|
level thread [[ level.var_72BF ]]();
|
|
}
|
|
|
|
if(isdefined(level.var_C574))
|
|
{
|
|
level thread [[ level.var_C574 ]](self,param_00);
|
|
}
|
|
}
|
|
|
|
//Function Number: 61
|
|
func_563B()
|
|
{
|
|
if(level.splitscreen)
|
|
{
|
|
return level.players.size <= 1;
|
|
}
|
|
|
|
var_00 = 0;
|
|
foreach(var_02 in level.players)
|
|
{
|
|
if(scripts\cp\_laststand::player_in_laststand(var_02))
|
|
{
|
|
var_00 = scripts\cp\_laststand::func_7682(var_02);
|
|
}
|
|
}
|
|
|
|
return var_00;
|
|
}
|
|
|
|
//Function Number: 62
|
|
func_1810(param_00)
|
|
{
|
|
level.players[level.players.size] = param_00;
|
|
level.var_C928[level.var_C928.size] = param_00;
|
|
level.var_3CB5[level.var_3CB5.size] = param_00;
|
|
}
|
|
|
|
//Function Number: 63
|
|
func_E15A(param_00)
|
|
{
|
|
level.players = scripts\common\utility::func_22A9(level.players,param_00);
|
|
level.var_C928 = scripts\common\utility::func_22A9(level.var_C928,param_00);
|
|
level.var_3CB5 = scripts\common\utility::func_22A9(level.var_3CB5,param_00);
|
|
}
|
|
|
|
//Function Number: 64
|
|
func_5049()
|
|
{
|
|
if(self ishost())
|
|
{
|
|
func_97EA();
|
|
}
|
|
|
|
if(func_9E39(self))
|
|
{
|
|
var_00 = 0;
|
|
foreach(var_02 in level.players)
|
|
{
|
|
if(func_9E39(var_02))
|
|
{
|
|
var_00++;
|
|
}
|
|
}
|
|
|
|
level.var_90A8++;
|
|
if(level.var_90A8 >= var_00 * 2 / 3)
|
|
{
|
|
level notify("hostmigration_enoughplayers");
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 65
|
|
func_9E39(param_00)
|
|
{
|
|
return !isdefined(param_00.pers["isBot"]) || param_00.pers["isBot"] == 0;
|
|
}
|
|
|
|
//Function Number: 66
|
|
func_503E()
|
|
{
|
|
if(level.var_7669)
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(isdefined(level.var_C53D))
|
|
{
|
|
level thread [[ level.var_C53D ]]();
|
|
}
|
|
|
|
level.var_90A8 = 0;
|
|
foreach(var_01 in level.var_3CB5)
|
|
{
|
|
var_01.var_90A6 = 0;
|
|
}
|
|
|
|
level.var_90A9 = 1;
|
|
setdvar("ui_inhostmigration",1);
|
|
level notify("host_migration_begin");
|
|
foreach(var_01 in level.var_3CB5)
|
|
{
|
|
if(isdefined(var_01))
|
|
{
|
|
var_01 thread scripts\cp\_hostmigration::func_90AA();
|
|
}
|
|
|
|
if(isplayer(var_01))
|
|
{
|
|
var_01 setclientomnvar("ui_session_state",var_01.sessionstate);
|
|
}
|
|
}
|
|
|
|
setdvar("ui_game_state",game["state"]);
|
|
level endon("host_migration_begin");
|
|
scripts\cp\_hostmigration::func_90AC();
|
|
level.var_90A9 = undefined;
|
|
setdvar("ui_inhostmigration",0);
|
|
if(isdefined(level.hostmigrationend))
|
|
{
|
|
level thread [[ level.hostmigrationend ]]();
|
|
}
|
|
|
|
level notify("host_migration_end");
|
|
}
|
|
|
|
//Function Number: 67
|
|
func_97F7()
|
|
{
|
|
var_00 = getentarray("destructable","targetname");
|
|
if(getdvar("scr_destructables") == "0")
|
|
{
|
|
for(var_01 = 0;var_01 < var_00.size;var_01++)
|
|
{
|
|
var_00[var_01] delete();
|
|
}
|
|
|
|
return;
|
|
}
|
|
|
|
for(var_01 = 0;var_01 < var_00.size;var_01++)
|
|
{
|
|
var_00[var_01] thread func_5335();
|
|
}
|
|
}
|
|
|
|
//Function Number: 68
|
|
func_5335()
|
|
{
|
|
var_00 = 40;
|
|
var_01 = 0;
|
|
if(isdefined(self.var_ECE4))
|
|
{
|
|
var_00 = self.var_ECE4;
|
|
}
|
|
|
|
if(isdefined(self.var_EEE3))
|
|
{
|
|
var_01 = self.var_EEE3;
|
|
}
|
|
|
|
if(isdefined(self.script_fxid))
|
|
{
|
|
self.var_7542 = loadfx(self.script_fxid);
|
|
}
|
|
|
|
var_02 = 0;
|
|
self setcandamage(1);
|
|
for(;;)
|
|
{
|
|
self waittill("damage",var_03,var_04);
|
|
if(var_03 >= var_01)
|
|
{
|
|
var_02 = var_02 + var_03;
|
|
if(var_02 >= var_00)
|
|
{
|
|
thread func_5334();
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 69
|
|
func_5334()
|
|
{
|
|
var_00 = self;
|
|
if(isdefined(var_00.var_7542))
|
|
{
|
|
playfx(var_00.var_7542,var_00.origin + (0,0,6));
|
|
}
|
|
|
|
var_00 delete();
|
|
}
|
|
|
|
//Function Number: 70
|
|
func_FAAA()
|
|
{
|
|
var_00 = getentarray("script_brushmodel","classname");
|
|
var_01 = getentarray("script_model","classname");
|
|
for(var_02 = 0;var_02 < var_01.size;var_02++)
|
|
{
|
|
var_00[var_00.size] = var_01[var_02];
|
|
}
|
|
|
|
for(var_02 = 0;var_02 < var_00.size;var_02++)
|
|
{
|
|
if(isdefined(var_00[var_02].var_EE89))
|
|
{
|
|
var_00[var_02].var_ED84 = var_00[var_02].var_EE89;
|
|
}
|
|
|
|
if(isdefined(var_00[var_02].var_ED84))
|
|
{
|
|
if(var_00[var_02].model == "fx" && !isdefined(var_00[var_02].var_336) || var_00[var_02].var_336 != "exploderchunk")
|
|
{
|
|
var_00[var_02] hide();
|
|
continue;
|
|
}
|
|
|
|
if(isdefined(var_00[var_02].var_336) && var_00[var_02].var_336 == "exploder")
|
|
{
|
|
var_00[var_02] hide();
|
|
var_00[var_02] notsolid();
|
|
continue;
|
|
}
|
|
|
|
if(isdefined(var_00[var_02].var_336) && var_00[var_02].var_336 == "exploderchunk")
|
|
{
|
|
var_00[var_02] hide();
|
|
var_00[var_02] notsolid();
|
|
}
|
|
}
|
|
}
|
|
|
|
var_03 = [];
|
|
var_04 = getentarray("script_brushmodel","classname");
|
|
for(var_02 = 0;var_02 < var_04.size;var_02++)
|
|
{
|
|
if(isdefined(var_04[var_02].var_EE89))
|
|
{
|
|
var_04[var_02].var_ED84 = var_04[var_02].var_EE89;
|
|
}
|
|
|
|
if(isdefined(var_04[var_02].var_ED84))
|
|
{
|
|
var_03[var_03.size] = var_04[var_02];
|
|
}
|
|
}
|
|
|
|
var_04 = getentarray("script_model","classname");
|
|
for(var_02 = 0;var_02 < var_04.size;var_02++)
|
|
{
|
|
if(isdefined(var_04[var_02].var_EE89))
|
|
{
|
|
var_04[var_02].var_ED84 = var_04[var_02].var_EE89;
|
|
}
|
|
|
|
if(isdefined(var_04[var_02].var_ED84))
|
|
{
|
|
var_03[var_03.size] = var_04[var_02];
|
|
}
|
|
}
|
|
|
|
var_04 = getentarray("item_health","classname");
|
|
for(var_02 = 0;var_02 < var_04.size;var_02++)
|
|
{
|
|
if(isdefined(var_04[var_02].var_EE89))
|
|
{
|
|
var_04[var_02].var_ED84 = var_04[var_02].var_EE89;
|
|
}
|
|
|
|
if(isdefined(var_04[var_02].var_ED84))
|
|
{
|
|
var_03[var_03.size] = var_04[var_02];
|
|
}
|
|
}
|
|
|
|
if(!isdefined(level.var_49C9))
|
|
{
|
|
level.var_49C9 = [];
|
|
}
|
|
|
|
var_05 = [];
|
|
var_05["exploderchunk visible"] = 1;
|
|
var_05["exploderchunk"] = 1;
|
|
var_05["exploder"] = 1;
|
|
for(var_02 = 0;var_02 < var_03.size;var_02++)
|
|
{
|
|
var_06 = var_03[var_02];
|
|
var_07 = scripts\common\utility::func_49AE(var_06.script_fxid);
|
|
var_07.var_13125 = [];
|
|
var_07.var_13125["origin"] = var_06.origin;
|
|
var_07.var_13125["angles"] = var_06.angles;
|
|
var_07.var_13125["delay"] = var_06.script_delay;
|
|
var_07.var_13125["firefx"] = var_06.var_ED93;
|
|
var_07.var_13125["firefxdelay"] = var_06.var_ED94;
|
|
var_07.var_13125["firefxsound"] = var_06.var_ED95;
|
|
var_07.var_13125["firefxtimeout"] = var_06.var_ED96;
|
|
var_07.var_13125["earthquake"] = var_06.var_ED76;
|
|
var_07.var_13125["damage"] = var_06.var_ED41;
|
|
var_07.var_13125["damage_radius"] = var_06.var_EE8F;
|
|
var_07.var_13125["soundalias"] = var_06.var_EEB1;
|
|
var_07.var_13125["repeat"] = var_06.var_EE94;
|
|
var_07.var_13125["delay_min"] = var_06.var_ED50;
|
|
var_07.var_13125["delay_max"] = var_06.var_ED4F;
|
|
var_07.var_13125["target"] = var_06.target;
|
|
var_07.var_13125["ender"] = var_06.var_ED78;
|
|
var_07.var_13125["type"] = "exploder";
|
|
if(!isdefined(var_06.script_fxid))
|
|
{
|
|
var_07.var_13125["fxid"] = "No FX";
|
|
}
|
|
else
|
|
{
|
|
var_07.var_13125["fxid"] = var_06.script_fxid;
|
|
}
|
|
|
|
var_07.var_13125["exploder"] = var_06.var_ED84;
|
|
if(!isdefined(var_07.var_13125["delay"]))
|
|
{
|
|
var_07.var_13125["delay"] = 0;
|
|
}
|
|
|
|
if(isdefined(var_06.target))
|
|
{
|
|
var_08 = getent(var_07.var_13125["target"],"targetname").origin;
|
|
var_07.var_13125["angles"] = vectortoangles(var_08 - var_07.var_13125["origin"]);
|
|
}
|
|
|
|
if(var_06.classname == "script_brushmodel" || isdefined(var_06.model))
|
|
{
|
|
var_07.model = var_06;
|
|
var_07.model.var_5635 = var_06.var_ED5D;
|
|
}
|
|
|
|
if(isdefined(var_06.var_336) && isdefined(var_05[var_06.var_336]))
|
|
{
|
|
var_07.var_13125["exploder_type"] = var_06.var_336;
|
|
}
|
|
else
|
|
{
|
|
var_07.var_13125["exploder_type"] = "normal";
|
|
}
|
|
|
|
var_07 scripts\common\createfx::func_D6CF();
|
|
}
|
|
}
|
|
|
|
//Function Number: 71
|
|
func_9817()
|
|
{
|
|
level.uiparent = spawnstruct();
|
|
level.uiparent.horzalign = "left";
|
|
level.uiparent.vertalign = "top";
|
|
level.uiparent.alignx = "left";
|
|
level.uiparent.aligny = "top";
|
|
level.uiparent.x = 0;
|
|
level.uiparent.y = 0;
|
|
level.uiparent.width = 0;
|
|
level.uiparent.height = 0;
|
|
level.uiparent.children = [];
|
|
level.fontheight = 12;
|
|
level.var_912F["allies"] = spawnstruct();
|
|
level.var_912F["axis"] = spawnstruct();
|
|
level.primaryprogressbary = -61;
|
|
level.primaryprogressbarx = 0;
|
|
level.primaryprogressbarheight = 9;
|
|
level.primaryprogressbarwidth = 120;
|
|
level.primaryprogressbartexty = -75;
|
|
level.primaryprogressbartextx = 0;
|
|
level.primaryprogressbarfontsize = 1.2;
|
|
level.teamprogressbary = 32;
|
|
level.teamprogressbarheight = 14;
|
|
level.teamprogressbarwidth = 192;
|
|
level.teamprogressbartexty = 8;
|
|
level.teamprogressbarfontsize = 1.65;
|
|
level.var_B0E6 = "BOTTOM";
|
|
level.var_B0E5 = -140;
|
|
level.var_B0E4 = 1.2;
|
|
}
|
|
|
|
//Function Number: 72
|
|
func_69AA(param_00)
|
|
{
|
|
level endon("killexplodertridgers" + param_00.var_ED84);
|
|
param_00 waittill("trigger");
|
|
if(isdefined(param_00.var_ED28) && randomfloat(1) > param_00.var_ED28)
|
|
{
|
|
if(isdefined(param_00.script_delay))
|
|
{
|
|
wait(param_00.script_delay);
|
|
}
|
|
else
|
|
{
|
|
wait(4);
|
|
}
|
|
|
|
level thread func_69AA(param_00);
|
|
return;
|
|
}
|
|
|
|
scripts\common\utility::exploder(param_00.var_ED84);
|
|
level notify("killexplodertridgers" + param_00.var_ED84);
|
|
}
|
|
|
|
//Function Number: 73
|
|
func_D0FB()
|
|
{
|
|
self.var_DE8E = 1;
|
|
}
|
|
|
|
//Function Number: 74
|
|
func_D0FC()
|
|
{
|
|
self.var_8C4C = 1;
|
|
}
|
|
|
|
//Function Number: 75
|
|
func_D0F9()
|
|
{
|
|
self.var_4D69 = gettime();
|
|
}
|
|
|
|
//Function Number: 76
|
|
func_2B53(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09)
|
|
{
|
|
}
|
|
|
|
//Function Number: 77
|
|
func_98BC()
|
|
{
|
|
self setplayerdata("cp","alienSession","team_shots",0);
|
|
self setplayerdata("cp","alienSession","team_kills",0);
|
|
self setplayerdata("cp","alienSession","team_hives",0);
|
|
self setplayerdata("cp","alienSession","downed",0);
|
|
self setplayerdata("cp","alienSession","hivesDestroyed",0);
|
|
self setplayerdata("cp","alienSession","prestigenerfs",0);
|
|
self setplayerdata("cp","alienSession","repairs",0);
|
|
self setplayerdata("cp","alienSession","drillPlants",0);
|
|
self setplayerdata("cp","alienSession","deployables",0);
|
|
self setplayerdata("cp","alienSession","challengesCompleted",0);
|
|
self setplayerdata("cp","alienSession","challengesAttempted",0);
|
|
self setplayerdata("cp","alienSession","trapKills",0);
|
|
self setplayerdata("cp","alienSession","currencyTotal",0);
|
|
self setplayerdata("cp","alienSession","currencySpent",0);
|
|
self setplayerdata("cp","alienSession","kills",0);
|
|
self setplayerdata("cp","alienSession","revives",0);
|
|
self setplayerdata("cp","alienSession","time",0);
|
|
self setplayerdata("cp","alienSession","score",0);
|
|
self setplayerdata("cp","alienSession","shots",0);
|
|
self setplayerdata("cp","alienSession","last_stand_count",0);
|
|
self setplayerdata("cp","alienSession","deaths",0);
|
|
self setplayerdata("cp","alienSession","headShots",0);
|
|
self setplayerdata("cp","alienSession","hits",0);
|
|
self setplayerdata("cp","alienSession","resources",0);
|
|
self setplayerdata("cp","alienSession","waveNum",0);
|
|
}
|
|
|
|
//Function Number: 78
|
|
func_988E()
|
|
{
|
|
if(isdefined(level.var_D0FE))
|
|
{
|
|
[[ level.var_D0FE ]]();
|
|
return;
|
|
}
|
|
|
|
scripts\cp\_laststand::func_500D();
|
|
}
|
|
|
|
//Function Number: 79
|
|
func_988B()
|
|
{
|
|
level.var_A6CB = scripts\common\utility::getstructarray("respawn_edge","targetname");
|
|
}
|
|
|
|
//Function Number: 80
|
|
func_7F56()
|
|
{
|
|
return scripts\common\utility::getclosest(self.origin,level.var_A6CB);
|
|
} |