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

443 lines
10 KiB
Plaintext

/*******************************************************************
* Decompiled By: Bog
* Decompiled File: 3399.gsc
* Game: Call of Duty: Infinite Warfare
* Platform: PC
* Function Count: 17
* Decompile Time: 10 ms
* Timestamp: 10/27/2023 12:27:02 AM
*******************************************************************/
//Function Number: 1
func_952B()
{
level.var_2159 = [];
level.var_2158 = [];
level.var_2158["blue"] = 0;
level.var_2158["pink"] = 0;
level.var_2158["red"] = 0;
level.var_2158["yellow"] = 0;
level.var_2158["green"] = 0;
scripts\common\utility::flag_init("pink_essence_arrived");
scripts\common\utility::flag_init("blue_ark_quest");
scripts\common\utility::flag_init("yellow_ark_quest");
scripts\common\utility::flag_init("pink_ark_quest");
scripts\common\utility::flag_init("red_ark_quest");
scripts\common\utility::flag_init("green_ark_quest");
scripts\common\utility::flag_init("ufo_quest_finished");
scripts\common\utility::flag_init("all_attachments_deposited");
level thread func_1363C();
level thread func_135A5();
}
//Function Number: 2
func_135A5()
{
scripts\common\utility::flag_wait("blue_ark_quest");
scripts\common\utility::flag_wait("yellow_ark_quest");
scripts\common\utility::flag_wait("red_ark_quest");
scripts\common\utility::flag_wait("green_ark_quest");
var_00 = scripts\common\utility::getstruct("arkpink,pink","script_noteworthy");
var_01 = spawn("script_model",var_00.origin);
var_01 setmodel("tag_origin_ground_essence");
var_02 = spawnfx(level._effect["pink_ark_spawn"],var_00.origin);
triggerfx(var_02);
wait(1);
var_01 setscriptablepartstate("miniufo","pink");
var_01 thread func_702F(var_01,var_00,var_02);
scripts\common\utility::flag_set("all_attachments_deposited");
level notify("all_attachments_deposited");
var_03 = getent("master_arcane_deposit","targetname");
var_03 makeunusable();
var_04 = func_8021("pink");
if(isdefined(var_04))
{
level scripts\cp\_utility::set_quest_icon(var_04);
}
var_05 = scripts\common\utility::getstruct("ark_quest_station","script_noteworthy");
var_05.var_32F8 = var_01;
func_1792(var_05);
}
//Function Number: 3
func_13D04(param_00)
{
for(;;)
{
scripts\common\utility::func_5B4B(param_00.origin,param_00.origin + (0,0,200),1,0,0,0.25);
wait(0.25);
}
}
//Function Number: 4
func_702F(param_00,param_01,param_02)
{
param_02 delete();
playfxontag(level._effect["pink_essense"],param_00,"tag_origin");
var_03 = param_01;
var_04 = scripts\common\utility::getstruct(var_03.target,"targetname");
var_05 = undefined;
for(;;)
{
var_06 = func_7AF8(param_00,var_03.origin,var_04.origin,400);
param_00 moveto(var_04.origin,var_06);
param_00 waittill("movedone");
var_03 = var_04;
if(isdefined(var_05))
{
param_00 dontinterpolate();
param_00.origin = var_05.origin;
var_03 = var_05;
var_05 = undefined;
}
if(isdefined(var_03.target))
{
var_04 = scripts\common\utility::getstruct(var_03.target,"targetname");
}
else
{
break;
}
if(isdefined(var_04.script_noteworthy) && var_04.script_noteworthy == "arcane_struct_portal")
{
var_05 = scripts\common\utility::getstruct(var_04.target,"targetname");
}
}
scripts\common\utility::flag_set("pink_essence_arrived");
}
//Function Number: 5
func_7AF8(param_00,param_01,param_02,param_03)
{
var_04 = distance(param_01,param_02);
if(!isdefined(param_03))
{
param_03 = min(10 + level.wave_num * 5,150);
}
var_05 = var_04 / param_03;
if(var_05 < 0.05)
{
var_05 = 0.05;
}
return var_05;
}
//Function Number: 6
func_1363C()
{
var_00 = getent("master_arcane_deposit","targetname");
var_00 makeunusable();
var_00 makeusable();
var_00 setcursorhint("HINT_NODISPLAY");
var_01 = scripts\common\utility::getstructarray(var_00.target,"targetname");
foreach(var_03 in var_01)
{
if(isdefined(var_03.script_noteworthy) && var_03.script_noteworthy == "arkpink,pink")
{
continue;
}
var_03 thread func_135AC(var_00,var_03);
}
}
//Function Number: 7
func_135AC(param_00,param_01)
{
param_01.model = spawn("script_model",param_01.origin);
param_01.model setmodel("tag_origin");
var_02 = strtok(param_01.script_noteworthy,",");
var_03 = var_02[1];
var_04 = undefined;
scripts\common\utility::flag_wait(var_03 + "_crystal_placed");
var_05 = 0;
for(;;)
{
param_00 waittill("trigger",var_06);
if(!var_05)
{
param_00 playloopsound("arc_machine_on_idle_lp");
var_05 = 1;
}
var_07 = var_06 getcurrentweapon();
level thread scripts\cp\_vo::func_E01F("nag_return_arcanecore");
if(scripts\cp\_utility::func_13C90(var_07,var_02[0]))
{
wait(0.1);
scripts\cp\zombies\zmb_zombies_weapons::func_412B(var_06);
var_06 setscriptablepartstate("arcane","arcane_disperse",0);
var_06 takeweapon(var_07);
var_08 = function_00E3(var_07);
var_09 = scripts\cp\_utility::getcurrentcamoname(var_07);
var_0A = var_06 scripts\cp\_weapon::func_E469(var_07,"arcane_base",var_08,undefined,var_09);
var_0A = var_06 scripts\cp\_utility::func_12C6(var_0A,undefined,undefined,1);
var_06 switchtoweapon(var_0A);
switch(var_03)
{
case "blue":
param_01.model playsound("arc_machine_place_blue_ark");
break;
case "green":
param_01.model playsound("arc_machine_place_green_ark");
break;
case "red":
param_01.model playsound("arc_machine_place_red_ark");
break;
case "yellow":
param_01.model playsound("arc_machine_place_yellow_ark");
break;
}
var_0B = param_01.origin + (0,0,8);
var_0C = spawnfx(level._effect["neil_repair_sparks"],var_0B);
wait(0.1);
triggerfx(var_0C);
wait(0.1);
var_0C delete();
var_0D = spawn("script_model",var_0B);
var_0D setmodel("tag_origin_ground_essence");
scripts\common\utility::func_136F7();
var_0D setscriptablepartstate("miniufo",var_03);
break;
}
else
{
continue;
}
}
var_0E = func_8021(var_03);
if(isdefined(var_0E))
{
level scripts\cp\_utility::set_quest_icon(var_0E);
}
param_01.model makeunusable();
var_0F = var_03 + "_ark_quest";
scripts\common\utility::flag_set(var_0F);
}
//Function Number: 8
func_8021(param_00)
{
var_01 = undefined;
switch(param_00)
{
case "blue":
var_01 = 1;
break;
case "red":
var_01 = 4;
break;
case "pink":
var_01 = 5;
break;
case "yellow":
var_01 = 3;
break;
case "green":
var_01 = 2;
break;
default:
break;
}
return var_01;
}
//Function Number: 9
func_2157(param_00,param_01)
{
if(isdefined(param_00.var_4AE2) && param_00.var_4AE2.size >= 1)
{
return &"CP_QUEST_WOR_PART";
}
return level.interaction_hintstrings[param_00.script_noteworthy];
}
//Function Number: 10
func_8BBD(param_00,param_01)
{
if(scripts\common\utility::istrue(param_01.var_8BBC))
{
return;
}
if(!scripts\cp\_weapon::func_3862("arkpink",param_01 getcurrentweapon()))
{
return;
}
return level.interaction_hintstrings[param_00.script_noteworthy];
}
//Function Number: 11
func_2154(param_00,param_01)
{
if(!isdefined(param_00.var_4AE2))
{
return;
}
if(param_00.var_4AE2.size < 1)
{
return;
}
var_02 = 0;
var_03 = undefined;
foreach(var_05 in param_00.var_4AE2)
{
var_06 = strtok(var_05.model,"_");
var_07 = var_06[3];
var_05 makeunusable();
var_05 setmodel("tag_origin");
scripts\common\utility::flag_set(var_07 + "_crystal_placed");
param_00.var_4AE2 = undefined;
}
}
//Function Number: 12
func_1793(param_00,param_01)
{
var_02 = param_01 getcurrentweapon();
var_03 = param_01 scripts\cp\_weapon::func_169D("arkpink",var_02);
if(!var_03)
{
return;
}
param_01 method_80AB();
while(param_01 method_81C2())
{
wait(0.05);
}
param_01 enableweaponswitch();
param_01.var_8BBC = 1;
scripts\cp\zombies\zombie_analytics::log_pink_ark_obtained(level.wave_num);
level thread play_exquisite_essence_vo(param_01);
param_01 lib_0D2A::func_12D7C("BATTERIES_NOT_INCLUDED",1);
param_01 thread func_13A59(param_01);
param_01 thread func_13A30(param_01);
}
//Function Number: 13
play_exquisite_essence_vo(param_00)
{
param_00 endon("disconnect");
param_00 endon("death");
if(randomint(100) > 70)
{
param_00 thread scripts\cp\_vo::try_to_play_vo("quest_arcane_pink_essence","zmb_comment_vo","highest",10,1,0,0,100);
wait(scripts\cp\_vo::func_7C76(param_00.var_134FD + "quest_arcane_pink_essence"));
}
else
{
param_00 thread scripts\cp\_vo::try_to_play_vo("part_collect_exquisite","zmb_comment_vo","low",10,0,0,0,45);
wait(scripts\cp\_vo::func_7C76(param_00.var_134FD + "part_collect_exquisite"));
}
level thread scripts\cp\_vo::try_to_play_vo("ww_arcane_exquisiteattach_complete","zmb_ww_vo","high",60,0,0,1);
}
//Function Number: 14
func_13A59(param_00)
{
level endon("game_ended");
param_00 endon("disconnect");
var_01 = 1;
while(scripts\common\utility::istrue(param_00.var_8BBC))
{
if(!var_01)
{
param_00.var_8BBC = undefined;
break;
}
var_02 = undefined;
param_00 waittill("last_stand");
var_01 = 0;
var_03 = param_00 scripts\common\utility::waittill_any_return_no_endon_death_3("player_entered_ala","revive");
if(var_03 == "player_entered_ala")
{
var_02 = param_00 scripts\common\utility::func_13734("lost_and_found_collected","lost_and_found_time_out");
}
if(isdefined(var_02) && var_02 == "lost_and_found_time_out")
{
continue;
}
var_04 = param_00 getweaponslistall();
foreach(var_06 in var_04)
{
if(issubstr(var_06,"arkpink"))
{
var_07 = 1;
param_00 thread func_13A30(param_00);
break;
}
}
}
}
//Function Number: 15
func_13A30(param_00)
{
level endon("game_ended");
param_00 endon("last_stand");
param_00 endon("disconnect");
var_01 = 1;
while(scripts\common\utility::istrue(param_00.var_8BBC))
{
if(!var_01)
{
param_00.var_8BBC = undefined;
break;
}
param_00 scripts\common\utility::waittill_any_3("weapon_purchased","mule_munchies_sold");
var_01 = 0;
var_02 = param_00 getweaponslistall();
foreach(var_04 in var_02)
{
if(issubstr(var_04,"arkpink"))
{
var_01 = 1;
break;
}
}
}
}
//Function Number: 16
func_1792(param_00)
{
scripts\cp\_interaction::remove_from_current_interaction_list(param_00);
scripts\common\utility::flag_wait("pink_essence_arrived");
param_00.script_noteworthy = "white_ark";
scripts\cp\_interaction::add_to_current_interaction_list(param_00);
}
//Function Number: 17
func_9D4A(param_00,param_01,param_02)
{
return param_00 == "poison_ammo_mp" || param_00 == "incendiary_ammo_mp" || param_00 == "stun_ammo_mp" || param_00 == "slayer_ammo_mp" || issubstr(param_00,"emcpap") || param_01 == "yellow" && param_02 == "MOD_EXPLOSIVE_BULLET" || scripts\common\utility::func_9D74(param_02) && param_01 == "pink";
}