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

236 lines
5.9 KiB
Plaintext

/*******************************************************************
* Decompiled By: Bog
* Decompiled File: 3387.gsc
* Game: Call of Duty: Infinite Warfare
* Platform: PC
* Function Count: 8
* Decompile Time: 4 ms
* Timestamp: 10/27/2023 12:26:54 AM
*******************************************************************/
//Function Number: 1
func_9713()
{
level.rockettrapuses = 0;
var_00 = scripts\common\utility::getstructarray("rockettrap","script_noteworthy");
foreach(var_02 in var_00)
{
var_02 thread func_E5D9();
}
}
//Function Number: 2
func_E5D9()
{
var_00 = scripts\common\utility::getstructarray(self.target,"targetname");
var_01 = undefined;
var_02 = undefined;
foreach(var_04 in var_00)
{
if(var_04.script_noteworthy == "rocket_blast_fx")
{
self.var_26C = var_04;
}
if(var_04.script_noteworthy == "rocket_blast_trigger")
{
self.var_4CDF = var_04;
}
}
var_06 = getentarray(self.target,"targetname");
var_07 = undefined;
var_08 = scripts\common\utility::istrue(self.var_E1B9) && isdefined(self.var_D71C);
var_09 = "power_on";
foreach(var_0B in var_06)
{
if(var_0B.classname == "light_spot")
{
var_07 = var_0B;
}
}
var_07 setlightintensity(0);
for(;;)
{
if(var_08)
{
var_09 = level scripts\common\utility::waittill_any_return_no_endon_death_3("power_on",self.var_D71C + " power_on","power_off");
}
if(var_09 != "power_off")
{
for(var_0D = 0;var_0D < 3;var_0D++)
{
var_07 setlightintensity(100);
wait(randomfloatrange(0.5,1));
var_07 setlightintensity(0);
wait(randomfloatrange(0.5,1));
}
var_07 setlightintensity(100);
self.var_D776 = 1;
level thread func_E5D6();
level thread scripts\cp\_vo::func_1769("dj_traps_use_nag","zmb_dj_vo",60,15,2,1);
}
else
{
var_07 setlightintensity(0);
self.var_D776 = 0;
}
if(!var_08)
{
break;
}
}
}
//Function Number: 3
func_1300A(param_00,param_01)
{
playfx(level._effect["console_spark"],param_00.origin + (0,0,40));
var_02 = sortbydistance(scripts\common\utility::getstructarray("fm_start_struct","targetname"),param_01.origin);
level.rockettrapuses++;
level.var_E5D7 = 0;
level.var_7047 = var_02[0];
scripts\cp\_interaction::func_554F(param_00);
if(!isdefined(level.var_E5D5))
{
level.var_E5D5 = spawn("trigger_radius",param_00.var_4CDF.origin,0,param_00.var_4CDF.var_257,128);
level.var_E5D8 = spawn("script_origin",param_00.var_26C.origin);
}
param_01 thread scripts\cp\_vo::try_to_play_vo("activate_trap_generic","zmb_comment_vo","low",10,0,0,0,50);
param_00.var_126A4 = 0;
param_00.var_126A5 = param_01;
func_E5D3();
level notify("rocket_idle_stop");
scripts\common\utility::exploder(56);
level thread func_E5D4(level.var_E5D5,param_01,param_00);
if(scripts\common\utility::flag("mini_ufo_blue_ready"))
{
level thread func_13622();
}
level.var_E5D8 playsound("trap_rocket_start");
wait(1.95);
scripts\common\utility::exploder(57);
earthquake(0.3,25,param_00.var_26C.origin,850);
scripts\common\utility::func_136F7();
level.var_E5D8 playloopsound("trap_rocket_lp");
wait(21);
level.var_E5D8 stoploopsound("trap_rocket_lp");
level.var_E5D8 playsound("trap_rocket_stop");
wait(0.75);
level.var_E5D8 stoploopsound("trap_rocket_lp");
level notify("rocket_trap_done");
if(param_01 scripts\cp\_utility::is_valid_player(1))
{
param_01.var_1189F = param_00.var_126A4 * 2;
scripts\cp\zombies\arcade_game_utility::update_player_tickets_earned(param_01);
}
wait(3);
scripts\cp\_interaction::func_6214(param_00);
scripts\cp\_interaction::func_9A0D(param_00,max(level.rockettrapuses * 45,45));
level thread func_E5D6();
}
//Function Number: 4
func_E5D3()
{
earthquake(0.12,4,level.var_E5D5.origin,1000);
playsoundatpos(level.var_E5D5.origin,"trap_rocket_alarm");
wait(1);
playsoundatpos(level.var_E5D5.origin,"trap_rocket_alarm");
wait(1);
}
//Function Number: 5
func_E5D4(param_00,param_01,param_02)
{
level endon("rocket_trap_done");
for(;;)
{
param_00 waittill("trigger",var_03);
if(isplayer(var_03) && isalive(var_03) && !scripts\cp\_laststand::player_in_laststand(var_03) && !isdefined(var_03.var_C85F))
{
var_03.var_C85F = 1;
var_03 dodamage(35,var_03.origin,undefined,undefined,"MOD_UNKNOWN","iw7_rockettrap_zm");
playfxontagforclients(level._effect["player_scr_fire"],var_03,"tag_eye",var_03);
var_03 thread func_E069();
continue;
}
if(scripts\cp\_utility::func_FF18(var_03,undefined,1))
{
if(scripts\common\utility::istrue(var_03.var_9B81))
{
continue;
}
if(scripts\common\utility::istrue(var_03.var_9CDD))
{
var_03.var_9B81 = 1;
level notify("rocket_trap_kill");
param_02.var_126A4++;
var_03 dodamage(var_03.health + 1000,var_03.origin,undefined,undefined,"MOD_UNKNOWN","iw7_rockettrap_zm");
continue;
}
var_04 = ["kill_trap_generic","kill_trap_rocket"];
param_01 thread scripts\cp\_vo::try_to_play_vo(scripts\common\utility::random(var_04),"zmb_comment_vo","highest",10,0,0,1,25);
var_03.var_B36E = 1;
var_03.var_126A3 = param_01;
if(isdefined(param_01))
{
if(!isdefined(param_01.trapkills["trap_rocket"]))
{
param_01.trapkills["trap_rocket"] = 1;
}
else
{
param_01.trapkills["trap_rocket"]++;
}
param_02.var_126A4++;
var_03 thread scripts\cp\_utility::func_4D0D(var_03,param_01,1.5,int(var_03.health + 100),"MOD_UNKNOWN","iw7_rockettrap_zm",1,"burning","rocket_trap_kill");
}
else
{
var_03 thread scripts\cp\_utility::func_4D0D(var_03,undefined,1.5,int(var_03.health + 100),"MOD_UNKNOWN","iw7_rockettrap_zm",1,"burning","rocket_trap_kill");
}
}
}
}
//Function Number: 6
func_E069()
{
self endon("disconnect");
wait(0.25);
self.var_C85F = undefined;
}
//Function Number: 7
func_13622()
{
level endon("rocket_trap_done");
for(;;)
{
level waittill("rocket_trap_kill");
level.var_E5D7++;
}
}
//Function Number: 8
func_E5D6()
{
level endon("rocket_idle_stop");
for(;;)
{
scripts\common\utility::exploder(55);
wait(1);
}
}