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

796 lines
17 KiB
Plaintext

/*******************************************************************
* Decompiled By: Bog
* Decompiled File: 1385.gsc
* Game: Call of Duty: WWII
* Platform: PC
* Function Count: 33
* Decompile Time: 42 ms
* Timestamp: 10/27/2023 3:25:57 AM
*******************************************************************/
//Function Number: 1
func_5326()
{
if(common_scripts\utility::func_3C83("pap_in_use"))
{
return;
}
common_scripts\utility::func_3C87("pap_in_use");
common_scripts\utility::func_3C87("pap_weapon_ready");
lib_0547::func_A78B();
common_scripts\utility::func_92C("zmb_pack_a_punch_lathe","vfx/map/mp_zombie_nest/zmb_pack_a_punch_lathe");
common_scripts\utility::func_92C("zmb_pack_a_punch_lathe_ammo","vfx/map/mp_zombie_nest/zmb_pack_a_punch_lathe_ammo");
var_00 = common_scripts\utility::func_44BE("pack_a_punch","targetname");
foreach(var_02 in var_00)
{
level thread func_6E40(var_02);
}
}
//Function Number: 2
func_6E40(param_00)
{
wait_for_pack_a_punch_conditions();
var_01 = strtok(param_00.var_8260,",");
var_02 = int(var_01[0]);
if(var_01.size > 1)
{
var_03 = int(var_01[1]);
}
else
{
var_03 = 4000;
}
if(getdvarint("spv_zmb_event_mtx5_active",0))
{
var_02 = 2000;
var_03 = 1000;
}
if(0)
{
}
var_04 = getentarray(param_00.var_1A2,"targetname");
if(var_04.size == 4)
{
var_05 = function_021F("zmb_upgrade_machine","targetname");
for(var_06 = 0;var_06 < 4;var_06++)
{
var_04[var_06].var_81E1 = var_06;
var_04[var_06].var_82EF = var_05[var_06];
}
}
foreach(var_08 in var_04)
{
if(isdefined(var_08))
{
var_08 usetriggerrequirelookat();
if(0)
{
var_08.var_1DE6 = &"ZOMBIES_WEAPON_LEVEL_BOX";
var_08.var_1DE4 = &"ZOMBIES_WALL_BUY_AMMO";
var_08.var_1DE5 = lib_0547::func_4474(var_02);
var_08.var_1DE3 = lib_0547::func_4474(var_03);
}
var_08.var_6DE1 = var_02;
var_08.var_6DE0 = var_03;
var_08.is_pap_trigger = 1;
if(lib_0547::func_5819(var_08))
{
lib_0547::func_8A4F(var_08,::func_10E1,::func_4D14);
}
else if(0)
{
var_08 sethintstring(var_08.var_1DE6);
var_08 setsecondaryhintstring(var_08.var_1DE5);
}
var_08 thread func_6E41();
}
}
}
//Function Number: 3
func_45A0(param_00,param_01)
{
var_02 = function_01AC(param_00,self.var_116);
var_03 = [];
for(var_04 = 0;var_04 < param_01;var_04++)
{
var_03[var_04] = var_02[var_04];
}
return var_03;
}
//Function Number: 4
func_6E41()
{
var_00 = self;
level endon("game_over");
self.var_738D = undefined;
var_01 = getent("pack_a_punch_weapon_display","targetname");
var_01 method_8511();
for(;;)
{
var_02 = lib_0547::func_A795();
var_03 = var_02[0];
var_04 = var_02[1];
if(common_scripts\utility::func_3C77("pap_in_use"))
{
continue;
}
var_05 = var_03 getcurrentprimaryweapon();
if(lib_0547::func_57AF(var_05) || lib_0547::func_5862(var_05) || lib_0547::iszombieconsumableweapon(var_05))
{
continue;
}
var_06 = lib_0547::func_5868(var_05);
if(var_06)
{
var_07 = self.var_6DE0;
if(maps\mp\zombies\_zombies_magicbox::func_4B6A(var_03,var_05))
{
maps\mp\zombies\_zombies_magicbox::func_300A(var_03,0);
continue;
}
if(!var_03 maps/mp/gametypes/zombies::func_11C2(var_07))
{
var_03 thread lib_054E::func_695("needmoney");
continue;
}
var_03 thread lib_054E::func_62D9();
maps\mp\zombies\_zombies_magicbox::func_AC57(var_03,var_05);
lib_0547::func_4AE4(var_03,"pack_a_punch_ammo",var_07,var_05,"none");
if(!common_scripts\utility::func_3C77("pap_in_use"))
{
playfxontag(level.var_611["zmb_pack_a_punch_lathe_ammo"],self.var_82EF,"lathe_01");
}
continue;
}
if(isdefined(level.extra_upgrade_func))
{
level thread [[ level.extra_upgrade_func ]](var_03);
}
var_08 = var_03 lib_0586::func_78B(var_05);
if(!isdefined(var_08))
{
lib_0555::func_83DD("no_upgrade",var_03);
continue;
}
var_07 = int(self.var_6DE1);
if(!var_03 maps/mp/gametypes/zombies::func_11C2(var_07))
{
var_03 thread lib_054E::func_695("needmoney");
continue;
}
var_03 thread lib_054E::func_62D9();
var_03 lib_0586::func_790(var_05);
if(lib_0547::func_5864(var_05) && !issubstr(var_05,"razergun"))
{
var_09 = var_03 method_82D5();
if(!isdefined(var_09) || lib_0547::func_5565(var_09,"none"))
{
var_0A = maps\mp\zombies\_zombies_magicbox::func_454B(var_03,"shovel_zm");
var_03 lib_0586::func_78C(var_0A);
}
}
var_0B = var_03 getweaponslistprimaries();
if(var_0B.size > 0)
{
var_03 lib_0586::func_78E(var_0B[0]);
}
lib_0547::func_4AE4(var_03,"pack_a_punch",var_07,var_08,"none");
if(maps\mp\_utility::func_4571() == "mp_zombie_nest_01")
{
var_0C = var_03 maps\mp\gametypes\_playerlogic::func_4005();
if(!isdefined(var_03.magicboxweaponsrolled))
{
var_03.magicboxweaponsrolled = [];
}
if(common_scripts\utility::func_F79(var_0C,var_05) || !common_scripts\utility::func_F79(var_03.magicboxweaponsrolled,var_05))
{
level.var_400E[level.var_400E.size] = ["survivalist_set 4 -1",var_03];
}
}
else if(maps\mp\_utility::func_4571() == "mp_zombie_island")
{
var_0C = var_03 maps\mp\gametypes\_playerlogic::func_4005();
if(!isdefined(var_03.magicboxweaponsrolled))
{
var_03.magicboxweaponsrolled = [];
}
if(common_scripts\utility::func_F79(var_0C,var_05) || !common_scripts\utility::func_F79(var_03.magicboxweaponsrolled,var_05))
{
var_03 notify("invalid_pack_a_punch");
}
}
var_0D = lib_0547::func_AAF9(var_08);
lib_0555::func_83DD("upgrade",var_03,var_0D);
if(isdefined(level.zmb_events_upgraded_a_weapon))
{
level thread [[ level.zmb_events_upgraded_a_weapon ]](var_03);
}
common_scripts\utility::func_3C8F("pap_in_use");
self.var_738D = var_03;
level notify("pap_state_change");
self.var_82EF func_854A(var_05,var_08);
common_scripts\utility::func_3C8F("pap_weapon_ready");
if(0)
{
self setsecondaryhintstring(&"ZOMBIES_EMPTY_STRING");
}
level notify("pap_state_change");
var_00 thread func_7485(var_03);
var_00 thread func_9E21(var_03,var_08,var_03 lib_0586::func_78B(var_05,undefined,undefined,1));
common_scripts\utility::func_A70C(var_00,"pap - player took gun",var_00,"pap - player timed out",var_03,"disconnect");
if(0)
{
self setsecondaryhintstring(self.var_1DE5);
}
func_4D1D(self.var_82EF.var_586E);
common_scripts\utility::func_3C7B("pap_weapon_ready");
self.var_738D = undefined;
common_scripts\utility::func_3C7B("pap_in_use");
level notify("pap_state_change");
}
}
//Function Number: 5
func_4D1D(param_00)
{
param_00 method_8511();
}
//Function Number: 6
func_9E21(param_00,param_01,param_02)
{
var_03 = self;
var_03 endon("pap - player timed out");
param_00 endon("disconnect");
var_04 = undefined;
var_03 wait_for_response(var_04,param_00);
var_05 = common_scripts\utility::func_562E(var_03.double_tapped);
var_03.double_tapped = undefined;
if(var_05)
{
param_01 = param_02;
}
var_03 notify("pap - player took gun");
param_00 common_scripts\utility::func_379A("flag_player_has_paped");
param_00 func_6E46(param_01);
if(issubstr(param_01,"austen"))
{
thread lib_0380::func_6840("zmb_fog_rolling_out_austen",param_00);
}
}
//Function Number: 7
wait_for_response(param_00,param_01)
{
var_02 = self;
param_01 endon("disconnect");
var_02 endon("trigger");
var_02 endon("pap - player timed out");
param_01 childthread watch_for_pap_double_tap(var_02);
while(!lib_0547::func_5565(param_00,param_01))
{
var_02 waittill("trigger",param_00);
}
}
//Function Number: 8
watch_for_pap_double_tap(param_00)
{
var_01 = self;
var_01 endon("disconnect");
param_00 endon("trigger");
param_00 endon("pap - player timed out");
var_02 = gettime();
for(;;)
{
while(!var_01 interacting_with_this_trigger(param_00))
{
wait 0.05;
}
while(var_01 interacting_with_this_trigger(param_00))
{
wait 0.05;
}
if(gettime() - var_02 < 500)
{
param_00.double_tapped = 1;
param_00 notify("trigger",var_01);
}
var_02 = gettime();
}
}
//Function Number: 9
interacting_with_this_trigger(param_00)
{
var_01 = self;
return var_01 usebuttonpressed() && lib_0547::func_5565(var_01 method_84D1(),param_00);
}
//Function Number: 10
func_7485(param_00)
{
var_01 = self;
var_01 endon("pap - player took gun");
param_00 endon("disconnect");
wait(18);
var_01 notify("pap - player timed out");
level notify("PAP_display_reset");
}
//Function Number: 11
func_42A5()
{
return "flag_player_has_paped";
}
//Function Number: 12
func_10E1(param_00)
{
param_00 endon("disconnect");
param_00 common_scripts\utility::func_3799("flag_player_has_paped");
thread func_6E43(param_00);
thread func_8C10(param_00);
thread func_6E45(param_00);
lib_0559::func_7BE2(param_00,self,"pack");
}
//Function Number: 13
func_854A(param_00,param_01)
{
var_02 = self.var_116 + (0,0,60);
var_03 = lib_0380::func_2889("zmb_pack_a_punch_use",undefined,var_02);
lib_0378::func_8D14(var_03);
var_04 = self gettagorigin("lathe_01");
level notify("PAP_display_reset");
var_05 = getent("pack_a_punch_weapon_display","targetname");
var_05.var_116 = (var_05.var_116[0],var_05.var_116[1],var_04[2]);
if(!isdefined(level.var_6DDD))
{
level.var_6DDD = var_05 common_scripts\utility::func_8FFC();
}
self.var_6DDD = level.var_6DDD;
func_801B(self,param_00);
var_06 = level.var_6DDD.var_116;
var_07 = level.var_6DDD.var_1D;
if(issubstr(param_00,"fliegerfaust"))
{
thread func_3C72(level.var_6DDD);
}
var_08 = spawnfx(level.var_611["zmb_pack_a_punch_lathe"],var_04,anglestoforward(self gettagangles("lathe_01")),anglestoup(self gettagangles("lathe_01")));
triggerfx(var_08);
self setscriptablepartstate("lathes","turn_on");
thread func_9EDC();
wait(getanimlength(%zmb_pack_a_punch_lathes_turn_on) - 1.4);
self setscriptablepartstate("lathes","idle");
var_08 delete();
func_801B(self,param_01);
thread func_7D78(var_06,var_07);
}
//Function Number: 14
func_7D78(param_00,param_01)
{
level common_scripts\utility::func_A74B("PAP_display_reset",18);
level.var_6DDD.var_116 = param_00;
level.var_6DDD.var_1D = param_01;
}
//Function Number: 15
func_8549(param_00,param_01)
{
thread func_9EDB();
}
//Function Number: 16
func_801B(param_00,param_01)
{
var_02 = (0,0,0);
var_03 = (0,0,0);
if(issubstr(param_01,"springfield") || issubstr(param_01,"bren") || issubstr(param_01,"lewis") || issubstr(param_01,"m1941") || issubstr(param_01,"m1a1") || issubstr(param_01,"breda30"))
{
var_02 = (-3,0,0);
}
if(issubstr(param_01,"leeenfield") || issubstr(param_01,"mg42") || issubstr(param_01,"m1garand") || issubstr(param_01,"bar_") || issubstr(param_01,"m30") || issubstr(param_01,"karabin") || issubstr(param_01,"g43") || issubstr(param_01,"kar98") || issubstr(param_01,"teslagun"))
{
var_02 = (-5,0,0);
}
if(issubstr(param_01,"svt40") || issubstr(param_01,"walther") || issubstr(param_01,"m1919"))
{
var_02 = (-7,0,0);
}
if(issubstr(param_01,"zom_dlc2_1") || issubstr(param_01,"zom_dlc2_2") || issubstr(param_01,"zom_dlc2_3"))
{
var_03 = (-90,0,0);
if(issubstr(param_01,"zom_dlc2_1"))
{
var_02 = (2,0,0);
}
else
{
var_02 = (-7,0,0);
}
}
if(issubstr(param_01,"mg15"))
{
var_02 = (-8,0,0);
}
if(issubstr(param_01,"fliegerfaust"))
{
var_02 = (0,0,10);
}
if(isdefined(param_00.var_A6EA))
{
param_00.var_586E method_848E(param_01);
param_00.var_586E method_805B();
param_00.var_A6EA = undefined;
}
else
{
if(isdefined(param_00.var_586E))
{
param_00.var_586E delete();
}
param_00.var_586E = spawn("weapon_" + param_01,param_00.var_6DDD.var_116);
param_00.var_586E linkto(param_00.var_6DDD,"tag_origin",var_02,var_03);
param_00.var_A6EA = 1;
}
param_00.var_586E makeunusable();
param_00.var_586E method_86B3(0);
}
//Function Number: 17
func_3C72(param_00)
{
wait(0.7);
param_00 movez(-5,0.1,0,0);
wait(0.5);
param_00 movez(5,0.5,0.1,0.1);
wait(0.5);
param_00 movez(-5,0.1,0,0);
wait(0.5);
param_00 movez(5,0.5,0.1,0.1);
wait(1);
param_00 rotateyaw(20,0.5,0.1,0.1);
wait(1);
param_00 movez(-10,0.5,0.1,0.1);
}
//Function Number: 18
func_9EDC()
{
self setscriptablepartstate("wheel","turn");
wait(getanimlength(%zmb_pack_a_punch_wheel_turn));
self setscriptablepartstate("wheel","turn_idle");
}
//Function Number: 19
func_9EDB()
{
self setscriptablepartstate("wheel","reverse");
wait(getanimlength(%zmb_pack_a_punch_wheel_reverse));
self setscriptablepartstate("wheel","idle");
}
//Function Number: 20
func_21BD(param_00,param_01)
{
param_00 endon("disconnect");
for(;;)
{
param_00 common_scripts\utility::knock_off_battery("weapon_change","new_equipment");
func_6E44(param_00,param_01);
}
}
//Function Number: 21
func_21BB(param_00,param_01)
{
param_00 endon("disconnect");
for(;;)
{
level waittill("pap_state_change");
func_6E44(param_00,param_01);
}
}
//Function Number: 22
func_6E44(param_00,param_01)
{
wait(0.1);
var_02 = 0;
var_03 = "none";
var_04 = lib_0547::func_462A(param_00);
if(var_04 != "none")
{
var_03 = getweapondisplayname(var_04);
}
if(lib_0547::func_5868(var_03))
{
var_02 = 1;
}
if(0)
{
self setcursorhint("HINT_NOICON");
}
if(1)
{
param_01.interact_disabled = undefined;
}
if(common_scripts\utility::func_3C77("pap_weapon_ready") && isdefined(self.var_738D) && self.var_738D == param_00)
{
if(1)
{
param_01.var_6F58 = "pack_pick";
param_01.var_6F56 = 0;
}
}
else if(common_scripts\utility::func_3C77("pap_in_use"))
{
self.var_3006 = undefined;
if(0)
{
self sethintstring("Unavailable");
self setsecondaryhintstring("");
}
if(1)
{
param_01.var_6F58 = "pack_busy";
param_01.interact_disabled = 1;
param_01.var_6F56 = 0;
}
}
else if(lib_0547::func_57AF(var_04) || lib_0547::func_5862(var_04) || lib_0547::iszombieconsumableweapon(var_04) || lib_0547::func_585B(var_04) || (lib_0547::func_5864(var_04) && !ispappablemeleeweapon(var_04)) || (issubstr(var_04,"tesla") && !common_scripts\utility::func_3C83("teslagun_punch_active") || common_scripts\utility::func_3C83("teslagun_punch_active") && !common_scripts\utility::func_3C77("teslagun_punch_active")) || issubstr(var_04,"razergun_melee_zm"))
{
self.var_3006 = undefined;
if(0)
{
self sethintstring("");
self setsecondaryhintstring("");
}
if(1)
{
param_01.var_6F58 = "pack_noup";
param_01.interact_disabled = 1;
param_01.var_6F56 = 0;
}
}
else if(var_02)
{
self.var_3006 = self.var_6DE0;
if(0)
{
self sethintstring(self.var_1DE4);
self setsecondaryhintstring(self.var_1DE3);
}
if(1)
{
param_01.var_6F58 = "pack_ammo";
param_01.var_6F56 = self.var_3006;
}
}
else
{
self.var_3006 = self.var_6DE1;
if(0)
{
self sethintstring(self.var_1DE6);
self setsecondaryhintstring(self.var_1DE5);
}
if(1)
{
param_01.var_6F58 = "pack";
param_01.var_6F56 = self.var_3006;
}
}
if(1)
{
param_01.var_6642 = 1;
}
}
//Function Number: 23
ispappablemeleeweapon(param_00)
{
if(param_00 == "zom_dlc2_3_zm" || param_00 == "zom_dlc2_2_zm" || param_00 == "zom_dlc2_1_zm")
{
if(common_scripts\utility::func_3C83("dlc2_melee_packable") && common_scripts\utility::func_3C77("dlc2_melee_packable"))
{
return 1;
}
}
return 0;
}
//Function Number: 24
func_6E43(param_00)
{
var_01 = undefined;
if(1)
{
var_01 = lib_0552::func_7BF3(param_00,self);
}
thread func_21BD(param_00,var_01);
thread func_21BB(param_00,var_01);
}
//Function Number: 25
wait_for_pack_a_punch_conditions()
{
if(isdefined(level.pack_a_punc_pre_func))
{
level [[ level.pack_a_punc_pre_func ]]();
}
}
//Function Number: 26
func_4D14(param_00)
{
self.var_82EF hidefromclient(param_00);
}
//Function Number: 27
func_8C10(param_00)
{
if(isdefined(level.upgrade_machine_reveal_func))
{
[[ level.upgrade_machine_reveal_func ]](param_00,self.var_82EF);
}
self.var_82EF showtoclient(param_00);
}
//Function Number: 28
func_6E45(param_00)
{
param_00 endon("disconnect");
}
//Function Number: 29
func_86EE(param_00)
{
var_01 = 5;
var_02 = [];
var_03 = self.var_6DE1;
var_04 = self.var_6DE0;
for(var_05 = 0;var_05 < var_01;var_05++)
{
var_06 = 0;
var_07 = pow(10,var_01 - var_05);
while(var_03 >= var_07 / 10)
{
var_03 = var_03 - var_07 / 10;
var_06++;
}
var_02[var_05] = var_06;
}
for(var_05 = 0;var_05 < var_01;var_05++)
{
self.var_82EF setscriptablepartstate("gears_0" + var_05 + 1,"idle_" + var_02[var_05]);
}
}
//Function Number: 30
func_6E46(param_00)
{
maps/mp/gametypes/zombies::func_283D(self,param_00);
self.var_6E48++;
level notify("PAP_display_reset");
if(lib_0547::func_73F9(self,param_00))
{
lib_0586::func_790(param_00);
}
thread lib_054E::playerbuyweapon(1);
if(lib_0547::func_5864(param_00))
{
maps\mp\zombies\_zombies_magicbox::wallbuygivemelee(self,param_00);
}
else
{
maps\mp\zombies\_zombies_magicbox::func_A7D6(self,param_00);
}
maps\mp\zombies\_zombies_magicbox::func_AABC(self);
}
//Function Number: 31
func_55D4(param_00)
{
return issubstr(param_00,"_pap_zm");
}
//Function Number: 32
func_40BD(param_00)
{
if(!isdefined(level.var_40BE))
{
level.var_40BE = [];
}
var_01 = level.var_40BE[param_00];
if(!isdefined(var_01))
{
var_01 = func_40BF(param_00);
if(level.var_40BE.size < 1000)
{
level.var_40BE[param_00] = var_01;
}
}
return var_01;
}
//Function Number: 33
func_40BF(param_00)
{
var_01 = common_scripts\utility::func_9462(param_00,"_pap_zm");
var_02 = "";
if(var_01 != -1)
{
var_03 = getsubstr(param_00,0,var_01);
var_04 = getsubstr(param_00,var_01 + 4);
var_02 = var_03 + var_04;
}
else
{
var_02 = param_00;
}
return var_02;
}