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

234 lines
4.9 KiB
Plaintext

/*******************************************************************
* Decompiled By: Bog
* Decompiled File: 3409.gsc
* Game: Call of Duty: Infinite Warfare
* Platform: PC
* Function Count: 10
* Decompile Time: 3 ms
* Timestamp: 10/27/2023 12:27:07 AM
*******************************************************************/
//Function Number: 1
func_96F4()
{
wait(5);
level.var_773B = [];
level.var_773B = scripts\common\utility::getstructarray("generator","script_noteworthy");
scripts\common\utility::flag_init("power_on");
level.var_D743 = ::func_D744;
foreach(var_01 in level.var_773B)
{
func_95FC(var_01);
}
}
//Function Number: 2
func_95FC(param_00)
{
var_01 = getentarray(param_00.target,"targetname");
var_02 = scripts\common\utility::getstruct(param_00.target,"targetname");
param_00.var_889B = undefined;
param_00.var_2F12 = undefined;
foreach(var_04 in var_01)
{
if(var_04.model == "icbm_electricpanel_switch_02")
{
param_00.var_889B = var_04;
continue;
}
if(var_04.script_noteworthy == "box")
{
param_00.var_2F12 = var_04;
}
}
}
//Function Number: 3
func_D744(param_00,param_01)
{
var_02 = level.var_773B;
foreach(var_04 in var_02)
{
if(scripts\common\utility::istrue(var_04.var_D776))
{
level thread func_7736(var_04);
}
}
level notify("power_off");
}
//Function Number: 4
func_7736(param_00)
{
while(!isdefined(level.current_interaction_structs))
{
wait(1);
}
thread func_7758(param_00);
var_01 = param_00.var_EE79;
var_02 = strtok(var_01,",");
foreach(var_04 in var_02)
{
if(var_04 == "power_all")
{
scripts\common\utility::func_6E2A("power_on");
continue;
}
if(scripts\common\utility::func_6E34(var_04 + " power_on"))
{
scripts\common\utility::func_6E2A(var_04 + " power_on");
}
}
param_00.var_D776 = undefined;
scripts\cp\_interaction::add_to_current_interaction_list(param_00);
}
//Function Number: 5
func_7758(param_00)
{
if(param_00.var_889B.script_noteworthy == "roll")
{
param_00.var_889B rotateroll(-60,0.5);
}
else if(param_00.var_889B.script_noteworthy == "-roll")
{
param_00.var_889B rotateroll(60,0.5);
}
else if(param_00.var_889B.script_noteworthy == "pitch")
{
param_00.var_889B rotatepitch(-60,0.5);
}
else if(param_00.var_889B.script_noteworthy == "-pitch")
{
param_00.var_889B rotatepitch(60,0.5);
}
if(isdefined(param_00.var_7735))
{
param_00.var_7735 delete();
}
}
//Function Number: 6
func_129A2(param_00)
{
scripts\cp\zombies\zombie_analytics::func_AF8E(param_00,level.wave_num);
}
//Function Number: 7
func_7757(param_00,param_01)
{
scripts\cp\_interaction::remove_from_current_interaction_list(param_00);
if(isdefined(param_01))
{
param_01 thread scripts\cp\_utility::firegesturegrenade(param_01,"iw7_powerlever_zm");
}
if(!isdefined(param_01))
{
param_01 = level.players[0];
}
if(isdefined(param_00.target))
{
func_7759(param_00,param_01);
}
var_02 = param_00.var_EE79;
var_03 = strtok(var_02,",");
func_129A2(var_03[0]);
level notify("power_on_scriptable_and_light",var_02,param_01);
wait(2.5);
foreach(var_05 in var_03)
{
if(!isdefined(var_05))
{
}
if(var_05 == "power_all")
{
level notify("power_on");
scripts\common\utility::flag_set("power_on");
level.var_D746 = 1;
continue;
}
level notify(var_05 + " power_on");
if(scripts\common\utility::func_6E34(var_05 + " power_on"))
{
scripts\common\utility::flag_set(var_05 + " power_on");
}
}
scripts\common\utility::func_136F7();
level notify("activate_power");
if(!scripts\cp\zombies\direct_boss_fight::should_directly_go_to_boss_fight())
{
param_01 thread scripts\cp\_vo::try_to_play_vo("activate_power","zmb_comment_vo","medium",4,0,0,0,50);
if(isdefined(level.power_vo_func))
{
thread [[ level.power_vo_func ]](param_01);
}
}
wait(0.5);
level thread func_DE6F();
}
//Function Number: 8
func_DE6F()
{
foreach(var_01 in level.players)
{
if(isdefined(var_01.var_A8D3) && isdefined(var_01.var_A8D3.var_E1B9))
{
var_01 notify("stop_interaction_logic");
var_01.var_9A3F makeunusable();
var_01.var_A8D3 = undefined;
}
wait(0.05);
}
}
//Function Number: 9
func_7759(param_00,param_01)
{
level endon("power_off");
wait(0.2);
if(param_00.var_889B.script_noteworthy == "roll")
{
param_00.var_889B rotateroll(75,0.15);
}
else if(param_00.var_889B.script_noteworthy == "-roll")
{
param_00.var_889B rotateroll(-75,0.15);
}
else if(param_00.var_889B.script_noteworthy == "pitch")
{
param_00.var_889B rotatepitch(75,0.15);
}
else if(param_00.var_889B.script_noteworthy == "-pitch")
{
param_00.var_889B rotatepitch(-75,0.15);
}
if(isdefined(param_00.var_2F12))
{
param_00.var_2F12 setscriptablepartstate("box","on");
}
param_00.var_D776 = 1;
}
//Function Number: 10
register_interactions()
{
level.interaction_hintstrings["generator"] = &"COOP_INTERACTIONS_GENERATOR_ON";
scripts\cp\_interaction::func_DEBB("generator","generator",1,undefined,::func_7757,0);
}