mirror of
https://github.com/InfinityLoader/IL-GSC.git
synced 2025-06-07 17:17:50 -05:00
1601 lines
32 KiB
Plaintext
1601 lines
32 KiB
Plaintext
/*******************************************************************
|
|
* Decompiled By: Bog
|
|
* Decompiled File: 1371.gsc
|
|
* Game: Call of Duty: WWII
|
|
* Platform: PC
|
|
* Function Count: 56
|
|
* Decompile Time: 76 ms
|
|
* Timestamp: 10/27/2023 3:25:50 AM
|
|
*******************************************************************/
|
|
|
|
//Function Number: 1
|
|
func_00D5()
|
|
{
|
|
if(!isdefined(level.scaretable))
|
|
{
|
|
level.scaretable = "mp/zombieJumpScareTable.csv";
|
|
}
|
|
|
|
var_00 = getentarray("zombie_fall_ambush","targetname");
|
|
setdvarifuninitialized("drop_js_lead_time",-1);
|
|
setdvarifuninitialized("drop_js_cam_jump",-1);
|
|
setdvarifuninitialized("drop_js_cam_jump_need_look",-1);
|
|
setdvarifuninitialized("drop_js_debug",-1);
|
|
setdvarifuninitialized("drop_js_height",-1);
|
|
setdvarifuninitialized("drop_js_affect_all_players",-1);
|
|
setdvarifuninitialized("drop_js_fall_quicker",-1);
|
|
setdvarifuninitialized("drop_js_dist",-1);
|
|
foreach(var_02 in var_00)
|
|
{
|
|
var_02 thread func_347E();
|
|
}
|
|
|
|
level.var_2F29 = 0;
|
|
var_04 = getentarray("valve","script_noteworthy");
|
|
func_AA30(var_04);
|
|
}
|
|
|
|
//Function Number: 2
|
|
func_AA36(param_00)
|
|
{
|
|
self.var_75F0 = param_00;
|
|
foreach(var_02 in self.var_75EF)
|
|
{
|
|
setnavlinkenabled(var_02,param_00);
|
|
}
|
|
}
|
|
|
|
//Function Number: 3
|
|
func_AA35(param_00,param_01,param_02)
|
|
{
|
|
func_AA36(1);
|
|
var_03 = 10;
|
|
var_04 = 30;
|
|
var_05 = 0.5;
|
|
var_06 = 15;
|
|
var_07 = 75;
|
|
var_08 = 1;
|
|
var_09 = self.var_5978;
|
|
if(isdefined(self.var_AA3B) || isdefined(self.var_AA39))
|
|
{
|
|
if(isdefined(self.var_AA3B))
|
|
{
|
|
var_08 = function_01CB(self.var_AA3B);
|
|
var_09 = getglassorigin(self.var_AA3B);
|
|
}
|
|
else if(isdefined(self.var_AA39))
|
|
{
|
|
var_09 = self.var_AA39.var_116;
|
|
}
|
|
|
|
if(isdefined(self.var_AA39))
|
|
{
|
|
self.var_AA39 delete();
|
|
physicsexplosionsphere(var_09,var_04,var_03,var_05);
|
|
if(isdefined(self.var_AA3A))
|
|
{
|
|
foreach(var_0B in self.var_AA3A)
|
|
{
|
|
var_0B delete();
|
|
}
|
|
}
|
|
}
|
|
|
|
glassradiusdamage(var_09,var_04,var_07,var_06);
|
|
}
|
|
|
|
param_01 lib_0378::func_8D74("window_jumpscare",param_00,self.var_5978,var_08);
|
|
if(param_02)
|
|
{
|
|
param_01 thread func_598A();
|
|
param_01 setangles(vectortoangles(self.var_5978 - param_01 geteye()));
|
|
}
|
|
}
|
|
|
|
//Function Number: 4
|
|
func_AA33(param_00,param_01,param_02,param_03)
|
|
{
|
|
var_04 = self;
|
|
switch(param_00)
|
|
{
|
|
case "breach":
|
|
var_04.var_186 func_AA35(var_04,var_04.var_5979,var_04.var_597A);
|
|
break;
|
|
}
|
|
}
|
|
|
|
//Function Number: 5
|
|
func_AA34(param_00)
|
|
{
|
|
self endon("death");
|
|
var_01 = 0.2;
|
|
wait(param_00 - var_01);
|
|
maps/mp/agents/_scripted_agent_anim_util::func_8732(0,"ZomWindowScare");
|
|
self scragentsetscripted(0);
|
|
self method_839D("gravity");
|
|
}
|
|
|
|
//Function Number: 6
|
|
func_AA2E(param_00,param_01)
|
|
{
|
|
func_5976(param_00);
|
|
var_02 = lib_054D::func_90BA("zombie_generic",self,"window jumpscare",0,1,1);
|
|
var_03 = self.var_8109;
|
|
var_04 = var_02 maps/mp/agents/_scripted_agent_anim_util::func_434D(var_03);
|
|
var_02.var_5979 = param_00;
|
|
var_02.var_597A = param_01;
|
|
var_02 thread maps/mp/agents/humanoid/_humanoid_util::func_8318(var_02.var_116,var_02.var_1D,var_04,undefined,1,::func_AA33,1);
|
|
var_05 = common_scripts\utility::func_46B7("window_shatter","targetname");
|
|
var_06 = undefined;
|
|
foreach(var_08 in var_05)
|
|
{
|
|
if(distance(var_02.var_116,var_08.var_116) <= 100)
|
|
{
|
|
if(isdefined(self.var_AA3B) && !function_01CB(self.var_AA3B))
|
|
{
|
|
playfx(level.var_611["zmb_window_shatter_01"],var_08.var_116,anglestoforward(var_08.var_1D));
|
|
var_06 = var_08.var_116;
|
|
}
|
|
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 7
|
|
func_8CAA(param_00)
|
|
{
|
|
if(!isdefined(param_00))
|
|
{
|
|
return;
|
|
}
|
|
|
|
var_01 = anglestoforward(self.var_1D);
|
|
var_02 = vectorcross(var_01,param_00);
|
|
if(var_02[2] > 0)
|
|
{
|
|
var_03 = 1;
|
|
}
|
|
else
|
|
{
|
|
var_03 = -1;
|
|
}
|
|
|
|
for(;;)
|
|
{
|
|
var_01 = rotatevector(var_01,(0,0,5 * var_03));
|
|
self setangles(vectortoangles(var_01));
|
|
wait 0.05;
|
|
}
|
|
}
|
|
|
|
//Function Number: 8
|
|
func_5987()
|
|
{
|
|
if(isdefined(self.var_117))
|
|
{
|
|
self.var_117.var_5986 = undefined;
|
|
}
|
|
|
|
self.var_CA5 = 1;
|
|
if(isdefined(self.var_1A5))
|
|
{
|
|
if(self.var_1A5 == "sewage_jumpscare")
|
|
{
|
|
self delete();
|
|
}
|
|
}
|
|
|
|
if(isdefined(self.var_AA3B) || isdefined(self.var_AA39))
|
|
{
|
|
wait(30);
|
|
if(isdefined(self.var_AA3B))
|
|
{
|
|
deleteglass(self.var_AA3B);
|
|
self.var_AA3B = undefined;
|
|
}
|
|
|
|
if(isdefined(self.var_AA39))
|
|
{
|
|
self.var_AA39 delete();
|
|
self.var_AA39 = undefined;
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 9
|
|
func_AA2F(param_00)
|
|
{
|
|
var_01 = self.var_5978 - param_00 geteye();
|
|
var_02 = vectornormalize((var_01[0],var_01[1],0));
|
|
var_03 = anglestoforward(param_00.var_1D);
|
|
var_04 = vectornormalize((var_03[0],var_03[1],0));
|
|
var_05 = vectordot(var_02,var_04);
|
|
var_05 = clamp(var_05,-1,1);
|
|
var_06 = acos(var_05);
|
|
return var_06;
|
|
}
|
|
|
|
//Function Number: 10
|
|
func_AA31(param_00)
|
|
{
|
|
var_01 = param_00 < 40;
|
|
return var_01;
|
|
}
|
|
|
|
//Function Number: 11
|
|
func_AA32(param_00)
|
|
{
|
|
var_01 = func_AA2F(param_00);
|
|
var_02 = func_AA31(var_01);
|
|
return var_02;
|
|
}
|
|
|
|
//Function Number: 12
|
|
func_AA30(param_00)
|
|
{
|
|
var_01 = common_scripts\utility::func_46B7("jumpscare_spawner","targetname");
|
|
foreach(var_03 in var_01)
|
|
{
|
|
var_04 = common_scripts\utility::func_4461(var_03.var_116,param_00);
|
|
if(isdefined(var_04))
|
|
{
|
|
if(distance(var_04.var_116,var_03.var_116) > 100)
|
|
{
|
|
var_04 = undefined;
|
|
}
|
|
else
|
|
{
|
|
param_00 = common_scripts\utility::func_F93(param_00,var_03);
|
|
var_04.var_5986 = var_03;
|
|
var_03.var_117 = var_04;
|
|
}
|
|
}
|
|
|
|
var_05 = getnodesinradius(var_03.var_116,90,0,90);
|
|
var_03.var_75EF = [];
|
|
foreach(var_07 in var_05)
|
|
{
|
|
if(lib_0547::func_55C2(var_07))
|
|
{
|
|
var_03.var_75EF[var_03.var_75EF.size] = var_07;
|
|
}
|
|
}
|
|
|
|
var_03 func_AA36(0);
|
|
var_09 = getent(var_03.var_1A2,"targetname");
|
|
if(isdefined(var_09) && isdefined(var_09.var_165) && var_09.var_165 == "js_trigger")
|
|
{
|
|
var_03.var_597B = var_09;
|
|
}
|
|
|
|
var_0A = common_scripts\utility::func_46B5(var_03.var_1A2,"targetname");
|
|
if(isdefined(var_0A))
|
|
{
|
|
var_03.var_5978 = var_0A.var_116;
|
|
}
|
|
else
|
|
{
|
|
var_03.var_5978 = var_03.var_116;
|
|
}
|
|
|
|
var_0B = getglassarray("window_shatter");
|
|
if(isdefined(var_0B))
|
|
{
|
|
foreach(var_0D in var_0B)
|
|
{
|
|
var_0E = getglassorigin(var_0D);
|
|
if(distancesquared(var_03.var_116,var_0E) <= 10000)
|
|
{
|
|
var_03.var_AA3B = var_0D;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
var_10 = getentarray("window_shatter","targetname");
|
|
if(isdefined(var_10))
|
|
{
|
|
foreach(var_12 in var_10)
|
|
{
|
|
if(var_12.var_3A == "script_model" && distancesquared(var_03.var_116,var_12.var_116) <= 10000)
|
|
{
|
|
var_03.var_AA39 = var_12;
|
|
if(isdefined(var_12.var_1A2))
|
|
{
|
|
var_03.var_AA3A = getentarray(var_12.var_1A2,"targetname");
|
|
}
|
|
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
if(isdefined(var_03.var_117))
|
|
{
|
|
var_03 thread func_AA37();
|
|
continue;
|
|
}
|
|
|
|
if(isdefined(var_03.var_597B))
|
|
{
|
|
var_03 thread func_681B();
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 13
|
|
func_52E5(param_00,param_01)
|
|
{
|
|
if(!isdefined(param_00.var_5988))
|
|
{
|
|
param_00.var_5988 = [];
|
|
}
|
|
|
|
if(!isdefined(param_00.var_5988[param_01]))
|
|
{
|
|
param_00.var_5988[param_01] = 0;
|
|
}
|
|
}
|
|
|
|
//Function Number: 14
|
|
func_42A1(param_00,param_01)
|
|
{
|
|
func_52E5(param_00,param_01);
|
|
return param_00.var_5988[param_01];
|
|
}
|
|
|
|
//Function Number: 15
|
|
is_jumpscare_playerdata_disabled()
|
|
{
|
|
var_00 = common_scripts\utility::func_562E(level.disable_jumpscare_playerdata);
|
|
return var_00;
|
|
}
|
|
|
|
//Function Number: 16
|
|
func_42A0(param_00,param_01)
|
|
{
|
|
if(is_jumpscare_playerdata_disabled())
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
var_02 = param_00 getrankedplayerdata(common_scripts\utility::func_46A8(),"jumpScareTimesSeen",param_01);
|
|
return var_02;
|
|
}
|
|
|
|
//Function Number: 17
|
|
func_50F5(param_00,param_01)
|
|
{
|
|
func_52E5(param_00,param_01);
|
|
param_00.var_5988[param_01]++;
|
|
}
|
|
|
|
//Function Number: 18
|
|
func_50F4(param_00,param_01)
|
|
{
|
|
if(is_jumpscare_playerdata_disabled())
|
|
{
|
|
return;
|
|
}
|
|
|
|
var_02 = param_00 getrankedplayerdata(common_scripts\utility::func_46A8(),"jumpScareTimesSeen",param_01);
|
|
var_02++;
|
|
param_00.var_598C++;
|
|
if(var_02 <= 255)
|
|
{
|
|
param_00 setrankedplayerdata(common_scripts\utility::func_46A8(),"jumpScareTimesSeen",param_01,var_02);
|
|
}
|
|
}
|
|
|
|
//Function Number: 19
|
|
func_178C(param_00,param_01,param_02,param_03)
|
|
{
|
|
return common_scripts\utility::func_5D93(param_03,0,param_01,param_00,param_02);
|
|
}
|
|
|
|
//Function Number: 20
|
|
func_5977(param_00)
|
|
{
|
|
var_01 = func_41E1();
|
|
var_02 = level.scaretable;
|
|
var_03 = float(tablelookup(var_02,0,var_01,1));
|
|
var_04 = float(tablelookup(var_02,0,var_01,2));
|
|
var_05 = float(tablelookup(var_02,0,var_01,3));
|
|
var_06 = float(tablelookup(var_02,0,var_01,4));
|
|
var_07 = float(tablelookup(var_02,0,var_01,5));
|
|
var_08 = func_42A0(param_00,var_01);
|
|
var_09 = func_42A1(param_00,var_01);
|
|
var_0A = func_178C(var_03,var_06,var_07,var_08);
|
|
var_0B = func_178C(var_0A,var_04,var_05,var_09);
|
|
var_0C = randomfloat(1);
|
|
if(var_0C < var_03)
|
|
{
|
|
var_0D = 1;
|
|
}
|
|
else
|
|
{
|
|
var_0D = 0;
|
|
}
|
|
|
|
var_0E = 0;
|
|
if(isdefined(level.zmb_jumpscares_optional_cooldown_override))
|
|
{
|
|
var_0F = level.zmb_jumpscares_optional_cooldown_override;
|
|
}
|
|
else
|
|
{
|
|
var_0F = 10;
|
|
}
|
|
|
|
if(isdefined(level.var_5B2D) && gettime() - level.var_5B2D < 1000 * var_0F)
|
|
{
|
|
var_0E = 1;
|
|
var_0D = 0;
|
|
}
|
|
|
|
if(isdefined(self.var_8FA9) && self.var_8FA9 == "force_scare_always")
|
|
{
|
|
var_0D = 1;
|
|
}
|
|
|
|
if(common_scripts\utility::func_562E(param_00.var_569F))
|
|
{
|
|
var_0D = 0;
|
|
}
|
|
|
|
var_11 = lib_0547::func_AC4B(param_00.var_116,"jumpscare_roll");
|
|
var_11 lib_0547::func_AC47(param_00);
|
|
var_11 lib_0547::func_AC48("type",var_01);
|
|
var_11 lib_0547::func_AC43("chance",var_0B);
|
|
var_11 lib_0547::func_AC42("execute",var_0D);
|
|
var_11 lib_0547::func_AC4D();
|
|
return var_0D;
|
|
}
|
|
|
|
//Function Number: 21
|
|
set_optional_new_cooldown()
|
|
{
|
|
if(!isdefined(level.zmb_jumpscares_optional_cooldown_override_range))
|
|
{
|
|
return;
|
|
}
|
|
|
|
level.zmb_jumpscares_optional_cooldown_override = 60 * randomintrange(level.zmb_jumpscares_optional_cooldown_override_range[0],level.zmb_jumpscares_optional_cooldown_override_range[1]);
|
|
}
|
|
|
|
//Function Number: 22
|
|
func_5976(param_00)
|
|
{
|
|
level.var_5B2D = gettime();
|
|
set_optional_new_cooldown();
|
|
var_01 = func_41E1();
|
|
func_50F5(param_00,var_01);
|
|
func_50F4(param_00,var_01);
|
|
var_02 = lib_0547::func_AC4B(param_00.var_116,"jumpscare");
|
|
var_02 lib_0547::func_AC47(param_00);
|
|
var_02 lib_0547::func_AC48("type",var_01);
|
|
var_02 lib_0547::func_AC4D();
|
|
}
|
|
|
|
//Function Number: 23
|
|
func_681B()
|
|
{
|
|
level endon("game_ended");
|
|
func_84F0("window_no_valve");
|
|
var_00 = 0;
|
|
for(;;)
|
|
{
|
|
self.var_597B waittill("trigger",var_01);
|
|
if(!isplayer(var_01))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
var_02 = func_5977(var_01);
|
|
if(!var_02)
|
|
{
|
|
wait(1);
|
|
continue;
|
|
}
|
|
|
|
if(func_AA32(var_01))
|
|
{
|
|
thread func_AA2E(var_01,0);
|
|
if(var_00 == 0)
|
|
{
|
|
func_5987();
|
|
}
|
|
else
|
|
{
|
|
wait(var_00);
|
|
}
|
|
}
|
|
|
|
if(common_scripts\utility::func_562E(self.var_CA5))
|
|
{
|
|
break;
|
|
}
|
|
|
|
wait 0.05;
|
|
}
|
|
}
|
|
|
|
//Function Number: 24
|
|
func_AA37()
|
|
{
|
|
self endon("valve_complete");
|
|
func_84F0("window_valve");
|
|
var_00 = 0;
|
|
for(;;)
|
|
{
|
|
self waittill("valve_start",var_01);
|
|
self.var_6DB0 = "started";
|
|
var_02 = func_5977(var_01);
|
|
wait(1.5);
|
|
for(;;)
|
|
{
|
|
if(self.var_6DB0 == "stopped")
|
|
{
|
|
break;
|
|
}
|
|
|
|
if(var_02 && func_AA32(var_01))
|
|
{
|
|
thread func_AA2E(var_01,1);
|
|
if(var_00 == 0)
|
|
{
|
|
func_5987();
|
|
}
|
|
else
|
|
{
|
|
wait(var_00);
|
|
}
|
|
}
|
|
|
|
if(common_scripts\utility::func_562E(self.var_CA5))
|
|
{
|
|
break;
|
|
}
|
|
|
|
wait 0.05;
|
|
}
|
|
|
|
if(common_scripts\utility::func_562E(self.var_CA5))
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 25
|
|
func_5989()
|
|
{
|
|
self.var_6DB0 = "stopped";
|
|
}
|
|
|
|
//Function Number: 26
|
|
func_598A()
|
|
{
|
|
self playrumbleonentity("grenade_rumble");
|
|
earthquake(0.2,1.5,self.var_116,850,self);
|
|
}
|
|
|
|
//Function Number: 27
|
|
func_8A74()
|
|
{
|
|
self endon("end_jumpscare");
|
|
func_84F0("sewer_grate");
|
|
thread func_8A71();
|
|
self.var_CA5 = 0;
|
|
var_00 = 0;
|
|
var_01 = common_scripts\utility::func_44BE(self.var_1A2,"targetname");
|
|
foreach(var_03 in var_01)
|
|
{
|
|
if(!isdefined(var_03.var_165))
|
|
{
|
|
var_03.var_165 = "spawner";
|
|
}
|
|
|
|
switch(var_03.var_165)
|
|
{
|
|
case "spawner":
|
|
self.var_186 = var_03;
|
|
break;
|
|
|
|
case "lookat_pos":
|
|
self.var_5EC8 = var_03;
|
|
break;
|
|
}
|
|
}
|
|
|
|
if(isdefined(self.var_5EC8))
|
|
{
|
|
self.var_5978 = self.var_5EC8.var_116;
|
|
}
|
|
else
|
|
{
|
|
self.var_5978 = self.var_116;
|
|
}
|
|
|
|
if(!isdefined(self.var_186))
|
|
{
|
|
return;
|
|
}
|
|
|
|
for(;;)
|
|
{
|
|
self waittill("trigger",var_05);
|
|
if(!isplayer(var_05))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(!func_5977(var_05))
|
|
{
|
|
wait(1);
|
|
continue;
|
|
}
|
|
|
|
var_06 = var_05 geteye();
|
|
var_07 = var_05 geteyeangles();
|
|
var_08 = anglestoforward(var_07);
|
|
var_09 = vectornormalize(self.var_5978 - var_06);
|
|
if(vectordot(var_08,var_09) > 0.766)
|
|
{
|
|
thread func_8A72(var_05,self.var_116,self.var_1D);
|
|
if(var_00 == 0)
|
|
{
|
|
self notify("end_jumpscare");
|
|
break;
|
|
}
|
|
else
|
|
{
|
|
wait(var_00);
|
|
}
|
|
|
|
continue;
|
|
}
|
|
|
|
wait 0.05;
|
|
}
|
|
}
|
|
|
|
//Function Number: 28
|
|
func_8A71()
|
|
{
|
|
self waittill("end_jumpscare");
|
|
func_5987();
|
|
}
|
|
|
|
//Function Number: 29
|
|
func_8A72(param_00,param_01,param_02)
|
|
{
|
|
func_5976(param_00);
|
|
var_03 = 100;
|
|
var_04 = lib_054D::func_90BA("zombie_generic",undefined,"sewage jumpscare",0,1,1);
|
|
var_05 = "s2_grate_jumpscare";
|
|
var_06 = var_04 method_83D8(var_05,0);
|
|
var_07 = getanimlength(var_06);
|
|
var_08 = getstartorigin(param_01,param_02,var_06);
|
|
var_09 = getstartangles(param_01,param_02,var_06);
|
|
var_04 setorigin(var_08);
|
|
var_04.var_FB = int(var_04.var_FB * var_03);
|
|
var_04.var_BC = var_04.var_FB;
|
|
var_04 childthread lib_0547::func_AB18(var_07,1);
|
|
var_04 thread maps/mp/agents/humanoid/_humanoid_util::func_8318(var_08,var_09,var_05,undefined,0,undefined,1);
|
|
var_0A = param_01 + (0,0,-30);
|
|
param_00 lib_0378::func_8D74("sewage_jumpscare",var_04,var_0A);
|
|
var_04 maps/mp/agents/_scripted_agent_anim_util::func_A79F("scripted_anim","cam_shake");
|
|
var_0B = var_0A - param_00 geteye();
|
|
param_00 setangles(vectortoangles(var_0B));
|
|
param_00 thread func_598A();
|
|
}
|
|
|
|
//Function Number: 30
|
|
func_8A73()
|
|
{
|
|
self endon("end_jumpscare");
|
|
self method_805C();
|
|
for(;;)
|
|
{
|
|
self waittill("trigger",var_00);
|
|
if(!isplayer(var_00))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
var_01 = getentarray(self.var_1A5,"script_noteworthy");
|
|
foreach(var_03 in var_01)
|
|
{
|
|
var_03 notify("end_jumpscare");
|
|
}
|
|
|
|
break;
|
|
}
|
|
}
|
|
|
|
//Function Number: 31
|
|
func_9053(param_00,param_01)
|
|
{
|
|
func_84F0(param_00);
|
|
foreach(var_03 in common_scripts\utility::func_44BE(self.var_1A2,"targetname"))
|
|
{
|
|
if(!isdefined(var_03.var_165))
|
|
{
|
|
var_03.var_165 = "spawner";
|
|
}
|
|
|
|
switch(var_03.var_165)
|
|
{
|
|
case "spawner":
|
|
self.var_873 = var_03.var_8260;
|
|
self.var_8FA9 = var_03.var_81C7;
|
|
self.var_186 = var_03;
|
|
self.var_606E = var_03.var_818A;
|
|
break;
|
|
|
|
case "breach_destructible":
|
|
self.var_1B83 = var_03;
|
|
break;
|
|
|
|
case "ideal_player_pos":
|
|
self.var_502E = var_03;
|
|
break;
|
|
|
|
case "ideal_zombie_pos":
|
|
self.var_502F = var_03;
|
|
break;
|
|
|
|
case "lookat_pos":
|
|
self.var_5EC8 = var_03;
|
|
break;
|
|
}
|
|
}
|
|
|
|
if(!isdefined(self.var_873) || !isdefined(self.var_186) || !isdefined(self.var_502E) || !isdefined(self.var_502E.var_8276) || !isdefined(self.var_502E.var_82E5) || !isdefined(self.var_502F) || !isdefined(self.var_5EC8) || !isdefined(self.var_5EC8.var_8276))
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(!isdefined(self.var_606E))
|
|
{
|
|
self.var_606E = 0;
|
|
}
|
|
|
|
self.var_CA5 = 0;
|
|
for(;;)
|
|
{
|
|
if(isdefined(self.var_81A1))
|
|
{
|
|
common_scripts\utility::func_3C9F(self.var_81A1);
|
|
}
|
|
|
|
self waittill("trigger",var_05);
|
|
if(!isplayer(var_05))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(isdefined(self.var_81A1) && !common_scripts\utility::func_3C77(self.var_81A1))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
while(isdefined(var_05) && var_05 istouching(self))
|
|
{
|
|
var_06 = var_05 getvelocity();
|
|
var_07 = var_05 geteye() + self.var_502E.var_82E5 * var_06;
|
|
if(self.var_606E > 0)
|
|
{
|
|
var_08 = vectortoangles(self.var_502E.var_116 - self.var_186.var_116)[1];
|
|
var_09 = vectortoangles(var_07 - self.var_186.var_116)[1];
|
|
var_0A = angleclamp180(var_09 - var_08);
|
|
var_0A = clamp(var_0A,0 - self.var_606E,self.var_606E);
|
|
var_0B = transformmove(self.var_186.var_116,(0,var_0A,0),self.var_186.var_116,(0,0,0),self.var_5EC8.var_116,self.var_5EC8.var_1D)["origin"];
|
|
var_0C = transformmove(self.var_186.var_116,(0,var_0A,0),self.var_186.var_116,(0,0,0),self.var_502E.var_116,self.var_502E.var_1D)["origin"];
|
|
}
|
|
else
|
|
{
|
|
var_0A = 0;
|
|
var_0B = self.var_5EC8.var_116;
|
|
var_0C = self.var_502E.var_116;
|
|
}
|
|
|
|
var_0D = distance2d(var_07,var_0C);
|
|
if(var_0D < self.var_502E.var_8276 && vectordot(vectornormalize(var_06),vectornormalize(var_0B - var_0C)) > 0.5)
|
|
{
|
|
var_10 = var_05 geteye() + self.var_502E.var_82E5 + 0.05 * var_06;
|
|
var_11 = distance2d(var_10,var_0C);
|
|
if(var_0D <= var_11)
|
|
{
|
|
var_12 = anglestoforward(var_05 geteyeangles());
|
|
if(lib_0547::func_3048(var_0B,var_07,var_07 + 9999 * var_12) < self.var_5EC8.var_8276 && vectordot(var_12,var_0B - var_07) > 0)
|
|
{
|
|
var_13 = 0;
|
|
foreach(var_15 in level.var_744A)
|
|
{
|
|
if(var_15 != var_05)
|
|
{
|
|
var_16 = var_15 geteye();
|
|
if(distance(var_16,var_0C) < 195 || vectordot(vectornormalize(var_0C - var_16),anglestoforward(var_15 geteyeangles())) > 0 && sighttracepassed(var_16,var_0C + (0,0,60),0,undefined) || sighttracepassed(var_16,self.var_186.var_116,0,undefined))
|
|
{
|
|
var_13 = 1;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
if(!var_13 && func_5977(var_05))
|
|
{
|
|
thread func_9052(param_01,var_05,var_0A);
|
|
var_18 = 0;
|
|
if(var_18)
|
|
{
|
|
wait(var_18);
|
|
}
|
|
else
|
|
{
|
|
self.var_CA2 = 1;
|
|
return;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
while(isdefined(var_05) && var_05 istouching(self))
|
|
{
|
|
wait(1);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
wait 0.05;
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 32
|
|
func_9052(param_00,param_01,param_02)
|
|
{
|
|
func_5976(param_01);
|
|
var_03 = lib_054D::func_90BA("zombie_generic",self.var_186,"jumpscare: " + func_41E1(),0,1,1);
|
|
param_01 lib_0378::func_8D74("simple_jump_scare",var_03);
|
|
var_03.var_5979 = param_01;
|
|
var_03.var_597A = 0;
|
|
level notify("jumpscare_triggered",param_01,var_03);
|
|
var_03 thread func_4A11(self,param_01,param_02);
|
|
param_01 thread func_598A();
|
|
if(isdefined(param_00))
|
|
{
|
|
var_03 thread [[ param_00 ]]();
|
|
}
|
|
|
|
if(isdefined(self.var_1B83))
|
|
{
|
|
var_03 thread func_4A12(self.var_1B83);
|
|
}
|
|
}
|
|
|
|
//Function Number: 33
|
|
func_4A11(param_00,param_01,param_02)
|
|
{
|
|
self.var_116 = param_00.var_186.var_116;
|
|
self.var_1D = param_00.var_186.var_1D + (0,param_02,0);
|
|
self scragentsetscripted(1);
|
|
maps/mp/agents/_scripted_agent_anim_util::func_8732(1,"handle_js_lerp");
|
|
self.var_53D9 = 1;
|
|
self method_839C("anim deltas");
|
|
self scragentsetorientmode("face angle abs",param_00.var_186.var_1D);
|
|
self method_839A(1,1);
|
|
self method_839D("noclip");
|
|
var_03 = maps/mp/agents/_scripted_agent_anim_util::func_434D(param_00.var_873);
|
|
var_04 = maps/mp/agents/_scripted_agent_anim_util::func_7A35(var_03);
|
|
var_05 = self method_83D8(var_03,var_04);
|
|
maps/mp/agents/_scripted_agent_anim_util::func_8415(var_03,var_04);
|
|
var_06 = getanimlength(var_05);
|
|
var_07 = maps/mp/agents/_scripted_agent_anim_util::func_45B9(var_05,"lerp_origin_begin",2);
|
|
var_08 = maps/mp/agents/_scripted_agent_anim_util::func_45B9(var_05,"lerp_origin_end",2);
|
|
var_09 = maps/mp/agents/_scripted_agent_anim_util::func_45B9(var_05,"lerp_angles_begin",2);
|
|
var_0A = maps/mp/agents/_scripted_agent_anim_util::func_45B9(var_05,"lerp_angles_end",2);
|
|
var_0B = maps/mp/agents/_scripted_agent_anim_util::func_45B9(var_05,"code_move",clamp(var_06 - 0.2 / var_06,0,1)) * var_06;
|
|
var_0C = undefined;
|
|
var_0D = 0;
|
|
var_0E = 0;
|
|
var_0F = param_00.var_502E.var_116;
|
|
var_10 = param_00.var_502E.var_1D;
|
|
var_11 = 0;
|
|
while(var_11 < var_0B && isalive(self))
|
|
{
|
|
waittillframeend;
|
|
var_12 = clamp(var_11 - 0.05 / var_06,0,1);
|
|
var_13 = var_11 / var_06;
|
|
if(isalive(param_01))
|
|
{
|
|
var_0F = param_01.var_116;
|
|
var_10 = param_01.var_1D;
|
|
}
|
|
|
|
var_14 = transformmove(param_00.var_186.var_116,param_00.var_186.var_1D,(0,0,0),(0,0,0),getmovedelta(var_05,0,var_13),getangledelta3d(var_05,0,var_13));
|
|
var_15 = transformmove(param_01.var_116,param_01.var_1D,param_00.var_502E.var_116,param_00.var_502E.var_1D,var_14["origin"],var_14["angles"]);
|
|
if(!isdefined(var_0C))
|
|
{
|
|
var_0C = param_00.var_186 common_scripts\utility::func_8FFC();
|
|
var_0C method_805C();
|
|
}
|
|
|
|
var_0C.var_116 = var_15["origin"];
|
|
var_0C.var_1D = var_15["angles"];
|
|
if(!self.var_D7)
|
|
{
|
|
var_0D = 1;
|
|
}
|
|
|
|
var_16 = var_13 >= var_07 && var_13 < var_08 && var_0D && isalive(param_01);
|
|
var_17 = var_13 >= var_09 && var_13 < var_0A && var_0D && isalive(param_01);
|
|
if(var_0D && abs(getmovedelta(var_05,var_12,var_13)[2]) < 1 && var_16 || var_17)
|
|
{
|
|
self method_839D("gravity");
|
|
var_0E = 1;
|
|
}
|
|
|
|
if(!var_0E)
|
|
{
|
|
var_16 = 0;
|
|
var_17 = 0;
|
|
}
|
|
|
|
if(var_16)
|
|
{
|
|
var_18 = 1;
|
|
}
|
|
else
|
|
{
|
|
var_18 = 9999;
|
|
}
|
|
|
|
if(var_17)
|
|
{
|
|
var_19 = 0.1;
|
|
}
|
|
else
|
|
{
|
|
var_19 = 9999;
|
|
}
|
|
|
|
self method_855A(var_18,var_19,var_0C,"tag_origin","tag_origin");
|
|
wait 0.05;
|
|
var_11 = var_11 + 0.05;
|
|
}
|
|
|
|
if(isalive(self))
|
|
{
|
|
maps/mp/agents/_scripted_agent_anim_util::func_8732(0,"handle_js_lerp");
|
|
self.var_53D9 = undefined;
|
|
lib_0547::func_84CB();
|
|
self scragentsetscripted(0);
|
|
}
|
|
|
|
var_0C delete();
|
|
}
|
|
|
|
//Function Number: 34
|
|
func_4A12(param_00)
|
|
{
|
|
self endon("death");
|
|
self waittillmatch("breach","scripted_anim");
|
|
param_00 setmodel(param_00.var_8260);
|
|
wait 0.05;
|
|
physicsexplosionsphere(self.var_116 + (0,0,32),128,64,0.0001,0);
|
|
}
|
|
|
|
//Function Number: 35
|
|
func_3D86()
|
|
{
|
|
func_9053("floor",::func_3D87);
|
|
}
|
|
|
|
//Function Number: 36
|
|
func_3D87()
|
|
{
|
|
playfx(level.var_611["zmb_jump_scare_ground_snow"],self.var_116 + (0,0,64));
|
|
}
|
|
|
|
//Function Number: 37
|
|
func_3266()
|
|
{
|
|
func_9053("door",undefined);
|
|
}
|
|
|
|
//Function Number: 38
|
|
func_1D91()
|
|
{
|
|
func_9053("bunker_drop",undefined);
|
|
}
|
|
|
|
//Function Number: 39
|
|
func_1DA1()
|
|
{
|
|
func_9053("bunker_window",undefined);
|
|
}
|
|
|
|
//Function Number: 40
|
|
sidestep_js_thinker()
|
|
{
|
|
func_9053("sidestep",undefined);
|
|
}
|
|
|
|
//Function Number: 41
|
|
sidestep_left_js_thinker()
|
|
{
|
|
func_9053("sidestep_left",undefined);
|
|
}
|
|
|
|
//Function Number: 42
|
|
func_347E()
|
|
{
|
|
func_84F0("drop");
|
|
self.var_72E2 = undefined;
|
|
self.var_3A14 = [];
|
|
self.var_3A10 = 300;
|
|
self.var_5C38 = 0.8;
|
|
self.var_61A4 = 120;
|
|
self.var_1E8F = 0;
|
|
self.var_1E90 = 1;
|
|
self.var_5974 = 150;
|
|
self.var_A30 = 1;
|
|
self.var_3A13 = 1;
|
|
var_00 = common_scripts\utility::func_46B7(self.var_1A2,"targetname");
|
|
var_01 = undefined;
|
|
foreach(var_03 in var_00)
|
|
{
|
|
var_04 = 0;
|
|
if(isdefined(var_03.var_165))
|
|
{
|
|
switch(var_03.var_165)
|
|
{
|
|
case "zombie_sky_spawner":
|
|
if(isdefined(var_03.var_81E1))
|
|
{
|
|
self.var_3A14[var_03.var_81E1] = var_03;
|
|
var_01 = 1;
|
|
var_03.var_8FCA = var_03.var_81E1;
|
|
}
|
|
else
|
|
{
|
|
var_01 = 0;
|
|
var_03.var_8FCA = self.var_3A14.size;
|
|
self.var_3A14[self.var_3A14.size] = var_03;
|
|
}
|
|
|
|
var_05 = lib_0547::func_4282(var_03);
|
|
var_06 = var_05["height"];
|
|
if(isdefined(var_06))
|
|
{
|
|
var_03.var_3A10 = int(var_06);
|
|
}
|
|
|
|
var_06 = var_05["impact_delay"];
|
|
if(isdefined(var_06))
|
|
{
|
|
var_03.var_50B1 = float(var_06);
|
|
}
|
|
|
|
var_03.var_873 = var_03.var_8109;
|
|
var_04 = 1;
|
|
break;
|
|
|
|
case "player_line":
|
|
self.var_72E2 = var_03;
|
|
var_04 = 1;
|
|
break;
|
|
|
|
case "lookat_target":
|
|
self.var_5ECA = var_03;
|
|
self.var_5978 = var_03.var_116;
|
|
var_04 = 1;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
if(!isdefined(self.var_72E2) || self.var_3A14.size == 0)
|
|
{
|
|
return;
|
|
}
|
|
|
|
thread lib_0547::func_AC0D(self.var_3A14,"Drop Jumpscare");
|
|
thread func_347F();
|
|
}
|
|
|
|
//Function Number: 43
|
|
func_347F()
|
|
{
|
|
var_00 = anglestoaxis(self.var_72E2.var_1D);
|
|
for(;;)
|
|
{
|
|
if(isdefined(self.var_81A1))
|
|
{
|
|
common_scripts\utility::func_3C9F(self.var_81A1);
|
|
}
|
|
|
|
self waittill("trigger",var_01);
|
|
if(isdefined(self.var_81A1) && !common_scripts\utility::func_3C77(self.var_81A1))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(!isdefined(var_01) || !isplayer(var_01))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
var_05 = 0;
|
|
var_06 = var_01 getvelocity();
|
|
var_07 = self.var_72E2.var_116 - var_01.var_116;
|
|
var_08 = undefined;
|
|
var_0D = vectordot(var_07,var_00["forward"]);
|
|
if(var_0D < 0)
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(var_0D < self.var_61A4)
|
|
{
|
|
var_05 = 1;
|
|
}
|
|
|
|
var_0E = vectordot(var_06,var_00["forward"]);
|
|
if(var_0E > 0)
|
|
{
|
|
var_0F = var_0D / var_0E;
|
|
if(var_0F < self.var_5C38)
|
|
{
|
|
var_08 = gettime() + var_0F * 1000;
|
|
var_05 = 1;
|
|
}
|
|
}
|
|
|
|
if(var_05)
|
|
{
|
|
if(func_5977(var_01) && isdefined(level.var_2F29) && level.var_2F29 != 1)
|
|
{
|
|
func_347D(var_01,var_08);
|
|
}
|
|
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 44
|
|
func_347D(param_00,param_01)
|
|
{
|
|
func_5976(param_00);
|
|
for(var_03 = 0;var_03 < self.var_3A14.size;var_03++)
|
|
{
|
|
var_04 = self.var_3A14[var_03];
|
|
thread func_347C(var_04,param_01,param_00);
|
|
}
|
|
}
|
|
|
|
//Function Number: 45
|
|
func_347C(param_00,param_01,param_02)
|
|
{
|
|
var_03 = undefined;
|
|
var_04 = 0.2 * param_00.var_8FCA;
|
|
wait(var_04);
|
|
if(self.var_3A13 && isdefined(param_01))
|
|
{
|
|
if(isdefined(param_00.var_50B1))
|
|
{
|
|
var_03 = param_01 + param_00.var_50B1 * 1000;
|
|
}
|
|
else
|
|
{
|
|
var_03 = param_01 + var_04;
|
|
}
|
|
}
|
|
|
|
var_05 = lib_054D::func_90BA("zombie_generic",param_00,"drop scare",0,1,1);
|
|
if(param_00.var_8FCA == 0)
|
|
{
|
|
thread func_347B(var_05,param_02);
|
|
}
|
|
|
|
var_06 = self.var_3A10;
|
|
if(isdefined(param_00.var_3A10))
|
|
{
|
|
var_06 = max(var_06,param_00.var_3A10);
|
|
}
|
|
|
|
var_05 thread lib_0540::func_ABA4(param_00.var_116,param_00.var_1D,var_06,param_00.var_873,param_00,var_03);
|
|
}
|
|
|
|
//Function Number: 46
|
|
func_347B(param_00,param_01)
|
|
{
|
|
param_00 endon("death");
|
|
param_00 waittill("zombie_fall_impact");
|
|
var_02 = [param_01];
|
|
if(common_scripts\utility::func_562E(self.var_A30))
|
|
{
|
|
var_02 = level.var_744A;
|
|
}
|
|
|
|
if(!isdefined(self.var_5ECA))
|
|
{
|
|
self.var_5978 = param_00 gettagorigin("J_Knee_RI");
|
|
}
|
|
|
|
foreach(var_05 in var_02)
|
|
{
|
|
if(!maps\mp\_utility::func_57A0(var_05) || !self istouching(var_05) && distance2d(var_05.var_116,self.var_5978) > self.var_5974)
|
|
{
|
|
continue;
|
|
}
|
|
|
|
var_05 lib_0378::func_8D74("fall_jumpscare",param_00,self);
|
|
if(self.var_1E8F)
|
|
{
|
|
var_08 = 1;
|
|
if(self.var_1E90)
|
|
{
|
|
var_08 = func_AA32(var_05);
|
|
}
|
|
|
|
if(var_08)
|
|
{
|
|
var_09 = self.var_5978 - var_05 geteye();
|
|
var_05 setangles(vectortoangles(var_09));
|
|
var_05 thread func_598A();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 47
|
|
waittill_jumpscare_initialized()
|
|
{
|
|
while(!isdefined(level.scaretable))
|
|
{
|
|
wait 0.05;
|
|
}
|
|
}
|
|
|
|
//Function Number: 48
|
|
func_84F0(param_00)
|
|
{
|
|
var_01 = level.scaretable;
|
|
self.var_598B = param_00;
|
|
}
|
|
|
|
//Function Number: 49
|
|
func_41E1()
|
|
{
|
|
var_00 = level.scaretable;
|
|
return self.var_598B;
|
|
}
|
|
|
|
//Function Number: 50
|
|
func_3DB1()
|
|
{
|
|
var_00 = common_scripts\utility::func_46B7("fol_incubator_spawn","targetname");
|
|
var_01 = common_scripts\utility::func_46B7("fol_incubator_dormant","targetname");
|
|
var_02 = common_scripts\utility::func_F73(var_00,var_01);
|
|
common_scripts\utility::func_3C87("flag_first_fol_inc_selected");
|
|
common_scripts\utility::func_3C87("flag_fol_inc_armed");
|
|
foreach(var_04 in var_02)
|
|
{
|
|
var_05 = common_scripts\utility::func_44BE(var_04.var_1A2,"targetname");
|
|
foreach(var_07 in var_05)
|
|
{
|
|
var_08 = var_07.var_165;
|
|
if(!isdefined(var_08))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
switch(var_08)
|
|
{
|
|
case "inc_js_trig":
|
|
var_04.var_9D5E = var_07;
|
|
break;
|
|
|
|
case "inc_js_head_pos":
|
|
var_04.var_4BDE = var_07;
|
|
break;
|
|
|
|
case "inc_js_door":
|
|
var_04.var_3255 = var_07;
|
|
break;
|
|
|
|
case "inc_js_door_dest":
|
|
var_04.var_325B = var_07;
|
|
break;
|
|
|
|
case "inc_js_door_exp_fx":
|
|
if(!isdefined(var_04.var_3F2F))
|
|
{
|
|
var_04.var_3F2F = [];
|
|
}
|
|
|
|
var_04.var_3F2F[var_04.var_3F2F.size] = var_07;
|
|
break;
|
|
}
|
|
}
|
|
|
|
if(isdefined(var_04.var_9D5E))
|
|
{
|
|
var_04.var_CA6 = 0;
|
|
var_04.var_5975 = 0;
|
|
var_04.var_5973 = 0;
|
|
var_04.var_5972 = 0;
|
|
var_04.var_5971 = 0;
|
|
}
|
|
|
|
if(isdefined(var_04.var_4BDE))
|
|
{
|
|
var_04.var_39F8 = spawn("script_model",var_04.var_4BDE.var_116);
|
|
var_04.var_39F8 setmodel("zom_follower_justhead");
|
|
var_04.var_39F8.var_1D = var_04.var_4BDE.var_1D;
|
|
var_04.var_39F8 scriptmodelplayanim("s2_zom_fol_pass_idle_1");
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 51
|
|
func_3DB0()
|
|
{
|
|
return common_scripts\utility::func_46B7("fol_incubator_spawn","targetname");
|
|
}
|
|
|
|
//Function Number: 52
|
|
func_3DAF()
|
|
{
|
|
return common_scripts\utility::func_46B7("fol_incubator_dormant","targetname");
|
|
}
|
|
|
|
//Function Number: 53
|
|
func_3DB3()
|
|
{
|
|
func_84F0("follower_incubator");
|
|
if(common_scripts\utility::func_562E(self.var_5972) || common_scripts\utility::func_562E(self.var_CA6))
|
|
{
|
|
return;
|
|
}
|
|
|
|
self.var_5978 = self.var_9D5E.var_116;
|
|
var_00 = 1;
|
|
var_01 = undefined;
|
|
while(!common_scripts\utility::func_3C77("flag_first_fol_inc_selected"))
|
|
{
|
|
var_02 = 0;
|
|
if(isdefined(self.var_81A1))
|
|
{
|
|
common_scripts\utility::func_3C9F(self.var_81A1);
|
|
}
|
|
|
|
self.var_9D5E waittill("trigger",var_01);
|
|
if(isdefined(self.var_81A1) && !common_scripts\utility::func_3C77(self.var_81A1))
|
|
{
|
|
wait(var_00);
|
|
continue;
|
|
}
|
|
|
|
if(!isdefined(var_01) || !isplayer(var_01))
|
|
{
|
|
wait(var_00);
|
|
continue;
|
|
}
|
|
|
|
if(self.var_5973)
|
|
{
|
|
var_02 = 1;
|
|
}
|
|
else
|
|
{
|
|
if(!sighttracepassed(var_01.var_116,self.var_5978,0,self.var_3255))
|
|
{
|
|
wait(var_00);
|
|
continue;
|
|
}
|
|
|
|
var_03 = var_01 geteye();
|
|
var_04 = var_01 geteyeangles();
|
|
var_05 = anglestoforward(var_04);
|
|
var_06 = vectornormalize(self.var_5978 - var_03);
|
|
if(vectordot(var_05,var_06) > 0.766)
|
|
{
|
|
var_02 = 1;
|
|
}
|
|
else
|
|
{
|
|
}
|
|
}
|
|
|
|
if(var_02)
|
|
{
|
|
if(self.var_5971)
|
|
{
|
|
break;
|
|
}
|
|
else if(!self.var_5975)
|
|
{
|
|
if(isdefined(var_01) && isplayer(var_01))
|
|
{
|
|
var_07 = func_5977(var_01);
|
|
if(var_07)
|
|
{
|
|
func_3DB2(var_01);
|
|
self.var_5975 = 1;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
wait(var_00);
|
|
}
|
|
|
|
var_07 = 0;
|
|
if(self.var_5971)
|
|
{
|
|
if(self.var_5973)
|
|
{
|
|
var_07 = 1;
|
|
}
|
|
else if(isdefined(var_01) && isplayer(var_01))
|
|
{
|
|
var_07 = func_5977(var_01);
|
|
}
|
|
|
|
if(var_07)
|
|
{
|
|
func_3DAE(var_01);
|
|
return;
|
|
}
|
|
|
|
self.var_5972 = 1;
|
|
thread func_3DAD();
|
|
}
|
|
}
|
|
|
|
//Function Number: 54
|
|
func_3DB2(param_00)
|
|
{
|
|
earthquake(0.1,0.2,self.var_3255.var_116,250);
|
|
var_01 = common_scripts\utility::func_4461(self.var_116,level.var_744A,250);
|
|
lib_0378::func_8D74("fol_tube_jumpscare_rattle",var_01);
|
|
if(!common_scripts\utility::func_562E(var_01.var_3067))
|
|
{
|
|
var_02 = var_01 lib_0367::func_8E3D("followertanklook");
|
|
if(isdefined(var_02))
|
|
{
|
|
var_01.var_3067 = 1;
|
|
}
|
|
}
|
|
|
|
self.var_3255 vibrate(anglestoforward(self.var_3255.var_1D),0.3,0.4,0.2);
|
|
}
|
|
|
|
//Function Number: 55
|
|
func_3DAE(param_00)
|
|
{
|
|
if(common_scripts\utility::func_3C77("flag_first_fol_inc_selected"))
|
|
{
|
|
return;
|
|
}
|
|
else
|
|
{
|
|
common_scripts\utility::func_3C8F("flag_first_fol_inc_selected");
|
|
}
|
|
|
|
self.var_CA5 = 1;
|
|
if(!isdefined(self.var_3255))
|
|
{
|
|
return;
|
|
}
|
|
|
|
lib_0378::func_8D74("fol_tube_jumpscare_execute");
|
|
var_01 = 3.8;
|
|
var_02 = 1.933333;
|
|
if(isdefined(self.var_3255))
|
|
{
|
|
self.var_3255 scriptmodelplayanim("zmb_incubator_panel_fol_intro_spawn");
|
|
lib_0378::func_8D74("fol_tube_jumpscare_door_fall");
|
|
}
|
|
|
|
if(isdefined(param_00))
|
|
{
|
|
func_5976(param_00);
|
|
}
|
|
|
|
var_03 = lib_054D::func_90BA("zombie_heavy",self,"follower incubator spawn",0,1,0,undefined,0);
|
|
if(!isdefined(var_03))
|
|
{
|
|
return;
|
|
}
|
|
|
|
var_03 method_805C();
|
|
wait(var_02);
|
|
if(isdefined(self.var_39F8))
|
|
{
|
|
self.var_39F8 delete();
|
|
}
|
|
|
|
var_03 method_805B();
|
|
if(isdefined(self.var_3255))
|
|
{
|
|
self.var_3255 method_805C();
|
|
}
|
|
|
|
foreach(var_05 in self.var_3F2F)
|
|
{
|
|
var_06 = anglestoforward(var_05.var_1D);
|
|
var_07 = anglestoup(var_05.var_1D);
|
|
playfx(common_scripts\utility::func_44F5("zmb_incubator_js_explosion"),var_05.var_116,var_06,var_07);
|
|
}
|
|
|
|
if(!isdefined(param_00) && isdefined(self.var_3255))
|
|
{
|
|
param_00 = common_scripts\utility::func_4461(self.var_3255.var_116,level.var_744A);
|
|
}
|
|
|
|
if(isdefined(self.var_3255))
|
|
{
|
|
self.var_3255 scriptmodelclearanim();
|
|
self.var_3255 delete();
|
|
}
|
|
|
|
if(isdefined(param_00))
|
|
{
|
|
param_00 thread lib_0367::func_8E3C("followersurprise");
|
|
}
|
|
}
|
|
|
|
//Function Number: 56
|
|
func_3DAD()
|
|
{
|
|
var_00 = lib_055A::func_4562(self.var_116);
|
|
for(;;)
|
|
{
|
|
var_01 = 1;
|
|
foreach(var_03 in level.var_744A)
|
|
{
|
|
if(lib_055A::func_7413(var_03,var_00))
|
|
{
|
|
var_01 = 0;
|
|
}
|
|
}
|
|
|
|
if(var_01)
|
|
{
|
|
break;
|
|
}
|
|
|
|
wait(10);
|
|
}
|
|
|
|
if(common_scripts\utility::func_562E(self.var_CA6))
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(isdefined(self.var_9D5E))
|
|
{
|
|
self.var_9D5E delete();
|
|
}
|
|
|
|
if(isdefined(self.var_3255))
|
|
{
|
|
self.var_3255 delete();
|
|
}
|
|
|
|
if(isdefined(self.var_39F8))
|
|
{
|
|
self.var_39F8 delete();
|
|
}
|
|
|
|
self.var_CA6 = 1;
|
|
} |