Files
IL-GSC/IW/PC/ALL/scripts/cp/zombies/interaction_openareas.gsc
2023-10-27 03:49:01 -04:00

324 lines
7.5 KiB
Plaintext

/*******************************************************************
* Decompiled By: Bog
* Decompiled File: scripts\cp\zombies\interaction_openareas.gsc
* Game: Call of Duty: Infinite Warfare
* Platform: PC
* Function Count: 13
* Decompile Time: 584 ms
* Timestamp: 10/27/2023 12:26:53 AM
*******************************************************************/
//Function Number: 1
init_all_debris_and_door_positions()
{
func_F945("debris_350");
func_F945("debris_1000");
func_F945("debris_1500");
func_F945("debris_2000");
func_F945("debris_1250");
func_F945("debris_750");
func_F945("team_door_switch");
func_F945("chi_0");
func_F945("chi_1");
func_F945("chi_2");
}
//Function Number: 2
func_F945(param_00)
{
var_01 = scripts\common\utility::getstructarray(param_00,"script_noteworthy");
foreach(var_03 in var_01)
{
func_F4A1(var_03);
}
}
//Function Number: 3
func_F4A1(param_00)
{
var_01 = getentarray(param_00.target,"targetname");
foreach(var_03 in var_01)
{
var_03 method_8318(1);
wait(0.1);
}
}
//Function Number: 4
func_102F3(param_00,param_01)
{
scripts\cp\zombies\zombies_spawning::func_F28B(param_00);
scripts\cp\zombies\zombies_spawning::func_15FC(param_00.script_area);
playsoundatpos(param_00.origin,"zmb_sliding_door_open");
var_02 = getentarray(param_00.target,"targetname");
foreach(var_04 in var_02)
{
var_04 connectpaths();
var_05 = scripts\common\utility::getstruct(var_04.target,"targetname");
var_04 moveto(var_05.origin,1);
}
scripts\cp\_interaction::func_554F(param_00);
if(level.players.size > 1)
{
param_01 thread scripts\cp\_vo::try_to_play_vo("purchase_area","zmb_comment_vo","low",10,0,0,1,40);
return;
}
level.players[0] thread scripts\cp\_vo::try_to_play_vo("purchase_area","zmb_comment_vo","low",10,0,1,1,40);
}
//Function Number: 5
func_1302F(param_00,param_01)
{
var_02 = undefined;
var_03 = undefined;
if(!isdefined(level.var_115C8))
{
level.var_115C8 = 0;
}
switch(param_00.script_side)
{
case "moon":
if(!isdefined(level.moon_donations))
{
level.moon_donations = -1;
}
level.moon_donations++;
var_03 = level.moon_donations;
scripts\cp\zombies\zombie_analytics::log_purchasingforateamdoor(1,param_01,param_00.script_side,1000,level.wave_num);
break;
case "kepler":
if(!isdefined(level.kepler_donations))
{
level.kepler_donations = -1;
}
level.kepler_donations++;
var_03 = level.kepler_donations;
scripts\cp\zombies\zombie_analytics::log_purchasingforateamdoor(1,param_01,param_00.script_side,1000,level.wave_num);
break;
case "triton":
if(!isdefined(level.triton_donations))
{
level.triton_donations = -1;
}
level.triton_donations++;
var_03 = level.triton_donations;
scripts\cp\zombies\zombie_analytics::log_purchasingforateamdoor(1,param_01,param_00.script_side,1000,level.wave_num);
break;
}
var_04 = getentarray(param_00.target,"targetname");
foreach(var_06 in var_04)
{
if(!isdefined(var_06.script_noteworthy))
{
continue;
}
else if(var_06.script_noteworthy == "progress")
{
var_06 movez(4,0.1);
var_06 waittill("movedone");
}
}
if(var_03 >= 3)
{
level thread func_C61B(param_00,var_02,var_03,param_01);
param_01 scripts\cp\_merits::func_D9AD("mt_purchase_doors");
param_01 notify("door_opened_notify");
level.var_115C8++;
if(level.var_115C8 == 2)
{
scripts\common\utility::flag_set("canFiresale");
}
}
if(scripts\cp\_utility::isplayingsolo() || scripts\common\utility::istrue(level.only_one_player))
{
if(!scripts\cp\zombies\direct_boss_fight::should_directly_go_to_boss_fight())
{
param_01 scripts\cp\_persistence::give_player_xp(250,1);
}
}
else if(!scripts\cp\zombies\direct_boss_fight::should_directly_go_to_boss_fight())
{
param_01 scripts\cp\_persistence::give_player_xp(75,1);
}
param_01 scripts\cp\_interaction::func_DE6E();
}
//Function Number: 6
func_C61B(param_00,param_01,param_02,param_03)
{
scripts\cp\zombies\zombie_analytics::func_AF7E(1,param_03,param_00.script_side,1000,level.wave_num);
thread func_115B2(param_00);
scripts\cp\_interaction::func_554F(param_00);
var_04 = scripts\cp\_interaction::func_7A90(param_00);
foreach(var_06 in var_04)
{
if(!level.var_10816[var_06.script_area].var_19)
{
level thread [[ level.team_buy_vos ]](var_06,param_03);
}
}
foreach(var_09 in var_04)
{
scripts\cp\zombies\zombies_spawning::func_F28B(var_09);
scripts\cp\zombies\zombies_spawning::func_15FC(var_09.script_area);
}
if(isdefined(param_00.var_ED83))
{
scripts\common\utility::exploder(param_00.var_ED83);
}
var_0B = getentarray(var_04[0].target,"targetname");
foreach(var_0D in var_0B)
{
if(var_0D.var_2AF == 1)
{
var_0D connectpaths();
var_0D notsolid();
continue;
}
if(var_0D.classname == "script_brushmodel")
{
var_0D hide();
var_0D notsolid();
continue;
}
var_0D setscriptablepartstate("default","hide");
if(should_play_door_purchase_sound())
{
var_0D playsound("purchase_generic");
}
}
}
//Function Number: 7
func_115B2(param_00)
{
wait(0.5);
playsoundatpos(param_00.origin,"zmb_clear_barricade");
wait(0.5);
}
//Function Number: 8
func_9749()
{
var_00 = scripts\common\utility::getstructarray("power_door_sliding","script_noteworthy");
foreach(var_02 in var_00)
{
var_02 thread func_102F8();
}
}
//Function Number: 9
func_102F8()
{
if(scripts\common\utility::istrue(self.var_E1B9))
{
level scripts\common\utility::waittill_any_3("power_on",self.var_D71C + " power_on");
}
self.var_D776 = 1;
playsoundatpos(self.origin,"zmb_sliding_door_open");
var_00 = getentarray(self.target,"targetname");
foreach(var_02 in var_00)
{
var_02 connectpaths();
var_03 = scripts\common\utility::getstruct(var_02.target,"targetname");
var_02 moveto(var_03.origin,1);
}
scripts\cp\_interaction::func_554F(self);
scripts\cp\zombies\zombies_spawning::func_F28B(self);
scripts\cp\zombies\zombies_spawning::func_15FC(self.script_area);
}
//Function Number: 10
func_8FDE(param_00,param_01)
{
playsoundatpos(param_00.origin,"zmb_gate_open");
var_02 = getent(param_00.target,"targetname");
var_02 rotateyaw(160,1);
scripts\cp\_interaction::func_554F(param_00);
}
//Function Number: 11
func_4142(param_00,param_01)
{
scripts\cp\_interaction::func_554F(param_00);
if(isdefined(level.script) && level.script == "cp_disco")
{
if(isdefined(param_00) && issubstr(param_00.name,"chi_"))
{
playsoundatpos(param_00.origin,"cp_disco_doorbuy_chi_gongs");
}
else
{
playsoundatpos(param_00.origin,"cp_disco_doorbuy_caution_tape");
}
}
else
{
playsoundatpos(param_00.origin,"zmb_clear_barricade");
}
scripts\cp\zombies\zombies_spawning::func_F28B(param_00);
scripts\cp\zombies\zombies_spawning::func_15FC(param_00.script_area);
var_02 = getentarray(param_00.target,"targetname");
foreach(var_04 in var_02)
{
if(var_04.classname == "script_brushmodel")
{
var_04 connectpaths();
var_04 notsolid();
continue;
}
var_04 setscriptablepartstate("default","hide");
if(should_play_door_purchase_sound())
{
var_04 playsound("purchase_generic");
}
}
}
//Function Number: 12
should_play_door_purchase_sound()
{
if(scripts\cp\zombies\direct_boss_fight::should_directly_go_to_boss_fight())
{
return 0;
}
return 1;
}
//Function Number: 13
func_BC9C(param_00)
{
self endon("death");
wait(param_00 * 0.2);
self movez(10,0.5);
self rotateto(self.angles + (randomintrange(-10,10),randomintrange(-10,10),randomintrange(-10,10)),0.5);
wait(0.5);
self movez(1000,3,2,1);
wait(2);
if(isdefined(self))
{
self delete();
}
}