Files
IL-GSC/WW2/PC/ALL/1375.gsc
2023-10-27 03:49:01 -04:00

1196 lines
24 KiB
Plaintext

/*******************************************************************
* Decompiled By: Bog
* Decompiled File: 1375.gsc
* Game: Call of Duty: WWII
* Platform: PC
* Function Count: 64
* Decompile Time: 36 ms
* Timestamp: 10/27/2023 3:25:52 AM
*******************************************************************/
//Function Number: 1
func_00D5()
{
level.var_A41["zombie_boss_village"] = level.var_A41["zombie"];
level.var_A41["zombie_boss_village"]["spawn"] = ::func_AB7D;
level.var_A41["zombie_boss_village"]["think"] = ::func_AB7E;
level.var_A41["zombie_boss_village"]["move_mode"] = ::func_AB6C;
level.var_A41["zombie_boss_village"]["post_model"] = ::func_AB6F;
level.var_A41["zombie_boss_village"]["on_damaged"] = ::func_AB6D;
level.var_A41["zombie_boss_village"]["on_killed"] = ::func_AB6E;
level.var_A41["zombie_boss_village"]["tesla_delayed_dmg"] = ::zombie_boss_village_tesla_delayed_dmg;
var_00 = spawnstruct();
var_00.var_A4B = "zombie_boss_village";
var_00.var_EAE = "zombie_boss_animclass";
var_00.var_879 = "zombie_boss";
var_00.var_5ED2["default look"]["whole_body"] = "zom_brute_b_base";
var_00.var_1144["whole_body"] = "zom_klaus_wholebody";
var_00.var_4C12 = 1;
var_00.var_60E2 = 30;
var_00.var_8302 = 200;
var_00.var_8303 = 60;
var_00.parenttype = "zombie_generic";
if(isdefined(level.var_62AB))
{
var_00 = [[ level.var_62AB ]](var_00);
}
lib_0547::func_A52(var_00,"zombie_boss_village");
level.animtree_lookup["zombie_boss"] = #animtree;
level.var_5A8A = [];
var_01 = function_027A("mp/zombieKlausActionTable.csv");
for(var_02 = 0;var_02 < var_01;var_02++)
{
var_03 = tablelookupbyrow("mp/zombieKlausActionTable.csv",var_02,1);
var_04 = strtok(tablelookupbyrow("mp/zombieKlausActionTable.csv",var_02,2)," ");
if(isdefined(var_03) && var_03 != "")
{
level.var_5A8A[var_03] = var_04;
}
}
level.var_611["zmb_brute_drool"] = loadfx("vfx/zombie/zmb_brute_drool");
}
//Function Number: 2
func_AB6D(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A)
{
if(!isdefined(param_01) || param_05 == "turretweapon_zeppelin_gun_zm" && common_scripts\utility::func_562E(self.var_A87C))
{
return;
}
param_01 thread maps\mp\gametypes\_damagefeedback::func_A102("standard");
self notify("brute_boss_damage",param_02,param_05);
}
//Function Number: 3
func_AB6E(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08)
{
lib_054D::func_6BD4(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08);
}
//Function Number: 4
func_AB6C()
{
if(self.var_8BA4 && !isdefined(self.var_1928) && !common_scripts\utility::func_562E(self.var_9E1B))
{
return "run";
}
return "walk";
}
//Function Number: 5
zombie_boss_village_tesla_delayed_dmg(param_00,param_01,param_02)
{
return param_00;
}
//Function Number: 6
func_AB65(param_00,param_01)
{
func_7678(param_00,0,param_01);
}
//Function Number: 7
func_AB66(param_00,param_01)
{
func_7678(param_00,0,param_01,0,undefined,undefined,::func_1CC3,"attack");
}
//Function Number: 8
func_1CC3(param_00)
{
self notify("brute_smash_starting");
self endon("brute_smash_starting");
var_01 = "";
while(var_01 != param_00)
{
self waittill("scripted_anim",var_01);
}
var_02 = self gettagorigin("J_Wrist_RI");
playfx(level.var_611["zmb_brute_slam"],var_02,anglestoforward(self.var_1D),anglestoup(self.var_1D));
foreach(var_04 in level.var_744A)
{
var_05 = distance(self.var_116,var_04.var_116);
if(var_05 < 1)
{
var_05 = 1;
}
if(var_05 <= 192)
{
var_04 shellshock("frag_grenade_mp",1.25);
var_04 dodamage(150 / var_05 + 30,self.var_116,self,self,"MOD_GRENADE");
}
}
}
//Function Number: 9
func_AB67(param_00,param_01)
{
func_7678(param_00,0,param_01,0,undefined,undefined,::func_1CC3,"attack");
}
//Function Number: 10
func_AB63(param_00,param_01)
{
func_7678(param_00,0,param_01);
}
//Function Number: 11
func_AB62(param_00,param_01)
{
func_7678(param_00,0,param_01);
}
//Function Number: 12
func_AB68(param_00,param_01,param_02)
{
func_7678(param_00,0,undefined,1,param_01,param_02);
}
//Function Number: 13
func_AB69(param_00)
{
self notify("show an uber battery");
self endon("returning to arena");
var_01 = common_scripts\utility::func_46B7("brute_exit_destination","targetname");
var_02 = common_scripts\utility::func_4461(self.var_116,var_01);
self.var_1928 = var_02;
var_03 = common_scripts\utility::func_46B7("brute_roar_point","targetname");
var_04 = 1;
while(var_04)
{
foreach(var_06 in var_03)
{
if(distance(self.var_116,var_06.var_116) < 128)
{
var_04 = 0;
break;
}
}
wait(0.15);
}
func_7678("brute_roar_leaving");
}
//Function Number: 14
func_AB64(param_00)
{
self notify("returning to arena");
var_01 = common_scripts\utility::func_46B7("brute_exit_destination","targetname");
var_02 = func_44C9(var_01,256);
if(var_02.size > 0)
{
var_03 = common_scripts\utility::func_7A33(var_02);
}
else
{
var_03 = common_scripts\utility::func_7A33(var_02);
}
self setorigin(var_03.var_116 + (0,0,8));
self.var_1D = var_03.var_1D;
var_04 = common_scripts\utility::func_46B5("final_brute_boss","targetname");
self.var_1928 = var_04;
self.var_9E1B = 1;
self waittill("traverse_end");
self.var_9E1B = 0;
self.var_1928 = undefined;
func_AB75();
}
//Function Number: 15
func_AB7B()
{
func_AB7A();
self waittill("brute_unstunned",var_00,var_01);
return [var_00,var_01];
}
//Function Number: 16
func_AB6A(param_00,param_01)
{
thread func_A6B5(param_01);
func_7678(param_00,0,undefined,1,"brute_stunned",param_01);
self.var_3ACE sethintstring(&"ZOMBIES_EMPTY_STRING");
}
//Function Number: 17
func_AB79()
{
self notify("set brute behavior","scripted_brute_exit_traversal");
}
//Function Number: 18
func_AB72()
{
self notify("set brute behavior","scripted_brute_entrance_traversal");
}
//Function Number: 19
func_AB74()
{
self notify("set brute behavior","brute_standing_attack");
}
//Function Number: 20
func_AB76()
{
self notify("set brute behavior","brute_hulk_smash");
}
//Function Number: 21
func_AB77()
{
self notify("set brute behavior","brute_hulk_smash_180");
}
//Function Number: 22
func_AB71()
{
self notify("set brute behavior","brute_standing_attack_180");
}
//Function Number: 23
func_AB73()
{
self notify("set brute behavior","brute_walking_attack");
}
//Function Number: 24
func_AB78()
{
self notify("set brute behavior","brute_idle");
}
//Function Number: 25
func_AB7A()
{
self notify("set brute behavior","brute_stun_start");
}
//Function Number: 26
func_AB75()
{
self notify("set brute behavior","brute_unlock_state");
}
//Function Number: 27
killstreakscaler()
{
self waittill("set brute behavior",var_00);
return var_00;
}
//Function Number: 28
func_27A2(param_00,param_01,param_02)
{
var_03 = spawnstruct();
var_03.var_95AA = param_00;
var_03.var_73D7 = param_01;
var_03.var_AC1A = param_02;
return var_03;
}
//Function Number: 29
func_AB70()
{
self endon("death");
thread func_115A();
var_00 = 200;
var_01 = var_00;
var_02 = var_00;
var_03 = 10000;
var_04 = 150;
var_05 = func_27A2("J_Mid_LE_3",var_01,var_02);
var_06 = func_27A2("J_Mid_RI_3",var_01,var_02);
var_07 = func_27A2("tag_origin",var_03,var_04);
var_08 = [var_05,var_06];
var_09 = common_scripts\utility::func_F73(var_08,[var_07]);
var_0A = ["brute_unlock_state","scripted_brute_exit_traversal","scripted_brute_entrance_traversal","brute_idle","brute_stun_start"];
var_0B = 0;
var_0C = "";
wait 0.05;
func_7678("brute_roar_recovering",0,undefined);
for(;;)
{
var_0D = killstreakscaler();
self.var_AB5C = var_0D;
if(var_0B && common_scripts\utility::func_F79(var_0A,var_0D))
{
self notify("brute behavior was unlocked");
var_0B = 0;
}
if(!var_0B)
{
switch(var_0D)
{
case "brute_walking_attack":
var_0E = spawnstruct();
var_0E.var_596D = var_09;
var_0E.var_67E9 = "stop charge damage";
if(common_scripts\utility::func_562E(self.var_8BA4))
{
var_0D = "brute_running_attack";
}
childthread func_AB62(var_0D,var_0E);
break;
case "brute_stun_start":
var_0B = 1;
var_0C = "stunned";
childthread func_AB6A(var_0D,"brute_unstunned");
break;
case "brute_idle":
var_0B = 1;
var_0C = "waiting";
childthread func_AB68(var_0D,"brute_idle","scripted_brute_entrance_traversal");
break;
case "scripted_brute_exit_traversal":
var_0B = 1;
var_0C = "leaving";
childthread func_AB69(var_0D);
break;
case "scripted_brute_entrance_traversal":
var_0B = 1;
var_0C = "returning";
childthread func_AB64(var_0D);
break;
case "brute_standing_attack":
var_0E = spawnstruct();
var_0E.var_596D = var_08;
var_0E.var_67E9 = "stop forward swing";
childthread func_AB65(var_0D,var_0E);
break;
case "brute_hulk_smash":
var_0E = spawnstruct();
var_0E.var_596D = var_08;
var_0E.var_67E9 = "stop ground pound";
childthread func_AB66(var_0D,var_0E);
break;
case "brute_hulk_smash_180":
var_0E = spawnstruct();
var_0E.var_596D = var_08;
var_0E.var_67E9 = "stop ground pound_180";
childthread func_AB67(var_0D,var_0E);
break;
case "brute_standing_attack_180":
var_0E = spawnstruct();
var_0E.var_596D = var_09;
var_0E.var_67E9 = "stop backhand swing";
childthread func_AB63(var_0D,var_0E);
break;
}
continue;
}
}
}
//Function Number: 30
func_7678(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07)
{
self notify("brute_change_actions");
self endon("brute_change_actions");
self endon("death");
if(self.var_A4B != "zombie_boss_village")
{
return;
}
var_08 = param_00;
var_09 = maps/mp/agents/_scripted_agent_anim_util::func_434D(var_08);
var_0A = self method_83DB(var_09);
var_0B = randomint(var_0A);
self method_839C("anim deltas");
self scragentsetorientmode("face angle abs",self.var_1D);
self scragentsetscripted(1);
self.var_1BB = 1;
if(common_scripts\utility::func_562E(param_01))
{
self method_839D("noclip");
}
else
{
self method_839D("gravity");
}
if(isdefined(param_02))
{
foreach(var_0D in param_02.var_596D)
{
childthread func_3203(var_0D,param_02.var_67E9);
}
}
if(isdefined(param_06))
{
self childthread [[ param_06 ]](param_07);
}
if(!common_scripts\utility::func_562E(param_03))
{
maps/mp/agents/_scripted_agent_anim_util::func_71FA(var_09,var_0B,1,"scripted_anim");
}
else
{
func_309A(param_00,param_04,param_05);
}
if(common_scripts\utility::func_562E(param_01))
{
self method_839D("gravity");
}
if(isdefined(param_02))
{
self notify(param_02.var_67E9);
}
self scragentsetscripted(0);
self notify("brute finished scripted state");
}
//Function Number: 31
func_309A(param_00,param_01,param_02)
{
self endon("death");
var_03 = func_43FA(param_00);
var_04 = spawnstruct();
var_04.var_8B58 = 0;
childthread func_49E8(var_04,param_02);
self.var_55A6 = 1;
for(var_05 = 0;var_05 < var_03.size;var_05++)
{
var_06 = var_03[var_05];
var_07 = maps/mp/agents/_scripted_agent_anim_util::func_434D(var_06);
var_08 = maps/mp/agents/_scripted_agent_anim_util::func_7A35(var_07);
if(var_03[var_05] == param_01)
{
childthread maps/mp/agents/_scripted_agent_anim_util::func_71FA(var_07,var_08,1,"scripted_anim");
while(!var_04.var_8B58)
{
lib_0547::func_A6F6();
}
continue;
}
maps/mp/agents/_scripted_agent_anim_util::func_71FA(var_07,var_08,1,"scripted_anim");
}
self.var_55A6 = 0;
}
//Function Number: 32
func_49E8(param_00,param_01)
{
self waittill(param_01);
param_00.var_8B58 = 1;
}
//Function Number: 33
func_1CB8()
{
self endon("death");
var_00 = 0;
if(common_scripts\utility::func_562E(self.var_55A6) || maps/mp/agents/_scripted_agent_anim_util::func_57E2())
{
return 0;
}
var_01 = func_40E4();
if(var_01.var_8F15 || var_01.var_6895 > 0)
{
if(var_01.var_6891 > var_01.var_687E)
{
if(common_scripts\utility::func_24A6())
{
func_AB74();
}
else
{
func_AB76();
}
}
else
{
func_AB77();
}
var_00 = 1;
}
else if(var_01.var_6895 > 0 && var_01.var_6891 < var_01.var_687E)
{
func_AB71();
var_00 = 1;
}
else if(var_01.var_688D > 0 && var_01.var_6891 > 0)
{
if(func_1CC7())
{
func_AB73();
var_00 = 1;
}
else
{
var_00 = 0;
}
}
return var_00;
}
//Function Number: 34
func_1CC5()
{
wait(4);
for(;;)
{
wait(0.1);
var_00 = func_40E4();
if(var_00.var_688D + var_00.var_6897 == func_6873() && !common_scripts\utility::func_562E(self.var_8BA4))
{
if(!common_scripts\utility::func_562E(self.var_203F))
{
thread func_93BF(5);
}
continue;
}
if(self.var_8BA4 && var_00.var_6895 > 0)
{
thread func_1F35();
}
}
}
//Function Number: 35
func_93BF(param_00)
{
self endon("cancel_brute_run");
self.var_8BA4 = 1;
wait(param_00);
self.var_8BA4 = 0;
self.var_203F = 1;
wait(4);
self.var_203F = 0;
}
//Function Number: 36
func_1F35()
{
self notify("cancel_brute_run");
self.var_8BA4 = 0;
}
//Function Number: 37
func_40E4()
{
var_00 = spawnstruct();
var_00.var_8F15 = 0;
var_00.var_6897 = 0;
var_00.var_6895 = 0;
var_00.var_688D = 0;
var_00.var_6891 = 0;
var_00.var_687E = 0;
foreach(var_02 in level.var_744A)
{
if(distance(var_02.var_116,self.var_116) < 50)
{
var_00.var_8F15 = 1;
}
else if(distance(var_02.var_116,self.var_116) < 256)
{
var_00.var_6895++;
}
else if(distance(var_02.var_116,self.var_116) < 768)
{
var_00.var_688D++;
}
else
{
var_00.var_6897++;
}
if(var_02 lib_053C::func_5724(self))
{
var_00.var_6891++;
continue;
}
var_00.var_687E++;
}
var_00.var_6873 = func_6873();
return var_00;
}
//Function Number: 38
func_6873()
{
var_00 = 0;
foreach(var_02 in level.var_744A)
{
if(isalive(var_02) && !var_02.var_5378)
{
var_00++;
}
}
return var_00;
}
//Function Number: 39
func_115A()
{
var_00 = getentarray("nest_brute_uber_inserts","targetname");
while(self.var_106 == "tag_origin")
{
wait 0.05;
}
foreach(var_02 in var_00)
{
var_02 method_805B();
var_02.var_116 = self gettagorigin(var_02.var_165) + func_425D(var_02.var_165);
var_02 linktoblendtotag(self,var_02.var_165);
}
var_00 thread func_1CCD(self);
}
//Function Number: 40
func_425D(param_00)
{
var_01 = (0,0,0);
switch(param_00)
{
case "J_Knee_LE":
var_01 = (8,8,-8);
break;
case "J_Knee_RI":
var_01 = (-8,-8,-8);
break;
case "J_SpineLower":
var_01 = (0,16,0);
break;
}
return var_01;
}
//Function Number: 41
func_1CCD(param_00)
{
var_01 = [undefined,undefined,undefined];
foreach(var_03 in self)
{
var_01[var_03.var_8140 - 1] = var_03;
var_03 method_8511();
}
param_00.var_1CCF = var_01;
foreach(var_03 in var_01)
{
param_00 waittill("show an uber battery");
var_03 method_805B();
playfxontag(level.var_611["gk_raven_hc_ee_uber_attached"],var_03,"tag_origin");
var_03 lib_0378::func_8D74("uber_battery_spawn");
}
}
//Function Number: 42
func_44C9(param_00,param_01)
{
var_02 = [];
foreach(var_04 in param_00)
{
foreach(var_06 in level.var_744A)
{
if(distance(var_04.var_116,var_06.var_116) < param_01)
{
var_02 = common_scripts\utility::func_F6F(var_02,var_04);
}
}
}
return var_02;
}
//Function Number: 43
func_43FA(param_00)
{
var_01 = [];
switch(param_00)
{
case "brute_stun_start":
var_01 = ["brute_stun_start","brute_stunned","brute_stun_end","brute_roar_leaving"];
break;
case "brute_idle":
var_01 = ["brute_idle"];
break;
default:
break;
}
return var_01;
}
//Function Number: 44
func_A6B5(param_00)
{
wait(2.25);
thread func_94BF(2,param_00);
self endon(param_00);
var_01 = undefined;
for(var_02 = 0;!var_02;var_02 = var_01 lib_0585::func_9E12("Blimp Battery Hunt"))
{
self.var_3ACE sethintstring(&"ZOMBIE_NEST_PLACE_UBER");
self.var_3ACE waittill("trigger",var_01);
}
self notify(param_00,1,var_01);
}
//Function Number: 45
func_1CC6()
{
level thread maps\mp\_utility::func_6F74(::func_A0EB,self);
}
//Function Number: 46
func_A0EB(param_00)
{
if(!isdefined(param_00))
{
return;
}
param_00 endon("death");
func_863C(param_00.var_3ACE,self,0);
for(;;)
{
var_01 = common_scripts\utility::func_A715("uber_gained","uber_lost");
if(!isalive(self))
{
continue;
}
if(var_01 == "uber_gained")
{
if(lib_0586::func_72C3())
{
func_863C(param_00.var_3ACE,self,1);
}
continue;
}
if(var_01 == "uber_lost")
{
func_863C(param_00.var_3ACE,self,0);
}
}
}
//Function Number: 47
func_863C(param_00,param_01,param_02)
{
if(isdefined(param_00))
{
param_00 [[ common_scripts\utility::func_98E7(param_02,::enableplayeruse,::disableplayeruse) ]](param_01);
}
}
//Function Number: 48
func_94BF(param_00,param_01)
{
self endon(param_01);
if(level.var_744A.size == 1)
{
param_00 = param_00 + 3;
}
lib_0555::func_83DD("brute_stun");
while(param_00 > 0)
{
param_00--;
wait(1);
}
lib_0555::func_83DD("brute_awake");
self notify(param_01,0);
}
//Function Number: 49
func_1CC7(param_00)
{
if(func_A271(self))
{
return 1;
}
return 0;
}
//Function Number: 50
func_3203(param_00,param_01)
{
self endon("brute_change_actions");
self endon(param_01);
self endon("death");
var_02 = [];
var_03 = param_00.var_95AA;
var_04 = param_00.var_73D7;
var_05 = param_00.var_AC1A;
for(;;)
{
var_06 = [];
if(var_05 > 0)
{
var_07 = lib_0547::func_408F();
var_07 = common_scripts\utility::func_F93(var_07,self);
var_06 = common_scripts\utility::func_F73(var_06,var_07);
}
if(var_04 > 0)
{
var_06 = common_scripts\utility::func_F73(var_06,level.var_744A);
}
foreach(var_09 in var_06)
{
var_0A = common_scripts\utility::func_98E7(isplayer(var_09),var_04,var_05);
var_0B = self gettagorigin(var_03);
if(!common_scripts\utility::func_F79(var_02,var_09) && distance(var_0B,var_09.var_116) < 64)
{
var_09 dodamage(var_0A,var_0B,self,self,"MOD_IMPACT");
var_02 = common_scripts\utility::func_F6F(var_02,var_09);
}
}
wait 0.05;
}
}
//Function Number: 51
func_AB6B(param_00)
{
var_01 = self;
var_01 endon("death");
var_02 = var_01 method_8445(param_00);
if(var_02 == -1)
{
return;
}
var_03 = spawnstruct();
var_03.var_116 = var_01 gettagorigin(param_00);
var_03.var_1D = var_01.var_1D;
var_03.var_2F74 = 1;
var_04 = spawnstruct();
var_04.var_2434 = 30;
var_04.var_60C1 = 60;
var_04.var_3A20 = 90;
var_04.var_1B70 = 82;
var_01 childthread lib_0547::tackle_thread(var_03,var_04);
for(;;)
{
wait(0.1);
if(!isdefined(var_01.var_AB5C))
{
continue;
}
var_03.var_116 = var_01 gettagorigin(param_00);
var_03.var_1D = var_01.var_1D;
var_03.var_2F74 = !common_scripts\utility::func_F79(["scripted_brute_exit_traversal","scripted_brute_entrance_traversal","brute_standing_attack","brute_standing_attack_180","brute_walking_attack","brute_up_stairs","brute_down_stairs"],var_01.var_AB5C);
}
}
//Function Number: 52
func_AB6F()
{
foreach(var_01 in ["j_ball_le","j_ball_ri"])
{
thread func_AB6B(var_01);
}
}
//Function Number: 53
func_AB7D(param_00,param_01,param_02)
{
lib_054D::func_6BD7(param_00,param_01,param_02);
self.var_90DC = "zombie_boss_village";
}
//Function Number: 54
func_AB7C()
{
var_00 = 48;
var_01 = 200;
self method_856C(var_00,var_01);
self.var_BD = var_01;
self.var_14F = var_00;
self method_85A1("zombie_boss_village");
self method_84D4();
self.var_FB = 100000;
self.var_BC = self.var_FB;
self.var_6816 = 1;
self.var_56EB = 1;
if(!common_scripts\utility::func_562E(level.var_AC14))
{
thread func_AB70();
}
self.var_5D5F = 1;
self.var_57E8 = 1;
self.var_8BA4 = 0;
self.var_1DEB = 1;
self method_839F(func_4399());
thread func_AB5B();
thread func_1CBE();
}
//Function Number: 55
func_1CBE()
{
wait 0.05;
playfxontag(level.var_611["zmb_brute_drool"],self,"J_Head");
}
//Function Number: 56
func_AB5B()
{
var_00 = "tag_origin";
var_01 = lib_0547::func_A51("zombie_boss_village");
var_02 = spawn("script_model",self.var_116);
var_02 setmodel(var_01.var_1144["whole_body"]);
var_02.var_1D = self gettagangles(var_00);
var_02 linkto(self,var_00);
self.var_5A9C = var_02;
self.var_1142 = ::func_84F1;
}
//Function Number: 57
func_84F1(param_00,param_01,param_02,param_03)
{
if(!isdefined(self) || !isdefined(self.var_5A9C))
{
return;
}
self notify("set_klaus_state");
self endon("set_klaus_state");
var_04 = param_00;
if(!isdefined(param_01))
{
var_05 = self method_83D9();
var_06 = self method_83DB(param_00);
for(var_07 = 0;var_07 < var_06;var_07++)
{
var_08 = self method_83D9(param_00,var_07);
if(var_08 == var_05)
{
param_01 = var_07;
break;
}
}
}
if(isdefined(self.var_5A9C.var_EE8) && self.var_5A9C.var_EE8 == var_04 && isdefined(self.var_5A9C.var_EC1) && self.var_5A9C.var_EC1 == param_01)
{
return;
}
var_09 = undefined;
var_0A = level.var_5A8A[var_04][param_01];
wait 0.05;
self.var_5A9C scriptmodelclearanim();
self.var_5A9C scriptmodelplayanim(var_0A);
self.var_5A9C.var_EE8 = var_04;
self.var_5A9C.var_EC4 = var_0A;
self.var_5A9C.var_EC1 = param_01;
}
//Function Number: 58
func_AB7E()
{
func_AB7C();
self endon("death");
level endon("game_ended");
self endon("owner_disconnect");
lib_0566::func_ABB5();
var_00 = 0.2;
childthread func_1CC5();
self.var_117D = 4;
self.var_1F0F = 1;
for(;;)
{
wait(var_00);
var_01 = isdefined(self.var_92EA) && gettime() * 0.001 < self.var_92EA;
self.var_50C5 = common_scripts\utility::func_562E(self.var_54F4) || var_01;
if(self.var_1F0F && !self.var_50C5)
{
if(self.var_117D < 0 && func_1CB8())
{
thread func_1160(2);
continue;
}
else if(self.var_117D > 0)
{
self.var_117D = self.var_117D - var_00;
}
}
if(lib_053C::func_4F9B())
{
continue;
}
if(lib_053C::func_4F9A())
{
continue;
}
lib_053C::func_647();
}
}
//Function Number: 59
func_1160(param_00)
{
self.var_1F0F = 0;
self.var_117D = param_00;
common_scripts\utility::knock_off_battery("brute finished scripted state","brute behavior was unlocked");
self.var_1F0F = 1;
}
//Function Number: 60
func_5725(param_00)
{
var_01 = 65536;
var_02 = 65536;
var_03 = self.var_1D;
var_04 = self gettagorigin("tag_origin");
var_05 = var_04 + var_03 * 1000;
if(!isdefined(param_00) || !isalive(param_00))
{
return 0;
}
var_06 = param_00.var_116 + (0,0,64);
var_07 = distancesquared(var_04,var_06);
if(var_07 > var_01)
{
return 0;
}
var_08 = vectornormalize(var_06 - var_04);
var_09 = vectordot(var_03,var_08);
if(0 > var_09)
{
return 0;
}
var_0A = pointonsegmentnearesttopoint(var_04,var_05,var_06);
if(distancesquared(var_06,var_0A) > var_02)
{
return 0;
}
if(0 == param_00 method_81D7(var_04,self))
{
return 0;
}
if(var_07 < var_01)
{
return 1;
}
return 0;
}
//Function Number: 61
func_A271(param_00)
{
var_01 = (0,0,16);
var_02 = 650;
var_03 = 5;
var_04 = [];
var_05 = [];
var_06 = func_A01F(param_00.var_1D);
var_07 = 0;
var_08 = var_02 / var_03;
var_09 = 0;
var_0A = [];
for(var_0B = 0;var_0B < var_03;var_0B++)
{
if(var_0B > 0)
{
var_0C = var_04[var_0B - 1] + var_01;
}
else
{
var_0C = param_00.var_116 + var_01;
}
var_0D = var_0C + var_06 * var_08;
var_0E = getclosestpointonnavmesh(var_0D,param_00) + var_01;
var_0F = func_6CC9(var_0D,var_0E);
var_10 = bullettrace(var_0C,var_0F,0);
var_04 = common_scripts\utility::func_F6F(var_04,var_0F);
if(var_10["fraction"] != 1)
{
var_07 = 1;
break;
}
}
return !var_07;
}
//Function Number: 62
func_A01F(param_00)
{
var_01 = anglestoforward(param_00);
var_01 = common_scripts\utility::func_3D5D(var_01);
var_01 = vectornormalize(var_01);
return var_01;
}
//Function Number: 63
func_6CC9(param_00,param_01)
{
return (param_00[0],param_00[1],param_01[2]);
}
//Function Number: 64
func_4399()
{
var_00 = 0.15;
var_01 = var_00 * 3.14 * 2 * 0.05;
return var_01;
}