mirror of
https://github.com/InfinityLoader/IL-GSC.git
synced 2025-06-07 17:17:50 -05:00
348 lines
6.7 KiB
Plaintext
348 lines
6.7 KiB
Plaintext
/*******************************************************************
|
|
* Decompiled By: Bog
|
|
* Decompiled File: 1406.gsc
|
|
* Game: Call of Duty: WWII
|
|
* Platform: PC
|
|
* Function Count: 15
|
|
* Decompile Time: 7 ms
|
|
* Timestamp: 10/27/2023 3:26:03 AM
|
|
*******************************************************************/
|
|
|
|
//Function Number: 1
|
|
func_51CF()
|
|
{
|
|
var_00 = spawnstruct();
|
|
var_00.var_6F9A = (0,0,0);
|
|
var_00.var_6F9C = 500;
|
|
var_00.var_6F9B = 360;
|
|
common_scripts\utility::func_92C("vision_beam","vfx/lights/mp_zombie_nest/zmb_sentry_vision_light");
|
|
level.var_6FBF["Fireman Head"]["func"] = ::func_3C09;
|
|
level.var_6FBF["Fireman Head"]["model"] = "npc_zom_fireman_head";
|
|
level.var_6FBF["Fireman Head"]["canBeDroppedByZombies"] = ::maps/mp/gametypes/zombies::func_6FC7;
|
|
level.var_6FBF["Fireman Head"]["phys_overrides"] = var_00;
|
|
level.var_6FBF["Fireman Head"]["posOffset"] = (0,0,0);
|
|
level.var_6FBF["Fireman Head"]["extraTimeoutSecs"] = 180;
|
|
level.var_6FBF["Fireman Head"]["outline"] = 1;
|
|
if(!isdefined(level.var_4BDF))
|
|
{
|
|
level.var_4BDF = [];
|
|
}
|
|
|
|
level thread maps\mp\_utility::func_6F74(::func_AC25);
|
|
}
|
|
|
|
//Function Number: 2
|
|
func_AC25(param_00)
|
|
{
|
|
var_01 = self;
|
|
var_01 endon("disconnect");
|
|
var_01 childthread func_6312();
|
|
}
|
|
|
|
//Function Number: 3
|
|
func_314D(param_00)
|
|
{
|
|
var_01 = param_00 getweaponslistall();
|
|
return common_scripts\utility::func_F79(var_01,"sentryhead_zm");
|
|
}
|
|
|
|
//Function Number: 4
|
|
func_6312()
|
|
{
|
|
var_00 = self;
|
|
var_00.var_5605 = 0;
|
|
var_01 = 0.2;
|
|
var_02 = int(20 * var_01);
|
|
var_03 = (0,1,0);
|
|
for(;;)
|
|
{
|
|
wait(var_01);
|
|
var_04 = var_00 playerads() > 0.3 && var_00 getcurrentweapon() == "sentryhead_zm";
|
|
if(var_00.var_5605 != var_04)
|
|
{
|
|
var_00.var_5605 = var_04;
|
|
if(var_04)
|
|
{
|
|
var_05 = common_scripts\utility::func_44F5("vision_beam");
|
|
var_06 = spawnlinkedfx(var_05,var_00,"tag_fx",1);
|
|
triggerfx(var_06);
|
|
var_00.var_3BF4 = var_06;
|
|
}
|
|
else
|
|
{
|
|
var_00.var_3BF4 delete();
|
|
var_00.var_3BF4 = undefined;
|
|
}
|
|
}
|
|
|
|
if(!var_04)
|
|
{
|
|
continue;
|
|
}
|
|
|
|
foreach(var_0A in level.var_4BDF)
|
|
{
|
|
if(!var_00 func_5626(var_0A))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
level thread [[ var_0A.var_7E39 ]](var_0A,var_00);
|
|
func_7CC2(var_0A);
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 5
|
|
func_437B(param_00)
|
|
{
|
|
var_01 = param_00.var_116;
|
|
if(isdefined(param_00.var_218D))
|
|
{
|
|
var_01 = param_00.var_218D;
|
|
}
|
|
|
|
return var_01;
|
|
}
|
|
|
|
//Function Number: 6
|
|
func_5626(param_00)
|
|
{
|
|
var_01 = self;
|
|
var_02 = func_437B(param_00);
|
|
var_03 = var_01 geteye();
|
|
if(distancesquared(var_03,var_02) > squared(300))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
var_04 = var_02 - var_03;
|
|
var_05 = length(var_04);
|
|
if(var_05 < 1)
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
var_06 = var_04 / var_05;
|
|
var_07 = anglestoforward(var_01 getangles());
|
|
var_08 = acos(vectordot(var_07,var_06));
|
|
if(var_08 > 30)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(!common_scripts\utility::func_562E(param_00.var_8C80) && !sighttracepassed(var_03,var_02,0,param_00))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
return 1;
|
|
}
|
|
|
|
//Function Number: 7
|
|
func_0984(param_00,param_01,param_02)
|
|
{
|
|
var_03 = param_00.var_116;
|
|
if(isdefined(param_01))
|
|
{
|
|
var_03 = param_01.var_116;
|
|
}
|
|
|
|
param_00.var_218D = var_03;
|
|
param_00.var_7E39 = param_02;
|
|
if(!isdefined(level.var_4BDF))
|
|
{
|
|
level.var_4BDF = [];
|
|
}
|
|
|
|
level.var_4BDF = common_scripts\utility::func_F6F(level.var_4BDF,param_00);
|
|
}
|
|
|
|
//Function Number: 8
|
|
func_7CC2(param_00)
|
|
{
|
|
level.var_4BDF = common_scripts\utility::func_F93(level.var_4BDF,param_00);
|
|
}
|
|
|
|
//Function Number: 9
|
|
func_3C09(param_00)
|
|
{
|
|
var_01 = self;
|
|
if(common_scripts\utility::func_562E(var_01.var_558F) || func_314D(param_00) || param_00 lib_0586::func_72C3())
|
|
{
|
|
return;
|
|
}
|
|
|
|
var_01.var_558F = 1;
|
|
param_00 lib_0586::func_78C("sentryhead_zm");
|
|
param_00 lib_0586::func_78E("sentryhead_zm");
|
|
level thread maps/mp/gametypes/zombies::func_7CED(var_01);
|
|
}
|
|
|
|
//Function Number: 10
|
|
func_418D()
|
|
{
|
|
return "sentryhead_zm";
|
|
}
|
|
|
|
//Function Number: 11
|
|
func_4758()
|
|
{
|
|
lib_0586::func_78C("sentryhead_zm");
|
|
lib_0586::func_78E("sentryhead_zm");
|
|
maps\mp\_utility::func_47A2("specialty_ballcarrier");
|
|
self method_8112(1);
|
|
self method_8113(0);
|
|
self method_8114(0);
|
|
thread func_6360();
|
|
}
|
|
|
|
//Function Number: 12
|
|
func_95CB()
|
|
{
|
|
if(self getcurrentweapon() == "sentryhead_zm")
|
|
{
|
|
var_00 = self.var_5B98;
|
|
if(!isdefined(var_00) || var_00 == "none")
|
|
{
|
|
var_01 = self getweaponslistprimaries();
|
|
foreach(var_03 in var_01)
|
|
{
|
|
if(lib_0547::func_5836(var_03))
|
|
{
|
|
var_00 = var_03;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
lib_0586::func_78E(var_00);
|
|
}
|
|
|
|
lib_0586::func_790("sentryhead_zm");
|
|
maps\mp\_utility::func_735("specialty_ballcarrier");
|
|
self method_8112(1);
|
|
self method_8113(1);
|
|
self method_8114(1);
|
|
level thread func_8FA7(self.var_116 + (0,0,10),"respawning on drop");
|
|
}
|
|
|
|
//Function Number: 13
|
|
func_6360()
|
|
{
|
|
for(;;)
|
|
{
|
|
common_scripts\utility::knock_off_battery("weapon_change","begin_last_stand");
|
|
if(self getcurrentweapon() == "sentryhead_zm")
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(func_314D(self))
|
|
{
|
|
func_95CB();
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 14
|
|
func_8FA7(param_00,param_01)
|
|
{
|
|
if(!isdefined(level.var_3C0A))
|
|
{
|
|
level.var_3C0A = [];
|
|
level thread func_633A();
|
|
}
|
|
|
|
var_02 = undefined;
|
|
if(level.var_3C0A.size == 4)
|
|
{
|
|
var_03 = 0;
|
|
for(var_03 = 0;var_03 < 4;var_03++)
|
|
{
|
|
if(common_scripts\utility::func_562E(level.var_3C0A[var_03].var_558F))
|
|
{
|
|
break;
|
|
}
|
|
}
|
|
|
|
if(var_03 == 4)
|
|
{
|
|
var_03 = 0;
|
|
}
|
|
|
|
var_02 = level.var_3C0A[var_03];
|
|
level.var_3C0A = common_scripts\utility::func_F9A(level.var_3C0A,var_03);
|
|
level.var_3C0A[level.var_3C0A.size] = var_02;
|
|
}
|
|
else
|
|
{
|
|
var_02 = spawn("script_model",param_00);
|
|
var_02 setmodel("npc_zom_fireman_head");
|
|
level.var_3C0A[level.var_3C0A.size] = var_02;
|
|
}
|
|
|
|
var_04 = (0,0,500);
|
|
var_05 = 2000;
|
|
var_06 = 0.1;
|
|
var_07 = (0,0,5);
|
|
var_02 method_808C();
|
|
var_02.var_116 = param_00;
|
|
var_02 makeusable();
|
|
var_02 method_805B();
|
|
var_02 sethintstring(&"ZOMBIE_NEST_PICKUP_HEAD");
|
|
var_02 physicslaunchserver(var_02.var_116 + var_07,var_04,var_05,var_06);
|
|
var_02.var_558F = 0;
|
|
var_02 notify("recycle_fireman_head");
|
|
var_02 endon("recycle_fireman_head");
|
|
for(;;)
|
|
{
|
|
var_02 waittill("trigger",var_08);
|
|
if(func_314D(var_08) || var_08 lib_0586::func_72C3())
|
|
{
|
|
wait(0.25);
|
|
continue;
|
|
}
|
|
|
|
break;
|
|
}
|
|
|
|
var_08 func_4758();
|
|
var_02.var_558F = 1;
|
|
var_02 method_84E0();
|
|
var_02 makeunusable();
|
|
var_02 hudoutlinedisable();
|
|
var_02 sethintstring(&"ZOMBIES_EMPTY_STRING");
|
|
var_02 method_805B();
|
|
var_02 method_8511();
|
|
}
|
|
|
|
//Function Number: 15
|
|
func_633A()
|
|
{
|
|
for(;;)
|
|
{
|
|
level waittill("on togglescore");
|
|
var_00 = lib_0557::func_42B9();
|
|
foreach(var_02 in level.var_3C0A)
|
|
{
|
|
if(!common_scripts\utility::func_562E(var_02.var_558F))
|
|
{
|
|
if(var_00.size == 0)
|
|
{
|
|
if(isdefined(var_02))
|
|
{
|
|
var_02 hudoutlinedisable();
|
|
}
|
|
|
|
continue;
|
|
}
|
|
|
|
if(isdefined(var_02))
|
|
{
|
|
var_02 hudoutlineenableforclients(var_00,0,1);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} |