mirror of
https://github.com/InfinityLoader/IL-GSC.git
synced 2025-06-08 01:27:51 -05:00
3807 lines
70 KiB
Plaintext
3807 lines
70 KiB
Plaintext
/*******************************************************************
|
|
* Decompiled By: Bog
|
|
* Decompiled File: scripts\mp\_gameobjects.gsc
|
|
* Game: Call of Duty: Infinite Warfare
|
|
* Platform: PC
|
|
* Function Count: 113
|
|
* Decompile Time: 4527 ms
|
|
* Timestamp: 10/27/2023 12:20:27 AM
|
|
*******************************************************************/
|
|
|
|
//Function Number: 1
|
|
main(param_00)
|
|
{
|
|
param_00[param_00.size] = "airdrop_pallet";
|
|
var_01 = getentarray();
|
|
for(var_02 = 0;var_02 < var_01.size;var_02++)
|
|
{
|
|
if(isdefined(var_01[var_02].var_EDBF))
|
|
{
|
|
var_03 = 1;
|
|
var_04 = strtok(var_01[var_02].var_EDBF," ");
|
|
for(var_05 = 0;var_05 < param_00.size;var_05++)
|
|
{
|
|
for(var_06 = 0;var_06 < var_04.size;var_06++)
|
|
{
|
|
if(var_04[var_06] == param_00[var_05])
|
|
{
|
|
var_03 = 0;
|
|
break;
|
|
}
|
|
}
|
|
|
|
if(!var_03)
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
|
|
if(var_03)
|
|
{
|
|
var_01[var_02] delete();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 2
|
|
init()
|
|
{
|
|
level.var_C22E = 0;
|
|
level thread func_C56E();
|
|
level thread getleveltriggers();
|
|
}
|
|
|
|
//Function Number: 3
|
|
func_C56E()
|
|
{
|
|
level endon("game_ended");
|
|
for(;;)
|
|
{
|
|
level waittill("connected",var_00);
|
|
if(isbot(var_00))
|
|
{
|
|
level.botsenabled = 1;
|
|
}
|
|
|
|
var_00 thread func_C57B();
|
|
var_00 thread func_C4F5();
|
|
}
|
|
}
|
|
|
|
//Function Number: 4
|
|
func_C57B()
|
|
{
|
|
self endon("disconnect");
|
|
level endon("game_ended");
|
|
for(;;)
|
|
{
|
|
self waittill("spawned_player");
|
|
if(isdefined(self.var_767C))
|
|
{
|
|
self.var_767C = undefined;
|
|
continue;
|
|
}
|
|
|
|
func_96DF();
|
|
}
|
|
}
|
|
|
|
//Function Number: 5
|
|
func_96DF()
|
|
{
|
|
thread func_C4EA();
|
|
self.var_11A46 = [];
|
|
self.var_3AF7 = undefined;
|
|
self.var_3FFA = undefined;
|
|
self.var_38ED = 1;
|
|
self.var_A64F = undefined;
|
|
self.var_987A = 1;
|
|
}
|
|
|
|
//Function Number: 6
|
|
func_C4EA()
|
|
{
|
|
level endon("game_ended");
|
|
self waittill("death");
|
|
if(isdefined(self.var_3AF7))
|
|
{
|
|
self.var_3AF7 thread func_F6D8();
|
|
}
|
|
}
|
|
|
|
//Function Number: 7
|
|
func_C4F5()
|
|
{
|
|
level endon("game_ended");
|
|
self waittill("disconnect");
|
|
if(isdefined(self.var_3AF7))
|
|
{
|
|
self.var_3AF7 thread func_F6D8();
|
|
}
|
|
}
|
|
|
|
//Function Number: 8
|
|
func_4A29(param_00,param_01)
|
|
{
|
|
var_02 = spawn("script_model",self.origin);
|
|
var_02 setmodel("tag_origin");
|
|
var_03 = spawnstruct();
|
|
var_03.type = "carryObject";
|
|
var_03.carrier = param_00;
|
|
var_03.var_4B2C = param_00.origin;
|
|
var_03.var_664A = var_02 getentitynumber();
|
|
var_03.ownerteam = param_00.team;
|
|
var_03.var_4465 = [];
|
|
var_03.var_C2BE = 0;
|
|
var_03.var_C2BD = 0;
|
|
var_03.var_13DCA = [];
|
|
var_03.var_3AF1 = 0;
|
|
var_03.visibleteam = "none";
|
|
foreach(var_05 in level.teamnamelist)
|
|
{
|
|
var_03.var_115DC[var_05] = scripts\mp\objidpoolmanager::requestminimapid(99);
|
|
if(var_03.var_115DC[var_05] != -1)
|
|
{
|
|
scripts\mp\objidpoolmanager::minimap_objective_add(var_03.var_115DC[var_05],"invisible",var_03.var_4B2C);
|
|
scripts\mp\objidpoolmanager::minimap_objective_team(var_03.var_115DC[var_05],var_05);
|
|
}
|
|
|
|
var_03.var_C2C2[var_05] = scripts\mp\_objpoints::func_4A23("objpoint_" + var_05 + "_" + var_03.var_664A,var_03.var_4B2C + param_01,var_05,undefined);
|
|
var_03.var_C2C2[var_05].alpha = 0;
|
|
if(getdvarint("com_codcasterEnabled",0) == 1)
|
|
{
|
|
var_06 = "mlg_" + var_05;
|
|
var_03.var_C2C2[var_06] = scripts\mp\_objpoints::func_4A23("objpoint_" + var_06 + "_" + var_03.var_664A,var_03.var_4B2C + param_01,var_05,undefined);
|
|
var_03.var_C2C2[var_06].alpha = 0;
|
|
}
|
|
}
|
|
|
|
var_03 thread func_12E6F();
|
|
var_03 thread func_51D8();
|
|
return var_03;
|
|
}
|
|
|
|
//Function Number: 9
|
|
func_51D8()
|
|
{
|
|
self.carrier waittill("disconnect");
|
|
if(self.type != "carryObject")
|
|
{
|
|
return;
|
|
}
|
|
|
|
var_00 = self;
|
|
var_00.type = undefined;
|
|
var_00.carrier = undefined;
|
|
var_00.var_4B2C = undefined;
|
|
var_00.var_664A = undefined;
|
|
var_00.ownerteam = undefined;
|
|
var_00.var_4465 = undefined;
|
|
var_00.var_C2BE = undefined;
|
|
var_00.var_C2BD = undefined;
|
|
var_00.var_13DCA = undefined;
|
|
var_00.var_3AF1 = undefined;
|
|
var_00.visibleteam = undefined;
|
|
foreach(var_02 in level.teamnamelist)
|
|
{
|
|
scripts\mp\objidpoolmanager::returnminimapid(var_00.var_115DC[var_02]);
|
|
scripts\mp\_objpoints::func_51BC(var_00.var_C2C2[var_02]);
|
|
if(getdvarint("com_codcasterEnabled",0) == 1)
|
|
{
|
|
var_03 = "mlg_" + var_02;
|
|
scripts\mp\_objpoints::func_51BC(var_00.var_C2C2[var_03]);
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 10
|
|
func_4993(param_00,param_01,param_02,param_03)
|
|
{
|
|
var_04 = spawnstruct();
|
|
var_04.type = "carryObject";
|
|
var_04.var_4B2C = param_01.origin;
|
|
var_04.ownerteam = param_00;
|
|
var_04.var_664A = param_01 getentitynumber();
|
|
if(issubstr(param_01.classname,"use"))
|
|
{
|
|
var_04.triggertype = "use";
|
|
}
|
|
else
|
|
{
|
|
var_04.triggertype = "proximity";
|
|
}
|
|
|
|
param_01.var_28AC = param_01.origin;
|
|
var_04.trigger = param_01;
|
|
if(!isdefined(param_01.var_AD48))
|
|
{
|
|
param_01.var_AD48 = 1;
|
|
param_01 enablelinkto();
|
|
}
|
|
|
|
var_04.var_130F8 = undefined;
|
|
if(!isdefined(param_03))
|
|
{
|
|
param_03 = (0,0,0);
|
|
}
|
|
|
|
var_04.var_C363 = param_03;
|
|
for(var_05 = 0;var_05 < param_02.size;var_05++)
|
|
{
|
|
param_02[var_05].var_28AC = param_02[var_05].origin;
|
|
param_02[var_05].var_2898 = param_02[var_05].angles;
|
|
}
|
|
|
|
var_04.visuals = param_02;
|
|
var_04.var_4465 = [];
|
|
var_04.var_C2BE = 0;
|
|
var_04.var_C2BD = 0;
|
|
foreach(var_07 in level.teamnamelist)
|
|
{
|
|
var_04.var_115DC[var_07] = scripts\mp\objidpoolmanager::requestminimapid(99);
|
|
if(var_04.var_115DC[var_07] != -1)
|
|
{
|
|
scripts\mp\objidpoolmanager::minimap_objective_add(var_04.var_115DC[var_07],"invisible",var_04.var_4B2C);
|
|
scripts\mp\objidpoolmanager::minimap_objective_team(var_04.var_115DC[var_07],var_07);
|
|
}
|
|
|
|
var_04.var_C2C2[var_07] = scripts\mp\_objpoints::func_4A23("objpoint_" + var_07 + "_" + var_04.var_664A,var_04.var_4B2C + param_03,var_07,undefined);
|
|
var_04.var_C2C2[var_07].alpha = 0;
|
|
if(getdvarint("com_codcasterEnabled",0) == 1)
|
|
{
|
|
var_08 = "mlg_" + var_07;
|
|
var_04.var_C2C2[var_08] = scripts\mp\_objpoints::func_4A23("objpoint_" + var_08 + "_" + var_04.var_664A,var_04.var_4B2C + param_03,var_07,undefined);
|
|
var_04.var_C2C2[var_08].alpha = 0;
|
|
}
|
|
}
|
|
|
|
var_04.carrier = undefined;
|
|
var_04.var_9F24 = 0;
|
|
var_04.interactteam = "none";
|
|
var_04.var_1CB3 = 0;
|
|
var_04.var_13DCA = [];
|
|
var_04.var_3AF1 = 0;
|
|
var_04.visibleteam = "none";
|
|
var_04.var_3AF5 = undefined;
|
|
var_04.var_C4F9 = undefined;
|
|
var_04.var_C566 = undefined;
|
|
var_04.var_C581 = undefined;
|
|
if(var_04.triggertype == "use")
|
|
{
|
|
var_04 thread func_3AFC();
|
|
}
|
|
else
|
|
{
|
|
var_04.var_4B30 = 0;
|
|
var_04.var_115DF = [];
|
|
var_04.var_115DF["none"] = 0;
|
|
var_04.var_115DF["allies"] = 0;
|
|
var_04.var_115DF["axis"] = 0;
|
|
var_04.var_130EE = 0;
|
|
var_04.userate = 0;
|
|
var_04.mustmaintainclaim = 0;
|
|
var_04.cancontestclaim = 0;
|
|
var_04.var_115F2 = [];
|
|
var_04.var_115F1 = [];
|
|
var_04.numtouching["neutral"] = 0;
|
|
var_04.touchlist["neutral"] = [];
|
|
var_04.numtouching["none"] = 0;
|
|
var_04.touchlist["none"] = [];
|
|
foreach(var_0B in level.teamnamelist)
|
|
{
|
|
var_04.numtouching[var_0B] = 0;
|
|
var_04.touchlist[var_0B] = [];
|
|
}
|
|
|
|
var_04.claimteam = "none";
|
|
var_04.claimplayer = undefined;
|
|
var_04.lastclaimteam = "none";
|
|
var_04.lastclaimtime = 0;
|
|
var_04 thread func_3AF9();
|
|
}
|
|
|
|
var_04 thread func_12E6F();
|
|
return var_04;
|
|
}
|
|
|
|
//Function Number: 11
|
|
func_51A9()
|
|
{
|
|
if(self.type != "carryObject")
|
|
{
|
|
return;
|
|
}
|
|
|
|
var_00 = self;
|
|
var_00.type = undefined;
|
|
var_00.var_4B2C = undefined;
|
|
var_00.ownerteam = undefined;
|
|
var_00.var_664A = undefined;
|
|
var_00.triggertype = undefined;
|
|
var_00.trigger unlink();
|
|
var_00.trigger = undefined;
|
|
var_00.var_130F8 = undefined;
|
|
var_00.var_C363 = undefined;
|
|
foreach(var_02 in var_00.visuals)
|
|
{
|
|
var_02 delete();
|
|
}
|
|
|
|
var_00.visuals = undefined;
|
|
var_00.var_4465 = undefined;
|
|
var_00.var_C2BE = undefined;
|
|
var_00.var_C2BD = undefined;
|
|
var_00.var_C2BF = undefined;
|
|
scripts\mp\_objpoints::func_51BC(var_00.var_C2C2["allies"]);
|
|
scripts\mp\_objpoints::func_51BC(var_00.var_C2C2["axis"]);
|
|
foreach(var_05 in level.teamnamelist)
|
|
{
|
|
scripts\mp\objidpoolmanager::returnminimapid(var_00.var_115DC[var_05]);
|
|
scripts\mp\_objpoints::func_51BC(var_00.var_C2C2[var_05]);
|
|
if(getdvarint("com_codcasterEnabled",0) == 1)
|
|
{
|
|
var_06 = "mlg_" + var_05;
|
|
scripts\mp\_objpoints::func_51BC(var_00.var_C2C2[var_06]);
|
|
}
|
|
}
|
|
|
|
var_00.var_C2C2 = undefined;
|
|
var_00.carrier = undefined;
|
|
var_00.var_9F24 = undefined;
|
|
var_00.interactteam = undefined;
|
|
var_00.var_1CB3 = undefined;
|
|
var_00.var_A57D = undefined;
|
|
var_00.var_13DCA = undefined;
|
|
var_00.var_3AF1 = undefined;
|
|
var_00.visibleteam = undefined;
|
|
var_00.var_3AF5 = undefined;
|
|
var_00.var_C4F9 = undefined;
|
|
var_00.var_C566 = undefined;
|
|
var_00.var_C581 = undefined;
|
|
var_00.var_4B30 = undefined;
|
|
var_00.var_130EE = undefined;
|
|
var_00.userate = undefined;
|
|
var_00.mustmaintainclaim = undefined;
|
|
var_00.cancontestclaim = undefined;
|
|
var_00.var_115F2 = undefined;
|
|
var_00.var_115F1 = undefined;
|
|
var_00.numtouching = undefined;
|
|
var_00.touchlist = undefined;
|
|
var_00.claimteam = undefined;
|
|
var_00.claimplayer = undefined;
|
|
var_00.lastclaimteam = undefined;
|
|
var_00.lastclaimtime = undefined;
|
|
var_00 notify("death");
|
|
var_00 notify("deleted");
|
|
}
|
|
|
|
//Function Number: 12
|
|
func_3AFC()
|
|
{
|
|
level endon("game_ended");
|
|
for(;;)
|
|
{
|
|
self.trigger waittill("trigger",var_00);
|
|
if(scripts\mp\_utility::func_9F22(var_00))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(!isplayer(var_00))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(var_00 method_84CA())
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(var_00 getcurrentweapon() == "ks_remote_map_mp")
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(var_00 getcurrentweapon() == "ks_remote_device_mp")
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(var_00 scripts\mp\_utility::func_9D47())
|
|
{
|
|
var_01 = var_00 scripts\mp\_utility::func_7E4D();
|
|
if(var_01 == "ks_remote_map_mp" || var_01 == "ks_remote_device_mp")
|
|
{
|
|
continue;
|
|
}
|
|
}
|
|
|
|
if(scripts\mp\_utility::func_9FB3(var_00.var_13107))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(!func_DAD1(var_00))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(self.var_9F24)
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(!scripts\mp\_utility::func_9F19(var_00))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(!caninteractwith(var_00.pers["team"]))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(!var_00.var_38ED)
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(isdefined(var_00.var_C087) && var_00.var_C087 > gettime())
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(!isdefined(var_00.var_987A))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(var_00 scripts\mp\_utility::func_85C7())
|
|
{
|
|
var_02 = var_00 method_854D();
|
|
if(!scripts\mp\_utility::isgesture(var_02))
|
|
{
|
|
continue;
|
|
}
|
|
}
|
|
|
|
if(isdefined(self.carrier))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(var_00 scripts\mp\_utility::func_9FC6())
|
|
{
|
|
continue;
|
|
}
|
|
|
|
func_F7E8(var_00);
|
|
}
|
|
}
|
|
|
|
//Function Number: 13
|
|
func_3AF9()
|
|
{
|
|
if(level.gametype == "ball" || level.gametype == "tdef")
|
|
{
|
|
thread func_3AFC();
|
|
return;
|
|
}
|
|
|
|
thread func_3AFA();
|
|
}
|
|
|
|
//Function Number: 14
|
|
func_3AFA()
|
|
{
|
|
level endon("game_ended");
|
|
if(isdefined(self.trigger))
|
|
{
|
|
self.trigger endon("move_gameobject");
|
|
}
|
|
|
|
thread func_DAD2();
|
|
for(;;)
|
|
{
|
|
if(self.var_130EE && self.var_115DF[self.claimteam] >= self.var_130EE)
|
|
{
|
|
self.var_4B30 = 0;
|
|
self.var_115DF[self.claimteam] = self.var_4B30;
|
|
var_00 = func_7E8B();
|
|
if(isdefined(self.var_C50D))
|
|
{
|
|
self [[ self.var_C50D ]](func_7E29(),var_00,isdefined(var_00));
|
|
}
|
|
|
|
if(isdefined(var_00))
|
|
{
|
|
func_F7E8(var_00);
|
|
}
|
|
|
|
func_F690("none");
|
|
self.claimplayer = undefined;
|
|
}
|
|
|
|
if(self.claimteam != "none")
|
|
{
|
|
if(self.var_130EE)
|
|
{
|
|
if(!self.numtouching[self.claimteam])
|
|
{
|
|
if(isdefined(self.var_C50D))
|
|
{
|
|
self [[ self.var_C50D ]](func_7E29(),self.claimplayer,0);
|
|
}
|
|
|
|
func_F690("none");
|
|
self.claimplayer = undefined;
|
|
}
|
|
else
|
|
{
|
|
self.var_4B30 = self.var_4B30 + 50 * self.userate;
|
|
self.var_115DF[self.claimteam] = self.var_4B30;
|
|
if(self.ownerteam != level.var_C74B[self.claimteam])
|
|
{
|
|
self.var_115DF[level.var_C74B[self.claimteam]] = 0;
|
|
}
|
|
|
|
if(isdefined(self.var_C5C8))
|
|
{
|
|
self [[ self.var_C5C8 ]](func_7E29(),self.var_4B30 / self.var_130EE,50 * self.userate / self.var_130EE,self.claimplayer);
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if(scripts\mp\_utility::func_9F19(self.claimplayer))
|
|
{
|
|
func_F7E8(self.claimplayer);
|
|
}
|
|
|
|
func_F690("none");
|
|
self.claimplayer = undefined;
|
|
}
|
|
}
|
|
|
|
wait(0.05);
|
|
scripts\mp\_hostmigration::func_13834();
|
|
}
|
|
}
|
|
|
|
//Function Number: 15
|
|
func_CB44(param_00)
|
|
{
|
|
level endon("game_ended");
|
|
self endon("death");
|
|
self endon("disconnect");
|
|
self.var_38ED = 0;
|
|
if(isdefined(param_00.var_27F4))
|
|
{
|
|
var_01 = 1024;
|
|
}
|
|
else
|
|
{
|
|
var_01 = 4096;
|
|
}
|
|
|
|
for(;;)
|
|
{
|
|
if(distancesquared(self.origin,param_00.trigger.origin) > var_01)
|
|
{
|
|
break;
|
|
}
|
|
|
|
wait(0.2);
|
|
}
|
|
|
|
if(!lib_0DF8::func_9DDF(self))
|
|
{
|
|
self.var_38ED = 1;
|
|
}
|
|
}
|
|
|
|
//Function Number: 16
|
|
func_F7E8(param_00)
|
|
{
|
|
if(isai(param_00) && isdefined(param_00.var_222))
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(isdefined(param_00.var_3AF7) || isdefined(self.var_3B01) && !param_00 scripts\common\utility::func_9FFD())
|
|
{
|
|
if(isdefined(self.var_C567))
|
|
{
|
|
self [[ self.var_C567 ]](param_00);
|
|
}
|
|
|
|
return;
|
|
}
|
|
|
|
param_00 func_8382(self);
|
|
func_F67F(param_00);
|
|
if(isdefined(self.trigger getlinkedparent()))
|
|
{
|
|
for(var_01 = 0;var_01 < self.visuals.size;var_01++)
|
|
{
|
|
self.visuals[var_01] unlink();
|
|
}
|
|
|
|
self.trigger unlink();
|
|
}
|
|
|
|
for(var_01 = 0;var_01 < self.visuals.size;var_01++)
|
|
{
|
|
self.visuals[var_01] hide();
|
|
}
|
|
|
|
self.trigger.origin = self.trigger.origin + (0,0,10000);
|
|
self.trigger scripts\mp\_movers::func_11001();
|
|
self notify("pickup_object");
|
|
if(isdefined(self.var_C566))
|
|
{
|
|
self [[ self.var_C566 ]](param_00);
|
|
}
|
|
|
|
updatecompassicons();
|
|
updateworldicons();
|
|
}
|
|
|
|
//Function Number: 17
|
|
func_12E83()
|
|
{
|
|
level endon("game_ended");
|
|
if(isdefined(self.trigger))
|
|
{
|
|
self.trigger endon("move_gameobject");
|
|
}
|
|
|
|
if(level.gametype == "front")
|
|
{
|
|
self.carrier endon("disconnect");
|
|
}
|
|
|
|
for(;;)
|
|
{
|
|
if(isdefined(self.carrier))
|
|
{
|
|
self.var_4B2C = self.carrier.origin + (0,0,75);
|
|
}
|
|
else
|
|
{
|
|
self.var_4B2C = self.trigger.origin;
|
|
}
|
|
|
|
wait(0.05);
|
|
}
|
|
}
|
|
|
|
//Function Number: 18
|
|
func_12E6F()
|
|
{
|
|
level endon("game_ended");
|
|
if(isdefined(self.trigger))
|
|
{
|
|
self.trigger endon("move_gameobject");
|
|
}
|
|
|
|
if(level.gametype == "front")
|
|
{
|
|
self.carrier endon("disconnect");
|
|
}
|
|
|
|
thread func_12E83();
|
|
if(!isdefined(self.var_C2BF))
|
|
{
|
|
self.var_C2BF = 4;
|
|
}
|
|
|
|
for(;;)
|
|
{
|
|
if(isdefined(self.carrier))
|
|
{
|
|
if(getdvarint("com_codcasterEnabled",0) == 1)
|
|
{
|
|
if(isdefined(self.var_C2C2["mlg_allies"]))
|
|
{
|
|
self.var_C2C2["mlg_allies"] scripts\mp\_objpoints::func_12EE3(self.var_4B2C);
|
|
}
|
|
|
|
if(isdefined(self.var_C2C2["mlg_axis"]))
|
|
{
|
|
self.var_C2C2["mlg_axis"] scripts\mp\_objpoints::func_12EE3(self.var_4B2C);
|
|
}
|
|
}
|
|
|
|
foreach(var_01 in level.teamnamelist)
|
|
{
|
|
self.var_C2C2[var_01] scripts\mp\_objpoints::func_12EE3(self.var_4B2C);
|
|
}
|
|
|
|
foreach(var_01 in level.teamnamelist)
|
|
{
|
|
if((self.visibleteam == "friendly" || self.visibleteam == "any") && isfriendlyteam(var_01) && self.var_C2BE)
|
|
{
|
|
if(self.var_C2C2[var_01].var_9F51)
|
|
{
|
|
self.var_C2C2[var_01].alpha = self.var_C2C2[var_01].var_2897;
|
|
self.var_C2C2[var_01] fadeovertime(self.var_C2BF);
|
|
self.var_C2C2[var_01].alpha = 0;
|
|
}
|
|
|
|
if(self.var_115DC[var_01] != -1)
|
|
{
|
|
scripts\mp\objidpoolmanager::minimap_objective_position(self.var_115DC[var_01],self.var_4B2C);
|
|
}
|
|
}
|
|
}
|
|
|
|
foreach(var_01 in level.teamnamelist)
|
|
{
|
|
if((self.visibleteam == "enemy" || self.visibleteam == "any") && !isfriendlyteam(var_01) && self.var_C2BD)
|
|
{
|
|
if(self.var_C2C2[var_01].var_9F51)
|
|
{
|
|
self.var_C2C2[var_01].alpha = self.var_C2C2[var_01].var_2897;
|
|
self.var_C2C2[var_01] fadeovertime(self.var_C2BF);
|
|
self.var_C2C2[var_01].alpha = 0;
|
|
}
|
|
|
|
if(self.var_115DC[var_01] != -1)
|
|
{
|
|
scripts\mp\objidpoolmanager::minimap_objective_position(self.var_115DC[var_01],self.var_4B2C);
|
|
}
|
|
}
|
|
}
|
|
|
|
scripts\mp\_utility::wait_endon(self.var_C2BF,"dropped","reset");
|
|
continue;
|
|
}
|
|
|
|
foreach(var_01 in level.teamnamelist)
|
|
{
|
|
self.var_C2C2[var_01] scripts\mp\_objpoints::func_12EE3(self.var_4B2C + self.var_C363);
|
|
}
|
|
|
|
wait(0.05);
|
|
}
|
|
}
|
|
|
|
//Function Number: 19
|
|
func_8EBA()
|
|
{
|
|
self endon("disconnect");
|
|
self endon("death");
|
|
self endon("drop_object");
|
|
level waittill("game_ended");
|
|
if(isdefined(self.var_3AF5))
|
|
{
|
|
self.var_3AF5.alpha = 0;
|
|
}
|
|
}
|
|
|
|
//Function Number: 20
|
|
func_767E()
|
|
{
|
|
var_00 = self getcurrentweapon();
|
|
var_01 = self getcurrentprimaryweapon();
|
|
if("alt_" + var_01 == var_00)
|
|
{
|
|
return var_00;
|
|
}
|
|
|
|
return var_01;
|
|
}
|
|
|
|
//Function Number: 21
|
|
func_139CC(param_00)
|
|
{
|
|
self endon("goal_scored");
|
|
var_01 = gettime();
|
|
var_02 = scripts\mp\_utility::func_11383(param_00,1);
|
|
if(isdefined(var_02))
|
|
{
|
|
if(var_02 == 0)
|
|
{
|
|
if(var_01 == gettime())
|
|
{
|
|
waittillframeend;
|
|
}
|
|
|
|
if(isdefined(self.var_3AF7))
|
|
{
|
|
self.var_3AF7 thread func_F6D8();
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 22
|
|
func_8382(param_00)
|
|
{
|
|
self.var_3AF7 = param_00;
|
|
thread func_11ACC();
|
|
if(isdefined(param_00.var_3B01))
|
|
{
|
|
param_00.var_3AF2 = func_767E();
|
|
param_00.var_3AF0 = self hasweapon(param_00.var_3B01);
|
|
if(isdefined(param_00.var_3B02))
|
|
{
|
|
self thread [[ param_00.var_3B02 ]]();
|
|
}
|
|
|
|
self giveweapon(param_00.var_3B01);
|
|
thread func_139CC(param_00.var_3B01);
|
|
self disableweaponpickup();
|
|
scripts\common\utility::func_1C76(0);
|
|
}
|
|
else if(!param_00.var_1CB3)
|
|
{
|
|
scripts\common\utility::allow_weapon(0);
|
|
thread func_B31B();
|
|
}
|
|
|
|
if(isdefined(param_00.var_3AF5))
|
|
{
|
|
if(level.splitscreen)
|
|
{
|
|
self.var_3AF5 = scripts\mp\_hud_util::createicon(param_00.var_3AF5,33,33);
|
|
self.var_3AF5 scripts\mp\_hud_util::setpoint("BOTTOM LEFT","BOTTOM LEFT",-50,-78);
|
|
}
|
|
else
|
|
{
|
|
self.var_3AF5 = scripts\mp\_hud_util::createicon(param_00.var_3AF5,50,50);
|
|
self.var_3AF5 scripts\mp\_hud_util::setpoint("BOTTOM LEFT","BOTTOM LEFT",175,-30);
|
|
}
|
|
|
|
self.var_3AF5.hidewheninmenu = 1;
|
|
thread func_8EBA();
|
|
}
|
|
}
|
|
|
|
//Function Number: 23
|
|
func_E472()
|
|
{
|
|
self.var_9F24 = 1;
|
|
self notify("reset");
|
|
for(var_00 = 0;var_00 < self.visuals.size;var_00++)
|
|
{
|
|
var_01 = self.visuals[var_00] getlinkedparent();
|
|
if(isdefined(var_01))
|
|
{
|
|
self.visuals[var_00] unlink();
|
|
}
|
|
|
|
if(isbombmode() && self.visuals[var_00].var_336 == "sd_bomb")
|
|
{
|
|
self.visuals[var_00].origin = level.var_2C61;
|
|
self.visuals[var_00].angles = level.var_2C60;
|
|
}
|
|
else
|
|
{
|
|
self.visuals[var_00].origin = self.visuals[var_00].var_28AC;
|
|
self.visuals[var_00].angles = self.visuals[var_00].var_2898;
|
|
}
|
|
|
|
self.visuals[var_00] show();
|
|
}
|
|
|
|
var_01 = self.trigger getlinkedparent();
|
|
if(isdefined(var_01))
|
|
{
|
|
self.trigger unlink();
|
|
}
|
|
|
|
self.trigger.origin = self.trigger.var_28AC;
|
|
self.var_4B2C = self.trigger.origin;
|
|
if(isdefined(self.var_C581))
|
|
{
|
|
self [[ self.var_C581 ]]();
|
|
}
|
|
|
|
func_41A0();
|
|
updateworldicons();
|
|
updatecompassicons();
|
|
self.var_9F24 = 0;
|
|
self notify("reset_done");
|
|
}
|
|
|
|
//Function Number: 24
|
|
func_9E35()
|
|
{
|
|
if(isdefined(self.carrier))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(self.var_4B2C != self.trigger.var_28AC)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
return 1;
|
|
}
|
|
|
|
//Function Number: 25
|
|
func_F806(param_00,param_01)
|
|
{
|
|
self.var_9F24 = 1;
|
|
for(var_02 = 0;var_02 < self.visuals.size;var_02++)
|
|
{
|
|
self.visuals[var_02].origin = param_00;
|
|
self.visuals[var_02].angles = param_01;
|
|
self.visuals[var_02] show();
|
|
}
|
|
|
|
self.trigger.origin = param_00;
|
|
if(level.gametype == "ball" || level.gametype == "tdef")
|
|
{
|
|
self.trigger linkto(self.visuals[0]);
|
|
}
|
|
|
|
self.var_4B2C = self.trigger.origin;
|
|
func_41A0();
|
|
updateworldicons();
|
|
updatecompassicons();
|
|
self.var_9F24 = 0;
|
|
}
|
|
|
|
//Function Number: 26
|
|
func_C578()
|
|
{
|
|
if(isdefined(self.var_3AF7))
|
|
{
|
|
self.var_3AF7 thread func_F6D8();
|
|
}
|
|
}
|
|
|
|
//Function Number: 27
|
|
func_3AF8(param_00)
|
|
{
|
|
for(var_01 = 0;var_01 < param_00.var_3AF7.visuals.size;var_01++)
|
|
{
|
|
param_00.var_3AF7.visuals[var_01] unlink();
|
|
}
|
|
|
|
param_00.var_3AF7.trigger unlink();
|
|
param_00.var_3AF7 thread func_F6D8(1);
|
|
}
|
|
|
|
//Function Number: 28
|
|
func_F6D8(param_00)
|
|
{
|
|
if(isdefined(self.var_F6D8))
|
|
{
|
|
if([[ self.var_F6D8 ]]())
|
|
{
|
|
return;
|
|
}
|
|
}
|
|
|
|
self.var_9F24 = 1;
|
|
self.var_E25D = undefined;
|
|
self notify("dropped");
|
|
foreach(var_02 in self.visuals)
|
|
{
|
|
var_02.var_D887 = var_02 method_82C7(0);
|
|
}
|
|
|
|
if(isdefined(self.carrier))
|
|
{
|
|
var_04 = self.carrier.origin;
|
|
}
|
|
else
|
|
{
|
|
var_04 = self.var_4B2C;
|
|
}
|
|
|
|
if(scripts\mp\_utility::func_9FB3(level.botsenabled) || isdefined(self.ftldrop) || touchingdroptonavmeshtrigger(var_04) || level.var_B335 == "mp_junk" && level.gametype == "ctf" && !self.carrier touchingarbitraryuptrigger())
|
|
{
|
|
var_04 = getclosestpointonnavmesh(var_04);
|
|
if(isdefined(self.ftldrop))
|
|
{
|
|
self.ftldrop = undefined;
|
|
}
|
|
}
|
|
|
|
var_05 = 20;
|
|
var_06 = 4000;
|
|
var_07 = (0,0,0);
|
|
if(self.carrier touchingarbitraryuptrigger())
|
|
{
|
|
var_08 = self.carrier getworldupreferenceangles();
|
|
var_07 = anglestoup(var_08);
|
|
if(var_07[2] < 0)
|
|
{
|
|
var_05 = -20;
|
|
var_06 = -4000;
|
|
}
|
|
}
|
|
|
|
var_09 = var_04 + (0,0,var_05);
|
|
var_0A = var_04 - (0,0,var_06);
|
|
var_0B = scripts\common\trace::func_48BC(0,1,1,0,0,1,1);
|
|
var_0C = [];
|
|
var_0C[0] = self.visuals[0];
|
|
var_0C[1] = self.carrier;
|
|
if(isdefined(self.carrier) && self.carrier.team != "spectator")
|
|
{
|
|
if(level.gametype != "ctf")
|
|
{
|
|
var_0D = scripts\common\trace::func_3A09(var_09,var_0A,8,16,(0,0,0),var_0C,var_0B,0);
|
|
}
|
|
else
|
|
{
|
|
var_0D = scripts\common\trace::func_3A09(var_0A,var_0B,2,4,(0,0,0),var_0D,var_0C,0);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
var_0D = scripts\common\trace::func_DCED(self.var_EA28 + (0,0,20),self.var_EA28 - (0,0,20),var_0D,var_0C,0);
|
|
if(isplayer(var_0D["entity"]))
|
|
{
|
|
var_0D["entity"] = undefined;
|
|
}
|
|
}
|
|
|
|
foreach(var_02 in self.visuals)
|
|
{
|
|
var_02 method_82C7(var_02.var_D887);
|
|
}
|
|
|
|
var_10 = self.carrier;
|
|
var_11 = 0;
|
|
if(isdefined(var_0D))
|
|
{
|
|
var_12 = randomfloat(360);
|
|
var_13 = var_0D["position"];
|
|
if(isdefined(self.var_1349F))
|
|
{
|
|
var_13 = var_13 + self.var_1349F;
|
|
}
|
|
|
|
var_14 = (cos(var_12),sin(var_12),0);
|
|
var_14 = vectornormalize(var_14 - var_0D["normal"] * vectordot(var_14,var_0D["normal"]));
|
|
var_15 = 0;
|
|
if(level.gametype == "ctf" || isbombmode())
|
|
{
|
|
if(self.carrier touchingarbitraryuptrigger() && var_07[2] < 0)
|
|
{
|
|
var_16 = (0,0,-180);
|
|
if(isdefined(self.var_1349F))
|
|
{
|
|
var_13 = var_13 - self.var_1349F * 2;
|
|
}
|
|
|
|
if(level.gametype == "ctf")
|
|
{
|
|
var_15 = -80;
|
|
}
|
|
|
|
if(isbombmode())
|
|
{
|
|
var_15 = -30;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
var_16 = (0,0,0);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
var_16 = vectortoangles(var_15);
|
|
}
|
|
|
|
for(var_17 = 0;var_17 < self.visuals.size;var_17++)
|
|
{
|
|
self.visuals[var_17].origin = var_13;
|
|
self.visuals[var_17].angles = var_16;
|
|
self.visuals[var_17] show();
|
|
}
|
|
|
|
self.trigger.origin = var_13 + (0,0,var_15);
|
|
self.var_4B2C = self.trigger.origin;
|
|
var_18 = undefined;
|
|
if(!isplayer(var_0D["entity"]) || !isbot(var_0D["entity"]) || !isagent(var_0D["entity"]))
|
|
{
|
|
var_18 = var_0D["entity"];
|
|
}
|
|
|
|
if(isdefined(var_18) && isdefined(var_18.var_222))
|
|
{
|
|
var_19 = var_18 getlinkedparent();
|
|
if(isdefined(var_19))
|
|
{
|
|
var_18 = var_19;
|
|
}
|
|
}
|
|
|
|
if(isdefined(var_18))
|
|
{
|
|
if(isdefined(var_18.var_9B09) && var_18.var_9B09 == 1)
|
|
{
|
|
self.var_E25D = 1;
|
|
}
|
|
else
|
|
{
|
|
for(var_17 = 0;var_17 < self.visuals.size;var_17++)
|
|
{
|
|
self.visuals[var_17] linkto(var_18);
|
|
}
|
|
|
|
self.trigger linkto(var_18);
|
|
var_1A = spawnstruct();
|
|
var_1A.var_3AF7 = self;
|
|
var_1A.var_4E53 = ::func_3AF8;
|
|
self.trigger thread scripts\mp\_movers::func_892F(var_1A);
|
|
}
|
|
}
|
|
|
|
if(!isdefined(param_00))
|
|
{
|
|
thread func_CB49();
|
|
}
|
|
}
|
|
else
|
|
{
|
|
for(var_17 = 0;var_17 < self.visuals.size;var_17++)
|
|
{
|
|
self.visuals[var_17].origin = self.visuals[var_17].var_28AC;
|
|
self.visuals[var_17].angles = self.visuals[var_17].var_2898;
|
|
self.visuals[var_17] show();
|
|
}
|
|
|
|
self.trigger.origin = self.trigger.var_28AC;
|
|
self.var_4B2C = self.trigger.var_28AC;
|
|
}
|
|
|
|
if(isdefined(self.var_C4F9) && !isdefined(param_00))
|
|
{
|
|
self [[ self.var_C4F9 ]](var_10);
|
|
}
|
|
|
|
func_41A0();
|
|
updatecompassicons();
|
|
updateworldicons();
|
|
self.var_9F24 = 0;
|
|
}
|
|
|
|
//Function Number: 29
|
|
func_F67F(param_00)
|
|
{
|
|
self.carrier = param_00;
|
|
thread updatevisibilityaccordingtoradar();
|
|
}
|
|
|
|
//Function Number: 30
|
|
func_41A0()
|
|
{
|
|
if(!isdefined(self.carrier))
|
|
{
|
|
return;
|
|
}
|
|
|
|
self.carrier thread func_11471(self);
|
|
self.carrier = undefined;
|
|
self notify("carrier_cleared");
|
|
}
|
|
|
|
//Function Number: 31
|
|
func_CB49()
|
|
{
|
|
self endon("pickup_object");
|
|
self endon("reset_done");
|
|
wait(0.05);
|
|
if(isdefined(self.var_E25D))
|
|
{
|
|
self.var_E25D = undefined;
|
|
func_E472();
|
|
return;
|
|
}
|
|
|
|
for(var_00 = 0;var_00 < level.radtriggers.size;var_00++)
|
|
{
|
|
if(!self.visuals[0] istouching(level.radtriggers[var_00]))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
func_E472();
|
|
return;
|
|
}
|
|
|
|
for(var_00 = 0;var_00 < level.minetriggers.size;var_00++)
|
|
{
|
|
if(!self.visuals[0] istouching(level.minetriggers[var_00]))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
func_E472();
|
|
return;
|
|
}
|
|
|
|
for(var_00 = 0;var_00 < level.hurttriggers.size;var_00++)
|
|
{
|
|
if(!self.visuals[0] istouching(level.hurttriggers[var_00]))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
func_E472();
|
|
return;
|
|
}
|
|
|
|
if(scripts\mp\_utility::func_9FB3(level.ballallowedtriggers.size))
|
|
{
|
|
self.allowedintrigger = 0;
|
|
foreach(var_02 in level.ballallowedtriggers)
|
|
{
|
|
if(self.visuals[0] istouching(var_02))
|
|
{
|
|
self.allowedintrigger = 1;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
foreach(var_02 in level.var_C7B3)
|
|
{
|
|
if(scripts\mp\_utility::func_9FB3(self.allowedintrigger))
|
|
{
|
|
break;
|
|
}
|
|
|
|
if(!self.visuals[0] istouching(var_02))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
func_E472();
|
|
return;
|
|
}
|
|
|
|
if(isdefined(self.var_2667))
|
|
{
|
|
wait(self.var_2667);
|
|
if(!isdefined(self.carrier))
|
|
{
|
|
func_E472();
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 32
|
|
func_11471(param_00)
|
|
{
|
|
if(isdefined(self.var_3AF5))
|
|
{
|
|
self.var_3AF5 scripts\mp\_hud_util::destroyelem();
|
|
}
|
|
|
|
if(isdefined(self))
|
|
{
|
|
self.var_3AF7 = undefined;
|
|
}
|
|
|
|
self notify("drop_object");
|
|
if(param_00.triggertype == "proximity")
|
|
{
|
|
thread func_CB44(param_00);
|
|
}
|
|
|
|
if(scripts\mp\_utility::func_9F19(self) && !param_00.var_1CB3)
|
|
{
|
|
if(isdefined(param_00.var_3B01))
|
|
{
|
|
var_01 = isdefined(param_00.var_A575) && param_00.var_A575;
|
|
if(!param_00.var_3AF0 && !var_01)
|
|
{
|
|
if(isdefined(param_00.var_27F4))
|
|
{
|
|
wait(0.25);
|
|
}
|
|
|
|
self notify("clear_carrier");
|
|
if(scripts\mp\_utility::func_9F20(param_00.var_3B01))
|
|
{
|
|
scripts\mp\_utility::func_1529(param_00.var_3B01);
|
|
}
|
|
else
|
|
{
|
|
scripts\mp\_utility::func_141E(param_00.var_3B01);
|
|
}
|
|
|
|
var_02 = param_00.var_A978;
|
|
thread scripts\mp\_utility::func_72ED(var_02);
|
|
}
|
|
else
|
|
{
|
|
}
|
|
|
|
self enableweaponpickup();
|
|
scripts\common\utility::func_1C76(1);
|
|
return;
|
|
}
|
|
|
|
if(!param_00.var_1CB3)
|
|
{
|
|
scripts\common\utility::allow_weapon(1);
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 33
|
|
func_11ACC()
|
|
{
|
|
level endon("game_ended");
|
|
self endon("disconnect");
|
|
self endon("death");
|
|
self endon("drop_object");
|
|
while(isdefined(self.var_3AF7) && scripts\mp\_utility::func_9F19(self))
|
|
{
|
|
if(self isonground())
|
|
{
|
|
var_00 = bullettrace(self.origin + (0,0,20),self.origin - (0,0,20),0,undefined);
|
|
if(var_00["fraction"] < 1)
|
|
{
|
|
self.var_3AF7.var_EA28 = var_00["position"];
|
|
}
|
|
}
|
|
|
|
wait(0.05);
|
|
}
|
|
}
|
|
|
|
//Function Number: 34
|
|
func_B31B()
|
|
{
|
|
level endon("game_ended");
|
|
self endon("disconnect");
|
|
self endon("death");
|
|
self endon("drop_object");
|
|
for(;;)
|
|
{
|
|
while(self attackbuttonpressed() || self fragbuttonpressed() || self secondaryoffhandbuttonpressed() || self meleebuttonpressed())
|
|
{
|
|
wait(0.05);
|
|
}
|
|
|
|
while((!self attackbuttonpressed() && !self fragbuttonpressed() && !self secondaryoffhandbuttonpressed()) || self meleebuttonpressed())
|
|
{
|
|
wait(0.05);
|
|
}
|
|
|
|
if(isdefined(self.var_3AF7) && !self usebuttonpressed())
|
|
{
|
|
self.var_3AF7 thread func_F6D8();
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 35
|
|
func_51DA()
|
|
{
|
|
foreach(var_01 in level.teamnamelist)
|
|
{
|
|
scripts\mp\objidpoolmanager::returnminimapid(self.var_115DC[var_01]);
|
|
scripts\mp\_objpoints::func_51BC(self.var_C2C2[var_01]);
|
|
if(getdvarint("com_codcasterEnabled",0) == 1)
|
|
{
|
|
var_02 = "mlg_" + var_01;
|
|
scripts\mp\_objpoints::func_51BC(self.var_C2C2[var_02]);
|
|
}
|
|
}
|
|
|
|
self.trigger delete();
|
|
self.trigger = undefined;
|
|
self notify("deleted");
|
|
}
|
|
|
|
//Function Number: 36
|
|
func_4A2E(param_00,param_01,param_02,param_03)
|
|
{
|
|
var_04 = spawnstruct();
|
|
var_04.type = "useObject";
|
|
var_04.var_4B2C = param_01.origin;
|
|
var_04.ownerteam = param_00;
|
|
var_04.var_664A = param_01 getentitynumber();
|
|
var_04.var_A5A0 = undefined;
|
|
if(issubstr(param_01.classname,"use"))
|
|
{
|
|
var_04.triggertype = "use";
|
|
}
|
|
else
|
|
{
|
|
var_04.triggertype = "proximity";
|
|
}
|
|
|
|
var_04.trigger = param_01;
|
|
for(var_05 = 0;var_05 < param_02.size;var_05++)
|
|
{
|
|
param_02[var_05].var_28AC = param_02[var_05].origin;
|
|
param_02[var_05].var_2898 = param_02[var_05].angles;
|
|
}
|
|
|
|
var_04.visuals = param_02;
|
|
if(!isdefined(param_03))
|
|
{
|
|
param_03 = (0,0,0);
|
|
}
|
|
|
|
var_04.var_C363 = param_03;
|
|
var_04.var_4465 = [];
|
|
foreach(var_07 in level.teamnamelist)
|
|
{
|
|
var_04.var_115DC[var_07] = scripts\mp\objidpoolmanager::requestminimapid(99);
|
|
if(var_04.var_115DC[var_07] != -1)
|
|
{
|
|
scripts\mp\objidpoolmanager::minimap_objective_add(var_04.var_115DC[var_07],"invisible",var_04.var_4B2C);
|
|
scripts\mp\objidpoolmanager::minimap_objective_team(var_04.var_115DC[var_07],var_07);
|
|
}
|
|
|
|
var_04.var_C2C2[var_07] = scripts\mp\_objpoints::func_4A23("objpoint_" + var_07 + "_" + var_04.var_664A,var_04.var_4B2C + param_03,var_07,undefined);
|
|
var_04.var_C2C2[var_07].alpha = 0;
|
|
if(getdvarint("com_codcasterEnabled",0) == 1)
|
|
{
|
|
var_08 = "mlg_" + var_07;
|
|
var_04.var_C2C2[var_08] = scripts\mp\_objpoints::func_4A23("objpoint_" + var_08 + "_" + var_04.var_664A,var_04.var_4B2C + param_03,var_07,undefined);
|
|
var_04.var_C2C2[var_08].alpha = 0;
|
|
}
|
|
}
|
|
|
|
var_04.interactteam = "none";
|
|
var_04.var_13DCA = [];
|
|
var_04.visibleteam = "none";
|
|
var_04.var_C5BB = undefined;
|
|
var_04.var_C4D4 = undefined;
|
|
var_04.var_130EB = "default";
|
|
var_04.var_130EE = 10000;
|
|
var_04.var_4B30 = 0;
|
|
var_04.var_10B51 = 0;
|
|
var_04.wasstalemate = 0;
|
|
var_04.var_115DF = [];
|
|
var_04.var_115DF["none"] = 0;
|
|
var_04.var_115DF["allies"] = 0;
|
|
var_04.var_115DF["axis"] = 0;
|
|
if(var_04.triggertype == "proximity")
|
|
{
|
|
var_04.var_115F2 = [];
|
|
var_04.var_115F1 = [];
|
|
var_04.numtouching["neutral"] = 0;
|
|
var_04.touchlist["neutral"] = [];
|
|
var_04.numtouching["none"] = 0;
|
|
var_04.touchlist["none"] = [];
|
|
foreach(var_0B in level.teamnamelist)
|
|
{
|
|
var_04.numtouching[var_0B] = 0;
|
|
var_04.touchlist[var_0B] = [];
|
|
}
|
|
|
|
var_04.userate = 0;
|
|
var_04.claimteam = "none";
|
|
var_04.claimplayer = undefined;
|
|
var_04.lastclaimteam = "none";
|
|
var_04.lastclaimtime = 0;
|
|
var_04.mustmaintainclaim = 0;
|
|
var_04.cancontestclaim = 0;
|
|
var_04 thread func_130B0();
|
|
}
|
|
else
|
|
{
|
|
var_04.userate = 1;
|
|
var_04 thread useobjectusethink();
|
|
}
|
|
|
|
return var_04;
|
|
}
|
|
|
|
//Function Number: 37
|
|
func_F76A(param_00)
|
|
{
|
|
self.var_A5A0 = param_00;
|
|
}
|
|
|
|
//Function Number: 38
|
|
useobjectusethink()
|
|
{
|
|
level endon("game_ended");
|
|
self endon("deleted");
|
|
for(;;)
|
|
{
|
|
self.trigger waittill("trigger",var_00);
|
|
if(!scripts\mp\_utility::func_9F19(var_00))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(!caninteractwith(var_00.pers["team"]))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(!var_00 isonground())
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(!var_00 scripts\mp\_utility::func_9E59() && scripts\mp\_utility::func_9E6C(var_00 getcurrentweapon()))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(isdefined(self.var_13056))
|
|
{
|
|
if(!self [[ self.var_13056 ]](var_00))
|
|
{
|
|
continue;
|
|
}
|
|
}
|
|
|
|
if(isdefined(self.var_A5A0) && !isdefined(var_00.var_3AF7) || var_00.var_3AF7 != self.var_A5A0)
|
|
{
|
|
if(isdefined(self.var_C4D4))
|
|
{
|
|
self [[ self.var_C4D4 ]](var_00);
|
|
}
|
|
|
|
continue;
|
|
}
|
|
|
|
if(var_00 hasweapon(self.var_130F8))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(!var_00 scripts\common\utility::func_9FFD())
|
|
{
|
|
continue;
|
|
}
|
|
|
|
var_01 = 1;
|
|
if(self.var_130EE > 0)
|
|
{
|
|
if(isdefined(self.var_C4CB))
|
|
{
|
|
var_00 func_12F53(self,0);
|
|
self [[ self.var_C4CB ]](var_00);
|
|
}
|
|
|
|
if(!isdefined(self.var_A5A0))
|
|
{
|
|
thread func_3930();
|
|
}
|
|
|
|
var_02 = var_00.pers["team"];
|
|
var_01 = func_13093(var_00);
|
|
self notify("finished_use");
|
|
if(isdefined(self.var_C50D))
|
|
{
|
|
self [[ self.var_C50D ]](var_02,var_00,var_01);
|
|
}
|
|
}
|
|
|
|
if(!var_01)
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(isdefined(self.var_C5BB))
|
|
{
|
|
self [[ self.var_C5BB ]](var_00);
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 39
|
|
func_3E22(param_00)
|
|
{
|
|
if(!isdefined(self.var_A5A0))
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
if(!isdefined(param_00.var_3AF7))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
var_01 = self.var_A5A0;
|
|
if(!isarray(var_01))
|
|
{
|
|
var_01 = [var_01];
|
|
}
|
|
|
|
foreach(var_03 in var_01)
|
|
{
|
|
if(var_03 == param_00.var_3AF7)
|
|
{
|
|
return 1;
|
|
}
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
//Function Number: 40
|
|
func_3930()
|
|
{
|
|
level endon("game_ended");
|
|
self endon("deleted");
|
|
self endon("finished_use");
|
|
for(;;)
|
|
{
|
|
self.trigger waittill("trigger",var_00);
|
|
if(!scripts\mp\_utility::func_9F19(var_00))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(!caninteractwith(var_00.pers["team"]))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(isdefined(self.var_C4D4))
|
|
{
|
|
self [[ self.var_C4D4 ]](var_00);
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 41
|
|
func_7E8B()
|
|
{
|
|
var_00 = self.claimteam;
|
|
if(scripts\mp\_utility::func_9F19(self.claimplayer))
|
|
{
|
|
var_01 = self.claimplayer;
|
|
}
|
|
else
|
|
{
|
|
var_01 = undefined;
|
|
}
|
|
|
|
if(self.touchlist[var_00].size > 0)
|
|
{
|
|
var_02 = undefined;
|
|
var_03 = getarraykeys(self.touchlist[var_00]);
|
|
for(var_04 = 0;var_04 < var_03.size;var_04++)
|
|
{
|
|
var_05 = self.touchlist[var_00][var_03[var_04]];
|
|
if(scripts\mp\_utility::func_9F19(var_05.player) && !isdefined(var_02) || var_05.var_10DFF < var_02)
|
|
{
|
|
var_01 = var_05.player;
|
|
var_02 = var_05.var_10DFF;
|
|
}
|
|
}
|
|
}
|
|
|
|
return var_01;
|
|
}
|
|
|
|
//Function Number: 42
|
|
func_130B0()
|
|
{
|
|
level endon("game_ended");
|
|
self endon("deleted");
|
|
thread func_DAD2();
|
|
for(;;)
|
|
{
|
|
if(self.cancontestclaim && self.var_10B51 != self.wasstalemate)
|
|
{
|
|
if(self.var_10B51)
|
|
{
|
|
if(isdefined(self.var_C4D9))
|
|
{
|
|
self [[ self.var_C4D9 ]]();
|
|
}
|
|
}
|
|
else
|
|
{
|
|
var_00 = "none";
|
|
if(self.numtouching["allies"])
|
|
{
|
|
var_00 = "allies";
|
|
}
|
|
else if(self.numtouching["axis"])
|
|
{
|
|
var_00 = "axis";
|
|
}
|
|
|
|
if(var_00 == "none" && self.ownerteam != "neutral")
|
|
{
|
|
var_00 = self.ownerteam;
|
|
}
|
|
|
|
if(isdefined(self.var_C5B9))
|
|
{
|
|
self [[ self.var_C5B9 ]](var_00);
|
|
}
|
|
|
|
func_F690("none");
|
|
self.claimplayer = undefined;
|
|
}
|
|
|
|
self.wasstalemate = self.var_10B51;
|
|
}
|
|
else if(self.mustmaintainclaim && self.ownerteam != "neutral" && !self.numtouching[self.ownerteam])
|
|
{
|
|
if(isdefined(self.var_C5BA))
|
|
{
|
|
self [[ self.var_C5BA ]]();
|
|
}
|
|
|
|
func_F690("none");
|
|
self.claimplayer = undefined;
|
|
}
|
|
|
|
if(self.claimteam != "none")
|
|
{
|
|
if(!self.var_130EE)
|
|
{
|
|
if(!self.var_10B51)
|
|
{
|
|
var_01 = func_7E8B();
|
|
if(isdefined(self.var_C5BB))
|
|
{
|
|
self [[ self.var_C5BB ]](self.claimplayer);
|
|
}
|
|
|
|
func_F690("none");
|
|
self.claimplayer = undefined;
|
|
}
|
|
}
|
|
else if(self.var_130EE && self.var_115DF[self.claimteam] >= self.var_130EE)
|
|
{
|
|
self.var_4B30 = 0;
|
|
self.var_115DF[self.claimteam] = self.var_4B30;
|
|
var_01 = func_7E8B();
|
|
if(isdefined(self.var_C50D))
|
|
{
|
|
self [[ self.var_C50D ]](self.claimteam,var_01,isdefined(var_01));
|
|
}
|
|
|
|
if(isdefined(var_01) && isdefined(self.var_C5BB))
|
|
{
|
|
self [[ self.var_C5BB ]](var_01);
|
|
}
|
|
|
|
func_F690("none");
|
|
self.claimplayer = undefined;
|
|
}
|
|
else if(!self.var_10B51 && self.var_130EE && self.ownerteam != self.claimteam)
|
|
{
|
|
if(!self.numtouching[self.claimteam])
|
|
{
|
|
if(isdefined(self.var_C50D))
|
|
{
|
|
self [[ self.var_C50D ]](self.claimteam,self.claimplayer,0);
|
|
}
|
|
|
|
func_F690("none");
|
|
self.claimplayer = undefined;
|
|
}
|
|
else
|
|
{
|
|
self.var_4B30 = self.var_4B30 + 50 * self.userate;
|
|
self.var_115DF[self.claimteam] = self.var_4B30;
|
|
if(self.ownerteam != level.var_C74B[self.claimteam])
|
|
{
|
|
self.var_115DF[level.var_C74B[self.claimteam]] = 0;
|
|
}
|
|
|
|
if(isdefined(self.var_C5C8))
|
|
{
|
|
self [[ self.var_C5C8 ]](self.claimteam,self.var_115DF[self.claimteam] / self.var_130EE,50 * self.userate / self.var_130EE,self.claimplayer);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
wait(0.05);
|
|
scripts\mp\_hostmigration::func_13834();
|
|
}
|
|
}
|
|
|
|
//Function Number: 43
|
|
func_130AE(param_00)
|
|
{
|
|
level endon("game_ended");
|
|
self endon("deleted");
|
|
for(;;)
|
|
{
|
|
wait(0.1);
|
|
if(self.ownerteam != "neutral")
|
|
{
|
|
if(self.numtouching[self.ownerteam] >= 1 && !self.var_10B51)
|
|
{
|
|
self.var_4B30 = 0;
|
|
self.var_115DF[self.claimteam] = self.var_4B30;
|
|
break;
|
|
}
|
|
}
|
|
|
|
if(self.claimteam == "none")
|
|
{
|
|
if(self.var_130EE)
|
|
{
|
|
wait(0.1);
|
|
if(self.claimteam == "none" && !self.var_10B51)
|
|
{
|
|
self.var_4B30 = self.var_4B30 - 50;
|
|
}
|
|
|
|
self.var_115DF[self.lastclaimteam] = self.var_4B30;
|
|
}
|
|
|
|
if(self.var_115DF[self.lastclaimteam] <= 0)
|
|
{
|
|
self.var_4B30 = 0;
|
|
self.var_115DF[self.lastclaimteam] = self.var_4B30;
|
|
break;
|
|
}
|
|
}
|
|
|
|
scripts\mp\_hostmigration::func_13834();
|
|
}
|
|
}
|
|
|
|
//Function Number: 44
|
|
func_3895(param_00)
|
|
{
|
|
if(isdefined(self.carrier))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(self.cancontestclaim)
|
|
{
|
|
var_01 = func_8019(param_00.pers["team"]);
|
|
if(var_01 != 0)
|
|
{
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
if(func_3E22(param_00))
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
//Function Number: 45
|
|
func_DAD2()
|
|
{
|
|
level endon("game_ended");
|
|
self endon("deleted");
|
|
var_00 = self.var_664A;
|
|
for(;;)
|
|
{
|
|
self.trigger waittill("trigger",var_01);
|
|
if(!scripts\mp\_utility::func_9F19(var_01))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(isagent(var_01))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(!scripts\mp\_utility::func_9E0E(var_01))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(isdefined(self.carrier))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(isdefined(var_01.var_108DB))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(var_01 method_8568())
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(isdefined(var_01.classname) && var_01.classname == "script_vehicle")
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(!isdefined(var_01.var_987A))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
var_02 = getrelativeteam(var_01.pers["team"]);
|
|
if(isdefined(self.var_115F2[var_02]) && self.var_115F2[var_02] < 0)
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(!lib_0DF8::func_213D(self,var_01))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(self.claimteam == "none" && caninteractwith(var_01.pers["team"],var_01))
|
|
{
|
|
if(func_3895(var_01))
|
|
{
|
|
if(!func_DAD1(var_01))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
func_F690(var_01.pers["team"]);
|
|
self.claimplayer = var_01;
|
|
if(isdefined(self.var_115F2[var_02]))
|
|
{
|
|
self.var_130EE = self.var_115F2[var_02];
|
|
}
|
|
|
|
if(self.var_130EE && isdefined(self.var_C4CB))
|
|
{
|
|
self [[ self.var_C4CB ]](self.claimplayer);
|
|
}
|
|
}
|
|
else if(isdefined(self.var_C4D4))
|
|
{
|
|
self [[ self.var_C4D4 ]](var_01);
|
|
}
|
|
}
|
|
|
|
if(scripts\mp\_utility::func_9F19(var_01) && !isdefined(var_01.var_11A46[var_00]))
|
|
{
|
|
var_01 thread func_127CA(self);
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 46
|
|
func_DAD1(param_00)
|
|
{
|
|
if(!isdefined(self.var_E1BA))
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
var_01 = param_00 geteye();
|
|
var_02 = scripts\common\trace::func_48BC(0,1,1,1,0,1,0);
|
|
var_03 = [];
|
|
if(level.gametype == "tdef" || scripts\mp\_utility::func_9FB3(level.var_53E1))
|
|
{
|
|
var_04 = self.trigger.origin + (0,0,16);
|
|
var_05 = 0;
|
|
var_03[0] = self.visuals[0];
|
|
}
|
|
else if(level.gametype == "ball")
|
|
{
|
|
var_04 = self.trigger.origin + (0,0,8);
|
|
var_05 = 0;
|
|
var_03[0] = self.visuals[0];
|
|
}
|
|
else
|
|
{
|
|
var_04 = self.trigger.origin + (0,0,32);
|
|
var_05 = 1;
|
|
var_03[0] = self.visuals;
|
|
}
|
|
|
|
var_03[1] = self.carrier;
|
|
var_06 = scripts\common\trace::func_DCED(var_01,var_04,var_03,var_02,0);
|
|
if(var_06["fraction"] != 1 && var_05)
|
|
{
|
|
var_04 = self.trigger.origin + (0,0,16);
|
|
var_06 = scripts\common\trace::func_DCED(var_01,var_04,var_03,var_02,0);
|
|
}
|
|
|
|
if(var_06["fraction"] != 1)
|
|
{
|
|
var_04 = self.trigger.origin + (0,0,0);
|
|
var_06 = scripts\common\trace::func_DCED(var_01,var_04,var_03,var_02,0);
|
|
}
|
|
|
|
return var_06["fraction"] == 1;
|
|
}
|
|
|
|
//Function Number: 47
|
|
func_F690(param_00)
|
|
{
|
|
if(!isdefined(self.var_3FF7))
|
|
{
|
|
self.var_3FF7 = 1000;
|
|
}
|
|
|
|
if(self.claimteam == "none" && gettime() - self.lastclaimtime > self.var_3FF7)
|
|
{
|
|
self.var_4B30 = 0;
|
|
self.var_115DF[param_00] = self.var_4B30;
|
|
}
|
|
else if(param_00 != "none" && param_00 != self.lastclaimteam)
|
|
{
|
|
self.var_4B30 = 0;
|
|
self.var_115DF[param_00] = self.var_4B30;
|
|
}
|
|
|
|
self.lastclaimteam = self.claimteam;
|
|
self.lastclaimtime = gettime();
|
|
self.claimteam = param_00;
|
|
func_12F57();
|
|
}
|
|
|
|
//Function Number: 48
|
|
func_7E29()
|
|
{
|
|
return self.claimteam;
|
|
}
|
|
|
|
//Function Number: 49
|
|
func_127CA(param_00)
|
|
{
|
|
var_01 = self.pers["team"];
|
|
param_00.numtouching[var_01]++;
|
|
var_02 = self.var_86BD;
|
|
var_03 = spawnstruct();
|
|
var_03.player = self;
|
|
var_03.var_10DFF = gettime();
|
|
param_00.touchlist[var_01][var_02] = var_03;
|
|
if(!isdefined(param_00.var_C18B))
|
|
{
|
|
param_00.var_C18B = 0;
|
|
}
|
|
|
|
self.var_11A46[param_00.var_664A] = param_00.trigger;
|
|
param_00 func_12F57();
|
|
while(scripts\mp\_utility::func_9F19(self) && isdefined(param_00.trigger) && self istouching(param_00.trigger) && !level.var_7669)
|
|
{
|
|
if(!lib_0DF8::func_213D(self,param_00))
|
|
{
|
|
break;
|
|
}
|
|
|
|
if(isplayer(self) && param_00.var_130EE > 50)
|
|
{
|
|
func_12F53(param_00,1);
|
|
}
|
|
|
|
wait(0.05);
|
|
}
|
|
|
|
if(isdefined(self))
|
|
{
|
|
if(param_00.var_130EE > 50)
|
|
{
|
|
if(isplayer(self))
|
|
{
|
|
func_12F53(param_00,0);
|
|
}
|
|
|
|
self.var_11A46[param_00.var_664A] = undefined;
|
|
}
|
|
else
|
|
{
|
|
self.var_11A46[param_00.var_664A] = undefined;
|
|
}
|
|
}
|
|
|
|
if(level.var_7669)
|
|
{
|
|
return;
|
|
}
|
|
|
|
param_00.var_C405 = param_00.touchlist;
|
|
param_00.touchlist[var_01][var_02] = undefined;
|
|
param_00.numtouching[var_01]--;
|
|
param_00 func_12F57();
|
|
}
|
|
|
|
//Function Number: 50
|
|
func_B737(param_00)
|
|
{
|
|
param_00.var_B737 = 1;
|
|
level waittill("host_migration_begin");
|
|
if(!isdefined(param_00) || !isdefined(self))
|
|
{
|
|
return;
|
|
}
|
|
|
|
param_00 setclientomnvar("ui_securing",0);
|
|
param_00 setclientomnvar("ui_securing_progress",0);
|
|
self.var_B737 = undefined;
|
|
}
|
|
|
|
//Function Number: 51
|
|
func_8019(param_00)
|
|
{
|
|
return self.numtouching[scripts\mp\_utility::getotherteam(param_00)];
|
|
}
|
|
|
|
//Function Number: 52
|
|
func_12F53(param_00,param_01)
|
|
{
|
|
if(!isdefined(level.var_90A9))
|
|
{
|
|
var_02 = 0;
|
|
if(isdefined(param_00.var_115DF) && isdefined(param_00.claimteam))
|
|
{
|
|
if(param_00.var_115DF[param_00.claimteam] > param_00.var_130EE)
|
|
{
|
|
param_00.var_115DF[param_00.claimteam] = param_00.var_130EE;
|
|
}
|
|
|
|
var_02 = param_00.var_115DF[param_00.claimteam] / param_00.var_130EE;
|
|
}
|
|
else
|
|
{
|
|
if(param_00.var_4B30 > param_00.var_130EE)
|
|
{
|
|
param_00.var_4B30 = param_00.var_130EE;
|
|
}
|
|
|
|
var_02 = param_00.var_4B30 / param_00.var_130EE;
|
|
}
|
|
|
|
if(level.gametype == "ctf" && !isdefined(param_00.var_92B8))
|
|
{
|
|
if(param_01 && scripts\mp\_utility::func_9FB3(param_00.var_10B51))
|
|
{
|
|
if(!isdefined(self.var_12B1C))
|
|
{
|
|
if(!isdefined(self.var_12B1B))
|
|
{
|
|
self.var_12B1B = 1;
|
|
}
|
|
|
|
self setclientomnvar("ui_objective_state",-1);
|
|
self.var_12B1C = 1;
|
|
}
|
|
|
|
var_02 = 0.01;
|
|
}
|
|
else if(param_01 && isdefined(self.var_12B1B) && isdefined(param_00.var_10B51) && !param_00.var_10B51 && param_00.ownerteam != self.team)
|
|
{
|
|
self setclientomnvar("ui_objective_state",1);
|
|
self.var_12B1B = 1;
|
|
self.var_12B1C = undefined;
|
|
}
|
|
else if(param_01 && isdefined(self.var_12B1B) && isdefined(param_00.var_10B51) && !param_00.var_10B51 && param_00.ownerteam == self.team)
|
|
{
|
|
self setclientomnvar("ui_objective_state",2);
|
|
self.var_12B1B = 1;
|
|
self.var_12B1C = undefined;
|
|
}
|
|
else
|
|
{
|
|
if(!param_01 && isdefined(self.var_12B1C))
|
|
{
|
|
self setclientomnvar("ui_objective_state",0);
|
|
self.var_12B1B = undefined;
|
|
}
|
|
|
|
if(param_01 && !isdefined(self.var_12B1C) && param_00.ownerteam == self.team)
|
|
{
|
|
self setclientomnvar("ui_objective_state",0);
|
|
self.var_12B1B = undefined;
|
|
}
|
|
|
|
if(param_01 && !isdefined(self.var_12B1B))
|
|
{
|
|
if(param_00.ownerteam != self.team)
|
|
{
|
|
self setclientomnvar("ui_objective_state",1);
|
|
self.var_12B1B = 1;
|
|
}
|
|
else if(param_00.interactteam == "any")
|
|
{
|
|
self setclientomnvar("ui_objective_state",2);
|
|
self.var_12B1B = 1;
|
|
}
|
|
}
|
|
|
|
self.var_12B1C = undefined;
|
|
}
|
|
|
|
if(!param_01)
|
|
{
|
|
var_02 = 0.01;
|
|
self setclientomnvar("ui_objective_state",0);
|
|
self.var_12B1B = undefined;
|
|
}
|
|
|
|
if(var_02 != 0)
|
|
{
|
|
if(isdefined(param_00.var_115DF) && isdefined(param_00.claimteam) && param_01)
|
|
{
|
|
self setclientomnvar("ui_objective_progress",param_00.var_115DF[self.team] / param_00.var_130EE);
|
|
}
|
|
else
|
|
{
|
|
self setclientomnvar("ui_objective_progress",var_02);
|
|
}
|
|
}
|
|
}
|
|
|
|
if(func_8BE7() && isdefined(param_00.var_92B8) && param_00.var_92B8 == "domFlag" || param_00.var_92B8 == "hardpoint")
|
|
{
|
|
var_03 = 0;
|
|
if(level.gametype == "koth" || level.gametype == "grnd")
|
|
{
|
|
var_03 = 7;
|
|
if(scripts\mp\_utility::func_9FB3(level.var_13097) && isdefined(param_00.ownerteam) && param_00.ownerteam != "neutral")
|
|
{
|
|
var_03 = 8;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if(param_00.label == "_a")
|
|
{
|
|
var_03 = 1;
|
|
}
|
|
else if(param_00.label == "_b")
|
|
{
|
|
var_03 = 2;
|
|
}
|
|
else if(param_00.label == "_c")
|
|
{
|
|
var_03 = 3;
|
|
}
|
|
|
|
if(scripts\mp\_utility::func_9FB3(param_00.neutralizing))
|
|
{
|
|
var_03 = var_03 + 3;
|
|
}
|
|
}
|
|
|
|
if(param_01 && isdefined(param_00.var_10B51) && param_00.var_10B51)
|
|
{
|
|
if(!isdefined(self.var_12B1E))
|
|
{
|
|
if(!isdefined(self.var_12B1D))
|
|
{
|
|
self.var_12B1D = 1;
|
|
}
|
|
|
|
self setclientomnvar("ui_objective_state",-1);
|
|
self.var_12B1E = 1;
|
|
}
|
|
|
|
var_02 = 0.01;
|
|
}
|
|
else if(param_01 && isdefined(self.var_12B1D) && isdefined(param_00.var_10B51) && !param_00.var_10B51 && param_00.ownerteam != self.team)
|
|
{
|
|
self setclientomnvar("ui_objective_state",var_03);
|
|
self.var_12B1D = 1;
|
|
self.var_12B1E = undefined;
|
|
}
|
|
else
|
|
{
|
|
if(!param_01 && isdefined(self.var_12B1E))
|
|
{
|
|
self setclientomnvar("ui_objective_state",0);
|
|
self.var_12B1D = undefined;
|
|
}
|
|
|
|
if(param_01 && !isdefined(self.var_12B1E) && param_00.ownerteam == self.team)
|
|
{
|
|
self setclientomnvar("ui_objective_state",0);
|
|
self.var_12B1D = undefined;
|
|
}
|
|
|
|
if(param_01 && !isdefined(self.var_12B1D) && param_00.ownerteam != self.team)
|
|
{
|
|
self setclientomnvar("ui_objective_state",var_03);
|
|
self.var_12B1D = 1;
|
|
}
|
|
|
|
self.var_12B1E = undefined;
|
|
}
|
|
|
|
if(!param_01 || !param_00 caninteractwith(self.team) && !isdefined(param_00.var_10B51) || isdefined(param_00.var_10B51) && !param_00.var_10B51)
|
|
{
|
|
var_02 = 0.01;
|
|
self setclientomnvar("ui_objective_state",0);
|
|
self.var_12B1D = undefined;
|
|
}
|
|
|
|
if(var_02 != 0)
|
|
{
|
|
if(isdefined(param_00.var_115DF) && isdefined(param_00.claimteam) && param_01)
|
|
{
|
|
self setclientomnvar("ui_objective_progress",param_00.var_115DF[self.team] / param_00.var_130EE);
|
|
return;
|
|
}
|
|
|
|
self setclientomnvar("ui_objective_progress",var_02);
|
|
return;
|
|
}
|
|
|
|
return;
|
|
}
|
|
|
|
if(isbombmode() && isdefined(param_00.var_92B8) && param_00.var_92B8 == "bomb_zone" || param_00.var_92B8 == "defuse_object")
|
|
{
|
|
if(isdefined(self))
|
|
{
|
|
if(param_01 && isdefined(self))
|
|
{
|
|
if(!isdefined(self.var_12B1A))
|
|
{
|
|
var_04 = 0;
|
|
if(param_00.var_92B8 == "bomb_zone")
|
|
{
|
|
var_04 = 1;
|
|
}
|
|
else if(param_00.var_92B8 == "defuse_object")
|
|
{
|
|
var_04 = 2;
|
|
}
|
|
|
|
self setclientomnvar("ui_objective_state",var_04);
|
|
self.var_12B1A = 1;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
self setclientomnvar("ui_objective_state",0);
|
|
self.var_12B1A = undefined;
|
|
var_02 = 0.01;
|
|
}
|
|
|
|
if(var_02 != 0)
|
|
{
|
|
if(isdefined(param_00.var_115DF) && isdefined(param_00.claimteam) && param_01)
|
|
{
|
|
self setclientomnvar("ui_objective_progress",param_00.var_115DF[self.team] / param_00.var_130EE);
|
|
return;
|
|
}
|
|
|
|
self setclientomnvar("ui_objective_progress",var_02);
|
|
return;
|
|
}
|
|
|
|
return;
|
|
}
|
|
|
|
return;
|
|
}
|
|
|
|
if(isdefined(param_00.var_92B8))
|
|
{
|
|
var_04 = 0;
|
|
switch(param_00.var_92B8)
|
|
{
|
|
case "care_package":
|
|
var_04 = 1;
|
|
break;
|
|
|
|
case "intel":
|
|
var_04 = 2;
|
|
break;
|
|
|
|
case "deployable_vest":
|
|
var_04 = 3;
|
|
break;
|
|
|
|
case "deployable_weapon_crate":
|
|
var_04 = 4;
|
|
break;
|
|
|
|
case "last_stand":
|
|
var_04 = 5;
|
|
if(isdefined(self.inlaststand) && self.inlaststand)
|
|
{
|
|
var_04 = 6;
|
|
}
|
|
break;
|
|
|
|
case "breach":
|
|
var_04 = 7;
|
|
break;
|
|
|
|
case "use":
|
|
var_04 = 8;
|
|
break;
|
|
}
|
|
|
|
func_12F55(var_02,param_01,var_04,param_00,param_00.var_130EE);
|
|
return;
|
|
}
|
|
|
|
return;
|
|
}
|
|
}
|
|
|
|
//Function Number: 53
|
|
func_8BE7()
|
|
{
|
|
if(level.gametype == "dom" || level.gametype == "grind" || level.gametype == "koth" || level.gametype == "grnd" || level.gametype == "siege")
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
//Function Number: 54
|
|
func_12F55(param_00,param_01,param_02,param_03,param_04)
|
|
{
|
|
if(param_01)
|
|
{
|
|
if(!isdefined(param_03.var_13074))
|
|
{
|
|
param_03.var_13074 = [];
|
|
}
|
|
|
|
if(!isdefined(self.var_B737))
|
|
{
|
|
param_03 thread func_B737(self);
|
|
}
|
|
|
|
if(!func_693C(self,param_03.var_13074))
|
|
{
|
|
param_03.var_13074[param_03.var_13074.size] = self;
|
|
}
|
|
|
|
if(!isdefined(self.var_12B26))
|
|
{
|
|
self setclientomnvar("ui_securing",param_02);
|
|
self.var_12B26 = 1;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if(isdefined(param_03.var_13074) && func_693C(self,param_03.var_13074))
|
|
{
|
|
param_03.var_13074 = scripts\common\utility::func_22A9(param_03.var_13074,self);
|
|
}
|
|
|
|
self setclientomnvar("ui_securing",0);
|
|
self.var_12B26 = undefined;
|
|
param_00 = 0.01;
|
|
}
|
|
|
|
if(param_04 == 500)
|
|
{
|
|
param_00 = min(param_00 + 0.15,1);
|
|
}
|
|
|
|
if(param_00 != 0)
|
|
{
|
|
self setclientomnvar("ui_securing_progress",param_00);
|
|
}
|
|
}
|
|
|
|
//Function Number: 55
|
|
func_693C(param_00,param_01)
|
|
{
|
|
if(param_01.size > 0)
|
|
{
|
|
foreach(var_03 in param_01)
|
|
{
|
|
if(var_03 == param_00)
|
|
{
|
|
return 1;
|
|
}
|
|
}
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
//Function Number: 56
|
|
func_12F57()
|
|
{
|
|
if(self.claimteam == "none" && self.ownerteam != "neutral" && self.ownerteam != "any")
|
|
{
|
|
var_00 = self.ownerteam;
|
|
}
|
|
else
|
|
{
|
|
var_00 = self.claimteam;
|
|
}
|
|
|
|
var_01 = self.numtouching[var_00];
|
|
var_02 = 0;
|
|
var_03 = 0;
|
|
if(level.multiteambased)
|
|
{
|
|
foreach(var_05 in level.teamnamelist)
|
|
{
|
|
if(var_00 != var_05)
|
|
{
|
|
var_02 = var_02 + self.numtouching[var_05];
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if(var_00 != "axis")
|
|
{
|
|
var_02 = var_02 + self.numtouching["axis"];
|
|
}
|
|
|
|
if(var_00 != "allies")
|
|
{
|
|
var_02 = var_02 + self.numtouching["allies"];
|
|
}
|
|
}
|
|
|
|
foreach(var_08 in self.touchlist[var_00])
|
|
{
|
|
if(!isdefined(var_08.player))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(var_08.player.pers["team"] != var_00)
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(var_08.player.var_C2AD == 1)
|
|
{
|
|
continue;
|
|
}
|
|
|
|
var_01 = var_01 * var_08.player.var_C2AD;
|
|
var_03 = var_08.player.var_C2AD;
|
|
}
|
|
|
|
self.var_10B51 = var_01 && var_02;
|
|
self.userate = 0;
|
|
if(var_01 && !var_02)
|
|
{
|
|
self.userate = min(var_01,4);
|
|
}
|
|
|
|
if(isdefined(self.var_9D49) && self.var_9D49 && var_03 != 0)
|
|
{
|
|
self.userate = 1 * var_03;
|
|
return;
|
|
}
|
|
|
|
if(isdefined(self.var_9D49) && self.var_9D49)
|
|
{
|
|
self.userate = 1;
|
|
}
|
|
}
|
|
|
|
//Function Number: 57
|
|
func_13093(param_00)
|
|
{
|
|
param_00 notify("use_hold");
|
|
if(isplayer(param_00))
|
|
{
|
|
param_00 playerlinkto(self.trigger);
|
|
}
|
|
else
|
|
{
|
|
param_00 linkto(self.trigger);
|
|
}
|
|
|
|
param_00 playerlinkedoffsetenable();
|
|
param_00 clientclaimtrigger(self.trigger);
|
|
param_00.var_3FFA = self.trigger;
|
|
param_00 allowmovement(0);
|
|
param_00 unlink();
|
|
if(isbombmode())
|
|
{
|
|
if(scripts\mp\_utility::func_9D46() || scripts\mp\_utility::func_9FB3(level.var_101F7) || param_00 scripts\mp\_utility::_hasperk("specialty_engineer"))
|
|
{
|
|
self.var_130F8 = "briefcase_bomb_defuse_mp";
|
|
}
|
|
else
|
|
{
|
|
self.var_130F8 = "briefcase_bomb_mp";
|
|
}
|
|
}
|
|
|
|
var_01 = self.var_130F8;
|
|
var_02 = param_00 getcurrentweapon();
|
|
if(isdefined(var_01))
|
|
{
|
|
if(var_02 == var_01)
|
|
{
|
|
var_02 = param_00.var_A9C6;
|
|
}
|
|
|
|
param_00.var_A9C6 = var_02;
|
|
param_00 scripts\mp\_utility::func_12C6(var_01);
|
|
param_00 setweaponammostock(var_01,0);
|
|
param_00 setweaponammoclip(var_01,0);
|
|
param_00 thread func_11382(var_01);
|
|
}
|
|
else
|
|
{
|
|
param_00 scripts\common\utility::allow_weapon(0);
|
|
}
|
|
|
|
self.var_4B30 = 0;
|
|
self.var_9B04 = 1;
|
|
self.userate = 0;
|
|
var_03 = func_13094(param_00,var_02);
|
|
if(isdefined(param_00))
|
|
{
|
|
param_00 func_5397();
|
|
param_00 notify("done_using");
|
|
}
|
|
|
|
if(isdefined(var_01) && isdefined(param_00))
|
|
{
|
|
param_00 scripts\mp\_supers::func_12D6C();
|
|
if(param_00 scripts\mp\_utility::func_9F20(var_01))
|
|
{
|
|
param_00 scripts\mp\_utility::func_1529(var_01);
|
|
}
|
|
else
|
|
{
|
|
param_00 thread scripts\mp\_utility::func_80F2(var_01);
|
|
}
|
|
}
|
|
|
|
if(isdefined(var_03) && var_03)
|
|
{
|
|
param_00 allowmovement(1);
|
|
return 1;
|
|
}
|
|
|
|
if(isdefined(param_00))
|
|
{
|
|
param_00.var_3FFA = undefined;
|
|
if(!isdefined(var_01))
|
|
{
|
|
param_00 scripts\common\utility::allow_weapon(1);
|
|
}
|
|
|
|
if(!scripts\mp\_utility::func_9F19(param_00))
|
|
{
|
|
param_00.var_A64F = 1;
|
|
}
|
|
|
|
param_00 allowmovement(1);
|
|
}
|
|
|
|
self.var_9B04 = 0;
|
|
self.trigger releaseclaimedtrigger();
|
|
return 0;
|
|
}
|
|
|
|
//Function Number: 58
|
|
func_5397()
|
|
{
|
|
if(isdefined(self.var_247F))
|
|
{
|
|
self detach(self.var_247F,"tag_inhand");
|
|
self.var_247F = undefined;
|
|
}
|
|
}
|
|
|
|
//Function Number: 59
|
|
func_11382(param_00)
|
|
{
|
|
scripts\mp\_supers::func_1CAB();
|
|
var_01 = scripts\mp\_utility::func_11383(param_00,1);
|
|
if(!scripts\common\utility::istrue(var_01))
|
|
{
|
|
scripts\mp\_supers::func_12D6C();
|
|
if(scripts\mp\_utility::func_9F20(param_00))
|
|
{
|
|
scripts\mp\_utility::func_1529(param_00);
|
|
return;
|
|
}
|
|
|
|
scripts\mp\_utility::func_141E(param_00);
|
|
}
|
|
}
|
|
|
|
//Function Number: 60
|
|
func_130E9(param_00,param_01,param_02,param_03)
|
|
{
|
|
if(!scripts\mp\_utility::func_9F19(param_00))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(!param_00 istouching(self.trigger))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(!param_00 usebuttonpressed())
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(param_00 scripts\mp\_utility::func_85C7())
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(param_00 meleebuttonpressed())
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(self.var_4B30 >= self.var_130EE)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(!self.userate && !param_01)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(param_01 && param_02 > param_03)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(isdefined(self.var_130F8))
|
|
{
|
|
if(param_00 getcurrentweapon() != self.var_130F8 && !param_00 scripts\mp\_utility::func_9F20(self.var_130F8))
|
|
{
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
return 1;
|
|
}
|
|
|
|
//Function Number: 61
|
|
func_13094(param_00,param_01)
|
|
{
|
|
level endon("game_ended");
|
|
self endon("disabled");
|
|
var_02 = self.var_130F8;
|
|
var_03 = 1;
|
|
if(isdefined(self.var_136F6))
|
|
{
|
|
var_03 = self.var_136F6;
|
|
}
|
|
|
|
if(!var_03)
|
|
{
|
|
self.userate = 1 * param_00.var_C2AD;
|
|
}
|
|
|
|
var_04 = 0;
|
|
var_05 = 1.5;
|
|
while(func_130E9(param_00,var_03,var_04,var_05))
|
|
{
|
|
var_04 = var_04 + 0.05;
|
|
if(!var_03 || !isdefined(var_02) || param_00 getcurrentweapon() == var_02)
|
|
{
|
|
self.var_4B30 = self.var_4B30 + 50 * self.userate;
|
|
self.userate = 1 * param_00.var_C2AD;
|
|
var_03 = 0;
|
|
}
|
|
else
|
|
{
|
|
self.userate = 0;
|
|
}
|
|
|
|
param_00 func_12F53(self,1);
|
|
if(self.var_4B30 >= self.var_130EE)
|
|
{
|
|
self.var_9B04 = 0;
|
|
param_00 clientreleasetrigger(self.trigger);
|
|
param_00.var_3FFA = undefined;
|
|
if(!isdefined(var_02))
|
|
{
|
|
param_00 scripts\common\utility::allow_weapon(1);
|
|
}
|
|
|
|
param_00 unlink();
|
|
return scripts\mp\_utility::func_9F19(param_00);
|
|
}
|
|
|
|
wait(0.05);
|
|
scripts\mp\_hostmigration::func_13834();
|
|
}
|
|
|
|
param_00 func_12F53(self,0);
|
|
return 0;
|
|
}
|
|
|
|
//Function Number: 62
|
|
updatetrigger()
|
|
{
|
|
if(self.triggertype != "use")
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(self.interactteam == "none")
|
|
{
|
|
self.trigger.origin = self.trigger.origin - (0,0,50000);
|
|
return;
|
|
}
|
|
|
|
if(self.interactteam == "any")
|
|
{
|
|
self.trigger.origin = self.var_4B2C;
|
|
self.trigger setteamfortrigger("none");
|
|
return;
|
|
}
|
|
|
|
if(self.interactteam == "friendly")
|
|
{
|
|
self.trigger.origin = self.var_4B2C;
|
|
if(self.ownerteam == "allies")
|
|
{
|
|
self.trigger setteamfortrigger("allies");
|
|
return;
|
|
}
|
|
|
|
if(self.ownerteam == "axis")
|
|
{
|
|
self.trigger setteamfortrigger("axis");
|
|
return;
|
|
}
|
|
|
|
self.trigger.origin = self.trigger.origin - (0,0,50000);
|
|
return;
|
|
}
|
|
|
|
if(self.interactteam == "enemy")
|
|
{
|
|
self.trigger.origin = self.var_4B2C;
|
|
if(self.ownerteam == "allies")
|
|
{
|
|
self.trigger setteamfortrigger("axis");
|
|
return;
|
|
}
|
|
|
|
if(self.ownerteam == "axis")
|
|
{
|
|
self.trigger setteamfortrigger("allies");
|
|
return;
|
|
}
|
|
|
|
self.trigger setteamfortrigger("none");
|
|
return;
|
|
}
|
|
}
|
|
|
|
//Function Number: 63
|
|
updateworldicons()
|
|
{
|
|
if(self.visibleteam == "any")
|
|
{
|
|
updateworldicon("friendly",1);
|
|
updateworldicon("enemy",1);
|
|
return;
|
|
}
|
|
|
|
if(self.visibleteam == "friendly")
|
|
{
|
|
updateworldicon("friendly",1);
|
|
updateworldicon("enemy",0);
|
|
return;
|
|
}
|
|
|
|
if(self.visibleteam == "enemy")
|
|
{
|
|
updateworldicon("friendly",0);
|
|
updateworldicon("enemy",1);
|
|
return;
|
|
}
|
|
|
|
updateworldicon("friendly",0);
|
|
updateworldicon("enemy",0);
|
|
}
|
|
|
|
//Function Number: 64
|
|
getmlgteamcolor(param_00)
|
|
{
|
|
if(param_00 == "allies")
|
|
{
|
|
return game["colors"]["friendly"];
|
|
}
|
|
else if(param_00 == "axis")
|
|
{
|
|
return game["colors"]["enemy"];
|
|
}
|
|
|
|
return (1,1,1);
|
|
}
|
|
|
|
//Function Number: 65
|
|
setobjpointteamcolor(param_00,param_01,param_02)
|
|
{
|
|
if(param_01 == "mlg_allies")
|
|
{
|
|
param_00 setmlgdraw(1,0);
|
|
var_03 = self.worldiconscolor[param_02];
|
|
if(var_03 == "friendly")
|
|
{
|
|
param_00.color = getmlgteamcolor("allies");
|
|
return;
|
|
}
|
|
|
|
if(var_03 == "enemy")
|
|
{
|
|
param_00.color = getmlgteamcolor("axis");
|
|
return;
|
|
}
|
|
|
|
param_00.color = game["colors"][var_03];
|
|
return;
|
|
}
|
|
|
|
if(param_01 == "mlg_axis")
|
|
{
|
|
param_00 setmlgdraw(1,0);
|
|
var_03 = self.worldiconscolor[param_02];
|
|
if(var_03 == "friendly")
|
|
{
|
|
param_00.color = getmlgteamcolor("axis");
|
|
return;
|
|
}
|
|
|
|
if(var_03 == "enemy")
|
|
{
|
|
param_00.color = getmlgteamcolor("allies");
|
|
return;
|
|
}
|
|
|
|
param_00.color = game["colors"][var_03];
|
|
return;
|
|
}
|
|
|
|
param_00.color = game["colors"][self.worldiconscolor[param_02]];
|
|
param_00 setmlgdraw(0,1);
|
|
}
|
|
|
|
//Function Number: 66
|
|
updateworldicon(param_00,param_01)
|
|
{
|
|
if(!isdefined(self.var_13DCA[param_00]))
|
|
{
|
|
param_01 = 0;
|
|
}
|
|
|
|
var_02 = getupdateteams(param_00);
|
|
if(getdvarint("com_codcasterEnabled",0) == 1)
|
|
{
|
|
var_03 = var_02.size;
|
|
for(var_04 = 0;var_04 < var_03;var_04++)
|
|
{
|
|
if(var_02[var_04] == "allies")
|
|
{
|
|
var_02[var_02.size] = "mlg_allies";
|
|
continue;
|
|
}
|
|
|
|
if(var_02[var_04] == "axis")
|
|
{
|
|
var_02[var_02.size] = "mlg_axis";
|
|
}
|
|
}
|
|
}
|
|
|
|
for(var_04 = 0;var_04 < var_02.size;var_04++)
|
|
{
|
|
var_05 = "objpoint_" + var_02[var_04] + "_" + self.var_664A;
|
|
var_06 = scripts\mp\_objpoints::func_801E(var_05);
|
|
if(!isdefined(var_06))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
var_06 notify("stop_flashing_thread");
|
|
var_06 thread scripts\mp\_objpoints::func_11070();
|
|
if(param_01)
|
|
{
|
|
var_06 setshader(self.var_13DCA[param_00],level.var_C2C4,level.var_C2C4);
|
|
var_06 fadeovertime(0.05);
|
|
var_06.alpha = var_06.var_2897;
|
|
var_06.var_9F51 = 1;
|
|
if(level.gametype == "dom")
|
|
{
|
|
var_06 setwaypoint(0,1);
|
|
}
|
|
else if(isdefined(self.var_4465[param_00]))
|
|
{
|
|
var_06 setwaypoint(1,1);
|
|
}
|
|
else
|
|
{
|
|
var_06 setwaypoint(1,0);
|
|
}
|
|
|
|
setobjpointteamcolor(var_06,var_02[var_04],param_00);
|
|
var_06 setwaypointbackground(getwaypointbackgroundtype(self.var_13DCA[param_00]));
|
|
if(self.type == "carryObject")
|
|
{
|
|
var_07 = var_02[var_04] == "mlg_allies" || var_02[var_04] == "mlg_axis";
|
|
if(isdefined(self.carrier) && !shouldpingobject(param_00) || var_07)
|
|
{
|
|
var_06 settargetent(self.carrier);
|
|
}
|
|
else if(!isdefined(self.carrier) && isdefined(self.var_C2A6) && self.var_C2A6)
|
|
{
|
|
var_06 settargetent(self.visuals[0]);
|
|
}
|
|
else
|
|
{
|
|
var_06 cleartargetent();
|
|
}
|
|
}
|
|
else if(isdefined(self.var_C2B4))
|
|
{
|
|
var_06 settargetent(self.var_C2B4);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
var_06 fadeovertime(0.05);
|
|
var_06.alpha = 0;
|
|
var_06.var_9F51 = 0;
|
|
var_06 cleartargetent();
|
|
}
|
|
|
|
var_06 thread func_8EDE();
|
|
}
|
|
}
|
|
|
|
//Function Number: 67
|
|
func_8EDE()
|
|
{
|
|
self notify("hideWorldIconOnGameEnd");
|
|
self endon("hideWorldIconOnGameEnd");
|
|
self endon("death");
|
|
level waittill("game_ended");
|
|
if(isdefined(self))
|
|
{
|
|
self.alpha = 0;
|
|
}
|
|
}
|
|
|
|
//Function Number: 68
|
|
func_12F43(param_00,param_01)
|
|
{
|
|
}
|
|
|
|
//Function Number: 69
|
|
updatecompassicons()
|
|
{
|
|
if(self.visibleteam == "any")
|
|
{
|
|
updatecompassicon("friendly",1);
|
|
updatecompassicon("enemy",1);
|
|
return;
|
|
}
|
|
|
|
if(self.visibleteam == "friendly")
|
|
{
|
|
updatecompassicon("friendly",1);
|
|
updatecompassicon("enemy",0);
|
|
return;
|
|
}
|
|
|
|
if(self.visibleteam == "enemy")
|
|
{
|
|
updatecompassicon("friendly",0);
|
|
updatecompassicon("enemy",1);
|
|
return;
|
|
}
|
|
|
|
updatecompassicon("friendly",0);
|
|
updatecompassicon("enemy",0);
|
|
}
|
|
|
|
//Function Number: 70
|
|
updateobjectiveiconcolortype(param_00,param_01)
|
|
{
|
|
var_02 = self.worldiconscolor[param_01];
|
|
if(!isdefined(var_02))
|
|
{
|
|
scripts\mp\objidpoolmanager::minimap_objective_icon_colortype(param_00,0);
|
|
return;
|
|
}
|
|
|
|
if(var_02 == "friendly")
|
|
{
|
|
scripts\mp\objidpoolmanager::minimap_objective_icon_colortype(param_00,1);
|
|
return;
|
|
}
|
|
|
|
if(var_02 == "enemy")
|
|
{
|
|
scripts\mp\objidpoolmanager::minimap_objective_icon_colortype(param_00,2);
|
|
return;
|
|
}
|
|
|
|
if(var_02 == "contest")
|
|
{
|
|
scripts\mp\objidpoolmanager::minimap_objective_icon_colortype(param_00,3);
|
|
return;
|
|
}
|
|
|
|
scripts\mp\objidpoolmanager::minimap_objective_icon_colortype(param_00,0);
|
|
}
|
|
|
|
//Function Number: 71
|
|
updatecompassicon(param_00,param_01)
|
|
{
|
|
var_02 = getupdateteams(param_00);
|
|
for(var_03 = 0;var_03 < var_02.size;var_03++)
|
|
{
|
|
var_04 = var_02[var_03];
|
|
var_05 = param_01;
|
|
if(!var_05 && shouldshowcompassduetoradar(var_04))
|
|
{
|
|
var_05 = 1;
|
|
}
|
|
|
|
var_06 = self.var_115DC[var_04];
|
|
if(var_06 != -1)
|
|
{
|
|
if(!isdefined(self.var_4465[param_00]) || !var_05)
|
|
{
|
|
scripts\mp\objidpoolmanager::minimap_objective_state(var_06,"invisible");
|
|
continue;
|
|
}
|
|
|
|
scripts\mp\objidpoolmanager::minimap_objective_icon(var_06,self.var_4465[param_00]);
|
|
scripts\mp\objidpoolmanager::minimap_objective_state(var_06,"active");
|
|
scripts\mp\objidpoolmanager::minimap_objective_icon_backgroundtype(var_06,getwaypointbackgroundtype(self.var_4465[param_00]));
|
|
updateobjectiveiconcolortype(var_06,param_00);
|
|
if(self.type == "carryObject")
|
|
{
|
|
if(scripts\mp\_utility::func_9F19(self.carrier) && !shouldpingobject(param_00))
|
|
{
|
|
scripts\mp\objidpoolmanager::minimap_objective_onentity(var_06,self.carrier);
|
|
}
|
|
else if(isdefined(self.visuals) && isdefined(self.visuals[0]) && isdefined(self.visuals[0] getlinkedparent()))
|
|
{
|
|
scripts\mp\objidpoolmanager::minimap_objective_onentity(var_06,self.visuals[0]);
|
|
}
|
|
else if(isdefined(self.var_C2A6) && self.var_C2A6 && !shouldpingobject(param_00))
|
|
{
|
|
scripts\mp\objidpoolmanager::minimap_objective_onentity(var_06,self.visuals[0]);
|
|
}
|
|
else
|
|
{
|
|
scripts\mp\objidpoolmanager::minimap_objective_position(var_06,self.var_4B2C);
|
|
}
|
|
|
|
continue;
|
|
}
|
|
|
|
if(isdefined(self.var_C2B4))
|
|
{
|
|
scripts\mp\objidpoolmanager::minimap_objective_onentity(var_06,self.var_C2B4);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 72
|
|
shouldpingobject(param_00)
|
|
{
|
|
if(param_00 == "friendly" && self.var_C2BE)
|
|
{
|
|
return 1;
|
|
}
|
|
else if(param_00 == "enemy" && self.var_C2BD)
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
//Function Number: 73
|
|
getupdateteams(param_00)
|
|
{
|
|
var_01 = [];
|
|
foreach(var_03 in level.teamnamelist)
|
|
{
|
|
if(param_00 == "friendly")
|
|
{
|
|
if(isfriendlyteam(var_03))
|
|
{
|
|
var_01[var_01.size] = var_03;
|
|
}
|
|
|
|
continue;
|
|
}
|
|
|
|
if(param_00 == "enemy")
|
|
{
|
|
if(!isfriendlyteam(var_03))
|
|
{
|
|
var_01[var_01.size] = var_03;
|
|
}
|
|
}
|
|
}
|
|
|
|
return var_01;
|
|
}
|
|
|
|
//Function Number: 74
|
|
shouldshowcompassduetoradar(param_00)
|
|
{
|
|
if(!isdefined(self.carrier))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(self.carrier scripts\mp\_utility::_hasperk("specialty_gpsjammer"))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
return getteamradar(param_00);
|
|
}
|
|
|
|
//Function Number: 75
|
|
updatevisibilityaccordingtoradar()
|
|
{
|
|
self endon("death");
|
|
self endon("carrier_cleared");
|
|
for(;;)
|
|
{
|
|
level waittill("radar_status_change");
|
|
updatecompassicons();
|
|
}
|
|
}
|
|
|
|
//Function Number: 76
|
|
func_F7D4(param_00)
|
|
{
|
|
self.ownerteam = param_00;
|
|
updatetrigger();
|
|
updatecompassicons();
|
|
updateworldicons();
|
|
if(param_00 != "neutral")
|
|
{
|
|
self.var_D8BA = param_00;
|
|
}
|
|
}
|
|
|
|
//Function Number: 77
|
|
func_803E()
|
|
{
|
|
return self.ownerteam;
|
|
}
|
|
|
|
//Function Number: 78
|
|
func_FB08(param_00)
|
|
{
|
|
self.var_130EE = int(param_00 * 1000);
|
|
}
|
|
|
|
//Function Number: 79
|
|
func_FB14(param_00)
|
|
{
|
|
self.var_136F6 = param_00;
|
|
}
|
|
|
|
//Function Number: 80
|
|
func_FB07(param_00)
|
|
{
|
|
self.var_130EB = param_00;
|
|
}
|
|
|
|
//Function Number: 81
|
|
func_F87D(param_00,param_01)
|
|
{
|
|
self.var_115F2[param_00] = int(param_01 * 1000);
|
|
}
|
|
|
|
//Function Number: 82
|
|
func_F87C(param_00,param_01)
|
|
{
|
|
self.var_115F1[param_00] = param_01;
|
|
}
|
|
|
|
//Function Number: 83
|
|
func_FB06(param_00)
|
|
{
|
|
self.trigger sethintstring(param_00);
|
|
}
|
|
|
|
//Function Number: 84
|
|
func_1C7C(param_00)
|
|
{
|
|
self.interactteam = param_00;
|
|
}
|
|
|
|
//Function Number: 85
|
|
func_1CAF(param_00)
|
|
{
|
|
self.interactteam = param_00;
|
|
updatetrigger();
|
|
}
|
|
|
|
//Function Number: 86
|
|
setvisibleteam(param_00)
|
|
{
|
|
self.visibleteam = param_00;
|
|
updatecompassicons();
|
|
updateworldicons();
|
|
}
|
|
|
|
//Function Number: 87
|
|
setmodelvisibility(param_00)
|
|
{
|
|
if(param_00)
|
|
{
|
|
for(var_01 = 0;var_01 < self.visuals.size;var_01++)
|
|
{
|
|
self.visuals[var_01] show();
|
|
if(self.visuals[var_01].classname == "script_brushmodel" || self.visuals[var_01].classname == "script_model")
|
|
{
|
|
foreach(var_03 in level.players)
|
|
{
|
|
if(var_03 istouching(self.visuals[var_01]))
|
|
{
|
|
var_03 scripts\mp\_utility::func_1417();
|
|
}
|
|
}
|
|
|
|
self.visuals[var_01] thread makesolid();
|
|
}
|
|
}
|
|
|
|
return;
|
|
}
|
|
|
|
for(var_01 = 0;var_01 < self.visuals.size;var_01++)
|
|
{
|
|
self.visuals[var_01] hide();
|
|
if(self.visuals[var_01].classname == "script_brushmodel" || self.visuals[var_01].classname == "script_model")
|
|
{
|
|
self.visuals[var_01] notify("changing_solidness");
|
|
self.visuals[var_01] notsolid();
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 88
|
|
makesolid()
|
|
{
|
|
self endon("death");
|
|
self notify("changing_solidness");
|
|
self endon("changing_solidness");
|
|
for(;;)
|
|
{
|
|
for(var_00 = 0;var_00 < level.players.size;var_00++)
|
|
{
|
|
if(level.players[var_00] istouching(self))
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
|
|
if(var_00 == level.players.size)
|
|
{
|
|
self solid();
|
|
break;
|
|
}
|
|
|
|
wait(0.05);
|
|
}
|
|
}
|
|
|
|
//Function Number: 89
|
|
func_F680(param_00)
|
|
{
|
|
self.var_3AF1 = param_00;
|
|
}
|
|
|
|
//Function Number: 90
|
|
func_F67D(param_00)
|
|
{
|
|
self.var_130E5 = param_00;
|
|
}
|
|
|
|
//Function Number: 91
|
|
func_F283(param_00,param_01)
|
|
{
|
|
self.var_4465[param_00] = param_01;
|
|
if(!isdefined(param_01))
|
|
{
|
|
self.worldiconscolor[param_00] = "neutral";
|
|
}
|
|
else
|
|
{
|
|
self.worldiconscolor[param_00] = getwaypointbackgroundcolor(param_01);
|
|
}
|
|
|
|
updatecompassicons();
|
|
}
|
|
|
|
//Function Number: 92
|
|
getwaypointbackgroundtype(param_00)
|
|
{
|
|
if(!isdefined(level.waypointbgtype))
|
|
{
|
|
scripts\mp\_gamelogic::initwaypointbackgrounds();
|
|
}
|
|
|
|
var_01 = level.waypointbgtype[param_00];
|
|
if(!isdefined(var_01))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
return var_01;
|
|
}
|
|
|
|
//Function Number: 93
|
|
getwaypointbackgroundcolor(param_00)
|
|
{
|
|
if(!isdefined(level.waypointcolors))
|
|
{
|
|
scripts\mp\_gamelogic::initwaypointbackgrounds();
|
|
}
|
|
|
|
var_01 = level.waypointcolors[param_00];
|
|
if(!isdefined(var_01))
|
|
{
|
|
return "neutral";
|
|
}
|
|
|
|
return var_01;
|
|
}
|
|
|
|
//Function Number: 94
|
|
func_F284(param_00,param_01)
|
|
{
|
|
self.var_13DCA[param_00] = param_01;
|
|
if(!isdefined(param_01))
|
|
{
|
|
self.worldiconscolor[param_00] = "neutral";
|
|
}
|
|
else
|
|
{
|
|
self.worldiconscolor[param_00] = getwaypointbackgroundcolor(param_01);
|
|
}
|
|
|
|
updateworldicons();
|
|
}
|
|
|
|
//Function Number: 95
|
|
set3duseicon(param_00,param_01)
|
|
{
|
|
self.var_13DCD[param_00] = param_01;
|
|
}
|
|
|
|
//Function Number: 96
|
|
setcarryicon(param_00)
|
|
{
|
|
self.var_3AF5 = param_00;
|
|
}
|
|
|
|
//Function Number: 97
|
|
disableobject()
|
|
{
|
|
self notify("disabled");
|
|
if(self.type == "carryObject")
|
|
{
|
|
if(isdefined(self.carrier))
|
|
{
|
|
self.carrier func_11471(self);
|
|
}
|
|
|
|
for(var_00 = 0;var_00 < self.visuals.size;var_00++)
|
|
{
|
|
self.visuals[var_00] hide();
|
|
}
|
|
}
|
|
|
|
self.trigger scripts\common\utility::trigger_off();
|
|
setvisibleteam("none");
|
|
}
|
|
|
|
//Function Number: 98
|
|
enableobject()
|
|
{
|
|
if(self.type == "carryObject")
|
|
{
|
|
for(var_00 = 0;var_00 < self.visuals.size;var_00++)
|
|
{
|
|
self.visuals[var_00] show();
|
|
}
|
|
}
|
|
|
|
self.trigger scripts\common\utility::trigger_on();
|
|
setvisibleteam("any");
|
|
}
|
|
|
|
//Function Number: 99
|
|
getrelativeteam(param_00)
|
|
{
|
|
if(param_00 == self.ownerteam)
|
|
{
|
|
return "friendly";
|
|
}
|
|
|
|
return "enemy";
|
|
}
|
|
|
|
//Function Number: 100
|
|
isfriendlyteam(param_00)
|
|
{
|
|
if(self.ownerteam == "any")
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
if(self.ownerteam == param_00)
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
if(self.ownerteam == "neutral" && isdefined(self.var_D8BA) && self.var_D8BA == param_00)
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
//Function Number: 101
|
|
caninteractwith(param_00,param_01)
|
|
{
|
|
switch(self.interactteam)
|
|
{
|
|
case "none":
|
|
return 0;
|
|
|
|
case "any":
|
|
return 1;
|
|
|
|
case "friendly":
|
|
if(param_00 == self.ownerteam)
|
|
{
|
|
return 1;
|
|
}
|
|
else
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
break;
|
|
|
|
case "enemy":
|
|
if(param_00 != self.ownerteam)
|
|
{
|
|
return 1;
|
|
}
|
|
else
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
break;
|
|
|
|
default:
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
//Function Number: 102
|
|
isteam(param_00)
|
|
{
|
|
if(param_00 == "neutral")
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
if(param_00 == "allies")
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
if(param_00 == "axis")
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
if(param_00 == "any")
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
if(param_00 == "none")
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
foreach(var_02 in level.teamnamelist)
|
|
{
|
|
if(param_00 == var_02)
|
|
{
|
|
return 1;
|
|
}
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
//Function Number: 103
|
|
isrelativeteam(param_00)
|
|
{
|
|
if(param_00 == "friendly")
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
if(param_00 == "enemy")
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
if(param_00 == "any")
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
if(param_00 == "none")
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
//Function Number: 104
|
|
getenemyteam(param_00)
|
|
{
|
|
if(level.multiteambased)
|
|
{
|
|
}
|
|
|
|
if(!level.teambased)
|
|
{
|
|
}
|
|
|
|
if(param_00 == "neutral")
|
|
{
|
|
return "none";
|
|
}
|
|
|
|
if(param_00 == "allies")
|
|
{
|
|
return "axis";
|
|
}
|
|
|
|
return "allies";
|
|
}
|
|
|
|
//Function Number: 105
|
|
getlabel()
|
|
{
|
|
var_00 = self.trigger.script_label;
|
|
if(!isdefined(var_00))
|
|
{
|
|
var_00 = "";
|
|
return var_00;
|
|
}
|
|
|
|
if(var_00[0] != "_")
|
|
{
|
|
return "_" + var_00;
|
|
}
|
|
|
|
return var_00;
|
|
}
|
|
|
|
//Function Number: 106
|
|
initializetagpathvariables()
|
|
{
|
|
self.nearest_node = undefined;
|
|
self.calculated_nearest_node = 0;
|
|
self.on_path_grid = undefined;
|
|
}
|
|
|
|
//Function Number: 107
|
|
mustmaintainclaim(param_00)
|
|
{
|
|
self.mustmaintainclaim = param_00;
|
|
}
|
|
|
|
//Function Number: 108
|
|
cancontestclaim(param_00)
|
|
{
|
|
self.cancontestclaim = param_00;
|
|
}
|
|
|
|
//Function Number: 109
|
|
setzonestatusicons(param_00,param_01)
|
|
{
|
|
if(!isdefined(param_01))
|
|
{
|
|
param_01 = param_00;
|
|
}
|
|
|
|
func_F283("friendly",param_00);
|
|
func_F284("friendly",param_00);
|
|
func_F283("enemy",param_01);
|
|
func_F284("enemy",param_01);
|
|
}
|
|
|
|
//Function Number: 110
|
|
getleveltriggers()
|
|
{
|
|
level.minetriggers = getentarray("minefield","targetname");
|
|
level.hurttriggers = getentarray("trigger_hurt","classname");
|
|
level.radtriggers = getentarray("radiation","targetname");
|
|
level.ballallowedtriggers = getentarray("uplinkAllowedOOB","targetname");
|
|
level.nozonetriggers = getentarray("uplink_nozone","targetname");
|
|
level.droptonavmeshtriggers = getentarray("dropToNavMesh","targetname");
|
|
thread scripts\mp\_utility::initarbitraryuptriggers();
|
|
}
|
|
|
|
//Function Number: 111
|
|
isbombmode()
|
|
{
|
|
if(level.gametype == "sd" || level.gametype == "sr" || level.gametype == "dd")
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
//Function Number: 112
|
|
touchingdroptonavmeshtrigger(param_00)
|
|
{
|
|
if(level.droptonavmeshtriggers.size > 0)
|
|
{
|
|
if(isbombmode() || level.gametype == "ctf")
|
|
{
|
|
self.visuals[0].origin = param_00;
|
|
}
|
|
|
|
foreach(var_02 in level.droptonavmeshtriggers)
|
|
{
|
|
foreach(var_04 in self.visuals)
|
|
{
|
|
if(var_04 istouching(var_02))
|
|
{
|
|
return 1;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
//Function Number: 113
|
|
touchingarbitraryuptrigger()
|
|
{
|
|
if(level.arbitraryuptriggers.size > 0)
|
|
{
|
|
foreach(var_01 in level.arbitraryuptriggers)
|
|
{
|
|
if(self istouching(var_01))
|
|
{
|
|
return 1;
|
|
}
|
|
}
|
|
}
|
|
|
|
return 0;
|
|
} |