IL-GSC/IW/PC/ALL/scripts/sp/_utility_code.gsc
2023-10-27 03:49:01 -04:00

1878 lines
37 KiB
Plaintext

/*******************************************************************
* Decompiled By: Bog
* Decompiled File: scripts\sp\_utility_code.gsc
* Game: Call of Duty: Infinite Warfare
* Platform: PC
* Function Count: 95
* Decompile Time: 4349 ms
* Timestamp: 10/27/2023 12:25:47 AM
*******************************************************************/
//Function Number: 1
func_11166(param_00,param_01)
{
var_02 = param_00.var_11159;
var_03 = param_01.var_11159;
self.var_2274[var_03] = param_00;
self.var_2274[var_02] = param_01;
self.var_2274[var_02].var_11159 = var_02;
self.var_2274[var_03].var_11159 = var_03;
}
//Function Number: 2
func_1368E()
{
self endon("death");
self endon("removed from battleChatter");
while(self.var_9F6B)
{
wait(0.05);
}
}
//Function Number: 3
func_13636(param_00)
{
self endon("death");
param_00 endon("trigger");
self waittill("trigger");
param_00 notify("trigger");
}
//Function Number: 4
func_13634(param_00,param_01)
{
var_02 = getentarray(param_00,param_01);
var_03 = spawnstruct();
scripts\common\utility::array_thread(var_02,::func_13636,var_03);
var_03 waittill("trigger");
}
//Function Number: 5
func_65FB(param_00)
{
self endon("done");
param_00 waittill("trigger");
self notify("done");
}
//Function Number: 6
func_12DAC()
{
self notify("debug_color_update");
self endon("debug_color_update");
var_00 = self.var_12BA3;
self waittill("death");
level.var_4EBE[var_00] = undefined;
level notify("updated_color_friendlies");
}
//Function Number: 7
func_12DAB(param_00)
{
thread func_12DAC();
if(isdefined(self.var_EDAD))
{
level.var_4EBE[param_00] = self.var_EDAD;
}
else
{
level.var_4EBE[param_00] = undefined;
}
level notify("updated_color_friendlies");
}
//Function Number: 8
func_9938()
{
}
//Function Number: 9
func_BF01(param_00)
{
self notify("new_color_being_set");
self.var_BF06 = 1;
scripts\sp\_colors::func_AB3A();
self endon("new_color_being_set");
self endon("death");
waittillframeend;
waittillframeend;
if(isdefined(self.var_EDAD))
{
self.var_4BDF = level.var_4BE0[scripts\sp\_colors::func_7CE4()][self.var_EDAD];
if(isdefined(self.var_5955))
{
self.var_5955 = undefined;
}
else
{
thread scripts\sp\_colors::func_8467();
}
}
self.var_BF06 = undefined;
self notify("done_setting_new_color");
}
//Function Number: 10
func_65FA(param_00,param_01)
{
self endon(param_00);
wait(param_01);
}
//Function Number: 11
func_13764(param_00,param_01,param_02)
{
param_00 endon("done");
[[ param_01 ]](param_02);
param_00 notify("done");
}
//Function Number: 12
func_9022(param_00,param_01)
{
self endon("hint_print_timeout");
self endon("hint_print_remove");
param_01 endon("new_hint");
for(;;)
{
self.var_6AB8 = 1;
if((isdefined(level.var_8FE4) && [[ level.var_8FE4 ]]()) || param_01.var_4B7A != param_00)
{
break;
}
wait(0.05);
}
}
//Function Number: 13
func_9014(param_00)
{
wait(param_00);
self.var_6AB8 = 1;
self notify("hint_print_timeout");
}
//Function Number: 14
func_900D(param_00,param_01,param_02,param_03,param_04,param_05,param_06)
{
return param_00 + func_12DB(param_01,param_02,param_03,param_04,param_05,param_06);
}
//Function Number: 15
func_12DB(param_00,param_01,param_02,param_03,param_04,param_05)
{
var_06 = function_00D0();
if(level.player scripts\common\utility::func_9C70())
{
if((isdefined(level.var_DADB) && level.var_DADB) || isdefined(level.var_DADC) && level.var_DADC)
{
if(issubstr(var_06,"southpaw") || param_05 && issubstr(var_06,"legacy"))
{
return param_04;
}
return param_03;
}
if(issubstr(var_06,"southpaw") || param_05 && issubstr(var_06,"legacy"))
{
return param_02;
}
return param_01;
}
return param_00;
}
//Function Number: 16
func_12DC(param_00,param_01)
{
var_02 = param_01 + param_00;
var_03 = level.var_1274F[var_02];
level.var_8FE4 = var_03;
}
//Function Number: 17
func_12DD(param_00,param_01)
{
var_02 = param_01 + param_00;
var_03 = level.var_12750[var_02];
var_04 = scripts\sp\_utility::func_7B92();
var_04 sethudtutorialmessage(var_03);
}
//Function Number: 18
func_900E(param_00,param_01,param_02,param_03,param_04,param_05,param_06)
{
level notify("hint_change_config");
level endon("hint_change_config");
var_07 = func_12DB(param_01,param_02,param_03,param_04,param_05,param_06);
while(isdefined(level.var_4B80) && level.var_4B80)
{
var_08 = func_12DB(param_01,param_02,param_03,param_04,param_05,param_06);
if(var_08 != var_07)
{
var_07 = var_08;
func_12DC(var_07,param_00);
func_12DD(var_07,param_00);
}
scripts\common\utility::func_136F7();
}
}
//Function Number: 19
func_9021(param_00,param_01,param_02,param_03,param_04,param_05,param_06)
{
self notify("new_hint");
var_07 = gettime();
if(!isdefined(param_06))
{
param_06 = 0;
}
if(!isalive(self))
{
return;
}
scripts\sp\_utility::func_65E8("global_hint_in_use");
if(isdefined(self.var_4B7A))
{
if(self.var_4B7A == param_00)
{
return;
}
else
{
self.var_4B7A = param_00;
scripts\sp\_utility::func_65E1("global_hint_in_use");
wait(0.05);
}
}
self.var_4B7A = param_00;
scripts\sp\_utility::func_65E1("global_hint_in_use");
level.var_4B80 = 1;
level.var_8FE4 = param_01;
level endon("friendlyfire_mission_fail");
self sethudtutorialmessage(param_00);
var_08 = spawnstruct();
var_08.var_6AB8 = 0;
if(isdefined(param_05))
{
var_08 thread func_9014(param_05);
}
var_08 thread func_52AB();
var_08 thread func_52AC();
var_08 thread destroy_hint_on_c6_grab();
var_08 func_9022(param_00,self);
if(!scripts\common\utility::istrue(var_08.var_6AB8))
{
self clearhudtutorialmessage(1);
}
scripts\sp\_utility::func_135AF(var_07,param_06);
var_08 notify("removing_hint");
self.var_4B7A = undefined;
if(var_08.var_6AB8)
{
self clearhudtutorialmessage();
}
level.var_4B80 = 0;
scripts\sp\_utility::func_65DD("global_hint_in_use");
}
//Function Number: 20
func_52AB(param_00)
{
self endon("removing_hint");
level waittill("friendlyfire_mission_fail");
self.var_6AB8 = 1;
self notify("hint_print_remove");
}
//Function Number: 21
destroy_hint_on_c6_grab(param_00)
{
self endon("removing_hint");
for(;;)
{
if(!isdefined(level.player.var_B55B))
{
wait(0.05);
}
else if(!isdefined(level.player.var_B55B.var_B5FE))
{
wait(0.05);
}
else
{
break;
}
wait(0.05);
}
self.var_6AB8 = 1;
self notify("hint_print_remove");
}
//Function Number: 22
func_52AC(param_00)
{
self endon("removing_hint");
level.player waittill("death");
iprintlnbold(" ");
iprintlnbold(" ");
iprintlnbold(" ");
iprintlnbold(" ");
iprintlnbold(" ");
iprintlnbold(" ");
iprintlnbold(" ");
iprintlnbold(" ");
iprintlnbold(" ");
iprintlnbold(" ");
iprintlnbold(" ");
iprintlnbold(" ");
iprintlnbold(" ");
iprintlnbold(" ");
iprintlnbold(" ");
self.var_6AB8 = 1;
self notify("hint_print_remove");
}
//Function Number: 23
func_74DE(param_00)
{
self endon("death");
param_00 scripts\common\utility::waittill_either("function_done","death");
}
//Function Number: 24
func_74DF(param_00)
{
func_74DE(param_00);
if(!isdefined(self))
{
return 0;
}
if(!issentient(self))
{
return 1;
}
if(isalive(self))
{
return 1;
}
return 0;
}
//Function Number: 25
func_74DB(param_00,param_01,param_02,param_03,param_04,param_05,param_06)
{
self endon("death");
if(!isdefined(param_00.var_74D7))
{
param_00.var_74D7 = [];
}
param_00.var_74D7[param_00.var_74D7.size] = self;
thread func_74DC(param_00);
func_74D8(param_00);
if(isdefined(param_00) && isdefined(param_00.var_74D7))
{
self.var_74DA = 1;
self notify("function_stack_func_begun");
if(isdefined(param_06))
{
param_00 [[ param_01 ]](param_02,param_03,param_04,param_05,param_06);
}
else if(isdefined(param_05))
{
param_00 [[ param_01 ]](param_02,param_03,param_04,param_05);
}
else if(isdefined(param_04))
{
param_00 [[ param_01 ]](param_02,param_03,param_04);
}
else if(isdefined(param_03))
{
param_00 [[ param_01 ]](param_02,param_03);
}
else if(isdefined(param_02))
{
param_00 [[ param_01 ]](param_02);
}
else
{
param_00 [[ param_01 ]]();
}
if(isdefined(param_00) && isdefined(param_00.var_74D7))
{
param_00.var_74D7 = scripts\common\utility::func_22A9(param_00.var_74D7,self);
param_00 notify("level_function_stack_ready");
}
}
if(isdefined(self))
{
self.var_74DA = 0;
self notify("function_done");
}
}
//Function Number: 26
func_74DC(param_00)
{
self endon("function_done");
self waittill("death");
if(isdefined(param_00))
{
param_00.var_74D7 = scripts\common\utility::func_22A9(param_00.var_74D7,self);
param_00 notify("level_function_stack_ready");
}
}
//Function Number: 27
func_74D8(param_00)
{
param_00 endon("death");
self endon("death");
param_00 endon("clear_function_stack");
while(param_00.var_74D7[0] != self)
{
param_00 waittill("level_function_stack_ready");
}
}
//Function Number: 28
func_1362A(param_00,param_01)
{
if(isdefined(param_01))
{
param_01 endon("death");
}
self endon("death");
param_00 waittill("sounddone");
return 1;
}
//Function Number: 29
func_22D9(param_00,param_01,param_02)
{
func_22DA(param_00,param_01,param_02);
self.var_1187 = 0;
self notify("_array_wait");
}
//Function Number: 30
func_22DA(param_00,param_01,param_02)
{
param_00 endon(param_01);
param_00 endon("death");
if(isdefined(param_02))
{
wait(param_02);
return;
}
param_00 waittill(param_01);
}
//Function Number: 31
func_68CC(param_00)
{
if(param_00.var_C8FD.size == 0)
{
param_00.var_376B [[ param_00.var_74C2 ]]();
}
else if(param_00.var_C8FD.size == 1)
{
param_00.var_376B [[ param_00.var_74C2 ]](param_00.var_C8FD[0]);
}
else if(param_00.var_C8FD.size == 2)
{
param_00.var_376B [[ param_00.var_74C2 ]](param_00.var_C8FD[0],param_00.var_C8FD[1]);
}
else if(param_00.var_C8FD.size == 3)
{
param_00.var_376B [[ param_00.var_74C2 ]](param_00.var_C8FD[0],param_00.var_C8FD[1],param_00.var_C8FD[2]);
}
if(param_00.var_C8FD.size == 4)
{
param_00.var_376B [[ param_00.var_74C2 ]](param_00.var_C8FD[0],param_00.var_C8FD[1],param_00.var_C8FD[2],param_00.var_C8FD[3]);
}
if(param_00.var_C8FD.size == 5)
{
param_00.var_376B [[ param_00.var_74C2 ]](param_00.var_C8FD[0],param_00.var_C8FD[1],param_00.var_C8FD[2],param_00.var_C8FD[3],param_00.var_C8FD[4]);
}
}
//Function Number: 32
func_68CD(param_00)
{
if(param_00.var_C8FD.size == 0)
{
[[ param_00.var_74C2 ]]();
}
else if(param_00.var_C8FD.size == 1)
{
[[ param_00.var_74C2 ]](param_00.var_C8FD[0]);
}
else if(param_00.var_C8FD.size == 2)
{
[[ param_00.var_74C2 ]](param_00.var_C8FD[0],param_00.var_C8FD[1]);
}
else if(param_00.var_C8FD.size == 3)
{
[[ param_00.var_74C2 ]](param_00.var_C8FD[0],param_00.var_C8FD[1],param_00.var_C8FD[2]);
}
if(param_00.var_C8FD.size == 4)
{
[[ param_00.var_74C2 ]](param_00.var_C8FD[0],param_00.var_C8FD[1],param_00.var_C8FD[2],param_00.var_C8FD[3]);
}
if(param_00.var_C8FD.size == 5)
{
[[ param_00.var_74C2 ]](param_00.var_C8FD[0],param_00.var_C8FD[1],param_00.var_C8FD[2],param_00.var_C8FD[3],param_00.var_C8FD[4]);
}
}
//Function Number: 33
func_68CE(param_00,param_01)
{
if(!isdefined(param_00.var_376B))
{
return;
}
for(var_02 = 0;var_02 < param_01.size;var_02++)
{
param_01[var_02].var_376B endon(param_01[var_02].var_6317);
}
if(param_00.var_C8FD.size == 0)
{
param_00.var_376B [[ param_00.var_74C2 ]]();
}
else if(param_00.var_C8FD.size == 1)
{
param_00.var_376B [[ param_00.var_74C2 ]](param_00.var_C8FD[0]);
}
else if(param_00.var_C8FD.size == 2)
{
param_00.var_376B [[ param_00.var_74C2 ]](param_00.var_C8FD[0],param_00.var_C8FD[1]);
}
else if(param_00.var_C8FD.size == 3)
{
param_00.var_376B [[ param_00.var_74C2 ]](param_00.var_C8FD[0],param_00.var_C8FD[1],param_00.var_C8FD[2]);
}
if(param_00.var_C8FD.size == 4)
{
param_00.var_376B [[ param_00.var_74C2 ]](param_00.var_C8FD[0],param_00.var_C8FD[1],param_00.var_C8FD[2],param_00.var_C8FD[3]);
}
if(param_00.var_C8FD.size == 5)
{
param_00.var_376B [[ param_00.var_74C2 ]](param_00.var_C8FD[0],param_00.var_C8FD[1],param_00.var_C8FD[2],param_00.var_C8FD[3],param_00.var_C8FD[4]);
}
}
//Function Number: 34
func_13774(param_00,param_01)
{
self endon("all_funcs_ended");
self endon("any_funcs_aborted");
func_68CE(param_00,param_01);
self.var_C1--;
self notify("func_ended");
}
//Function Number: 35
func_13720(param_00,param_01)
{
self endon("all_funcs_ended");
self endon("any_funcs_aborted");
func_68CE(param_00,param_01);
self.var_1521--;
self notify("abort_func_ended");
}
//Function Number: 36
func_5767(param_00)
{
self endon("all_funcs_ended");
if(!param_00.size)
{
return;
}
var_01 = 0;
self.var_1521 = param_00.size;
var_02 = [];
scripts\common\utility::func_22A1(param_00,::func_13720,var_02);
for(;;)
{
if(self.var_1521 <= var_01)
{
break;
}
self waittill("abort_func_ended");
}
self notify("any_funcs_aborted");
}
//Function Number: 37
func_12688(param_00)
{
if(isdefined(self.var_143))
{
var_01 = anglestoforward(param_00.angles);
param_00.origin = param_00.origin + var_01 * self.var_143;
}
if(isdefined(self.var_267))
{
var_02 = anglestoright(param_00.angles);
param_00.origin = param_00.origin + var_02 * self.var_267;
}
if(isdefined(self.var_367))
{
var_03 = anglestoup(param_00.angles);
param_00.origin = param_00.origin + var_03 * self.var_367;
}
if(isdefined(self.var_13E48))
{
param_00 method_8004(self.var_13E48);
}
if(isdefined(self.var_CBE9))
{
param_00 method_8002(self.var_CBE9);
}
if(isdefined(self.var_E67D))
{
param_00 method_8003(self.var_E67D);
}
}
//Function Number: 38
func_5F8E(param_00,param_01,param_02,param_03,param_04)
{
self notify("start_dynamic_run_speed");
self endon("death");
self endon("stop_dynamic_run_speed");
self endon("start_dynamic_run_speed");
level endon("_stealth_spotted");
if(scripts\sp\_utility::func_65DF("_stealth_custom_anim"))
{
scripts\sp\_utility::func_65E8("_stealth_custom_anim");
}
if(!scripts\sp\_utility::func_65DF("dynamic_run_speed_stopped"))
{
scripts\sp\_utility::func_65E0("dynamic_run_speed_stopped");
scripts\sp\_utility::func_65E0("dynamic_run_speed_stopping");
}
else
{
scripts\sp\_utility::func_65DD("dynamic_run_speed_stopping");
scripts\sp\_utility::func_65DD("dynamic_run_speed_stopped");
}
self.var_E81D = "";
self.var_C3CB = self.var_BCD6;
thread func_10FE6();
var_05 = param_00 * param_00;
var_06 = param_01 * param_01;
var_07 = param_02 * param_02;
var_08 = param_03 * param_03;
for(;;)
{
wait(0.05);
var_09 = level.players[0];
foreach(var_0B in level.players)
{
if(distancesquared(var_09.origin,self.origin) > distancesquared(var_0B.origin,self.origin))
{
var_09 = var_0B;
}
}
var_0D = anglestoforward(self.angles);
var_0E = vectornormalize(var_09.origin - self.origin);
var_0F = vectordot(var_0D,var_0E);
var_10 = distancesquared(self.origin,var_09.origin);
var_11 = var_10;
if(isdefined(param_04))
{
var_12 = scripts\common\utility::getclosest(var_09.origin,param_04);
var_11 = distancesquared(var_12.origin,var_09.origin);
}
var_13 = 0;
if(isdefined(self.var_A905))
{
var_13 = [[ level.var_5EFB ]](self.var_A905,param_01);
}
else if(isdefined(self.var_A906))
{
var_13 = [[ level.var_5EFB ]](self.var_A906,param_01);
}
if(scripts\anim\utility::func_9D9B() && !self.var_5953)
{
self.var_BCD6 = 1;
}
if(var_10 < var_06 || var_0F > -0.25 || var_13)
{
func_5F8C("sprint");
wait(0.5);
continue;
}
else if(var_10 < var_05 || var_0F > -0.25)
{
func_5F8C("run");
wait(0.5);
continue;
}
else if(var_11 > var_07)
{
if(self.var_1491.var_BCC8 != "stop")
{
func_5F8C("stop");
wait(0.5);
}
continue;
}
else if(var_10 > var_08)
{
func_5F8C("jog");
wait(0.5);
continue;
}
}
}
//Function Number: 39
func_10FE6()
{
self endon("start_dynamic_run_speed");
self endon("death");
func_10FE7();
if(!self.var_5953)
{
self.var_BCD6 = self.var_C3CB;
}
if(isdefined(level.var_EC85["generic"]["DRS_run"]))
{
if(isarray(level.var_EC85["generic"]["DRS_run"]))
{
scripts\sp\_utility::func_F3CC("DRS_run");
}
else
{
scripts\sp\_utility::func_F3CB("DRS_run");
}
}
else
{
scripts\sp\_utility::func_417A();
}
self notify("stop_loop");
scripts\sp\_utility::func_65DD("dynamic_run_speed_stopping");
scripts\sp\_utility::func_65DD("dynamic_run_speed_stopped");
}
//Function Number: 40
func_10FE7()
{
level endon("_stealth_spotted");
self waittill("stop_dynamic_run_speed");
}
//Function Number: 41
func_5F8C(param_00)
{
if(self.var_E81D == param_00)
{
return;
}
self.var_E81D = param_00;
switch(param_00)
{
case "sprint":
if(scripts\anim\utility::func_9D9B() && !self.var_5953)
{
self.var_BCD6 = 1;
}
else if(!self.var_5953)
{
self.var_BCD6 = 1.15;
}
if(isarray(level.var_EC85["generic"]["DRS_sprint"]))
{
scripts\sp\_utility::func_F3CC("DRS_sprint");
}
else
{
scripts\sp\_utility::func_F3CB("DRS_sprint");
}
self notify("stop_loop");
scripts\sp\_utility::func_1F53();
scripts\sp\_utility::func_65DD("dynamic_run_speed_stopped");
break;
case "run":
if(!self.var_5953)
{
self.var_BCD6 = self.var_C3CB;
}
if(isdefined(level.var_EC85["generic"]["DRS_run"]))
{
if(isarray(level.var_EC85["generic"]["DRS_run"]))
{
scripts\sp\_utility::func_F3CC("DRS_run");
}
else
{
scripts\sp\_utility::func_F3CB("DRS_run");
}
}
else
{
scripts\sp\_utility::func_417A();
}
self notify("stop_loop");
scripts\sp\_utility::func_1F53();
scripts\sp\_utility::func_65DD("dynamic_run_speed_stopped");
break;
case "stop":
thread func_5F8F();
break;
case "jog":
if(!self.var_5953)
{
self.var_BCD6 = self.var_C3CB;
}
if(isdefined(level.var_EC85["generic"]["DRS_combat_jog"]))
{
if(isarray(level.var_EC85["generic"]["DRS_combat_jog"]))
{
scripts\sp\_utility::func_F3CC("DRS_combat_jog");
}
else
{
scripts\sp\_utility::func_F3CB("DRS_combat_jog");
}
}
else
{
scripts\sp\_utility::func_417A();
}
self notify("stop_loop");
scripts\sp\_utility::func_1F53();
scripts\sp\_utility::func_65DD("dynamic_run_speed_stopped");
break;
case "crouch":
break;
}
}
//Function Number: 42
func_5F8F()
{
self endon("death");
if(scripts\sp\_utility::func_65DB("dynamic_run_speed_stopped"))
{
return;
}
if(scripts\sp\_utility::func_65DB("dynamic_run_speed_stopping"))
{
return;
}
self endon("stop_dynamic_run_speed");
scripts\sp\_utility::func_65E1("dynamic_run_speed_stopping");
scripts\sp\_utility::func_65E1("dynamic_run_speed_stopped");
self endon("dynamic_run_speed_stopped");
var_00 = "DRS_run_2_stop";
lib_0B06::func_1EC8(self,"gravity",var_00);
scripts\sp\_utility::func_65DD("dynamic_run_speed_stopping");
while(scripts\sp\_utility::func_65DB("dynamic_run_speed_stopped"))
{
var_01 = "DRS_stop_idle";
thread lib_0B06::func_1ECC(self,var_01);
if(isdefined(level.var_EC85["generic"]["signal_go"]))
{
func_8A0B("go");
}
wait(randomfloatrange(12,20));
if(scripts\sp\_utility::func_65DF("_stealth_stance_handler"))
{
scripts\sp\_utility::func_65E8("_stealth_stance_handler");
}
self notify("stop_loop");
if(!scripts\sp\_utility::func_65DB("dynamic_run_speed_stopped"))
{
return;
}
if(isdefined(level.var_5F8D))
{
var_02 = scripts\common\utility::random(level.var_5F8D);
level thread scripts\sp\_utility::func_DBF3(var_02);
}
if(isdefined(level.var_EC85["generic"]["signal_go"]))
{
func_8A0B("go");
}
}
}
//Function Number: 43
func_8A0B(param_00,param_01,param_02,param_03)
{
var_04 = 1;
if(isdefined(param_01))
{
var_04 = !param_01;
}
if(isdefined(param_02))
{
level endon(param_02);
}
if(isdefined(param_03))
{
level waittill(param_03);
}
var_05 = "signal_" + param_00;
if(self.var_1491.var_D6A5 == "crouch")
{
var_05 = var_05 + "_crouch";
}
else if(self.script == "cover_right")
{
var_05 = var_05 + "_coverR";
}
else if(scripts\anim\utility::func_9D9B())
{
var_05 = var_05 + "_cqb";
}
if(var_04)
{
self method_82AE(scripts\sp\_utility::func_7ECF(var_05),1,0,1.1);
return;
}
lib_0B06::func_1EC7(self,var_05);
}
//Function Number: 44
func_764E()
{
return int(getdvar("g_speed"));
}
//Function Number: 45
func_764F(param_00)
{
function_01C5("g_speed",int(param_00));
}
//Function Number: 46
func_7647()
{
return level.player method_810B();
}
//Function Number: 47
func_7648(param_00)
{
level.player method_82B5(param_00);
}
//Function Number: 48
func_BCF0()
{
return self.var_BCF5;
}
//Function Number: 49
func_BCF3(param_00)
{
self.var_BCF5 = param_00;
self setmovespeedscale(param_00);
}
//Function Number: 50
func_2680()
{
if(scripts\common\utility::func_6E34("autosave_tactical_player_nade"))
{
return;
}
scripts\common\utility::flag_init("autosave_tactical_player_nade");
level.var_267E = 0;
function_014C("autosave_player_nade","+frag");
function_014C("autosave_player_nade","-smoke");
function_014C("autosave_player_nade","+smoke");
scripts\common\utility::array_thread(level.players,::func_267A);
}
//Function Number: 51
func_267A()
{
for(;;)
{
self waittill("autosave_player_nade");
scripts\common\utility::flag_set("autosave_tactical_player_nade");
thread func_267C();
scripts\common\utility::waittill_any_timeout_1(10,"autosave_grenade_thrown");
self notify("autosave_grenade_throw_timeout");
func_267D();
}
}
//Function Number: 52
func_267C()
{
self endon("autosave_grenade_throw_timeout");
self waittill("grenade_fire",var_00);
thread func_267B(var_00);
self notify("autosave_grenade_thrown");
}
//Function Number: 53
func_267D()
{
waittillframeend;
if(!level.var_267E)
{
scripts\common\utility::func_6E2A("autosave_tactical_player_nade");
}
}
//Function Number: 54
func_267B(param_00)
{
level.var_267E++;
param_00 scripts\common\utility::waittill_notify_or_timeout("death",10);
level.var_267E--;
func_267D();
}
//Function Number: 55
func_267F()
{
level notify("autosave_tactical_proc");
level endon("autosave_tactical_proc");
level thread scripts\sp\_utility::func_C12D("kill_save",5);
level endon("kill_save");
level endon("autosave_tactical_player_nade");
if(scripts\common\utility::flag("autosave_tactical_player_nade"))
{
scripts\common\utility::func_6E5C("autosave_tactical_player_nade",4);
if(scripts\common\utility::flag("autosave_tactical_player_nade"))
{
return;
}
}
var_00 = function_0072("axis");
foreach(var_02 in var_00)
{
if(isdefined(var_02.var_10C) && isplayer(var_02.var_10C))
{
return;
}
}
waittillframeend;
scripts\sp\_utility::func_2669();
}
//Function Number: 56
func_BDE6(param_00,param_01,param_02,param_03)
{
scripts\sp\_utility::func_BDEC(param_01);
level endon("stop_music");
wait(param_01);
thread scripts\sp\_utility::func_BDE5(param_00,undefined,param_02,param_03);
}
//Function Number: 57
func_BDE2(param_00,param_01,param_02,param_03,param_04,param_05)
{
scripts\sp\_utility::func_BDEC(param_02);
level endon("stop_music");
wait(param_02);
thread func_BDE1(param_00,param_01,undefined,param_03,param_04,param_05);
}
//Function Number: 58
func_BDE1(param_00,param_01,param_02,param_03,param_04,param_05)
{
if(isdefined(param_02) && param_02 > 0)
{
thread func_BDE2(param_00,param_01,param_02,param_03,param_04,param_05);
return;
}
scripts\sp\_utility::func_BDEC();
level endon("stop_music");
scripts\sp\_utility::func_BDF2(param_00,param_03,param_04);
if(isdefined(param_05) && param_05 == 1 && scripts\common\utility::func_6E34("_stealth_spotted"))
{
level endon("_stealth_spotted");
thread func_BDE4(param_00,param_01,param_02);
}
var_06 = scripts\sp\_utility::func_BDF1(param_00);
if(!isdefined(param_01))
{
param_01 = 1;
}
if(param_01 <= 10)
{
var_06 = var_06 + param_01;
}
wait(var_06);
scripts\sp\_utility::func_BDDF(param_00,param_01,param_02,param_03,param_04);
}
//Function Number: 59
func_BDE4(param_00,param_01,param_02)
{
level endon("stop_music");
scripts\common\utility::flag_wait("_stealth_spotted");
function_0146(0.5);
while(scripts\common\utility::flag("_stealth_spotted"))
{
scripts\common\utility::func_6E5A("_stealth_spotted");
wait(1);
}
thread scripts\sp\_utility::func_BDDF(param_00,param_01,param_02);
}
//Function Number: 60
func_5AAD(param_00,param_01,param_02)
{
self endon("death");
self endon("stop_sliding");
var_03 = self;
var_04 = undefined;
var_05 = param_00.origin;
var_06 = param_00.origin;
var_07 = undefined;
for(;;)
{
var_08 = var_03 getnormalizedmovement();
var_09 = anglestoforward(var_03.angles);
var_0A = anglestoright(var_03.angles);
var_08 = (var_08[1] * var_0A[0] + var_08[0] * var_09[0],var_08[1] * var_0A[1] + var_08[0] * var_09[1],0);
param_00.slidevelocity = param_00.slidevelocity + var_08 * param_01;
var_03.var_7601.origin = param_00.origin + anglestoforward(param_00.var_77BA.angles) * 400;
wait(0.05);
param_00.slidevelocity = param_00.slidevelocity * 1 - param_02;
}
}
//Function Number: 61
func_A5CF(param_00)
{
self endon("death");
if(isdefined(param_00))
{
wait(randomfloat(param_00));
}
playfxontag(scripts\common\utility::getfx("flesh_hit"),self,"tag_eye");
self method_81D0(level.player.origin);
}
//Function Number: 62
func_12E1F(param_00,param_01)
{
self endon("death");
var_02 = 0;
for(;;)
{
if(self.var_99E5 > 0.0001 && gettime() > 300)
{
if(!var_02)
{
self method_8244(param_01);
var_02 = 1;
}
}
else if(var_02)
{
self stoprumble(param_01);
var_02 = 0;
}
var_03 = 1 - self.var_99E5;
var_03 = var_03 * 1000;
self.origin = param_00 geteye() + (0,0,var_03);
wait(0.05);
}
}
//Function Number: 63
func_D961(param_00,param_01,param_02,param_03,param_04)
{
waittillframeend;
if(!isdefined(self.var_10B89))
{
self.var_10B89 = 0;
}
if(!isdefined(self.var_62A3))
{
self.var_62A3 = 1;
}
if(!isdefined(self.var_2857))
{
self.var_2857 = 0;
}
var_05 = self.time * 20;
var_06 = self.var_62A3 - self.var_10B89;
self.var_10FCB = 0;
if(isdefined(param_04))
{
for(var_07 = 0;var_07 <= var_05 && !self.var_10FCB;var_07++)
{
var_08 = self.var_2857 + var_07 * var_06 / var_05;
param_01 thread [[ param_00 ]](var_08,param_02,param_03,param_04);
wait(0.05);
}
return;
}
if(isdefined(var_05))
{
for(var_07 = 0;var_07 <= var_05 && !self.var_10FCB;var_07++)
{
var_08 = self.var_2857 + var_07 * var_06 / var_05;
param_01 thread [[ param_00 ]](var_08,param_02,param_03);
wait(0.05);
}
return;
}
if(isdefined(param_04))
{
for(var_07 = 0;var_07 <= var_05 && !self.var_10FCB;var_07++)
{
var_08 = self.var_2857 + var_07 * var_06 / var_05;
param_01 thread [[ param_00 ]](var_08,param_02);
wait(0.05);
}
return;
}
for(var_07 = 0;var_07 <= var_05 && !self.var_10FCB;var_07++)
{
var_08 = self.var_2857 + var_07 * var_06 / var_05;
param_01 thread [[ param_00 ]](var_08);
wait(0.05);
}
}
//Function Number: 64
func_78D1()
{
var_00 = "allies";
if(isdefined(self.var_ED34))
{
var_00 = "axis";
}
var_00 = scripts\sp\_colors::func_7CE4(var_00);
var_01 = [];
if(var_00 == "allies")
{
var_02 = scripts\sp\_colors::func_78D9(self.var_ED33,"allies");
var_01 = var_02["colorCodes"];
}
else
{
var_02 = scripts\sp\_colors::func_78D9(self.var_ED34,"axis");
var_01 = var_02["colorCodes"];
}
var_03 = [];
var_03["team"] = var_00;
var_03["codes"] = var_01;
return var_03;
}
//Function Number: 65
func_50E5(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07)
{
self endon("death");
self endon("stop_delay_thread");
wait(param_01);
if(isdefined(param_07))
{
childthread [[ param_00 ]](param_02,param_03,param_04,param_05,param_06,param_07);
return;
}
if(isdefined(param_06))
{
childthread [[ param_00 ]](param_02,param_03,param_04,param_05,param_06);
return;
}
if(isdefined(param_05))
{
childthread [[ param_00 ]](param_02,param_03,param_04,param_05);
return;
}
if(isdefined(param_04))
{
childthread [[ param_00 ]](param_02,param_03,param_04);
return;
}
if(isdefined(param_03))
{
childthread [[ param_00 ]](param_02,param_03);
return;
}
if(isdefined(param_02))
{
childthread [[ param_00 ]](param_02);
return;
}
childthread [[ param_00 ]]();
}
//Function Number: 66
func_6E7D(param_00,param_01,param_02,param_03,param_04,param_05,param_06)
{
self endon("death");
scripts\common\utility::flag_wait(param_01[0]);
scripts\common\utility::func_512D(param_00,param_01[1],param_02,param_03,param_04,param_05,param_06);
}
//Function Number: 67
func_13844(param_00,param_01,param_02,param_03,param_04,param_05,param_06)
{
self endon("death");
self waittill(param_01[0]);
scripts\common\utility::func_512D(param_00,param_01[1],param_02,param_03,param_04,param_05,param_06);
}
//Function Number: 68
func_178E()
{
level notify("kill_add_wait_asserter");
level endon("kill_add_wait_asserter");
for(var_00 = 0;var_00 < 20;var_00++)
{
waittillframeend;
}
}
//Function Number: 69
func_12D95()
{
}
//Function Number: 70
func_4461(param_00,param_01,param_02,param_03)
{
if(!param_01.size)
{
return undefined;
}
if(isdefined(param_02))
{
var_04 = undefined;
var_05 = getarraykeys(param_01);
for(var_06 = 0;var_06 < var_05.size;var_06++)
{
var_07 = distance(param_01[var_05[var_06]].var_13125["origin"],param_00);
if([[ param_03 ]](var_07,param_02))
{
continue;
}
param_02 = var_07;
var_04 = param_01[var_05[var_06]];
}
return var_04;
}
var_05 = getarraykeys(var_05);
var_04 = var_04[var_07[0]];
var_04 = distance(var_07.var_13125["origin"],param_02);
for(var_06 = 1;var_06 < var_04.size;var_06++)
{
var_07 = distance(param_01[var_04[var_06]].var_13125["origin"],param_00);
if([[ param_03 ]](var_07,param_02))
{
continue;
}
param_02 = var_07;
var_05 = param_01[var_04[var_06]];
}
return var_05;
}
//Function Number: 71
func_13816()
{
for(;;)
{
self waittill("trigger",var_00);
waittillframeend;
if(var_00.var_4BF7 == self)
{
return var_00;
}
}
}
//Function Number: 72
func_1789()
{
self.var_1274A = [];
self waittill("trigger",var_00);
var_01 = self.var_1274A;
self.var_1274A = undefined;
foreach(var_03 in var_01)
{
thread [[ var_03 ]](var_00);
}
}
//Function Number: 73
func_1778(param_00)
{
if(!isdefined(level.var_EC91[param_00]))
{
level.var_EC91[param_00] = param_00;
}
}
//Function Number: 74
func_1773(param_00)
{
if(!isdefined(level.var_EC8E[param_00]))
{
level.var_EC8E[param_00] = param_00;
}
}
//Function Number: 75
func_175F(param_00)
{
if(!isdefined(level.var_EC85[self.var_1FBB]))
{
level.var_EC85[self.var_1FBB] = [];
}
if(!isdefined(level.scr_sound[self.var_1FBB]))
{
level.scr_sound[self.var_1FBB] = [];
}
if(!isdefined(level.scr_sound[self.var_1FBB][param_00]))
{
level.scr_sound[self.var_1FBB][param_00] = param_00;
}
}
//Function Number: 76
func_1760(param_00)
{
if(!isdefined(level.scr_sound["generic"]))
{
level.scr_sound["generic"] = [];
}
if(!isdefined(level.scr_sound["generic"][param_00]))
{
level.scr_sound["generic"][param_00] = param_00;
}
}
//Function Number: 77
func_1287(param_00,param_01)
{
self endon("death");
for(;;)
{
self waittill("trigger",var_02);
scripts\common\utility::flag_set(param_00);
if(!param_01)
{
return;
}
while(var_02 istouching(self))
{
wait(0.05);
}
scripts\common\utility::func_6E2A(param_00);
}
}
//Function Number: 78
func_7615(param_00,param_01)
{
param_00.var_75BA = 1;
if(!isdefined(param_01))
{
param_01 = 0;
}
if(param_01)
{
func_22D4(param_00.var_7542,::scripts\common\utility::func_C9CF);
return;
}
scripts\common\utility::array_thread(param_00.var_7542,::scripts\common\utility::func_C9CF);
}
//Function Number: 79
func_22D4(param_00,param_01,param_02)
{
var_03 = 0;
if(!isdefined(param_02))
{
param_02 = 5;
}
var_04 = [];
foreach(var_06 in param_00)
{
var_04[var_04.size] = var_06;
var_03++;
var_03 = var_03 % param_02;
if(param_02 == 0)
{
scripts\common\utility::array_thread(var_04,param_01);
wait(0.05);
var_04 = [];
}
}
}
//Function Number: 80
func_28D9(param_00)
{
level endon("battlechatter_off_thread");
scripts\anim\battlechatter::func_29C1();
while(!isdefined(level.var_3D4B))
{
wait(0.05);
}
anim.var_29B7 = 1;
wait(1.5);
if(isdefined(param_00))
{
scripts\sp\_utility::func_F2DC(param_00,1);
var_01 = function_0072(param_00);
}
else
{
foreach(param_00 in level.var_115E7)
{
scripts\sp\_utility::func_F2DC(param_00,1);
}
var_01 = function_0072();
}
if(isdefined(level.var_A056) && isdefined(level.var_A056.var_1630))
{
var_01 = scripts\common\utility::array_combine(var_01,level.var_A056.var_1630);
}
for(var_04 = 0;var_04 < var_01.size;var_04++)
{
var_01[var_04] scripts\sp\_utility::func_F2DA(1);
}
}
//Function Number: 81
func_517B(param_00,param_01)
{
param_00 endon("death");
self waittill("death");
if(isdefined(param_00))
{
if(param_00 method_81CB())
{
param_00 waittill(param_01);
}
param_00 delete();
}
}
//Function Number: 82
func_F3A7(param_00,param_01)
{
thread scripts\sp\_utility::func_F3A5(param_00,param_01,::scripts\sp\_utility::func_61B8,"set_flag_on_spawned");
}
//Function Number: 83
func_636E()
{
self waittill("death");
waittillframeend;
self notify("end_explode");
}
//Function Number: 84
func_13757(param_00)
{
self waittill("death");
param_00.var_C1--;
param_00 notify("waittill_dead guy died");
}
//Function Number: 85
func_13756(param_00)
{
scripts\common\utility::waittill_either("death","pain_death");
param_00.var_C1--;
param_00 notify("waittill_dead_guy_dead_or_dying");
}
//Function Number: 86
func_13758(param_00)
{
wait(param_00);
self notify("thread_timed_out");
}
//Function Number: 87
dyndof_thread()
{
level endon("stop_dynDOF");
for(;;)
{
var_00 = dyndof_distance();
if(var_00 > -1)
{
dyndof_set(var_00);
}
wait(0.05);
}
}
//Function Number: 88
dyndof_set(param_00)
{
var_01 = 800;
var_02 = param_00 / var_01;
var_03 = level.dyndof.nearstart * var_02;
var_04 = level.dyndof.nearend * var_02;
var_05 = level.dyndof.farstart * var_02;
var_06 = level.dyndof.farend * var_02;
var_04 = var_03 + level.dyndof.nearend - level.dyndof.nearstart * var_02;
var_04 = clamp(var_04,level.dyndof.nearendmindist,level.dyndof.nearendmaxdist);
var_06 = var_05 + level.dyndof.farend - level.dyndof.farstart * var_02;
scripts\sp\_art::func_583F(var_03,var_04,level.dyndof.nearblur,var_05,var_06,level.dyndof.farblur,level.dyndof.focusspeed);
}
//Function Number: 89
dyndof_distance()
{
var_00 = level.dyndof.maxfocusdist * 0.5;
var_01 = 20;
var_02 = dyndof_getplayerangles();
var_03 = dyndof_getplayerorigin() + anglestoforward(var_02) * var_00;
if(level.dyndof.prevorigin == var_03 && level.dyndof.prevangles == var_02)
{
return -1;
}
level.dyndof.prevorigin = var_03;
level.dyndof.prevangles = var_02;
var_02 = [];
var_04 = 3;
var_02[var_02.size] = (var_04 * -1,0,0);
var_02[var_02.size] = (0,var_04,0);
var_02[var_02.size] = (0,var_04 * -1,0);
var_02[var_02.size] = (0,0,0);
var_05 = [];
foreach(var_07 in var_02)
{
var_08 = dyndof_trace_internal(var_07);
if(!isdefined(var_08))
{
continue;
}
var_05[var_05.size] = var_08[0];
}
if(var_05.size == 0)
{
return level.dyndof.maxfocusdist;
}
var_09 = 0;
var_0A = var_05[var_09];
for(var_0B = 1;var_0B < var_05.size;var_0B++)
{
if(var_05[var_0B]["fraction"] < var_0A["fraction"])
{
var_0A = var_05[var_0B];
}
}
return level.dyndof.maxfocusdist * var_0A["fraction"];
}
//Function Number: 90
dyndof_trace_internal(param_00)
{
param_00 = combineangles(dyndof_getplayerangles(),param_00);
var_01 = dyndof_getplayerorigin();
var_02 = dyndof_getplayerorigin() + anglestoforward(param_00) * level.dyndof.maxfocusdist;
return function_0287(var_01,var_02,level.dyndof.var_457D,[level.player],1,"physicsquery_closest",0);
}
//Function Number: 91
dyndof_getplayerorigin()
{
if(level.player islinked())
{
var_00 = level.player getlinkedparent();
if(isdefined(var_00.dyndof_hastag))
{
if(var_00.dyndof_hastag)
{
return var_00 gettagorigin("tag_camera");
}
}
else if(isdefined(var_00.model))
{
if(scripts\sp\_utility::func_8C32(var_00.model,"tag_camera"))
{
var_00.dyndof_hastag = 1;
}
else
{
var_00.dyndof_hastag = 0;
}
}
}
return level.player method_816E();
}
//Function Number: 92
dyndof_getplayerangles()
{
var_00 = level.player getplayerangles();
return var_00;
}
//Function Number: 93
create_dyndof()
{
var_00 = spawnstruct();
var_00.maxfocusdist = -15536;
var_00.focusspeed = 0.3;
var_00.var_457D = get_dyndof_contents();
var_00.nearstart = 0;
var_00.nearend = 500;
var_00.nearblur = 5;
var_00.farstart = 2000;
var_00.farend = 5000;
var_00.farblur = 5;
var_00.nearendmindist = 30;
var_00.nearendmaxdist = 1000;
var_00.farendmindist = 200;
var_00.farendmaxdist = var_00.maxfocusdist;
var_00.prevangles = (0,0,0);
var_00.prevorigin = (0,0,0);
return var_00;
}
//Function Number: 94
destroy_dyndof()
{
level.dyndof = undefined;
}
//Function Number: 95
get_dyndof_contents()
{
var_00 = ["physicscontents_actor","physicscontents_canshootclip","physicscontents_clipshot","physicscontents_corpse","physicscontents_corpseclipshot","physicscontents_detail","physicscontents_foliage","physicscontents_item","physicscontents_itemclip","physicscontents_mantle","physicscontents_player","physicscontents_solid","physicscontents_structural","physicscontents_vehicle","physicscontents_vehicleclip","physicscontents_water"];
return physics_createcontents(var_00);
}