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

616 lines
11 KiB
Plaintext

/*******************************************************************
* Decompiled By: Bog
* Decompiled File: scripts\cp\cp_music_and_dialog.gsc
* Game: Call of Duty: Infinite Warfare
* Platform: PC
* Function Count: 28
* Decompile Time: 1423 ms
* Timestamp: 10/27/2023 12:09:41 AM
*******************************************************************/
//Function Number: 1
init()
{
scripts\common\utility::flag_init("vo_system_setup_done");
scripts\common\utility::flag_init("dialogue_done");
scripts\cp\_vo::func_98EA();
level thread func_C56E();
level thread func_EF35();
if(!isdefined(level.var_134DC))
{
level.var_134DC = [];
}
if(isdefined(level.var_ABE9))
{
level.var_134DC = [[ level.var_ABE9 ]](level.var_134DC);
}
level.var_18E8 = ::func_9D12;
}
//Function Number: 2
func_2B53()
{
}
//Function Number: 3
func_3837()
{
if(level.players.size != 4)
{
return 0;
}
if(scripts\cp\_vo::func_9D13())
{
return 0;
}
foreach(var_01 in level.players)
{
if(var_01.var_134FD == "p5_")
{
return 0;
}
if(var_01.var_134FD == "p6_")
{
return 0;
}
}
return 1;
}
//Function Number: 4
func_134DF()
{
if(level.var_2001 || scripts\common\utility::istrue(level.elvira_playing))
{
return 1;
}
else if(level.var_D336)
{
return 1;
}
else
{
foreach(var_01 in level.players)
{
if(scripts\common\utility::istrue(var_01.var_13518))
{
return 1;
}
}
}
return 0;
}
//Function Number: 5
func_7F65(param_00)
{
var_01 = 0;
for(var_02 = 0;var_02 < param_00.size;var_02++)
{
var_03 = level.var_134CA[param_00[var_02]];
var_01 = var_01 + scripts\cp\_vo::func_7C76(var_03 + param_00[var_02]);
}
return var_01;
}
//Function Number: 6
func_7DD2(param_00,param_01)
{
var_02 = [param_00];
var_03 = param_00;
for(;;)
{
if(param_01 && isdefined(level.var_134B4[var_03].var_BF7B))
{
var_02[var_02.size] = level.var_134B4[var_03].var_BF7B;
var_03 = level.var_134B4[var_03].var_BF7B;
continue;
}
break;
}
return var_02;
}
//Function Number: 7
func_C56E()
{
for(;;)
{
level waittill("connected",var_00);
var_00 thread func_C57B();
}
}
//Function Number: 8
func_9D12(param_00)
{
if(isdefined(level.var_134B4[param_00].var_18E3))
{
if(int(level.var_134B4[param_00].var_18E3) == 1)
{
return 1;
}
return 0;
}
}
//Function Number: 9
func_C57B()
{
self endon("disconnect");
self waittill("spawned_player");
if(!level.splitscreen || level.splitscreen && !isdefined(level.var_CF34))
{
if(level.splitscreen)
{
level.var_CF34 = 1;
}
}
if(!scripts\common\utility::flag("vo_system_setup_done"))
{
scripts\common\utility::flag_set("vo_system_setup_done");
}
}
//Function Number: 10
func_D58B(param_00,param_01)
{
if(scripts\cp\_utility::isplayingsolo() || level.only_one_player)
{
return;
}
var_02 = param_00.var_134FD + "laststand";
param_00 thread scripts\cp\_vo::func_CE8A(var_02);
}
//Function Number: 11
func_D5BB(param_00,param_01)
{
var_02 = param_00.var_134FD + "reviving";
param_00 thread scripts\cp\_vo::func_CE8A(var_02);
}
//Function Number: 12
func_D5BD(param_00)
{
var_01 = -20536;
var_02 = gettime();
if(!isdefined(level.var_BF59) || level.var_BF59 < var_02)
{
if(isdefined(level.var_BF59))
{
if(randomint(100) < 60)
{
return;
}
}
level.var_BF59 = var_02 + randomintrange(var_01,var_01 + 5000);
var_03 = scripts\cp\_utility::func_7833();
var_04 = scripts\common\utility::random(var_03);
if(!isdefined(var_04))
{
return;
}
switch(param_00)
{
case "scriptable_alien_lynx_jump":
case "scriptable_alien_tatra_t815_jump":
var_05 = var_04.var_134FD + "alien_approach_truck";
var_04 scripts\cp\_vo::func_CE8A(var_05);
break;
}
}
}
//Function Number: 13
func_EF35()
{
level endon("game_ended");
level.var_EF36 = [];
for(;;)
{
level waittill("scriptable",var_00);
level thread func_D5BD(var_00);
}
}
//Function Number: 14
func_6A20(param_00)
{
param_00 playlocalsound("mantle_cloth_plr_24_up");
wait(0.65);
if(param_00.var_134FD == "p1_")
{
param_00 playlocalsound("p1_breathing_better");
return;
}
if(param_00.var_134FD == "p2_")
{
param_00 playlocalsound("p2_breathing_better");
return;
}
if(param_00.var_134FD == "p3_")
{
param_00 playlocalsound("p3_breathing_better");
return;
}
if(param_00.var_134FD == "p4_")
{
param_00 playlocalsound("p4_breathing_better");
return;
}
if(param_00.var_134FD == "p5_")
{
param_00 playlocalsound("p5_breathing_better");
return;
}
if(param_00.var_134FD == "p6_")
{
param_00 playlocalsound("p5_breathing_better");
return;
}
param_00 playlocalsound("p3_breathing_better");
}
//Function Number: 15
func_CE1D(param_00,param_01,param_02,param_03,param_04,param_05)
{
var_06 = param_00 + "_solo";
if(soundexists(var_06))
{
scripts\cp\_vo::func_CE8A(var_06);
}
}
//Function Number: 16
playsoundonplayers(param_00,param_01,param_02)
{
if(level.splitscreen)
{
if(isdefined(level.players[0]))
{
level.players[0] playlocalsound(param_00);
return;
}
return;
}
if(isdefined(param_01))
{
if(isdefined(param_02))
{
for(var_03 = 0;var_03 < level.players.size;var_03++)
{
var_04 = level.players[var_03];
if(var_04 issplitscreenplayer() && !var_04 issplitscreenplayerprimary())
{
continue;
}
if(isdefined(var_04.pers["team"]) && var_04.pers["team"] == param_01 && !func_9DE5(var_04,param_02))
{
var_04 playlocalsound(param_00);
}
}
return;
}
for(var_03 = 0;var_03 < level.players.size;var_03++)
{
var_04 = level.players[var_03];
if(var_04 issplitscreenplayer() && !var_04 issplitscreenplayerprimary())
{
continue;
}
if(isdefined(var_04.pers["team"]) && var_04.pers["team"] == param_01)
{
var_04 playlocalsound(param_00);
}
}
return;
}
if(isdefined(var_03))
{
for(var_03 = 0;var_03 < level.players.size;var_03++)
{
if(level.players[var_03] issplitscreenplayer() && !level.players[var_03] issplitscreenplayerprimary())
{
continue;
}
if(!func_9DE5(level.players[var_03],param_02))
{
level.players[var_03] playlocalsound(param_00);
}
}
return;
}
for(var_03 = 0;var_03 < level.players.size;var_03++)
{
if(level.players[var_03] issplitscreenplayer() && !level.players[var_03] issplitscreenplayerprimary())
{
continue;
}
level.players[var_03] playlocalsound(param_00);
}
}
//Function Number: 17
func_9DE5(param_00,param_01)
{
for(var_02 = 0;var_02 < param_01.size;var_02++)
{
if(param_00 == param_01[var_02])
{
return 1;
}
}
return 0;
}
//Function Number: 18
func_D468(param_00,param_01,param_02,param_03,param_04,param_05,param_06)
{
var_07 = scripts\cp\_utility::func_7833();
if(var_07.size < 1)
{
return;
}
var_08 = scripts\common\utility::random(var_07);
var_09 = var_08.var_134FD + param_00;
var_08 scripts\cp\_vo::func_CE8A(var_09);
}
//Function Number: 19
func_CE7F(param_00,param_01)
{
var_02 = param_00.var_134FD + param_01;
param_00 thread scripts\cp\_vo::func_CE8A(var_02,undefined,2);
}
//Function Number: 20
func_D5A5(param_00,param_01)
{
if(scripts\cp\_utility::isplayingsolo() || level.only_one_player)
{
return;
}
var_02 = param_00.var_134FD + "last_stand";
param_00 thread scripts\cp\_vo::func_CE8A(var_02,undefined,1);
}
//Function Number: 21
func_3D8A()
{
self endon("disconnect");
self endon("death");
for(;;)
{
self waittill("last_stand");
func_5AF8();
}
}
//Function Number: 22
func_3D80()
{
for(;;)
{
level waittill("drill_planted",var_00);
level notify("vo_notify","drill_planted","drill_planted",var_00);
}
}
//Function Number: 23
func_5AF8()
{
self endon("disconnect");
self endon("death");
self endon("revive");
wait(4);
level notify("vo_notify","reaction_casualty_generic","reaction_casualty_generic",self);
wait(10);
while(self.var_2A85)
{
wait(0.1);
}
self notify("vo_notify","bleeding_out","bleeding_out",self);
wait(8);
while(self.var_2A85)
{
wait(0.1);
}
self notify("vo_notify","bleeding_out","bleeding_out",self);
}
//Function Number: 24
func_CFBC(param_00,param_01,param_02,param_03,param_04,param_05,param_06)
{
if(!isplayer(self))
{
return;
}
var_07 = scripts\cp\_utility::func_7833();
var_07 = scripts\common\utility::func_22A9(var_07,self);
if(var_07.size < 1)
{
return;
}
var_08 = var_07[0];
var_09 = var_08.var_134FD + "reaction_casualty_generic";
var_08 scripts\cp\_vo::func_CE8A(var_09,undefined,1);
}
//Function Number: 25
func_9C13(param_00,param_01)
{
for(var_02 = 0;var_02 < param_00.size;var_02++)
{
if(param_00[var_02] == param_01)
{
return 1;
}
}
return 0;
}
//Function Number: 26
func_4EBA()
{
self endon("disconnect");
level endon("game_ended");
for(;;)
{
var_00 = getdvarint("scr_player_vo_prefix",0);
if(var_00 != 0)
{
switch(var_00)
{
case 1:
self.var_134FD = "p1_";
break;
case 2:
self.var_134FD = "p2_";
break;
case 3:
self.var_134FD = "p3_";
break;
case 4:
self.var_134FD = "p4_";
break;
case 5:
self.var_134FD = "p5_";
break;
case 6:
self.var_134FD = "p6_";
break;
default:
break;
}
setdvar("scr_player_vo_prefix",0);
}
wait(1);
}
}
//Function Number: 27
func_1752(param_00,param_01,param_02,param_03,param_04,param_05,param_06)
{
if(!isdefined(level.var_1DF4))
{
level.var_1DF4 = [];
level thread func_1DF4();
}
var_07 = spawnstruct();
var_07.var_1B46 = param_00;
var_07.var_CDB8 = param_01;
var_07.var_B73E = param_02;
var_07.var_B42B = param_03;
var_07.var_BF53 = 0;
var_07.var_3C39 = param_05;
var_07.var_B44D = param_04;
if(isdefined(param_06))
{
var_07.var_BF53 = gettime() + param_06 * 1000;
}
level.var_1DF4 = scripts\common\utility::array_add_safe(level.var_1DF4,var_07);
}
//Function Number: 28
func_1DF4()
{
for(;;)
{
while(level.var_1DF4.size == 0)
{
wait(1);
}
var_00 = scripts\common\utility::array_randomize(level.var_1DF4);
foreach(var_02 in var_00)
{
if(gettime() < var_02.var_BF53 || isdefined(level.var_572E))
{
continue;
}
var_03 = randomintrange(var_02.var_B73E,var_02.var_B42B + 1);
var_04 = var_02.var_3C39;
if(scripts\cp\_utility::func_203D(var_02.var_CDB8,4096))
{
wait(1);
continue;
}
var_05 = scripts\cp\_utility::func_203D(var_02.var_CDB8,var_02.var_B44D);
if(!var_05 || randomint(100) > var_04)
{
wait(1);
continue;
}
var_06 = var_02.var_1B46;
if(isarray(var_02.var_1B46))
{
var_06 = scripts\common\utility::random(var_02.var_1B46);
}
if(soundexists(var_06))
{
playsoundatpos(var_02.var_CDB8,var_06);
}
var_02.var_BF53 = gettime() + var_03 * 1000;
wait(1);
}
wait(1);
}
}