mirror of
https://github.com/InfinityLoader/IL-GSC.git
synced 2025-06-17 13:38:03 -05:00
135 lines
3.3 KiB
Plaintext
135 lines
3.3 KiB
Plaintext
/*******************************************************************
|
|
* Decompiled By: Bog
|
|
* Decompiled File: scripts\cp\zombies\interaction_waterfall.gsc
|
|
* Game: Call of Duty: Infinite Warfare
|
|
* Platform: PC
|
|
* Function Count: 5
|
|
* Decompile Time: 285 ms
|
|
* Timestamp: 10/27/2023 12:09:04 AM
|
|
*******************************************************************/
|
|
|
|
//Function Number: 1
|
|
init_waterfall_trap()
|
|
{
|
|
var_00 = scripts\common\utility::getstruct("trap_waterfall","script_noteworthy");
|
|
var_01 = getentarray(var_00.target,"targetname");
|
|
foreach(var_03 in var_01)
|
|
{
|
|
if(var_03.classname == "script_model")
|
|
{
|
|
var_00.valve = var_03;
|
|
}
|
|
|
|
if(var_03.classname == "physicsvolume")
|
|
{
|
|
var_00.physvolume = var_03;
|
|
}
|
|
|
|
if(var_03.classname == "trigger_multiple")
|
|
{
|
|
var_00.trigger = var_03;
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 2
|
|
use_waterfall_trap(param_00,param_01)
|
|
{
|
|
scripts\cp\_interaction::func_554F(param_00);
|
|
param_00.var_126A4 = 0;
|
|
param_00.valve rotateroll(-180,1);
|
|
param_00.valve playsound("trap_waterfall_valve");
|
|
thread waterfall_trap_sfx();
|
|
var_02 = gettime() + 2000;
|
|
playrumbleonposition("light_3s",param_00.valve.origin + (0,0,50));
|
|
while(gettime() < var_02)
|
|
{
|
|
earthquake(0.2,2,param_00.origin + (0,0,100),500);
|
|
wait(1);
|
|
}
|
|
|
|
scripts\common\utility::exploder(20);
|
|
param_00.physvolume method_852B(1,anglestoforward(param_00.angles + (0,0,5)),2500);
|
|
param_00.physvolume method_8529(1);
|
|
param_00.physvolume method_8526(1);
|
|
level thread func_A631(param_00,param_01);
|
|
var_02 = gettime() + 25000;
|
|
while(gettime() < var_02)
|
|
{
|
|
playrumbleonposition("heavy_3s",param_00.valve.origin + (0,0,50));
|
|
earthquake(0.2,3,param_00.origin + (0,0,100),500);
|
|
wait(1);
|
|
}
|
|
|
|
level notify("stop_waterfall_trap");
|
|
level notify("waterfall_trap_kills",param_00.var_126A4);
|
|
param_00.physvolume method_8526(0);
|
|
param_00.physvolume method_8529(0);
|
|
scripts\cp\_interaction::func_6214(param_00);
|
|
param_00.var_4622 = 1;
|
|
wait(30);
|
|
param_00.var_4622 = undefined;
|
|
}
|
|
|
|
//Function Number: 3
|
|
waterfall_trap_sfx()
|
|
{
|
|
wait(0.65);
|
|
playsoundatpos((-1714,-2031,248),"trap_waterfall_start");
|
|
var_00 = scripts\common\utility::play_loopsound_in_space("trap_waterfall_rushing_lp",(-1717,-2013,189));
|
|
wait(4);
|
|
var_01 = scripts\common\utility::play_loopsound_in_space("trap_waterfall_splashing_lp",(-1702,-1824,101));
|
|
level waittill("stop_waterfall_trap");
|
|
playsoundatpos((-1714,-2031,248),"trap_waterfall_end");
|
|
wait(0.2);
|
|
var_00 stoploopsound();
|
|
var_00 delete();
|
|
var_01 stoploopsound();
|
|
var_01 delete();
|
|
}
|
|
|
|
//Function Number: 4
|
|
func_A631(param_00,param_01)
|
|
{
|
|
level endon("stop_waterfall_trap");
|
|
for(;;)
|
|
{
|
|
param_00.trigger waittill("trigger",var_02);
|
|
if(isplayer(var_02))
|
|
{
|
|
var_03 = var_02 getvelocity();
|
|
var_02 setvelocity(var_03 + (0,35,0));
|
|
continue;
|
|
}
|
|
|
|
if(!scripts\cp\_utility::func_FF18(var_02,undefined,1))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
param_00.var_126A4++;
|
|
var_02 thread func_6F32(param_00,param_01);
|
|
}
|
|
}
|
|
|
|
//Function Number: 5
|
|
func_6F32(param_00,param_01)
|
|
{
|
|
self endon("death");
|
|
self.flung = 1;
|
|
self.var_B36E = 1;
|
|
self.do_immediate_ragdoll = 1;
|
|
self.var_4C87 = 1;
|
|
self.disable_armor = 1;
|
|
wait(randomfloatrange(0.5,1.5));
|
|
if(param_01 scripts\cp\_utility::is_valid_player())
|
|
{
|
|
var_02 = param_01;
|
|
}
|
|
else
|
|
{
|
|
var_02 = undefined;
|
|
}
|
|
|
|
self dodamage(self.health + 100,param_00.trigger.origin,var_02,var_02,"MOD_UNKNOWN","iw7_discotrap_zm");
|
|
} |