mirror of
https://github.com/InfinityLoader/IL-GSC.git
synced 2025-06-29 02:47:56 -05:00
Added AW, BO2, Ghosts, IW, MWR, WW2 Scripts
This commit is contained in:
5287
IW/PC/ALL/scripts/cp/maps/cp_disco/cp_disco.gsc
Normal file
5287
IW/PC/ALL/scripts/cp/maps/cp_disco/cp_disco.gsc
Normal file
File diff suppressed because it is too large
Load Diff
331
IW/PC/ALL/scripts/cp/maps/cp_disco/cp_disco_challenges.gsc
Normal file
331
IW/PC/ALL/scripts/cp/maps/cp_disco/cp_disco_challenges.gsc
Normal file
@ -0,0 +1,331 @@
|
||||
/*******************************************************************
|
||||
* Decompiled By: Bog
|
||||
* Decompiled File: scripts\cp\maps\cp_disco\cp_disco_challenges.gsc
|
||||
* Game: Call of Duty: Infinite Warfare
|
||||
* Platform: PC
|
||||
* Function Count: 11
|
||||
* Decompile Time: 573 ms
|
||||
* Timestamp: 10/27/2023 12:03:47 AM
|
||||
*******************************************************************/
|
||||
|
||||
//Function Number: 1
|
||||
register_default_challenges()
|
||||
{
|
||||
scripts\common\utility::flag_init("pause_challenges");
|
||||
scripts\cp\zombies\solo_challenges::func_DEA1("tiger_1_challenge",undefined,0,::challenge_success,undefined,::activate_challenge,::func_0104,undefined,::update_disco_challenge);
|
||||
scripts\cp\zombies\solo_challenges::func_DEA1("crane_1_challenge",undefined,0,::challenge_success,undefined,::activate_challenge,::func_0104,undefined,::update_disco_challenge);
|
||||
scripts\cp\zombies\solo_challenges::func_DEA1("snake_1_challenge",undefined,0,::challenge_success,undefined,::activate_challenge,::func_0104,undefined,::update_disco_challenge);
|
||||
scripts\cp\zombies\solo_challenges::func_DEA1("dragon_1_challenge",undefined,0,::challenge_success,undefined,::activate_challenge,::func_0104,undefined,::update_disco_challenge);
|
||||
scripts\cp\zombies\solo_challenges::func_DEA1("tiger_2_challenge",undefined,0,::challenge_success,undefined,::activate_challenge,::func_0104,undefined,::update_disco_challenge);
|
||||
scripts\cp\zombies\solo_challenges::func_DEA1("crane_2_challenge",undefined,0,::challenge_success,undefined,::activate_challenge,::func_0104,undefined,::update_disco_challenge);
|
||||
scripts\cp\zombies\solo_challenges::func_DEA1("snake_2_challenge",undefined,0,::challenge_success,undefined,::activate_challenge,::func_0104,undefined,::update_disco_challenge);
|
||||
scripts\cp\zombies\solo_challenges::func_DEA1("dragon_2_challenge",undefined,0,::challenge_success,undefined,::activate_challenge,::func_0104,undefined,::update_disco_challenge);
|
||||
scripts\cp\zombies\solo_challenges::func_DEA1("tiger_3_challenge",undefined,0,::challenge_success,undefined,::activate_challenge,::func_0104,undefined,::update_disco_challenge);
|
||||
scripts\cp\zombies\solo_challenges::func_DEA1("crane_3_challenge",undefined,0,::challenge_success,undefined,::activate_challenge,::func_0104,undefined,::update_disco_challenge);
|
||||
scripts\cp\zombies\solo_challenges::func_DEA1("snake_3_challenge",undefined,0,::challenge_success,undefined,::activate_challenge,::func_0104,undefined,::update_disco_challenge);
|
||||
scripts\cp\zombies\solo_challenges::func_DEA1("dragon_3_challenge",undefined,0,::challenge_success,undefined,::activate_challenge,::func_0104,undefined,::update_disco_challenge);
|
||||
scripts\cp\zombies\solo_challenges::func_DEA1("challenge_failed",undefined,0,undefined,undefined,::scripts\cp\zombies\solo_challenges::func_5010,::scripts\cp\zombies\solo_challenges::func_5010,undefined,undefined);
|
||||
scripts\cp\zombies\solo_challenges::func_DEA1("challenge_success",undefined,0,undefined,undefined,::scripts\cp\zombies\solo_challenges::func_5010,::scripts\cp\zombies\solo_challenges::func_5010,undefined,undefined);
|
||||
}
|
||||
|
||||
//Function Number: 2
|
||||
activate_challenge(param_00)
|
||||
{
|
||||
param_00 scripts\cp\zombies\solo_challenges::func_5010();
|
||||
param_00.var_4B4A.var_4BA0 = param_00.kung_fu_progression.challenge_progress[param_00.kung_fu_progression.active_discipline];
|
||||
param_00 scripts\cp\zombies\solo_challenges::func_12D9E(param_00.var_4B4A.var_4BA0,param_00.var_4B4A.var_155);
|
||||
}
|
||||
|
||||
//Function Number: 3
|
||||
update_disco_challenge(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08)
|
||||
{
|
||||
if(scripts\common\utility::flag("pause_challenges"))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
self.var_4B4A.var_4BA0 = self.var_4B4A.var_4BA0 + param_00;
|
||||
if(self.var_4B4A.var_4BA0 >= self.var_4B4A.var_155)
|
||||
{
|
||||
self.var_4B4A.var_111AE = 1;
|
||||
}
|
||||
|
||||
scripts\cp\zombies\solo_challenges::func_12D9E(self.var_4B4A.var_4BA0,self.var_4B4A.var_155);
|
||||
if(self.var_4B4A.var_111AE)
|
||||
{
|
||||
self notify("current_challenge_ended");
|
||||
scripts\cp\zombies\solo_challenges::func_4DAE(self);
|
||||
self.current_player_challenge = undefined;
|
||||
return;
|
||||
}
|
||||
|
||||
if(scripts\common\utility::istrue(param_01))
|
||||
{
|
||||
self notify("current_challenge_ended");
|
||||
self.var_4B4A.var_111AE = 0;
|
||||
scripts\cp\zombies\solo_challenges::func_4DAE(self);
|
||||
self.current_player_challenge = undefined;
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 4
|
||||
chi_challenge_activate(param_00)
|
||||
{
|
||||
param_00 endon("disconnect");
|
||||
wait(0.1);
|
||||
var_01 = param_00.kung_fu_progression.active_discipline;
|
||||
var_02 = param_00.kung_fu_progression.disciplines_levels[param_00.kung_fu_progression.active_discipline];
|
||||
if(isdefined(param_00.current_player_challenge))
|
||||
{
|
||||
if(issubstr(param_00.current_player_challenge,var_01))
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if(var_02 < 3)
|
||||
{
|
||||
param_00 thread chi_challenge_start(var_01 + "_" + var_02 + 1 + "_challenge");
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 5
|
||||
chi_challenge_start(param_00)
|
||||
{
|
||||
scripts\cp\zombies\solo_challenges::func_15D7(param_00,self);
|
||||
}
|
||||
|
||||
//Function Number: 6
|
||||
challenge_success(param_00)
|
||||
{
|
||||
scripts\cp\maps\cp_disco\kung_fu_mode::update_player_abilities(param_00,param_00.kung_fu_progression.active_discipline);
|
||||
var_01 = 0;
|
||||
param_00 thread scripts\cp\_vo::try_to_play_vo("challenge_success_chi","zmb_comment_vo","low",10,0,0,1,100);
|
||||
var_02 = param_00.kung_fu_progression.disciplines_levels[param_00.kung_fu_progression.active_discipline];
|
||||
switch(param_00.kung_fu_progression.active_discipline)
|
||||
{
|
||||
case "snake":
|
||||
if(var_02 == 1)
|
||||
{
|
||||
var_01 = 1;
|
||||
param_00 thread scripts\cp\_vo::try_to_play_vo("pam_rank_snake_1","pam_dialogue_vo");
|
||||
}
|
||||
else if(var_02 == 2)
|
||||
{
|
||||
var_01 = 2;
|
||||
param_00 thread scripts\cp\_vo::try_to_play_vo("pam_rank_snake_2","pam_dialogue_vo");
|
||||
}
|
||||
else if(var_02 == 3)
|
||||
{
|
||||
var_01 = 3;
|
||||
param_00.chi_master_snake = 1;
|
||||
param_00 thread scripts\cp\_vo::try_to_play_vo("pam_rank_snake_3","pam_dialogue_vo");
|
||||
param_00 scripts\cp\_merits::func_D9AD("mt_dlc2_chi_master");
|
||||
}
|
||||
break;
|
||||
|
||||
case "dragon":
|
||||
if(var_02 == 1)
|
||||
{
|
||||
var_01 = 10;
|
||||
param_00 thread scripts\cp\_vo::try_to_play_vo("pam_rank_dragon_1","pam_dialogue_vo");
|
||||
}
|
||||
else if(var_02 == 2)
|
||||
{
|
||||
var_01 = 11;
|
||||
param_00 thread scripts\cp\_vo::try_to_play_vo("pam_rank_dragon_2","pam_dialogue_vo");
|
||||
}
|
||||
else if(var_02 == 3)
|
||||
{
|
||||
var_01 = 12;
|
||||
param_00 thread scripts\cp\_vo::try_to_play_vo("pam_rank_dragon_3","pam_dialogue_vo");
|
||||
param_00.chi_master_dragon = 1;
|
||||
param_00 scripts\cp\_merits::func_D9AD("mt_dlc2_chi_master");
|
||||
}
|
||||
break;
|
||||
|
||||
case "crane":
|
||||
if(var_02 == 1)
|
||||
{
|
||||
var_01 = 7;
|
||||
param_00 thread scripts\cp\_vo::try_to_play_vo("pam_rank_crane_1","pam_dialogue_vo");
|
||||
}
|
||||
else if(var_02 == 2)
|
||||
{
|
||||
var_01 = 8;
|
||||
param_00 thread scripts\cp\_vo::try_to_play_vo("pam_rank_crane_2","pam_dialogue_vo");
|
||||
}
|
||||
else if(var_02 == 3)
|
||||
{
|
||||
var_01 = 9;
|
||||
param_00 thread scripts\cp\_vo::try_to_play_vo("pam_rank_crane_3","pam_dialogue_vo");
|
||||
param_00.chi_master_crane = 1;
|
||||
param_00 scripts\cp\_merits::func_D9AD("mt_dlc2_chi_master");
|
||||
}
|
||||
break;
|
||||
|
||||
case "tiger":
|
||||
if(var_02 == 1)
|
||||
{
|
||||
var_01 = 4;
|
||||
param_00 thread scripts\cp\_vo::try_to_play_vo("pam_rank_tiger_1","pam_dialogue_vo");
|
||||
}
|
||||
else if(var_02 == 2)
|
||||
{
|
||||
var_01 = 5;
|
||||
param_00 thread scripts\cp\_vo::try_to_play_vo("pam_rank_tiger_2","pam_dialogue_vo");
|
||||
}
|
||||
else if(var_02 == 3)
|
||||
{
|
||||
var_01 = 6;
|
||||
param_00 thread scripts\cp\_vo::try_to_play_vo("pam_rank_tiger_3","pam_dialogue_vo");
|
||||
param_00.chi_master_tiger = 1;
|
||||
param_00 scripts\cp\_merits::func_D9AD("mt_dlc2_chi_master");
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
param_00 setclientomnvarbit("zm_challenges_completed",var_01,1);
|
||||
if(scripts\common\utility::istrue(param_00.chi_master_tiger) && scripts\common\utility::istrue(param_00.chi_master_dragon) && scripts\common\utility::istrue(param_00.chi_master_snake) && scripts\common\utility::istrue(param_00.chi_master_crane))
|
||||
{
|
||||
param_00 lib_0D2A::func_12D7C("SHAOLIN_SKILLS",1);
|
||||
param_00 thread scripts\cp\_vo::try_to_play_vo("pam_rank_all_max","pam_dialogue_vo");
|
||||
}
|
||||
|
||||
param_00.kung_fu_progression.challenge_progress[param_00.kung_fu_progression.active_discipline] = 0;
|
||||
if(isdefined(self.var_111AE))
|
||||
{
|
||||
return self.var_111AE;
|
||||
}
|
||||
|
||||
return self.var_5021;
|
||||
}
|
||||
|
||||
//Function Number: 7
|
||||
func_0104(param_00)
|
||||
{
|
||||
}
|
||||
|
||||
//Function Number: 8
|
||||
challenge_scalar_func(param_00)
|
||||
{
|
||||
var_01 = func_7C28(param_00);
|
||||
return var_01;
|
||||
}
|
||||
|
||||
//Function Number: 9
|
||||
func_7C28(param_00)
|
||||
{
|
||||
var_01 = level.var_13F16;
|
||||
var_02 = 0;
|
||||
var_03 = 1;
|
||||
var_04 = 99;
|
||||
var_05 = 1;
|
||||
var_06 = 9;
|
||||
for(var_07 = var_03;var_07 <= var_04;var_07++)
|
||||
{
|
||||
var_08 = tablelookup(var_01,var_02,var_07,var_05);
|
||||
if(var_08 == "")
|
||||
{
|
||||
return undefined;
|
||||
}
|
||||
|
||||
if(var_08 != param_00)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
var_09 = tablelookup(var_01,var_02,var_07,var_06);
|
||||
if(isdefined(var_09))
|
||||
{
|
||||
var_09 = strtok(var_09," ");
|
||||
if(var_09.size > 0)
|
||||
{
|
||||
return int(var_09[0]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 10
|
||||
default_playerdamage_challenge_func(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08)
|
||||
{
|
||||
if(!isdefined(level.var_4B4A))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
if(scripts\common\utility::flag("pause_challenges"))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
//Function Number: 11
|
||||
default_death_challenge_func(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08)
|
||||
{
|
||||
var_09 = param_01;
|
||||
if(isdefined(param_01.playerowner) && param_01.playerowner scripts\cp\_utility::is_valid_player(1))
|
||||
{
|
||||
var_09 = param_01.playerowner;
|
||||
}
|
||||
|
||||
if(!isdefined(var_09.current_player_challenge) || !isdefined(var_09.kung_fu_progression.active_discipline))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
if(!isdefined(param_04))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
var_0A = var_09.kung_fu_progression.active_discipline;
|
||||
var_0B = var_09.kung_fu_progression.disciplines_levels[var_09.kung_fu_progression.active_discipline];
|
||||
switch(var_0B)
|
||||
{
|
||||
case 0:
|
||||
if(!issubstr(param_04,"fists_zm_"))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
break;
|
||||
|
||||
case 1:
|
||||
if(param_04 != "iw7_shuriken_" + var_0A + "_proj" && param_04 != "iw7_shuriken_zm_" + var_0A)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
break;
|
||||
|
||||
case 2:
|
||||
if(param_04 == "none" && !isplayer(param_01))
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
if(var_0A == "tiger" && param_03 == "MOD_EXPLOSIVE" && param_04 == "none")
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
if(!issubstr(param_04,"fists_zm_") || param_03 != "MOD_UNKNOWN")
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
break;
|
||||
|
||||
case 3:
|
||||
if(param_04 != "power_repulsor")
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
var_09.kung_fu_progression.challenge_progress[var_09.kung_fu_progression.active_discipline]++;
|
||||
var_09 thread scripts\cp\zombies\solo_challenges::func_12D9C(var_0A + "_" + var_0B + 1 + "_challenge",1);
|
||||
return 0;
|
||||
}
|
390
IW/PC/ALL/scripts/cp/maps/cp_disco/cp_disco_crafting.gsc
Normal file
390
IW/PC/ALL/scripts/cp/maps/cp_disco/cp_disco_crafting.gsc
Normal file
@ -0,0 +1,390 @@
|
||||
/*******************************************************************
|
||||
* Decompiled By: Bog
|
||||
* Decompiled File: scripts\cp\maps\cp_disco\cp_disco_crafting.gsc
|
||||
* Game: Call of Duty: Infinite Warfare
|
||||
* Platform: PC
|
||||
* Function Count: 14
|
||||
* Decompile Time: 777 ms
|
||||
* Timestamp: 10/27/2023 12:03:48 AM
|
||||
*******************************************************************/
|
||||
|
||||
//Function Number: 1
|
||||
init_crafting()
|
||||
{
|
||||
level.var_CC0C = [];
|
||||
level.crafting_icon_create_func = ::func_4939;
|
||||
func_9596("craft_lavalamp",(1,1,1));
|
||||
func_9596("craft_boombox",(1,0,0));
|
||||
func_9596("craft_turret",(0,1,0));
|
||||
func_9596("craft_robot",(0,0,1));
|
||||
func_9596("craft_zombgone",(1,1,0));
|
||||
var_00 = scripts\common\utility::getstructarray("puzzle","script_noteworthy");
|
||||
foreach(var_02 in var_00)
|
||||
{
|
||||
var_02.var_4C72 = 96;
|
||||
var_02.disable_guided_interactions = 1;
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 2
|
||||
is_valid_tile_spot()
|
||||
{
|
||||
var_00 = [(-1803,2629,937),(-1138,3784,782),(-2407.5,3456,494.5),(-1928.5,3815.5,750.5),(-1911,4188.5,742)];
|
||||
foreach(var_02 in var_00)
|
||||
{
|
||||
if(self.origin == var_02)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
//Function Number: 3
|
||||
func_9596(param_00,param_01)
|
||||
{
|
||||
var_02 = scripts\common\utility::getstruct(param_00,"script_noteworthy");
|
||||
var_02.var_1157E = getentarray(var_02.target,"targetname");
|
||||
foreach(var_04 in var_02.var_1157E)
|
||||
{
|
||||
if(issubstr(var_04.model,"tile"))
|
||||
{
|
||||
var_04.ispuzzlepiece = 1;
|
||||
var_04.table_pos = var_04.origin;
|
||||
var_05 = get_puzzle_piece_location(param_00);
|
||||
var_04.origin = var_05.origin;
|
||||
var_05.var_195 = var_04;
|
||||
if(isdefined(var_05.angles))
|
||||
{
|
||||
var_04.angles = var_05.angles;
|
||||
}
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
var_02.crafted_item = var_04;
|
||||
}
|
||||
|
||||
var_07 = scripts\common\utility::getstructarray("puzzle","script_noteworthy");
|
||||
foreach(var_09 in var_07)
|
||||
{
|
||||
if(var_09.name == param_00 && !scripts\common\utility::istrue(var_09.var_1305B))
|
||||
{
|
||||
scripts\cp\_interaction::remove_from_current_interaction_list(var_09);
|
||||
}
|
||||
}
|
||||
|
||||
var_02.remaining_pieces = 3;
|
||||
var_02.puzzle_complete = 0;
|
||||
level.interactions[param_00].disable_guided_interactions = 1;
|
||||
}
|
||||
|
||||
//Function Number: 4
|
||||
func_12FBE(param_00,param_01)
|
||||
{
|
||||
if(scripts\common\utility::istrue(param_01.kung_fu_mode))
|
||||
{
|
||||
param_01 playlocalsound("perk_machine_deny");
|
||||
return;
|
||||
}
|
||||
|
||||
if(!scripts\common\utility::func_2286(level.current_interaction_structs,param_00))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if(param_00.remaining_pieces > 0)
|
||||
{
|
||||
if(!isdefined(param_01.puzzle_piece))
|
||||
{
|
||||
param_01 thread scripts\cp\_vo::try_to_play_vo("missing_item_misc","disco_comment_vo");
|
||||
return;
|
||||
}
|
||||
|
||||
if(param_01.puzzle_piece != param_00.script_noteworthy)
|
||||
{
|
||||
param_01 playlocalsound("perk_machine_deny");
|
||||
return;
|
||||
}
|
||||
|
||||
param_01 playlocalsound("zmb_coin_sounvenir_place");
|
||||
param_01 thread scripts\cp\_vo::try_to_play_vo("place_puzzle","disco_comment_vo");
|
||||
show_next_piece(param_00);
|
||||
param_01 setclientomnvar("zombie_souvenir_piece_index",0);
|
||||
param_01.puzzle_piece = undefined;
|
||||
param_01.var_A8D3 = undefined;
|
||||
param_00.remaining_pieces--;
|
||||
param_01 scripts\cp\_merits::func_D9AD("mt_used_crafting");
|
||||
if(param_00.remaining_pieces > 0)
|
||||
{
|
||||
param_01 scripts\cp\_utility::play_interaction_gesture("iw7_souvenircoin_zm");
|
||||
return;
|
||||
}
|
||||
|
||||
scripts\cp\_interaction::remove_from_current_interaction_list(param_00);
|
||||
playfx(level._effect["crafting_souvenir"],param_00.crafted_item.origin);
|
||||
wait(2);
|
||||
param_00.crafted_item show();
|
||||
param_00.scriptable_part_name = param_00.script_noteworthy;
|
||||
param_00.crafted_item setscriptablepartstate("active",param_00.scriptable_part_name);
|
||||
param_00.puzzle_complete = 1;
|
||||
param_00.crafted_item playsound("zmb_coin_appear");
|
||||
if(param_01 scripts\cp\_utility::is_valid_player())
|
||||
{
|
||||
param_01 thread scripts\cp\_vo::try_to_play_vo("puzzle_craft_success","zmb_comment_vo","low",10,0,0,0,50);
|
||||
}
|
||||
|
||||
scripts\cp\_vo::func_E01F("nag_puzzle");
|
||||
switch(param_00.script_noteworthy)
|
||||
{
|
||||
case "craft_zombgone":
|
||||
param_00.script_noteworthy = "purchase_zombgone";
|
||||
break;
|
||||
|
||||
case "craft_turret":
|
||||
param_00.script_noteworthy = "purchase_turret";
|
||||
break;
|
||||
|
||||
case "craft_boombox":
|
||||
param_00.script_noteworthy = "purchase_boombox";
|
||||
break;
|
||||
|
||||
case "craft_lavalamp":
|
||||
param_00.script_noteworthy = "purchase_lavalamp";
|
||||
break;
|
||||
|
||||
case "craft_robot":
|
||||
param_00.script_noteworthy = "purchase_robot";
|
||||
break;
|
||||
}
|
||||
|
||||
scripts\cp\_interaction::add_to_current_interaction_list(param_00);
|
||||
level.interactions[param_00.script_noteworthy].disable_guided_interactions = 0;
|
||||
return;
|
||||
}
|
||||
|
||||
param_01 scripts\cp\_utility::play_interaction_gesture();
|
||||
param_01.craftables = scripts\common\utility::func_22A9(param_01.craftables,param_00.script_noteworthy);
|
||||
param_01 playlocalsound("part_pickup");
|
||||
switch(param_00.script_noteworthy)
|
||||
{
|
||||
case "purchase_zombgone":
|
||||
var_02 = ["collect_craft_misc","collect_craft_zombgone"];
|
||||
param_01 thread scripts\cp\_vo::try_to_play_vo(scripts\common\utility::random(var_02),"disco_comment_vo");
|
||||
param_01 thread scripts\cp\powers\coop_powers::func_8397("power_holyWater","secondary",undefined,undefined,undefined,0,0);
|
||||
param_00.crafted_item setscriptablepartstate("active","pickup_zbc");
|
||||
param_01 notify("new_power","crafted_zombgone");
|
||||
break;
|
||||
|
||||
case "purchase_turret":
|
||||
param_01 thread scripts\cp\_vo::try_to_play_vo("collect_craft_misc","disco_comment_vo");
|
||||
scripts\cp\_weapon_autosentry::func_82BA(param_00,param_01);
|
||||
param_00.crafted_item setscriptablepartstate("active","pickup_turret");
|
||||
break;
|
||||
|
||||
case "purchase_boombox":
|
||||
param_01 thread scripts\cp\_vo::try_to_play_vo("collect_craft_misc","disco_comment_vo");
|
||||
scripts\cp\zombies\craftables\_boombox::func_82B4(param_00,param_01);
|
||||
param_00.crafted_item setscriptablepartstate("active","pickup_boombox");
|
||||
break;
|
||||
|
||||
case "purchase_lavalamp":
|
||||
var_02 = ["collect_craft_misc","collect_craft_lava"];
|
||||
param_01 thread scripts\cp\_vo::try_to_play_vo(scripts\common\utility::random(var_02),"disco_comment_vo");
|
||||
scripts\cp\crafted_trap_lavalamp::give_crafted_lavalamp_trap(param_00,param_01);
|
||||
param_00.crafted_item setscriptablepartstate("active","pickup_lavalamp");
|
||||
break;
|
||||
|
||||
case "purchase_robot":
|
||||
param_01 thread scripts\cp\_vo::try_to_play_vo("collect_craft_misc","disco_comment_vo");
|
||||
scripts\cp\crafted_trap_robot::give_crafted_robot_trap(param_00,param_01);
|
||||
param_00.crafted_item setscriptablepartstate("active","pickup_robot");
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
crafting_cooldown(param_00);
|
||||
param_00.crafted_item setscriptablepartstate("active","default");
|
||||
wait(1);
|
||||
param_00.crafted_item setscriptablepartstate("active",param_00.scriptable_part_name);
|
||||
}
|
||||
|
||||
//Function Number: 5
|
||||
crafting_cooldown(param_00,param_01)
|
||||
{
|
||||
param_00.var_4622 = 1;
|
||||
level scripts\common\utility::func_13734("regular_wave_starting","event_wave_starting");
|
||||
wait(1);
|
||||
level scripts\common\utility::func_13734("regular_wave_starting","event_wave_starting");
|
||||
param_00.var_4622 = undefined;
|
||||
var_02 = 5184;
|
||||
foreach(var_04 in level.players)
|
||||
{
|
||||
if(distancesquared(var_04.origin,param_00.origin) >= var_02)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
var_04 scripts\cp\_interaction::func_DE6E();
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 6
|
||||
show_next_piece(param_00)
|
||||
{
|
||||
foreach(var_02 in param_00.var_1157E)
|
||||
{
|
||||
if(scripts\common\utility::istrue(var_02.ispuzzlepiece) && scripts\common\utility::istrue(var_02.hidden))
|
||||
{
|
||||
var_02.origin = var_02.table_pos;
|
||||
var_02 show();
|
||||
var_02.hidden = undefined;
|
||||
switch(param_00.script_noteworthy)
|
||||
{
|
||||
case "craft_zombgone":
|
||||
playfx(level._effect["zbc_tile_pup"],var_02.origin + (0,0,5));
|
||||
break;
|
||||
|
||||
case "craft_turret":
|
||||
playfx(level._effect["turret_tile_pup"],var_02.origin + (0,0,5));
|
||||
break;
|
||||
|
||||
case "craft_boombox":
|
||||
playfx(level._effect["boombox_tile_pup"],var_02.origin + (0,0,5));
|
||||
break;
|
||||
|
||||
case "craft_lavalamp":
|
||||
playfx(level._effect["lavalamp_tile_pup"],var_02.origin + (0,0,5));
|
||||
break;
|
||||
|
||||
case "craft_robot":
|
||||
playfx(level._effect["robot_tile_pup"],var_02.origin + (0,0,5));
|
||||
break;
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 7
|
||||
func_4939()
|
||||
{
|
||||
self setclientomnvar("zombie_souvenir_piece_index",1);
|
||||
}
|
||||
|
||||
//Function Number: 8
|
||||
func_47A5(param_00,param_01)
|
||||
{
|
||||
}
|
||||
|
||||
//Function Number: 9
|
||||
func_113C5(param_00,param_01,param_02)
|
||||
{
|
||||
return tablelookup(param_00,0,param_01,param_02);
|
||||
}
|
||||
|
||||
//Function Number: 10
|
||||
func_7A27(param_00)
|
||||
{
|
||||
return tablelookup("scripts/cp/maps/cp_zmb/cp_zmb_crafting.csv",1,param_00,0);
|
||||
}
|
||||
|
||||
//Function Number: 11
|
||||
get_puzzle_piece_location(param_00)
|
||||
{
|
||||
var_01 = scripts\common\utility::getstructarray("puzzle","script_noteworthy");
|
||||
var_02 = [];
|
||||
foreach(var_04 in var_01)
|
||||
{
|
||||
if(!var_04 is_valid_tile_spot())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if(var_04.name == param_00 && !scripts\common\utility::istrue(var_04.var_1305B))
|
||||
{
|
||||
var_02[var_02.size] = var_04;
|
||||
}
|
||||
}
|
||||
|
||||
var_02 = scripts\common\utility::array_randomize(var_02);
|
||||
var_02[0].var_1305B = 1;
|
||||
return var_02[0];
|
||||
}
|
||||
|
||||
//Function Number: 12
|
||||
repopulate_puzzle_piece()
|
||||
{
|
||||
self.puzzle_interaction.var_195 show();
|
||||
self.puzzle_interaction.var_195.hidden = undefined;
|
||||
scripts\cp\_interaction::add_to_current_interaction_list(self.puzzle_interaction);
|
||||
self.puzzle_piece = undefined;
|
||||
self.puzzle_interaction = undefined;
|
||||
}
|
||||
|
||||
//Function Number: 13
|
||||
pickup_puzzle(param_00,param_01)
|
||||
{
|
||||
if(isdefined(param_01.puzzle_piece) || scripts\common\utility::istrue(param_01.kung_fu_mode))
|
||||
{
|
||||
param_01 playlocalsound("perk_machine_deny");
|
||||
return;
|
||||
}
|
||||
|
||||
param_01 playlocalsound("zmb_coin_pickup");
|
||||
param_01 thread scripts\cp\_vo::try_to_play_vo("collect_puzzle","disco_comment_vo");
|
||||
param_01 scripts\cp\_vo::func_1769("nag_puzzle","disco_comment_vo",120,120,4,1);
|
||||
param_01.puzzle_piece = param_00.name;
|
||||
param_01.puzzle_interaction = param_00;
|
||||
param_00.var_195 hide();
|
||||
param_00.var_195.hidden = 1;
|
||||
var_02 = 1;
|
||||
switch(param_00.name)
|
||||
{
|
||||
case "craft_boombox":
|
||||
var_02 = 1;
|
||||
playfx(level._effect["boombox_tile_pup"],param_00.var_195.origin + (0,0,5));
|
||||
break;
|
||||
|
||||
case "craft_zombgone":
|
||||
var_02 = 2;
|
||||
playfx(level._effect["zbc_tile_pup"],param_00.var_195.origin + (0,0,5));
|
||||
break;
|
||||
|
||||
case "craft_turret":
|
||||
var_02 = 3;
|
||||
playfx(level._effect["turret_tile_pup"],param_00.var_195.origin + (0,0,5));
|
||||
break;
|
||||
|
||||
case "craft_lavalamp":
|
||||
var_02 = 4;
|
||||
playfx(level._effect["lavalamp_tile_pup"],param_00.var_195.origin + (0,0,5));
|
||||
break;
|
||||
|
||||
case "craft_robot":
|
||||
var_02 = 5;
|
||||
playfx(level._effect["robot_tile_pup"],param_00.var_195.origin + (0,0,5));
|
||||
break;
|
||||
}
|
||||
|
||||
scripts\cp\_interaction::remove_from_current_interaction_list(param_00);
|
||||
param_01 setclientomnvar("zombie_souvenir_piece_index",var_02);
|
||||
param_01 thread reset_puzzle_piece_on_disconnect();
|
||||
}
|
||||
|
||||
//Function Number: 14
|
||||
reset_puzzle_piece_on_disconnect()
|
||||
{
|
||||
self notify("reset_puzzle_piece_on_disconnect");
|
||||
self endon("reset_puzzle_piece_on_disconnect");
|
||||
self endon("death");
|
||||
var_00 = self.puzzle_interaction;
|
||||
self waittill("disconnect");
|
||||
var_00.var_195 show();
|
||||
var_00.var_195.hidden = undefined;
|
||||
scripts\cp\_interaction::add_to_current_interaction_list(var_00);
|
||||
}
|
1705
IW/PC/ALL/scripts/cp/maps/cp_disco/cp_disco_damage.gsc
Normal file
1705
IW/PC/ALL/scripts/cp/maps/cp_disco/cp_disco_damage.gsc
Normal file
File diff suppressed because it is too large
Load Diff
420
IW/PC/ALL/scripts/cp/maps/cp_disco/cp_disco_fast_travel.gsc
Normal file
420
IW/PC/ALL/scripts/cp/maps/cp_disco/cp_disco_fast_travel.gsc
Normal file
@ -0,0 +1,420 @@
|
||||
/*******************************************************************
|
||||
* Decompiled By: Bog
|
||||
* Decompiled File: scripts\cp\maps\cp_disco\cp_disco_fast_travel.gsc
|
||||
* Game: Call of Duty: Infinite Warfare
|
||||
* Platform: PC
|
||||
* Function Count: 13
|
||||
* Decompile Time: 767 ms
|
||||
* Timestamp: 10/27/2023 12:03:50 AM
|
||||
*******************************************************************/
|
||||
|
||||
//Function Number: 1
|
||||
init_teleport_portals()
|
||||
{
|
||||
wait(5);
|
||||
var_00 = scripts\common\utility::getstructarray("fast_travel_portal","targetname");
|
||||
foreach(var_02 in var_00)
|
||||
{
|
||||
var_02 thread trigger_when_player_close_by();
|
||||
wait(0.1);
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 2
|
||||
trigger_when_player_close_by()
|
||||
{
|
||||
var_00 = getentarray("chi_door_fast_travel_portal_trigger","targetname");
|
||||
self.trigger = scripts\common\utility::getclosest(self.origin,var_00,500);
|
||||
self.start_point_name = self.script_noteworthy;
|
||||
self.end_point_name = self.var_EE79;
|
||||
self.end_point = scripts\common\utility::getstruct(self.var_EE79,"script_noteworthy");
|
||||
self.teleport_door = scripts\common\utility::getclosest(self.origin,getentarray("chi_door_fast_travel","targetname"));
|
||||
var_01 = getentarray("chi_door_fast_travel_symbol","targetname");
|
||||
if(isdefined(var_01))
|
||||
{
|
||||
self.teleport_door_symbol = scripts\common\utility::getclosest(self.origin,var_01);
|
||||
}
|
||||
|
||||
self.var_DDC4 = [];
|
||||
self.var_4613 = 0;
|
||||
self.var_C626 = 0;
|
||||
if(!isdefined(self.angles))
|
||||
{
|
||||
self.angles = (0,0,0);
|
||||
}
|
||||
|
||||
self.teleport_spots = scripts\common\utility::getstructarray(self.end_point.target,"targetname");
|
||||
script_add_teleport_spots();
|
||||
foreach(var_03 in self.teleport_spots)
|
||||
{
|
||||
if(!isdefined(var_03.angles))
|
||||
{
|
||||
var_03.angles = (0,0,0);
|
||||
}
|
||||
}
|
||||
|
||||
self.teleport_door setcandamage(1);
|
||||
self.teleport_door setcanradiusdamage(1);
|
||||
self.teleport_door.health = 10000000;
|
||||
for(;;)
|
||||
{
|
||||
self.teleport_door waittill("damage",var_05,var_06,var_07,var_08,var_09,var_0A,var_0B,var_0C,var_0D,var_0E);
|
||||
if(is_shuriken(var_0E))
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
if(isplayer(var_06) && scripts\common\utility::istrue(var_06.kung_fu_mode))
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
wait(0.1);
|
||||
}
|
||||
|
||||
self.var_C626 = 1;
|
||||
self.teleport_door hide();
|
||||
if(isdefined(self.teleport_door_symbol))
|
||||
{
|
||||
self.teleport_door_symbol hide();
|
||||
}
|
||||
|
||||
var_0F = scripts\common\utility::getstructarray("chi_door_fast_travel_portal_spot","targetname");
|
||||
self.portal_spot = scripts\common\utility::getclosest(self.origin,var_0F,500);
|
||||
self.portal_scriptable = spawn("script_model",self.portal_spot.origin + (0,0,53));
|
||||
self.portal_scriptable setmodel("tag_origin_chi_portal");
|
||||
self.portal_scriptable.angles = self.angles;
|
||||
playsoundatpos(self.portal_spot.origin,"cp_disco_doorbuy_wood_break");
|
||||
self.portal_scriptable setscriptablepartstate("portal","door_break");
|
||||
var_06 thread scripts\cp\_vo::try_to_play_vo("door_wooden_sucess","disco_comment_vo");
|
||||
thread portal_cooldown_monitor();
|
||||
wait(1);
|
||||
for(;;)
|
||||
{
|
||||
self.trigger waittill("trigger",var_10);
|
||||
if(scripts\common\utility::istrue(var_10.isrewinding))
|
||||
{
|
||||
scripts\common\utility::func_136F7();
|
||||
var_10 thread scripts\cp\maps\cp_disco\cp_disco::update_special_mode_for_player(var_10);
|
||||
continue;
|
||||
}
|
||||
|
||||
if(scripts\common\utility::istrue(var_10.inlaststand))
|
||||
{
|
||||
scripts\common\utility::func_136F7();
|
||||
continue;
|
||||
}
|
||||
|
||||
if(!isplayer(var_10))
|
||||
{
|
||||
scripts\common\utility::func_136F7();
|
||||
continue;
|
||||
}
|
||||
|
||||
if(self.end_point.var_C626 && self.var_4613 <= 0)
|
||||
{
|
||||
if(isdefined(level.clock_interaction_q2))
|
||||
{
|
||||
if(scripts\common\utility::istrue(level.clock_interaction_q2.clock_active))
|
||||
{
|
||||
self.end_point.var_4613 = 0;
|
||||
var_10.travelled_thru_portal = 1;
|
||||
var_10.portal_start_origin = var_10.origin;
|
||||
}
|
||||
else
|
||||
{
|
||||
self.end_point.var_4613 = self.end_point.var_4613 + 30;
|
||||
}
|
||||
}
|
||||
else if(isdefined(level.clock_interaction_q3))
|
||||
{
|
||||
if(scripts\common\utility::istrue(level.clock_interaction_q3.clock_active))
|
||||
{
|
||||
self.end_point.var_4613 = 0;
|
||||
var_10.travelled_thru_portal = 1;
|
||||
var_10.portal_start_origin = var_10.origin;
|
||||
}
|
||||
else
|
||||
{
|
||||
self.end_point.var_4613 = self.end_point.var_4613 + 30;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
self.end_point.var_4613 = self.end_point.var_4613 + 30;
|
||||
}
|
||||
|
||||
move_player_through_portal_tube(var_10);
|
||||
}
|
||||
|
||||
wait(0.1);
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 3
|
||||
is_shuriken(param_00)
|
||||
{
|
||||
if(isdefined(param_00))
|
||||
{
|
||||
if(issubstr(param_00,"shuriken"))
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
//Function Number: 4
|
||||
script_add_teleport_spots()
|
||||
{
|
||||
var_00 = [];
|
||||
if(self.teleport_spots[0].origin == (-758,1902,800))
|
||||
{
|
||||
var_00 = [(-758,1928,800),(-730,1902,800),(-758,1878,800)];
|
||||
}
|
||||
else if(self.teleport_spots[0].origin == (-2332,3146,266))
|
||||
{
|
||||
var_00 = [(-2308,3146,266),(-2332,3122,266),(-2356,3146,266)];
|
||||
}
|
||||
else if(self.teleport_spots[0].origin == (-970,514,944))
|
||||
{
|
||||
var_00 = [(-1004,514,944),(-970,542,944),(-938,514,944)];
|
||||
}
|
||||
else if(self.teleport_spots[0].origin == (-2288,4728,784))
|
||||
{
|
||||
var_00 = [(-2314,4728,784),(-2288,4700,784),(-2264,4728,784)];
|
||||
}
|
||||
|
||||
var_01 = self.teleport_spots[0].angles;
|
||||
foreach(var_03 in var_00)
|
||||
{
|
||||
var_04 = spawnstruct();
|
||||
var_04.origin = var_03;
|
||||
var_04.angles = var_01;
|
||||
var_04.var_336 = self.teleport_spots[0].var_336;
|
||||
self.teleport_spots[self.teleport_spots.size] = var_04;
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 5
|
||||
turn_on_portal()
|
||||
{
|
||||
self.portal_scriptable setscriptablepartstate("portal","active");
|
||||
}
|
||||
|
||||
//Function Number: 6
|
||||
watch_for_rewind_quest()
|
||||
{
|
||||
self endon("disconnect");
|
||||
for(;;)
|
||||
{
|
||||
if(!scripts\common\utility::istrue(self.isrewinding))
|
||||
{
|
||||
scripts\common\utility::func_136F7();
|
||||
continue;
|
||||
}
|
||||
|
||||
if(!isdefined(self.rewindmover))
|
||||
{
|
||||
if(isdefined(self.quest_num))
|
||||
{
|
||||
self.quest_num = int(self.quest_num);
|
||||
scripts\cp\zombies\zombie_afterlife_arcade::func_1794();
|
||||
thread scripts\cp\zombies\zombie_afterlife_arcade::func_E0AE(0.05);
|
||||
thread scripts\cp\maps\cp_disco\cp_disco_interactions::play_fx_rewind(0.05);
|
||||
var_00 = level.clock[self.quest_num - 1].origin;
|
||||
var_01 = level.clock[self.quest_num - 1].angles;
|
||||
var_02 = getclosestpointonnavmesh(var_00);
|
||||
self setorigin(var_02,0);
|
||||
self setvelocity((0,0,0));
|
||||
self setstance("stand");
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
scripts\common\utility::func_136F7();
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 7
|
||||
move_player_through_portal_tube(param_00)
|
||||
{
|
||||
param_00 endon("disconnect");
|
||||
param_00 thread watch_for_rewind_quest();
|
||||
param_00 scripts\cp\powers\coop_powers::func_D728();
|
||||
param_00.disable_consumables = 1;
|
||||
param_00.isfasttravelling = 1;
|
||||
param_00 method_80F3();
|
||||
param_00 notify("delete_equipment");
|
||||
param_00 scripts\cp\zombies\zombie_afterlife_arcade::func_1794();
|
||||
var_01 = scripts\cp\maps\cp_disco\cp_disco::func_BC83(param_00,"fast_travel_tube_start","fast_travel_tube_end",1);
|
||||
self.var_4613 = self.var_4613 + 30;
|
||||
teleport_to_portal_safe_spot(param_00);
|
||||
param_00 thread scripts\cp\zombies\zombie_afterlife_arcade::func_E0AE(0.1);
|
||||
wait(0.1);
|
||||
var_01 delete();
|
||||
if(scripts\common\utility::istrue(param_00.travelled_thru_portal))
|
||||
{
|
||||
if(isdefined(level.clock_interaction_q2))
|
||||
{
|
||||
if(!scripts\common\utility::istrue(level.clock_interaction_q2.clock_active))
|
||||
{
|
||||
param_00.travelled_thru_portal = undefined;
|
||||
}
|
||||
}
|
||||
}
|
||||
else if(scripts\common\utility::istrue(param_00.travelled_thru_portal))
|
||||
{
|
||||
if(isdefined(level.clock_interaction_q3))
|
||||
{
|
||||
if(!scripts\common\utility::istrue(level.clock_interaction_q3.clock_active))
|
||||
{
|
||||
param_00.travelled_thru_portal = undefined;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(scripts\common\utility::istrue(param_00.var_13DB4))
|
||||
{
|
||||
param_00 lib_0D12::func_6978(1);
|
||||
param_00.var_13DB4 = 0;
|
||||
}
|
||||
|
||||
param_00 scripts\cp\_utility::func_E0E6("papRoom",0);
|
||||
param_00.var_9C54 = undefined;
|
||||
param_00.kicked_out = undefined;
|
||||
param_00.isfasttravelling = undefined;
|
||||
param_00 notify("fast_travel_complete");
|
||||
param_00.disable_consumables = undefined;
|
||||
param_00 scripts\cp\powers\coop_powers::func_D72E();
|
||||
param_00 thread update_personal_ents_after_delay();
|
||||
if(param_00.var_134FD == "p5_")
|
||||
{
|
||||
param_00 thread scripts\cp\_vo::try_to_play_vo("fasttravel_exit","disco_comment_vo");
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 8
|
||||
move_zombie_through_portal_tube(param_00)
|
||||
{
|
||||
param_00.isfasttravelling = 1;
|
||||
var_01 = scripts\cp\maps\cp_disco\cp_disco::func_BC83(param_00,"fast_travel_tube_start","fast_travel_tube_end",1);
|
||||
teleport_to_portal_safe_spot(param_00);
|
||||
wait(0.1);
|
||||
var_01 delete();
|
||||
param_00.isfasttravelling = undefined;
|
||||
}
|
||||
|
||||
//Function Number: 9
|
||||
update_personal_ents_after_delay()
|
||||
{
|
||||
self endon("disconnect");
|
||||
scripts\common\utility::func_136F7();
|
||||
scripts\cp\_interaction::func_DE6E();
|
||||
thread scripts\cp\maps\cp_disco\cp_disco::update_special_mode_for_player(self);
|
||||
}
|
||||
|
||||
//Function Number: 10
|
||||
unlinkplayerafterduration()
|
||||
{
|
||||
while(scripts\common\utility::istrue(self.isrewinding) || isdefined(self.rewindmover))
|
||||
{
|
||||
wait(0.1);
|
||||
}
|
||||
|
||||
self unlink();
|
||||
}
|
||||
|
||||
//Function Number: 11
|
||||
teleport_to_portal_safe_spot(param_00)
|
||||
{
|
||||
var_01 = self.teleport_spots;
|
||||
var_02 = undefined;
|
||||
while(!isdefined(var_02))
|
||||
{
|
||||
foreach(var_04 in var_01)
|
||||
{
|
||||
if(!positionwouldtelefrag(var_04.origin))
|
||||
{
|
||||
var_02 = var_04;
|
||||
}
|
||||
}
|
||||
|
||||
if(!isdefined(var_02))
|
||||
{
|
||||
if(!isdefined(var_01[0].angles))
|
||||
{
|
||||
var_01[0].angles = (0,0,0);
|
||||
}
|
||||
|
||||
var_06 = scripts\cp\_utility::func_13192(anglestoforward(var_01[0].angles),64);
|
||||
var_02 = spawnstruct();
|
||||
var_02.origin = var_01[0].origin + var_06;
|
||||
var_02.angles = var_01[0].angles;
|
||||
}
|
||||
|
||||
wait(0.1);
|
||||
}
|
||||
|
||||
param_00 method_8447();
|
||||
if(scripts\common\utility::istrue(param_00.isrewinding) || isdefined(self.rewindmover))
|
||||
{
|
||||
param_00 thread unlinkplayerafterduration();
|
||||
}
|
||||
else
|
||||
{
|
||||
param_00 unlink();
|
||||
}
|
||||
|
||||
param_00 dontinterpolate();
|
||||
param_00 setorigin(var_02.origin);
|
||||
param_00 setplayerangles(var_02.angles);
|
||||
param_00.disable_consumables = undefined;
|
||||
param_00 scripts\cp\powers\coop_powers::func_D72E();
|
||||
param_00.portal_end_origin = var_02.origin;
|
||||
}
|
||||
|
||||
//Function Number: 12
|
||||
delay_portal_trigger_on_player(param_00,param_01)
|
||||
{
|
||||
wait(param_01);
|
||||
param_00.recently_used_portal = undefined;
|
||||
wait(param_01 * 2);
|
||||
self.var_DDC4 = scripts\common\utility::func_22A9(self.var_DDC4,param_00);
|
||||
}
|
||||
|
||||
//Function Number: 13
|
||||
portal_cooldown_monitor()
|
||||
{
|
||||
self.portal_scriptable setscriptablepartstate("portal","cooldown");
|
||||
while(!self.end_point.var_C626)
|
||||
{
|
||||
wait(0.1);
|
||||
}
|
||||
|
||||
var_00 = 0.1;
|
||||
for(;;)
|
||||
{
|
||||
if(self.var_4613 > 0)
|
||||
{
|
||||
self.var_4613 = self.var_4613 - var_00;
|
||||
if(self.portal_scriptable method_8551("portal") != "cooldown")
|
||||
{
|
||||
self.portal_scriptable setscriptablepartstate("portal","cooldown");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
self.portal_scriptable setscriptablepartstate("portal",self.end_point_name);
|
||||
}
|
||||
|
||||
if(self.var_4613 < 0)
|
||||
{
|
||||
self.var_4613 = 0;
|
||||
}
|
||||
|
||||
wait(var_00);
|
||||
}
|
||||
}
|
220
IW/PC/ALL/scripts/cp/maps/cp_disco/cp_disco_fx.gsc
Normal file
220
IW/PC/ALL/scripts/cp/maps/cp_disco/cp_disco_fx.gsc
Normal file
@ -0,0 +1,220 @@
|
||||
/*******************************************************************
|
||||
* Decompiled By: Bog
|
||||
* Decompiled File: scripts\cp\maps\cp_disco\cp_disco_fx.gsc
|
||||
* Game: Call of Duty: Infinite Warfare
|
||||
* Platform: PC
|
||||
* Function Count: 1
|
||||
* Decompile Time: 116 ms
|
||||
* Timestamp: 10/27/2023 12:03:50 AM
|
||||
*******************************************************************/
|
||||
|
||||
//Function Number: 1
|
||||
main()
|
||||
{
|
||||
level._effect["vfx_elec_speakers"] = loadfx("vfx/iw7/levels/cp_disco/traps/vfx_elec_speakers.vfx");
|
||||
level._effect["vfx_park_lensflares"] = loadfx("vfx/iw7/levels/cp_disco/amb/vfx_park_lensflares.vfx");
|
||||
level._effect["vfx_traffic_light_flash"] = loadfx("vfx/iw7/levels/cp_disco/amb/vfx_traffic_light_flash.vfx");
|
||||
level._effect["vfx_streetlight_cone"] = loadfx("vfx/iw7/levels/cp_disco/amb/vfx_streetlight_cone.vfx");
|
||||
level._effect["vfx_dojo_incense"] = loadfx("vfx/iw7/levels/cp_disco/amb/vfx_dojo_incense.vfx");
|
||||
level._effect["vfx_candle_flame_nl"] = loadfx("vfx/iw7/levels/cp_disco/amb/vfx_candle_flame_nl.vfx");
|
||||
level._effect["vfx_car_tail_light_nl"] = loadfx("vfx/iw7/levels/cp_disco/amb/vfx_car_tail_light_nl.vfx");
|
||||
level._effect["vfx_zmb_b_light_f"] = loadfx("vfx/iw7/levels/cp_disco/amb/vfx_zmb_b_light_f.vfx");
|
||||
level._effect["vfx_hydrant_broken"] = loadfx("vfx/iw7/levels/cp_disco/amb/vfx_hydrant_broken.vfx");
|
||||
level._effect["vfx_bus_tail_light"] = loadfx("vfx/iw7/levels/cp_disco/amb/vfx_bus_tail_light.vfx");
|
||||
level._effect["vfx_bus_lensflare"] = loadfx("vfx/iw7/levels/cp_disco/amb/vfx_bus_lensflare.vfx");
|
||||
level._effect["vfx_pipe_smoke"] = loadfx("vfx/iw7/levels/cp_disco/amb/vfx_pipe_smoke.vfx");
|
||||
level._effect["vfx_disco_police_lights2"] = loadfx("vfx/iw7/levels/cp_disco/amb/vfx_disco_police_lights2.vfx");
|
||||
level._effect["vfx_car_tail_light"] = loadfx("vfx/iw7/levels/cp_disco/amb/vfx_car_tail_light.vfx");
|
||||
level._effect["vfx_amb_motes_bright"] = loadfx("vfx/iw7/levels/cp_disco/amb/vfx_amb_motes_bright.vfx");
|
||||
level._effect["vfx_elec_fence"] = loadfx("vfx/iw7/levels/cp_disco/traps/vfx_elec_fence.vfx");
|
||||
level._effect["vfx_disco_sewage_start"] = loadfx("vfx/iw7/levels/cp_disco/vfx_disco_sewage_start.vfx");
|
||||
level._effect["vfx_signal_flare_red"] = loadfx("vfx/iw7/levels/cp_disco/amb/vfx_signal_flare_red.vfx");
|
||||
level._effect["vfx_hole_billow"] = loadfx("vfx/iw7/levels/cp_disco/amb/vfx_hole_billow.vfx");
|
||||
level._effect["vfx_win_fire_dist"] = loadfx("vfx/iw7/levels/cp_disco/amb/vfx_win_fire_dist.vfx");
|
||||
level._effect["vfx_cbgb_lf_01"] = loadfx("vfx/iw7/levels/cp_disco/amb/vfx_cbgb_lf_01.vfx");
|
||||
level._effect["vfx_candle_flame"] = loadfx("vfx/iw7/levels/cp_disco/amb/vfx_candle_flame.vfx");
|
||||
level._effect["vfx_board_fire"] = loadfx("vfx/iw7/levels/cp_disco/amb/vfx_board_fire.vfx");
|
||||
level._effect["vfx_pallet_fire"] = loadfx("vfx/iw7/levels/cp_disco/amb/vfx_pallet_fire.vfx");
|
||||
level._effect["vfx_disco_police_lights"] = loadfx("vfx/iw7/levels/cp_disco/amb/vfx_disco_police_lights.vfx");
|
||||
level._effect["vfx_stud69_lf_01"] = loadfx("vfx/iw7/levels/cp_disco/amb/vfx_stud69_lf_01.vfx");
|
||||
level._effect["vfx_amb_motes"] = loadfx("vfx/iw7/levels/cp_disco/amb/vfx_amb_motes.vfx");
|
||||
level._effect["vfx_oasis_gnat_swarm"] = loadfx("vfx/iw7/levels/mp_marsoasis/vfx_oasis_gnat_swarm.vfx");
|
||||
level._effect["vfx_sewer_grate_steam"] = loadfx("vfx/iw7/levels/cp_disco/amb/vfx_sewer_grate_steam.vfx");
|
||||
level._effect["vfx_incandescent_lf_02"] = loadfx("vfx/iw7/levels/cp_disco/amb/vfx_incandescent_lf_02.vfx");
|
||||
level._effect["vfx_car_headlight"] = loadfx("vfx/iw7/levels/cp_disco/amb/vfx_car_headlight.vfx");
|
||||
level._effect["vfx_ftn_stream_01"] = loadfx("vfx/iw7/levels/cp_disco/amb/vfx_ftn_stream_01.vfx");
|
||||
level._effect["vfx_trash_drift_01"] = loadfx("vfx/iw7/levels/cp_disco/amb/vfx_trash_drift_01.vfx");
|
||||
level._effect["vfx_debris_swirl_01"] = loadfx("vfx/iw7/levels/cp_disco/amb/vfx_debris_swirl_01.vfx");
|
||||
level._effect["vfx_incandescent_lf"] = loadfx("vfx/iw7/levels/cp_disco/amb/vfx_incandescent_lf.vfx");
|
||||
level._effect["vfx_tunnel_lensflare"] = loadfx("vfx/iw7/levels/cp_disco/amb/vfx_tunnel_lensflare.vfx");
|
||||
level._effect["vfx_grate_steam_01"] = loadfx("vfx/iw7/levels/cp_disco/amb/vfx_grate_steam_01.vfx");
|
||||
level._effect["vfx_light_mist"] = loadfx("vfx/iw7/levels/cp_disco/amb/vfx_light_mist.vfx");
|
||||
level._effect["vfx_water_drips_line"] = loadfx("vfx/iw7/levels/cp_disco/amb/vfx_water_drips_line.vfx");
|
||||
level._effect["vfx_water_drips_circle"] = loadfx("vfx/iw7/levels/cp_disco/amb/vfx_water_drips_circle.vfx");
|
||||
level._effect["vfx_broken_pipe_steam"] = loadfx("vfx/iw7/levels/cp_disco/amb/vfx_broken_pipe_steam.vfx");
|
||||
level._effect["vfx_dust_fall_tunnel"] = loadfx("vfx/iw7/levels/cp_disco/amb/vfx_dust_fall_tunnel.vfx");
|
||||
level._effect["vfx_dust_fall_platform"] = loadfx("vfx/iw7/levels/cp_disco/amb/vfx_dust_fall_platform.vfx");
|
||||
level._effect["vfx_trash_flies"] = loadfx("vfx/iw7/levels/cp_disco/amb/vfx_trash_flies.vfx");
|
||||
level._effect["vfx_amb_moth_b"] = loadfx("vfx/iw7/levels/cp_disco/amb/vfx_amb_moth_b.vfx");
|
||||
level._effect["vfx_amb_moth_a"] = loadfx("vfx/iw7/levels/cp_disco/amb/vfx_amb_moth_a.vfx");
|
||||
level._effect["vfx_door_buy_sml"] = loadfx("vfx/iw7/levels/cp_disco/vfx_door_buy_sml.vfx");
|
||||
level._effect["vfx_door_buy_lrg"] = loadfx("vfx/iw7/levels/cp_disco/vfx_door_buy_lrg.vfx");
|
||||
level._effect["vfx_zmb_orange_blink"] = loadfx("vfx/iw7/levels/cp_disco/vfx_zmb_orange_blink.vfx");
|
||||
level._effect["vfx_shock_barrier_water2"] = loadfx("vfx/iw7/levels/cp_disco/traps/vfx_shock_barrier_water2.vfx");
|
||||
level._effect["vfx_shock_barrier_water"] = loadfx("vfx/iw7/levels/cp_disco/traps/vfx_shock_barrier_water.vfx");
|
||||
level._effect["vfx_disco_shock_barrier"] = loadfx("vfx/iw7/levels/cp_disco/traps/vfx_disco_shock_barrier.vfx");
|
||||
level._effect["vfx_sewer_trap_dust"] = loadfx("vfx/iw7/_requests/coop/vfx_sewer_trap_dust.vfx");
|
||||
level._effect["vfx_ratking_generate"] = loadfx("vfx/iw7/levels/cp_disco/rat_king/vfx_ratking_generate.vfx");
|
||||
level._effect["vfx_zb_spark_b"] = loadfx("vfx/iw7/levels/cp_disco/amb/vfx_zb_spark_b.vfx");
|
||||
level._effect["vfx_zb_spark_a"] = loadfx("vfx/iw7/levels/cp_disco/amb/vfx_zb_spark_a.vfx");
|
||||
level._effect["vfx_zb_carfire_b"] = loadfx("vfx/iw7/levels/cp_disco/amb/vfx_zb_cf_b.vfx");
|
||||
level._effect["vfx_zb_carfire_a"] = loadfx("vfx/iw7/levels/cp_disco/amb/vfx_zb_cf_a.vfx");
|
||||
level._effect["vfx_zb_carfire_c"] = loadfx("vfx/iw7/levels/cp_disco/amb/vfx_zb_cf_c.vfx");
|
||||
level._effect["vfx_smoke_dist"] = loadfx("vfx/iw7/levels/cp_disco/amb/vfx_smoke_dist.vfx");
|
||||
level._effect["vfx_rat_p2p"] = loadfx("vfx/iw7/levels/cp_disco/amb/vfx_rat_p2p.vfx");
|
||||
level._effect["vfx_zb_pack_grd_d"] = loadfx("vfx/iw7/core/zombie/pack_a_punch/vfx_zb_pack_grd_d.vfx");
|
||||
level._effect["vfx_zb_pack_grd_e"] = loadfx("vfx/iw7/core/zombie/pack_a_punch/vfx_zb_pack_grd_e.vfx");
|
||||
level._effect["vfx_zb_pack_grd_c"] = loadfx("vfx/iw7/core/zombie/pack_a_punch/vfx_zb_pack_grd_c.vfx");
|
||||
level._effect["vfx_zb_pack_grd_b"] = loadfx("vfx/iw7/core/zombie/pack_a_punch/vfx_zb_pack_grd_b.vfx");
|
||||
level._effect["vfx_zb_pack_grd_a"] = loadfx("vfx/iw7/core/zombie/pack_a_punch/vfx_zb_pack_grd_a.vfx");
|
||||
level._effect["vfx_zb_sj_smk"] = loadfx("vfx/iw7/core/zombie/pack_a_punch/vfx_zb_sj_smk.vfx");
|
||||
level._effect["vfx_zb_pack_glow_ground_b"] = loadfx("vfx/iw7/core/zombie/pack_a_punch/vfx_zb_pack_glow_ground_b.vfx");
|
||||
level._effect["vfx_zb_pack_glow"] = loadfx("vfx/iw7/core/zombie/pack_a_punch/vfx_zb_pack_glow.vfx");
|
||||
level._effect["vfx_zmb_candle_flame"] = loadfx("vfx/iw7/core/zombie/pack_a_punch/vfx_zmb_candle_flame.vfx");
|
||||
level._effect["vfx_zb_pack_grd_small_a"] = loadfx("vfx/iw7/core/zombie/frontend/vfx_zb_a.vfx");
|
||||
level._effect["vfx_zb_pack_grd_small_b"] = loadfx("vfx/iw7/core/zombie/frontend/vfx_zb_b.vfx");
|
||||
level._effect["melee_impact"] = loadfx("vfx/iw7/core/zombie/vfx_zmb_gore_melee_imp.vfx");
|
||||
level._effect["vfx_magicwheel_fire"] = loadfx("vfx/iw7/_requests/coop/vfx_magicwheel_fire.vfx");
|
||||
level._effect["vfx_zmb_portal_centhub"] = loadfx("vfx/iw7/core/zombie/vfx_zmb_portal_centhub.vfx");
|
||||
level._effect["cone_expl_fx"] = loadfx("vfx/iw7/core/muzflash/rvn/vfx_rvn_defib_legend_cone.vfx");
|
||||
level._effect["pillage_box"] = loadfx("vfx/iw7/levels/cp_disco/collect/vfx_zmb_disco_pillage_box.vfx");
|
||||
level._effect["exp_touch"] = loadfx("vfx/iw7/levels/cp_rave/vfx_explosive_touch.vfx");
|
||||
level._effect["lava_torrent"] = loadfx("vfx/iw7/levels/cp_rave/vfx_lava_erupt_fnf.vfx");
|
||||
level._effect["fire_chains"] = loadfx("vfx/iw7/core/zombie/cards/vfx_zmb_fcb.vfx");
|
||||
level._effect["fire_chains_target"] = loadfx("vfx/iw7/core/zombie/cards/vfx_zmb_fcb_imp.vfx");
|
||||
level._effect["rat_swarm"] = loadfx("vfx/iw7/levels/cp_jac/rat/vfx_rat_heat.vfx");
|
||||
level._effect["rat_swarm_cheap"] = loadfx("vfx/iw7/levels/cp_disco/rat_king/vfx_rat_heat_body.vfx");
|
||||
level._effect["zombie_freeze_shatter"] = loadfx("vfx/iw7/core/zombie/zombie_ice_chunks.vfx");
|
||||
level._effect["twister"] = loadfx("vfx/iw7/core/zombie/vfx_fnf_twister.vfx");
|
||||
level._effect["radar_ping"] = loadfx("vfx/iw7/_requests/mp/vfx_pulse_ping.vfx");
|
||||
level._effect["life_link"] = loadfx("vfx/iw7/core/zombie/vfx_zmb_life_link_beam.vfx");
|
||||
level._effect["life_link_target"] = loadfx("vfx/iw7/core/zombie/cards/vfx_zmb_life_link_beam_send.vfx");
|
||||
level._effect["rat_eye_rats"] = loadfx("vfx/iw7/levels/cp_disco/rat_king/vfx_rk_zb_scan_player.vfx");
|
||||
level._effect["rat_eye"] = loadfx("vfx/iw7/levels/cp_disco/rat_king/vfx_rk_zb_scan_player_b.vfx");
|
||||
level._effect["nunchuck_pap1"] = loadfx("vfx/iw7/levels/cp_disco/vfx_nunch_pap1.vfx");
|
||||
level._effect["nunchuck_pap2"] = loadfx("vfx/iw7/levels/cp_disco/vfx_nunch_pap2.vfx");
|
||||
level._effect["katana_windforce"] = loadfx("vfx/iw7/core/zombie/weapon/katana/vfx_zmb_katana_pap2_atk_main.vfx");
|
||||
level._effect["katana_pap1_earth"] = loadfx("vfx/iw7/core/zombie/weapon/katana/vfx_zmb_katana_pap1_atk_main.vfx");
|
||||
level._effect["katana_pap1_tell"] = loadfx("vfx/iw7/core/zombie/katana_pap1/katanapap1_tell.vfx");
|
||||
level._effect["katana_pap1_subside"] = loadfx("vfx/iw7/core/zombie/weapon/katana/vfx_zmb_katana_pap1_atk_exit.vfx");
|
||||
level._effect["tiger_slam_ring"] = loadfx("vfx/iw7/_requests/mp/vfx_groundpound_aerial_ring.vfx");
|
||||
level._effect["tiger_slam_dust"] = loadfx("vfx/iw7/core/mp/powers/thrust_blast/vfx_htdk.vfx");
|
||||
level._effect["blue_ark_beam"] = loadfx("vfx/iw7/core/zombie/vfx_zmb_shock_beam_blue.vfx");
|
||||
level._effect["buffer_smoke"] = loadfx("vfx/iw7/levels/cp_disco/traps/vfx_disco_floorbuffer_smoke.vfx");
|
||||
level._effect["boombox_tile_pup"] = loadfx("vfx/iw7/levels/cp_disco/vfx_crft_bbox_pup.vfx");
|
||||
level._effect["zbc_tile_pup"] = loadfx("vfx/iw7/levels/cp_disco/vfx_crft_zclean_pup.vfx");
|
||||
level._effect["turret_tile_pup"] = loadfx("vfx/iw7/levels/cp_disco/vfx_crft_turret_pup.vfx");
|
||||
level._effect["lavalamp_tile_pup"] = loadfx("vfx/iw7/levels/cp_disco/vfx_crft_lava_pup.vfx");
|
||||
level._effect["robot_tile_pup"] = loadfx("vfx/iw7/levels/cp_disco/vfx_crft_robot_pup.vfx");
|
||||
level._effect["crafting_souvenir"] = loadfx("vfx/iw7/_requests/coop/zmb_souvenir_craft.vfx");
|
||||
level._effect["crafting_pickup"] = loadfx("vfx/iw7/core/zombie/vfx_zom_souvenir_pickup.vfx");
|
||||
level._effect["robot_zap"] = loadfx("vfx/iw7/levels/cp_disco/traps/vfx_robot_laser.vfx");
|
||||
level._effect["projector_light"] = loadfx("vfx/iw7/levels/cp_rave/vfx_pap_proj_light.vfx");
|
||||
level._effect["vfx_pap_portal"] = loadfx("vfx/iw7/levels/cp_rave/vfx_rave_portal_02.vfx");
|
||||
level._effect["vfx_pap_return_portal"] = loadfx("vfx/iw7/levels/cp_disco/vfx_paproom_portal.vfx");
|
||||
level._effect["vfx_pap_portal_cooldown"] = loadfx("vfx/iw7/levels/cp_disco/vfx_paproom_portal_cooldown.vfx");
|
||||
level._effect["fuse_sparks"] = loadfx("vfx/iw7/core/zombie/vfx_disco_fuse_sparks.vfx");
|
||||
level._effect["fuse_charged"] = loadfx("vfx/iw7/core/zombie/vfx_disco_fuse_charged.vfx");
|
||||
level._effect["shock_melee_impact"] = loadfx("vfx/iw7/core/zombie/vfx_zmb_elec_knife_impact.vfx");
|
||||
level._effect["atomize_body"] = loadfx("vfx/iw7/_requests/mp/vfx_atomize_body.vfx");
|
||||
level._effect["challenge_ring"] = loadfx("vfx/iw7/levels/cp_disco/vfx_pgq_melee_radius.vfx");
|
||||
level._effect["test_glyph_mpq"] = loadfx("vfx/iw7/levels/cp_disco/Requests/vfx_symbol_hunt_glyph.vfx");
|
||||
level._effect["disco_fever"] = loadfx("vfx/iw7/levels/cp_disco/Requests/vfx_disco_fever.vfx");
|
||||
level._effect["locker_key"] = loadfx("vfx/iw7/levels/cp_disco/Requests/vfx_locker_key.vfx");
|
||||
level._effect["turnstile_arm"] = loadfx("vfx/iw7/levels/cp_disco/Requests/vfx_turnstile_arm.vfx");
|
||||
level._effect["rat_cage_poof"] = loadfx("vfx/iw7/levels/cp_disco/karate_master/vfx_km_spawn_in.vfx");
|
||||
level._effect["trolltastic"] = loadfx("vfx/iw7/levels/cp_disco/Requests/vfx_trolltastic_photo.vfx");
|
||||
level._effect["spotlight_flare"] = loadfx("vfx/iw7/levels/cp_disco/vfx_spotlight_flare.vfx");
|
||||
level._effect["spotlight_x"] = loadfx("vfx/iw7/levels/cp_disco/vfx_spotlight_marker.vfx");
|
||||
level._effect["electric_trap"] = loadfx("vfx/iw7/core/zombie/vfx_disco_trap_electric.vfx");
|
||||
level._effect["electric_trap_attack"] = loadfx("vfx/iw7/core/zombie/vfx_disco_trap_beam.vfx");
|
||||
level._effect["electric_trap_shock"] = loadfx("vfx/iw7/core/zombie/traps/electric_trap/vfx_zmb_hit_shock.vfx");
|
||||
level._effect["electric_shock_plyr"] = loadfx("vfx/iw7/_requests/mp/vfx_arc_gren_scrn_dmg.vfx");
|
||||
level._effect["templeton"] = loadfx("vfx/iw7/levels/cp_disco/rat_king/ratking_ch/vfx_zmb_rat_cage");
|
||||
level._effect["cipher_alphabet_a"] = loadfx("vfx/iw7/levels/cp_disco/alphabet/vfx_quest_glyph_green_a");
|
||||
level._effect["cipher_alphabet_b"] = loadfx("vfx/iw7/levels/cp_disco/alphabet/vfx_quest_glyph_green_b");
|
||||
level._effect["cipher_alphabet_c"] = loadfx("vfx/iw7/levels/cp_disco/alphabet/vfx_quest_glyph_green_c");
|
||||
level._effect["cipher_alphabet_d"] = loadfx("vfx/iw7/levels/cp_disco/alphabet/vfx_quest_glyph_green_d");
|
||||
level._effect["cipher_alphabet_e"] = loadfx("vfx/iw7/levels/cp_disco/alphabet/vfx_quest_glyph_green_e");
|
||||
level._effect["cipher_alphabet_f"] = loadfx("vfx/iw7/levels/cp_disco/alphabet/vfx_quest_glyph_green_f");
|
||||
level._effect["cipher_alphabet_g"] = loadfx("vfx/iw7/levels/cp_disco/alphabet/vfx_quest_glyph_green_g");
|
||||
level._effect["cipher_alphabet_h"] = loadfx("vfx/iw7/levels/cp_disco/alphabet/vfx_quest_glyph_green_h");
|
||||
level._effect["cipher_alphabet_i"] = loadfx("vfx/iw7/levels/cp_disco/alphabet/vfx_quest_glyph_green_i");
|
||||
level._effect["cipher_alphabet_j"] = loadfx("vfx/iw7/levels/cp_disco/alphabet/vfx_quest_glyph_green_j");
|
||||
level._effect["cipher_alphabet_k"] = loadfx("vfx/iw7/levels/cp_disco/alphabet/vfx_quest_glyph_green_k");
|
||||
level._effect["cipher_alphabet_l"] = loadfx("vfx/iw7/levels/cp_disco/alphabet/vfx_quest_glyph_green_l");
|
||||
level._effect["cipher_alphabet_m"] = loadfx("vfx/iw7/levels/cp_disco/alphabet/vfx_quest_glyph_green_m");
|
||||
level._effect["cipher_alphabet_n"] = loadfx("vfx/iw7/levels/cp_disco/alphabet/vfx_quest_glyph_green_n");
|
||||
level._effect["cipher_alphabet_o"] = loadfx("vfx/iw7/levels/cp_disco/alphabet/vfx_quest_glyph_green_o");
|
||||
level._effect["cipher_alphabet_p"] = loadfx("vfx/iw7/levels/cp_disco/alphabet/vfx_quest_glyph_green_p");
|
||||
level._effect["cipher_alphabet_q"] = loadfx("vfx/iw7/levels/cp_disco/alphabet/vfx_quest_glyph_green_q");
|
||||
level._effect["cipher_alphabet_r"] = loadfx("vfx/iw7/levels/cp_disco/alphabet/vfx_quest_glyph_green_r");
|
||||
level._effect["cipher_alphabet_s"] = loadfx("vfx/iw7/levels/cp_disco/alphabet/vfx_quest_glyph_green_s");
|
||||
level._effect["cipher_alphabet_t"] = loadfx("vfx/iw7/levels/cp_disco/alphabet/vfx_quest_glyph_green_t");
|
||||
level._effect["cipher_alphabet_u"] = loadfx("vfx/iw7/levels/cp_disco/alphabet/vfx_quest_glyph_green_u");
|
||||
level._effect["cipher_alphabet_v"] = loadfx("vfx/iw7/levels/cp_disco/alphabet/vfx_quest_glyph_green_v");
|
||||
level._effect["cipher_alphabet_w"] = loadfx("vfx/iw7/levels/cp_disco/alphabet/vfx_quest_glyph_green_w");
|
||||
level._effect["cipher_alphabet_x"] = loadfx("vfx/iw7/levels/cp_disco/alphabet/vfx_quest_glyph_green_x");
|
||||
level._effect["cipher_alphabet_y"] = loadfx("vfx/iw7/levels/cp_disco/alphabet/vfx_quest_glyph_green_y");
|
||||
level._effect["cipher_alphabet_z"] = loadfx("vfx/iw7/levels/cp_disco/alphabet/vfx_quest_glyph_green_z");
|
||||
level._effect["magnet_alphabet_a"] = loadfx("vfx/iw7/levels/cp_disco/alphabet/vfx_quest_magnet_letter_a");
|
||||
level._effect["magnet_alphabet_b"] = loadfx("vfx/iw7/levels/cp_disco/alphabet/vfx_quest_magnet_letter_b");
|
||||
level._effect["magnet_alphabet_c"] = loadfx("vfx/iw7/levels/cp_disco/alphabet/vfx_quest_magnet_letter_c");
|
||||
level._effect["magnet_alphabet_d"] = loadfx("vfx/iw7/levels/cp_disco/alphabet/vfx_quest_magnet_letter_d");
|
||||
level._effect["magnet_alphabet_e"] = loadfx("vfx/iw7/levels/cp_disco/alphabet/vfx_quest_magnet_letter_e");
|
||||
level._effect["magnet_alphabet_f"] = loadfx("vfx/iw7/levels/cp_disco/alphabet/vfx_quest_magnet_letter_f");
|
||||
level._effect["magnet_alphabet_g"] = loadfx("vfx/iw7/levels/cp_disco/alphabet/vfx_quest_magnet_letter_g");
|
||||
level._effect["magnet_alphabet_h"] = loadfx("vfx/iw7/levels/cp_disco/alphabet/vfx_quest_magnet_letter_h");
|
||||
level._effect["magnet_alphabet_i"] = loadfx("vfx/iw7/levels/cp_disco/alphabet/vfx_quest_magnet_letter_i");
|
||||
level._effect["magnet_alphabet_j"] = loadfx("vfx/iw7/levels/cp_disco/alphabet/vfx_quest_magnet_letter_j");
|
||||
level._effect["magnet_alphabet_k"] = loadfx("vfx/iw7/levels/cp_disco/alphabet/vfx_quest_magnet_letter_k");
|
||||
level._effect["magnet_alphabet_l"] = loadfx("vfx/iw7/levels/cp_disco/alphabet/vfx_quest_magnet_letter_l");
|
||||
level._effect["magnet_alphabet_m"] = loadfx("vfx/iw7/levels/cp_disco/alphabet/vfx_quest_magnet_letter_m");
|
||||
level._effect["magnet_alphabet_n"] = loadfx("vfx/iw7/levels/cp_disco/alphabet/vfx_quest_magnet_letter_n");
|
||||
level._effect["magnet_alphabet_o"] = loadfx("vfx/iw7/levels/cp_disco/alphabet/vfx_quest_magnet_letter_o");
|
||||
level._effect["magnet_alphabet_p"] = loadfx("vfx/iw7/levels/cp_disco/alphabet/vfx_quest_magnet_letter_p");
|
||||
level._effect["magnet_alphabet_q"] = loadfx("vfx/iw7/levels/cp_disco/alphabet/vfx_quest_magnet_letter_q");
|
||||
level._effect["magnet_alphabet_r"] = loadfx("vfx/iw7/levels/cp_disco/alphabet/vfx_quest_magnet_letter_r");
|
||||
level._effect["magnet_alphabet_s"] = loadfx("vfx/iw7/levels/cp_disco/alphabet/vfx_quest_magnet_letter_s");
|
||||
level._effect["magnet_alphabet_t"] = loadfx("vfx/iw7/levels/cp_disco/alphabet/vfx_quest_magnet_letter_t");
|
||||
level._effect["magnet_alphabet_u"] = loadfx("vfx/iw7/levels/cp_disco/alphabet/vfx_quest_magnet_letter_u");
|
||||
level._effect["magnet_alphabet_v"] = loadfx("vfx/iw7/levels/cp_disco/alphabet/vfx_quest_magnet_letter_v");
|
||||
level._effect["magnet_alphabet_w"] = loadfx("vfx/iw7/levels/cp_disco/alphabet/vfx_quest_magnet_letter_w");
|
||||
level._effect["magnet_alphabet_x"] = loadfx("vfx/iw7/levels/cp_disco/alphabet/vfx_quest_magnet_letter_x");
|
||||
level._effect["magnet_alphabet_y"] = loadfx("vfx/iw7/levels/cp_disco/alphabet/vfx_quest_magnet_letter_y");
|
||||
level._effect["magnet_alphabet_z"] = loadfx("vfx/iw7/levels/cp_disco/alphabet/vfx_quest_magnet_letter_z");
|
||||
level._effect["powerup_additive_fx"] = loadfx("vfx/iw7/core/zombie/powerups/vfx_pwrup_additive.vfx");
|
||||
level._effect["bloody_death"] = loadfx("vfx/iw7/core/zombie/cards/vfx_zmb_card_headshot_exp.vfx");
|
||||
level._effect["extra_cash_kill"] = loadfx("vfx/iw7/core/zombie/vfx_zmb_money_cash_imp_exp.vfx");
|
||||
level._effect["vfx_magicwheel_toy_pop"] = loadfx("vfx/iw7/core/zombie/magicwheel/vfx_magicwheel_toy_pop.vfx");
|
||||
level._effect["relic_idle"] = loadfx("vfx/iw7/levels/cp_disco/rat_king/vfx_disco_relic_idle.vfx");
|
||||
level._effect["relic_active"] = loadfx("vfx/iw7/levels/cp_disco/rat_king/vfx_disco_relic_active.vfx");
|
||||
level._effect["relic_center"] = loadfx("vfx/iw7/levels/cp_disco/rat_king/vfx_disco_relic_center.vfx");
|
||||
level._effect["rk_tele_spot"] = loadfx("vfx/iw7/levels/cp_disco/rat_king/vfx_ratking_tele_spot.vfx");
|
||||
level._effect["rk_blocking"] = loadfx("vfx/iw7/levels/cp_disco/rat_king/vfx_rk_blocking.vfx");
|
||||
level._effect["glyph_death"] = loadfx("vfx/iw7/levels/cp_disco/rat_king/vfx_disco_relic_des.vfx");
|
||||
level._effect["dodge_ground_spark_fx"] = loadfx("vfx/core/mp/killstreaks/vfx_ims_sparks");
|
||||
level._effect["dodge_fwd_screen"] = loadfx("vfx/iw7/levels/cp_town/dodge/vfx_zb_fwd.vfx");
|
||||
level._effect["dodge_back_screen"] = loadfx("vfx/iw7/levels/cp_town/dodge/vfx_zb_back.vfx");
|
||||
level._effect["dodge_left_screen"] = loadfx("vfx/iw7/levels/cp_town/dodge/vfx_zb_left.vfx");
|
||||
level._effect["dodge_right_screen"] = loadfx("vfx/iw7/levels/cp_town/dodge/vfx_zb_right.vfx");
|
||||
level._effect["dodge_fwd_left_screen"] = loadfx("vfx/iw7/levels/cp_town/dodge/vfx_zb_fwd_left.vfx");
|
||||
level._effect["dodge_fwd_right_screen"] = loadfx("vfx/iw7/levels/cp_town/dodge/vfx_zb_fwd_right.vfx");
|
||||
level._effect["dodge_back_left_screen"] = loadfx("vfx/iw7/levels/cp_town/dodge/vfx_zb_back_left.vfx");
|
||||
level._effect["dodge_back_right_screen"] = loadfx("vfx/iw7/levels/cp_town/dodge/vfx_back_right.vfx");
|
||||
level._effect["dodge_touch"] = loadfx("vfx/iw7/levels/cp_town/dodge/vfx_zb_dodge_touch.vfx");
|
||||
level._effect["stimulus_shield"] = loadfx("vfx/iw7/levels/cp_town/fnf/vfx_stimulus_heal_scrn.vfx");
|
||||
level._effect["stimulus_glow_burst"] = loadfx("vfx/iw7/levels/cp_town/fnf/vfx_stimulus_burst.vfx");
|
||||
level._effect["ammo_crate_fx"] = loadfx("vfx/iw7/levels/cp_town/craft/vfx_cp_town_ammo_idle.vfx");
|
||||
level._effect["ammo_crate_ping"] = loadfx("vfx/iw7/levels/cp_town/vfx_cp_town_ammo_flash.vfx");
|
||||
}
|
2525
IW/PC/ALL/scripts/cp/maps/cp_disco/cp_disco_ghost_activation.gsc
Normal file
2525
IW/PC/ALL/scripts/cp/maps/cp_disco/cp_disco_ghost_activation.gsc
Normal file
File diff suppressed because it is too large
Load Diff
4476
IW/PC/ALL/scripts/cp/maps/cp_disco/cp_disco_interactions.gsc
Normal file
4476
IW/PC/ALL/scripts/cp/maps/cp_disco/cp_disco_interactions.gsc
Normal file
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,56 @@
|
||||
/*******************************************************************
|
||||
* Decompiled By: Bog
|
||||
* Decompiled File: scripts\cp\maps\cp_disco\cp_disco_player_character_setup.gsc
|
||||
* Game: Call of Duty: Infinite Warfare
|
||||
* Platform: PC
|
||||
* Function Count: 2
|
||||
* Decompile Time: 151 ms
|
||||
* Timestamp: 10/27/2023 12:04:06 AM
|
||||
*******************************************************************/
|
||||
|
||||
//Function Number: 1
|
||||
init_player_characters()
|
||||
{
|
||||
lib_0D5B::register_player_character(1,"yes","zmb_body_hero_disco_chick","viewmodel_zmb_hero_disco_chick","zmb_head_hero_disco_chick",undefined,"p1_","_p1","iw7_pap_zm_jock","ges_zombies_revive_hoff",0,"iw7_valleygirlcard_zm","mus_zombies_valley_girl","iw7_loadout_zm_disco_chick","iw7_knife_zm_disco",undefined);
|
||||
lib_0D5B::register_player_character(2,"yes","body_zmb_hero_punk","viewmodel_zmb_hero_punk","head_zmb_hero_punk",undefined,"p2_","_p2","iw7_pap_zm_jock","ges_zombies_revive_hoff",1,"iw7_nerdcard_zm","mus_zombies_nerd","iw7_loadout_zm_punk","iw7_knife_zm_disco",undefined);
|
||||
lib_0D5B::register_player_character(3,"yes","body_zmb_hero_political_activist","zmb_hero_political_activist_viewmodel_arms","head_zmb_hero_political_activist",undefined,"p3_","_p3","iw7_pap_zm_jock","ges_zombies_revive_hoff",2,"iw7_rappercard_zm","mus_zombies_rapper","iw7_loadout_zm_panther","iw7_knife_zm_disco",undefined);
|
||||
lib_0D5B::register_player_character(4,"yes","body_zmb_hero_sleaze_bag","cp_disco_male_hero_pusher_viewmodel_arms","head_zmb_hero_sleaze_bag",undefined,"p4_","_p4","iw7_pap_zm_jock","ges_zombies_revive_hoff",3,"iw7_jockcard_zm","mus_zombies_jock","iw7_loadout_zm_pusher","iw7_knife_zm_disco",undefined);
|
||||
var_00 = "iw7_loadout_zm_pam";
|
||||
var_01 = randomintrange(1,5);
|
||||
switch(var_01)
|
||||
{
|
||||
case 1:
|
||||
var_00 = "iw7_loadout_zm_pam_crane";
|
||||
break;
|
||||
|
||||
case 2:
|
||||
var_00 = "iw7_loadout_zm_pam_snake";
|
||||
break;
|
||||
|
||||
case 3:
|
||||
var_00 = "iw7_loadout_zm_pam_tiger";
|
||||
break;
|
||||
|
||||
case 4:
|
||||
var_00 = "iw7_loadout_zm_pam_dragon";
|
||||
break;
|
||||
|
||||
default:
|
||||
var_00 = "iw7_loadout_zm_pam";
|
||||
break;
|
||||
}
|
||||
|
||||
lib_0D5B::register_player_character(5,"no","cp_disco_female_boss_pam_grier_hero","cp_disco_female_boss_pam_grier_viewmodel_arms",undefined,undefined,"p5_","_p5","iw7_pap_zm_jock","ges_zombies_revive_hoff",4,"iw7_hoffcard_zm","mus_zombies_pam_grier",var_00,"iw7_knife_zm_disco",::post_pam_setup_func);
|
||||
}
|
||||
|
||||
//Function Number: 2
|
||||
post_pam_setup_func(param_00)
|
||||
{
|
||||
if(!isdefined(level.special_character_count))
|
||||
{
|
||||
level.special_character_count = 1;
|
||||
return;
|
||||
}
|
||||
|
||||
level.special_character_count++;
|
||||
}
|
14
IW/PC/ALL/scripts/cp/maps/cp_disco/cp_disco_precache.gsc
Normal file
14
IW/PC/ALL/scripts/cp/maps/cp_disco/cp_disco_precache.gsc
Normal file
@ -0,0 +1,14 @@
|
||||
/*******************************************************************
|
||||
* Decompiled By: Bog
|
||||
* Decompiled File: scripts\cp\maps\cp_disco\cp_disco_precache.gsc
|
||||
* Game: Call of Duty: Infinite Warfare
|
||||
* Platform: PC
|
||||
* Function Count: 1
|
||||
* Decompile Time: 91 ms
|
||||
* Timestamp: 10/27/2023 12:04:06 AM
|
||||
*******************************************************************/
|
||||
|
||||
//Function Number: 1
|
||||
main()
|
||||
{
|
||||
}
|
1189
IW/PC/ALL/scripts/cp/maps/cp_disco/cp_disco_song_quest.gsc
Normal file
1189
IW/PC/ALL/scripts/cp/maps/cp_disco/cp_disco_song_quest.gsc
Normal file
File diff suppressed because it is too large
Load Diff
637
IW/PC/ALL/scripts/cp/maps/cp_disco/cp_disco_traps.gsc
Normal file
637
IW/PC/ALL/scripts/cp/maps/cp_disco/cp_disco_traps.gsc
Normal file
@ -0,0 +1,637 @@
|
||||
/*******************************************************************
|
||||
* Decompiled By: Bog
|
||||
* Decompiled File: scripts\cp\maps\cp_disco\cp_disco_traps.gsc
|
||||
* Game: Call of Duty: Infinite Warfare
|
||||
* Platform: PC
|
||||
* Function Count: 25
|
||||
* Decompile Time: 1399 ms
|
||||
* Timestamp: 10/27/2023 12:04:10 AM
|
||||
*******************************************************************/
|
||||
|
||||
//Function Number: 1
|
||||
init_buffer_trap()
|
||||
{
|
||||
scripts\common\utility::array_thread(scripts\common\utility::getstructarray("trap_buffer","script_noteworthy"),::power_on_buffer);
|
||||
}
|
||||
|
||||
//Function Number: 2
|
||||
power_on_buffer()
|
||||
{
|
||||
var_00 = getent(self.target,"targetname");
|
||||
var_00 method_8318(1);
|
||||
if(scripts\common\utility::istrue(self.var_E1B9))
|
||||
{
|
||||
var_01 = undefined;
|
||||
if(isdefined(self.script_area))
|
||||
{
|
||||
var_01 = self.script_area;
|
||||
}
|
||||
else
|
||||
{
|
||||
var_01 = scripts\cp\_interaction::func_7829(self);
|
||||
}
|
||||
|
||||
if(isdefined(var_01))
|
||||
{
|
||||
level scripts\common\utility::waittill_any_3("power_on",var_01 + " power_on");
|
||||
}
|
||||
}
|
||||
|
||||
self.var_D776 = 1;
|
||||
}
|
||||
|
||||
//Function Number: 3
|
||||
use_buffer_trap(param_00,param_01)
|
||||
{
|
||||
scripts\cp\_interaction::remove_from_current_interaction_list(param_00);
|
||||
param_01 thread scripts\cp\_vo::try_to_play_vo("activate_trap_generic","zmb_comment_vo","low",10,0,1,0,40);
|
||||
var_02 = getent(param_00.target,"targetname");
|
||||
if(!isdefined(var_02.var_127C9))
|
||||
{
|
||||
var_03 = [];
|
||||
foreach(var_05 in scripts\common\utility::getstructarray(param_00.target,"targetname"))
|
||||
{
|
||||
var_03[var_03.size] = spawn("trigger_radius",var_05.origin,0,var_05.var_257,var_05.height);
|
||||
}
|
||||
|
||||
foreach(var_08 in var_03)
|
||||
{
|
||||
var_08 enablelinkto();
|
||||
var_08 linkto(var_02);
|
||||
}
|
||||
|
||||
var_02.var_127C9 = var_03;
|
||||
}
|
||||
|
||||
playfxontag(level._effect["buffer_smoke"],var_02,"tag_origin");
|
||||
param_01 playlocalsound("purchase_generic");
|
||||
var_02 buffer_trap_sfx();
|
||||
param_00.var_126A4 = 0;
|
||||
if(!isdefined(param_00.offset_vector))
|
||||
{
|
||||
param_00.offset_forward = distance2d(var_02.origin,param_00.origin) * -1;
|
||||
}
|
||||
|
||||
param_00.offset_up = distance2d(var_02.origin,param_00.origin);
|
||||
var_0A = var_02.origin;
|
||||
var_0B = 0;
|
||||
while(var_0B < 2)
|
||||
{
|
||||
var_02 moveto(var_02.origin + (0,0,5),0.1);
|
||||
foreach(param_01 in level.players)
|
||||
{
|
||||
var_0D = param_01.origin[2] - var_02.origin[2];
|
||||
if(distance(var_02.origin,param_01.origin) < 72 && param_01.origin[2] > var_02.origin[2] && var_0D < 72)
|
||||
{
|
||||
param_01 setvelocity((randomintrange(220,250),randomintrange(220,250),0));
|
||||
}
|
||||
}
|
||||
|
||||
wait(0.1);
|
||||
var_02 moveto(var_0A,0.1);
|
||||
wait(0.2);
|
||||
var_0B = var_0B + 0.3;
|
||||
}
|
||||
|
||||
foreach(var_08 in var_02.var_127C9)
|
||||
{
|
||||
var_02 thread func_A631(var_08,param_01,param_00);
|
||||
}
|
||||
|
||||
var_02 thread buffer_move();
|
||||
wait(16);
|
||||
var_02 notify("stop_buffer");
|
||||
var_02 rotateyaw(30,1,0,0);
|
||||
var_02 rotateyaw(-30,1,0,1);
|
||||
stopfxontag(level._effect["buffer_smoke"],var_02,"tag_origin");
|
||||
var_02 moveto(var_02.origin + anglestoforward(var_02.var_A912.angles) * 2,0.25,0,0.25);
|
||||
var_02 playsoundonmovingent("trap_buffer_stop");
|
||||
wait(1);
|
||||
var_02 stoploopsound("trap_buffer_spin_lp");
|
||||
wait(1);
|
||||
var_02 method_83AD();
|
||||
var_02.var_A912 = undefined;
|
||||
var_02.last_yaw = undefined;
|
||||
level notify("buffer_trap_kills",param_00.var_126A4);
|
||||
param_00.origin = var_02.origin + anglestoforward(var_02.angles) * param_00.offset_forward + (0,0,param_00.offset_up);
|
||||
scripts\cp\_interaction::add_to_current_interaction_list(param_00);
|
||||
scripts\cp\_interaction::func_9A0D(param_00,90);
|
||||
}
|
||||
|
||||
//Function Number: 4
|
||||
buffer_move()
|
||||
{
|
||||
self endon("stop_buffer");
|
||||
var_00 = 1;
|
||||
var_01 = scripts\common\utility::getstructarray(self.target,"targetname");
|
||||
var_02 = squared(192);
|
||||
for(;;)
|
||||
{
|
||||
var_03 = [];
|
||||
var_04 = [];
|
||||
foreach(var_06 in var_01)
|
||||
{
|
||||
var_07 = distance2dsquared(var_06.origin,self.origin);
|
||||
if(var_07 > var_02)
|
||||
{
|
||||
if(isdefined(self.var_A912) && var_06.angles == self.var_A912.angles)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
var_04[var_03.size] = var_07;
|
||||
var_03[var_03.size] = var_06;
|
||||
}
|
||||
}
|
||||
|
||||
var_09 = randomintrange(0,var_03.size - 1);
|
||||
if(!isdefined(var_09))
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
var_0A = undefined;
|
||||
if(!isdefined(self.var_A912))
|
||||
{
|
||||
var_0B = var_03[var_09];
|
||||
var_0A = sqrt(var_04[var_09]) / 180;
|
||||
self moveto(var_0B.origin,var_0A,1,0);
|
||||
}
|
||||
else
|
||||
{
|
||||
var_0B = var_03[var_09];
|
||||
var_0A = sqrt(var_04[var_09]) / 180;
|
||||
self playsoundonmovingent("trap_buffer_bump_edge");
|
||||
self moveto(var_0B.origin,var_0A,0,0);
|
||||
self rotateyaw(randomintrange(500,1080) * var_00,var_0A,randomfloatrange(0,var_0A * 0.5),0);
|
||||
var_00 = var_00 * -1;
|
||||
}
|
||||
|
||||
wait(var_0A);
|
||||
self.var_A912 = var_0B;
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 5
|
||||
buffer_trap_sfx()
|
||||
{
|
||||
self endon("stop_buffer");
|
||||
self playsoundonmovingent("trap_buffer_startup");
|
||||
wait(3.1);
|
||||
self playloopsound("trap_buffer_spin_lp");
|
||||
}
|
||||
|
||||
//Function Number: 6
|
||||
func_A631(param_00,param_01,param_02)
|
||||
{
|
||||
self endon("stop_buffer");
|
||||
for(;;)
|
||||
{
|
||||
param_00 waittill("trigger",var_03);
|
||||
if(isplayer(var_03) && !scripts\cp\_laststand::player_in_laststand(var_03))
|
||||
{
|
||||
if(scripts\common\utility::istrue(var_03.flung))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
var_03.flung = 1;
|
||||
var_03 thread throwandkillplayer();
|
||||
continue;
|
||||
}
|
||||
|
||||
if(isdefined(var_03.flung))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if(isdefined(var_03.agent_type) && var_03.agent_type == "slasher")
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
var_03.flung = 1;
|
||||
param_02.var_126A4++;
|
||||
level thread func_6F32(var_03,self,param_01);
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 7
|
||||
throwandkillplayer()
|
||||
{
|
||||
self endon("disconnect");
|
||||
self endon("last_stand");
|
||||
self dodamage(35,self.origin);
|
||||
self setvelocity((randomintrange(220,250),randomintrange(220,250),0));
|
||||
wait(0.5);
|
||||
self.flung = undefined;
|
||||
}
|
||||
|
||||
//Function Number: 8
|
||||
func_6F32(param_00,param_01,param_02)
|
||||
{
|
||||
param_00 endon("death");
|
||||
param_00.do_immediate_ragdoll = 1;
|
||||
param_00.var_4C87 = 1;
|
||||
param_00.disable_armor = 1;
|
||||
param_00.nocorpse = 1;
|
||||
param_00.full_gib = 1;
|
||||
var_03 = ["kill_trap_generic","trap_kill_buffer"];
|
||||
if(param_02 scripts\cp\_utility::is_valid_player())
|
||||
{
|
||||
var_04 = param_02;
|
||||
var_04 thread scripts\cp\_vo::try_to_play_vo(scripts\common\utility::random(var_03),"zmb_comment_vo","highest",10,0,0,1,25);
|
||||
}
|
||||
else
|
||||
{
|
||||
var_04 = undefined;
|
||||
}
|
||||
|
||||
param_00 dodamage(param_00.health + 1000,param_00.origin,var_04,var_04,"MOD_UNKNOWN","iw7_buffertrap_zm");
|
||||
}
|
||||
|
||||
//Function Number: 9
|
||||
init_hydrant_trap()
|
||||
{
|
||||
level._effect["trap_hydrant_spray"] = loadfx("vfx/iw7/levels/cp_disco/vfx_trap_hydrant_spray.vfx");
|
||||
level._effect["trap_hydrant_spray2"] = loadfx("vfx/iw7/levels/cp_disco/vfx_trap_hydrant_spray_2.vfx");
|
||||
level._effect["trap_hydrant_pool"] = loadfx("vfx/iw7/levels/cp_disco/vfx_trap_hydrant_pool.vfx");
|
||||
}
|
||||
|
||||
//Function Number: 10
|
||||
use_hydrant_trap(param_00,param_01)
|
||||
{
|
||||
var_02 = getent(param_00.target,"targetname");
|
||||
var_03 = [];
|
||||
foreach(var_05 in scripts\common\utility::getstructarray(param_00.target,"targetname"))
|
||||
{
|
||||
var_05.pool_spot = scripts\common\utility::getstruct(var_05.target,"targetname");
|
||||
foreach(var_07 in getentarray(var_05.target,"targetname"))
|
||||
{
|
||||
if(issubstr(var_07.classname,"phys"))
|
||||
{
|
||||
var_05.physvolume = var_07;
|
||||
continue;
|
||||
}
|
||||
|
||||
if(issubstr(var_07.classname,"trigger"))
|
||||
{
|
||||
var_05.trigger = var_07;
|
||||
}
|
||||
}
|
||||
|
||||
var_05.player = param_01;
|
||||
var_05.var_9A09 = param_00;
|
||||
var_05.valve = var_02;
|
||||
var_03[var_03.size] = var_05;
|
||||
}
|
||||
|
||||
param_01 thread scripts\cp\_vo::try_to_play_vo("activate_trap_generic","zmb_comment_vo","low",10,0,1,0,40);
|
||||
param_00.var_126A4 = 0;
|
||||
param_01 playlocalsound("purchase_generic");
|
||||
scripts\cp\_interaction::func_554F(param_00);
|
||||
wait(0.5);
|
||||
var_02 rotateyaw(360,1);
|
||||
playsoundatpos(var_02.origin,"trap_hydrant_valve");
|
||||
wait(0.5);
|
||||
playrumbleonposition("light_3s",var_02.origin);
|
||||
earthquake(0.2,2,var_02.origin,500);
|
||||
wait(0.5);
|
||||
scripts\common\utility::array_thread(var_03,::shoot_water);
|
||||
wait(15);
|
||||
level notify("hydrant_trap_kills",param_00.var_126A4);
|
||||
var_02 notify("stop_hydrant_trap");
|
||||
playsoundatpos(var_02.origin,"trap_hydrant_valve");
|
||||
scripts\cp\_interaction::add_to_current_interaction_list(param_00);
|
||||
scripts\cp\_interaction::func_9A0D(param_00,90);
|
||||
}
|
||||
|
||||
//Function Number: 11
|
||||
shoot_water()
|
||||
{
|
||||
if(isdefined(self.script_noteworthy) && self.script_noteworthy == "2")
|
||||
{
|
||||
playfx(scripts\common\utility::getfx("trap_hydrant_spray2"),self.origin,anglestoforward(self.angles),anglestoup(self.angles));
|
||||
}
|
||||
else
|
||||
{
|
||||
playfx(scripts\common\utility::getfx("trap_hydrant_spray"),self.origin,anglestoforward(self.angles),anglestoup(self.angles));
|
||||
}
|
||||
|
||||
playsoundatpos(self.origin,"trap_hydrant_spray");
|
||||
var_00 = anglestoforward(self.angles);
|
||||
self.physvolume method_852B(1,var_00,5000);
|
||||
self.physvolume method_8529(1);
|
||||
self.physvolume method_8526(1);
|
||||
thread kill_zombies_hydrant(var_00);
|
||||
self.valve waittill("stop_hydrant_trap");
|
||||
self.physvolume method_8526(0);
|
||||
self.physvolume method_8529(0);
|
||||
}
|
||||
|
||||
//Function Number: 12
|
||||
kill_zombies_hydrant(param_00)
|
||||
{
|
||||
self.valve endon("stop_hydrant_trap");
|
||||
for(;;)
|
||||
{
|
||||
self.trigger waittill("trigger",var_01);
|
||||
if(isplayer(var_01))
|
||||
{
|
||||
var_02 = var_01 getvelocity();
|
||||
var_01 setvelocity(var_02 + param_00 * 35);
|
||||
continue;
|
||||
}
|
||||
|
||||
if(!scripts\cp\_utility::func_FF18(var_01,undefined,1))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
self.var_9A09.var_126A4++;
|
||||
var_01 thread fling_zombie_hydrant(self.var_9A09,self.player);
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 13
|
||||
fling_zombie_hydrant(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;
|
||||
var_03 = ["kill_trap_generic","trap_kill_firehydrant"];
|
||||
var_02 thread scripts\cp\_vo::try_to_play_vo(scripts\common\utility::random(var_03),"zmb_comment_vo","high",10,0,0,1,25);
|
||||
}
|
||||
else
|
||||
{
|
||||
var_02 = undefined;
|
||||
}
|
||||
|
||||
self dodamage(self.health + 100,self.origin,var_02,var_02,"MOD_UNKNOWN","iw7_hydranttrap_zm");
|
||||
}
|
||||
|
||||
//Function Number: 14
|
||||
init_mosh_trap()
|
||||
{
|
||||
scripts\common\utility::flag_init("flag_moshing_allowed");
|
||||
scripts\common\utility::array_thread(scripts\common\utility::getstructarray("trap_mosh","script_noteworthy"),::power_on_mosh);
|
||||
}
|
||||
|
||||
//Function Number: 15
|
||||
power_on_mosh()
|
||||
{
|
||||
level.punk_rockspots = [];
|
||||
level.punk_speakers = [];
|
||||
self.aoe = undefined;
|
||||
foreach(var_01 in scripts\common\utility::getstructarray(self.target,"targetname"))
|
||||
{
|
||||
if(var_01.script_area == "rockout")
|
||||
{
|
||||
level.punk_rockspots[level.punk_rockspots.size] = var_01;
|
||||
continue;
|
||||
}
|
||||
|
||||
if(var_01.script_area == "radius")
|
||||
{
|
||||
self.aoe = var_01;
|
||||
continue;
|
||||
}
|
||||
|
||||
if(var_01.script_area == "speaker")
|
||||
{
|
||||
level.punk_speakers[level.punk_speakers.size] = var_01;
|
||||
}
|
||||
}
|
||||
|
||||
self.aoe_trigger = spawn("trigger_radius",self.aoe.origin + (0,0,16),0,600,64);
|
||||
self.var_D776 = 1;
|
||||
}
|
||||
|
||||
//Function Number: 16
|
||||
use_mosh_trap(param_00,param_01)
|
||||
{
|
||||
scripts\common\utility::func_6E2A("flag_moshing_allowed");
|
||||
param_00.var_126A4 = 0;
|
||||
param_01 playlocalsound("purchase_generic");
|
||||
scripts\cp\_interaction::remove_from_current_interaction_list(param_00);
|
||||
param_01 thread scripts\cp\_vo::try_to_play_vo("activate_trap_generic","zmb_comment_vo","low",10,0,1,0,40);
|
||||
level.punk_rockers = [];
|
||||
level.punk_moshers = [];
|
||||
wait(0.5);
|
||||
level thread scripts\cp\maps\cp_disco\cp_disco::start_mosh_trap_music();
|
||||
level thread mosh_trap_trigger(param_00,param_01);
|
||||
wait(1.1);
|
||||
scripts\common\utility::exploder(50);
|
||||
wait(28);
|
||||
level notify("stop_mosh_trap");
|
||||
level notify("mosh_trap_kills",param_00.var_126A4);
|
||||
kill_mosh_stragglers(param_01);
|
||||
scripts\cp\_interaction::add_to_current_interaction_list(param_00);
|
||||
scripts\cp\_interaction::func_9A0D(param_00,90);
|
||||
}
|
||||
|
||||
//Function Number: 17
|
||||
mosh_trap_trigger(param_00,param_01)
|
||||
{
|
||||
level endon("stop_mosh_trap");
|
||||
for(;;)
|
||||
{
|
||||
param_00.aoe_trigger waittill("trigger",var_02);
|
||||
if(var_02 scripts\cp\_utility::is_valid_player())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if(scripts\common\utility::istrue(var_02.var_9CEF) || scripts\common\utility::istrue(var_02.mosh_trap) || scripts\common\utility::istrue(var_02.var_9CEC))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if(scripts\common\utility::istrue(var_02.is_skeleton))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if(!scripts\cp\_utility::func_FF18(var_02) || var_02.var_152C || var_02.var_EF64)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if(var_02.agent_type == "ratking" || var_02.agent_type == "karatemaster" || var_02.agent_type == "cop_dlc2" || var_02.agent_type == "skater")
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
var_02 thread func_DF45(param_01);
|
||||
var_02 thread rockmode(param_00,param_01);
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 18
|
||||
clean_array(param_00)
|
||||
{
|
||||
var_01 = [];
|
||||
foreach(var_03 in param_00)
|
||||
{
|
||||
if(isdefined(var_03) && isalive(var_03))
|
||||
{
|
||||
var_01[var_01.size] = var_03;
|
||||
}
|
||||
}
|
||||
|
||||
return var_01;
|
||||
}
|
||||
|
||||
//Function Number: 19
|
||||
rockmode(param_00,param_01)
|
||||
{
|
||||
level endon("stop_mosh_trap");
|
||||
self endon("death");
|
||||
self.mosh_trap = 1;
|
||||
self.og_movemode = self.var_1F5;
|
||||
self.var_1F5 = "sprint";
|
||||
self.goalradius_old = self.var_15C;
|
||||
self.is_rocking = 1;
|
||||
self.var_152C = 1;
|
||||
self.var_EF64 = 1;
|
||||
self method_8287(32);
|
||||
var_02 = get_rock_spot(param_00);
|
||||
thread release_rockspot_on_death();
|
||||
self.var_5273 = (0,var_02.angles[1],0);
|
||||
self.var_180 = 1;
|
||||
self method_8286(var_02.origin);
|
||||
scripts\common\utility::waittill_any_3("goal","goal_reached");
|
||||
self notify("rockmode");
|
||||
self.do_immediate_ragdoll = 1;
|
||||
self.var_9BB0 = 1;
|
||||
level.punk_rockers[level.punk_rockers.size] = self;
|
||||
}
|
||||
|
||||
//Function Number: 20
|
||||
moshdeath(param_00,param_01)
|
||||
{
|
||||
if(scripts\common\utility::istrue(param_01))
|
||||
{
|
||||
self.electrocuted = 1;
|
||||
self.dontmutilate = 1;
|
||||
self playsound("trap_electric_shock");
|
||||
}
|
||||
|
||||
var_02 = ["kill_trap_generic","trap_kill_moshpit"];
|
||||
if(param_00 scripts\cp\_utility::is_valid_player())
|
||||
{
|
||||
var_03 = param_00;
|
||||
var_03 thread scripts\cp\_vo::try_to_play_vo(scripts\common\utility::random(var_02),"zmb_comment_vo","high",10,0,0,1,25);
|
||||
}
|
||||
else
|
||||
{
|
||||
var_03 = undefined;
|
||||
}
|
||||
|
||||
if(scripts\common\utility::istrue(self.is_moshing))
|
||||
{
|
||||
self.team = "axis";
|
||||
}
|
||||
|
||||
self setscriptablepartstate("eyes","yellow_eyes");
|
||||
self dodamage(self.health + 1000,self.origin,var_03,var_03,"MOD_UNKNOWN","iw7_moshtrap_zm");
|
||||
}
|
||||
|
||||
//Function Number: 21
|
||||
get_rock_spot(param_00)
|
||||
{
|
||||
if(isdefined(self.rockspot))
|
||||
{
|
||||
self.rockspot.var_222 = undefined;
|
||||
self.rockspot = undefined;
|
||||
}
|
||||
|
||||
var_01 = sortbydistance(level.punk_rockspots,param_00.origin);
|
||||
foreach(var_03 in var_01)
|
||||
{
|
||||
if(!isdefined(var_03.var_222))
|
||||
{
|
||||
var_03.var_222 = self;
|
||||
self.rockspot = var_03;
|
||||
return var_03;
|
||||
}
|
||||
}
|
||||
|
||||
return scripts\common\utility::random(var_01);
|
||||
}
|
||||
|
||||
//Function Number: 22
|
||||
get_mosh_spot(param_00)
|
||||
{
|
||||
var_01 = sortbydistance(level.punk_rockspots,param_00.origin);
|
||||
return var_01[0];
|
||||
}
|
||||
|
||||
//Function Number: 23
|
||||
kill_mosh_stragglers(param_00)
|
||||
{
|
||||
foreach(var_02 in level.punk_rockers)
|
||||
{
|
||||
if(!isdefined(var_02) || !isalive(var_02))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
var_03 = scripts\common\utility::random(level.punk_speakers);
|
||||
var_04 = var_02 gettagorigin("J_HEAD");
|
||||
function_02E0(level._effect["blue_ark_beam"],var_03.origin,vectortoangles(var_03.origin - var_04),var_04);
|
||||
var_02 moshdeath(param_00,1);
|
||||
wait(randomfloatrange(0.1,0.2));
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 24
|
||||
func_DF45(param_00)
|
||||
{
|
||||
self endon("death");
|
||||
self endon("moshmode");
|
||||
self endon("rockmode");
|
||||
level waittill("stop_mosh_trap");
|
||||
if(isdefined(self.var_C37F))
|
||||
{
|
||||
self.var_15C = self.var_C37F;
|
||||
}
|
||||
|
||||
self method_8287(self.var_15C);
|
||||
self.var_C37F = undefined;
|
||||
self.var_EF64 = 0;
|
||||
if(isdefined(self.og_movemode))
|
||||
{
|
||||
self.var_1F5 = self.og_movemode;
|
||||
}
|
||||
|
||||
self.og_movemode = undefined;
|
||||
self.var_180 = 0;
|
||||
self.var_152C = 0;
|
||||
self.mosh_trap = undefined;
|
||||
self.is_rocking = undefined;
|
||||
self.do_immediate_ragdoll = 0;
|
||||
if(isdefined(self.rockspot))
|
||||
{
|
||||
self.rockspot.var_222 = undefined;
|
||||
}
|
||||
|
||||
self.rockspot = undefined;
|
||||
}
|
||||
|
||||
//Function Number: 25
|
||||
release_rockspot_on_death()
|
||||
{
|
||||
self waittill("death");
|
||||
if(isdefined(self.rockspot))
|
||||
{
|
||||
self.rockspot.var_222 = undefined;
|
||||
}
|
||||
}
|
1144
IW/PC/ALL/scripts/cp/maps/cp_disco/cp_disco_vo.gsc
Normal file
1144
IW/PC/ALL/scripts/cp/maps/cp_disco/cp_disco_vo.gsc
Normal file
File diff suppressed because it is too large
Load Diff
898
IW/PC/ALL/scripts/cp/maps/cp_disco/cp_disco_weapon_upgrade.gsc
Normal file
898
IW/PC/ALL/scripts/cp/maps/cp_disco/cp_disco_weapon_upgrade.gsc
Normal file
@ -0,0 +1,898 @@
|
||||
/*******************************************************************
|
||||
* Decompiled By: Bog
|
||||
* Decompiled File: scripts\cp\maps\cp_disco\cp_disco_weapon_upgrade.gsc
|
||||
* Game: Call of Duty: Infinite Warfare
|
||||
* Platform: PC
|
||||
* Function Count: 24
|
||||
* Decompile Time: 1197 ms
|
||||
* Timestamp: 10/27/2023 12:04:14 AM
|
||||
*******************************************************************/
|
||||
|
||||
//Function Number: 1
|
||||
init_weapon_upgrade()
|
||||
{
|
||||
level.pap_room_func = ::cp_disco_pap_machine_func;
|
||||
level.max_pap_func = ::func_385F;
|
||||
}
|
||||
|
||||
//Function Number: 2
|
||||
func_13C62(param_00,param_01)
|
||||
{
|
||||
if(scripts\common\utility::istrue(level.has_picked_up_fuses) && !isdefined(level.placed_alien_fuses))
|
||||
{
|
||||
level.placed_alien_fuses = 1;
|
||||
level thread place_fuses_in_machine(param_00,param_01);
|
||||
foreach(param_01 in level.players)
|
||||
{
|
||||
param_01 setclientomnvar("zm_special_item",0);
|
||||
}
|
||||
|
||||
level thread scripts\cp\maps\cp_disco\cp_disco::set_fuse_icon_on_hotjoin(0);
|
||||
return;
|
||||
}
|
||||
|
||||
var_04 = var_03 getcurrentweapon();
|
||||
var_05 = scripts\cp\_utility::func_80D8(var_04);
|
||||
var_06 = var_03 scripts\cp\_weapon::func_7D62(var_05);
|
||||
var_07 = undefined;
|
||||
var_08 = get_player_fists_weapon(var_03);
|
||||
var_09 = "none";
|
||||
var_0A = undefined;
|
||||
var_0B = 0;
|
||||
if(!can_use_pap_machine(var_05,var_03))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if(var_03 func_385F(var_04))
|
||||
{
|
||||
scripts\cp\_interaction::remove_from_current_interaction_list(var_02);
|
||||
var_0C = scripts\common\utility::getstruct(var_02.target,"targetname");
|
||||
var_0D = vectornormalize(anglestoforward(var_03.angles)) * 16;
|
||||
var_06 = int(var_06);
|
||||
var_06++;
|
||||
var_0E = var_04;
|
||||
var_0F = validate_current_weapon(var_06,var_05,var_04);
|
||||
var_07 = get_pap_offhand_weapon(var_03,var_04);
|
||||
var_0A = get_pap_camo(var_06,var_05,var_04);
|
||||
var_0B = should_use_old_model(var_06,var_05,var_04);
|
||||
process_pap_stat_logging(var_05,var_03);
|
||||
thread play_pap_vo(var_03);
|
||||
var_09 = return_pap_attachment(var_03,var_06,var_05,var_04);
|
||||
if(isdefined(var_09) && var_09 == "replace_me")
|
||||
{
|
||||
var_09 = undefined;
|
||||
}
|
||||
|
||||
var_10 = filter_current_weapon_attachments(var_04);
|
||||
var_11 = remove_invalid_wm_attachments(var_10);
|
||||
var_04 = var_03 scripts\cp\_weapon::func_E469(var_0F,undefined,var_11);
|
||||
var_12 = var_03 scripts\cp\_weapon::func_E469(var_0F,var_09,var_11,undefined,var_0A);
|
||||
var_13 = var_03 scripts\cp\_weapon::func_E469(var_0F,var_09,var_10,undefined,var_0A);
|
||||
if(var_0B)
|
||||
{
|
||||
var_14 = spawn("script_weapon",var_03 geteye() + var_0D,0,0,var_0E);
|
||||
}
|
||||
else
|
||||
{
|
||||
var_14 = spawn("script_weapon",var_04 geteye() + var_0E,0,0,var_05);
|
||||
}
|
||||
|
||||
var_14.angles = var_02.angles;
|
||||
if(var_0B)
|
||||
{
|
||||
var_15 = disco_getoffsetfrombaseweaponname(var_0E);
|
||||
}
|
||||
else
|
||||
{
|
||||
var_15 = disco_getoffsetfrombaseweaponname(var_14);
|
||||
}
|
||||
|
||||
level thread func_DF48(var_03,var_14,var_02);
|
||||
level notify("pap_used",var_03,var_06,var_13);
|
||||
var_14 makeunusable();
|
||||
var_03 thread disco_playpapgesture(var_03,var_03.pap_gesture,var_07,var_04,var_0E);
|
||||
var_03.var_C8AB = var_04;
|
||||
if(var_0B)
|
||||
{
|
||||
var_16 = getangleoffset(var_0E,var_0C);
|
||||
}
|
||||
else
|
||||
{
|
||||
var_16 = getangleoffset(var_14,var_0D);
|
||||
}
|
||||
|
||||
var_17 = lib_0D41::func_8087(var_05);
|
||||
var_14 moveto(var_0C.origin + var_17,0.75);
|
||||
var_14 rotateto(var_16,0.75);
|
||||
var_14 waittill("movedone");
|
||||
var_14 moveto(var_0C.origin + var_15,0.25);
|
||||
var_14 waittill("movedone");
|
||||
update_level_pap_machines("door","close",undefined,undefined,"zmb_packapunch_machine_on");
|
||||
wait(0.75);
|
||||
if(!scripts\common\utility::flag("fuses_inserted"))
|
||||
{
|
||||
update_level_pap_machines("papfx","normal","papfx","upgraded");
|
||||
}
|
||||
|
||||
wait(3.5);
|
||||
update_level_pap_machines("door","decomp");
|
||||
wait(0.8);
|
||||
var_14 method_8536(var_12);
|
||||
wait(0.4);
|
||||
update_level_pap_machines("door","open_idle");
|
||||
update_level_pap_machines("papfx","idle");
|
||||
wait(0.5);
|
||||
var_14 makeusable();
|
||||
var_14 method_84A2(100);
|
||||
if(var_03 scripts\cp\_utility::is_valid_player())
|
||||
{
|
||||
foreach(var_19 in level.players)
|
||||
{
|
||||
if(var_19 == var_03)
|
||||
{
|
||||
var_14 enableplayeruse(var_19);
|
||||
continue;
|
||||
}
|
||||
|
||||
var_14 disableplayeruse(var_19);
|
||||
}
|
||||
|
||||
if(var_0F == "iw7_katana_zm_pap1")
|
||||
{
|
||||
var_03 lib_0D2A::func_12D7C("SLICED_AND_DICED",1);
|
||||
var_03 thread scripts\cp\_vo::try_to_play_vo("weapon_pap_katana_1","zmb_pap_vo","high",undefined,undefined,undefined,1);
|
||||
}
|
||||
else if(var_0F == "iw7_katana_zm_pap2")
|
||||
{
|
||||
var_03 thread scripts\cp\_vo::try_to_play_vo("weapon_pap_katana_2","zmb_pap_vo","high",undefined,undefined,undefined,1);
|
||||
}
|
||||
else if(var_0F == "iw7_nunchucks_zm_pap1")
|
||||
{
|
||||
var_03 thread scripts\cp\_vo::try_to_play_vo("weapon_pap_nunchucks_1","zmb_pap_vo","high",undefined,undefined,undefined,1);
|
||||
}
|
||||
else if(var_0F == "iw7_nunchucks_zm_pap2")
|
||||
{
|
||||
var_03 thread scripts\cp\_vo::try_to_play_vo("weapon_pap_nunchucks_2","zmb_pap_vo","high",undefined,undefined,undefined,1);
|
||||
}
|
||||
|
||||
var_03 scripts\cp\_merits::func_D9AD("mt_upgrade_weapons");
|
||||
}
|
||||
|
||||
var_14 thread func_1360B(var_13,var_08,var_06);
|
||||
var_14 scripts\common\utility::waittill_any_timeout_1(30,"weapon_taken");
|
||||
if(var_03 scripts\cp\_utility::is_valid_player())
|
||||
{
|
||||
var_03 notify("weapon_purchased");
|
||||
var_03.var_C8AB = undefined;
|
||||
var_03 scripts\cp\_interaction::func_DE6E();
|
||||
var_03 scripts\cp\_merits::func_D9AD("mt_dlc2_upgrade_weapons");
|
||||
}
|
||||
|
||||
var_14 delete();
|
||||
wait(1);
|
||||
scripts\cp\_interaction::add_to_current_interaction_list(var_02);
|
||||
level notify("pap_machine_activated");
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 3
|
||||
func_1360B(param_00,param_01,param_02)
|
||||
{
|
||||
self endon("death");
|
||||
for(;;)
|
||||
{
|
||||
self waittill("trigger",var_03);
|
||||
if(scripts\common\utility::istrue(var_03.kung_fu_mode))
|
||||
{
|
||||
wait(0.1);
|
||||
continue;
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
if(!isdefined(param_01))
|
||||
{
|
||||
param_01 = "iw7_fists_zm";
|
||||
}
|
||||
|
||||
if(var_03 hasweapon(param_01))
|
||||
{
|
||||
var_03 takeweapon(param_01);
|
||||
}
|
||||
|
||||
if(var_03 scripts\cp\_weapon::func_8BBB(param_00))
|
||||
{
|
||||
var_04 = scripts\cp\_utility::func_80D8(param_00);
|
||||
foreach(var_06 in var_03 getweaponslistall())
|
||||
{
|
||||
var_07 = scripts\cp\_utility::func_80D8(var_06);
|
||||
if(var_04 == var_07)
|
||||
{
|
||||
var_03 takeweapon(var_06);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(lib_0D41::func_FFA6(var_03))
|
||||
{
|
||||
var_09 = var_03 getcurrentweapon();
|
||||
var_0A = scripts\cp\_utility::func_80D8(var_09);
|
||||
var_03 takeweapon(var_09);
|
||||
}
|
||||
|
||||
self notify("weapon_taken");
|
||||
param_00 = var_03 scripts\cp\_utility::func_12C6(param_00,undefined,undefined,0);
|
||||
var_03 givemaxammo(param_00);
|
||||
var_0B = var_03 getweaponslistprimaries();
|
||||
foreach(var_06 in var_0B)
|
||||
{
|
||||
if(issubstr(var_06,param_00))
|
||||
{
|
||||
if(scripts\cp\_utility::func_9D3E(var_06))
|
||||
{
|
||||
var_04 = getweaponbasename(var_06);
|
||||
if(isdefined(level.mode_weapons_allowed) && scripts\common\utility::func_2286(level.mode_weapons_allowed,var_04))
|
||||
{
|
||||
param_00 = "alt_" + param_00;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var_03 switchtoweapon(param_00);
|
||||
var_04 = scripts\cp\_utility::func_80D8(param_00);
|
||||
var_03.var_C8A2[var_04].var_B111++;
|
||||
var_03 scripts\cp\_persistence::give_player_xp(500,1);
|
||||
var_03 notify("weapon_level_changed");
|
||||
}
|
||||
|
||||
//Function Number: 4
|
||||
disco_playpapgesture(param_00,param_01,param_02,param_03,param_04)
|
||||
{
|
||||
var_05 = get_player_fists_weapon(param_00);
|
||||
param_00 scripts\cp\_utility::func_12C6(var_05,undefined,undefined,1);
|
||||
param_00 method_83B6(var_05);
|
||||
param_00 takeweapon(param_04);
|
||||
wait(1);
|
||||
thread scripts\cp\_utility::firegesturegrenade(param_00,param_01);
|
||||
wait(2.5);
|
||||
if(isdefined(param_02))
|
||||
{
|
||||
param_00 method_83B6(param_02);
|
||||
if(param_00 hasweapon(var_05))
|
||||
{
|
||||
param_00 takeweapon(var_05);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 5
|
||||
get_player_fists_weapon(param_00)
|
||||
{
|
||||
if(isdefined(param_00.var_134FD))
|
||||
{
|
||||
switch(param_00.var_134FD)
|
||||
{
|
||||
case "p1_":
|
||||
return "iw7_fists_zm";
|
||||
|
||||
case "p2_":
|
||||
return "iw7_fists_zm";
|
||||
|
||||
case "p3_":
|
||||
return "iw7_fists_zm";
|
||||
|
||||
case "p4_":
|
||||
return "iw7_fists_zm";
|
||||
|
||||
case "p5_":
|
||||
return "iw7_fists_zm";
|
||||
|
||||
default:
|
||||
return "iw7_fists_zm";
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
return "iw7_fists_zm";
|
||||
}
|
||||
|
||||
//Function Number: 6
|
||||
getangleoffset(param_00,param_01)
|
||||
{
|
||||
var_02 = scripts\cp\_utility::func_7DF7(param_00);
|
||||
var_03 = param_01.angles;
|
||||
switch(var_02)
|
||||
{
|
||||
case "iw7_spiked":
|
||||
case "iw7_golf":
|
||||
case "iw7_two":
|
||||
case "iw7_nunchucks":
|
||||
case "iw7_katana":
|
||||
case "iw7_machete":
|
||||
return (90,90,0);
|
||||
|
||||
default:
|
||||
return var_03;
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 7
|
||||
disco_getoffsetfrombaseweaponname(param_00)
|
||||
{
|
||||
var_01 = scripts\cp\_utility::func_7DF7(param_00);
|
||||
var_02 = lib_0D41::func_801F(param_00);
|
||||
switch(var_01)
|
||||
{
|
||||
case "iw7_machete":
|
||||
return (0,-6,2);
|
||||
|
||||
case "iw7_two":
|
||||
return (0,-8,2);
|
||||
|
||||
case "iw7_spiked":
|
||||
case "iw7_golf":
|
||||
return (0,-12,2);
|
||||
|
||||
case "iw7_nunchucks":
|
||||
case "iw7_katana":
|
||||
return (0,-12,2);
|
||||
|
||||
default:
|
||||
return var_02;
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 8
|
||||
return_pap_attachment(param_00,param_01,param_02,param_03,param_04)
|
||||
{
|
||||
var_05 = undefined;
|
||||
if(isdefined(param_02))
|
||||
{
|
||||
switch(param_02)
|
||||
{
|
||||
case "spiked":
|
||||
case "golf":
|
||||
case "two":
|
||||
case "katana":
|
||||
case "nunchucks":
|
||||
case "machete":
|
||||
return "replace_me";
|
||||
|
||||
default:
|
||||
if(scripts\common\utility::istrue(param_04))
|
||||
{
|
||||
return undefined;
|
||||
}
|
||||
|
||||
if(isdefined(param_00.var_C8A2[param_02]))
|
||||
{
|
||||
return "pap" + param_00.var_C8A2[param_02].var_B111;
|
||||
}
|
||||
else
|
||||
{
|
||||
return "pap1";
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return var_05;
|
||||
}
|
||||
|
||||
//Function Number: 9
|
||||
cp_disco_pap_machine_func(param_00,param_01)
|
||||
{
|
||||
level.pap_machine = param_01;
|
||||
level.pap_machine hide();
|
||||
param_00.var_D776 = 1;
|
||||
}
|
||||
|
||||
//Function Number: 10
|
||||
place_fuses_in_machine(param_00,param_01)
|
||||
{
|
||||
scripts\cp\_interaction::remove_from_current_interaction_list(param_00);
|
||||
upgrade_machine_for_all_players();
|
||||
update_level_pap_machines("door","close");
|
||||
wait(0.5);
|
||||
update_level_pap_machines("machine","upgraded");
|
||||
wait(0.25);
|
||||
update_level_pap_machines("reels","neutral");
|
||||
wait(0.25);
|
||||
update_level_pap_machines("reels","on");
|
||||
wait(0.25);
|
||||
update_level_pap_machines("door","open_idle");
|
||||
wait(0.25);
|
||||
scripts\cp\_interaction::add_to_current_interaction_list(param_00);
|
||||
if(param_01 scripts\cp\_utility::is_valid_player())
|
||||
{
|
||||
param_01 thread scripts\cp\_vo::try_to_play_vo("pap_upgrade","zmb_pap_vo","high");
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 11
|
||||
upgrade_machine_for_all_players()
|
||||
{
|
||||
foreach(var_01 in level.player_pap_machines)
|
||||
{
|
||||
var_01 setmodel("zmb_pap_machine_animated_soul_key");
|
||||
}
|
||||
|
||||
scripts\common\utility::func_136F7();
|
||||
}
|
||||
|
||||
//Function Number: 12
|
||||
update_level_pap_machines(param_00,param_01,param_02,param_03,param_04)
|
||||
{
|
||||
var_05 = isdefined(param_02) && isdefined(param_03);
|
||||
foreach(var_07 in level.player_pap_machines)
|
||||
{
|
||||
if(isdefined(param_04))
|
||||
{
|
||||
var_07 playsound(param_04);
|
||||
}
|
||||
|
||||
if(scripts\common\utility::istrue(level.placed_alien_fuses) && var_05)
|
||||
{
|
||||
var_07 setscriptablepartstate(param_02,param_03);
|
||||
continue;
|
||||
}
|
||||
|
||||
var_07 setscriptablepartstate(param_00,param_01);
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 13
|
||||
func_DF48(param_00,param_01,param_02)
|
||||
{
|
||||
level endon("pap_machine_activated");
|
||||
param_00 waittill("disconnect");
|
||||
update_level_pap_machines("door","decomp");
|
||||
wait(1.2);
|
||||
update_level_pap_machines("door","open_idle");
|
||||
update_level_pap_machines("papfx","idle");
|
||||
param_01 delete();
|
||||
wait(1);
|
||||
scripts\cp\_interaction::add_to_current_interaction_list(param_02);
|
||||
level notify("pap_machine_activated");
|
||||
}
|
||||
|
||||
//Function Number: 14
|
||||
can_use_pap_machine(param_00,param_01)
|
||||
{
|
||||
if(param_00 == "dischord" || param_00 == "facemelter" || param_00 == "headcutter" || param_00 == "shredder")
|
||||
{
|
||||
if(!scripts\common\utility::flag("fuses_inserted"))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
else if(isdefined(param_01))
|
||||
{
|
||||
if(scripts\common\utility::istrue(param_01.kung_fu_mode))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
//Function Number: 15
|
||||
get_pap_offhand_weapon(param_00,param_01)
|
||||
{
|
||||
var_02 = param_00 getweaponslistprimaries();
|
||||
foreach(var_04 in var_02)
|
||||
{
|
||||
if(!issubstr(param_01,var_04) && !scripts\cp\_utility::isstrstart(var_04,"alt_") && !issubstr(var_04,"knife") && var_04 != "iw7_knife_zm_disco")
|
||||
{
|
||||
return var_04;
|
||||
}
|
||||
}
|
||||
|
||||
return undefined;
|
||||
}
|
||||
|
||||
//Function Number: 16
|
||||
validate_current_weapon(param_00,param_01,param_02)
|
||||
{
|
||||
if(isdefined(level.weapon_upgrade_path) && isdefined(level.weapon_upgrade_path[getweaponbasename(param_02)]))
|
||||
{
|
||||
param_02 = level.weapon_upgrade_path[getweaponbasename(param_02)];
|
||||
}
|
||||
else if(isdefined(param_01))
|
||||
{
|
||||
switch(param_01)
|
||||
{
|
||||
case "two":
|
||||
if(param_00 == 2)
|
||||
{
|
||||
param_02 = "iw7_two_headed_axe_mp";
|
||||
}
|
||||
else if(param_00 == 3)
|
||||
{
|
||||
param_02 = "iw7_two_headed_axe_mp";
|
||||
}
|
||||
break;
|
||||
|
||||
case "golf":
|
||||
if(param_00 == 2)
|
||||
{
|
||||
param_02 = "iw7_golf_club_mp";
|
||||
}
|
||||
else if(param_00 == 3)
|
||||
{
|
||||
param_02 = "iw7_golf_club_mp";
|
||||
}
|
||||
break;
|
||||
|
||||
case "machete":
|
||||
if(param_00 == 2)
|
||||
{
|
||||
param_02 = "iw7_machete_mp";
|
||||
}
|
||||
else if(param_00 == 3)
|
||||
{
|
||||
param_02 = "iw7_machete_mp";
|
||||
}
|
||||
break;
|
||||
|
||||
case "spiked":
|
||||
if(param_00 == 2)
|
||||
{
|
||||
param_02 = "iw7_spiked_bat_mp";
|
||||
}
|
||||
else if(param_00 == 3)
|
||||
{
|
||||
param_02 = "iw7_spiked_bat_mp";
|
||||
}
|
||||
break;
|
||||
|
||||
case "axe":
|
||||
if(param_00 == 2)
|
||||
{
|
||||
param_02 = "iw7_axe_zm_pap1";
|
||||
}
|
||||
else if(param_00 == 3)
|
||||
{
|
||||
param_02 = "iw7_axe_zm_pap2";
|
||||
}
|
||||
break;
|
||||
|
||||
case "katana":
|
||||
if(param_00 == 2)
|
||||
{
|
||||
param_02 = "iw7_katana_zm_pap1";
|
||||
}
|
||||
else if(param_00 == 3)
|
||||
{
|
||||
param_02 = "iw7_katana_zm_pap2";
|
||||
}
|
||||
break;
|
||||
|
||||
case "nunchucks":
|
||||
if(param_00 == 2)
|
||||
{
|
||||
param_02 = "iw7_nunchucks_zm_pap1";
|
||||
}
|
||||
else if(param_00 == 3)
|
||||
{
|
||||
param_02 = "iw7_nunchucks_zm_pap2";
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
return param_02;
|
||||
}
|
||||
}
|
||||
|
||||
return param_02;
|
||||
}
|
||||
|
||||
//Function Number: 17
|
||||
should_use_old_model(param_00,param_01,param_02)
|
||||
{
|
||||
if(isdefined(param_01))
|
||||
{
|
||||
switch(param_01)
|
||||
{
|
||||
case "spiked":
|
||||
case "golf":
|
||||
case "two":
|
||||
case "machete":
|
||||
case "axe":
|
||||
return 1;
|
||||
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
//Function Number: 18
|
||||
get_pap_camo(param_00,param_01,param_02)
|
||||
{
|
||||
var_03 = undefined;
|
||||
if(isdefined(param_01))
|
||||
{
|
||||
if(isdefined(level.no_pap_camos) && scripts\common\utility::func_2286(level.no_pap_camos,param_01))
|
||||
{
|
||||
var_03 = undefined;
|
||||
}
|
||||
else if(isdefined(level.pap_1_camo) && isdefined(param_00) && param_00 == 2)
|
||||
{
|
||||
var_03 = level.pap_1_camo;
|
||||
}
|
||||
else if(isdefined(level.pap_2_camo) && isdefined(param_00) && param_00 == 3)
|
||||
{
|
||||
var_03 = level.pap_2_camo;
|
||||
}
|
||||
|
||||
switch(param_01)
|
||||
{
|
||||
case "dischord":
|
||||
param_02 = "iw7_dischord_zm_pap1";
|
||||
var_03 = "camo20";
|
||||
break;
|
||||
|
||||
case "facemelter":
|
||||
param_02 = "iw7_facemelter_zm_pap1";
|
||||
var_03 = "camo22";
|
||||
break;
|
||||
|
||||
case "headcutter":
|
||||
param_02 = "iw7_headcutter_zm_pap1";
|
||||
var_03 = "camo21";
|
||||
break;
|
||||
|
||||
case "katana":
|
||||
case "nunchucks":
|
||||
var_03 = "camo222";
|
||||
break;
|
||||
|
||||
case "forgefreeze":
|
||||
if(param_00 == 2)
|
||||
{
|
||||
param_02 = "iw7_forgefreeze_zm_pap1";
|
||||
}
|
||||
else if(param_00 == 3)
|
||||
{
|
||||
param_02 = "iw7_forgefreeze_zm_pap2";
|
||||
}
|
||||
|
||||
var_04 = 1;
|
||||
break;
|
||||
|
||||
case "axe":
|
||||
if(param_00 == 2)
|
||||
{
|
||||
param_02 = "iw7_axe_zm_pap1";
|
||||
}
|
||||
else if(param_00 == 3)
|
||||
{
|
||||
param_02 = "iw7_axe_zm_pap2";
|
||||
}
|
||||
|
||||
var_04 = 1;
|
||||
break;
|
||||
|
||||
case "shredder":
|
||||
param_02 = "iw7_shredder_zm_pap1";
|
||||
var_03 = "camo23";
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return var_03;
|
||||
}
|
||||
|
||||
//Function Number: 19
|
||||
play_pap_vo(param_00)
|
||||
{
|
||||
param_00 thread scripts\cp\_vo::try_to_play_vo("weapon_pap","zmb_pap_vo","high");
|
||||
}
|
||||
|
||||
//Function Number: 20
|
||||
process_pap_stat_logging(param_00,param_01)
|
||||
{
|
||||
level.var_1192E++;
|
||||
scripts\cp\zombies\zombie_analytics::func_AF7F(level.wave_num,param_00,level.var_1192E);
|
||||
}
|
||||
|
||||
//Function Number: 21
|
||||
filter_current_weapon_attachments(param_00)
|
||||
{
|
||||
var_01 = function_00E3(param_00);
|
||||
if(issubstr(param_00,"g18_z"))
|
||||
{
|
||||
foreach(var_03 in var_01)
|
||||
{
|
||||
if(issubstr(var_03,"akimbo"))
|
||||
{
|
||||
var_01 = scripts\common\utility::func_22A9(var_01,var_03);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return var_01;
|
||||
}
|
||||
|
||||
//Function Number: 22
|
||||
remove_invalid_wm_attachments(param_00)
|
||||
{
|
||||
var_01 = param_00;
|
||||
foreach(var_03 in var_01)
|
||||
{
|
||||
if(issubstr(var_03,"silencer") || issubstr(var_03,"arcane") || issubstr(var_03,"ark"))
|
||||
{
|
||||
var_01 = scripts\common\utility::func_22A9(var_01,var_03);
|
||||
}
|
||||
}
|
||||
|
||||
return param_00;
|
||||
}
|
||||
|
||||
//Function Number: 23
|
||||
weapon_upgrade_hint_func(param_00,param_01)
|
||||
{
|
||||
if(scripts\common\utility::istrue(level.has_picked_up_fuses) && !isdefined(level.placed_alien_fuses))
|
||||
{
|
||||
return &"CP_DISCO_PAP_UPGRADE";
|
||||
}
|
||||
|
||||
level.interactions[param_00.script_noteworthy].cost = 5000;
|
||||
var_02 = param_01 getcurrentweapon();
|
||||
var_03 = scripts\cp\_weapon::func_7D62(var_02);
|
||||
if(scripts\common\utility::istrue(level.placed_alien_fuses))
|
||||
{
|
||||
if(var_03 == 3)
|
||||
{
|
||||
return &"COOP_INTERACTIONS_UPGRADE_MAXED";
|
||||
}
|
||||
else if(!func_385F(var_02))
|
||||
{
|
||||
return &"CP_DISCO_UPGRADE_WEAPON_FAIL";
|
||||
}
|
||||
else if(var_03 == 1)
|
||||
{
|
||||
return &"CP_DISCO_UPGRADE_WEAPON";
|
||||
}
|
||||
else
|
||||
{
|
||||
return &"CP_DISCO_UPGRADE_WEAPON";
|
||||
}
|
||||
|
||||
return &"CP_DISCO_UPGRADE_WEAPON_FAIL";
|
||||
}
|
||||
|
||||
if(var_03 == level.var_C8A4)
|
||||
{
|
||||
return &"COOP_INTERACTIONS_UPGRADE_MAXED";
|
||||
}
|
||||
else if(param_01 scripts\cp\_utility::func_9C42(var_02,1))
|
||||
{
|
||||
return "";
|
||||
}
|
||||
else if(!func_385F(var_02))
|
||||
{
|
||||
return &"CP_DISCO_UPGRADE_WEAPON_FAIL";
|
||||
}
|
||||
else if(var_03 == 1)
|
||||
{
|
||||
return &"CP_DISCO_UPGRADE_WEAPON";
|
||||
}
|
||||
else
|
||||
{
|
||||
return &"CP_DISCO_UPGRADE_WEAPON";
|
||||
}
|
||||
|
||||
return &"CP_DISCO_UPGRADE_WEAPON_FAIL";
|
||||
}
|
||||
|
||||
//Function Number: 24
|
||||
func_385F(param_00,param_01)
|
||||
{
|
||||
if(!isdefined(level.var_C8A2))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
if(scripts\common\utility::istrue(self.kung_fu_mode))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
if(isdefined(param_00))
|
||||
{
|
||||
var_02 = scripts\cp\_utility::func_80D8(param_00);
|
||||
}
|
||||
else
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
if(!isdefined(var_02))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
if(!isdefined(level.var_C8A2[var_02]))
|
||||
{
|
||||
var_03 = getsubstr(var_02,0,var_02.size - 1);
|
||||
if(!isdefined(level.var_C8A2[var_03]))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
if(isdefined(self.var_6670) && getweaponbasename(self.var_6670) == getweaponbasename(param_00))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
if(isdefined(level.weapon_upgrade_path) && isdefined(level.weapon_upgrade_path[getweaponbasename(param_00)]))
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
if(var_02 == "dischord" || var_02 == "facemelter" || var_02 == "headcutter" || var_02 == "shredder")
|
||||
{
|
||||
if(!scripts\common\utility::flag("fuses_inserted"))
|
||||
{
|
||||
if(scripts\common\utility::istrue(param_01))
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
else if(isdefined(self.var_C8A2[var_02]) && self.var_C8A2[var_02].var_B111 == 2)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
if(scripts\common\utility::istrue(level.has_picked_up_fuses) && !isdefined(level.placed_alien_fuses))
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
if(scripts\common\utility::istrue(level.placed_alien_fuses))
|
||||
{
|
||||
if(isdefined(self.var_C8A2[var_02]) && self.var_C8A2[var_02].var_B111 >= 3)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
if(scripts\common\utility::istrue(param_01) && isdefined(self.var_C8A2[var_02]) && self.var_C8A2[var_02].var_B111 <= min(level.var_C8A4 + 1,2))
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
if(isdefined(self.var_C8A2[var_02]) && self.var_C8A2[var_02].var_B111 >= level.var_C8A4)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
3302
IW/PC/ALL/scripts/cp/maps/cp_disco/disco_mpq.gsc
Normal file
3302
IW/PC/ALL/scripts/cp/maps/cp_disco/disco_mpq.gsc
Normal file
File diff suppressed because it is too large
Load Diff
17
IW/PC/ALL/scripts/cp/maps/cp_disco/gen/cp_disco_art.gsc
Normal file
17
IW/PC/ALL/scripts/cp/maps/cp_disco/gen/cp_disco_art.gsc
Normal file
@ -0,0 +1,17 @@
|
||||
/*******************************************************************
|
||||
* Decompiled By: Bog
|
||||
* Decompiled File: scripts\cp\maps\cp_disco\gen\cp_disco_art.gsc
|
||||
* Game: Call of Duty: Infinite Warfare
|
||||
* Platform: PC
|
||||
* Function Count: 1
|
||||
* Decompile Time: 119 ms
|
||||
* Timestamp: 10/27/2023 12:03:34 AM
|
||||
*******************************************************************/
|
||||
|
||||
//Function Number: 1
|
||||
main()
|
||||
{
|
||||
level.var_12ACA = 1;
|
||||
setdvar("r_lightGridEnableTweaks",1);
|
||||
setdvar("r_lightGridIntensity",1);
|
||||
}
|
3573
IW/PC/ALL/scripts/cp/maps/cp_disco/gen/cp_disco_fx.gsc
Normal file
3573
IW/PC/ALL/scripts/cp/maps/cp_disco/gen/cp_disco_fx.gsc
Normal file
File diff suppressed because it is too large
Load Diff
508
IW/PC/ALL/scripts/cp/maps/cp_disco/gen/cp_disco_sound.gsc
Normal file
508
IW/PC/ALL/scripts/cp/maps/cp_disco/gen/cp_disco_sound.gsc
Normal file
@ -0,0 +1,508 @@
|
||||
/*******************************************************************
|
||||
* Decompiled By: Bog
|
||||
* Decompiled File: scripts\cp\maps\cp_disco\gen\cp_disco_sound.gsc
|
||||
* Game: Call of Duty: Infinite Warfare
|
||||
* Platform: PC
|
||||
* Function Count: 1
|
||||
* Decompile Time: 137 ms
|
||||
* Timestamp: 10/27/2023 12:03:35 AM
|
||||
*******************************************************************/
|
||||
|
||||
//Function Number: 1
|
||||
main()
|
||||
{
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-10108,181,-1722),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "zmb_afterlife_music";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((874.857,672.673,741.996),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_fire_large_metal_lp_01";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((687.331,1452.32,774.132),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_fire_med_lp_01";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((1230.71,718.584,749.994),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_fire_med_lp_02";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((1297.52,1239.21,766.868),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_fire_med_crackle_lp_01";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((1282.9,1455.64,755.513),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_fire_med_crackle_lp_02";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((1089,1626.47,749.994),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_fire_small_lp_01";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((371.754,492.059,804.994),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_sink_running_lp";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((436.63,541.667,779.741),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_toilet_running_lp";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((912.725,1753.36,815.787),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_fire_large_mvmt_lp";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-772.579,399.408,1040.55),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "amb_sa_big_light_3";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-1212.51,630.954,1044.48),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "amb_sa_big_light_3";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-1211.09,1073.87,1172.69),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "amb_sa_big_light_3";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-904.54,994,1178.52),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "amb_sa_big_light_3";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-1933.27,760.342,1277.19),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "amb_sa_big_light_3";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-994.132,27.242,1185.16),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_plastic_tarp_flap_lp_01";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-2265.56,757.86,1134.56),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "amb_sa_big_light_3";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-2672.69,1898.23,896.6),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_pipe_air_lp_01";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-2861.97,2189.84,896.6),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_pipe_air_lp_02";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((217.407,232.046,1038.17),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "amb_sa_big_light_4";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-3229.86,2416.85,936.046),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_fly_lp_ster";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-1695.56,4240.47,741.996),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_pipe_air_lp_01";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-2080.56,4573.81,751.031),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_pipe_air_lp_02";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-952.353,3241.13,499.068),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "amb_sa_big_light_2";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-823.476,2542.71,318.328),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_pipe_air_lp_03";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-792.529,2624.52,331.929),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_pipe_air_lp_03";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-793.09,2628.21,331.068),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_pipe_air_lp_04";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-1089.56,2594.93,386.324),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "amb_sa_big_light_2";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-821.011,2593.56,382.598),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "amb_sa_big_light_2";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-1090.49,2818.52,379.394),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "amb_sa_big_light_2";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-923.099,3131,459.836),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_pipe_air_lp_03";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-1132.68,3132.26,500.842),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "amb_sa_big_light_2";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-2207.45,4003.8,750.825),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_pipe_air_lp_01";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-2159.12,4751.04,818.26),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "amb_sa_big_light_1";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-1962.48,4768.63,818.912),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "amb_sa_big_light_1";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-1479.44,4755.07,934.393),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "amb_sa_big_light_1";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-88.0078,446.167,779.915),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_sink_running_lp";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((994.183,3168,317.349),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_fly_lp_ster";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((335.184,3038.63,456.004),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "amb_sa_big_light_4";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((329.734,2469.59,454.649),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "amb_sa_big_light_4";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((805.729,2463.53,455.649),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "amb_sa_big_light_4";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((806.124,3033.28,446.649),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "amb_sa_big_light_4";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((569.753,2164.7,655.006),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "amb_sa_big_light_4";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((835.391,1825.77,657.006),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "amb_sa_big_light_4";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((305.801,1823.56,653.006),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "amb_sa_big_light_4";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((855.185,1922.51,572.482),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_fly_lp_ster";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((830.859,1723.77,575.702),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_fly_lp_ster";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((202.971,1917.23,550.425),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_fly_lp_ster";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((798.113,893.849,742.825),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_pipe_air_lp_01";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((675.662,1069.87,750.825),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_pipe_air_lp_02";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-154.303,1275.08,779.718),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_fly_lp_ster";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-511.24,1439.5,1006.71),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_plastic_tarp_flap_lp_02";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-190.71,1827.11,796.069),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_fire_large_metal_lp_02";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-451.68,2400.04,888.396),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_plastic_tarp_flap_lp_01";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-2899.67,2515.99,910.065),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_tree_leaf_rustle_lp";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-3189.58,2728.19,1095.6),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_tree_leaf_rustle_lp";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-3151.61,2275.69,983.978),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_tree_leaf_rustle_lp";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-2598.11,1955.67,1110.03),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_tree_leaf_rustle_lp";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-2631.46,2165.9,1044),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_tree_leaf_rustle_lp";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-2565.85,2587.3,905.119),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_tree_leaf_rustle_lp";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-2990.66,1929.75,952.161),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_tree_leaf_rustle_lp";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-2888.2,1571.71,1032.6),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_tree_leaf_rustle_lp";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-2573.75,1655.81,1011.35),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_tree_leaf_rustle_lp";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-2744.97,1148.82,1008.41),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_water_splash_lp_01";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-2664.18,1228.55,1008.41),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_water_splash_lp_02";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-2240.11,1270.15,1161.29),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_tree_leaf_rustle_lp";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-3397.88,2373.89,1033.81),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_tree_leaf_rustle_lp";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-816.227,2597.37,260.001),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_water_drip_lp";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-962.892,2937.47,238.001),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_water_lap_lp_01";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-2114.18,2434.79,349.662),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "amb_sa_big_light_3";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-1626.29,2391.8,296.543),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "amb_sa_big_light_3";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-1376.31,2145.89,298.973),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "amb_sa_big_light_3";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-575.891,2330.17,301.231),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "amb_sa_big_light_3";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-527.982,2899.57,362.172),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "amb_sa_big_light_3";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-128.248,2817.7,397.342),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "amb_sa_big_light_3";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-129.832,2805.26,260.001),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_water_drip_lp";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-167.87,2839.98,260.001),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_water_drip_lp";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-738.097,2813.69,260.001),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_water_drip_lp";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-393.155,2005.53,743.377),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_pipe_air_lp_02";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-986.863,3191.82,395.995),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_water_drip_lp";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-1103.08,3160.23,515.996),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_pipe_air_lp_03";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((597.315,610.473,822.44),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_fast_flag_flapping_lp_01";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((167.656,2691.13,351.994),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_fly_lp_ster";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((300.105,3106.19,349.994),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_fly_lp_ster";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((1176.23,1171.15,825.994),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_fly_lp_ster";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-834.154,791.546,1007.01),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_fly_lp_ster";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-643.616,766.925,1013.01),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_fly_lp_ster";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-1719.83,1073.72,1202),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_fly_lp_ster";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-1837.55,758.264,1213),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_fly_lp_ster";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-241.986,2730.62,811.09),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_fly_lp_ster";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-3016.96,2392.94,318.999),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_fly_lp_ster";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-3014.66,2739.1,308.09),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_fly_lp_ster";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-3093.59,3025.87,272.999),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_fly_lp_ster";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-2392.28,2375.41,315.999),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_fly_lp_ster";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-2294.97,2303.01,275.154),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_fly_lp_ster";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-2384.33,2654.52,313.999),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_fly_lp_ster";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-2384.4,3147.9,263.999),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_fly_lp_ster";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-2767.5,2263.19,181.996),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "third_rail_left_water_lp";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-2771.46,3383.65,181.996),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "third_rail_right_water_lp";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-2584.22,2282.86,285.587),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_fly_lp_ster";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-2484.92,3538.91,559.005),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_fly_lp_ster";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-2704.67,3869.51,558.005),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_fly_lp_ster";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-2992.12,3210.62,421.995),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_fly_lp_ster";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-1545.06,2311.48,168.976),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_rain_runoff_splashy_lp";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-629.332,2869.99,260.001),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_rain_runoff_splashy_lp";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-537.594,2828.86,321.001),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_fly_lp_ster";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-517.386,2457.56,238.944),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_fly_lp_ster";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-1663.79,2349.86,225.935),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_fly_lp_ster";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-1692.22,2356.49,174.602),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_water_drip_lp";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-2089.23,2395.99,250.655),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_water_drip_lp";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-2974.13,3818.6,635.701),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "amb_sa_big_light_4";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-2571.03,3841.93,638.135),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "amb_sa_big_light_4";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-2454.54,2429.46,411.764),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "amb_sa_big_light_4";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-2656.92,3106.4,366.005),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "amb_sa_big_light_4";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-3009.31,2343.29,411.268),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "amb_sa_big_light_4";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-3011.64,2931.07,397.686),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "amb_sa_big_light_4";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-2995.71,3221.78,514.976),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "amb_sa_big_light_5";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((169.962,-207.984,1096.7),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_plastic_tarp_flap_lp_01";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-114.957,2950.78,809.693),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_fly_lp_ster";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-121.433,2327.9,802.996),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_fly_lp_ster";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-2126.26,2910.28,1293.09),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_plastic_tarp_flap_lp_01";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-1363.07,3474.21,1195.12),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_fly_lp_ster";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-1254.96,4719.67,800.994),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_fly_lp_ster";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-671.055,1745.48,170.004),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_water_lap_lp_01";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-739.461,2019.68,170.004),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_water_lap_lp_02";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-1042.78,1940.77,170.004),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_water_lap_lp_01";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-967.736,1632.54,170.004),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_water_lap_lp_02";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-782.472,1243.17,278.525),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_pipe_air_lp_03";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-303.354,1740.01,265.563),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_pipe_air_lp_03";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-782.974,2805.95,260.001),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_water_drip_lp";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-1263.53,2201.81,178.003),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_rain_runoff_splashy_lp";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-833.777,1272.58,178.003),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_water_drip_lp";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-846.739,1288.97,178.003),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_water_drip_lp";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-1429.1,1985.13,270.523),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_pipe_air_lp_03";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-1022.49,2305.13,182.709),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_water_drip_lp";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-1244.09,1419.61,178.003),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_rain_runoff_splashy_lp";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-710.72,1370.22,189.638),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_fire_med_lp_01";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-545.302,1485.11,185.942),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_fire_med_lp_02";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-3241,2722.77,264.305),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_fly_lp_ster";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-2732.46,3475.73,519.457),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_fly_lp_ster";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-106.772,1019.59,749.994),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_water_drip_lp";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-1988.63,899.132,1106.04),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "amb_sa_big_light_3";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-871.786,863.941,1059.63),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "amb_sa_big_light_3";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-3487.04,1169.9,1014.7),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_fly_lp_ster";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-2293.1,3152.58,795.122),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_fly_lp_ster";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-1123.94,3894.02,656.961),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_pipe_air_lp_03";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((509.695,561.236,947.273),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "amb_sa_big_light_3";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-786.225,1903.06,891.999),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "amb_sa_big_light_3";
|
||||
var_00 = scripts\common\createfx::func_49DD();
|
||||
var_00 scripts\common\createfx::func_F4AD((1420,777.662,915.663),(270,0,0));
|
||||
var_00.var_13125["delay_min"] = 4;
|
||||
var_00.var_13125["delay_max"] = 9;
|
||||
var_00.var_13125["soundalias"] = "emt_wood_creak_ster";
|
||||
var_00 = scripts\common\createfx::func_49DD();
|
||||
var_00 scripts\common\createfx::func_F4AD((1454.92,1128.4,931.999),(270,0,0));
|
||||
var_00.var_13125["delay_min"] = 4;
|
||||
var_00.var_13125["delay_max"] = 9;
|
||||
var_00.var_13125["soundalias"] = "emt_wood_creak_ster";
|
||||
var_00 = scripts\common\createfx::func_49DD();
|
||||
var_00 scripts\common\createfx::func_F4AD((1743.5,1140.94,929.612),(270,0,0));
|
||||
var_00.var_13125["delay_min"] = 4;
|
||||
var_00.var_13125["delay_max"] = 9;
|
||||
var_00.var_13125["soundalias"] = "emt_wood_creak_ster";
|
||||
var_00 = scripts\common\createfx::func_49DD();
|
||||
var_00 scripts\common\createfx::func_F4AD((1710.99,773.428,931.999),(270,0,0));
|
||||
var_00.var_13125["delay_min"] = 4;
|
||||
var_00.var_13125["delay_max"] = 9;
|
||||
var_00.var_13125["soundalias"] = "emt_wood_creak_ster";
|
||||
var_00 = scripts\common\createfx::func_49DD();
|
||||
var_00 scripts\common\createfx::func_F4AD((-961.558,3700.84,607.513),(270,0,0));
|
||||
var_00.var_13125["delay_min"] = 3;
|
||||
var_00.var_13125["delay_max"] = 9;
|
||||
var_00.var_13125["soundalias"] = "emt_med_rock_debris";
|
||||
var_00 = scripts\common\createfx::func_49DD();
|
||||
var_00 scripts\common\createfx::func_F4AD((-1029.44,3576.26,562.776),(270,0,0));
|
||||
var_00.var_13125["delay_min"] = 3;
|
||||
var_00.var_13125["delay_max"] = 9;
|
||||
var_00.var_13125["soundalias"] = "emt_med_rock_debris";
|
||||
var_00 = scripts\common\createfx::func_49DD();
|
||||
var_00 scripts\common\createfx::func_F4AD((-1164.02,4009.89,708.555),(270,0,0));
|
||||
var_00.var_13125["delay_min"] = 3;
|
||||
var_00.var_13125["delay_max"] = 9;
|
||||
var_00.var_13125["soundalias"] = "emt_med_rock_debris";
|
||||
var_00 = scripts\common\createfx::func_49DD();
|
||||
var_00 scripts\common\createfx::func_F4AD((-2512.18,4101.16,789.371),(270,0,0));
|
||||
var_00.var_13125["delay_min"] = 3;
|
||||
var_00.var_13125["delay_max"] = 9;
|
||||
var_00.var_13125["soundalias"] = "emt_med_rock_debris";
|
||||
var_00 = scripts\common\createfx::func_49DD();
|
||||
var_00 scripts\common\createfx::func_F4AD((-2501.74,4301.43,826.196),(270,0,0));
|
||||
var_00.var_13125["delay_min"] = 3;
|
||||
var_00.var_13125["delay_max"] = 9;
|
||||
var_00.var_13125["soundalias"] = "emt_med_rock_debris";
|
||||
var_00 = scripts\common\createfx::func_49DD();
|
||||
var_00 scripts\common\createfx::func_F4AD((-2491.33,4527.84,786.512),(270,0,0));
|
||||
var_00.var_13125["delay_min"] = 3;
|
||||
var_00.var_13125["delay_max"] = 9;
|
||||
var_00.var_13125["soundalias"] = "emt_med_rock_debris";
|
||||
}
|
2612
IW/PC/ALL/scripts/cp/maps/cp_disco/kung_fu_mode.gsc
Normal file
2612
IW/PC/ALL/scripts/cp/maps/cp_disco/kung_fu_mode.gsc
Normal file
File diff suppressed because it is too large
Load Diff
595
IW/PC/ALL/scripts/cp/maps/cp_disco/kung_fu_mode_crane.gsc
Normal file
595
IW/PC/ALL/scripts/cp/maps/cp_disco/kung_fu_mode_crane.gsc
Normal file
@ -0,0 +1,595 @@
|
||||
/*******************************************************************
|
||||
* Decompiled By: Bog
|
||||
* Decompiled File: scripts\cp\maps\cp_disco\kung_fu_mode_crane.gsc
|
||||
* Game: Call of Duty: Infinite Warfare
|
||||
* Platform: PC
|
||||
* Function Count: 27
|
||||
* Decompile Time: 1470 ms
|
||||
* Timestamp: 10/27/2023 12:04:27 AM
|
||||
*******************************************************************/
|
||||
|
||||
//Function Number: 1
|
||||
setup_kung_fu_crane_powers()
|
||||
{
|
||||
crane_kill_fx();
|
||||
scripts\common\utility::flag_wait("interactions_initialized");
|
||||
scripts\cp\powers\coop_powers::func_D787("power_shuriken_crane",::scripts\cp\maps\cp_disco\kung_fu_mode_dragon::set_dragon_shuriken_power,::scripts\cp\maps\cp_disco\kung_fu_mode_dragon::unset_dragon_shuriken_power,::scripts\cp\maps\cp_disco\kung_fu_mode_dragon::use_dragon_shuriken,undefined,undefined,undefined);
|
||||
init_valid_patch_nodes();
|
||||
level.is_in_crane_box_func = ::is_in_basic_box;
|
||||
setupinvalidcranevolumes();
|
||||
init_crane_teleport_spots();
|
||||
}
|
||||
|
||||
//Function Number: 2
|
||||
crane_kill_fx()
|
||||
{
|
||||
level._effect["screen_blood"] = loadfx("vfx/iw7/levels/cp_disco/abilities/vfx_kf_crane_screen_blood.vfx");
|
||||
}
|
||||
|
||||
//Function Number: 3
|
||||
crane_super_use(param_00)
|
||||
{
|
||||
self.crane_super = 1;
|
||||
self notify("super_fired");
|
||||
self notify("put_shuriken_away");
|
||||
self.kung_fu_shield = 1;
|
||||
scripts\common\utility::allow_jump(0);
|
||||
scripts\common\utility::func_1C53(0);
|
||||
self method_80A4();
|
||||
var_01 = 500;
|
||||
if(self.chi_meter_amount - var_01 <= 0)
|
||||
{
|
||||
self.kung_fu_exit_delay = 1;
|
||||
}
|
||||
|
||||
self playgestureviewmodel("ges_crane_super_air_short",undefined,1);
|
||||
self playanimscriptevent("power_active_cp","gesture023");
|
||||
thread play_crane_feet_fx();
|
||||
var_02 = 500;
|
||||
var_03 = self getplayerangles();
|
||||
var_04 = anglestoforward(var_03);
|
||||
var_05 = vectornormalize(var_04) * var_02;
|
||||
var_05 = (var_05[0],var_05[1],0);
|
||||
var_06 = create_move_path(var_05);
|
||||
if(var_06)
|
||||
{
|
||||
wait(0.25);
|
||||
self playanimscriptevent("power_active_cp","gesture026");
|
||||
}
|
||||
|
||||
self playanimscriptevent("power_active_cp","gesture027");
|
||||
self.kung_fu_exit_delay = 0;
|
||||
self method_80D6();
|
||||
self.kung_fu_shield = undefined;
|
||||
scripts\common\utility::func_1C53(1);
|
||||
scripts\common\utility::allow_jump(1);
|
||||
wait(0.25);
|
||||
self notify("crane_power_done");
|
||||
self.crane_super = undefined;
|
||||
scripts\cp\powers\coop_powers::func_D72E();
|
||||
}
|
||||
|
||||
//Function Number: 4
|
||||
stay_in_kung_fu_till_gesture_done(param_00)
|
||||
{
|
||||
self endon("disconnect");
|
||||
var_01 = 500;
|
||||
if(self.chi_meter_amount - var_01 <= 0)
|
||||
{
|
||||
self.kung_fu_exit_delay = 1;
|
||||
}
|
||||
|
||||
var_02 = self method_8443(param_00);
|
||||
wait(var_02);
|
||||
self.kung_fu_exit_delay = 0;
|
||||
}
|
||||
|
||||
//Function Number: 5
|
||||
play_crane_feet_fx()
|
||||
{
|
||||
self setscriptablepartstate("kung_fu_super_fx","crane");
|
||||
wait(2);
|
||||
self setscriptablepartstate("kung_fu_super_fx","off");
|
||||
}
|
||||
|
||||
//Function Number: 6
|
||||
crane_super_pose()
|
||||
{
|
||||
self endon("disconnect");
|
||||
self.is_slide_sfx_playing = 0;
|
||||
self.is_slide_land_sfx_playing = 0;
|
||||
while(self isjumping())
|
||||
{
|
||||
wait(0.05);
|
||||
}
|
||||
|
||||
scripts\common\utility::allow_weapon(0);
|
||||
scripts\common\utility::allow_jump(0);
|
||||
self limitedmovement(1);
|
||||
self allowprone(0);
|
||||
self allowcrouch(0);
|
||||
scripts\cp\_utility::allow_player_teleport(0,"slide");
|
||||
self.ability_invulnerable = 1;
|
||||
self.disable_consumables = 1;
|
||||
self.ability_invulnerable = undefined;
|
||||
wait(1.5);
|
||||
self notify("offslide");
|
||||
self.is_slide_sfx_playing = 0;
|
||||
if(self.is_slide_land_sfx_playing == 0)
|
||||
{
|
||||
self.is_slide_land_sfx_playing = 1;
|
||||
}
|
||||
|
||||
self unlink();
|
||||
self limitedmovement(0);
|
||||
self.disable_consumables = undefined;
|
||||
scripts\common\utility::allow_jump(1);
|
||||
scripts\common\utility::allow_weapon(1);
|
||||
self allowprone(1);
|
||||
self allowcrouch(1);
|
||||
self allowstand(1);
|
||||
self setstance("stand");
|
||||
if(!scripts\cp\_utility::isteleportenabled())
|
||||
{
|
||||
scripts\cp\_utility::allow_player_teleport(1,"slide");
|
||||
}
|
||||
|
||||
self.onslide = undefined;
|
||||
self notify("can_teleport");
|
||||
}
|
||||
|
||||
//Function Number: 7
|
||||
slide_anim()
|
||||
{
|
||||
self endon("last_stand");
|
||||
self endon("death");
|
||||
self endon("disconnect");
|
||||
self endon("offslide");
|
||||
self endon("stopslideanim");
|
||||
var_00 = 0;
|
||||
while(scripts\common\utility::istrue(self.onslide))
|
||||
{
|
||||
if(self isgestureplaying())
|
||||
{
|
||||
wait(0.1);
|
||||
continue;
|
||||
}
|
||||
|
||||
if(!var_00)
|
||||
{
|
||||
self playanimscriptevent("power_active_cp","gesture012");
|
||||
wait(0.1);
|
||||
var_00 = 1;
|
||||
}
|
||||
|
||||
self playanimscriptevent("power_active_cp","gesture020");
|
||||
wait(0.1);
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 8
|
||||
move_in_line()
|
||||
{
|
||||
var_00 = 0.1405408;
|
||||
var_01 = 1300;
|
||||
var_02 = getclosestpointonnavmesh(self.origin);
|
||||
var_03 = anglestoforward(self getplayerangles());
|
||||
var_04 = getclosestpointonnavmesh(var_02 + var_03);
|
||||
var_05 = vectornormalize(var_04 - var_02);
|
||||
var_05 = vectornormalize(var_05 + (0,0,var_00));
|
||||
self setvelocity(var_05 * var_01);
|
||||
thread kill_near_me();
|
||||
wait(2.5);
|
||||
self notify("crane_power_done");
|
||||
self.crane_super = undefined;
|
||||
thread check_invalid_landing_place_and_teleport(self);
|
||||
}
|
||||
|
||||
//Function Number: 9
|
||||
create_move_path(param_00)
|
||||
{
|
||||
var_01 = self geteye();
|
||||
var_02 = self.origin + (0,0,60);
|
||||
var_03 = self getplayerangles();
|
||||
var_04 = anglestoforward(var_03);
|
||||
var_04 = (var_04[0],var_04[1],0);
|
||||
var_04 = vectornormalize(var_04) * 1000 + var_01;
|
||||
var_05 = level.players;
|
||||
var_06 = drop_points_on_path(var_02,var_04,10);
|
||||
if(var_06.size < 1)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
var_07 = spawn("script_origin",self.origin + (0,0,30));
|
||||
var_07.angles = self.angles;
|
||||
self playerlinkto(var_07,undefined,0,10,10,10,10,1);
|
||||
thread kill_near_me();
|
||||
var_07 move_along_point_path(var_06,0.5);
|
||||
self unlink();
|
||||
scripts\common\utility::func_136F7();
|
||||
thread final_location_check_loop();
|
||||
self setvelocity(param_00);
|
||||
wait(0.25);
|
||||
return 1;
|
||||
}
|
||||
|
||||
//Function Number: 10
|
||||
drop_points_on_path(param_00,param_01,param_02)
|
||||
{
|
||||
var_03 = distance(param_00,param_01);
|
||||
var_04 = vectornormalize(param_01 - param_00);
|
||||
var_05 = var_03 / param_02;
|
||||
var_06 = level.players;
|
||||
var_07 = [];
|
||||
for(var_08 = 0;var_08 < param_02;var_08++)
|
||||
{
|
||||
var_09 = 0;
|
||||
if(var_07.size > 0)
|
||||
{
|
||||
param_00 = var_07[var_07.size - 1] + (0,0,30);
|
||||
}
|
||||
|
||||
var_0A = param_00 + var_05 * var_04;
|
||||
var_0A = scripts\common\utility::func_5D14(var_0A,30,-5000);
|
||||
if(!navisstraightlinereachable(param_00,var_0A))
|
||||
{
|
||||
var_0B = getclosestpointonnavmesh(var_0A);
|
||||
if(distancesquared(var_0B,var_0A) < 10000)
|
||||
{
|
||||
var_0A = var_0B;
|
||||
}
|
||||
}
|
||||
|
||||
var_0A = var_0A + (0,0,10);
|
||||
if(!is_point_in_valid_place(var_0A,self))
|
||||
{
|
||||
var_09 = 1;
|
||||
}
|
||||
|
||||
if(var_07.size > 0)
|
||||
{
|
||||
var_0C = var_0A[2];
|
||||
var_0D = var_07[var_07.size - 1][2];
|
||||
if(var_0C > var_0D + 100)
|
||||
{
|
||||
var_09 = 1;
|
||||
}
|
||||
|
||||
var_0E = var_0D - var_0C;
|
||||
if(var_0E > 1000)
|
||||
{
|
||||
var_09 = 1;
|
||||
}
|
||||
else if(var_0E > 100)
|
||||
{
|
||||
var_0A = (var_0A[0],var_0A[1],var_0C + var_0D / 2);
|
||||
}
|
||||
}
|
||||
|
||||
if(!var_09)
|
||||
{
|
||||
var_07[var_07.size] = var_0A;
|
||||
}
|
||||
|
||||
scripts\common\utility::func_136F7();
|
||||
}
|
||||
|
||||
return var_07;
|
||||
}
|
||||
|
||||
//Function Number: 11
|
||||
setupinvalidcranevolumes()
|
||||
{
|
||||
level.invalidcranevolumes = [];
|
||||
level.invalidcranevolumes[level.invalidcranevolumes.size] = [(488,704,950),(560,1240,1206)];
|
||||
level.invalidcranevolumes[level.invalidcranevolumes.size] = [(-1512,3664,1100),(-768,3832,1288)];
|
||||
level.invalidcranevolumes[level.invalidcranevolumes.size] = [(-2048,880,1100),(-1920,912,1170)];
|
||||
level.invalidcranevolumes[level.invalidcranevolumes.size] = [(-1328,2592,872),(-1408,2480,950)];
|
||||
level.invalidcranevolumes[level.invalidcranevolumes.size] = [(-1472,2592,872),(-1536,2480,950)];
|
||||
level.invalidcranevolumes[level.invalidcranevolumes.size] = [(60,1236,800),(138,1266,950)];
|
||||
level.invalidcranevolumes[level.invalidcranevolumes.size] = [(488,460,942),(520,730,1020)];
|
||||
level.invalidcranevolumes[level.invalidcranevolumes.size] = [(-278,1265,300),(-1510,1819,420)];
|
||||
level.invalidcranevolumes[level.invalidcranevolumes.size] = [(-1468,1749,300),(-250,2423,420)];
|
||||
level.invalidcranevolumes[level.invalidcranevolumes.size] = [(271,2341,450),(207,2304,350)];
|
||||
level.invalidcranevolumes[level.invalidcranevolumes.size] = [(-1440,3968,1032),(-1040,4272,1112)];
|
||||
}
|
||||
|
||||
//Function Number: 12
|
||||
is_point_in_valid_place(param_00,param_01)
|
||||
{
|
||||
if(isdefined(level.var_164B))
|
||||
{
|
||||
if(!self [[ level.var_164B ]](param_00))
|
||||
{
|
||||
if(!is_in_valid_patch_zone(param_00))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(!scripts\cp\_weapon::func_9E54(param_00,level.var_9B0B,param_01))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
if(isdefined(level.invalidcranevolumes))
|
||||
{
|
||||
if(isdefined(level.is_in_crane_box_func))
|
||||
{
|
||||
foreach(var_03 in level.invalidcranevolumes)
|
||||
{
|
||||
if([[ level.is_in_crane_box_func ]](var_03[0],var_03[1],param_00))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(isdefined(level.invalidtranspondervolumes))
|
||||
{
|
||||
if(isdefined(level.is_in_box_func))
|
||||
{
|
||||
foreach(var_03 in level.invalidtranspondervolumes)
|
||||
{
|
||||
if([[ level.is_in_box_func ]](var_03[0],var_03[1],var_03[2],var_03[3],param_00))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(positionwouldtelefrag(param_00))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
//Function Number: 13
|
||||
final_location_check_loop()
|
||||
{
|
||||
self endon("death");
|
||||
var_00 = 20;
|
||||
for(var_01 = 0;var_01 < var_00;var_01++)
|
||||
{
|
||||
final_location_check();
|
||||
scripts\common\utility::func_136F7();
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 14
|
||||
final_location_check()
|
||||
{
|
||||
var_00 = self.origin;
|
||||
if(isdefined(level.invalidcranevolumes))
|
||||
{
|
||||
if(isdefined(level.is_in_crane_box_func))
|
||||
{
|
||||
foreach(var_02 in level.invalidcranevolumes)
|
||||
{
|
||||
if([[ level.is_in_crane_box_func ]](var_02[0],var_02[1],var_00))
|
||||
{
|
||||
var_03 = find_closest_crane_teleport(var_00);
|
||||
self dontinterpolate();
|
||||
self setorigin(var_03);
|
||||
scripts\common\utility::func_136F7();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 15
|
||||
init_crane_teleport_spots()
|
||||
{
|
||||
level.crane_teleport_spots = [];
|
||||
level.crane_teleport_spots[level.crane_teleport_spots.size] = (-1232,3773,953);
|
||||
level.crane_teleport_spots[level.crane_teleport_spots.size] = (605,796,918);
|
||||
level.crane_teleport_spots[level.crane_teleport_spots.size] = (-2000,944,1110);
|
||||
level.crane_teleport_spots[level.crane_teleport_spots.size] = (-1408,2544,872);
|
||||
level.crane_teleport_spots[level.crane_teleport_spots.size] = (-1456,2544,872);
|
||||
level.crane_teleport_spots[level.crane_teleport_spots.size] = (100,1282,850);
|
||||
level.crane_teleport_spots[level.crane_teleport_spots.size] = (526,684,942);
|
||||
level.crane_teleport_spots[level.crane_teleport_spots.size] = (-599,2263,356);
|
||||
level.crane_teleport_spots[level.crane_teleport_spots.size] = (-1318,2077,356);
|
||||
level.crane_teleport_spots[level.crane_teleport_spots.size] = (-845,1348,356);
|
||||
level.crane_teleport_spots[level.crane_teleport_spots.size] = (-359,1758,356);
|
||||
level.crane_teleport_spots[level.crane_teleport_spots.size] = (236,2373,400);
|
||||
level.crane_teleport_spots[level.crane_teleport_spots.size] = (-1274,3933,1061);
|
||||
}
|
||||
|
||||
//Function Number: 16
|
||||
find_closest_crane_teleport(param_00)
|
||||
{
|
||||
if(isdefined(level.crane_teleport_spots))
|
||||
{
|
||||
var_01 = get_closest_vector(param_00,level.crane_teleport_spots);
|
||||
return var_01;
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 17
|
||||
get_closest_vector(param_00,param_01)
|
||||
{
|
||||
var_02 = undefined;
|
||||
var_03 = 100000;
|
||||
foreach(var_05 in param_01)
|
||||
{
|
||||
var_06 = distance(var_05,param_00);
|
||||
if(var_06 >= var_03)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
var_03 = var_06;
|
||||
var_02 = var_05;
|
||||
}
|
||||
|
||||
return var_02;
|
||||
}
|
||||
|
||||
//Function Number: 18
|
||||
init_valid_patch_nodes()
|
||||
{
|
||||
level.valid_patch_nodes = [];
|
||||
create_valid_patch_node((913.9,2246.6,532.5),150);
|
||||
create_valid_patch_node((225.9,2246.6,532.5),150);
|
||||
create_valid_patch_node((1105.9,1814.6,612.5),150);
|
||||
create_valid_patch_node((544,320,952),100);
|
||||
}
|
||||
|
||||
//Function Number: 19
|
||||
create_valid_patch_node(param_00,param_01)
|
||||
{
|
||||
var_02 = spawnstruct();
|
||||
var_02.origin = param_00;
|
||||
var_02.var_56E8 = param_01 * param_01;
|
||||
level.valid_patch_nodes[level.valid_patch_nodes.size] = var_02;
|
||||
}
|
||||
|
||||
//Function Number: 20
|
||||
is_in_basic_box(param_00,param_01,param_02)
|
||||
{
|
||||
if(!isdefined(param_02))
|
||||
{
|
||||
if(isplayer(self) || isagent(self))
|
||||
{
|
||||
param_02 = self.origin;
|
||||
}
|
||||
else
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
for(var_03 = 0;var_03 < 3;var_03++)
|
||||
{
|
||||
if(!(param_02[var_03] > param_00[var_03] && param_02[var_03] < param_01[var_03]) || param_02[var_03] > param_01[var_03] && param_02[var_03] < param_00[var_03])
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
//Function Number: 21
|
||||
is_in_valid_patch_zone(param_00)
|
||||
{
|
||||
var_01 = 0;
|
||||
foreach(var_03 in level.valid_patch_nodes)
|
||||
{
|
||||
if(distancesquared(param_00,var_03.origin) < var_03.var_56E8)
|
||||
{
|
||||
var_01 = 1;
|
||||
}
|
||||
}
|
||||
|
||||
return var_01;
|
||||
}
|
||||
|
||||
//Function Number: 22
|
||||
move_along_point_path(param_00,param_01)
|
||||
{
|
||||
var_02 = param_01 / param_00.size;
|
||||
for(var_03 = 0;var_03 < param_00.size - 1;var_03++)
|
||||
{
|
||||
var_04 = param_00[var_03];
|
||||
var_05 = param_00[var_03 + 1];
|
||||
func_BC94(var_04,var_05,var_02);
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 23
|
||||
func_BC94(param_00,param_01,param_02)
|
||||
{
|
||||
var_03 = param_02 / 0.05;
|
||||
for(var_04 = 0;var_04 < var_03;var_04++)
|
||||
{
|
||||
var_05 = var_04 / var_03;
|
||||
var_06 = vectorlerp(param_00,param_01,var_05);
|
||||
self.origin = var_06;
|
||||
scripts\common\utility::func_136F7();
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 24
|
||||
check_invalid_landing_place_and_teleport(param_00)
|
||||
{
|
||||
param_00 notify("crane_invalid_landing_check");
|
||||
param_00 endon("crane_invalid_landing_check");
|
||||
param_00 endon("disconnect");
|
||||
var_01 = get_teleport_spot_n_landing_z_coordinate(param_00);
|
||||
if(isdefined(var_01.landing_z_coordinate))
|
||||
{
|
||||
while(param_00.origin[2] > var_01.landing_z_coordinate)
|
||||
{
|
||||
scripts\common\utility::func_136F7();
|
||||
}
|
||||
}
|
||||
|
||||
if(isdefined(var_01.teleport_spot))
|
||||
{
|
||||
kill_nearby_zombies(var_01.teleport_spot,param_00);
|
||||
param_00 setorigin(var_01.teleport_spot);
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 25
|
||||
kill_nearby_zombies(param_00,param_01)
|
||||
{
|
||||
var_02 = 625;
|
||||
foreach(var_04 in level.spawned_enemies)
|
||||
{
|
||||
if(distancesquared(var_04.origin,param_00) < var_02)
|
||||
{
|
||||
var_04.nocorpse = 1;
|
||||
var_04.full_gib = 1;
|
||||
var_04 dodamage(var_04.maxhealth,param_00,param_01,undefined,"MOD_EXPLOSIVE");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 26
|
||||
get_teleport_spot_n_landing_z_coordinate(param_00)
|
||||
{
|
||||
var_01 = spawnstruct();
|
||||
var_01.teleport_spot = undefined;
|
||||
var_01.landing_z_coordinate = undefined;
|
||||
if(!scripts\common\utility::flag("rooftop_walkway_open"))
|
||||
{
|
||||
var_01.landing_z_coordinate = 990;
|
||||
if(param_00.origin[0] > -567)
|
||||
{
|
||||
var_01.teleport_spot = getclosestpointonnavmesh((-597,param_00.origin[1],param_00.origin[2]));
|
||||
}
|
||||
}
|
||||
|
||||
return var_01;
|
||||
}
|
||||
|
||||
//Function Number: 27
|
||||
kill_near_me()
|
||||
{
|
||||
self endon("crane_power_done");
|
||||
var_00 = 150;
|
||||
var_01 = var_00 * var_00;
|
||||
for(;;)
|
||||
{
|
||||
foreach(var_03 in level.spawned_enemies)
|
||||
{
|
||||
if(distancesquared(var_03.origin,self.origin) < var_01)
|
||||
{
|
||||
playfx(level._effect["nunchuck_pap1"],var_03.origin + (0,0,30));
|
||||
var_03 dodamage(var_03.maxhealth,self.origin,self,undefined,"MOD_EXPLOSIVE");
|
||||
}
|
||||
}
|
||||
|
||||
scripts\common\utility::func_136F7();
|
||||
}
|
||||
}
|
650
IW/PC/ALL/scripts/cp/maps/cp_disco/kung_fu_mode_dragon.gsc
Normal file
650
IW/PC/ALL/scripts/cp/maps/cp_disco/kung_fu_mode_dragon.gsc
Normal file
@ -0,0 +1,650 @@
|
||||
/*******************************************************************
|
||||
* Decompiled By: Bog
|
||||
* Decompiled File: scripts\cp\maps\cp_disco\kung_fu_mode_dragon.gsc
|
||||
* Game: Call of Duty: Infinite Warfare
|
||||
* Platform: PC
|
||||
* Function Count: 31
|
||||
* Decompile Time: 1596 ms
|
||||
* Timestamp: 10/27/2023 12:04:29 AM
|
||||
*******************************************************************/
|
||||
|
||||
//Function Number: 1
|
||||
setup_kung_fu_dragon_powers()
|
||||
{
|
||||
scripts\common\utility::flag_wait("interactions_initialized");
|
||||
scripts\cp\powers\coop_powers::func_D787("power_shuriken_dragon",::set_dragon_shuriken_power,::unset_dragon_shuriken_power,::use_dragon_shuriken,undefined,undefined,undefined);
|
||||
level._effect["dragon_symbol"] = loadfx("vfx/iw7/levels/cp_disco/vfx_kungfu_seal_dragon_ground.vfx");
|
||||
}
|
||||
|
||||
//Function Number: 2
|
||||
set_dragon_shuriken_power(param_00)
|
||||
{
|
||||
self notify("stop_shuriken_watcher");
|
||||
self.shuriken_charged = undefined;
|
||||
thread dragon_shuriken_throw_listener(param_00);
|
||||
thread dragon_shuriken_pullback_listener(param_00);
|
||||
}
|
||||
|
||||
//Function Number: 3
|
||||
get_shuriken_weapon_proj()
|
||||
{
|
||||
var_00 = self.kung_fu_progression.active_discipline;
|
||||
switch(var_00)
|
||||
{
|
||||
case "dragon":
|
||||
return "iw7_shuriken_dragon_proj";
|
||||
|
||||
case "tiger":
|
||||
return "iw7_shuriken_tiger_proj";
|
||||
|
||||
case "snake":
|
||||
return "iw7_shuriken_snake_proj";
|
||||
|
||||
case "crane":
|
||||
return "iw7_shuriken_crane_proj";
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 4
|
||||
get_shuriken_grenade_weapon()
|
||||
{
|
||||
var_00 = self.kung_fu_progression.active_discipline;
|
||||
switch(var_00)
|
||||
{
|
||||
case "dragon":
|
||||
return "iw7_shuriken_zm_dragon";
|
||||
|
||||
case "tiger":
|
||||
return "iw7_shuriken_zm_tiger";
|
||||
|
||||
case "snake":
|
||||
return "iw7_shuriken_zm_snake";
|
||||
|
||||
case "crane":
|
||||
return "iw7_shuriken_zm_crane";
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 5
|
||||
dragon_shuriken_throw_listener(param_00)
|
||||
{
|
||||
self endon("disconnect");
|
||||
self endon("last_stand");
|
||||
self endon("stop_shuriken_watcher");
|
||||
var_01 = get_shuriken_weapon_proj();
|
||||
if(!isdefined(var_01))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var_02 = get_shuriken_grenade_weapon();
|
||||
if(!isdefined(var_02))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
for(;;)
|
||||
{
|
||||
self waittill("grenade_fire",var_03,var_04,var_05);
|
||||
if(var_04 != var_02)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
self setscriptablepartstate("shuriken","inactive");
|
||||
while(isdefined(var_03) && distance2dsquared(var_03.origin,self.origin) <= 8100)
|
||||
{
|
||||
wait(0.05);
|
||||
}
|
||||
|
||||
if(!isdefined(var_03))
|
||||
{
|
||||
thread scripts\cp\zombies\zombies_chi_meter::chi_meter_kill_decrement(scripts\cp\maps\cp_disco\kung_fu_mode::getrbabilitycost());
|
||||
continue;
|
||||
}
|
||||
|
||||
scripts\cp\powers\coop_powers::func_D728();
|
||||
if(scripts\common\utility::istrue(self.shuriken_charged))
|
||||
{
|
||||
self.shuriken_charged = undefined;
|
||||
throw_charged_shuriken(param_00,var_03,var_01);
|
||||
continue;
|
||||
}
|
||||
|
||||
var_06 = sortbydistance(level.spawned_enemies,var_03.origin);
|
||||
var_07 = [];
|
||||
var_08 = var_03.origin;
|
||||
var_09 = self getplayerangles();
|
||||
var_0A = anglestoforward(var_03.angles);
|
||||
var_0B = vectornormalize(var_0A) * 100 + var_08;
|
||||
var_0C = 10;
|
||||
var_0D = var_0C * -1;
|
||||
var_0D = var_0D + var_0C;
|
||||
var_0E = var_08 + anglestoforward(var_09 + (var_0D / 10,var_0D,0)) * 45;
|
||||
magicbullet(var_01,var_08,var_0E,self);
|
||||
var_0D = var_0D + var_0C;
|
||||
var_03 delete();
|
||||
thread scripts\cp\zombies\zombies_chi_meter::chi_meter_kill_decrement(scripts\cp\maps\cp_disco\kung_fu_mode::getrbabilitycost());
|
||||
scripts\cp\powers\coop_powers::func_D72E();
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 6
|
||||
dragon_shuriken_pullback_listener(param_00)
|
||||
{
|
||||
self endon("watch_for_kung_fu_timeout");
|
||||
self endon("disconnect");
|
||||
self endon("last_stand");
|
||||
self endon("stop_shuriken_watcher");
|
||||
var_01 = get_shuriken_grenade_weapon();
|
||||
if(!isdefined(var_01))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
for(;;)
|
||||
{
|
||||
self waittill("grenade_pullback",var_02);
|
||||
if(var_02 != var_01)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
thread dragon_shuriken_switch_listener();
|
||||
thread charge_shuriken(2);
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 7
|
||||
charge_shuriken(param_00)
|
||||
{
|
||||
self endon("grenade_fire");
|
||||
self endon("offhand_end");
|
||||
self endon("put_shuriken_away");
|
||||
wait(param_00);
|
||||
self.shuriken_charged = 1;
|
||||
set_charged_scriptable_state();
|
||||
}
|
||||
|
||||
//Function Number: 8
|
||||
dragon_shuriken_switch_listener()
|
||||
{
|
||||
self endon("watch_for_kung_fu_timeout");
|
||||
self endon("disconnect");
|
||||
self endon("last_stand");
|
||||
self endon("stop_shuriken_watcher");
|
||||
self endon("grenade_fire");
|
||||
self notifyonplayercommand("put_shuriken_away","+weapnext");
|
||||
self waittill("put_shuriken_away",var_00);
|
||||
self.shuriken_charged = undefined;
|
||||
self setscriptablepartstate("shuriken","inactive");
|
||||
}
|
||||
|
||||
//Function Number: 9
|
||||
set_charged_scriptable_state()
|
||||
{
|
||||
var_00 = self.kung_fu_progression.active_discipline;
|
||||
switch(var_00)
|
||||
{
|
||||
case "dragon":
|
||||
self setscriptablepartstate("shuriken","dragon_active");
|
||||
break;
|
||||
|
||||
case "tiger":
|
||||
self setscriptablepartstate("shuriken","tiger_active");
|
||||
break;
|
||||
|
||||
case "snake":
|
||||
self setscriptablepartstate("shuriken","snake_active");
|
||||
break;
|
||||
|
||||
case "crane":
|
||||
self setscriptablepartstate("shuriken","crane_active");
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 10
|
||||
unset_dragon_shuriken_power(param_00)
|
||||
{
|
||||
}
|
||||
|
||||
//Function Number: 11
|
||||
use_dragon_shuriken(param_00)
|
||||
{
|
||||
}
|
||||
|
||||
//Function Number: 12
|
||||
throw_charged_shuriken(param_00,param_01,param_02)
|
||||
{
|
||||
var_03 = sortbydistance(level.spawned_enemies,param_01.origin);
|
||||
var_04 = [];
|
||||
var_05 = param_01.origin;
|
||||
if(!isdefined(param_02))
|
||||
{
|
||||
param_02 = "iw7_shuriken_dragon_proj";
|
||||
}
|
||||
|
||||
thread scripts\common\utility::play_sound_in_space("kungfu_shuriken_split",var_05);
|
||||
foreach(var_07 in var_03)
|
||||
{
|
||||
if(scripts\common\utility::func_13D90(self.origin,self getplayerangles(),var_07.origin,0.9))
|
||||
{
|
||||
var_04[var_04.size] = var_07;
|
||||
}
|
||||
}
|
||||
|
||||
if(var_04.size == 0)
|
||||
{
|
||||
var_09 = self getplayerangles();
|
||||
var_0A = anglestoforward(param_01.angles);
|
||||
var_0B = vectornormalize(var_0A) * 100 + var_05;
|
||||
var_0C = 10;
|
||||
var_0D = var_0C * -1;
|
||||
for(var_0E = 0;var_0E < 3;var_0E++)
|
||||
{
|
||||
var_0F = var_05 + anglestoforward(var_09 + (var_0D / 10,var_0D,0)) * 45;
|
||||
magicbullet(param_02,var_05,var_0F,self);
|
||||
var_0D = var_0D + var_0C;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
var_0E = 0;
|
||||
foreach(var_07 in var_04)
|
||||
{
|
||||
if(var_0E == 3)
|
||||
{
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
var_0E++;
|
||||
}
|
||||
|
||||
magicbullet(param_02,var_05,var_07 gettagorigin("j_mainroot") + (0,0,10),self);
|
||||
}
|
||||
}
|
||||
|
||||
param_01 delete();
|
||||
scripts\cp\powers\coop_powers::func_D72E();
|
||||
thread scripts\cp\zombies\zombies_chi_meter::chi_meter_kill_decrement(scripts\cp\maps\cp_disco\kung_fu_mode::getrbabilitycost());
|
||||
}
|
||||
|
||||
//Function Number: 13
|
||||
use_dragon_shuriken_power(param_00)
|
||||
{
|
||||
}
|
||||
|
||||
//Function Number: 14
|
||||
dragon_super_use(param_00)
|
||||
{
|
||||
self.dragon_super = 1;
|
||||
var_01 = scripts\cp\_utility::getvalidtakeweapon();
|
||||
var_02 = "dragon";
|
||||
if(isdefined(self.kung_fu_progression.active_discipline))
|
||||
{
|
||||
var_01 = level.kung_fu_upgrades[var_02].melee_weapon;
|
||||
}
|
||||
|
||||
scripts\cp\powers\coop_powers::func_D728();
|
||||
scripts\common\utility::func_1C53(0);
|
||||
self playgestureviewmodel("ges_dragon_melee_super",undefined,1);
|
||||
thread stay_in_kung_fu_till_gesture_done("ges_dragon_melee_super");
|
||||
thread play_dragon_hand_fx();
|
||||
wait(0.5);
|
||||
var_03 = self.origin + (0,0,60);
|
||||
var_04 = self getplayerangles();
|
||||
var_05 = anglestoforward(var_04);
|
||||
var_06 = vectornormalize(var_05) * 100 + self.origin;
|
||||
var_05 = vectornormalize(var_05) * 3000 + var_03;
|
||||
var_07 = spawn("script_model",var_06);
|
||||
var_07.angles = var_04 + (0,-90,0);
|
||||
var_07 setmodel("tag_origin_dragon_super");
|
||||
var_07.var_222 = self;
|
||||
var_07.spiral_center = self.origin;
|
||||
var_07 thread move_dragon(var_05,var_02,var_01);
|
||||
var_07 thread dragon_super_damage(self,15,var_01);
|
||||
}
|
||||
|
||||
//Function Number: 15
|
||||
stay_in_kung_fu_till_gesture_done(param_00)
|
||||
{
|
||||
self endon("disconnect");
|
||||
self.kung_fu_shield = 1;
|
||||
var_01 = 500;
|
||||
if(self.chi_meter_amount - var_01 <= 0)
|
||||
{
|
||||
self.kung_fu_exit_delay = 1;
|
||||
}
|
||||
|
||||
var_02 = self method_8443(param_00);
|
||||
wait(var_02);
|
||||
scripts\common\utility::func_1C53(1);
|
||||
self.dragon_super = undefined;
|
||||
self.kung_fu_exit_delay = 0;
|
||||
self.kung_fu_shield = undefined;
|
||||
scripts\cp\powers\coop_powers::func_D72E();
|
||||
}
|
||||
|
||||
//Function Number: 16
|
||||
play_dragon_hand_fx()
|
||||
{
|
||||
self setscriptablepartstate("kung_fu_super_fx","dragon");
|
||||
wait(2);
|
||||
self setscriptablepartstate("kung_fu_super_fx","off");
|
||||
}
|
||||
|
||||
//Function Number: 17
|
||||
move_dragon(param_00,param_01,param_02)
|
||||
{
|
||||
self moveto(self.origin + (0,0,50),0.25);
|
||||
self waittill("movedone");
|
||||
thread dragon_time_out(10);
|
||||
follow_dragon_path(param_01,param_02);
|
||||
thread scripts\common\utility::play_sound_in_space("kungfu_dragon_proj_off",self.origin);
|
||||
self setscriptablepartstate("tag","off",1);
|
||||
self delete();
|
||||
}
|
||||
|
||||
//Function Number: 18
|
||||
move_dragon_forward()
|
||||
{
|
||||
self endon("dragon_time_out");
|
||||
var_00 = 100;
|
||||
for(;;)
|
||||
{
|
||||
var_01 = anglestoforward(self.angles);
|
||||
var_01 = vectornormalize(var_01);
|
||||
var_01 = var_01 * var_00;
|
||||
self moveto(self.origin + var_01,0.1);
|
||||
self waittill("movedone");
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 19
|
||||
aim_dragon()
|
||||
{
|
||||
self endon("dragon_time_out");
|
||||
for(;;)
|
||||
{
|
||||
var_00 = scripts\cp\_agent_utils::func_7DB0("axis");
|
||||
if(var_00.size > 0)
|
||||
{
|
||||
var_01 = scripts\common\utility::func_782F(self.origin,var_00,undefined,24,500,1);
|
||||
var_02 = anglestoforward(self.angles);
|
||||
while(isalive(var_01[0]))
|
||||
{
|
||||
var_03 = var_01[0] method_8428(self.origin,var_01[0].origin);
|
||||
level thread debug_show_path(var_03);
|
||||
var_04 = var_01[0].origin + (0,0,60) - self.origin + (0,0,60);
|
||||
var_05 = vectortoangles(var_04);
|
||||
self rotateto(var_05,0.1);
|
||||
wait(0.1);
|
||||
}
|
||||
}
|
||||
|
||||
wait(0.1);
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 20
|
||||
follow_dragon_path(param_00,param_01)
|
||||
{
|
||||
self endon("dragon_time_out");
|
||||
var_02 = -25536;
|
||||
for(;;)
|
||||
{
|
||||
var_03 = scripts\cp\_agent_utils::func_7DB0("axis");
|
||||
var_04 = [];
|
||||
foreach(var_06 in var_03)
|
||||
{
|
||||
if(isdefined(var_06.agent_type) && var_06.agent_type != "ratking")
|
||||
{
|
||||
var_04 = scripts\common\utility::array_add(var_04,var_06);
|
||||
}
|
||||
}
|
||||
|
||||
var_03 = var_04;
|
||||
var_03 = [];
|
||||
if(var_03.size > 0)
|
||||
{
|
||||
var_08 = scripts\common\utility::func_782F(self.origin,var_03,undefined,24,1500,1);
|
||||
if(var_08.size > 0)
|
||||
{
|
||||
var_09 = anglestoforward(self.angles);
|
||||
var_0A = var_08[0];
|
||||
self.var_10C = var_0A;
|
||||
clean_up_spiral();
|
||||
while(isalive(var_0A))
|
||||
{
|
||||
var_0B = distancesquared(self.origin,var_0A.origin);
|
||||
if(var_0B < var_02)
|
||||
{
|
||||
var_0C = var_0A.origin + (0,0,60) - self.origin + (0,0,60);
|
||||
var_0D = vectortoangles(var_0C);
|
||||
self rotateto(var_0D,0.1);
|
||||
var_0E = length(var_0C);
|
||||
var_0C = vectornormalize(var_0C) * var_0E + 100;
|
||||
self moveto(self.origin + var_0C + (0,0,60),0.25);
|
||||
self waittill("movedone");
|
||||
if(isalive(var_0A))
|
||||
{
|
||||
dragon_kill_guy(var_0A,self.var_222,param_01);
|
||||
}
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
var_0F = getclosestpointonnavmesh(self.origin);
|
||||
var_10 = var_0A method_8428(var_0F,var_0A.origin,1,1);
|
||||
var_10 = [];
|
||||
move_along_path_new(var_10,var_0A);
|
||||
wait(0.1);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
thread idle_spiral();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
thread idle_spiral();
|
||||
}
|
||||
|
||||
wait(0.1);
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 21
|
||||
clean_up_spiral()
|
||||
{
|
||||
self.on_spiral_path = 0;
|
||||
if(isdefined(self.spin_org))
|
||||
{
|
||||
self.spin_org delete();
|
||||
}
|
||||
|
||||
self notify("found_enemy");
|
||||
}
|
||||
|
||||
//Function Number: 22
|
||||
idle_spiral()
|
||||
{
|
||||
self endon("found_enemy");
|
||||
self endon("death");
|
||||
wait(0.25);
|
||||
if(!scripts\common\utility::istrue(self.on_spiral_path))
|
||||
{
|
||||
move_along_spiral_path();
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 23
|
||||
move_along_spiral_path(param_00)
|
||||
{
|
||||
self endon("found_enemy");
|
||||
self endon("death");
|
||||
self endon("got_new_path");
|
||||
spin_linked_ent();
|
||||
}
|
||||
|
||||
//Function Number: 24
|
||||
spin_linked_ent()
|
||||
{
|
||||
self endon("found_enemy");
|
||||
self endon("death");
|
||||
var_00 = self.spiral_center;
|
||||
self.on_spiral_path = 1;
|
||||
self.spin_org = spawn("script_origin",var_00);
|
||||
self linkto(self.spin_org);
|
||||
self.spin_org rotateyaw(-100000,300);
|
||||
for(;;)
|
||||
{
|
||||
self.spin_org movez(75,2);
|
||||
self.spin_org waittill("movedone");
|
||||
self.spin_org movez(-75,2);
|
||||
self.spin_org waittill("movedone");
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 25
|
||||
move_along_path_new(param_00,param_01)
|
||||
{
|
||||
self endon("death");
|
||||
self endon("got_new_path");
|
||||
var_02 = 100;
|
||||
var_03 = var_02 * var_02;
|
||||
if(param_00.size > 0)
|
||||
{
|
||||
var_04 = 0;
|
||||
var_05 = param_00[var_04];
|
||||
var_06 = 0;
|
||||
while(distancesquared(self.origin,var_05) < var_03)
|
||||
{
|
||||
if(isdefined(param_00[var_04 + 1]))
|
||||
{
|
||||
var_04++;
|
||||
var_05 = param_00[var_04];
|
||||
continue;
|
||||
}
|
||||
|
||||
var_06 = 1;
|
||||
break;
|
||||
}
|
||||
|
||||
if(!var_06)
|
||||
{
|
||||
thread turn_towards_target(var_05);
|
||||
}
|
||||
}
|
||||
else if(isalive(param_01))
|
||||
{
|
||||
var_05 = param_01.origin + (0,0,60);
|
||||
thread turn_towards_target(var_05);
|
||||
}
|
||||
|
||||
thread func_BC29();
|
||||
}
|
||||
|
||||
//Function Number: 26
|
||||
func_BC29()
|
||||
{
|
||||
var_00 = 500;
|
||||
var_01 = anglestoforward(self.angles);
|
||||
var_01 = vectornormalize(var_01) * var_00;
|
||||
var_02 = self.origin + var_01;
|
||||
var_02 = getclosestpointonnavmesh(var_02);
|
||||
self moveto(var_02 + (0,0,60),1);
|
||||
}
|
||||
|
||||
//Function Number: 27
|
||||
turn_towards_target(param_00)
|
||||
{
|
||||
var_01 = 360;
|
||||
var_02 = param_00 - self.origin + (0,0,60);
|
||||
var_03 = vectortoangles(var_02);
|
||||
var_04 = anglesdelta(self.angles,var_03) * 2;
|
||||
if(var_04 == 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var_05 = var_04 / var_01;
|
||||
var_05 = abs(var_05);
|
||||
self rotateto(var_03,var_05);
|
||||
var_06 = anglestoforward(var_03);
|
||||
var_06 = vectornormalize(var_06) * 100;
|
||||
var_07 = self.origin + var_06;
|
||||
}
|
||||
|
||||
//Function Number: 28
|
||||
debug_show_path(param_00)
|
||||
{
|
||||
for(var_01 = 0;var_01 < param_00.size;var_01++)
|
||||
{
|
||||
if(isdefined(param_00[var_01 + 1]))
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 29
|
||||
dragon_time_out(param_00)
|
||||
{
|
||||
wait(param_00);
|
||||
self notify("dragon_time_out");
|
||||
}
|
||||
|
||||
//Function Number: 30
|
||||
dragon_super_damage(param_00,param_01,param_02)
|
||||
{
|
||||
self endon("death");
|
||||
self notify("dragon_time_out");
|
||||
var_03 = 0.1;
|
||||
var_04 = 22500;
|
||||
while(!isdefined(self.spin_org))
|
||||
{
|
||||
wait(0.1);
|
||||
}
|
||||
|
||||
var_05 = self.spin_org;
|
||||
while(param_01 > 0 && isdefined(var_05))
|
||||
{
|
||||
var_06 = level.spawned_enemies;
|
||||
foreach(var_08 in var_06)
|
||||
{
|
||||
if(distancesquared(self.spiral_center,var_08.origin) < var_04)
|
||||
{
|
||||
dragon_kill_guy(var_08,param_00,param_02);
|
||||
}
|
||||
}
|
||||
|
||||
param_01 = param_01 - var_03;
|
||||
wait(var_03);
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 31
|
||||
dragon_kill_guy(param_00,param_01,param_02)
|
||||
{
|
||||
param_00.nocorpse = 1;
|
||||
param_00.full_gib = 1;
|
||||
if(isdefined(param_01))
|
||||
{
|
||||
param_00 dodamage(param_00.health + 1000,param_00.origin,param_01,param_01,"MOD_UNKNOWN",param_02);
|
||||
return;
|
||||
}
|
||||
|
||||
param_00 dodamage(param_00.health + 1000,param_00.origin,level.players[0],level.players[0],"MOD_UNKNOWN",param_02);
|
||||
}
|
377
IW/PC/ALL/scripts/cp/maps/cp_disco/kung_fu_mode_snake.gsc
Normal file
377
IW/PC/ALL/scripts/cp/maps/cp_disco/kung_fu_mode_snake.gsc
Normal file
@ -0,0 +1,377 @@
|
||||
/*******************************************************************
|
||||
* Decompiled By: Bog
|
||||
* Decompiled File: scripts\cp\maps\cp_disco\kung_fu_mode_snake.gsc
|
||||
* Game: Call of Duty: Infinite Warfare
|
||||
* Platform: PC
|
||||
* Function Count: 17
|
||||
* Decompile Time: 1163 ms
|
||||
* Timestamp: 10/27/2023 12:04:31 AM
|
||||
*******************************************************************/
|
||||
|
||||
//Function Number: 1
|
||||
snake_kung_fu_init()
|
||||
{
|
||||
level._effect["skeleton_summon_portal"] = loadfx("vfx/iw7/levels/cp_rave/superslasher/vfx_rave_superslasher_spawn_portal.vfx");
|
||||
scripts\common\utility::flag_wait("interactions_initialized");
|
||||
scripts\cp\powers\coop_powers::func_D787("power_shuriken_snake",::scripts\cp\maps\cp_disco\kung_fu_mode_dragon::set_dragon_shuriken_power,::scripts\cp\maps\cp_disco\kung_fu_mode_dragon::unset_dragon_shuriken_power,::scripts\cp\maps\cp_disco\kung_fu_mode_dragon::use_dragon_shuriken,undefined,undefined,undefined);
|
||||
scripts\cp\powers\coop_powers::func_D787("power_summon_pet_snake",::scripts\cp\maps\cp_disco\kung_fu_mode::func_2B53,::scripts\cp\maps\cp_disco\kung_fu_mode::func_2B53,::summon_skeleton_pet,undefined,"snake_chi_power",undefined);
|
||||
}
|
||||
|
||||
//Function Number: 2
|
||||
summon_skeleton_pet()
|
||||
{
|
||||
self endon("watch_for_kung_fu_timeout");
|
||||
self endon("disconnect");
|
||||
self endon("last_stand");
|
||||
wait(0.1);
|
||||
if(scripts\common\utility::istrue(self.snake_super))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
scripts\cp\powers\coop_powers::func_D728();
|
||||
var_00 = 250;
|
||||
if(self.chi_meter_amount - var_00 <= 0)
|
||||
{
|
||||
self.kung_fu_exit_delay = 1;
|
||||
}
|
||||
|
||||
scripts\cp\zombies\zombies_spawning::func_93EB(1);
|
||||
self playlocalsound("chi_snake_skeleton_summon");
|
||||
wait(1);
|
||||
if(isdefined(self.pet_skeleton))
|
||||
{
|
||||
self.pet_skeleton notify("owner_spawned_new_guy");
|
||||
self.pet_skeleton dodamage(self.pet_skeleton.health + 100,self.pet_skeleton.origin);
|
||||
wait(0.1);
|
||||
self.pet_skeleton = undefined;
|
||||
}
|
||||
|
||||
self.pet_skeleton = skeleton_spawner();
|
||||
if(isdefined(self.pet_skeleton))
|
||||
{
|
||||
scripts\cp\zombies\zombies_chi_meter::chi_meter_kill_decrement(250);
|
||||
}
|
||||
else
|
||||
{
|
||||
scripts\cp\zombies\zombies_spawning::func_4FB8(1);
|
||||
}
|
||||
|
||||
self.kung_fu_exit_delay = 0;
|
||||
scripts\cp\powers\coop_powers::func_D72E();
|
||||
self notify("snake_chi_power",1);
|
||||
}
|
||||
|
||||
//Function Number: 3
|
||||
skeleton_spawner()
|
||||
{
|
||||
var_00 = determine_skeleton_spawn_point(self.origin);
|
||||
var_01 = spawn_skeleton_solo(var_00);
|
||||
if(isdefined(var_01))
|
||||
{
|
||||
var_01 thread skeleton_arrival_cowbell(var_00);
|
||||
var_01 thread set_skeleton_attributes(self);
|
||||
}
|
||||
|
||||
return var_01;
|
||||
}
|
||||
|
||||
//Function Number: 4
|
||||
spawn_skeleton_solo(param_00)
|
||||
{
|
||||
param_00 = scripts\common\utility::func_5D14(param_00,30,-100);
|
||||
var_01 = spawnstruct();
|
||||
var_01.origin = param_00;
|
||||
var_01.var_EE79 = "ground_spawn_no_boards";
|
||||
var_01.var_ECF5 = "spawn_ground";
|
||||
var_02 = 4;
|
||||
var_03 = 0.3;
|
||||
for(var_04 = 0;var_04 < var_02;var_04++)
|
||||
{
|
||||
var_05 = var_01 scripts\cp\zombies\zombies_spawning::func_1081B("skeleton",1);
|
||||
if(isdefined(var_05))
|
||||
{
|
||||
level thread skeleton_spawn_fx_pillar(param_00,2);
|
||||
wait(var_03);
|
||||
return var_05;
|
||||
}
|
||||
|
||||
wait(var_03);
|
||||
}
|
||||
|
||||
return undefined;
|
||||
}
|
||||
|
||||
//Function Number: 5
|
||||
skeleton_spawn_fx_pillar(param_00,param_01)
|
||||
{
|
||||
var_02 = spawn("script_model",param_00);
|
||||
var_02 setmodel("tag_origin_snake_chi");
|
||||
wait(param_01);
|
||||
var_02 delete();
|
||||
}
|
||||
|
||||
//Function Number: 6
|
||||
skeleton_arrival_cowbell(param_00)
|
||||
{
|
||||
var_01 = (0,0,-11);
|
||||
var_02 = spawnfx(level._effect["skeleton_summon_portal"],param_00 + var_01,(0,0,1),(1,0,0));
|
||||
thread scripts\common\utility::play_sound_in_space("chi_snake_skeleton_spawn",var_02.origin);
|
||||
triggerfx(var_02);
|
||||
self playsound("chi_snake_skeleton_spawn_foley");
|
||||
scripts\common\utility::waittill_any_3("death","intro_vignette_done");
|
||||
var_02 delete();
|
||||
}
|
||||
|
||||
//Function Number: 7
|
||||
set_skeleton_attributes(param_00)
|
||||
{
|
||||
level endon("game_ended");
|
||||
self endon("death");
|
||||
self.playerowner = param_00;
|
||||
self.var_222 = param_00;
|
||||
var_01 = self;
|
||||
var_01.team = "allies";
|
||||
var_01.var_1F5 = "sprint";
|
||||
var_01.var_9CA2 = 1;
|
||||
var_01.var_9CEF = 1;
|
||||
var_01.maxhealth = 900;
|
||||
var_01.health = 900;
|
||||
var_01.allowpain = 0;
|
||||
var_01 notify("turned");
|
||||
var_01 thread zombie_movement_update(self);
|
||||
var_01.var_B57A = int(scripts\cp\zombies\zombies_spawning::func_3728("generic_zombie") * 1.5);
|
||||
level.spawned_enemies = scripts\common\utility::func_22A9(level.spawned_enemies,var_01);
|
||||
level.var_4B95--;
|
||||
var_01 thread func_A626(30);
|
||||
var_01 thread func_E0B2();
|
||||
var_01 thread watch_zombie_collision();
|
||||
if(isdefined(level.var_1299F))
|
||||
{
|
||||
level.var_1299F = scripts\common\utility::array_add(level.var_1299F,var_01);
|
||||
return;
|
||||
}
|
||||
|
||||
level.var_1299F = [];
|
||||
level.var_1299F = scripts\common\utility::array_add(level.var_1299F,var_01);
|
||||
}
|
||||
|
||||
//Function Number: 8
|
||||
watch_zombie_collision()
|
||||
{
|
||||
self endon("death");
|
||||
var_00 = 576;
|
||||
for(;;)
|
||||
{
|
||||
var_01 = scripts\cp\_agent_utils::func_7DB0("axis");
|
||||
if(var_01.size == 0)
|
||||
{
|
||||
wait(0.05);
|
||||
continue;
|
||||
}
|
||||
|
||||
var_02 = scripts\common\utility::getclosest(self.origin,var_01);
|
||||
if(distancesquared(var_02.origin,self.origin) < var_00)
|
||||
{
|
||||
var_02.full_gib = 1;
|
||||
var_02.var_4C87 = 1;
|
||||
var_02 dodamage(var_02.health + 100,var_02.origin,self,self,"MOD_MELEE","none");
|
||||
}
|
||||
|
||||
wait(0.05);
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 9
|
||||
func_A626(param_00)
|
||||
{
|
||||
level endon("game_ended");
|
||||
self endon("death");
|
||||
self waittill("intro_vignette_done");
|
||||
while(param_00 > 0)
|
||||
{
|
||||
wait(1);
|
||||
param_00--;
|
||||
}
|
||||
|
||||
thread scripts\common\utility::play_sound_in_space("chi_snake_skeleton_death",self.origin);
|
||||
self dodamage(self.health + 100,self.origin);
|
||||
}
|
||||
|
||||
//Function Number: 10
|
||||
func_E0B2()
|
||||
{
|
||||
level endon("game_ended");
|
||||
self waittill("death");
|
||||
level.var_1299F = scripts\common\utility::func_22A9(level.var_1299F,self);
|
||||
scripts\cp\zombies\zombies_spawning::func_4FB8(1);
|
||||
}
|
||||
|
||||
//Function Number: 11
|
||||
determine_skeleton_spawn_point(param_00)
|
||||
{
|
||||
var_01 = self.angles;
|
||||
var_02 = self.origin + anglestoforward(self.angles) * 64;
|
||||
var_03 = 0;
|
||||
while(var_03 <= 360)
|
||||
{
|
||||
if(ispointonnavmesh(var_02) && scripts\cp\maps\cp_disco\cp_disco::is_in_active_volume(var_02))
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
var_01 = var_01 + (0,15,0);
|
||||
var_03 = var_03 + 15;
|
||||
var_02 = self.origin + anglestoforward(var_01) * 64;
|
||||
}
|
||||
|
||||
if(var_03 >= 360)
|
||||
{
|
||||
return self.origin;
|
||||
}
|
||||
|
||||
return var_02;
|
||||
}
|
||||
|
||||
//Function Number: 12
|
||||
zombie_movement_update(param_00)
|
||||
{
|
||||
level endon("game_ended");
|
||||
param_00 endon("death");
|
||||
self endon("death");
|
||||
for(;;)
|
||||
{
|
||||
var_01 = determine_skeleton_mode(param_00);
|
||||
switch(var_01)
|
||||
{
|
||||
case "move":
|
||||
skeleton_move_to_player(param_00);
|
||||
break;
|
||||
|
||||
case "fight":
|
||||
self.var_EF64 = 0;
|
||||
wait(3);
|
||||
break;
|
||||
|
||||
default:
|
||||
wait(0.25);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 13
|
||||
skeleton_move_to_player(param_00)
|
||||
{
|
||||
level endon("game_ended");
|
||||
param_00 endon("death");
|
||||
self endon("death");
|
||||
self.var_EF64 = 1;
|
||||
self method_8287(96);
|
||||
self method_8284(self.playerowner);
|
||||
scripts\common\utility::waittill_any_timeout_1(2,"goal_reached");
|
||||
}
|
||||
|
||||
//Function Number: 14
|
||||
determine_skeleton_mode(param_00)
|
||||
{
|
||||
level endon("game_ended");
|
||||
param_00 endon("death");
|
||||
self endon("death");
|
||||
if(distance2dsquared(self.origin,param_00.origin) >= 1048576)
|
||||
{
|
||||
return "move";
|
||||
}
|
||||
|
||||
var_01 = sortbydistance(level.spawned_enemies,param_00.origin);
|
||||
if(!isdefined(var_01) || var_01.size == 0)
|
||||
{
|
||||
return "move";
|
||||
}
|
||||
|
||||
if(distance2dsquared(var_01[0].origin,param_00.origin) >= 1048576)
|
||||
{
|
||||
return "move";
|
||||
}
|
||||
|
||||
return "fight";
|
||||
}
|
||||
|
||||
//Function Number: 15
|
||||
snake_super_use(param_00)
|
||||
{
|
||||
self.snake_super = 1;
|
||||
scripts\common\utility::func_1C53(0);
|
||||
var_01 = 500;
|
||||
if(self.chi_meter_amount - var_01 <= 0)
|
||||
{
|
||||
self.kung_fu_exit_delay = 1;
|
||||
}
|
||||
|
||||
self playgestureviewmodel("ges_snake_melee_super",undefined,1);
|
||||
thread play_snake_hand_fx();
|
||||
self.kung_fu_shield = 1;
|
||||
wait(0.75);
|
||||
self playanimscriptevent("power_active_cp","gesture024");
|
||||
var_02 = 4;
|
||||
var_03 = 0.1;
|
||||
var_04 = var_02 / var_03;
|
||||
for(var_05 = 0;var_05 < var_04;var_05++)
|
||||
{
|
||||
snake_super_damage_nearby_enemies();
|
||||
wait(var_03);
|
||||
}
|
||||
|
||||
self stopgestureviewmodel("ges_snake_melee_super");
|
||||
self.kung_fu_shield = undefined;
|
||||
self.kung_fu_exit_delay = 0;
|
||||
self.snake_super = undefined;
|
||||
scripts\common\utility::func_1C53(1);
|
||||
scripts\cp\powers\coop_powers::func_D72E();
|
||||
}
|
||||
|
||||
//Function Number: 16
|
||||
play_snake_hand_fx()
|
||||
{
|
||||
self setscriptablepartstate("kung_fu_super_fx","snake");
|
||||
wait(4.75);
|
||||
self setscriptablepartstate("kung_fu_super_fx","off");
|
||||
}
|
||||
|
||||
//Function Number: 17
|
||||
snake_super_damage_nearby_enemies()
|
||||
{
|
||||
var_00 = 50;
|
||||
var_01 = [];
|
||||
var_02 = scripts\cp\_agent_utils::func_7DB0("axis");
|
||||
var_03 = sortbydistance(var_02,self.origin);
|
||||
foreach(var_05 in var_03)
|
||||
{
|
||||
isdefined(var_05);
|
||||
if(distance2dsquared(self.origin,var_05.origin) >= var_00 * var_00)
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
if(scripts\common\utility::func_13D90(self.origin,self getplayerangles(),var_05.origin,cos(90)))
|
||||
{
|
||||
var_01[var_01.size] = var_05;
|
||||
}
|
||||
}
|
||||
|
||||
var_07 = 0;
|
||||
foreach(var_05 in var_01)
|
||||
{
|
||||
if(var_07 >= 3)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if(isdefined(var_05))
|
||||
{
|
||||
var_05 dodamage(var_05.maxhealth + 1000,self.origin,self,undefined,"MOD_EXPLOSIVE");
|
||||
}
|
||||
|
||||
var_07++;
|
||||
}
|
||||
}
|
381
IW/PC/ALL/scripts/cp/maps/cp_disco/kung_fu_mode_tiger.gsc
Normal file
381
IW/PC/ALL/scripts/cp/maps/cp_disco/kung_fu_mode_tiger.gsc
Normal file
@ -0,0 +1,381 @@
|
||||
/*******************************************************************
|
||||
* Decompiled By: Bog
|
||||
* Decompiled File: scripts\cp\maps\cp_disco\kung_fu_mode_tiger.gsc
|
||||
* Game: Call of Duty: Infinite Warfare
|
||||
* Platform: PC
|
||||
* Function Count: 16
|
||||
* Decompile Time: 811 ms
|
||||
* Timestamp: 10/27/2023 12:04:32 AM
|
||||
*******************************************************************/
|
||||
|
||||
//Function Number: 1
|
||||
tiger_kung_fu_init()
|
||||
{
|
||||
thread lib_0D0D::init();
|
||||
level._effect["blackhole_trap"] = loadfx("vfx/iw7/core/zombie/traps/vfx_zmb_blackhole_trap.vfx");
|
||||
level._effect["blackhole_trap_death"] = loadfx("vfx/iw7/_requests/coop/vfx_zmb_blackhole_death");
|
||||
scripts\common\utility::flag_wait("interactions_initialized");
|
||||
scripts\cp\powers\coop_powers::func_D787("power_shuriken_tiger",::scripts\cp\maps\cp_disco\kung_fu_mode_dragon::set_dragon_shuriken_power,::scripts\cp\maps\cp_disco\kung_fu_mode_dragon::unset_dragon_shuriken_power,::scripts\cp\maps\cp_disco\kung_fu_mode_dragon::use_dragon_shuriken,undefined,undefined,undefined);
|
||||
scripts\cp\powers\coop_powers::func_D787("power_black_hole_tiger",::tiger_black_hole_set,::tiger_black_hole_unset,::tiger_black_hole_use,undefined,"power_tiger_black_hole_used",undefined);
|
||||
}
|
||||
|
||||
//Function Number: 2
|
||||
tiger_black_hole_set(param_00)
|
||||
{
|
||||
}
|
||||
|
||||
//Function Number: 3
|
||||
tiger_black_hole_unset(param_00)
|
||||
{
|
||||
}
|
||||
|
||||
//Function Number: 4
|
||||
tiger_black_hole_use(param_00)
|
||||
{
|
||||
scripts\cp\powers\coop_powers::func_D728();
|
||||
var_01 = 2.5;
|
||||
thread run_black_hole_logic();
|
||||
wait(var_01);
|
||||
self.kung_fu_exit_delay = 0;
|
||||
scripts\cp\powers\coop_powers::func_D72E();
|
||||
self notify("power_tiger_black_hole_used",1);
|
||||
}
|
||||
|
||||
//Function Number: 5
|
||||
run_black_hole_logic()
|
||||
{
|
||||
wait(0.3);
|
||||
if(scripts\common\utility::istrue(self.tiger_super_use))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var_00 = sortbydistance(level.spawned_enemies,self.origin);
|
||||
var_01 = undefined;
|
||||
var_02 = 3;
|
||||
var_03 = 2.5;
|
||||
var_04 = 256;
|
||||
var_05 = self getplayerangles();
|
||||
var_06 = anglestoforward(var_05);
|
||||
var_06 = vectornormalize(var_06);
|
||||
var_07 = self geteye();
|
||||
var_08 = var_07 + var_06 * var_04;
|
||||
var_09 = scripts\cp\_agent_utils::func_7DAF();
|
||||
var_09 = scripts\common\utility::array_combine(var_09,level.players);
|
||||
var_0A = scripts\common\trace::func_DCED(var_07,var_08,var_09);
|
||||
var_0B = var_0A["position"];
|
||||
var_01 = scripts\common\utility::func_5D14(var_0B,20,-1000);
|
||||
var_01 = getclosestpointonnavmesh(var_01);
|
||||
var_0C = 250;
|
||||
if(self.chi_meter_amount - var_0C <= 0)
|
||||
{
|
||||
self.kung_fu_exit_delay = 1;
|
||||
}
|
||||
|
||||
thread scripts\cp\zombies\zombies_chi_meter::chi_meter_kill_decrement(var_0C);
|
||||
var_0D = scripts\common\utility::spawn_tag_origin(var_01 + (0,0,60));
|
||||
var_0D.var_222 = self;
|
||||
var_0D setmodel("tag_origin_tiger_black_hole");
|
||||
thread scripts\common\utility::play_sound_in_space("chi_tiger_blackhole",var_0D.origin);
|
||||
thread grabclosestzombies(var_0D,1);
|
||||
self playgestureviewmodel("ges_plyr_gesture042",undefined,1);
|
||||
wait(var_03);
|
||||
var_0D notify("death");
|
||||
var_0D delete();
|
||||
}
|
||||
|
||||
//Function Number: 6
|
||||
grabclosestzombies(param_00,param_01)
|
||||
{
|
||||
param_00 endon("death");
|
||||
param_00.grabbedents = [];
|
||||
var_02 = anglestoup(param_00.angles);
|
||||
var_03 = spawn("trigger_rotatable_radius",lib_0D04::func_7E08(param_00) - var_02 * 64 * 0.5,0,200,64);
|
||||
var_03.angles = param_00.angles;
|
||||
var_03 enablelinkto();
|
||||
var_03 linkto(param_00);
|
||||
var_03 thread lib_0D04::func_4108(param_00);
|
||||
while(isdefined(var_03))
|
||||
{
|
||||
var_04 = scripts\common\utility::func_782F(param_00.origin,level.spawned_enemies,undefined,undefined,200);
|
||||
foreach(var_06 in var_04)
|
||||
{
|
||||
if(!scripts\cp\_utility::func_9F19(var_06) || !isdefined(param_00.var_222))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if(isplayer(var_06))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if(isdefined(var_06.team) && var_06.team == "allies")
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if(param_00.var_222 == var_06)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if(!lib_0D12::func_213D(param_00,var_06))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if(!scripts\cp\_utility::func_FF18(var_06,undefined,1) || isdefined(var_06.flung))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if(!isalive(var_06))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if(isdefined(level.var_1299F) && isdefined(scripts\common\utility::func_2291(level.var_1299F,var_06)))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if(!var_06 lib_0D04::isgrabbedent(param_00))
|
||||
{
|
||||
var_06 thread lib_0D04::grabent(param_00);
|
||||
var_06.flung = 1;
|
||||
var_06 thread lib_0D04::func_111B0(var_06,param_00,param_01);
|
||||
wait(0.2);
|
||||
}
|
||||
}
|
||||
|
||||
scripts\common\utility::func_136F7();
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 7
|
||||
tiger_ground_pound_set(param_00)
|
||||
{
|
||||
}
|
||||
|
||||
//Function Number: 8
|
||||
tiger_ground_pound_unset(param_00)
|
||||
{
|
||||
}
|
||||
|
||||
//Function Number: 9
|
||||
tiger_ground_pound_use(param_00)
|
||||
{
|
||||
self.tiger_super_use = 1;
|
||||
self.kung_fu_shield = 1;
|
||||
self allowcrouch(0);
|
||||
scripts\common\utility::func_1C64(0);
|
||||
scripts\common\utility::func_1C53(0);
|
||||
thread tiger_pound_cowbell();
|
||||
thread play_tiger_hand_fx();
|
||||
wait(1.5);
|
||||
self setscriptablepartstate("tiger_style_fx","active",1);
|
||||
run_slam_wave();
|
||||
self allowcrouch(1);
|
||||
scripts\common\utility::func_1C53(1);
|
||||
scripts\common\utility::func_1C64(1);
|
||||
self.kung_fu_shield = undefined;
|
||||
scripts\cp\powers\coop_powers::func_D72E();
|
||||
}
|
||||
|
||||
//Function Number: 10
|
||||
tiger_pound_cowbell()
|
||||
{
|
||||
self playgestureviewmodel("ges_tiger_melee_super",undefined,1);
|
||||
thread stay_in_kung_fu_till_gesture_done("ges_tiger_melee_super");
|
||||
var_00 = scripts\common\utility::func_5D14(self.origin,30,-100);
|
||||
}
|
||||
|
||||
//Function Number: 11
|
||||
stay_in_kung_fu_till_gesture_done(param_00)
|
||||
{
|
||||
self endon("disconnect");
|
||||
var_01 = 500;
|
||||
if(self.chi_meter_amount - var_01 <= 0)
|
||||
{
|
||||
self.kung_fu_exit_delay = 1;
|
||||
}
|
||||
|
||||
var_02 = self method_8443(param_00);
|
||||
wait(var_02);
|
||||
self.tiger_super_use = 0;
|
||||
self.kung_fu_exit_delay = 0;
|
||||
}
|
||||
|
||||
//Function Number: 12
|
||||
play_tiger_hand_fx()
|
||||
{
|
||||
self setscriptablepartstate("kung_fu_super_fx","tiger");
|
||||
wait(2.5);
|
||||
self setscriptablepartstate("kung_fu_super_fx","off");
|
||||
}
|
||||
|
||||
//Function Number: 13
|
||||
run_slam_wave()
|
||||
{
|
||||
var_00 = 150;
|
||||
var_01 = 3;
|
||||
var_02 = 0;
|
||||
while(var_02 < var_01)
|
||||
{
|
||||
var_03 = var_02 + 1 * var_00;
|
||||
var_04 = var_03 * var_03;
|
||||
foreach(var_06 in level.spawned_enemies)
|
||||
{
|
||||
if(distancesquared(var_06.origin,self.origin) < var_04)
|
||||
{
|
||||
var_07 = var_06.origin + (0,0,100);
|
||||
var_06 thread fling_enemy(var_06.maxhealth,var_07 - var_06.origin,self,0,"kung_fu_super_zm_tiger");
|
||||
}
|
||||
}
|
||||
|
||||
var_02++;
|
||||
wait(0.25);
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 14
|
||||
fling_enemy(param_00,param_01,param_02,param_03,param_04)
|
||||
{
|
||||
var_05 = isdefined(self.agent_type) && self.agent_type == "ratking";
|
||||
if(var_05)
|
||||
{
|
||||
if(isdefined(param_02))
|
||||
{
|
||||
self dodamage(self.health + 1000,self.origin,param_02,param_02,"MOD_UNKNOWN",param_04);
|
||||
return;
|
||||
}
|
||||
|
||||
self dodamage(self.health + 1000,self.origin,level.players[0],level.players[0],"MOD_UNKNOWN",param_04);
|
||||
return;
|
||||
}
|
||||
|
||||
self.do_immediate_ragdoll = 1;
|
||||
self.var_4C87 = 1;
|
||||
self.disable_armor = 1;
|
||||
wait(0.05);
|
||||
if(scripts\common\utility::istrue(param_03))
|
||||
{
|
||||
self.nocorpse = 1;
|
||||
self.full_gib = 1;
|
||||
if(isdefined(param_02))
|
||||
{
|
||||
self dodamage(self.health + 1000,self.origin,param_02,param_02,"MOD_UNKNOWN",param_04);
|
||||
return;
|
||||
}
|
||||
|
||||
self dodamage(self.health + 1000,self.origin,level.players[0],level.players[0],"MOD_UNKNOWN",param_04);
|
||||
return;
|
||||
}
|
||||
|
||||
self setvelocity(vectornormalize(param_01) * 500);
|
||||
wait(0.1);
|
||||
if(isdefined(param_02))
|
||||
{
|
||||
self dodamage(self.health + 1000,self.origin,param_02,param_02,"MOD_UNKNOWN",param_04);
|
||||
return;
|
||||
}
|
||||
|
||||
self dodamage(self.health + 1000,self.origin,level.players[0],level.players[0],"MOD_UNKNOWN",param_04);
|
||||
}
|
||||
|
||||
//Function Number: 15
|
||||
func_102C7(param_00,param_01,param_02)
|
||||
{
|
||||
if(!isdefined(param_02))
|
||||
{
|
||||
var_03 = lengthsquared(param_00.origin - param_01);
|
||||
if(var_03 < 65536)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if(var_03 > squared(600))
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
var_04 = param_00 scripts\common\utility::spawn_tag_origin();
|
||||
thread lib_0D0D::func_102C6(param_00,var_04);
|
||||
func_102C8(param_00,param_01,var_04,param_02);
|
||||
param_00 notify("slam_finished");
|
||||
}
|
||||
|
||||
//Function Number: 16
|
||||
func_102C8(param_00,param_01,param_02,param_03)
|
||||
{
|
||||
var_04 = lengthsquared(param_00.origin - param_01);
|
||||
var_05 = 0;
|
||||
var_06 = 0;
|
||||
var_07 = 0;
|
||||
if(var_04 >= 28224)
|
||||
{
|
||||
var_06 = 20736;
|
||||
var_05 = 1;
|
||||
}
|
||||
else if(var_04 >= 7056)
|
||||
{
|
||||
var_06 = 5184;
|
||||
var_07 = 20736;
|
||||
}
|
||||
else
|
||||
{
|
||||
var_07 = 11664;
|
||||
}
|
||||
|
||||
param_00 playerlinkto(param_02,"tag_origin");
|
||||
wait(0.25);
|
||||
param_00 thread scripts\cp\_weapon::func_858A(0);
|
||||
if(!isdefined(param_03))
|
||||
{
|
||||
param_00 playsound("detpack_explo_metal");
|
||||
var_08 = scripts\common\utility::func_116D7(var_05,scripts\common\utility::getfx("slam_lrg"),scripts\common\utility::getfx("slam_sml"));
|
||||
playfx(var_08,param_01);
|
||||
}
|
||||
else
|
||||
{
|
||||
}
|
||||
|
||||
thread lib_0D0D::func_102CA(param_01);
|
||||
var_09 = scripts\cp\_agent_utils::func_7DB0("axis");
|
||||
foreach(var_0B in var_09)
|
||||
{
|
||||
if(!isdefined(var_0B) || var_0B == param_00 || !scripts\cp\_utility::func_9F19(var_0B))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
var_0C = undefined;
|
||||
var_0D = distancesquared(param_01,var_0B.origin);
|
||||
if(var_0D <= var_06)
|
||||
{
|
||||
var_0C = 1000000;
|
||||
}
|
||||
else if(var_0D <= var_07)
|
||||
{
|
||||
var_0C = 1000000;
|
||||
}
|
||||
else
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
var_0B scripts\cp\_weapon::func_FC6A("MOD_EXPLOSIVE",var_0C);
|
||||
if(var_0C >= var_0B.health)
|
||||
{
|
||||
var_0B.var_4C87 = 1;
|
||||
}
|
||||
|
||||
var_0B dodamage(var_0C,param_01,param_00,param_00,"MOD_CRUSH");
|
||||
}
|
||||
|
||||
wait(0.5);
|
||||
param_00 unlink();
|
||||
param_00 setscriptablepartstate("tiger_style_fx","inactive",1);
|
||||
}
|
1236
IW/PC/ALL/scripts/cp/maps/cp_disco/phonebooth.gsc
Normal file
1236
IW/PC/ALL/scripts/cp/maps/cp_disco/phonebooth.gsc
Normal file
File diff suppressed because it is too large
Load Diff
156
IW/PC/ALL/scripts/cp/maps/cp_disco/rat_king.gsc
Normal file
156
IW/PC/ALL/scripts/cp/maps/cp_disco/rat_king.gsc
Normal file
@ -0,0 +1,156 @@
|
||||
/*******************************************************************
|
||||
* Decompiled By: Bog
|
||||
* Decompiled File: scripts\cp\maps\cp_disco\rat_king.gsc
|
||||
* Game: Call of Duty: Infinite Warfare
|
||||
* Platform: PC
|
||||
* Function Count: 6
|
||||
* Decompile Time: 336 ms
|
||||
* Timestamp: 10/27/2023 12:04:35 AM
|
||||
*******************************************************************/
|
||||
|
||||
//Function Number: 1
|
||||
rat_king_init()
|
||||
{
|
||||
var_00 = scripts\common\utility::getstructarray("rat_king_spawner","targetname");
|
||||
foreach(var_02 in var_00)
|
||||
{
|
||||
if(isdefined(var_02.script_noteworthy))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
level.rat_king_spawn_loc = var_02.origin;
|
||||
level.rat_king_spawn_angles = var_02.angles;
|
||||
}
|
||||
|
||||
level.rat_king_vo_prefix = "disco_ratking_";
|
||||
setuprkbouncestructs();
|
||||
}
|
||||
|
||||
//Function Number: 2
|
||||
setuprkbouncestructs()
|
||||
{
|
||||
level.rat_king_bounce_structs = scripts\common\utility::getstructarray("shield_bounce_loc","targetname");
|
||||
}
|
||||
|
||||
//Function Number: 3
|
||||
spawn_rat_king(param_00,param_01,param_02)
|
||||
{
|
||||
level notify("spawn_rat_king");
|
||||
level endon("spawn_rat_king");
|
||||
scripts\common\utility::flag_wait("interactions_initialized");
|
||||
if(isdefined(level.rat_king))
|
||||
{
|
||||
if(scripts\common\utility::istrue(param_02))
|
||||
{
|
||||
level.rat_king suicide();
|
||||
}
|
||||
else
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if(!isdefined(param_00))
|
||||
{
|
||||
param_00 = level.rat_king_spawn_loc;
|
||||
}
|
||||
|
||||
if(!isdefined(param_01))
|
||||
{
|
||||
param_01 = level.rat_king_spawn_angles;
|
||||
}
|
||||
|
||||
for(;;)
|
||||
{
|
||||
level.rat_king = scripts\mp\_mp_agent::func_108E8("ratking","axis",param_00,param_01);
|
||||
if(isdefined(level.rat_king))
|
||||
{
|
||||
level.rat_king.var_13550 = level.rat_king_vo_prefix;
|
||||
level.rat_king thread setrkscriptablestates();
|
||||
level.rat_king thread rkaudiomonitor();
|
||||
level.spawned_enemies[level.spawned_enemies.size] = level.rat_king;
|
||||
if(scripts\common\utility::flag("rk_fight_started"))
|
||||
{
|
||||
playsoundatpos(level.rat_king_spawn_loc + (0,0,100),"rk_spawn_in_lr");
|
||||
}
|
||||
|
||||
level.rat_king thread runspawnlogic();
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
scripts\common\utility::func_136F7();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 4
|
||||
setrkscriptablestates()
|
||||
{
|
||||
wait(2);
|
||||
if(scripts\aitypes\ratking\behaviors::rk_isonplatform())
|
||||
{
|
||||
self setscriptablepartstate("movement","neutral");
|
||||
self setscriptablepartstate("rat_skirt","platform");
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 5
|
||||
runspawnlogic()
|
||||
{
|
||||
self.var_180 = 1;
|
||||
self.var_EF64 = 1;
|
||||
self.outofplayspace = 1;
|
||||
self notify("spawn");
|
||||
self setscriptablepartstate("movement","materialize");
|
||||
wait(2);
|
||||
self.outofplayspace = undefined;
|
||||
self.var_180 = 0;
|
||||
self.var_EF64 = 0;
|
||||
}
|
||||
|
||||
//Function Number: 6
|
||||
rkaudiomonitor()
|
||||
{
|
||||
level endon("game_ended");
|
||||
self endon("death");
|
||||
var_00 = 10;
|
||||
self.var_D4AA = 0;
|
||||
for(;;)
|
||||
{
|
||||
var_01 = scripts\common\utility::func_1372E(["spawn","summon","pain","melee","shield_throw","over","under","stomp"],var_00);
|
||||
var_00 = randomintrange(4,10);
|
||||
switch(var_01)
|
||||
{
|
||||
case "spawn":
|
||||
level thread lib_0D62::func_CE9C(self,"spawn",0);
|
||||
break;
|
||||
|
||||
case "summon":
|
||||
level thread lib_0D62::func_CE9C(self,"summon",0);
|
||||
break;
|
||||
|
||||
case "pain":
|
||||
level thread lib_0D62::func_CE9C(self,"pain",0);
|
||||
break;
|
||||
|
||||
case "under":
|
||||
level thread lib_0D62::func_CE9C(self,"melee",0);
|
||||
break;
|
||||
|
||||
case "shield_throw":
|
||||
level thread lib_0D62::func_CE9C(self,"shield_throw",0);
|
||||
break;
|
||||
|
||||
case "stomp":
|
||||
level thread lib_0D62::func_CE9C(self,"staff_stomp",0);
|
||||
break;
|
||||
|
||||
case "timeout":
|
||||
level thread lib_0D62::func_CE9C(self,"staff_over",0);
|
||||
level thread lib_0D62::func_CE9C(self,"staff_under",0);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
3268
IW/PC/ALL/scripts/cp/maps/cp_disco/rat_king_fight.gsc
Normal file
3268
IW/PC/ALL/scripts/cp/maps/cp_disco/rat_king_fight.gsc
Normal file
File diff suppressed because it is too large
Load Diff
543
IW/PC/ALL/scripts/cp/maps/cp_disco/ratking_damage.gsc
Normal file
543
IW/PC/ALL/scripts/cp/maps/cp_disco/ratking_damage.gsc
Normal file
@ -0,0 +1,543 @@
|
||||
/*******************************************************************
|
||||
* Decompiled By: Bog
|
||||
* Decompiled File: scripts\cp\maps\cp_disco\ratking_damage.gsc
|
||||
* Game: Call of Duty: Infinite Warfare
|
||||
* Platform: PC
|
||||
* Function Count: 12
|
||||
* Decompile Time: 651 ms
|
||||
* Timestamp: 10/27/2023 12:04:44 AM
|
||||
*******************************************************************/
|
||||
|
||||
//Function Number: 1
|
||||
cp_ratking_callbacks()
|
||||
{
|
||||
level.agent_funcs["ratking"]["on_damaged"] = ::onratkingdamaged;
|
||||
level.agent_funcs["ratking"]["on_damage_finished"] = ::onratkingdamagefinished;
|
||||
level.agent_funcs["ratking"]["on_killed"] = ::onratkingkilled;
|
||||
}
|
||||
|
||||
//Function Number: 2
|
||||
onratkingdamaged(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A,param_0B)
|
||||
{
|
||||
var_0C = self;
|
||||
if(!isdefined(self.agent_type))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if(!isdefined(param_01))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if(!isplayer(param_01))
|
||||
{
|
||||
if(!isdefined(param_01.var_222) || isdefined(param_01.var_222) && !isplayer(param_01.var_222))
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
var_0D = gettime();
|
||||
param_02 = 4 - level.players.size - 1;
|
||||
param_02 = weapondamageadjustments(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A,param_0B);
|
||||
param_02 = fnfdamageadjustments(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A,param_0B);
|
||||
if(scripts\common\utility::istrue(level.rat_king.disabledamage))
|
||||
{
|
||||
self.fake_damage = param_02;
|
||||
param_02 = 0;
|
||||
}
|
||||
|
||||
if(isdefined(level.rat_king.shouldteleportthreshold))
|
||||
{
|
||||
if(isdefined(self.next_forced_teleport_time) && var_0D >= self.next_forced_teleport_time)
|
||||
{
|
||||
level.rat_king.shouldteleportthreshold++;
|
||||
if(level.rat_king.shouldteleportthreshold >= 1)
|
||||
{
|
||||
self.next_forced_teleport_time = var_0D + 10000;
|
||||
level.rat_king.shouldteleportthreshold = 0;
|
||||
scripts\cp\maps\cp_disco\rat_king_fight::forcerkteleport();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(isdefined(self.next_pain_time) && var_0D >= self.next_pain_time)
|
||||
{
|
||||
self.next_pain_time = var_0D + 1250;
|
||||
self notify("pain");
|
||||
}
|
||||
|
||||
if(scripts\aitypes\ratking\behaviors::rkisblocking())
|
||||
{
|
||||
if(isdefined(self.next_block_fx_time) && isdefined(param_06) && isdefined(param_07) && var_0D >= self.next_block_fx_time)
|
||||
{
|
||||
self.next_block_fx_time = var_0D + 250;
|
||||
playfx(level._effect["rk_blocking"],param_06 + param_07 * -50,param_07 * -150);
|
||||
}
|
||||
|
||||
if(!scripts\common\utility::func_2286(level.kungfu_weapons[1],getweaponbasename(param_05)))
|
||||
{
|
||||
param_02 = 0;
|
||||
}
|
||||
}
|
||||
|
||||
param_02 = int(min(param_02,self.health));
|
||||
if(isplayer(param_01))
|
||||
{
|
||||
if(isdefined(level.var_12EDE))
|
||||
{
|
||||
level thread [[ level.var_12EDE ]](param_01,param_05,self);
|
||||
}
|
||||
|
||||
param_01 thread scripts\cp\_utility::add_to_notify_queue("rat_king_damaged",self,param_01,param_05,param_02,param_08,param_04);
|
||||
param_01 thread lib_0CBC::func_12EC5(getweaponbasename(param_05));
|
||||
if(!isdefined(param_01.var_FF0A[getweaponbasename(param_05)]))
|
||||
{
|
||||
param_01.var_FF0A[getweaponbasename(param_05)] = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
param_01.var_FF0A[getweaponbasename(param_05)]++;
|
||||
}
|
||||
}
|
||||
|
||||
level thread scripts\cp\_utility::add_to_notify_queue("rat_king_damaged",self,param_01,param_05,param_02,param_08,param_04);
|
||||
lib_0D5A::func_12D84(param_01,param_02,param_04);
|
||||
scripts\cp\_agent_utils::func_D96D(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,var_0C);
|
||||
rkprocessdamagefeedback(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,var_0C);
|
||||
scripts\cp\_agent_utils::func_110A4(param_01,param_02);
|
||||
thread lib_0CBC::func_BF05(param_01);
|
||||
var_0C [[ level.agent_funcs[var_0C.agent_type]["on_damaged_finished"] ]](param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,0,param_0A,param_0B);
|
||||
}
|
||||
|
||||
//Function Number: 3
|
||||
rkprocessdamagefeedback(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A)
|
||||
{
|
||||
if(scripts\common\utility::istrue(param_0A.outofplayspace))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if(scripts\common\utility::istrue(param_0A.disabledamage))
|
||||
{
|
||||
if(scripts\common\utility::func_6E34("relic_active"))
|
||||
{
|
||||
if(!scripts\common\utility::flag("relic_active"))
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if(!scripts\common\utility::func_9D74(param_04))
|
||||
{
|
||||
if(scripts\cp\_utility::func_9CEB(param_00,param_05))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var_0B = gettime();
|
||||
if(isdefined(param_01.var_BF85) && param_01.var_BF85 > var_0B)
|
||||
{
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
param_01.var_BF85 = var_0B + 250;
|
||||
}
|
||||
}
|
||||
|
||||
var_0C = "standard";
|
||||
var_0D = undefined;
|
||||
if(param_0A.health <= param_02)
|
||||
{
|
||||
var_0D = 1;
|
||||
}
|
||||
|
||||
var_0E = scripts\cp\_utility::func_9E27(param_05,param_08,param_04,param_01);
|
||||
if(var_0E)
|
||||
{
|
||||
var_0C = "hitcritical";
|
||||
}
|
||||
|
||||
var_0F = scripts\common\utility::func_9D74(param_04);
|
||||
var_10 = var_0E && param_01 scripts\cp\_utility::func_9BA0("sharp_shooter_upgrade");
|
||||
var_11 = var_0F && param_01 scripts\cp\_utility::func_9BA0("bonus_damage_on_last_bullets");
|
||||
var_12 = var_0F && param_01 scripts\cp\_utility::func_9BA0("damage_booster_upgrade");
|
||||
var_13 = scripts\common\utility::istrue(param_01.inlaststand);
|
||||
var_14 = !var_13 && var_0E && var_0F && param_01 scripts\cp\_utility::func_9BA0("headshot_explosion");
|
||||
var_15 = !scripts\cp\_utility::func_9F19(param_0A) || isagent(param_0A) && param_02 >= param_0A.health;
|
||||
var_16 = param_04 == "MOD_EXPLOSIVE_BULLET" || param_04 == "MOD_EXPLOSIVE" || param_04 == "MOD_GRENADE_SPLASH" || param_04 == "MOD_PROJECTILE" || param_04 == "MOD_PROJECTILE_SPLASH";
|
||||
var_17 = param_04 == "MOD_MELEE";
|
||||
if(param_0A scripts\aitypes\ratking\behaviors::rkisblocking())
|
||||
{
|
||||
var_0C = "hitalienarmor";
|
||||
}
|
||||
else if(var_10 || var_11 || var_12 || var_14)
|
||||
{
|
||||
var_0C = "card_boosted";
|
||||
}
|
||||
else if(isplayer(param_01) && param_01 scripts\cp\_utility::has_zombie_perk("perk_machine_boom") && var_16)
|
||||
{
|
||||
var_0C = "high_damage";
|
||||
}
|
||||
else if(isplayer(param_01) && param_01 scripts\cp\_utility::has_zombie_perk("perk_machine_smack") && var_17)
|
||||
{
|
||||
var_0C = "high_damage";
|
||||
}
|
||||
else if(isplayer(param_01) && param_01 scripts\cp\_utility::has_zombie_perk("perk_machine_rat_a_tat") && var_0F)
|
||||
{
|
||||
var_0C = "high_damage";
|
||||
}
|
||||
else if(isplayer(param_01) && scripts\common\utility::istrue(param_01.deadeye_charge) && var_0F)
|
||||
{
|
||||
var_0C = "special_weapon";
|
||||
}
|
||||
|
||||
if(isdefined(param_01))
|
||||
{
|
||||
if(isdefined(param_01.var_222))
|
||||
{
|
||||
param_01.var_222 thread rkupdatedamagefeedback(var_0C,var_0D,param_02,param_0A.var_E54C);
|
||||
return;
|
||||
}
|
||||
|
||||
param_01 thread rkupdatedamagefeedback(var_0C,var_0D,param_02,param_0A.var_E54C);
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 4
|
||||
rkupdatedamagefeedback(param_00,param_01,param_02,param_03,param_04,param_05,param_06)
|
||||
{
|
||||
if(isdefined(level.var_73A6) && [[ level.var_73A6 ]](param_04,param_05,param_06))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if(!isplayer(self))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var_07 = "standard_cp";
|
||||
var_08 = undefined;
|
||||
if(isdefined(param_01) && param_01)
|
||||
{
|
||||
self playlocalsound("cp_hit_alert_strong");
|
||||
}
|
||||
else if(scripts\common\utility::istrue(self.deadeye_charge))
|
||||
{
|
||||
self playlocalsound("cp_hit_alert_perk");
|
||||
}
|
||||
else
|
||||
{
|
||||
self playlocalsound("cp_hit_alert");
|
||||
}
|
||||
|
||||
switch(param_00)
|
||||
{
|
||||
case "hitalienarmor":
|
||||
self setclientomnvar("damage_feedback_icon",param_00);
|
||||
self setclientomnvar("damage_feedback_icon_notify",gettime());
|
||||
param_03 = 1;
|
||||
break;
|
||||
|
||||
case "hitcritical":
|
||||
case "hitaliensoft":
|
||||
var_08 = 1;
|
||||
break;
|
||||
|
||||
case "stun":
|
||||
case "meleestun":
|
||||
if(!isdefined(self.var_B649))
|
||||
{
|
||||
self playlocalsound("crate_impact");
|
||||
self.var_B649 = 1;
|
||||
}
|
||||
|
||||
self setclientomnvar("damage_feedback_icon","hitcritical");
|
||||
self setclientomnvar("damage_feedback_icon_notify",gettime());
|
||||
wait(0.2);
|
||||
self.var_B649 = undefined;
|
||||
break;
|
||||
|
||||
case "high_damage":
|
||||
var_07 = "high_damage_cp";
|
||||
break;
|
||||
|
||||
case "special_weapon":
|
||||
var_07 = "wor_weapon_cp";
|
||||
break;
|
||||
|
||||
case "card_boosted":
|
||||
var_07 = "fnf_card_damage_cp";
|
||||
break;
|
||||
|
||||
case "red_arcane_cp":
|
||||
var_07 = "red_arcane_cp";
|
||||
break;
|
||||
|
||||
case "blue_arcane_cp":
|
||||
var_07 = "blue_arcane_cp";
|
||||
break;
|
||||
|
||||
case "yellow_arcane_cp":
|
||||
var_07 = "yellow_arcane_cp";
|
||||
break;
|
||||
|
||||
case "green_arcane_cp":
|
||||
var_07 = "green_arcane_cp";
|
||||
break;
|
||||
|
||||
case "pink_arcane_cp":
|
||||
var_07 = "pink_arcane_cp";
|
||||
break;
|
||||
|
||||
case "none":
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
rkupdatehitmarker(var_07,var_08,param_02,param_03,param_01);
|
||||
}
|
||||
|
||||
//Function Number: 5
|
||||
rkupdatehitmarker(param_00,param_01,param_02,param_03,param_04)
|
||||
{
|
||||
if(!isdefined(param_00))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if(!isdefined(param_04))
|
||||
{
|
||||
param_04 = 0;
|
||||
}
|
||||
|
||||
if(!isdefined(param_01))
|
||||
{
|
||||
param_01 = 0;
|
||||
}
|
||||
|
||||
if(!isdefined(param_03))
|
||||
{
|
||||
param_03 = 0;
|
||||
}
|
||||
|
||||
self setclientomnvar("damage_scale_type","standard");
|
||||
if(param_04)
|
||||
{
|
||||
self setclientomnvar("damage_feedback_kill",1);
|
||||
}
|
||||
else
|
||||
{
|
||||
self setclientomnvar("damage_feedback_kill",0);
|
||||
}
|
||||
|
||||
if(param_03)
|
||||
{
|
||||
self setclientomnvar("damage_scale_type","hitalienarmor");
|
||||
}
|
||||
|
||||
if(param_01)
|
||||
{
|
||||
self setclientomnvar("damage_scale_type","hitaliensoft");
|
||||
self setclientomnvar("damage_feedback_headshot",1);
|
||||
}
|
||||
else
|
||||
{
|
||||
self setclientomnvar("damage_feedback_headshot",0);
|
||||
}
|
||||
|
||||
if(isdefined(param_02))
|
||||
{
|
||||
self setclientomnvar("ui_damage_amount",int(param_02));
|
||||
}
|
||||
|
||||
self setclientomnvar("damage_feedback",param_00);
|
||||
self setclientomnvar("damage_feedback_notify",gettime());
|
||||
}
|
||||
|
||||
//Function Number: 6
|
||||
adjustrkcooldowns()
|
||||
{
|
||||
var_00 = gettime();
|
||||
if(scripts\common\utility::istrue(scripts\aitypes\ratking\behaviors::rk_shouldbeonplatform()))
|
||||
{
|
||||
scripts\cp\maps\cp_disco\rat_king_fight::forcerkteleport();
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 7
|
||||
onratkingdamagefinished(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A,param_0B,param_0C)
|
||||
{
|
||||
if(scripts\aitypes\ratking\behaviors::rkisblocking())
|
||||
{
|
||||
param_02 = param_02 * 0.1;
|
||||
param_02 = int(param_02);
|
||||
}
|
||||
|
||||
scripts\mp\agents\ratking\ratking_agent::accumulatedamage(param_02,param_07);
|
||||
scripts\mp\agents\ratking\ratking_agent::ratking_on_damage_finished(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,0,param_0B,param_0C);
|
||||
}
|
||||
|
||||
//Function Number: 8
|
||||
onratkingkilled(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08)
|
||||
{
|
||||
lib_0CBC::func_D97C(param_00,param_01,self,param_06,param_03,param_04);
|
||||
lib_0CBC::func_D95F(param_01);
|
||||
scripts\cp\_weaponrank::func_12861(param_01,param_04,param_06,param_03,self.agent_type);
|
||||
if(isdefined(level.death_challenge_update_func))
|
||||
{
|
||||
[[ level.death_challenge_update_func ]](param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08);
|
||||
}
|
||||
else
|
||||
{
|
||||
scripts\cp\_challenge::func_12DA9(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08);
|
||||
}
|
||||
|
||||
scripts\cp\_merits::func_D95D(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08);
|
||||
scripts\cp\_agent_utils::func_4DDB();
|
||||
level.rat_king = undefined;
|
||||
level notify("zombie_killed",self.origin,param_04,param_03);
|
||||
level notify("rat_king_killed",self.origin);
|
||||
if(isplayer(param_01))
|
||||
{
|
||||
if(param_01.var_134FD == "p5_")
|
||||
{
|
||||
param_01 thread scripts\cp\_vo::try_to_play_vo("ww_ratking_death","rave_ww_vo","highest",70,0,0,1);
|
||||
return;
|
||||
}
|
||||
|
||||
param_01 thread scripts\cp\_vo::try_to_play_vo("ww_ratking_death_p5","rave_ww_vo","highest",70,0,0,1);
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 9
|
||||
weapondamageadjustments(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A,param_0B)
|
||||
{
|
||||
var_0C = 0;
|
||||
if(isplayer(param_01))
|
||||
{
|
||||
var_0D = scripts\cp\_utility::func_821F(param_05);
|
||||
var_0E = scripts\common\utility::func_9D74(param_04) || param_04 == "MOD_EXPLOSIVE_BULLET" && param_08 != "none";
|
||||
var_0F = param_04 == "MOD_MELEE";
|
||||
if(!var_0F)
|
||||
{
|
||||
switch(var_0D)
|
||||
{
|
||||
case "weapon_assault":
|
||||
break;
|
||||
|
||||
case "weapon_smg":
|
||||
break;
|
||||
|
||||
case "weapon_lmg":
|
||||
break;
|
||||
|
||||
case "weapon_shotgun":
|
||||
break;
|
||||
|
||||
case "weapon_pistol":
|
||||
break;
|
||||
|
||||
case "other":
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
var_10 = var_0E && scripts\cp\_utility::func_9E27(param_05,param_08,param_04,param_01);
|
||||
var_11 = isexplosivedamage(param_04,param_08);
|
||||
var_12 = !lib_0CBC::checkaltmodestatus(param_05) && param_01 scripts\cp\_utility::func_4626(param_05) == "weapon_sniper";
|
||||
var_13 = param_01 scripts\cp\_weapon::func_7D62(param_05);
|
||||
param_02 = param_02 * var_13;
|
||||
if(var_12)
|
||||
{
|
||||
var_0C = var_0C + 5;
|
||||
}
|
||||
|
||||
if(var_10)
|
||||
{
|
||||
var_0C = var_0C + 5;
|
||||
}
|
||||
|
||||
var_0C = returnkungfuweaponadjustments(param_05,var_0C);
|
||||
}
|
||||
|
||||
return param_02 + var_0C;
|
||||
}
|
||||
|
||||
//Function Number: 10
|
||||
returnkungfuweaponadjustments(param_00,param_01)
|
||||
{
|
||||
if(scripts\common\utility::func_2286(level.kungfu_weapons[0],getweaponbasename(param_00)))
|
||||
{
|
||||
param_01 = param_01 + 5;
|
||||
}
|
||||
else if(scripts\common\utility::func_2286(level.kungfu_weapons[2],getweaponbasename(param_00)))
|
||||
{
|
||||
param_01 = param_01 + 20;
|
||||
scripts\cp\maps\cp_disco\rat_king_fight::forcerkteleport();
|
||||
}
|
||||
else if(scripts\common\utility::func_2286(level.kungfu_weapons[1],getweaponbasename(param_00)))
|
||||
{
|
||||
param_01 = param_01 + 10;
|
||||
var_02 = lib_0A1A::func_233A("ratking");
|
||||
if(isdefined(var_02) && var_02 == "staff_stomp" || var_02 == "staff_projectile")
|
||||
{
|
||||
thread scripts\aitypes\ratking\behaviors::retrievestaffaftertime();
|
||||
}
|
||||
else if(scripts\aitypes\ratking\behaviors::rkissummoning())
|
||||
{
|
||||
if(scripts\common\utility::flag("relic_active"))
|
||||
{
|
||||
thread scripts\aitypes\ratking\behaviors::retrieveshieldaftertime(5);
|
||||
}
|
||||
else
|
||||
{
|
||||
thread scripts\aitypes\ratking\behaviors::retrieveshieldaftertime();
|
||||
}
|
||||
}
|
||||
else if(scripts\aitypes\ratking\behaviors::rkisblocking())
|
||||
{
|
||||
if(scripts\common\utility::flag("relic_active"))
|
||||
{
|
||||
thread scripts\aitypes\ratking\behaviors::retrieveshieldaftertime(5);
|
||||
}
|
||||
else
|
||||
{
|
||||
thread scripts\aitypes\ratking\behaviors::retrieveshieldaftertime();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return param_01;
|
||||
}
|
||||
|
||||
//Function Number: 11
|
||||
isexplosivedamage(param_00,param_01)
|
||||
{
|
||||
if((param_00 == "MOD_EXPLOSIVE_BULLET" && isdefined(param_01) && param_01 == "none") || param_00 == "MOD_EXPLOSIVE" || param_00 == "MOD_GRENADE_SPLASH" || param_00 == "MOD_PROJECTILE" || param_00 == "MOD_PROJECTILE_SPLASH")
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
//Function Number: 12
|
||||
fnfdamageadjustments(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A,param_0B)
|
||||
{
|
||||
if(isplayer(param_01))
|
||||
{
|
||||
}
|
||||
|
||||
return param_02;
|
||||
}
|
2979
IW/PC/ALL/scripts/cp/maps/cp_final/cp_final.gsc
Normal file
2979
IW/PC/ALL/scripts/cp/maps/cp_final/cp_final.gsc
Normal file
File diff suppressed because it is too large
Load Diff
2118
IW/PC/ALL/scripts/cp/maps/cp_final/cp_final_damage.gsc
Normal file
2118
IW/PC/ALL/scripts/cp/maps/cp_final/cp_final_damage.gsc
Normal file
File diff suppressed because it is too large
Load Diff
1228
IW/PC/ALL/scripts/cp/maps/cp_final/cp_final_fast_travel.gsc
Normal file
1228
IW/PC/ALL/scripts/cp/maps/cp_final/cp_final_fast_travel.gsc
Normal file
File diff suppressed because it is too large
Load Diff
1701
IW/PC/ALL/scripts/cp/maps/cp_final/cp_final_final_boss.gsc
Normal file
1701
IW/PC/ALL/scripts/cp/maps/cp_final/cp_final_final_boss.gsc
Normal file
File diff suppressed because it is too large
Load Diff
270
IW/PC/ALL/scripts/cp/maps/cp_final/cp_final_fx.gsc
Normal file
270
IW/PC/ALL/scripts/cp/maps/cp_final/cp_final_fx.gsc
Normal file
@ -0,0 +1,270 @@
|
||||
/*******************************************************************
|
||||
* Decompiled By: Bog
|
||||
* Decompiled File: scripts\cp\maps\cp_final\cp_final_fx.gsc
|
||||
* Game: Call of Duty: Infinite Warfare
|
||||
* Platform: PC
|
||||
* Function Count: 1
|
||||
* Decompile Time: 122 ms
|
||||
* Timestamp: 10/27/2023 12:05:01 AM
|
||||
*******************************************************************/
|
||||
|
||||
//Function Number: 1
|
||||
main()
|
||||
{
|
||||
level._effect["rhino_lnf"] = loadfx("vfx/iw7/levels/cp_final/rhino_lnf.vfx");
|
||||
level._effect["vfx_eggsac_pup"] = loadfx("vfx/iw7/levels/cp_final/vfx_eggsac_pup.vfx");
|
||||
level._effect["vfx_eggsac_glow"] = loadfx("vfx/iw7/levels/cp_final/vfx_eggsac_glow.vfx");
|
||||
level._effect["vfx_elec_console"] = loadfx("vfx/iw7/levels/cp_final/vfx_elec_console.vfx");
|
||||
level._effect["vfx_zm_mw_icon"] = loadfx("vfx/iw7/levels/cp_final/magic_wheel/vfx_zm_mw_icon.vfx");
|
||||
level._effect["vfx_mep_perk_buy"] = loadfx("vfx/iw7/levels/cp_final/boss_demon/vfx_mep_perk_buy.vfx");
|
||||
level._effect["vfx_low_mist_blue"] = loadfx("vfx/iw7/levels/mp_rally/vfx_low_mist_blue.vfx");
|
||||
level._effect["vfx_item_entagled"] = loadfx("vfx/iw7/levels/cp_final/mpq/vfx_item_entagled.vfx");
|
||||
level._effect["vfx_road_flare"] = loadfx("vfx/iw7/levels/cp_final/amb/vfx_road_flare.vfx");
|
||||
level._effect["vfx_center_symbol"] = loadfx("vfx/iw7/levels/cp_final/amb/vfx_center_symbol.vfx");
|
||||
level._effect["vfx_meph_bhs_start"] = loadfx("vfx/iw7/levels/cp_final/boss_demon/vfx_meph_bhs_start.vfx");
|
||||
level._effect["vfx_dense_mist"] = loadfx("vfx/iw7/levels/cp_final/amb/vfx_dense_mist.vfx");
|
||||
level._effect["vfx_wall_hole_billow"] = loadfx("vfx/iw7/levels/cp_final/amb/vfx_wall_hole_billow.vfx");
|
||||
level._effect["vfx_hole_billow"] = loadfx("vfx/iw7/levels/cp_final/amb/vfx_hole_billow.vfx");
|
||||
level._effect["vfx_streets_smoke"] = loadfx("vfx/iw7/levels/cp_final/amb/vfx_streets_smoke.vfx");
|
||||
level._effect["vfx_falling_ash2"] = loadfx("vfx/iw7/levels/cp_final/amb/vfx_falling_ash2.vfx");
|
||||
level._effect["vfx_falling_ash"] = loadfx("vfx/iw7/levels/cp_final/amb/vfx_falling_ash.vfx");
|
||||
level._effect["vfx_talisman_beam"] = loadfx("vfx/iw7/levels/cp_final/boss_demon/vfx_talisman_beam.vfx");
|
||||
level._effect["vfx_outdoor_lf"] = loadfx("vfx/iw7/levels/cp_final/amb/vfx_outdoor_lf.vfx");
|
||||
level._effect["vfx_broken_pipe_steam"] = loadfx("vfx/iw7/levels/cp_final/amb/vfx_broken_pipe_steam.vfx");
|
||||
level._effect["vfx_low_mist"] = loadfx("vfx/iw7/levels/cp_final/amb/vfx_low_mist.vfx");
|
||||
level._effect["vfx_zb_elec"] = loadfx("vfx/iw7/levels/cp_final/trap/vfx_zb_elec.vfx");
|
||||
level._effect["vfx_imp_zmb_meph_blood"] = loadfx("vfx/iw7/core/impact/custom/vfx_imp_zmb_meph_blood.vfx");
|
||||
level._effect["vfx_zb_pack_glow"] = loadfx("vfx/iw7/core/zombie/pap/vfx_zb_pack_glow2.vfx");
|
||||
level._effect["vfx_water_drips"] = loadfx("vfx/iw7/levels/cp_final/amb/vfx_water_drips.vfx");
|
||||
level._effect["vfx_floor_vent_steam"] = loadfx("vfx/iw7/levels/cp_final/amb/vfx_floor_vent_steam.vfx");
|
||||
level._effect["vfx_amb_motes"] = loadfx("vfx/iw7/levels/cp_final/amb/vfx_amb_motes.vfx");
|
||||
level._effect["vfx_talisman_active"] = loadfx("vfx/iw7/levels/cp_final/boss_demon/vfx_talisman_active.vfx");
|
||||
level._effect["vfx_talisman_complete"] = loadfx("vfx/iw7/levels/cp_final/boss_demon/vfx_talisman_complete.vfx");
|
||||
level._effect["vfx_zb_pack_glow_ground_b"] = loadfx("vfx/iw7/core/zombie/pap/vfx_zb_pack_glow_ground_b.vfx");
|
||||
level._effect["vfx_zb_sj_smk"] = loadfx("vfx/iw7/core/zombie/pap/vfx_zb_sj_smk.vfx");
|
||||
level._effect["vfx_zb_pack_grd_a"] = loadfx("vfx/iw7/core/zombie/pap/vfx_zb_pack_grd_a.vfx");
|
||||
level._effect["vfx_zb_pack_grd_b"] = loadfx("vfx/iw7/core/zombie/pap/vfx_zb_pack_grd_b.vfx");
|
||||
level._effect["vfx_zb_pack_grd_c"] = loadfx("vfx/iw7/core/zombie/pap/vfx_zb_pack_grd_c.vfx");
|
||||
level._effect["vfx_zb_pack_grd_d"] = loadfx("vfx/iw7/core/zombie/pap/vfx_zb_pack_grd_d.vfx");
|
||||
level._effect["vfx_zb_pack_grd_e"] = loadfx("vfx/iw7/core/zombie/pap/vfx_zb_pack_grd_e.vfx");
|
||||
level._effect["vfx_zmb_candle_flame"] = loadfx("vfx/iw7/core/zombie/pap/vfx_zmb_candle_flame.vfx");
|
||||
level._effect["vfx_barricade_flash"] = loadfx("vfx/iw7/levels/cp_final/amb/vfx_barricade_flash.vfx");
|
||||
level._effect["vfx_oasis_gnat_swarm"] = loadfx("vfx/iw7/levels/mp_marsoasis/vfx_oasis_gnat_swarm.vfx");
|
||||
level._effect["vfx_trash_flies"] = loadfx("vfx/iw7/levels/cp_disco/amb/vfx_trash_flies.vfx");
|
||||
level._effect["vfx_pipe_smoke"] = loadfx("vfx/iw7/levels/cp_disco/amb/vfx_pipe_smoke.vfx");
|
||||
level._effect["vfx_amb_moth_a"] = loadfx("vfx/iw7/levels/cp_disco/amb/vfx_amb_moth_a.vfx");
|
||||
level._effect["vfx_amb_moth_b"] = loadfx("vfx/iw7/levels/cp_disco/amb/vfx_amb_moth_b.vfx");
|
||||
level._effect["vfx_light_mist"] = loadfx("vfx/iw7/levels/cp_disco/amb/vfx_light_mist.vfx");
|
||||
level._effect["vfx_dist_fire"] = loadfx("vfx/iw7/levels/cp_final/amb/vfx_dist_fire.vfx");
|
||||
level._effect["vfx_venmox_spark"] = loadfx("vfx/iw7/levels/cp_final/trap/vfx_venmox_spark.vfx");
|
||||
level._effect["vfx_venmox_spark_expl"] = loadfx("vfx/iw7/levels/cp_final/trap/vfx_venmox_spark_ch.vfx");
|
||||
level._effect["vfx_zb_final_elec_up"] = loadfx("vfx/iw7/levels/cp_final/trap/vfx_zb_final_elec_up.vfx");
|
||||
level._effect["vfx_zb_spark_b"] = loadfx("vfx/iw7/levels/cp_disco/amb/vfx_zb_spark_b.vfx");
|
||||
level._effect["vfx_zb_spark_a"] = loadfx("vfx/iw7/levels/cp_disco/amb/vfx_zb_spark_a.vfx");
|
||||
level._effect["vfx_zb_cf_b"] = loadfx("vfx/iw7/levels/cp_disco/amb/vfx_zb_cf_b.vfx");
|
||||
level._effect["vfx_zb_cf_a"] = loadfx("vfx/iw7/levels/cp_disco/amb/vfx_zb_cf_a.vfx");
|
||||
level._effect["vfx_sewer_grate_steam"] = loadfx("vfx/iw7/levels/cp_disco/amb/vfx_sewer_grate_steam.vfx");
|
||||
level._effect["vfx_win_fire_dist"] = loadfx("vfx/iw7/levels/cp_final/amb/vfx_win_fire_dist.vfx");
|
||||
level._effect["vfx_flashing_red_01"] = loadfx("vfx/iw7/levels/cp_final/amb/vfx_flashing_red_01.vfx");
|
||||
level._effect["vfx_flashing_blue01"] = loadfx("vfx/iw7/levels/cp_final/amb/vfx_flashing_blue01.vfx");
|
||||
level._effect["vfx_zb_ac_gd_smk"] = loadfx("vfx/iw7/levels/cp_final/trap/vfx_zb_ac_gd_smk.vfx");
|
||||
level._effect["vfx_dlc4_boss_telep_in"] = loadfx("vfx/iw7/levels/cp_final/boss/vfx_dlc4_boss_telep_in.vfx");
|
||||
level._effect["vfx_screen_a"] = loadfx("vfx/iw7/levels/cp_final/amb/vfx_screen_a.vfx");
|
||||
level._effect["vfx_zb_fg_on"] = loadfx("vfx/iw7/levels/cp_final/trap/vfx_zb_fg_on.vfx");
|
||||
level._effect["vfx_fg_smk"] = loadfx("vfx/iw7/levels/cp_final/amb/vfx_fg_smk.vfx");
|
||||
level._effect["vfx_zb_meat"] = loadfx("vfx/iw7/levels/cp_final/trap/vfx_zb_meat.vfx");
|
||||
level._effect["vfx_meph_bhs"] = loadfx("vfx/iw7/levels/cp_final/boss_demon/vfx_meph_bhs.vfx");
|
||||
level._effect["vfx_meph_smk_down"] = loadfx("vfx/iw7/levels/cp_final/boss_demon/vfx_meph_smk_down.vfx");
|
||||
level._effect["vfx_meph_smk_up"] = loadfx("vfx/iw7/levels/cp_final/boss_demon/vfx_meph_smk_up.vfx");
|
||||
level._effect["vfx_eclipse_tell"] = loadfx("vfx/iw7/levels/cp_final/boss/vfx_eclipse_tell.vfx");
|
||||
level._effect["vfx_sum_hand_tell_le"] = loadfx("vfx/iw7/levels/cp_final/boss/vfx_sum_hand_tell_le.vfx");
|
||||
level._effect["vfx_sum_hand_tell_ri"] = loadfx("vfx/iw7/levels/cp_final/boss/vfx_sum_hand_tell_ri.vfx");
|
||||
level._effect["vfx_fire_tornado_lg"] = loadfx("vfx/iw7/levels/cp_final/boss_demon/vfx_fire_tornado_lg.vfx");
|
||||
level._effect["vfx_fire_tornado"] = loadfx("vfx/iw7/levels/cp_final/boss_demon/vfx_fire_tornado.vfx");
|
||||
level._effect["vfx_chess_solve"] = loadfx("vfx/iw7/levels/cp_final/gns/vfx_chess_solve.vfx");
|
||||
level._effect["vfx_dlc4_player_burn_flames"] = loadfx("vfx/iw7/levels/cp_final/boss_demon/vfx_dlc4_player_flames.vfx");
|
||||
level._effect["vfx_final_water_elec_chp"] = loadfx("vfx/iw7/levels/cp_final/trap/vfx_final_water_elec_chp.vfx");
|
||||
level._effect["vfx_dlc4_boss_telep_in"] = loadfx("vfx/iw7/levels/cp_final/boss/vfx_dlc4_boss_telep_in.vfx");
|
||||
level._effect["vfx_dlc4_boss_telep_in_left"] = loadfx("vfx/iw7/levels/cp_final/boss/vfx_dlc4_boss_telep_in_left.vfx");
|
||||
level._effect["vfx_boss_sun_blocker"] = loadfx("vfx/iw7/levels/cp_final/boss_arena/vfx_boss_sun_blocker.vfx");
|
||||
level._effect["vfx_boss_sun"] = loadfx("vfx/iw7/levels/cp_final/boss_arena/vfx_boss_sun.vfx");
|
||||
level._effect["vfx_clap_hand_tell"] = loadfx("vfx/iw7/levels/cp_final/boss/vfx_clap_hand_tell.vfx");
|
||||
level._effect["vfx_clap_hand_impact"] = loadfx("vfx/iw7/levels/cp_final/boss/vfx_clap_hand_impact.vfx");
|
||||
level._effect["vfx_fire_ring_protect"] = loadfx("vfx/iw7/levels/cp_final/boss/vfx_fire_ring_protect.vfx");
|
||||
level._effect["vfx_zb_ac_gd"] = loadfx("vfx/iw7/levels/cp_final/trap/vfx_zb_ac_gd.vfx");
|
||||
level._effect["vfx_zb_ac_smk"] = loadfx("vfx/iw7/levels/cp_final/trap/vfx_zb_ac_smk.vfx");
|
||||
level._effect["vfx_zb__ar_shower_01"] = loadfx("vfx/iw7/levels/cp_final/trap/vfx_zb__ar_shower_01.vfx");
|
||||
level._effect["vfx_mouth_flame_impact"] = loadfx("vfx/iw7/levels/cp_final/boss_demon/vfx_mouth_flame_impact.vfx");
|
||||
level._effect["vfx_mouth_flame_start"] = loadfx("vfx/iw7/levels/cp_final/boss_demon/vfx_mouth_flame_start.vfx");
|
||||
level._effect["vfx_mouth_flame"] = loadfx("vfx/iw7/levels/cp_final/boss_demon/vfx_mouth_flame.vfx");
|
||||
level._effect["vfx_skeleton_glow_eyes"] = loadfx("vfx/iw7/levels/cp_final/boss_demon/vfx_skeleton_glow_eyes.vfx");
|
||||
level._effect["vfx_meph_black_hole"] = loadfx("vfx/iw7/levels/cp_final/boss_demon/vfx_meph_black_hole.vfx");
|
||||
level._effect["vfx_blowing_snow_low"] = loadfx("vfx/iw7/levels/cp_final/amb/vfx_blowing_snow_low.vfx");
|
||||
level._effect["vfx_snow_flurries_01"] = loadfx("vfx/iw7/levels/cp_final/amb/vfx_snow_flurries_01.vfx");
|
||||
level._effect["vfx_zb_final_elec_spark_c"] = loadfx("vfx/iw7/levels/cp_final/trap/vfx_zb_final_elec_spark_c.vfx");
|
||||
level._effect["vfx_zb_final_elec_spark_b"] = loadfx("vfx/iw7/levels/cp_final/trap/vfx_zb_final_elec_spark_b.vfx");
|
||||
level._effect["vfx_zb_final_water_elec"] = loadfx("vfx/iw7/levels/cp_final/trap/vfx_zb_final_water_elec.vfx");
|
||||
level._effect["vfx_death_body"] = loadfx("vfx/iw7/levels/cp_final/boss_demon/vfx_death_body.vfx");
|
||||
level._effect["vfx_clap_wall_raise"] = loadfx("vfx/iw7/levels/cp_final/boss/vfx_clap_wall_raise.vfx");
|
||||
level._effect["vfx_rotating_asteroids_03"] = loadfx("vfx/iw7/levels/cp_final/amb/vfx_rotating_asteroids_03.vfx");
|
||||
level._effect["vfx_fireball_throw"] = loadfx("vfx/iw7/levels/cp_final/boss_demon/vfx_fireball_throw.vfx");
|
||||
level._effect["vfx_orange_emerg_lights_02"] = loadfx("vfx/iw7/levels/cp_final/amb/vfx_orange_emerg_lights_02.vfx");
|
||||
level._effect["vfx_orange_emerg_lights"] = loadfx("vfx/iw7/levels/cp_final/amb/vfx_orange_emerg_lights.vfx");
|
||||
level._effect["vfx_rotating_asteroids_01"] = loadfx("vfx/iw7/levels/cp_final/amb/vfx_rotating_asteroids_01.vfx");
|
||||
level._effect["vfx_rotating_asteroids_02"] = loadfx("vfx/iw7/levels/cp_final/amb/vfx_rotating_asteroids_02.vfx");
|
||||
level._effect["demon_pound_slam_lrg"] = loadfx("vfx/iw7/levels/cp_final/boss_demon/demon_pound_slam_lrg.vfx");
|
||||
level._effect["vfx_demon_spawn"] = loadfx("vfx/iw7/levels/cp_final/boss_demon/vfx_demon_spawn.vfx");
|
||||
level._effect["vfx_fan_hack"] = loadfx("vfx/iw7/levels/cp_final/fx_fan/vfx_fan_hack.vfx");
|
||||
level._effect["vfx_sun_blocker_end"] = loadfx("vfx/iw7/levels/cp_final/boss_arena/vfx_sunblk_end.vfx ");
|
||||
level._effect["vfx_zb_fg_side"] = loadfx("vfx/iw7/levels/cp_final/trap/vfx_zb_fg_side.vfx");
|
||||
level._effect["vfx_zb_final_elec"] = loadfx("vfx/iw7/levels/cp_final/trap/vfx_zb_final_elec.vfx");
|
||||
level._effect["vfx_flashing_blue01"] = loadfx("vfx/iw7/levels/cp_final/amb/vfx_flashing_blue01.vfx");
|
||||
level._effect["vfx_zb_ac_gd_smk"] = loadfx("vfx/iw7/levels/cp_final/trap/vfx_zb_ac_gd_smk.vfx");
|
||||
level._effect["vfx_dlc4_boss_telep_in"] = loadfx("vfx/iw7/levels/cp_final/boss/vfx_dlc4_boss_telep_in.vfx");
|
||||
level._effect["vfx_screen_a"] = loadfx("vfx/iw7/levels/cp_final/amb/vfx_screen_a.vfx");
|
||||
level._effect["vfx_zb_fg_on"] = loadfx("vfx/iw7/levels/cp_final/trap/vfx_zb_fg_on.vfx");
|
||||
level._effect["vfx_fg_smk"] = loadfx("vfx/iw7/levels/cp_final/amb/vfx_fg_smk.vfx");
|
||||
level._effect["vfx_zb_meat"] = loadfx("vfx/iw7/levels/cp_final/trap/vfx_zb_meat.vfx");
|
||||
level._effect["vfx_meph_bhs"] = loadfx("vfx/iw7/levels/cp_final/boss_demon/vfx_meph_bhs.vfx");
|
||||
level._effect["vfx_meph_smk_down"] = loadfx("vfx/iw7/levels/cp_final/boss_demon/vfx_meph_smk_down.vfx");
|
||||
level._effect["vfx_meph_smk_up"] = loadfx("vfx/iw7/levels/cp_final/boss_demon/vfx_meph_smk_up.vfx");
|
||||
level._effect["vfx_eclipse_tell"] = loadfx("vfx/iw7/levels/cp_final/boss/vfx_eclipse_tell.vfx");
|
||||
level._effect["vfx_sum_hand_tell_le"] = loadfx("vfx/iw7/levels/cp_final/boss/vfx_sum_hand_tell_le.vfx");
|
||||
level._effect["vfx_sum_hand_tell_ri"] = loadfx("vfx/iw7/levels/cp_final/boss/vfx_sum_hand_tell_ri.vfx");
|
||||
level._effect["vfx_fire_tornado_lg"] = loadfx("vfx/iw7/levels/cp_final/boss_demon/vfx_fire_tornado_lg.vfx");
|
||||
level._effect["vfx_fire_tornado"] = loadfx("vfx/iw7/levels/cp_final/boss_demon/vfx_fire_tornado.vfx");
|
||||
level._effect["vfx_chess_solve"] = loadfx("vfx/iw7/levels/cp_final/gns/vfx_chess_solve.vfx");
|
||||
level._effect["vfx_dlc4_player_burn_flames"] = loadfx("vfx/iw7/levels/cp_final/boss_demon/vfx_dlc4_player_flames.vfx");
|
||||
level._effect["vfx_final_water_elec_chp"] = loadfx("vfx/iw7/levels/cp_final/trap/vfx_final_water_elec_chp.vfx");
|
||||
level._effect["vfx_dlc4_boss_telep_in"] = loadfx("vfx/iw7/levels/cp_final/boss/vfx_dlc4_boss_telep_in.vfx");
|
||||
level._effect["vfx_dlc4_boss_telep_in_left"] = loadfx("vfx/iw7/levels/cp_final/boss/vfx_dlc4_boss_telep_in_left.vfx");
|
||||
level._effect["vfx_boss_sun_blocker"] = loadfx("vfx/iw7/levels/cp_final/boss_arena/vfx_boss_sun_blocker.vfx");
|
||||
level._effect["vfx_boss_sun"] = loadfx("vfx/iw7/levels/cp_final/boss_arena/vfx_boss_sun.vfx");
|
||||
level._effect["vfx_clap_hand_tell"] = loadfx("vfx/iw7/levels/cp_final/boss/vfx_clap_hand_tell.vfx");
|
||||
level._effect["vfx_clap_hand_impact"] = loadfx("vfx/iw7/levels/cp_final/boss/vfx_clap_hand_impact.vfx");
|
||||
level._effect["vfx_fire_ring_protect"] = loadfx("vfx/iw7/levels/cp_final/boss/vfx_fire_ring_protect.vfx");
|
||||
level._effect["vfx_zb_ac_gd"] = loadfx("vfx/iw7/levels/cp_final/trap/vfx_zb_ac_gd.vfx");
|
||||
level._effect["vfx_zb_ac_smk"] = loadfx("vfx/iw7/levels/cp_final/trap/vfx_zb_ac_smk.vfx");
|
||||
level._effect["vfx_zb__ar_shower_01"] = loadfx("vfx/iw7/levels/cp_final/trap/vfx_zb__ar_shower_01.vfx");
|
||||
level._effect["vfx_mouth_flame_impact"] = loadfx("vfx/iw7/levels/cp_final/boss_demon/vfx_mouth_flame_impact.vfx");
|
||||
level._effect["vfx_mouth_flame_start"] = loadfx("vfx/iw7/levels/cp_final/boss_demon/vfx_mouth_flame_start.vfx");
|
||||
level._effect["vfx_mouth_flame"] = loadfx("vfx/iw7/levels/cp_final/boss_demon/vfx_mouth_flame.vfx");
|
||||
level._effect["vfx_skeleton_glow_eyes"] = loadfx("vfx/iw7/levels/cp_final/boss_demon/vfx_skeleton_glow_eyes.vfx");
|
||||
level._effect["vfx_meph_black_hole"] = loadfx("vfx/iw7/levels/cp_final/boss_demon/vfx_meph_black_hole.vfx");
|
||||
level._effect["vfx_blowing_snow_low"] = loadfx("vfx/iw7/levels/cp_final/amb/vfx_blowing_snow_low.vfx");
|
||||
level._effect["vfx_snow_flurries_01"] = loadfx("vfx/iw7/levels/cp_final/amb/vfx_snow_flurries_01.vfx");
|
||||
level._effect["vfx_zb_final_elec_spark_c"] = loadfx("vfx/iw7/levels/cp_final/trap/vfx_zb_final_elec_spark_c.vfx");
|
||||
level._effect["vfx_zb_final_elec_spark_b"] = loadfx("vfx/iw7/levels/cp_final/trap/vfx_zb_final_elec_spark_b.vfx");
|
||||
level._effect["vfx_zb_final_water_elec"] = loadfx("vfx/iw7/levels/cp_final/trap/vfx_zb_final_water_elec.vfx");
|
||||
level._effect["vfx_death_body"] = loadfx("vfx/iw7/levels/cp_final/boss_demon/vfx_death_body.vfx");
|
||||
level._effect["vfx_clap_wall_raise"] = loadfx("vfx/iw7/levels/cp_final/boss/vfx_clap_wall_raise.vfx");
|
||||
level._effect["vfx_rotating_asteroids_03"] = loadfx("vfx/iw7/levels/cp_final/amb/vfx_rotating_asteroids_03.vfx");
|
||||
level._effect["vfx_fireball_throw"] = loadfx("vfx/iw7/levels/cp_final/boss_demon/vfx_fireball_throw.vfx");
|
||||
level._effect["vfx_orange_emerg_lights_02"] = loadfx("vfx/iw7/levels/cp_final/amb/vfx_orange_emerg_lights_02.vfx");
|
||||
level._effect["vfx_orange_emerg_lights"] = loadfx("vfx/iw7/levels/cp_final/amb/vfx_orange_emerg_lights.vfx");
|
||||
level._effect["vfx_rotating_asteroids_01"] = loadfx("vfx/iw7/levels/cp_final/amb/vfx_rotating_asteroids_01.vfx");
|
||||
level._effect["vfx_rotating_asteroids_02"] = loadfx("vfx/iw7/levels/cp_final/amb/vfx_rotating_asteroids_02.vfx");
|
||||
level._effect["demon_pound_slam_lrg"] = loadfx("vfx/iw7/levels/cp_final/boss_demon/demon_pound_slam_lrg.vfx");
|
||||
level._effect["vfx_demon_spawn"] = loadfx("vfx/iw7/levels/cp_final/boss_demon/vfx_demon_spawn.vfx");
|
||||
level._effect["vfx_fan_hack"] = loadfx("vfx/iw7/levels/cp_final/fx_fan/vfx_fan_hack.vfx");
|
||||
level._effect["vfx_demon_ground_spawn"] = loadfx("vfx/iw7/core/zombie/spawn/vfx_zmb_spawn_ground_dirt.vfx");
|
||||
level._effect["vfx_sun_blocker_end"] = loadfx("vfx/iw7/levels/cp_final/boss_arena/vfx_sunblk_end.vfx ");
|
||||
level._effect["vfx_head_burn"] = loadfx("vfx/iw7/levels/cp_final/boss_demon/vfx_head_burn.vfx");
|
||||
level._effect["vfx_cape_flame_ri_b"] = loadfx("vfx/iw7/levels/cp_final/boss_demon/vfx_cape_flame_ri_b.vfx");
|
||||
level._effect["vfx_cape_flame_le_b"] = loadfx("vfx/iw7/levels/cp_final/boss_demon/vfx_cape_flame_le_b.vfx");
|
||||
level._effect["vfx_cape_flame_ri_a"] = loadfx("vfx/iw7/levels/cp_final/boss_demon/vfx_cape_flame_ri_a.vfx");
|
||||
level._effect["vfx_cape_flame_le_a"] = loadfx("vfx/iw7/levels/cp_final/boss_demon/vfx_cape_flame_le_a.vfx");
|
||||
level._effect["vfx_brow_flame_ri"] = loadfx("vfx/iw7/levels/cp_final/boss_demon/vfx_brow_flame_ri.vfx");
|
||||
level._effect["vfx_brow_flame_le"] = loadfx("vfx/iw7/levels/cp_final/boss_demon/vfx_brow_flame_le.vfx");
|
||||
level._effect["soul_jar_d"] = loadfx("vfx/iw7/core/zombie/frontend/vfx_zb_d.vfx");
|
||||
level._effect["soul_jar_e"] = loadfx("vfx/iw7/core/zombie/frontend/vfx_zb_e.vfx");
|
||||
level._effect["soul_jar_a"] = loadfx("vfx/iw7/core/zombie/frontend/vfx_zb_c.vfx");
|
||||
level._effect["soul_jar_t"] = loadfx("vfx/iw7/core/zombie/frontend/vfx_zb_b.vfx");
|
||||
level._effect["vfx_magicwheel_fire"] = loadfx("vfx/iw7/_requests/coop/vfx_magicwheel_fire.vfx");
|
||||
level._effect["vfx_magicwheel_toy_pop"] = loadfx("vfx/iw7/core/zombie/magicwheel/vfx_magicwheel_toy_pop.vfx");
|
||||
level._effect["pillage_box"] = loadfx("vfx/iw7/levels/cp_final/collect/vfx_final_pillage_box.vfx");
|
||||
level._effect["vfx_zmb_portal_centhub"] = loadfx("vfx/iw7/core/zombie/vfx_zmb_portal_centhub.vfx");
|
||||
level._effect["melee_impact"] = loadfx("vfx/iw7/core/zombie/vfx_zmb_gore_melee_imp.vfx");
|
||||
level._effect["vfx_zmb_portal_exit_burst"] = loadfx("vfx/iw7/core/zombie/vfx_zmb_portal_exit_burst.vfx");
|
||||
level._effect["trap_ww_beam"] = loadfx("vfx/iw7/levels/cp_final/trap/vfx_zb_laser_beam.vfx");
|
||||
level._effect["trap_ww_beam_death"] = loadfx("vfx/iw7/levels/cp_final/trap/vfx_zb_laser_beam_die.vfx");
|
||||
level._effect["atomize_body"] = loadfx("vfx/iw7/levels/cp_final/trap/vfx_zb_laser_dead.vfx");
|
||||
level._effect["laser_screen_dmg"] = loadfx("vfx/iw7/levels/cp_final/trap/vfx_zmb_final_laser_sc.vfx");
|
||||
level._effect["vfx_zb_laser_lens"] = loadfx("vfx/iw7/levels/cp_final/trap/vfx_zb_laser_lens.vfx");
|
||||
level._effect["vfx_zb_laser_screen"] = loadfx("vfx/iw7/levels/cp_final/trap/vfx_zmb_final_laser_sc.vfx");
|
||||
level._effect["console_spark"] = loadfx("vfx/iw7/core/zombie/vfx_zmb_console_sparks.vfx");
|
||||
level._effect["blackhole_suction"] = loadfx("vfx/iw7/levels/cp_final/trap/vfx_zmb_thea_scrn_vac.vfx");
|
||||
level._effect["blackhole_trap_death"] = loadfx("vfx/iw7/_requests/coop/vfx_zmb_blackhole_death");
|
||||
level._effect["electric_shock_plyr"] = loadfx("vfx/iw7/_requests/mp/vfx_arc_gren_scrn_dmg.vfx");
|
||||
level._effect["cc_ice_burst"] = loadfx("vfx/iw7/_requests/mp/power/vfx_cryo_grenade_exp.vfx");
|
||||
level._effect["vfx_freezer_frost_scrn"] = loadfx("vfx/iw7/levels/cp_town/vfx_freezer_frost_scrn.vfx");
|
||||
level._effect["acid_drip"] = loadfx("vfx/iw7/levels/cp_final/trap/vfx_zb__ar_drip_a.vfx");
|
||||
level._effect["acid_rain_explosion"] = loadfx("vfx/iw7/levels/cp_rave/vfx_hp1_exp.vfx");
|
||||
level._effect["acid_rain_death"] = loadfx("vfx/iw7/levels/cp_final/trap/vfx_zb_ac_body.vfx");
|
||||
level._effect["sasquatch_rock_hit"] = loadfx("vfx/iw7/levels/cp_final/trap/vfx_projectile_impact.vfx");
|
||||
level._effect["vfx_transformer_trap"] = loadfx("vfx/iw7/levels/cp_town/trap/vfx_transformer_trap.vfx");
|
||||
level._effect["vfx_charge_fuse_beam"] = loadfx("vfx/iw7/levels/cp_final/pap/vfx_fuse_charge_beam.vfx");
|
||||
level._effect["bridge_place"] = loadfx("vfx/iw7/levels/cp_final/pap/vfx_bridge_place.vfx");
|
||||
level._effect["fuse_charged"] = loadfx("vfx/iw7/core/zombie/vfx_disco_fuse_charged.vfx");
|
||||
level._effect["temp_circuit_fx"] = loadfx("vfx/core/alien/vfx_venomx_pap1_exp.vfx");
|
||||
level._effect["zombie_freeze_shatter"] = loadfx("vfx/iw7/core/zombie/zombie_ice_chunks.vfx");
|
||||
level._effect["electric_shock_plyr"] = loadfx("vfx/iw7/_requests/mp/vfx_arc_gren_scrn_dmg.vfx");
|
||||
level._effect["electric_shock_plyr"] = loadfx("vfx/iw7/_requests/mp/vfx_arc_gren_scrn_dmg.vfx");
|
||||
level._effect["life_link"] = loadfx("vfx/iw7/core/zombie/vfx_zmb_life_link_beam.vfx");
|
||||
level._effect["life_link_target"] = loadfx("vfx/iw7/core/zombie/cards/vfx_zmb_life_link_beam_send.vfx");
|
||||
level._effect["powerup_additive_fx"] = loadfx("vfx/iw7/core/zombie/powerups/vfx_pwrup_additive.vfx");
|
||||
level._effect["bloody_death"] = loadfx("vfx/iw7/core/zombie/cards/vfx_zmb_card_headshot_exp.vfx");
|
||||
level._effect["extra_cash_kill"] = loadfx("vfx/iw7/core/zombie/vfx_zmb_money_cash_imp_exp.vfx");
|
||||
level._effect["generic_pickup"] = loadfx("vfx/iw7/core/zombie/vfx_zom_souvenir_pickup.vfx");
|
||||
level._effect["electric_trap_attack"] = loadfx("vfx/iw7/core/zombie/vfx_disco_trap_beam.vfx");
|
||||
level._effect["electric_trap_shock"] = loadfx("vfx/iw7/core/zombie/traps/electric_trap/vfx_zmb_hit_shock.vfx");
|
||||
level._effect["electric_shock_plyr"] = loadfx("vfx/iw7/_requests/mp/vfx_arc_gren_scrn_dmg.vfx");
|
||||
level._effect["elec_trap_sparks"] = loadfx("vfx/iw7/core/zombie/vfx_zmb_console_sparks.vfx");
|
||||
level._effect["chi_ghost_death"] = loadfx("vfx/iw7/core/zombie/vfx_zmb_ghost_imp.vfx");
|
||||
level._effect["fire_chains"] = loadfx("vfx/iw7/core/zombie/cards/vfx_zmb_fcb.vfx");
|
||||
level._effect["fire_chains_target"] = loadfx("vfx/iw7/core/zombie/cards/vfx_zmb_fcb_imp.vfx");
|
||||
level._effect["entangler_beam"] = loadfx("vfx/iw7/core/zombie/vfx_zmb_dischord_laser.vfx");
|
||||
level._effect["energy_door_impact"] = loadfx("vfx/iw7/levels/cp_final/mpq/vfx_ff_impact.vfx");
|
||||
level._effect["pap1_slowtime"] = loadfx("vfx/core/alien/vfx_venomx_pap1_dam_vol.vfx");
|
||||
level._effect["pap2_slowtime"] = loadfx("vfx/core/alien/vfx_venomx_pap2_dam_vol.vfx");
|
||||
level._effect["rhino_emp"] = loadfx("vfx/iw7/levels/cp_final/rhino/vfx_emp_blast.vfx");
|
||||
level._effect["rhino_pool"] = loadfx("vfx/iw7/levels/cp_final/rhino/vfx_ground_goo.vfx");
|
||||
level._effect["rhino_pool_sm"] = loadfx("vfx/iw7/levels/cp_final/rhino/vfx_ground_goo_sm.vfx");
|
||||
level._effect["blue_ark_beam"] = loadfx("vfx/iw7/core/zombie/vfx_zmb_shock_beam_blue.vfx");
|
||||
level._effect["cc_ice_burst"] = loadfx("vfx/iw7/_requests/mp/power/vfx_cryo_grenade_exp.vfx");
|
||||
level._effect["cc_fire_burst"] = loadfx("vfx/iw7/levels/cp_town/perk/vfx_zb_perk_exp.vfx");
|
||||
level._effect["cc_zap_burst"] = loadfx("vfx/iw7/levels/cp_town/perk/vfx_zb_perk_elec.vfx");
|
||||
level._effect["cc_head_nuke"] = loadfx("vfx/iw7/levels/cp_town/perk/vfx_zb_perk_radi.vfx");
|
||||
level._effect["target_laser"] = loadfx("vfx/iw7/_requests/mp/power/vfx_trip_mine_beam_friendly.vfx");
|
||||
level._effect["target_laser_angry"] = loadfx("vfx/iw7/_requests/mp/power/vfx_trip_mine_beam_enemy.vfx");
|
||||
level._effect["vfx_zb_final_elec_up"] = loadfx("vfx/iw7/levels/cp_final/trap/vfx_zb_final_elec_up.vfx");
|
||||
level._effect["air_vent_in"] = loadfx("vfx/iw7/levels/cp_final/puzzles/vfx_airlock_vent_lrg_depress.vfx");
|
||||
level._effect["air_vent_out"] = loadfx("vfx/iw7/levels/cp_final/puzzles/vfx_airlock_vent_lrg_press.vfx");
|
||||
level._effect["soul_bomb"] = loadfx("vfx/iw7/levels/cp_final/boss/vfx_soul_bomb.vfx");
|
||||
level._effect["soul_bomb_exp"] = loadfx("vfx/iw7/levels/cp_final/boss/vfx_soul_bomb_exp.vfx");
|
||||
level._effect["soul_bomb_die"] = loadfx("vfx/iw7/levels/cp_final/boss/vfx_soul_bomb_die.vfx");
|
||||
level._effect["afterlife_portal_fx"] = loadfx("vfx/iw7/levels/cp_town/vfx_town_portal_afterlife.vfx");
|
||||
level._effect["shared_fate"] = loadfx("vfx/iw7/levels/cp_rave/vfx_shared_fate_arrow.vfx");
|
||||
level._effect["blackhole_trap_death"] = loadfx("vfx/iw7/_requests/coop/vfx_zmb_blackhole_death");
|
||||
level._effect["vfx_screen_flash"] = loadfx("vfx/core/mp/core/vfx_screen_flash");
|
||||
level._effect["shock_melee_impact"] = loadfx("vfx/iw7/core/zombie/vfx_zmb_elec_knife_impact.vfx");
|
||||
level._effect["cone_expl_fx"] = loadfx("vfx/iw7/core/muzflash/rvn/vfx_rvn_defib_legend_cone.vfx");
|
||||
level._effect["exp_touch"] = loadfx("vfx/iw7/levels/cp_rave/vfx_explosive_touch.vfx");
|
||||
level._effect["lava_torrent"] = loadfx("vfx/iw7/levels/cp_rave/vfx_lava_erupt_fnf.vfx");
|
||||
level._effect["fire_chains"] = loadfx("vfx/iw7/core/zombie/cards/fire_chains/vfx_zmb_fire_chains_beam.vfx");
|
||||
level._effect["zombie_freeze_shatter"] = loadfx("vfx/iw7/core/zombie/zombie_ice_chunks.vfx");
|
||||
level._effect["twister"] = loadfx("vfx/iw7/core/zombie/vfx_fnf_twister.vfx");
|
||||
level._effect["dodge_ground_spark_fx"] = loadfx("vfx/core/mp/killstreaks/vfx_ims_sparks");
|
||||
level._effect["dodge_fwd_screen"] = loadfx("vfx/iw7/levels/cp_town/dodge/vfx_zb_fwd.vfx");
|
||||
level._effect["dodge_back_screen"] = loadfx("vfx/iw7/levels/cp_town/dodge/vfx_zb_back.vfx");
|
||||
level._effect["dodge_left_screen"] = loadfx("vfx/iw7/levels/cp_town/dodge/vfx_zb_left.vfx");
|
||||
level._effect["dodge_right_screen"] = loadfx("vfx/iw7/levels/cp_town/dodge/vfx_zb_right.vfx");
|
||||
level._effect["dodge_fwd_left_screen"] = loadfx("vfx/iw7/levels/cp_town/dodge/vfx_zb_fwd_left.vfx");
|
||||
level._effect["dodge_fwd_right_screen"] = loadfx("vfx/iw7/levels/cp_town/dodge/vfx_zb_fwd_right.vfx");
|
||||
level._effect["dodge_back_left_screen"] = loadfx("vfx/iw7/levels/cp_town/dodge/vfx_zb_back_left.vfx");
|
||||
level._effect["dodge_back_right_screen"] = loadfx("vfx/iw7/levels/cp_town/dodge/vfx_back_right.vfx");
|
||||
level._effect["dodge_touch"] = loadfx("vfx/iw7/levels/cp_town/dodge/vfx_zb_dodge_touch.vfx");
|
||||
level._effect["stimulus_shield"] = loadfx("vfx/iw7/levels/cp_town/fnf/vfx_stimulus_heal_scrn.vfx");
|
||||
level._effect["stimulus_glow_burst"] = loadfx("vfx/iw7/levels/cp_town/fnf/vfx_stimulus_burst.vfx");
|
||||
level._effect["ammo_crate_ping"] = loadfx("vfx/iw7/levels/cp_town/vfx_cp_town_ammo_flash.vfx");
|
||||
}
|
2980
IW/PC/ALL/scripts/cp/maps/cp_final/cp_final_ghost_activation.gsc
Normal file
2980
IW/PC/ALL/scripts/cp/maps/cp_final/cp_final_ghost_activation.gsc
Normal file
File diff suppressed because it is too large
Load Diff
1314
IW/PC/ALL/scripts/cp/maps/cp_final/cp_final_interactions.gsc
Normal file
1314
IW/PC/ALL/scripts/cp/maps/cp_final/cp_final_interactions.gsc
Normal file
File diff suppressed because it is too large
Load Diff
4032
IW/PC/ALL/scripts/cp/maps/cp_final/cp_final_mpq.gsc
Normal file
4032
IW/PC/ALL/scripts/cp/maps/cp_final/cp_final_mpq.gsc
Normal file
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,53 @@
|
||||
/*******************************************************************
|
||||
* Decompiled By: Bog
|
||||
* Decompiled File: scripts\cp\maps\cp_final\cp_final_player_character_setup.gsc
|
||||
* Game: Call of Duty: Infinite Warfare
|
||||
* Platform: PC
|
||||
* Function Count: 2
|
||||
* Decompile Time: 173 ms
|
||||
* Timestamp: 10/27/2023 12:05:23 AM
|
||||
*******************************************************************/
|
||||
|
||||
//Function Number: 1
|
||||
init_player_characters()
|
||||
{
|
||||
register_player_character(1,"yes","body_zmb_hero_sally_dlc4","viewmodel_zmb_hero_sally_dlc4","head_zmb_hero_sally_dlc4",undefined,"p1_","_p1","iw7_dlc4pap_zm","ges_zombies_revive_nerd",0,"iw7_dlc4card_zm","mus_zombies_generic_char","iw7_dlc4loadin_zm","iw7_knife_zm_rapper");
|
||||
register_player_character(2,"yes","body_zmb_hero_dexter_dlc4","viewmodel_zmb_hero_dexter_dlc4","head_zmb_hero_dexter_dlc4",undefined,"p2_","_p2","iw7_dlc4pap_zm","ges_zombies_revive_nerd",1,"iw7_dlc4card_zm","mus_zombies_generic_char","iw7_dlc4loadin_zm","iw7_knife_zm_rapper");
|
||||
register_player_character(3,"yes","body_zmb_hero_andre_dlc4","viewmodel_zmb_hero_andre_dlc4","head_zmb_hero_andre_dlc4",undefined,"p3_","_p3","iw7_dlc4pap_zm","ges_zombies_revive_nerd",2,"iw7_dlc4card_zm","mus_zombies_generic_char","iw7_dlc4loadin_zm","iw7_knife_zm_rapper");
|
||||
register_player_character(4,"yes","body_zmb_hero_aj_dlc4","viewmodel_zmb_hero_aj_dlc4","head_zmb_hero_aj_dlc4",undefined,"p4_","_p4","iw7_dlc4pap_zm","ges_zombies_revive_nerd",3,"iw7_dlc4card_zm","mus_zombies_generic_char","iw7_dlc4loadin_zm","iw7_knife_zm_rapper");
|
||||
}
|
||||
|
||||
//Function Number: 2
|
||||
register_player_character(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A,param_0B,param_0C,param_0D,param_0E,param_0F)
|
||||
{
|
||||
var_10 = spawnstruct();
|
||||
var_10.body_model = param_02;
|
||||
var_10.view_model = param_03;
|
||||
var_10.head_model = param_04;
|
||||
var_10.hair_model = param_05;
|
||||
var_10.var_134FD = param_06;
|
||||
var_10.vo_suffix = param_07;
|
||||
var_10.pap_gesture = param_08;
|
||||
var_10.revive_gesture = param_09;
|
||||
var_10.photo_index = param_0A;
|
||||
var_10.var_6BA3 = param_0B;
|
||||
var_10.intro_music = param_0C;
|
||||
var_10.intro_gesture = param_0D;
|
||||
var_10.melee_weapon = param_0E;
|
||||
var_10.post_setup_func = param_0F;
|
||||
if(!isdefined(level.player_character_info))
|
||||
{
|
||||
level.player_character_info = [];
|
||||
}
|
||||
|
||||
if(!isdefined(level.var_26A0))
|
||||
{
|
||||
level.var_26A0 = [];
|
||||
}
|
||||
|
||||
level.player_character_info[param_00] = var_10;
|
||||
if(param_01 == "yes")
|
||||
{
|
||||
level.var_26A0[level.var_26A0.size] = param_00;
|
||||
}
|
||||
}
|
14
IW/PC/ALL/scripts/cp/maps/cp_final/cp_final_precache.gsc
Normal file
14
IW/PC/ALL/scripts/cp/maps/cp_final/cp_final_precache.gsc
Normal file
@ -0,0 +1,14 @@
|
||||
/*******************************************************************
|
||||
* Decompiled By: Bog
|
||||
* Decompiled File: scripts\cp\maps\cp_final\cp_final_precache.gsc
|
||||
* Game: Call of Duty: Infinite Warfare
|
||||
* Platform: PC
|
||||
* Function Count: 1
|
||||
* Decompile Time: 101 ms
|
||||
* Timestamp: 10/27/2023 12:05:23 AM
|
||||
*******************************************************************/
|
||||
|
||||
//Function Number: 1
|
||||
main()
|
||||
{
|
||||
}
|
2871
IW/PC/ALL/scripts/cp/maps/cp_final/cp_final_rhino_boss.gsc
Normal file
2871
IW/PC/ALL/scripts/cp/maps/cp_final/cp_final_rhino_boss.gsc
Normal file
File diff suppressed because it is too large
Load Diff
1607
IW/PC/ALL/scripts/cp/maps/cp_final/cp_final_traps.gsc
Normal file
1607
IW/PC/ALL/scripts/cp/maps/cp_final/cp_final_traps.gsc
Normal file
File diff suppressed because it is too large
Load Diff
130
IW/PC/ALL/scripts/cp/maps/cp_final/cp_final_turnstile.gsc
Normal file
130
IW/PC/ALL/scripts/cp/maps/cp_final/cp_final_turnstile.gsc
Normal file
@ -0,0 +1,130 @@
|
||||
/*******************************************************************
|
||||
* Decompiled By: Bog
|
||||
* Decompiled File: scripts\cp\maps\cp_final\cp_final_turnstile.gsc
|
||||
* Game: Call of Duty: Infinite Warfare
|
||||
* Platform: PC
|
||||
* Function Count: 7
|
||||
* Decompile Time: 377 ms
|
||||
* Timestamp: 10/27/2023 12:05:34 AM
|
||||
*******************************************************************/
|
||||
|
||||
//Function Number: 1
|
||||
turnstile_init()
|
||||
{
|
||||
level.turnstile = getent("turnstile","targetname");
|
||||
level.turnstile thread turnstile_damage_listener();
|
||||
level thread shoot_piece_into_machine();
|
||||
level.turnstile_portal = scripts\common\utility::getstruct("turnstile_portal","targetname");
|
||||
if(!isdefined(level.turnstile_portal))
|
||||
{
|
||||
level.turnstile_portal = spawnstruct();
|
||||
level.turnstile_portal.origin = (2403.5,6996,455);
|
||||
}
|
||||
|
||||
level.turnstile_portal.var_C5D9 = 0;
|
||||
level._effect["turnstile_teleport"] = loadfx("vfx/iw7/levels/cp_town/vfx_town_telep_diss.vfx");
|
||||
level._effect["turnstile_teleport_loop"] = loadfx("vfx/iw7/levels/cp_final/turnstile/vfx_loop_telep.vfx");
|
||||
}
|
||||
|
||||
//Function Number: 2
|
||||
turnstile_damage_listener()
|
||||
{
|
||||
level endon("turnstile_success");
|
||||
self setmodel("cp_disco_subway_turnstyle");
|
||||
self setcandamage(1);
|
||||
var_00 = undefined;
|
||||
for(;;)
|
||||
{
|
||||
self waittill("damage",var_01,var_02,var_03,var_04,var_05,var_06,var_07,var_08,var_09,var_0A);
|
||||
if(isdefined(var_0A))
|
||||
{
|
||||
if(var_0A == "iw7_entangler2_zm")
|
||||
{
|
||||
var_02.has_turnstile = 1;
|
||||
var_00 = var_02;
|
||||
level.turnstile_piece = spawn("script_model",var_04);
|
||||
var_0B = "cp_final_subway_turnstyle_arm";
|
||||
level.turnstile_piece setmodel(var_0B);
|
||||
var_00.entangledmodel = level.turnstile_piece;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
self setmodel("cp_disco_subway_turnstyle_missing_arm");
|
||||
var_0C = spawnstruct();
|
||||
level.turnstile_piece.collisionfunc = ::check_turnstile_collision;
|
||||
level.turnstile_piece thread turnstile_check();
|
||||
scripts\cp\crafted_entangler::entangleitem(var_00,var_0C,level.turnstile_piece);
|
||||
}
|
||||
|
||||
//Function Number: 3
|
||||
check_turnstile_collision(param_00,param_01,param_02)
|
||||
{
|
||||
level endon("game_ended");
|
||||
level endon("turnstile_success");
|
||||
param_00 waittill("collision");
|
||||
level.turnstile_piece delete();
|
||||
level.turnstile thread turnstile_damage_listener();
|
||||
}
|
||||
|
||||
//Function Number: 4
|
||||
shoot_piece_into_machine()
|
||||
{
|
||||
for(;;)
|
||||
{
|
||||
level waittill("70s_activated");
|
||||
var_00 = spawn("script_model",level.turnstile_portal.origin);
|
||||
level.turnstile_portal.var_C5D9 = 1;
|
||||
var_00 setmodel("tag_origin_turnstile_portal");
|
||||
level thread portal_timer(100);
|
||||
var_01 = scripts\common\utility::func_13734("portal_timeout","turnstile_success");
|
||||
level.turnstile_portal.var_C5D9 = 0;
|
||||
var_00 setscriptablepartstate("portal","portal_end");
|
||||
if(var_01 == "turnstile_success")
|
||||
{
|
||||
foreach(var_03 in level.players)
|
||||
{
|
||||
var_03 lib_0D2A::func_12D7C("MESSAGE_SENT",1);
|
||||
}
|
||||
|
||||
level.turnstile_piece delete();
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 5
|
||||
portal_timer(param_00)
|
||||
{
|
||||
wait(param_00);
|
||||
level notify("portal_timeout");
|
||||
}
|
||||
|
||||
//Function Number: 6
|
||||
turnstile_check()
|
||||
{
|
||||
self endon("death");
|
||||
var_00 = 0;
|
||||
var_01 = 250;
|
||||
var_02 = var_01 * var_01;
|
||||
for(;;)
|
||||
{
|
||||
if(level.turnstile_portal.var_C5D9)
|
||||
{
|
||||
if(distancesquared(level.turnstile_portal.origin,self.origin) < var_02)
|
||||
{
|
||||
level thread turnstile_sent();
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
scripts\common\utility::func_136F7();
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 7
|
||||
turnstile_sent()
|
||||
{
|
||||
level notify("turnstile_success");
|
||||
}
|
5040
IW/PC/ALL/scripts/cp/maps/cp_final/cp_final_venomx_quest.gsc
Normal file
5040
IW/PC/ALL/scripts/cp/maps/cp_final/cp_final_venomx_quest.gsc
Normal file
File diff suppressed because it is too large
Load Diff
827
IW/PC/ALL/scripts/cp/maps/cp_final/cp_final_vo.gsc
Normal file
827
IW/PC/ALL/scripts/cp/maps/cp_final/cp_final_vo.gsc
Normal file
@ -0,0 +1,827 @@
|
||||
/*******************************************************************
|
||||
* Decompiled By: Bog
|
||||
* Decompiled File: scripts\cp\maps\cp_final\cp_final_vo.gsc
|
||||
* Game: Call of Duty: Infinite Warfare
|
||||
* Platform: PC
|
||||
* Function Count: 26
|
||||
* Decompile Time: 1292 ms
|
||||
* Timestamp: 10/27/2023 12:05:43 AM
|
||||
*******************************************************************/
|
||||
|
||||
//Function Number: 1
|
||||
final_vo_init()
|
||||
{
|
||||
level.var_DDBC = [];
|
||||
level.var_2001 = 0;
|
||||
level.elvira_playing = 0;
|
||||
level.var_D336 = 0;
|
||||
level.var_ABE9 = ::rave_vo_callouts;
|
||||
level.pap_vo_approve_func = ::is_vo_in_pap;
|
||||
level.get_alias_2d_func = ::scripts\cp\_vo::func_77ED;
|
||||
level.var_10815 = ::final_starting_vo;
|
||||
level thread rave_vo_callouts();
|
||||
level.var_5472 = [];
|
||||
level thread func_12E45();
|
||||
level waittill("activate_power");
|
||||
}
|
||||
|
||||
//Function Number: 2
|
||||
rave_vo_callouts(param_00)
|
||||
{
|
||||
level.var_134DC["final_announcer_vo"] = ::func_2000;
|
||||
level.var_134DC["final_ww_vo"] = ::func_13E0C;
|
||||
level.var_134DC["zmb_powerup_vo"] = ::func_CE7E;
|
||||
level.var_134DC["zmb_afterlife_vo"] = ::func_18E9;
|
||||
level.var_134DC["rave_pap_vo"] = ::pap_vo_handler;
|
||||
level.var_134DC["rave_dialogue_vo"] = ::func_549B;
|
||||
level.var_134DC["final_backstory_vo"] = ::backstory_vo_handler;
|
||||
}
|
||||
|
||||
//Function Number: 3
|
||||
func_177A(param_00)
|
||||
{
|
||||
level.var_DDBC[param_00] = func_7BFF(param_00);
|
||||
}
|
||||
|
||||
//Function Number: 4
|
||||
func_1779(param_00)
|
||||
{
|
||||
self.var_DDBC[param_00] = func_7BFF(param_00);
|
||||
}
|
||||
|
||||
//Function Number: 5
|
||||
func_7BFF(param_00)
|
||||
{
|
||||
if(!isdefined(level.var_134B4[param_00].var_4613))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
return level.var_134B4[param_00].var_4613;
|
||||
}
|
||||
|
||||
//Function Number: 6
|
||||
func_12E45()
|
||||
{
|
||||
level endon("game_ended");
|
||||
for(;;)
|
||||
{
|
||||
foreach(var_02, var_01 in level.var_DDBC)
|
||||
{
|
||||
if(scripts\common\utility::istrue(level.var_DDBC[var_02]))
|
||||
{
|
||||
level.var_DDBC[var_02] = level.var_DDBC[var_02] - 1;
|
||||
}
|
||||
}
|
||||
|
||||
wait(1);
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 7
|
||||
func_12E22()
|
||||
{
|
||||
self endon("disconnect");
|
||||
for(;;)
|
||||
{
|
||||
foreach(var_02, var_01 in self.var_DDBC)
|
||||
{
|
||||
if(scripts\common\utility::istrue(self.var_DDBC[var_02]))
|
||||
{
|
||||
self.var_DDBC[var_02] = self.var_DDBC[var_02] - 1;
|
||||
}
|
||||
}
|
||||
|
||||
wait(1);
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 8
|
||||
func_549B(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07)
|
||||
{
|
||||
if(!scripts\cp\_music_and_dialog::func_3837())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var_08 = isdefined(level.var_134B4[param_00]);
|
||||
scripts\cp\_vo::func_F60C(1);
|
||||
var_09 = scripts\cp\_music_and_dialog::func_7DD2(param_00,var_08);
|
||||
level.var_540D = var_09;
|
||||
while(scripts\cp\_music_and_dialog::func_134DF())
|
||||
{
|
||||
wait(0.1);
|
||||
}
|
||||
|
||||
level.dialogues_playing = 1;
|
||||
if(isdefined(level.masterpcinteraction))
|
||||
{
|
||||
scripts\cp\_interaction::remove_from_current_interaction_list(level.masterpcinteraction);
|
||||
}
|
||||
|
||||
if(isdefined(level.backstoryinteraction))
|
||||
{
|
||||
scripts\cp\_interaction::remove_from_current_interaction_list(level.backstoryinteraction);
|
||||
}
|
||||
|
||||
if(scripts\common\utility::istrue(param_07))
|
||||
{
|
||||
var_0A = self;
|
||||
var_0A play_special_vo_dialogue(var_09,var_08,param_03,param_05,param_06);
|
||||
scripts\common\utility::func_136F7();
|
||||
}
|
||||
else
|
||||
{
|
||||
foreach(var_13, var_0C in var_0A)
|
||||
{
|
||||
var_0D = 0;
|
||||
var_0E = undefined;
|
||||
if(var_08 && isdefined(level.var_134B4[var_0C].var_54AA))
|
||||
{
|
||||
var_0E = level.var_134B4[var_0C].var_54AA;
|
||||
var_0F = var_0E + var_0C;
|
||||
}
|
||||
else if(issubstr(var_0C,"ww_") || issubstr(var_0C,"ks_"))
|
||||
{
|
||||
var_0F = var_0C;
|
||||
var_0D = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
foreach(var_0A in level.players)
|
||||
{
|
||||
if((isdefined(var_0E) && var_0A.var_134FD == var_0E) || var_0D || getdvarint("scr_solo_dialogue",0) == 1)
|
||||
{
|
||||
var_11 = scripts\cp\_vo::func_4978(var_0F,param_03,param_05,param_06);
|
||||
var_0A scripts\cp\_vo::func_F60D(1);
|
||||
var_0A scripts\cp\_vo::func_F60B(var_11);
|
||||
var_0A scripts\cp\_vo::func_CE77(var_11);
|
||||
var_0A scripts\cp\_vo::func_C9B8(var_11);
|
||||
var_0A scripts\cp\_vo::func_12C63();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
scripts\common\utility::func_136F7();
|
||||
}
|
||||
}
|
||||
|
||||
foreach(var_0A in level.players)
|
||||
{
|
||||
var_0A scripts\cp\_vo::func_F60D(0);
|
||||
}
|
||||
|
||||
level.dialogues_playing = 0;
|
||||
if(isdefined(level.masterpcinteraction))
|
||||
{
|
||||
scripts\cp\_interaction::add_to_current_interaction_list(level.masterpcinteraction);
|
||||
}
|
||||
|
||||
if(isdefined(level.backstoryinteraction))
|
||||
{
|
||||
scripts\cp\_interaction::add_to_current_interaction_list(level.backstoryinteraction);
|
||||
}
|
||||
|
||||
scripts\cp\_vo::func_F60C(0);
|
||||
}
|
||||
|
||||
//Function Number: 9
|
||||
play_special_vo_dialogue(param_00,param_01,param_02,param_03,param_04,param_05)
|
||||
{
|
||||
var_06 = 0;
|
||||
var_07 = "";
|
||||
while(var_06 < param_00.size)
|
||||
{
|
||||
var_08 = 1;
|
||||
var_09 = undefined;
|
||||
if(param_01 && isdefined(level.var_134B4[param_00[var_06]].var_54AA))
|
||||
{
|
||||
var_09 = level.var_134B4[param_00[var_06]].var_54AA;
|
||||
var_07 = var_09 + param_00[var_06];
|
||||
}
|
||||
else if(issubstr(param_00[var_06],"ks_"))
|
||||
{
|
||||
var_07 = param_00[var_06];
|
||||
var_08 = 1;
|
||||
if(isdefined(level.survivor))
|
||||
{
|
||||
if(isdefined(level.boat_survivor))
|
||||
{
|
||||
scripts\common\utility::play_sound_in_space(var_07,level.boat_survivor.origin,0,level.boat_survivor);
|
||||
}
|
||||
else
|
||||
{
|
||||
scripts\common\utility::play_sound_in_space(var_07,level.survivor.origin,0,level.survivor);
|
||||
}
|
||||
|
||||
wait(scripts\cp\_vo::func_7C76(var_07));
|
||||
}
|
||||
else if(isdefined(level.boat_survivor))
|
||||
{
|
||||
scripts\common\utility::play_sound_in_space(var_07,level.boat_survivor.origin,0,level.boat_survivor);
|
||||
wait(scripts\cp\_vo::func_7C76(var_07));
|
||||
}
|
||||
else
|
||||
{
|
||||
var_0A = scripts\cp\_vo::func_4978(var_07,param_02,param_03,param_04,param_00[var_06]);
|
||||
scripts\cp\_vo::func_CE8B(var_0A,param_05);
|
||||
}
|
||||
|
||||
var_06++;
|
||||
continue;
|
||||
}
|
||||
else
|
||||
{
|
||||
continue;
|
||||
scripts\common\utility::func_136F7();
|
||||
}
|
||||
|
||||
if(((isdefined(var_09) && self.var_134FD == var_09) || var_08 || getdvarint("scr_solo_dialogue",0) == 1) && !issubstr(var_07,"ks_"))
|
||||
{
|
||||
var_0A = scripts\cp\_vo::func_4978(var_07,param_02,param_03,param_04,param_00[var_06]);
|
||||
scripts\cp\_vo::func_CE8B(var_0A);
|
||||
var_06++;
|
||||
}
|
||||
|
||||
scripts\common\utility::func_136F7();
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 10
|
||||
pap_vo_handler(param_00,param_01,param_02,param_03,param_04,param_05,param_06)
|
||||
{
|
||||
if(!scripts\cp\_vo::func_FF12(param_00))
|
||||
{
|
||||
thread scripts\cp\_vo::func_CE8A(param_00,param_02,param_03,param_04,param_05,param_06,param_00);
|
||||
return;
|
||||
}
|
||||
|
||||
var_07 = self.var_134FD + param_00;
|
||||
thread scripts\cp\_vo::func_CE8A(var_07,param_02,param_03,param_04,param_05,param_06,param_00);
|
||||
}
|
||||
|
||||
//Function Number: 11
|
||||
func_18E9(param_00,param_01,param_02,param_03,param_04,param_05,param_06)
|
||||
{
|
||||
if(!scripts\cp\_vo::func_FF12(param_00))
|
||||
{
|
||||
thread scripts\cp\_vo::func_CE8A(param_00,param_02,param_03,param_04,param_05,param_06,param_00);
|
||||
return;
|
||||
}
|
||||
|
||||
var_07 = self.var_134FD + param_00;
|
||||
thread scripts\cp\_vo::func_CE8A(var_07,param_02,param_03,param_04,param_05,param_06,param_00);
|
||||
}
|
||||
|
||||
//Function Number: 12
|
||||
func_13E0C(param_00,param_01,param_02,param_03,param_04,param_05,param_06)
|
||||
{
|
||||
level endon(param_00 + "_timed_out");
|
||||
level thread scripts\cp\_vo::func_11908(param_00,param_03);
|
||||
while(scripts\cp\_vo::func_9D13())
|
||||
{
|
||||
wait(0.1);
|
||||
}
|
||||
|
||||
scripts\cp\_vo::func_F60C(1);
|
||||
while(scripts\cp\_music_and_dialog::func_134DF())
|
||||
{
|
||||
wait(0.1);
|
||||
}
|
||||
|
||||
level notify(param_00 + "_about_to_play");
|
||||
foreach(var_08 in level.players)
|
||||
{
|
||||
if(!isdefined(var_08))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if(var_08 issplitscreenplayer() && !var_08 issplitscreenplayerprimary())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
var_09 = scripts\cp\_vo::func_4978(param_00,param_03,param_05,param_06);
|
||||
var_08 thread scripts\cp\_vo::func_CE8B(var_09);
|
||||
}
|
||||
|
||||
wait(scripts\cp\_vo::func_7C76(param_00));
|
||||
foreach(var_08 in level.players)
|
||||
{
|
||||
var_08 scripts\cp\_vo::func_F60D(0);
|
||||
}
|
||||
|
||||
scripts\cp\_vo::func_F60C(0);
|
||||
}
|
||||
|
||||
//Function Number: 13
|
||||
func_2000(param_00,param_01,param_02,param_03,param_04,param_05,param_06)
|
||||
{
|
||||
func_CC8F(param_00,param_01,param_02,param_03,param_04,param_05,param_06);
|
||||
}
|
||||
|
||||
//Function Number: 14
|
||||
is_vo_in_pap(param_00)
|
||||
{
|
||||
if(isdefined(level.var_134B4[param_00].pap_approval))
|
||||
{
|
||||
if(level.var_134B4[param_00].pap_approval == 1)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
//Function Number: 15
|
||||
func_CC8F(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07)
|
||||
{
|
||||
if(scripts\cp\_vo::func_9D13())
|
||||
{
|
||||
wait(5);
|
||||
if(scripts\cp\_vo::func_9D13())
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if(scripts\cp\_vo::func_9D14())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
level.var_2001 = 1;
|
||||
scripts\cp\_vo::func_F60C(1);
|
||||
if(isdefined(param_07))
|
||||
{
|
||||
param_00 = param_07 + param_00;
|
||||
}
|
||||
|
||||
if(!soundexists(param_00))
|
||||
{
|
||||
wait(0.1);
|
||||
level.var_2001 = 0;
|
||||
return;
|
||||
}
|
||||
|
||||
foreach(var_09 in level.players)
|
||||
{
|
||||
if(!isdefined(var_09))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if(var_09 issplitscreenplayer() && !var_09 issplitscreenplayerprimary())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
else
|
||||
{
|
||||
var_0A = scripts\cp\_vo::func_4978(param_00,param_03,param_05,param_06);
|
||||
var_09 thread scripts\cp\_vo::func_CE8B(var_0A);
|
||||
}
|
||||
}
|
||||
|
||||
wait(scripts\cp\_vo::func_7C76(param_00));
|
||||
foreach(var_09 in level.players)
|
||||
{
|
||||
var_09 scripts\cp\_vo::func_F60D(0);
|
||||
}
|
||||
|
||||
scripts\cp\_vo::func_F60C(0);
|
||||
func_1094A(param_00);
|
||||
level.var_2001 = 0;
|
||||
}
|
||||
|
||||
//Function Number: 16
|
||||
func_1094A(param_00)
|
||||
{
|
||||
if(param_00 == "dj_jingle_intro")
|
||||
{
|
||||
level notify("jukebox_start");
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 17
|
||||
func_CE7E(param_00,param_01,param_02,param_03,param_04,param_05,param_06)
|
||||
{
|
||||
wait(0.5);
|
||||
if(level.script == "cp_town")
|
||||
{
|
||||
func_2000("el_" + param_00,"final_ww_vo","highest",60,0,0,1);
|
||||
if(randomint(100) > 50)
|
||||
{
|
||||
func_2000("ww_powerup_elvira","final_ww_vo","highest",60,0,0,1);
|
||||
wait(3);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
func_2000("ww_" + param_00,"final_ww_vo","highest",60,0,0,1);
|
||||
}
|
||||
|
||||
param_00 = func_45EA(param_00);
|
||||
foreach(var_08 in level.players)
|
||||
{
|
||||
if(isdefined(var_08) && isalive(var_08))
|
||||
{
|
||||
var_08 thread scripts\cp\_vo::try_to_play_vo(param_00,"final_comment_vo");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 18
|
||||
func_45EA(param_00)
|
||||
{
|
||||
switch(param_00)
|
||||
{
|
||||
case "powerup_carpenter":
|
||||
case "powerup_maxammo":
|
||||
case "powerup_instakill":
|
||||
case "powerup_nuke":
|
||||
case "powerup_firesale":
|
||||
return param_00;
|
||||
|
||||
case "powerup_doublemoney":
|
||||
return "powerup_2xmoney";
|
||||
|
||||
case "powerup_infiniteammo":
|
||||
return "powerup_ammo";
|
||||
|
||||
case "powerup_infinitegrenades":
|
||||
return "powerup_grenade";
|
||||
|
||||
default:
|
||||
return param_00;
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 19
|
||||
func_13D1F()
|
||||
{
|
||||
level endon("game_ended");
|
||||
level scripts\common\utility::waittill_any_3("regular_wave_starting","event_wave_starting");
|
||||
if(scripts\common\utility::istrue(level.directors_cut_is_activated))
|
||||
{
|
||||
level thread scripts\cp\_vo::try_to_play_vo("ww_zmb_dc_intro","zmb_ww_vo","highest",30,0,0,1,100);
|
||||
return;
|
||||
}
|
||||
|
||||
if(level.players.size > 1)
|
||||
{
|
||||
level thread scripts\cp\_vo::try_to_play_vo("ww_intro","final_ww_vo","highest",30,0,0,1,100);
|
||||
return;
|
||||
}
|
||||
|
||||
if(level.players[0].var_134FD == "p5_")
|
||||
{
|
||||
if(randomint(100) > 50)
|
||||
{
|
||||
level.players[0] thread scripts\cp\_vo::try_to_play_vo("ww_intro_p5_solo","final_ww_vo","highest",30,0,0,1,100);
|
||||
return;
|
||||
}
|
||||
|
||||
level.players[0] thread scripts\cp\_vo::try_to_play_vo("ww_intro" + level.players[0].vo_suffix,"final_ww_vo","highest",30,0,0,1,100);
|
||||
return;
|
||||
}
|
||||
|
||||
level.players[0] thread scripts\cp\_vo::try_to_play_vo("ww_intro" + level.players[0].vo_suffix,"final_ww_vo","highest",30,0,0,1,100);
|
||||
}
|
||||
|
||||
//Function Number: 20
|
||||
power_nag()
|
||||
{
|
||||
level endon("game_ended");
|
||||
level endon("found_power");
|
||||
var_00 = 0;
|
||||
for(;;)
|
||||
{
|
||||
level waittill("wave_start_sound_done");
|
||||
if(level.wave_num > 0 && level.wave_num % 3 == 0)
|
||||
{
|
||||
if(!var_00)
|
||||
{
|
||||
var_00 = 1;
|
||||
foreach(var_02 in level.players)
|
||||
{
|
||||
var_02 thread scripts\cp\_vo::func_1769("nag_find_pap","zmb_comment_vo",200,200,3,1);
|
||||
}
|
||||
}
|
||||
|
||||
continue;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 21
|
||||
purchase_area_vo(param_00,param_01)
|
||||
{
|
||||
if(scripts\common\utility::istrue(level.var_C617))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if(scripts\common\utility::istrue(param_01.played_vo))
|
||||
{
|
||||
param_01.played_vo = 0;
|
||||
return;
|
||||
}
|
||||
|
||||
param_01.played_vo = 1;
|
||||
if(randomint(100) < 50)
|
||||
{
|
||||
param_01 thread scripts\cp\_vo::try_to_play_vo("purchase_area","final_comment_vo","highest",70,0,0,1);
|
||||
}
|
||||
|
||||
param_01.played_vo = 1;
|
||||
}
|
||||
|
||||
//Function Number: 22
|
||||
final_starting_vo()
|
||||
{
|
||||
scripts\common\utility::flag_wait("intro_gesture_done");
|
||||
if(scripts\cp\_music_and_dialog::func_3837())
|
||||
{
|
||||
var_00 = randomint(100);
|
||||
if(var_00 <= 30)
|
||||
{
|
||||
scripts\cp\_vo::try_to_play_vo_on_all_players("spawn_team_first");
|
||||
foreach(var_02 in level.players)
|
||||
{
|
||||
var_03 = scripts\cp\_vo::func_7C76(var_02.var_134FD + "spawn_team_first");
|
||||
wait(var_03);
|
||||
}
|
||||
|
||||
level thread func_13D1F();
|
||||
return;
|
||||
}
|
||||
|
||||
var_05 = scripts\common\utility::random(level.players);
|
||||
if(isdefined(var_05.var_134FD))
|
||||
{
|
||||
switch(var_05.var_134FD)
|
||||
{
|
||||
case "p1_":
|
||||
if(randomint(100) > 50)
|
||||
{
|
||||
level thread scripts\cp\_vo::try_to_play_vo("conv_spawn_1_1","rave_dialogue_vo","highest",666,0,0,0,100);
|
||||
level.var_4481["conv_spawn_1_1"] = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
level thread scripts\cp\_vo::try_to_play_vo("conv_spawn_alt_1_1","rave_dialogue_vo","highest",666,0,0,0,100);
|
||||
level.var_4481["conv_spawn_alt_1_1"] = 1;
|
||||
}
|
||||
break;
|
||||
|
||||
case "p2_":
|
||||
if(randomint(100) > 50)
|
||||
{
|
||||
level thread scripts\cp\_vo::try_to_play_vo("conv_spawn_3_1","rave_dialogue_vo","highest",666,0,0,0,100);
|
||||
level.var_4481["conv_spawn_3_1"] = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
level thread scripts\cp\_vo::try_to_play_vo("conv_spawn_alt_3_1","rave_dialogue_vo","highest",666,0,0,0,100);
|
||||
level.var_4481["conv_spawn_alt_3_1"] = 1;
|
||||
}
|
||||
break;
|
||||
|
||||
case "p3_":
|
||||
if(randomint(100) > 50)
|
||||
{
|
||||
level thread scripts\cp\_vo::try_to_play_vo("conv_spawn_alt_2_1","rave_dialogue_vo","highest",666,0,0,0,100);
|
||||
level.var_4481["conv_spawn_alt_2_1"] = 1;
|
||||
}
|
||||
break;
|
||||
|
||||
case "p4_":
|
||||
if(randomint(100) > 60)
|
||||
{
|
||||
level thread scripts\cp\_vo::try_to_play_vo("conv_spawn_2_1","rave_dialogue_vo","highest",666,0,0,0,100);
|
||||
level.var_4481["conv_spawn_2_1"] = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
var_06 = randomint(100);
|
||||
if(var_06 <= 60 && var_06 > 30)
|
||||
{
|
||||
level thread scripts\cp\_vo::try_to_play_vo("conv_spawn_4_1","rave_dialogue_vo","highest",666,0,0,0,100);
|
||||
level.var_4481["conv_spawn_4_1"] = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
level thread scripts\cp\_vo::try_to_play_vo("conv_spawn_alt_4_1","rave_dialogue_vo","highest",666,0,0,0,100);
|
||||
level.var_4481["conv_spawn_alt_4_1"] = 1;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
level thread func_13D1F();
|
||||
return;
|
||||
}
|
||||
|
||||
if(level.players.size > 1)
|
||||
{
|
||||
foreach(var_08 in level.players)
|
||||
{
|
||||
if(var_08 issplitscreenplayer())
|
||||
{
|
||||
if(var_08 issplitscreenplayerprimary())
|
||||
{
|
||||
if(isdefined(var_08.var_134FD))
|
||||
{
|
||||
if(var_08.var_134FD == "p5_")
|
||||
{
|
||||
var_08 multiple_elviras_intro_vo(var_08);
|
||||
}
|
||||
else
|
||||
{
|
||||
var_08 thread scripts\cp\_vo::try_to_play_vo("spawn_team_first","final_comment_vo","high",20,0,0,1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
if(isdefined(var_08.var_134FD))
|
||||
{
|
||||
if(var_08.var_134FD == "p5_")
|
||||
{
|
||||
var_08 multiple_elviras_intro_vo(var_08);
|
||||
continue;
|
||||
}
|
||||
|
||||
var_08 thread scripts\cp\_vo::try_to_play_vo("spawn_team_first","final_comment_vo","high",20,0,0,1);
|
||||
}
|
||||
}
|
||||
|
||||
foreach(var_0B in level.players)
|
||||
{
|
||||
var_03 = scripts\cp\_vo::func_7C76(var_0B.var_134FD + "spawn_team_first");
|
||||
wait(var_03);
|
||||
}
|
||||
|
||||
level thread func_13D1F();
|
||||
return;
|
||||
}
|
||||
|
||||
var_0D = scripts\common\utility::random(["spawn_intro","spawn_solo_first"]);
|
||||
level.players[0] thread scripts\cp\_vo::try_to_play_vo(var_0D,"final_comment_vo","high",20,0,0,1);
|
||||
var_03 = scripts\cp\_vo::func_7C76(level.players[0].var_134FD + var_0D);
|
||||
if(isdefined(var_03))
|
||||
{
|
||||
wait(var_03);
|
||||
}
|
||||
|
||||
level thread func_13D1F();
|
||||
}
|
||||
|
||||
//Function Number: 23
|
||||
multiple_elviras_intro_vo(param_00)
|
||||
{
|
||||
if(!isdefined(level.special_character_count))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if(!isdefined(param_00))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
switch(level.special_character_count)
|
||||
{
|
||||
case 1:
|
||||
param_00 thread scripts\cp\_vo::try_to_play_vo("spawn_intro","final_comment_vo");
|
||||
break;
|
||||
|
||||
case 2:
|
||||
param_00 thread scripts\cp\_vo::try_to_play_vo("p5_players_3","final_comment_vo");
|
||||
break;
|
||||
|
||||
case 3:
|
||||
param_00 thread scripts\cp\_vo::try_to_play_vo("p5_players_3","final_comment_vo");
|
||||
break;
|
||||
|
||||
case 4:
|
||||
param_00 thread scripts\cp\_vo::try_to_play_vo("p5_players_4","final_comment_vo");
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 24
|
||||
can_play_backstory_vo()
|
||||
{
|
||||
if(scripts\common\utility::istrue(level.started_backstory_dialogue))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
if(scripts\common\utility::istrue(level.dialogues_playing))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
//Function Number: 25
|
||||
clear_up_all_vo(param_00)
|
||||
{
|
||||
foreach(var_02 in level.var_134FE)
|
||||
{
|
||||
if(isdefined(param_00.var_13516.var_134FF[var_02]) && param_00.var_13516.var_134FF[var_02].size > 0)
|
||||
{
|
||||
foreach(var_04 in param_00.var_13516.var_134FF[var_02])
|
||||
{
|
||||
if(isdefined(var_04))
|
||||
{
|
||||
param_00 stoplocalsound(var_04.var_1B46);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var_07 = undefined;
|
||||
if(isdefined(param_00.var_13516))
|
||||
{
|
||||
if(isdefined(param_00.var_13516.var_134C6))
|
||||
{
|
||||
if(isdefined(param_00.var_13516.var_134C6.var_1B46))
|
||||
{
|
||||
var_07 = param_00.var_13516.var_134C6.var_1B46;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(isdefined(var_07))
|
||||
{
|
||||
param_00 stoplocalsound(var_07);
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 26
|
||||
backstory_vo_handler(param_00,param_01,param_02,param_03,param_04,param_05,param_06)
|
||||
{
|
||||
if(!can_play_backstory_vo())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
clear_up_all_vo(self);
|
||||
scripts\cp\_vo::func_C9CB([self]);
|
||||
self.started_backstory_dialogue = 1;
|
||||
if(isdefined(level.masterpcinteraction))
|
||||
{
|
||||
scripts\cp\_interaction::remove_from_current_interaction_list(level.masterpcinteraction);
|
||||
}
|
||||
|
||||
if(isdefined(level.backstoryinteraction))
|
||||
{
|
||||
scripts\cp\_interaction::remove_from_current_interaction_list(level.backstoryinteraction);
|
||||
}
|
||||
|
||||
var_07 = scripts\cp\_vo::func_4978(param_00,param_03,param_05,param_06);
|
||||
scripts\cp\_vo::func_F60D(1);
|
||||
scripts\cp\_vo::func_F60B(var_07);
|
||||
scripts\cp\_vo::func_CE77(var_07);
|
||||
scripts\cp\_vo::func_12C63();
|
||||
self.started_backstory_dialogue = 0;
|
||||
if(isdefined(self.samcrossvoarr))
|
||||
{
|
||||
self.samcrossvoarr = scripts\common\utility::func_22A9(self.samcrossvoarr,param_00);
|
||||
}
|
||||
|
||||
if(isdefined(self.backstoryvoarr))
|
||||
{
|
||||
self.backstoryvoarr = scripts\common\utility::func_22A9(self.backstoryvoarr,param_00);
|
||||
}
|
||||
|
||||
scripts\cp\_vo::func_12BE3([self]);
|
||||
if(isdefined(level.masterpcinteraction))
|
||||
{
|
||||
scripts\cp\_interaction::add_to_current_interaction_list(level.masterpcinteraction);
|
||||
}
|
||||
|
||||
if(isdefined(level.backstoryinteraction))
|
||||
{
|
||||
scripts\cp\_interaction::add_to_current_interaction_list(level.backstoryinteraction);
|
||||
}
|
||||
}
|
955
IW/PC/ALL/scripts/cp/maps/cp_final/cp_final_weapon_upgrade.gsc
Normal file
955
IW/PC/ALL/scripts/cp/maps/cp_final/cp_final_weapon_upgrade.gsc
Normal file
@ -0,0 +1,955 @@
|
||||
/*******************************************************************
|
||||
* Decompiled By: Bog
|
||||
* Decompiled File: scripts\cp\maps\cp_final\cp_final_weapon_upgrade.gsc
|
||||
* Game: Call of Duty: Infinite Warfare
|
||||
* Platform: PC
|
||||
* Function Count: 27
|
||||
* Decompile Time: 1401 ms
|
||||
* Timestamp: 10/27/2023 12:05:45 AM
|
||||
*******************************************************************/
|
||||
|
||||
//Function Number: 1
|
||||
init_weapon_upgrade()
|
||||
{
|
||||
level.pap_room_func = ::cp_town_pap_machine_func;
|
||||
level.max_pap_func = ::func_385F;
|
||||
func_94F2();
|
||||
}
|
||||
|
||||
//Function Number: 2
|
||||
func_94F2()
|
||||
{
|
||||
var_00 = scripts\common\utility::getstructarray("weapon_upgrade","script_noteworthy");
|
||||
level.var_7D63 = ::scripts\cp\_weapon::func_7D62;
|
||||
foreach(var_02 in var_00)
|
||||
{
|
||||
var_02.var_D776 = 1;
|
||||
var_02 thread func_9795();
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 3
|
||||
func_9795()
|
||||
{
|
||||
if(scripts\common\utility::istrue(self.var_E1B9))
|
||||
{
|
||||
level scripts\common\utility::waittill_any_3("power_on",self.var_D71C + " power_on");
|
||||
}
|
||||
|
||||
var_00 = getent("pap_machine","targetname");
|
||||
if(!isdefined(var_00))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if(isdefined(level.pap_room_func))
|
||||
{
|
||||
[[ level.pap_room_func ]](self,var_00);
|
||||
return;
|
||||
}
|
||||
|
||||
var_00 setscriptablepartstate("door","open_idle");
|
||||
var_00 setscriptablepartstate("reels","on");
|
||||
self.var_D776 = 1;
|
||||
}
|
||||
|
||||
//Function Number: 4
|
||||
set_fuse_icon_on_hotjoin(param_00)
|
||||
{
|
||||
level notify("stop_hotjoin_fuse");
|
||||
level endon("stop_hotjoin_fuse");
|
||||
for(;;)
|
||||
{
|
||||
level waittill("connected",var_01);
|
||||
var_01 setclientomnvar("zm_special_item",param_00);
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 5
|
||||
func_13C62(param_00,param_01)
|
||||
{
|
||||
param_01 endon("disconnect");
|
||||
if(scripts\common\utility::istrue(level.has_picked_up_fuses) && !isdefined(level.placed_alien_fuses))
|
||||
{
|
||||
level.placed_alien_fuses = 1;
|
||||
level thread place_fuses_in_machine(param_00,param_01);
|
||||
param_01 thread scripts\cp\_vo::try_to_play_vo("quest_pap_fuse_deposit","zmb_comment_vo");
|
||||
foreach(var_03 in level.players)
|
||||
{
|
||||
var_03 setclientomnvar("zm_special_item",0);
|
||||
}
|
||||
|
||||
level thread set_fuse_icon_on_hotjoin(0);
|
||||
return;
|
||||
}
|
||||
|
||||
var_05 = var_04 getcurrentweapon();
|
||||
var_06 = scripts\cp\_utility::func_80D8(var_05);
|
||||
var_07 = var_04 scripts\cp\_weapon::func_7D62(var_06);
|
||||
var_08 = undefined;
|
||||
var_09 = get_player_fists_weapon(var_04);
|
||||
var_0A = "none";
|
||||
var_0B = undefined;
|
||||
var_0C = 0;
|
||||
if(!can_use_pap_machine(var_06))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if(scripts\common\utility::istrue(var_04.hasentanglerequipped))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if(var_04 func_385F(var_05))
|
||||
{
|
||||
scripts\cp\_interaction::remove_from_current_interaction_list(var_03);
|
||||
var_0D = scripts\common\utility::getstruct(var_03.target,"targetname");
|
||||
var_0E = vectornormalize(anglestoforward(var_04.angles)) * 16;
|
||||
var_07 = int(var_07);
|
||||
var_07++;
|
||||
var_0F = var_05;
|
||||
var_10 = validate_current_weapon(var_07,var_06,var_05);
|
||||
var_08 = get_pap_offhand_weapon(var_04,var_05);
|
||||
var_0B = get_pap_camo(var_07,var_06,var_05);
|
||||
var_0C = should_use_old_model(var_07,var_06,var_05);
|
||||
process_pap_stat_logging(var_06,var_04);
|
||||
thread play_pap_vo(var_04);
|
||||
var_0A = return_pap_attachment(var_04,var_07,var_06,var_05);
|
||||
if(isdefined(var_0A) && var_0A == "replace_me")
|
||||
{
|
||||
var_0A = undefined;
|
||||
}
|
||||
|
||||
var_11 = filter_current_weapon_attachments(var_05);
|
||||
var_12 = remove_invalid_wm_attachments(var_11);
|
||||
var_05 = var_04 scripts\cp\_weapon::func_E469(var_10,undefined,var_12);
|
||||
var_13 = var_04 scripts\cp\_weapon::func_E469(var_10,var_0A,var_12,undefined,var_0B);
|
||||
var_14 = var_04 scripts\cp\_weapon::func_E469(var_10,var_0A,var_11,undefined,var_0B);
|
||||
if(var_0C)
|
||||
{
|
||||
var_15 = spawn("script_weapon",var_04 geteye() + var_0E,0,0,var_0F);
|
||||
}
|
||||
else
|
||||
{
|
||||
var_15 = spawn("script_weapon",var_05 geteye() + var_0F,0,0,var_06);
|
||||
}
|
||||
|
||||
var_15.angles = var_03.angles;
|
||||
if(var_0C)
|
||||
{
|
||||
var_16 = disco_getoffsetfrombaseweaponname(var_0F);
|
||||
}
|
||||
else
|
||||
{
|
||||
var_16 = disco_getoffsetfrombaseweaponname(var_15);
|
||||
}
|
||||
|
||||
level thread func_DF48(var_04,var_15,var_03);
|
||||
level notify("pap_used",var_04,var_07,var_14);
|
||||
var_15 makeunusable();
|
||||
var_04 thread disco_playpapgesture(var_04,var_04.pap_gesture,var_08,var_05,var_0F);
|
||||
var_04.var_C8AB = var_05;
|
||||
if(var_0C)
|
||||
{
|
||||
var_17 = getangleoffset(var_0F,var_0D);
|
||||
}
|
||||
else
|
||||
{
|
||||
var_17 = getangleoffset(var_15,var_0E);
|
||||
}
|
||||
|
||||
var_18 = lib_0D41::func_8087(var_06);
|
||||
var_15 moveto(var_0D.origin + var_18,0.75);
|
||||
var_15 rotateto(var_17,0.75);
|
||||
var_15 waittill("movedone");
|
||||
var_15 moveto(var_0D.origin + var_16,0.25);
|
||||
var_15 waittill("movedone");
|
||||
update_level_pap_machines("door","close",undefined,undefined,"zmb_packapunch_machine_on");
|
||||
wait(0.75);
|
||||
if(!scripts\common\utility::flag("fuses_inserted"))
|
||||
{
|
||||
update_level_pap_machines("papfx","normal","papfx","upgraded");
|
||||
}
|
||||
|
||||
wait(3.5);
|
||||
update_level_pap_machines("door","decomp");
|
||||
wait(0.8);
|
||||
var_15 method_8536(var_13);
|
||||
wait(0.4);
|
||||
update_level_pap_machines("door","open_idle");
|
||||
update_level_pap_machines("papfx","idle");
|
||||
wait(0.5);
|
||||
var_15 makeusable();
|
||||
var_15 method_84A2(100);
|
||||
if(var_04 scripts\cp\_utility::is_valid_player())
|
||||
{
|
||||
foreach(var_19 in level.players)
|
||||
{
|
||||
if(var_19 == var_03)
|
||||
{
|
||||
var_14 enableplayeruse(var_19);
|
||||
continue;
|
||||
}
|
||||
|
||||
var_14 disableplayeruse(var_19);
|
||||
}
|
||||
|
||||
if(var_0F == "iw7_venomx_zm_pap2")
|
||||
{
|
||||
var_03 lib_0D2A::func_12D7C("ENCRYPT_DECRYPT",1);
|
||||
}
|
||||
|
||||
var_03 scripts\cp\_merits::func_D9AD("mt_upgrade_weapons");
|
||||
}
|
||||
|
||||
var_15 thread func_1360B(var_14,var_09,var_07);
|
||||
var_15 scripts\common\utility::waittill_any_timeout_1(30,"weapon_taken");
|
||||
var_04 notify("weapon_purchased");
|
||||
var_04.var_C8AB = undefined;
|
||||
var_04 scripts\cp\_interaction::func_DE6E();
|
||||
var_04 scripts\cp\_merits::func_D9AD("mt_dlc4_upgrade_weapons");
|
||||
var_15 delete();
|
||||
wait(1);
|
||||
scripts\cp\_interaction::add_to_current_interaction_list(var_03);
|
||||
level notify("pap_machine_activated");
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 6
|
||||
func_1360B(param_00,param_01,param_02)
|
||||
{
|
||||
self endon("death");
|
||||
level endon("pap_machine_activated");
|
||||
var_03 = undefined;
|
||||
for(;;)
|
||||
{
|
||||
self waittill("trigger",var_03);
|
||||
if(scripts\common\utility::istrue(var_03.hasentanglerequipped))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
else
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if(!isdefined(param_01))
|
||||
{
|
||||
param_01 = "iw7_fists_zm";
|
||||
}
|
||||
|
||||
if(var_03 hasweapon(param_01))
|
||||
{
|
||||
var_03 takeweapon(param_01);
|
||||
}
|
||||
|
||||
if(var_03 scripts\cp\_weapon::func_8BBB(param_00))
|
||||
{
|
||||
var_04 = scripts\cp\_utility::func_80D8(param_00);
|
||||
foreach(var_06 in var_03 getweaponslistall())
|
||||
{
|
||||
var_07 = scripts\cp\_utility::func_80D8(var_06);
|
||||
if(var_04 == var_07)
|
||||
{
|
||||
var_03 takeweapon(var_06);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(lib_0D41::func_FFA6(var_03))
|
||||
{
|
||||
var_09 = var_03 getcurrentweapon();
|
||||
var_0A = scripts\cp\_utility::func_80D8(var_09);
|
||||
var_03 takeweapon(var_09);
|
||||
}
|
||||
|
||||
self notify("weapon_taken");
|
||||
param_00 = var_03 scripts\cp\_utility::func_12C6(param_00,undefined,undefined,0);
|
||||
if(issubstr(param_00,"venomx_zm_pap1"))
|
||||
{
|
||||
var_03 thread scripts\cp\_vo::try_to_play_vo("weapon_pap_venx_1","final_comment_vo");
|
||||
}
|
||||
else if(issubstr(param_00,"venomx_zm_pap2"))
|
||||
{
|
||||
var_03 thread scripts\cp\_vo::try_to_play_vo("weapon_pap_venx_2","final_comment_vo");
|
||||
}
|
||||
|
||||
var_03 givemaxammo(param_00);
|
||||
var_0B = var_03 getweaponslistprimaries();
|
||||
foreach(var_06 in var_0B)
|
||||
{
|
||||
if(issubstr(var_06,param_00))
|
||||
{
|
||||
if(scripts\cp\_utility::func_9D3E(var_06))
|
||||
{
|
||||
var_04 = getweaponbasename(var_06);
|
||||
if(isdefined(level.mode_weapons_allowed) && scripts\common\utility::func_2286(level.mode_weapons_allowed,var_04))
|
||||
{
|
||||
param_00 = "alt_" + param_00;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var_03 switchtoweapon(param_00);
|
||||
var_04 = scripts\cp\_utility::func_80D8(param_00);
|
||||
var_03.var_C8A2[var_04].var_B111++;
|
||||
var_03 scripts\cp\_persistence::give_player_xp(500,1);
|
||||
var_03 notify("weapon_level_changed");
|
||||
}
|
||||
|
||||
//Function Number: 7
|
||||
disco_playpapgesture(param_00,param_01,param_02,param_03,param_04)
|
||||
{
|
||||
var_05 = get_player_fists_weapon(param_00);
|
||||
param_00 scripts\cp\_utility::func_12C6(var_05,undefined,undefined,1);
|
||||
param_00 method_83B6(var_05);
|
||||
param_00 takeweapon(param_04);
|
||||
wait(1);
|
||||
thread scripts\cp\_utility::firegesturegrenade(param_00,param_01);
|
||||
wait(2.5);
|
||||
if(isdefined(param_02))
|
||||
{
|
||||
param_00 method_83B6(param_02);
|
||||
if(param_00 hasweapon(var_05))
|
||||
{
|
||||
param_00 takeweapon(var_05);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 8
|
||||
get_player_fists_weapon(param_00)
|
||||
{
|
||||
if(isdefined(param_00.var_134FD))
|
||||
{
|
||||
switch(param_00.var_134FD)
|
||||
{
|
||||
case "p1_":
|
||||
return "iw7_fists_zm";
|
||||
|
||||
case "p2_":
|
||||
return "iw7_fists_zm";
|
||||
|
||||
case "p3_":
|
||||
return "iw7_fists_zm";
|
||||
|
||||
case "p4_":
|
||||
return "iw7_fists_zm";
|
||||
|
||||
case "p5_":
|
||||
return "iw7_fists_zm";
|
||||
|
||||
default:
|
||||
return "iw7_fists_zm";
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
return "iw7_fists_zm";
|
||||
}
|
||||
|
||||
//Function Number: 9
|
||||
getangleoffset(param_00,param_01)
|
||||
{
|
||||
var_02 = scripts\cp\_utility::func_7DF7(param_00);
|
||||
var_03 = param_01.angles;
|
||||
switch(var_02)
|
||||
{
|
||||
case "iw7_nunchucks":
|
||||
case "iw7_katana":
|
||||
case "iw7_spiked":
|
||||
case "iw7_golf":
|
||||
case "iw7_two":
|
||||
case "iw7_machete":
|
||||
return (90,90,0);
|
||||
|
||||
default:
|
||||
return var_03;
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 10
|
||||
disco_getoffsetfrombaseweaponname(param_00)
|
||||
{
|
||||
var_01 = scripts\cp\_utility::func_7DF7(param_00);
|
||||
var_02 = lib_0D41::func_801F(param_00);
|
||||
switch(var_01)
|
||||
{
|
||||
case "iw7_machete":
|
||||
return (0,-6,2);
|
||||
|
||||
case "iw7_two":
|
||||
return (0,-8,2);
|
||||
|
||||
case "iw7_spiked":
|
||||
case "iw7_golf":
|
||||
return (0,-12,2);
|
||||
|
||||
case "iw7_nunchucks":
|
||||
case "iw7_katana":
|
||||
return (0,-12,2);
|
||||
|
||||
default:
|
||||
return var_02;
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 11
|
||||
return_pap_attachment(param_00,param_01,param_02,param_03,param_04)
|
||||
{
|
||||
var_05 = undefined;
|
||||
if(isdefined(param_02))
|
||||
{
|
||||
switch(param_02)
|
||||
{
|
||||
case "spiked":
|
||||
case "golf":
|
||||
case "two":
|
||||
case "machete":
|
||||
case "katana":
|
||||
case "nunchucks":
|
||||
case "venomx":
|
||||
return "replace_me";
|
||||
|
||||
default:
|
||||
if(scripts\common\utility::istrue(param_04))
|
||||
{
|
||||
return undefined;
|
||||
}
|
||||
|
||||
if(isdefined(param_00.var_C8A2[param_02]))
|
||||
{
|
||||
return "pap" + param_00.var_C8A2[param_02].var_B111;
|
||||
}
|
||||
else
|
||||
{
|
||||
return "pap1";
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return var_05;
|
||||
}
|
||||
|
||||
//Function Number: 12
|
||||
cp_town_pap_machine_func(param_00,param_01)
|
||||
{
|
||||
level.pap_machine = param_01;
|
||||
level.pap_machine hide();
|
||||
param_00.var_D776 = 1;
|
||||
}
|
||||
|
||||
//Function Number: 13
|
||||
place_fuses_in_machine(param_00,param_01)
|
||||
{
|
||||
scripts\cp\_interaction::remove_from_current_interaction_list(param_00);
|
||||
scripts\cp\maps\cp_final\cp_final_interactions::generic_place_gesture_and_fx(param_01,param_00);
|
||||
upgrade_machine_for_all_players();
|
||||
update_level_pap_machines("door","close");
|
||||
wait(0.5);
|
||||
update_level_pap_machines("machine","upgraded");
|
||||
wait(0.25);
|
||||
update_level_pap_machines("reels","neutral");
|
||||
wait(0.25);
|
||||
update_level_pap_machines("reels","on");
|
||||
wait(0.25);
|
||||
update_level_pap_machines("door","open_idle");
|
||||
wait(0.25);
|
||||
scripts\cp\_interaction::add_to_current_interaction_list(param_00);
|
||||
if(param_01 scripts\cp\_utility::is_valid_player())
|
||||
{
|
||||
param_01 thread scripts\cp\_vo::try_to_play_vo("pap_upgrade","zmb_pap_vo","high");
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 14
|
||||
upgrade_machine_for_all_players()
|
||||
{
|
||||
foreach(var_01 in level.player_pap_machines)
|
||||
{
|
||||
var_01 setmodel("zmb_pap_machine_animated_soul_key");
|
||||
}
|
||||
|
||||
scripts\common\utility::func_136F7();
|
||||
}
|
||||
|
||||
//Function Number: 15
|
||||
update_level_pap_machines(param_00,param_01,param_02,param_03,param_04)
|
||||
{
|
||||
var_05 = isdefined(param_02) && isdefined(param_03);
|
||||
foreach(var_07 in level.player_pap_machines)
|
||||
{
|
||||
if(isdefined(param_04))
|
||||
{
|
||||
var_07 playsound(param_04);
|
||||
}
|
||||
|
||||
if(scripts\common\utility::istrue(level.placed_alien_fuses) && var_05)
|
||||
{
|
||||
var_07 setscriptablepartstate(param_02,param_03);
|
||||
continue;
|
||||
}
|
||||
|
||||
var_07 setscriptablepartstate(param_00,param_01);
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 16
|
||||
func_DF48(param_00,param_01,param_02)
|
||||
{
|
||||
level endon("pap_machine_activated");
|
||||
param_00 waittill("disconnect");
|
||||
update_level_pap_machines("door","decomp");
|
||||
wait(1.2);
|
||||
update_level_pap_machines("door","open_idle");
|
||||
update_level_pap_machines("papfx","idle");
|
||||
param_01 delete();
|
||||
wait(1);
|
||||
scripts\cp\_interaction::add_to_current_interaction_list(param_02);
|
||||
level notify("pap_machine_activated");
|
||||
}
|
||||
|
||||
//Function Number: 17
|
||||
can_use_pap_machine(param_00)
|
||||
{
|
||||
if(param_00 == "dischord" || param_00 == "facemelter" || param_00 == "headcutter" || param_00 == "shredder")
|
||||
{
|
||||
if(!scripts\common\utility::flag("fuses_inserted"))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
//Function Number: 18
|
||||
get_pap_offhand_weapon(param_00,param_01)
|
||||
{
|
||||
var_02 = param_00 getweaponslistprimaries();
|
||||
foreach(var_04 in var_02)
|
||||
{
|
||||
if(!issubstr(param_01,var_04) && !scripts\cp\_utility::isstrstart(var_04,"alt_") && !issubstr(var_04,"knife") && var_04 != "iw7_knife_zm_disco")
|
||||
{
|
||||
return var_04;
|
||||
}
|
||||
}
|
||||
|
||||
return undefined;
|
||||
}
|
||||
|
||||
//Function Number: 19
|
||||
validate_current_weapon(param_00,param_01,param_02)
|
||||
{
|
||||
if(isdefined(level.weapon_upgrade_path) && isdefined(level.weapon_upgrade_path[getweaponbasename(param_02)]))
|
||||
{
|
||||
param_02 = level.weapon_upgrade_path[getweaponbasename(param_02)];
|
||||
}
|
||||
else if(isdefined(param_01))
|
||||
{
|
||||
switch(param_01)
|
||||
{
|
||||
case "two":
|
||||
if(param_00 == 2)
|
||||
{
|
||||
param_02 = "iw7_two_headed_axe_mp";
|
||||
}
|
||||
else if(param_00 == 3)
|
||||
{
|
||||
param_02 = "iw7_two_headed_axe_mp";
|
||||
}
|
||||
break;
|
||||
|
||||
case "golf":
|
||||
if(param_00 == 2)
|
||||
{
|
||||
param_02 = "iw7_golf_club_mp";
|
||||
}
|
||||
else if(param_00 == 3)
|
||||
{
|
||||
param_02 = "iw7_golf_club_mp";
|
||||
}
|
||||
break;
|
||||
|
||||
case "machete":
|
||||
if(param_00 == 2)
|
||||
{
|
||||
param_02 = "iw7_machete_mp";
|
||||
}
|
||||
else if(param_00 == 3)
|
||||
{
|
||||
param_02 = "iw7_machete_mp";
|
||||
}
|
||||
break;
|
||||
|
||||
case "spiked":
|
||||
if(param_00 == 2)
|
||||
{
|
||||
param_02 = "iw7_spiked_bat_mp";
|
||||
}
|
||||
else if(param_00 == 3)
|
||||
{
|
||||
param_02 = "iw7_spiked_bat_mp";
|
||||
}
|
||||
break;
|
||||
|
||||
case "axe":
|
||||
if(param_00 == 2)
|
||||
{
|
||||
param_02 = "iw7_axe_zm_pap1";
|
||||
}
|
||||
else if(param_00 == 3)
|
||||
{
|
||||
param_02 = "iw7_axe_zm_pap2";
|
||||
}
|
||||
break;
|
||||
|
||||
case "venomx":
|
||||
if(param_00 == 2)
|
||||
{
|
||||
param_02 = "iw7_venomx_zm_pap1";
|
||||
}
|
||||
else if(param_00 == 3)
|
||||
{
|
||||
param_02 = "iw7_venomx_zm_pap2";
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
return param_02;
|
||||
}
|
||||
}
|
||||
|
||||
return param_02;
|
||||
}
|
||||
|
||||
//Function Number: 20
|
||||
should_use_old_model(param_00,param_01,param_02)
|
||||
{
|
||||
if(isdefined(param_01))
|
||||
{
|
||||
switch(param_01)
|
||||
{
|
||||
case "spiked":
|
||||
case "golf":
|
||||
case "two":
|
||||
case "axe":
|
||||
case "machete":
|
||||
return 1;
|
||||
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
//Function Number: 21
|
||||
get_pap_camo(param_00,param_01,param_02)
|
||||
{
|
||||
var_03 = undefined;
|
||||
if(isdefined(param_01))
|
||||
{
|
||||
if(isdefined(level.no_pap_camos) && scripts\common\utility::func_2286(level.no_pap_camos,param_01))
|
||||
{
|
||||
var_03 = undefined;
|
||||
}
|
||||
else if(isdefined(level.pap_1_camo) && isdefined(param_00) && param_00 == 2)
|
||||
{
|
||||
var_03 = level.pap_1_camo;
|
||||
}
|
||||
else if(isdefined(level.pap_2_camo) && isdefined(param_00) && param_00 == 3)
|
||||
{
|
||||
var_03 = level.pap_2_camo;
|
||||
}
|
||||
|
||||
switch(param_01)
|
||||
{
|
||||
case "dischord":
|
||||
param_02 = "iw7_dischord_zm_pap1";
|
||||
var_03 = "camo20";
|
||||
break;
|
||||
|
||||
case "facemelter":
|
||||
param_02 = "iw7_facemelter_zm_pap1";
|
||||
var_03 = "camo22";
|
||||
break;
|
||||
|
||||
case "headcutter":
|
||||
param_02 = "iw7_headcutter_zm_pap1";
|
||||
var_03 = "camo21";
|
||||
break;
|
||||
|
||||
case "katana":
|
||||
case "nunchucks":
|
||||
var_03 = "camo222";
|
||||
break;
|
||||
|
||||
case "forgefreeze":
|
||||
if(param_00 == 2)
|
||||
{
|
||||
param_02 = "iw7_forgefreeze_zm_pap1";
|
||||
}
|
||||
else if(param_00 == 3)
|
||||
{
|
||||
param_02 = "iw7_forgefreeze_zm_pap2";
|
||||
}
|
||||
|
||||
var_04 = 1;
|
||||
break;
|
||||
|
||||
case "axe":
|
||||
if(param_00 == 2)
|
||||
{
|
||||
param_02 = "iw7_axe_zm_pap1";
|
||||
}
|
||||
else if(param_00 == 3)
|
||||
{
|
||||
param_02 = "iw7_axe_zm_pap2";
|
||||
}
|
||||
|
||||
var_04 = 1;
|
||||
break;
|
||||
|
||||
case "shredder":
|
||||
param_02 = "iw7_shredder_zm_pap1";
|
||||
var_03 = "camo23";
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return var_03;
|
||||
}
|
||||
|
||||
//Function Number: 22
|
||||
play_pap_vo(param_00)
|
||||
{
|
||||
param_00 thread scripts\cp\_vo::try_to_play_vo("weapon_pap","zmb_pap_vo","high");
|
||||
}
|
||||
|
||||
//Function Number: 23
|
||||
process_pap_stat_logging(param_00,param_01)
|
||||
{
|
||||
level.var_1192E++;
|
||||
scripts\cp\zombies\zombie_analytics::func_AF7F(level.wave_num,param_00,level.var_1192E);
|
||||
}
|
||||
|
||||
//Function Number: 24
|
||||
filter_current_weapon_attachments(param_00)
|
||||
{
|
||||
var_01 = function_00E3(param_00);
|
||||
if(issubstr(param_00,"g18_z"))
|
||||
{
|
||||
foreach(var_03 in var_01)
|
||||
{
|
||||
if(issubstr(var_03,"akimbo"))
|
||||
{
|
||||
var_01 = scripts\common\utility::func_22A9(var_01,var_03);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return var_01;
|
||||
}
|
||||
|
||||
//Function Number: 25
|
||||
remove_invalid_wm_attachments(param_00)
|
||||
{
|
||||
var_01 = param_00;
|
||||
foreach(var_03 in var_01)
|
||||
{
|
||||
if(issubstr(var_03,"silencer") || issubstr(var_03,"arcane") || issubstr(var_03,"ark"))
|
||||
{
|
||||
var_01 = scripts\common\utility::func_22A9(var_01,var_03);
|
||||
}
|
||||
}
|
||||
|
||||
return param_00;
|
||||
}
|
||||
|
||||
//Function Number: 26
|
||||
weapon_upgrade_hint_func(param_00,param_01)
|
||||
{
|
||||
if(scripts\common\utility::istrue(level.has_picked_up_fuses) && !isdefined(level.placed_alien_fuses))
|
||||
{
|
||||
return &"CP_FINAL_INTERACTIONS_ADD_CHARGED_FUSE";
|
||||
}
|
||||
|
||||
var_02 = param_01 getcurrentweapon();
|
||||
var_03 = scripts\cp\_weapon::func_7D62(var_02);
|
||||
if(scripts\common\utility::istrue(level.placed_alien_fuses))
|
||||
{
|
||||
if(issubstr(var_02,"venomx_zm_pap1") && scripts\common\utility::istrue(level.completed_venomx_pap2_challenges))
|
||||
{
|
||||
return &"CP_FINAL_INTERACTIONS_UPGRADE_WEAPON";
|
||||
}
|
||||
else if(var_03 == 3)
|
||||
{
|
||||
return &"COOP_INTERACTIONS_UPGRADE_MAXED";
|
||||
}
|
||||
else if(!func_385F(var_02))
|
||||
{
|
||||
return &"CP_FINAL_INTERACTIONS_UPGRADE_WEAPON_FAIL";
|
||||
}
|
||||
else
|
||||
{
|
||||
return &"CP_FINAL_INTERACTIONS_UPGRADE_WEAPON";
|
||||
}
|
||||
|
||||
return &"CP_FINAL_INTERACTIONS_UPGRADE_WEAPON_FAIL";
|
||||
}
|
||||
|
||||
if(var_03 == level.var_C8A4)
|
||||
{
|
||||
return &"COOP_INTERACTIONS_UPGRADE_MAXED";
|
||||
}
|
||||
else if(param_01 scripts\cp\_utility::func_9C42(var_02,1))
|
||||
{
|
||||
return "";
|
||||
}
|
||||
else if(!func_385F(var_02))
|
||||
{
|
||||
return &"CP_FINAL_INTERACTIONS_UPGRADE_WEAPON_FAIL";
|
||||
}
|
||||
else
|
||||
{
|
||||
return &"CP_FINAL_INTERACTIONS_UPGRADE_WEAPON";
|
||||
}
|
||||
|
||||
return &"CP_FINAL_INTERACTIONS_UPGRADE_WEAPON_FAIL";
|
||||
}
|
||||
|
||||
//Function Number: 27
|
||||
func_385F(param_00,param_01)
|
||||
{
|
||||
if(!isdefined(level.var_C8A2))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
if(scripts\common\utility::istrue(self.hasentanglerequipped) && isdefined(param_00) && issubstr(param_00,"iw7_entangler2"))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
if(isdefined(param_00))
|
||||
{
|
||||
var_02 = scripts\cp\_utility::func_80D8(param_00);
|
||||
}
|
||||
else
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
if(!isdefined(var_02))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
if(!isdefined(level.var_C8A2[var_02]))
|
||||
{
|
||||
var_03 = getsubstr(var_02,0,var_02.size - 1);
|
||||
if(!isdefined(level.var_C8A2[var_03]))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
if(isdefined(self.var_6670) && getweaponbasename(self.var_6670) == getweaponbasename(param_00))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
if(isdefined(level.weapon_upgrade_path) && isdefined(level.weapon_upgrade_path[getweaponbasename(param_00)]))
|
||||
{
|
||||
if(scripts\cp\zombies\directors_cut::directors_cut_is_activated())
|
||||
{
|
||||
if(param_00 == "iw7_venomx_zm" || param_00 == "iw7_venomx_zm_pap1")
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
else if(param_00 == "iw7_venomx_zm")
|
||||
{
|
||||
if(scripts\common\utility::istrue(level.completed_venomx_pap1_challenges))
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
else if(issubstr(param_00,"iw7_venomx_zm_pap1"))
|
||||
{
|
||||
if(scripts\common\utility::istrue(level.completed_venomx_pap2_challenges))
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(var_02 == "dischord" || var_02 == "facemelter" || var_02 == "headcutter" || var_02 == "shredder")
|
||||
{
|
||||
if(!scripts\common\utility::flag("fuses_inserted"))
|
||||
{
|
||||
if(scripts\common\utility::istrue(param_01))
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
else if(isdefined(self.var_C8A2[var_02]) && self.var_C8A2[var_02].var_B111 == 2)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
if(scripts\common\utility::istrue(level.has_picked_up_fuses) && !isdefined(level.placed_alien_fuses))
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
if(scripts\common\utility::istrue(level.placed_alien_fuses))
|
||||
{
|
||||
if(isdefined(self.var_C8A2[var_02]) && self.var_C8A2[var_02].var_B111 >= 3)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
if(scripts\common\utility::istrue(param_01) && isdefined(self.var_C8A2[var_02]) && self.var_C8A2[var_02].var_B111 <= min(level.var_C8A4 + 1,2))
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
if(isdefined(self.var_C8A2[var_02]) && self.var_C8A2[var_02].var_B111 >= level.var_C8A4)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
17
IW/PC/ALL/scripts/cp/maps/cp_final/gen/cp_final_art.gsc
Normal file
17
IW/PC/ALL/scripts/cp/maps/cp_final/gen/cp_final_art.gsc
Normal file
@ -0,0 +1,17 @@
|
||||
/*******************************************************************
|
||||
* Decompiled By: Bog
|
||||
* Decompiled File: scripts\cp\maps\cp_final\gen\cp_final_art.gsc
|
||||
* Game: Call of Duty: Infinite Warfare
|
||||
* Platform: PC
|
||||
* Function Count: 1
|
||||
* Decompile Time: 106 ms
|
||||
* Timestamp: 10/27/2023 12:04:44 AM
|
||||
*******************************************************************/
|
||||
|
||||
//Function Number: 1
|
||||
main()
|
||||
{
|
||||
level.var_12ACA = 1;
|
||||
setdvar("r_lightGridEnableTweaks",1);
|
||||
setdvar("r_lightGridIntensity",1.33);
|
||||
}
|
2112
IW/PC/ALL/scripts/cp/maps/cp_final/gen/cp_final_fx.gsc
Normal file
2112
IW/PC/ALL/scripts/cp/maps/cp_final/gen/cp_final_fx.gsc
Normal file
File diff suppressed because it is too large
Load Diff
494
IW/PC/ALL/scripts/cp/maps/cp_final/gen/cp_final_sound.gsc
Normal file
494
IW/PC/ALL/scripts/cp/maps/cp_final/gen/cp_final_sound.gsc
Normal file
@ -0,0 +1,494 @@
|
||||
/*******************************************************************
|
||||
* Decompiled By: Bog
|
||||
* Decompiled File: scripts\cp\maps\cp_final\gen\cp_final_sound.gsc
|
||||
* Game: Call of Duty: Infinite Warfare
|
||||
* Platform: PC
|
||||
* Function Count: 1
|
||||
* Decompile Time: 116 ms
|
||||
* Timestamp: 10/27/2023 12:04:46 AM
|
||||
*******************************************************************/
|
||||
|
||||
//Function Number: 1
|
||||
main()
|
||||
{
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((105.753,3631.47,35.5),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_pipe_air_lp_02";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-76.1691,2972.87,263.669),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "amb_sa_big_light_2";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((193.878,2921.5,254.665),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "amb_sa_big_light_2";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((198.561,3022.58,191.491),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "amb_sa_big_light_2";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-407.138,3296.7,115.814),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_steam_lp_02";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-786.576,3516.76,73.8445),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_steam_lp_03";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-288.917,3025.18,24),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_pipe_air_lp_02";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-153.008,3668.55,24.0029),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_pipe_air_lp_02";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-11.1668,3360.32,24.0029),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_pipe_air_lp_02";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-633.571,3353.64,40.0029),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_sm_vent_rattle_lp_01";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-151.124,3029.08,30.0029),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_sm_vent_rattle_lp_01";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-11.174,3028.58,39.0029),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_sm_vent_rattle_lp_01";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-12.6925,3468.7,30.0029),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_sm_vent_rattle_lp_01";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-16.7109,3802.5,27.5),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_sm_vent_rattle_lp_01";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-719.03,2906.84,100.5),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_sm_vent_rattle_lp_01";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-740.14,3760.44,63.6082),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_steam_lp_03";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-631.703,3964.21,-71),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_sm_vent_rattle_lp_01";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-633.209,4152.16,-71),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_sm_vent_rattle_lp_01";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-1174.11,4776.81,-190.001),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_water_lap_lp_01";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-895.282,5023.57,-193.001),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_water_lap_lp_02";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-543.367,4915.22,-193.001),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_water_lap_lp_01";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-935.744,5250.81,-193.001),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_water_lap_lp_01";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-921.18,4728.36,-193.001),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_water_lap_lp_01";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-1171.66,5093.02,-193.001),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_water_lap_lp_01";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-577.139,4776.79,-193.001),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_water_drip_lp";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-579.686,4870.2,-193.001),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_water_drip_lp";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-522.857,4883.03,-193.001),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_water_drip_lp";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-817.005,4779.1,-193.001),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_water_drip_lp";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-884.163,4915.24,-193.001),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_water_drip_lp";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-989.135,4743.5,-193.001),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_water_drip_lp";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-1186.28,4906.11,-193.001),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_water_drip_lp";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-1150.46,5118.96,-193.001),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_water_drip_lp";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-985.945,5274.66,-193.001),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_water_drip_lp";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-539.102,5088.46,-193.001),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_water_drip_lp";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-861.047,4865.43,-193.001),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_water_drip_lp";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-959.844,5261.38,-193.001),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_water_drip_lp";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-717.103,4994.18,81.5296),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "amb_sa_big_light_2";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-715.228,4815.87,78.5785),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "amb_sa_big_light_2";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-1026.52,4817.79,73.8829),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "amb_sa_big_light_2";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-1022.55,4989.23,77.1098),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "amb_sa_big_light_2";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-845.85,5629.01,170.421),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "amb_sa_big_light_2";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-245.82,5424.15,142.09),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "amb_sa_big_light_2";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-15.2126,5605.33,189.647),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "amb_sa_big_light_2";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-204.137,6278.8,66),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_sm_vent_rattle_lp_01";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((80.8501,6284.34,56),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_sm_vent_rattle_lp_01";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((379.022,6279.72,56),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_sm_vent_rattle_lp_01";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((687.709,6280.36,56),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_sm_vent_rattle_lp_01";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((1780.11,5975.91,350.577),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "amb_sa_big_light_2";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((408.315,6194.56,81.4967),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_steam_lp_03";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((90.9631,5818.4,155.973),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "amb_sa_big_light_2";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-219.451,4498.85,453.862),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "amb_sa_big_light_2";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-224.488,5049.17,443.71),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "amb_sa_big_light_2";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((314.384,4203.59,334.345),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "amb_sa_big_light_2";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((840.214,4295.87,308.855),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "amb_sa_big_light_2";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((568.584,5818.36,200.723),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "amb_sa_big_light_2";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((475.837,5552.69,194.432),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "amb_sa_big_light_2";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((255.76,5332.35,198.818),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "amb_sa_big_light_2";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((814.494,4737.18,205.724),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "amb_sa_big_light_2";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-61.7595,5227.71,169.377),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "amb_sa_big_light_2";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((1162.18,2942.53,-203.201),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "amb_sa_big_light_2";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((1469.47,3637.57,127.756),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "amb_sa_big_light_2";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((1189.08,3949.31,15.998),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_sm_vent_rattle_lp_01";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((1608.04,3949.94,16.4),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_sm_vent_rattle_lp_01";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((1712.08,4239.63,17.4),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_sm_vent_rattle_lp_01";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((2052.53,4252.25,15),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_sm_vent_rattle_lp_01";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((2233.82,4148.4,15),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_sm_vent_rattle_lp_01";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((2217.33,4574.81,15),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_sm_vent_rattle_lp_01";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((2099.82,4190.49,100.746),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_steam_lp_02";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((1307.39,3949.82,15.998),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_pipe_air_lp_02";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((1700.29,4054.27,17.3999),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_pipe_air_lp_02";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((2226.65,4317.85,15),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_pipe_air_lp_02";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((2043.26,4252.48,149.49),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "amb_sa_big_light_4";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((1020.11,4288.9,274.49),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "amb_sa_big_light_4";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((1199.48,3950.1,178.99),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "amb_sa_big_light_4";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((784.619,3828.29,146.501),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "amb_sa_big_light_4";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((1659.71,3994.82,145.685),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_steam_lp_02";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((992.621,6492.7,207.643),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_plastic_tarp_flap_lp_01";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((1478.98,6651.6,167.593),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_plastic_tarp_flap_lp_01";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((1165.22,6625.69,185.265),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_plastic_tarp_flap_lp_02";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((1737.32,6545.56,112.755),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_plastic_tarp_flap_lp_02";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((2029.96,6463.86,98.2914),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_plastic_tarp_flap_lp_01";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((2342.37,6558.9,109.318),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_plastic_tarp_flap_lp_02";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((3569.78,7052.63,173.134),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_plastic_tarp_flap_lp_02";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((3332.6,7212.67,181.885),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_plastic_tarp_flap_lp_01";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((3309.15,7511.16,173.583),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_plastic_tarp_flap_lp_02";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((3441.18,7766.1,180.64),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_plastic_tarp_flap_lp_01";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((3766.14,7884.21,178.433),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_plastic_tarp_flap_lp_02";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((4061.16,7845.78,159.756),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_plastic_tarp_flap_lp_01";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((4327.41,7898.32,164.869),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_plastic_tarp_flap_lp_02";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((4636.58,7953.65,168.834),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_plastic_tarp_flap_lp_01";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((4799.96,7542.61,174.196),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_plastic_tarp_flap_lp_02";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((4617.95,7336.44,169.36),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_plastic_tarp_flap_lp_01";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((4557.62,7098.83,187.718),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_plastic_tarp_flap_lp_02";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((4619.91,6874.06,160.349),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_plastic_tarp_flap_lp_01";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((4381.36,6753.29,185.391),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_plastic_tarp_flap_lp_02";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((4175.92,6774.43,196.699),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_plastic_tarp_flap_lp_01";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((3997.06,6894.39,165.567),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_plastic_tarp_flap_lp_02";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((3320.6,6236.37,73.9628),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_plastic_tarp_flap_lp_02";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((3356.42,5689.86,116.333),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_plastic_tarp_flap_lp_01";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((3365.56,5466.43,116.103),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_plastic_tarp_flap_lp_02";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((3262.58,5309.47,117.842),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_plastic_tarp_flap_lp_01";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((273.13,4874.17,117.296),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_crevasse_lp";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((197.478,3362.18,105.779),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_steam_lp_02";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((886.293,4917.25,244.013),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "amb_sa_big_light_2";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-302.47,3237.49,143.5),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_sm_vent_rattle_lp_01";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-308.547,2924.64,146.5),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_sm_vent_rattle_lp_01";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((1279.49,4218.97,132.002),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_sm_vent_rattle_lp_01";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-251.056,3442.6,233.304),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_steam_lp_02";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-228.966,3912.71,203.285),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_steam_lp_02";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((3067.12,6517.08,100.999),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_plastic_tarp_flap_lp_01";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((1556.86,4984.04,217.22),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "amb_sa_big_light_2";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((1759.18,5383.03,221.495),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "amb_sa_big_light_2";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((3518.31,5525.36,260.124),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_fast_flag_flapping_lp_01";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((3514.15,6164.8,169.401),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_fast_flag_flapping_lp_01";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((3033.25,6800.94,151.922),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_fast_flag_flapping_lp_01";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((2409.78,6841.98,152.876),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_fast_flag_flapping_lp_01";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((1646.55,6911.12,202.479),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_fast_flag_flapping_lp_01";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((5735.18,-4110.96,-20.0049),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_fly_lp_ster_both";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((4699.39,-4880.21,126.096),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_fly_lp_ster_both";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((4061.53,-4632.32,121.596),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_fly_lp_ster_both";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((5793.26,-5551.21,105.396),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_fly_lp_ster_both";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((5827.95,-5423.05,79.023),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_toilet_running_lp";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((5926.98,-5416.38,79.023),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_toilet_running_lp";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((5670.01,-5465.98,105.396),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_fly_lp_ster_both";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((5451.38,-5782.59,119.4),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_fly_lp_ster_both";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((6495.6,-6799.99,51.9951),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_fire_large_metal_lp_01";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((5778.19,-6709.62,64.3133),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_fire_med_lp_01";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((5053.28,-6956.79,97.8951),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_fire_large_metal_lp_01";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((6199.45,-7134.34,287.801),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_fire_med_lp_02";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((5307.33,-7191.79,108.899),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_fire_med_lp_01";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((6095.52,-5564.59,120.296),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_fly_lp_ster_both";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((6120.35,-5833.38,120.296),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_fly_lp_ster_both";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((6043.78,-5849.13,205.014),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "amb_sa_big_light_3";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((6040.89,-5516.2,207.295),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "amb_sa_big_light_3";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((6037.75,-5157.14,203.488),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "amb_sa_big_light_3";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((6423.74,-6297.64,181.806),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "amb_sa_big_light_3";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((5267.31,-6638.49,250.697),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "amb_sa_big_light_4";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((5432.26,-6585.01,257.097),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "amb_sa_big_light_4";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((5061.01,-6594.35,259.497),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "amb_sa_big_light_4";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((5259.77,-5698.98,224.362),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "amb_sa_big_light_4";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((5236.82,-5750.43,132.8),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_fly_lp_ster_both";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((5311.19,-5727.3,118.4),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_fly_lp_ster_both";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((5858.22,-5771.27,128),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_fly_lp_ster_both";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((3672.03,-4464.08,130.875),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_fly_lp_ster_both";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((3651.31,-3960.98,116.073),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_fly_lp_ster_both";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((4014.84,-4021.78,123.601),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_fly_lp_ster_both";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((3718.59,-4930.41,104.202),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_fly_lp_ster_both";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((4092.68,-4396.39,208.849),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "amb_sa_big_light_3";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((161.389,4767.27,-198.148),(326.252,38.9465,0));
|
||||
var_00.var_13125["soundalias"] = "emt_flare_lp";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-192.78,4872.8,-126.395),(337.412,283.644,0));
|
||||
var_00.var_13125["soundalias"] = "emt_flare_lp";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((46.107,3902.73,75.7216),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_computer_beep_bloop";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-101.883,3872.48,100.76),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_steam_lp_02";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((609.058,4403.73,146.653),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_computer_beep_bloop";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((1602.74,5832.02,241.871),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_computer_beep_bloop";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((1336.74,5830.93,243.528),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_computer_beep_bloop";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((1786.49,5977.42,220.594),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_computer_fan_beeps";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((1467.88,5855.29,241.46),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_computer_fan";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((618.166,5574.68,121.258),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_computer_fan_beeps";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((-213.954,4290.07,277.62),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_computer_beep_bloop";
|
||||
var_00 = scripts\common\createfx::func_49E7();
|
||||
var_00 scripts\common\createfx::func_F4AD((46.745,3898.49,64.377),(270,0,0));
|
||||
var_00.var_13125["soundalias"] = "emt_computer_fan";
|
||||
}
|
1568
IW/PC/ALL/scripts/cp/maps/cp_frontend/cp_frontend.gsc
Normal file
1568
IW/PC/ALL/scripts/cp/maps/cp_frontend/cp_frontend.gsc
Normal file
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,17 @@
|
||||
/*******************************************************************
|
||||
* Decompiled By: Bog
|
||||
* Decompiled File: scripts\cp\maps\cp_frontend\gen\cp_frontend_art.gsc
|
||||
* Game: Call of Duty: Infinite Warfare
|
||||
* Platform: PC
|
||||
* Function Count: 1
|
||||
* Decompile Time: 100 ms
|
||||
* Timestamp: 10/27/2023 12:05:45 AM
|
||||
*******************************************************************/
|
||||
|
||||
//Function Number: 1
|
||||
main()
|
||||
{
|
||||
level.var_12ACA = 1;
|
||||
setdvar("r_lightGridEnableTweaks",1);
|
||||
setdvar("r_lightGridIntensity",1.33);
|
||||
}
|
@ -0,0 +1,14 @@
|
||||
/*******************************************************************
|
||||
* Decompiled By: Bog
|
||||
* Decompiled File: scripts\cp\maps\cp_frontend\gen\cp_frontend_sound.gsc
|
||||
* Game: Call of Duty: Infinite Warfare
|
||||
* Platform: PC
|
||||
* Function Count: 1
|
||||
* Decompile Time: 96 ms
|
||||
* Timestamp: 10/27/2023 12:05:45 AM
|
||||
*******************************************************************/
|
||||
|
||||
//Function Number: 1
|
||||
main()
|
||||
{
|
||||
}
|
8615
IW/PC/ALL/scripts/cp/maps/cp_rave/cp_rave.gsc
Normal file
8615
IW/PC/ALL/scripts/cp/maps/cp_rave/cp_rave.gsc
Normal file
File diff suppressed because it is too large
Load Diff
1160
IW/PC/ALL/scripts/cp/maps/cp_rave/cp_rave_boat.gsc
Normal file
1160
IW/PC/ALL/scripts/cp/maps/cp_rave/cp_rave_boat.gsc
Normal file
File diff suppressed because it is too large
Load Diff
1179
IW/PC/ALL/scripts/cp/maps/cp_rave/cp_rave_challenges.gsc
Normal file
1179
IW/PC/ALL/scripts/cp/maps/cp_rave/cp_rave_challenges.gsc
Normal file
File diff suppressed because it is too large
Load Diff
717
IW/PC/ALL/scripts/cp/maps/cp_rave/cp_rave_crafting.gsc
Normal file
717
IW/PC/ALL/scripts/cp/maps/cp_rave/cp_rave_crafting.gsc
Normal file
@ -0,0 +1,717 @@
|
||||
/*******************************************************************
|
||||
* Decompiled By: Bog
|
||||
* Decompiled File: scripts\cp\maps\cp_rave\cp_rave_crafting.gsc
|
||||
* Game: Call of Duty: Infinite Warfare
|
||||
* Platform: PC
|
||||
* Function Count: 26
|
||||
* Decompile Time: 1395 ms
|
||||
* Timestamp: 10/27/2023 12:06:15 AM
|
||||
*******************************************************************/
|
||||
|
||||
//Function Number: 1
|
||||
init_crafting()
|
||||
{
|
||||
level.crafting_table = "scripts/cp/maps/cp_rave/cp_rave_crafting.csv";
|
||||
level.var_B426 = 1;
|
||||
level.var_C1E2 = 0;
|
||||
level.var_A89F = gettime();
|
||||
level.var_47C1 = 25000;
|
||||
level.var_47C0 = -5536;
|
||||
level.var_BF36 = gettime() + 180000;
|
||||
level.var_47BE = ::func_13F02;
|
||||
level.var_47BD = ::func_13F01;
|
||||
level.var_47C2 = func_78F1(level.crafting_table);
|
||||
level.var_47A7 = func_78EA(level.crafting_table);
|
||||
level.var_47C3 = level.var_47C2;
|
||||
level.var_CC0C = [];
|
||||
level.interaction_post_activate_update_func = ::rave_post_activate_update_func;
|
||||
level.crafting_totem_areas = [];
|
||||
level.crafting_totem_uses = 0;
|
||||
level.crafting_icon_create_func = ::func_4939;
|
||||
}
|
||||
|
||||
//Function Number: 2
|
||||
set_crafting_starting_location(param_00)
|
||||
{
|
||||
level.crafting_totem_starting_location = param_00;
|
||||
level.last_crafting_totem_area = param_00;
|
||||
}
|
||||
|
||||
//Function Number: 3
|
||||
activate_crafting_totem(param_00)
|
||||
{
|
||||
self.var_D776 = 1;
|
||||
self.var_6261 = 1;
|
||||
level.crafting_totem_uses = 0;
|
||||
self.var_269F = 3;
|
||||
scripts\cp\_interaction::add_to_current_interaction_list(self);
|
||||
self.totem setscriptablepartstate("eyes","eyes_on");
|
||||
self.totem setscriptablepartstate("hideshow","show");
|
||||
}
|
||||
|
||||
//Function Number: 4
|
||||
deactivate_crafting_totem(param_00)
|
||||
{
|
||||
self.var_D776 = 1;
|
||||
self.var_6261 = 0;
|
||||
self.var_269F = 3;
|
||||
scripts\cp\_interaction::remove_from_current_interaction_list(self);
|
||||
self.totem setscriptablepartstate("eyes","eyes_off");
|
||||
}
|
||||
|
||||
//Function Number: 5
|
||||
move_crafting_totem_to_new_location()
|
||||
{
|
||||
for(;;)
|
||||
{
|
||||
var_00 = scripts\common\utility::random(level.crafting_totem_areas);
|
||||
if(var_00 != level.last_crafting_totem_area)
|
||||
{
|
||||
level.current_crafting_totem.totem setscriptablepartstate("hideshow","off");
|
||||
move_crafting_totem(var_00);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 6
|
||||
move_crafting_totem(param_00)
|
||||
{
|
||||
level.last_crafting_totem_area = param_00;
|
||||
foreach(var_02 in level.crafting_totems)
|
||||
{
|
||||
var_02 activate_crafting_totem(param_00);
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 7
|
||||
func_9596()
|
||||
{
|
||||
level.crafting_totems = scripts\common\utility::getstructarray("crafting_station","script_noteworthy");
|
||||
foreach(var_01 in level.crafting_totems)
|
||||
{
|
||||
var_01 thread init_crafting_totem();
|
||||
}
|
||||
|
||||
wait(6);
|
||||
move_crafting_totem(level.crafting_totem_starting_location);
|
||||
}
|
||||
|
||||
//Function Number: 8
|
||||
func_7828(param_00)
|
||||
{
|
||||
var_01 = getentarray("spawn_volume","targetname");
|
||||
foreach(var_03 in var_01)
|
||||
{
|
||||
if(function_010F(param_00.origin + (0,0,50),var_03))
|
||||
{
|
||||
if(isdefined(var_03.var_28AB))
|
||||
{
|
||||
return var_03.var_28AB;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return undefined;
|
||||
}
|
||||
|
||||
//Function Number: 9
|
||||
init_crafting_totem()
|
||||
{
|
||||
wait(5);
|
||||
var_00 = getentarray(self.target,"targetname");
|
||||
self.totem = undefined;
|
||||
foreach(var_02 in var_00)
|
||||
{
|
||||
if(var_02.classname == "scriptable")
|
||||
{
|
||||
self.totem = var_02;
|
||||
}
|
||||
}
|
||||
|
||||
var_00 = scripts\common\utility::getstructarray(self.target,"targetname");
|
||||
foreach(var_02 in var_00)
|
||||
{
|
||||
if(var_02.script_noteworthy == "crafting_item_spot")
|
||||
{
|
||||
self.craft_item_spot = var_02;
|
||||
}
|
||||
}
|
||||
|
||||
self.var_2135 = func_7828(self);
|
||||
level.crafting_totem_areas[level.crafting_totem_areas.size] = self.var_2135;
|
||||
self.var_D776 = 1;
|
||||
self.var_6261 = 0;
|
||||
self.var_269F = 3;
|
||||
self.totem setscriptablepartstate("eyes","eyes_off");
|
||||
}
|
||||
|
||||
//Function Number: 10
|
||||
func_12FBE(param_00,param_01)
|
||||
{
|
||||
if(!scripts\common\utility::func_2286(level.current_interaction_structs,param_00))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if(param_00.var_269F > 0)
|
||||
{
|
||||
if(!isdefined(param_01.var_4B5E))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if(getweaponbasename(param_01 getcurrentweapon()) != "iw7_penetrationrail_mp")
|
||||
{
|
||||
param_01 setweaponammostock("iw7_souvenircoin_zm",1);
|
||||
param_01 giveandfireoffhand("iw7_souvenircoin_zm");
|
||||
}
|
||||
|
||||
var_02 = "orange";
|
||||
switch(param_01.var_4B5E.var_47C9)
|
||||
{
|
||||
case "cp_rave_crafting_totem_gem_topaz":
|
||||
var_02 = "blue";
|
||||
break;
|
||||
|
||||
case "cp_rave_crafting_totem_gem_amethyst":
|
||||
var_02 = "purple";
|
||||
break;
|
||||
}
|
||||
|
||||
switch(param_00.var_269F)
|
||||
{
|
||||
case 3:
|
||||
param_00.totem setscriptablepartstate("socket_0",var_02);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
param_00.totem setscriptablepartstate("socket_1",var_02);
|
||||
break;
|
||||
|
||||
case 1:
|
||||
param_00.totem setscriptablepartstate("socket_2",var_02);
|
||||
break;
|
||||
}
|
||||
|
||||
if(!isdefined(param_00.var_94CA))
|
||||
{
|
||||
param_00.var_94CA = [];
|
||||
}
|
||||
|
||||
param_00.var_94CA[3 - param_00.var_269F] = param_01.var_4B5E.var_47C9;
|
||||
playsoundatpos(param_00.origin,"zmb_rave_crafting_totem_item_place");
|
||||
param_01 setclientomnvar("zombie_souvenir_piece_index",0);
|
||||
param_01.var_A8D3 = undefined;
|
||||
param_01.var_4B5E = undefined;
|
||||
param_00.var_269F--;
|
||||
param_01 scripts\cp\_merits::func_D9AD("mt_used_crafting");
|
||||
if(param_00.var_269F > 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
scripts\cp\_interaction::remove_from_current_interaction_list(param_00);
|
||||
param_00.craft_item_fx = spawnfx(level._effect["altar_item_flame"],param_00.craft_item_spot.origin + (0,0,5));
|
||||
playfx(level._effect["crafting_souvenir"],param_00.craft_item_spot.origin + (0,0,5));
|
||||
playsoundatpos(param_00.craft_item_spot.origin,"zmb_rave_crafting_totem_item_craft");
|
||||
wait(1);
|
||||
param_00.totem setscriptablepartstate("eyes","active");
|
||||
func_47A5(param_00,param_01);
|
||||
if(isdefined(param_01))
|
||||
{
|
||||
param_01 thread scripts\cp\_vo::try_to_play_vo("souvenir_craft_success","zmb_comment_vo","low",10,0,0,0,50);
|
||||
}
|
||||
|
||||
triggerfx(param_00.craft_item_fx);
|
||||
scripts\cp\_interaction::add_to_current_interaction_list(param_00);
|
||||
while(isdefined(param_00.var_10485))
|
||||
{
|
||||
wait(0.1);
|
||||
}
|
||||
|
||||
param_00.totem setscriptablepartstate("eyes","eyes_on");
|
||||
scripts\cp\_interaction::remove_from_current_interaction_list(param_00);
|
||||
playsoundatpos(param_00.origin,"zmb_rave_crafting_totem_item_pickup");
|
||||
if(isdefined(param_01))
|
||||
{
|
||||
param_01 playlocalsound("zmb_item_pickup");
|
||||
}
|
||||
|
||||
playfx(level._effect["souvenir_pickup"],param_00.craft_item_spot.origin);
|
||||
param_00.var_269F = 3;
|
||||
param_00.var_94CA = [];
|
||||
if(isdefined(param_01))
|
||||
{
|
||||
param_01.var_A8D3 = undefined;
|
||||
}
|
||||
|
||||
level.crafting_totem_uses++;
|
||||
wait(1);
|
||||
scripts\cp\_interaction::add_to_current_interaction_list(param_00);
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 11
|
||||
func_13F02(param_00,param_01,param_02)
|
||||
{
|
||||
if(!func_FF3B(param_01))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
level thread func_10697(param_01);
|
||||
return 1;
|
||||
}
|
||||
|
||||
//Function Number: 12
|
||||
func_13F01(param_00,param_01)
|
||||
{
|
||||
switch(param_01)
|
||||
{
|
||||
case "zmb_coin_alien":
|
||||
param_01 = "cp_rave_crafting_totem_gem_amber";
|
||||
break;
|
||||
|
||||
case "zmb_coin_space":
|
||||
param_01 = "cp_rave_crafting_totem_gem_amethyst";
|
||||
break;
|
||||
|
||||
case "zmb_coin_ice":
|
||||
param_01 = "cp_rave_crafting_totem_gem_topaz";
|
||||
break;
|
||||
}
|
||||
|
||||
level thread func_10697(param_00,param_01);
|
||||
}
|
||||
|
||||
//Function Number: 13
|
||||
func_10697(param_00,param_01)
|
||||
{
|
||||
level.var_C1E2++;
|
||||
level.var_A89F = gettime();
|
||||
level.var_BF36 = level.var_A89F + 30000 + randomintrange(level.var_47C1,level.var_47C0);
|
||||
var_02 = spawn("script_model",param_00 + (0,0,45));
|
||||
var_02.angles = (90,0,0);
|
||||
var_02.var_C378 = (90,0,0);
|
||||
var_03 = scripts\common\utility::random(level.var_47C3);
|
||||
if(isdefined(param_01))
|
||||
{
|
||||
var_03 = param_01;
|
||||
}
|
||||
|
||||
var_02 setmodel(var_03);
|
||||
var_02.script_noteworthy = "crafting_item";
|
||||
var_04 = "purple";
|
||||
if(var_02.model == "cp_rave_crafting_totem_gem_amber")
|
||||
{
|
||||
var_04 = "orange";
|
||||
}
|
||||
else if(var_02.model == "cp_rave_crafting_totem_gem_topaz")
|
||||
{
|
||||
var_04 = "blue";
|
||||
}
|
||||
|
||||
var_02 setscriptablepartstate("fx",var_04);
|
||||
var_02.glow_type = var_04;
|
||||
var_05 = func_48C2(var_02,25);
|
||||
var_02 thread func_47C6(var_05);
|
||||
}
|
||||
|
||||
//Function Number: 14
|
||||
func_48C2(param_00,param_01)
|
||||
{
|
||||
var_02 = spawnstruct();
|
||||
var_02.script_noteworthy = "crafting_pickup";
|
||||
var_02.origin = param_00.origin - (0,0,45);
|
||||
var_02.var_195 = param_00;
|
||||
var_02.var_E1B9 = 0;
|
||||
var_02.var_D776 = 1;
|
||||
var_02.var_EE79 = "crafting_pickup";
|
||||
var_02.name = "crafting_pickup";
|
||||
var_02.var_118D7 = param_01;
|
||||
var_02.var_47C9 = param_00.model;
|
||||
var_02.var_47BA = "";
|
||||
var_02.var_109DA = "souvenir_coin";
|
||||
scripts\cp\_interaction::add_to_current_interaction_list(var_02);
|
||||
return var_02;
|
||||
}
|
||||
|
||||
//Function Number: 15
|
||||
func_47C4(param_00,param_01)
|
||||
{
|
||||
if(!isdefined(param_00.var_195))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if(isdefined(param_00.var_195.var_2A89))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
scripts\cp\_interaction::remove_from_current_interaction_list(param_00);
|
||||
if(!isdefined(level.var_4376))
|
||||
{
|
||||
level.var_4376 = 1;
|
||||
if(scripts\cp\_utility::map_check(0))
|
||||
{
|
||||
level thread scripts\cp\_vo::func_1769("dj_souvenircoin_collect_nag","zmb_dj_vo",60,60,2);
|
||||
}
|
||||
}
|
||||
|
||||
var_02 = param_00.origin + (0,0,45);
|
||||
param_00.var_195 setscriptablepartstate("fx","pickup_" + param_00.var_195.glow_type);
|
||||
scripts\common\utility::func_136F7();
|
||||
if(isdefined(param_01.var_4B5E))
|
||||
{
|
||||
param_01 playlocalsound("zmb_crystal_swap");
|
||||
var_03 = spawnstruct();
|
||||
var_03.script_noteworthy = "crafting_pickup";
|
||||
var_03.origin = param_00.origin;
|
||||
var_03.var_195 = spawn("script_model",var_02);
|
||||
var_03.var_195.angles = (90,0,0);
|
||||
var_03.var_195.var_C378 = (90,0,0);
|
||||
var_03.var_E1B9 = 0;
|
||||
var_03.var_D776 = 1;
|
||||
var_03.var_EE79 = param_01.var_4B5E.var_EE79;
|
||||
var_03.name = param_01.var_4B5E.name;
|
||||
var_03.var_118D7 = param_00.var_118D7;
|
||||
var_03.var_47C9 = param_01.var_4B5E.var_47C9;
|
||||
var_03.var_47BA = "";
|
||||
var_03.var_195 setmodel(var_03.var_47C9);
|
||||
param_01.var_4B5E = param_00;
|
||||
param_01 func_4939(param_00);
|
||||
var_03.var_195 thread func_47C6(var_03);
|
||||
scripts\cp\_interaction::add_to_current_interaction_list(var_03);
|
||||
wait(0.3);
|
||||
var_04 = "purple";
|
||||
if(var_03.var_195.model == "cp_rave_crafting_totem_gem_amber")
|
||||
{
|
||||
var_04 = "orange";
|
||||
}
|
||||
else if(var_03.var_195.model == "cp_rave_crafting_totem_gem_topaz")
|
||||
{
|
||||
var_04 = "blue";
|
||||
}
|
||||
|
||||
var_03.var_195 setscriptablepartstate("fx",var_04);
|
||||
var_03.var_195.glow_type = var_04;
|
||||
}
|
||||
else
|
||||
{
|
||||
param_01 playlocalsound("zmb_crystal_pickup");
|
||||
level.var_C1E2--;
|
||||
param_01.var_4B5E = param_00;
|
||||
param_01 thread scripts\cp\_vo::try_to_play_vo("pillage_craft","zmb_comment_vo","low",10,0,1,0,40);
|
||||
param_01 func_4939(param_00);
|
||||
}
|
||||
|
||||
wait(1);
|
||||
if(isdefined(param_00.var_195))
|
||||
{
|
||||
param_00.var_195 delete();
|
||||
}
|
||||
|
||||
if(isdefined(param_00))
|
||||
{
|
||||
param_00 = undefined;
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 16
|
||||
func_4939(param_00)
|
||||
{
|
||||
var_01 = func_7A27(param_00.var_47C9);
|
||||
self setclientomnvar("zombie_souvenir_piece_index",int(var_01));
|
||||
}
|
||||
|
||||
//Function Number: 17
|
||||
func_7A27(param_00)
|
||||
{
|
||||
return tablelookup("scripts/cp/maps/cp_rave/cp_rave_crafting.csv",1,param_00,0);
|
||||
}
|
||||
|
||||
//Function Number: 18
|
||||
func_47C6(param_00)
|
||||
{
|
||||
self endon("death");
|
||||
self endon("vacuum");
|
||||
self notify("timeout");
|
||||
self endon("timeout");
|
||||
var_01 = 25;
|
||||
if(isdefined(param_00.var_118D7))
|
||||
{
|
||||
var_01 = int(param_00.var_118D7);
|
||||
}
|
||||
|
||||
var_02 = gettime() + var_01 * 1000;
|
||||
var_03 = 0;
|
||||
var_04 = 0;
|
||||
while(gettime() < var_02)
|
||||
{
|
||||
if(var_04 == 0)
|
||||
{
|
||||
self rotateyaw(360,2);
|
||||
self movez(5,2);
|
||||
}
|
||||
|
||||
if(var_04 == 2)
|
||||
{
|
||||
self rotateyaw(360,2);
|
||||
self movez(-5,2);
|
||||
}
|
||||
|
||||
if(var_04 == 4)
|
||||
{
|
||||
var_04 = 0;
|
||||
continue;
|
||||
}
|
||||
|
||||
wait(1);
|
||||
var_04++;
|
||||
param_00.var_118D7 = param_00.var_118D7 - 1;
|
||||
}
|
||||
|
||||
playsoundatpos(self.origin,"zmb_crystal_disappear");
|
||||
param_00.var_195 setscriptablepartstate("fx","pickup_" + param_00.var_195.glow_type);
|
||||
level.var_C1E2--;
|
||||
if(level.var_C1E2 < 0)
|
||||
{
|
||||
level.var_C1E2 = 0;
|
||||
}
|
||||
|
||||
scripts\cp\_interaction::remove_from_current_interaction_list(param_00);
|
||||
scripts\common\utility::func_136F7();
|
||||
self delete();
|
||||
}
|
||||
|
||||
//Function Number: 19
|
||||
func_FF3B(param_00)
|
||||
{
|
||||
if(level.var_C1E2 >= level.var_B426)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
if(!self.entered_playspace)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
foreach(var_02 in level.var_10816)
|
||||
{
|
||||
if(var_02.var_28AB != "island")
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if(function_010F(param_00,var_02))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
if(isdefined(level.var_164B))
|
||||
{
|
||||
if(![[ level.var_164B ]](param_00))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
if(isdefined(level.var_9B0B))
|
||||
{
|
||||
if(!scripts\cp\_weapon::func_9E54(param_00,level.var_9B0B,undefined,undefined,1))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
else if(!scripts\cp\_weapon::func_9E54(param_00,undefined,undefined,undefined,1))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
if(randomint(100) < 30)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
if(level.var_BF36 > gettime())
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
//Function Number: 20
|
||||
func_47A5(param_00,param_01)
|
||||
{
|
||||
var_02 = func_78EC(param_00);
|
||||
if(!isdefined(var_02))
|
||||
{
|
||||
var_02 = "money";
|
||||
}
|
||||
|
||||
switch(var_02)
|
||||
{
|
||||
case "crafted_trap_balloon":
|
||||
case "crafted_trap_mower":
|
||||
case "crafted_gascan":
|
||||
case "crafted_revocator":
|
||||
case "crafted_boombox":
|
||||
case "crafted_electric_trap":
|
||||
case "crafted_medusa":
|
||||
case "crafted_ims":
|
||||
case "crafted_autosentry":
|
||||
case "crafted_windowtrap":
|
||||
param_00.script_noteworthy = var_02;
|
||||
param_00.var_109DA = "craftable";
|
||||
param_00.var_E1B9 = 0;
|
||||
param_00.var_D776 = 1;
|
||||
param_00.var_EE79 = var_02;
|
||||
param_00.name = var_02;
|
||||
param_00.var_10485 = 1;
|
||||
param_00.var_D6B3 = 1;
|
||||
param_00.var_47B2 = 1;
|
||||
break;
|
||||
|
||||
default:
|
||||
foreach(param_01 in level.players)
|
||||
{
|
||||
param_01 scripts\cp\_persistence::func_82F9(500);
|
||||
break;
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
scripts\cp\zombies\zombie_analytics::func_AF77(level.wave_num,var_02);
|
||||
if(isdefined(param_01))
|
||||
{
|
||||
param_01.var_A039 = var_02;
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 21
|
||||
func_78EC(param_00)
|
||||
{
|
||||
foreach(var_02 in level.var_47A7)
|
||||
{
|
||||
var_03 = 0;
|
||||
var_04 = var_02;
|
||||
foreach(var_06 in param_00.var_94CA)
|
||||
{
|
||||
if(scripts\common\utility::func_2286(var_04,var_06))
|
||||
{
|
||||
var_03++;
|
||||
var_04 = func_E040(var_04,var_06);
|
||||
}
|
||||
}
|
||||
|
||||
if(var_03 == 3)
|
||||
{
|
||||
return var_02[0];
|
||||
}
|
||||
}
|
||||
|
||||
return undefined;
|
||||
}
|
||||
|
||||
//Function Number: 22
|
||||
func_E040(param_00,param_01)
|
||||
{
|
||||
var_02 = 0;
|
||||
var_03 = [];
|
||||
for(var_04 = 0;var_04 < param_00.size;var_04++)
|
||||
{
|
||||
if(!var_02 && param_00[var_04] == param_01)
|
||||
{
|
||||
var_02 = 1;
|
||||
continue;
|
||||
}
|
||||
|
||||
var_03[var_03.size] = param_00[var_04];
|
||||
}
|
||||
|
||||
return var_03;
|
||||
}
|
||||
|
||||
//Function Number: 23
|
||||
func_78F1(param_00)
|
||||
{
|
||||
var_01 = [];
|
||||
for(var_02 = 1;var_02 < 99;var_02++)
|
||||
{
|
||||
var_03 = func_113C5(param_00,var_02,1);
|
||||
if(var_03 == "")
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
var_01[var_01.size] = var_03;
|
||||
}
|
||||
|
||||
return var_01;
|
||||
}
|
||||
|
||||
//Function Number: 24
|
||||
func_78EA(param_00)
|
||||
{
|
||||
var_01 = 1;
|
||||
var_02 = 2;
|
||||
var_03 = [];
|
||||
for(var_04 = 100;var_04 <= 199;var_04++)
|
||||
{
|
||||
var_05 = undefined;
|
||||
var_05 = func_113C5(param_00,var_04,var_01);
|
||||
if(var_05 == "")
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
var_06 = strtok(func_113C5(param_00,var_04,var_02)," ");
|
||||
var_06 = scripts\common\utility::func_229C(var_06,var_05,0);
|
||||
var_03[var_03.size] = var_06;
|
||||
}
|
||||
|
||||
return var_03;
|
||||
}
|
||||
|
||||
//Function Number: 25
|
||||
func_113C5(param_00,param_01,param_02)
|
||||
{
|
||||
return tablelookup(param_00,0,param_01,param_02);
|
||||
}
|
||||
|
||||
//Function Number: 26
|
||||
rave_post_activate_update_func(param_00,param_01)
|
||||
{
|
||||
if(isdefined(param_00.var_10485))
|
||||
{
|
||||
param_00.script_noteworthy = "crafting_station";
|
||||
param_00.var_E1B9 = 1;
|
||||
param_00.var_D776 = 1;
|
||||
param_00.var_EE79 = "requires_power";
|
||||
param_00.name = "crafting_station";
|
||||
if(isdefined(param_00.var_10486))
|
||||
{
|
||||
param_00.var_10486 delete();
|
||||
}
|
||||
|
||||
param_00.var_10485 = undefined;
|
||||
param_00.var_D6B3 = undefined;
|
||||
param_00.var_D742 = undefined;
|
||||
param_00.var_47B2 = undefined;
|
||||
param_00.craft_item_fx delete();
|
||||
if(param_01 scripts\cp\_utility::is_valid_player())
|
||||
{
|
||||
param_01 playlocalsound("zmb_item_pickup");
|
||||
}
|
||||
|
||||
param_00.totem setscriptablepartstate("socket_0","empty");
|
||||
param_00.totem setscriptablepartstate("socket_1","empty");
|
||||
param_00.totem setscriptablepartstate("socket_2","empty");
|
||||
}
|
||||
}
|
1365
IW/PC/ALL/scripts/cp/maps/cp_rave/cp_rave_damage.gsc
Normal file
1365
IW/PC/ALL/scripts/cp/maps/cp_rave/cp_rave_damage.gsc
Normal file
File diff suppressed because it is too large
Load Diff
712
IW/PC/ALL/scripts/cp/maps/cp_rave/cp_rave_ghost_activation.gsc
Normal file
712
IW/PC/ALL/scripts/cp/maps/cp_rave/cp_rave_ghost_activation.gsc
Normal file
@ -0,0 +1,712 @@
|
||||
/*******************************************************************
|
||||
* Decompiled By: Bog
|
||||
* Decompiled File: scripts\cp\maps\cp_rave\cp_rave_ghost_activation.gsc
|
||||
* Game: Call of Duty: Infinite Warfare
|
||||
* Platform: PC
|
||||
* Function Count: 51
|
||||
* Decompile Time: 2662 ms
|
||||
* Timestamp: 10/27/2023 12:06:19 AM
|
||||
*******************************************************************/
|
||||
|
||||
//Function Number: 1
|
||||
init_ghost_n_skull_2_quest()
|
||||
{
|
||||
lib_0D52::func_DED3("ghostTwo",0,::func_2B53,::get_1_9_9_2_kills_from_trap,::complete_1_9_9_2_kills_from_trap,::debug_1_9_9_2_kills_from_trap);
|
||||
lib_0D52::func_DED3("ghostTwo",1,::func_2B53,::match_the_right_symbol,::complete_match_the_right_symbol,::debug_match_the_right_symbol);
|
||||
lib_0D52::func_DED3("ghostTwo",2,::func_2B53,::hit_skull_at_wheel_of_misfortune,::complete_hit_skull_at_wheel_of_misfortune,::debug_hit_skull_at_wheel_of_misfortune);
|
||||
lib_0D52::func_DED3("ghostTwo",3,::func_2B53,::spell_skull,::complete_spell_skull,::debug_spell_skull);
|
||||
lib_0D52::func_DED3("ghostTwo",4,::func_2B53,::shoot_skull_during_boat,::complete_shoot_skull_during_boat,::debug_shoot_skull_during_boat);
|
||||
lib_0D52::func_DED3("ghostTwo",5,::func_2B53,::hit_gns_cabinet_with_ben_franklin,::complete_hit_gns_cabinet_with_ben_franklin,::debug_hit_gns_cabinet_with_ben_franklin);
|
||||
lib_0D52::func_DED3("ghostTwo",6,::func_2B53,::func_135F6,::func_447F,::func_4F30);
|
||||
}
|
||||
|
||||
//Function Number: 2
|
||||
func_2B53()
|
||||
{
|
||||
}
|
||||
|
||||
//Function Number: 3
|
||||
get_1_9_9_2_kills_from_trap()
|
||||
{
|
||||
wait_for_trap_kills("logswing_trap_kills",1);
|
||||
wait_for_trap_kills("woodchipper_trap_kills",9);
|
||||
wait_for_trap_kills("speaker_trap_kills",9);
|
||||
wait_for_trap_kills("waterfall_trap_kills",2);
|
||||
}
|
||||
|
||||
//Function Number: 4
|
||||
wait_for_trap_kills(param_00,param_01)
|
||||
{
|
||||
for(;;)
|
||||
{
|
||||
level waittill(param_00,var_02);
|
||||
if(var_02 == param_01)
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 5
|
||||
complete_1_9_9_2_kills_from_trap()
|
||||
{
|
||||
scripts\cp\maps\cp_zmb\cp_zmb_ghost_wave::func_C127(1);
|
||||
}
|
||||
|
||||
//Function Number: 6
|
||||
debug_1_9_9_2_kills_from_trap()
|
||||
{
|
||||
}
|
||||
|
||||
//Function Number: 7
|
||||
match_the_right_symbol()
|
||||
{
|
||||
var_00 = ["c","e","p","w","z"];
|
||||
for(;;)
|
||||
{
|
||||
func_13650();
|
||||
var_01 = scripts\common\utility::random(var_00);
|
||||
player_look_at_initial_symbol(var_01);
|
||||
func_13650();
|
||||
var_02 = player_select_one_symbol();
|
||||
if(var_02 == var_01)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 8
|
||||
player_look_at_initial_symbol(param_00)
|
||||
{
|
||||
var_01 = spawn_quest_vfx_symbol((-280,-1483,440),(0,270,45),param_00);
|
||||
level.gns_symbol_to_match = var_01;
|
||||
wait_for_player_look_at(var_01);
|
||||
var_01 thread quest_vfx_fade_out(var_01);
|
||||
}
|
||||
|
||||
//Function Number: 9
|
||||
player_select_one_symbol()
|
||||
{
|
||||
level.gns_quest_letter_symbols = [];
|
||||
var_00 = ["c","e","p","w","z"];
|
||||
var_01 = [(2984,150,380),(-184,-1328,76),(-3306,-3040,184),(-1320,-4748,360),(-1648,1119,-58),(-5972,4600,330),(1918,-2184,196),(-3616,1376,23),(-2046,-1306,46),(776,1432,261)];
|
||||
var_02 = [(0,330,90),(0,0,90),(0,168,90),(0,240,90),(0,225,90),(0,11,90),(0,150,90),(0,205,90),(0,220,90),(0,0,90)];
|
||||
var_03 = scripts\common\utility::array_randomize([0,1,2,3,4,5,6,7,8,9]);
|
||||
foreach(var_0A, var_05 in var_00)
|
||||
{
|
||||
var_06 = var_03[var_0A];
|
||||
var_07 = var_01[var_06];
|
||||
var_08 = var_02[var_06];
|
||||
var_09 = spawn_quest_vfx_symbol(var_07,var_08,var_05);
|
||||
var_09 thread wait_for_selection(var_09);
|
||||
level.gns_quest_letter_symbols[level.gns_quest_letter_symbols.size] = var_09;
|
||||
scripts\common\utility::func_136F7();
|
||||
}
|
||||
|
||||
level waittill("GnS_letter_selected",var_0B);
|
||||
delete_letter_symbols();
|
||||
return var_0B;
|
||||
}
|
||||
|
||||
//Function Number: 10
|
||||
spawn_quest_vfx_symbol(param_00,param_01,param_02)
|
||||
{
|
||||
var_03 = spawn("script_model",param_00);
|
||||
var_03.angles = param_01;
|
||||
var_03 setmodel("gns_quest_origin");
|
||||
var_03 setscriptablepartstate("vfx",param_02);
|
||||
var_03.letter = param_02;
|
||||
return var_03;
|
||||
}
|
||||
|
||||
//Function Number: 11
|
||||
wait_for_selection(param_00)
|
||||
{
|
||||
param_00 endon("death");
|
||||
wait_for_player_look_at(param_00);
|
||||
param_00 thread quest_vfx_fade_out(param_00);
|
||||
level.gns_quest_letter_symbols = scripts\common\utility::func_22A9(level.gns_quest_letter_symbols,param_00);
|
||||
level notify("GnS_letter_selected",param_00.letter);
|
||||
}
|
||||
|
||||
//Function Number: 12
|
||||
wait_for_player_look_at(param_00)
|
||||
{
|
||||
var_01 = int(10);
|
||||
for(;;)
|
||||
{
|
||||
if(any_player_look_at_target(param_00))
|
||||
{
|
||||
for(var_02 = 1;var_02 <= var_01;var_02++)
|
||||
{
|
||||
wait(0.15);
|
||||
if(any_player_look_at_target(param_00))
|
||||
{
|
||||
if(var_02 == var_01)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
continue;
|
||||
}
|
||||
else
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
wait(0.15);
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 13
|
||||
any_player_look_at_target(param_00)
|
||||
{
|
||||
foreach(var_02 in level.players)
|
||||
{
|
||||
if(player_look_at_target(param_00,var_02))
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
//Function Number: 14
|
||||
player_look_at_target(param_00,param_01)
|
||||
{
|
||||
var_02 = 6400;
|
||||
if(!scripts\common\utility::istrue(param_01.var_DCEB))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
if(!param_01 adsbuttonpressed())
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
if(!param_01 method_8409(param_00.origin,25,75))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
var_03 = bullettrace(param_01 geteye(),param_00.origin,0,param_01);
|
||||
var_04 = var_03["position"];
|
||||
if(distancesquared(var_04,param_00.origin) > var_02)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
//Function Number: 15
|
||||
quest_vfx_fade_out(param_00)
|
||||
{
|
||||
param_00 endon("death");
|
||||
param_00 setscriptablepartstate("vfx",param_00.letter + "_fade");
|
||||
wait(3);
|
||||
param_00 delete();
|
||||
}
|
||||
|
||||
//Function Number: 16
|
||||
complete_match_the_right_symbol()
|
||||
{
|
||||
scripts\cp\maps\cp_zmb\cp_zmb_ghost_wave::func_C127(2);
|
||||
}
|
||||
|
||||
//Function Number: 17
|
||||
delete_letter_symbols()
|
||||
{
|
||||
if(isdefined(level.gns_quest_letter_symbols))
|
||||
{
|
||||
foreach(var_01 in level.gns_quest_letter_symbols)
|
||||
{
|
||||
if(isdefined(var_01))
|
||||
{
|
||||
var_01 delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 18
|
||||
debug_match_the_right_symbol()
|
||||
{
|
||||
}
|
||||
|
||||
//Function Number: 19
|
||||
func_13650()
|
||||
{
|
||||
level waittill("regular_wave_starting");
|
||||
}
|
||||
|
||||
//Function Number: 20
|
||||
hit_skull_at_wheel_of_misfortune()
|
||||
{
|
||||
setup_skull_on_wheel_of_misfortune();
|
||||
level.gns_wheel_of_misfortune_start_func = ::wheel_of_misfortune_start_func;
|
||||
level waittill("hit_GnS_skull_during_wheel_of_misfortune");
|
||||
level.gns_wheel_of_misfortune_start_func = undefined;
|
||||
}
|
||||
|
||||
//Function Number: 21
|
||||
complete_hit_skull_at_wheel_of_misfortune()
|
||||
{
|
||||
scripts\cp\maps\cp_zmb\cp_zmb_ghost_wave::func_C127(3);
|
||||
clear_skull_on_wheel_of_misfortune();
|
||||
}
|
||||
|
||||
//Function Number: 22
|
||||
debug_hit_skull_at_wheel_of_misfortune()
|
||||
{
|
||||
}
|
||||
|
||||
//Function Number: 23
|
||||
setup_skull_on_wheel_of_misfortune()
|
||||
{
|
||||
var_00 = scripts\common\utility::getstructarray("interaction_knife_throw","script_noteworthy");
|
||||
foreach(var_02 in var_00)
|
||||
{
|
||||
var_03 = spawn("script_model",var_02.knife_throw_target.origin);
|
||||
var_03.angles = var_02.knife_throw_target.angles;
|
||||
var_03 setmodel("p7_skulls_bones_head_01");
|
||||
var_03 setscriptablepartstate("vfx","green_eyes");
|
||||
var_02.knife_throw_target.skull_target = var_03;
|
||||
var_03 hide();
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 24
|
||||
clear_skull_on_wheel_of_misfortune()
|
||||
{
|
||||
var_00 = scripts\common\utility::getstructarray("interaction_knife_throw","script_noteworthy");
|
||||
foreach(var_02 in var_00)
|
||||
{
|
||||
if(isdefined(var_02.knife_throw_target.skull_target))
|
||||
{
|
||||
var_02.knife_throw_target.skull_target delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 25
|
||||
wheel_of_misfortune_start_func(param_00,param_01)
|
||||
{
|
||||
var_02 = [(-571,-1582,122),(-602,-1612,122),(-579,-1604,98)];
|
||||
var_03 = scripts\common\utility::random(var_02);
|
||||
var_04 = param_00.skull_target;
|
||||
var_04.origin = var_03;
|
||||
var_04.angles = param_00.angles;
|
||||
var_04 linkto(param_00);
|
||||
var_05 = randomfloatrange(0.1,0.7);
|
||||
wait(var_05);
|
||||
var_04 show();
|
||||
var_04 thread func_4D07(var_04);
|
||||
var_06 = var_04 scripts\cp\_utility::func_1372C(5,var_04,"skull_hit_by_knife",param_01,"arcade_game_over_for_player");
|
||||
var_04 hide();
|
||||
var_04 unlink();
|
||||
if(var_06 == "skull_hit_by_knife")
|
||||
{
|
||||
playfx(level._effect["ghost_explosion_death_green"],var_04.origin,anglestoforward(var_04.angles),anglestoup(var_04.angles));
|
||||
level notify("hit_GnS_skull_during_wheel_of_misfortune");
|
||||
return;
|
||||
}
|
||||
|
||||
var_04 notify("timeout");
|
||||
}
|
||||
|
||||
//Function Number: 26
|
||||
func_4D07(param_00)
|
||||
{
|
||||
param_00 endon("timeout");
|
||||
param_00 setcandamage(1);
|
||||
param_00.health = 999999;
|
||||
for(;;)
|
||||
{
|
||||
param_00 waittill("damage",var_01,var_02,var_03,var_04,var_05,var_06,var_07,var_08,var_09,var_0A);
|
||||
param_00.health = 999999;
|
||||
if(isplayer(var_02) && isdefined(var_0A) && var_0A == "iw7_cpknifethrow_mp")
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
param_00 notify("skull_hit_by_knife");
|
||||
}
|
||||
|
||||
//Function Number: 27
|
||||
spell_skull()
|
||||
{
|
||||
for(;;)
|
||||
{
|
||||
func_13650();
|
||||
set_up_characters();
|
||||
var_00 = "";
|
||||
for(var_01 = 0;var_01 < 5;var_01++)
|
||||
{
|
||||
level waittill("gns_character_selected",var_02);
|
||||
var_00 = var_00 + var_02;
|
||||
}
|
||||
|
||||
if(var_00 == "skull")
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 28
|
||||
set_up_characters()
|
||||
{
|
||||
var_00 = [(2984,150,380),(-184,-1328,76),(-3306,-3040,184),(-1320,-4748,360),(-1648,1119,-58),(-5972,4600,330),(1918,-2184,196),(-3616,1376,23),(-2046,-1306,46),(776,1432,261)];
|
||||
var_01 = [(0,330,90),(0,0,90),(0,168,90),(0,240,90),(0,225,90),(0,11,90),(0,150,90),(0,205,90),(0,220,90),(0,0,90)];
|
||||
var_02 = ["s","k","u","l","l"];
|
||||
var_03 = scripts\common\utility::array_randomize([0,1,2,3,4,5,6,7,8,9]);
|
||||
level.gns_spell_character_ents = [];
|
||||
for(var_04 = 0;var_04 < 5;var_04++)
|
||||
{
|
||||
var_05 = var_03[var_04];
|
||||
var_06 = spawn_quest_vfx_symbol(var_00[var_05],var_01[var_05],var_02[var_04]);
|
||||
var_06 thread player_select_monitor(var_06);
|
||||
level.gns_spell_character_ents[level.gns_spell_character_ents.size] = var_06;
|
||||
scripts\common\utility::func_136F7();
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 29
|
||||
player_select_monitor(param_00)
|
||||
{
|
||||
param_00 endon("death");
|
||||
wait_for_player_look_at(param_00);
|
||||
level.gns_spell_character_ents = scripts\common\utility::func_22A9(level.gns_spell_character_ents,param_00);
|
||||
level notify("gns_character_selected",param_00.letter);
|
||||
param_00 setscriptablepartstate("vfx",param_00.letter + "_fade");
|
||||
wait(3);
|
||||
param_00 delete();
|
||||
}
|
||||
|
||||
//Function Number: 30
|
||||
clear_gns_spell_letters()
|
||||
{
|
||||
if(isdefined(level.gns_spell_character_ents))
|
||||
{
|
||||
foreach(var_01 in level.gns_spell_character_ents)
|
||||
{
|
||||
if(isdefined(var_01))
|
||||
{
|
||||
var_01 delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 31
|
||||
complete_spell_skull()
|
||||
{
|
||||
clear_gns_spell_letters();
|
||||
scripts\cp\maps\cp_zmb\cp_zmb_ghost_wave::func_C127(4);
|
||||
}
|
||||
|
||||
//Function Number: 32
|
||||
debug_spell_skull()
|
||||
{
|
||||
}
|
||||
|
||||
//Function Number: 33
|
||||
shoot_skull_during_boat()
|
||||
{
|
||||
level.start_boat_ride_func = ::gns_start_boat_ride_func;
|
||||
level waittill("shoot_all_escaping_skulls_during_boat_ride");
|
||||
level.start_boat_ride_func = undefined;
|
||||
}
|
||||
|
||||
//Function Number: 34
|
||||
gns_start_boat_ride_func()
|
||||
{
|
||||
wait(12);
|
||||
level thread activate_scaping_skulls();
|
||||
}
|
||||
|
||||
//Function Number: 35
|
||||
activate_scaping_skulls()
|
||||
{
|
||||
level endon("skull_escaped");
|
||||
var_00 = [1,2,3,4,5,6,7,8];
|
||||
var_01 = var_00;
|
||||
level.skull_destroyed = 0;
|
||||
level.escaping_skulls = [];
|
||||
for(var_02 = 0;var_02 < 12;var_02++)
|
||||
{
|
||||
if(var_02 % 8 == 0)
|
||||
{
|
||||
var_01 = scripts\common\utility::array_randomize(var_00);
|
||||
}
|
||||
|
||||
var_03 = var_01[var_02 % 8];
|
||||
level thread skull_escape((-2335,5347,-107) + (146 * var_03,-120 * var_03,0),6);
|
||||
wait(1);
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 36
|
||||
skull_escape(param_00,param_01)
|
||||
{
|
||||
var_02 = spawn("script_model",param_00);
|
||||
level.escaping_skulls[level.escaping_skulls.size] = var_02;
|
||||
var_02 endon("death");
|
||||
var_02 setmodel("zmb_pixel_skull");
|
||||
var_02 show_to_boat_players(var_02);
|
||||
var_02 thread skull_damage_monitor(var_02);
|
||||
var_02 thread color_manager(var_02,param_01);
|
||||
var_02.angles = (0,225,0);
|
||||
var_02 set_skull_color(var_02,"green");
|
||||
var_02 moveto(param_00 + (0,0,500),param_01);
|
||||
var_02 waittill("movedone");
|
||||
level notify("skull_escaped");
|
||||
level thread clear_escaping_skulls();
|
||||
}
|
||||
|
||||
//Function Number: 37
|
||||
clear_escaping_skulls()
|
||||
{
|
||||
if(isdefined(level.escaping_skulls))
|
||||
{
|
||||
foreach(var_01 in level.escaping_skulls)
|
||||
{
|
||||
if(isdefined(var_01))
|
||||
{
|
||||
var_01 delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 38
|
||||
color_manager(param_00,param_01)
|
||||
{
|
||||
param_00 endon("death");
|
||||
param_00 set_skull_color(param_00,"green");
|
||||
wait(param_01 - 2);
|
||||
param_00 set_skull_color(param_00,"red");
|
||||
}
|
||||
|
||||
//Function Number: 39
|
||||
set_skull_color(param_00,param_01)
|
||||
{
|
||||
param_00.color = param_01;
|
||||
param_00 setscriptablepartstate("skull_vfx",param_01);
|
||||
}
|
||||
|
||||
//Function Number: 40
|
||||
show_to_boat_players(param_00)
|
||||
{
|
||||
param_00 hide();
|
||||
foreach(var_02 in level.players)
|
||||
{
|
||||
if(scripts\common\utility::istrue(var_02.var_AD2B))
|
||||
{
|
||||
param_00 showtoplayer(var_02);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 41
|
||||
exp_vfx_to_boat_player(param_00)
|
||||
{
|
||||
foreach(var_02 in level.players)
|
||||
{
|
||||
if(scripts\common\utility::istrue(var_02.var_AD2B))
|
||||
{
|
||||
playfx(level._effect["ghost_explosion_death_" + param_00.color],param_00.origin,(1,1,0),(0,0,1),var_02);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 42
|
||||
skull_damage_monitor(param_00)
|
||||
{
|
||||
param_00 endon("death");
|
||||
param_00 setcandamage(1);
|
||||
param_00.health = 999999;
|
||||
for(;;)
|
||||
{
|
||||
param_00 waittill("damage",var_01,var_02,var_03,var_04,var_05,var_06,var_07,var_08,var_09,var_0A);
|
||||
param_00.health = 999999;
|
||||
if(!isplayer(var_02))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if(!scripts\common\utility::istrue(var_02.var_AD2B))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
exp_vfx_to_boat_player(param_00);
|
||||
level.skull_destroyed++;
|
||||
if(level.skull_destroyed == 12)
|
||||
{
|
||||
level notify("shoot_all_escaping_skulls_during_boat_ride");
|
||||
}
|
||||
|
||||
param_00 delete();
|
||||
}
|
||||
|
||||
//Function Number: 43
|
||||
complete_shoot_skull_during_boat()
|
||||
{
|
||||
scripts\cp\maps\cp_zmb\cp_zmb_ghost_wave::func_C127(5);
|
||||
}
|
||||
|
||||
//Function Number: 44
|
||||
debug_shoot_skull_during_boat()
|
||||
{
|
||||
}
|
||||
|
||||
//Function Number: 45
|
||||
hit_gns_cabinet_with_ben_franklin()
|
||||
{
|
||||
for(;;)
|
||||
{
|
||||
level waittill("ben_franklin_lightning_pos",var_00);
|
||||
if(var_00[2] > 467)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if(var_00[2] < 386)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if(distance2dsquared(var_00,(-275,-1483,431)) > 484)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 46
|
||||
complete_hit_gns_cabinet_with_ben_franklin()
|
||||
{
|
||||
scripts\cp\maps\cp_zmb\cp_zmb_ghost_wave::func_C127(6);
|
||||
}
|
||||
|
||||
//Function Number: 47
|
||||
debug_hit_gns_cabinet_with_ben_franklin()
|
||||
{
|
||||
}
|
||||
|
||||
//Function Number: 48
|
||||
func_135F6()
|
||||
{
|
||||
level endon("player_debug_activate_cabinet");
|
||||
level.gns_game_console_vfx = spawnfx(level._effect["GnS_activation"],(-282,-1483,437));
|
||||
triggerfx(level.gns_game_console_vfx);
|
||||
var_00 = (-294,-1469,396);
|
||||
var_01 = 2500;
|
||||
for(;;)
|
||||
{
|
||||
var_02 = 1;
|
||||
foreach(var_04 in level.players)
|
||||
{
|
||||
if(scripts\common\utility::istrue(var_04.inlaststand))
|
||||
{
|
||||
var_02 = 0;
|
||||
break;
|
||||
}
|
||||
|
||||
if(scripts\common\utility::istrue(var_04.var_9D81))
|
||||
{
|
||||
var_02 = 0;
|
||||
break;
|
||||
}
|
||||
|
||||
if(distancesquared(var_04.origin,var_00) > var_01)
|
||||
{
|
||||
var_02 = 0;
|
||||
break;
|
||||
}
|
||||
|
||||
if(!var_04 usebuttonpressed())
|
||||
{
|
||||
var_02 = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
wait(0.25);
|
||||
if(var_02)
|
||||
{
|
||||
var_02 = 1;
|
||||
foreach(var_04 in level.players)
|
||||
{
|
||||
if(scripts\common\utility::istrue(var_04.inlaststand))
|
||||
{
|
||||
var_02 = 0;
|
||||
break;
|
||||
}
|
||||
|
||||
if(scripts\common\utility::istrue(var_04.var_9D81))
|
||||
{
|
||||
var_02 = 0;
|
||||
break;
|
||||
}
|
||||
|
||||
if(distancesquared(var_04.origin,var_00) > var_01)
|
||||
{
|
||||
var_02 = 0;
|
||||
break;
|
||||
}
|
||||
|
||||
if(!var_04 usebuttonpressed())
|
||||
{
|
||||
var_02 = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(var_02)
|
||||
{
|
||||
level.gns_game_console_vfx delete();
|
||||
return;
|
||||
}
|
||||
|
||||
scripts\common\utility::func_136F7();
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 49
|
||||
func_447F()
|
||||
{
|
||||
scripts\cp\maps\cp_zmb\cp_zmb_ghost_wave::func_C127(-1,0.5);
|
||||
scripts\cp\maps\cp_zmb\cp_zmb_ghost_wave::func_10C61();
|
||||
}
|
||||
|
||||
//Function Number: 50
|
||||
func_4F30()
|
||||
{
|
||||
}
|
||||
|
||||
//Function Number: 51
|
||||
reactive_ghost_n_skull_cabinet()
|
||||
{
|
||||
if(!lib_0D52::quest_line_exist("reactivateghost"))
|
||||
{
|
||||
lib_0D52::func_DED3("reactivateghost",0,::scripts\cp\maps\cp_zmb\cp_zmb_ghost_wave::reactivate_cabinet,::hit_gns_cabinet_with_ben_franklin,::complete_hit_gns_cabinet_with_ben_franklin,::debug_hit_gns_cabinet_with_ben_franklin);
|
||||
lib_0D52::func_DED3("reactivateghost",1,::func_2B53,::func_135F6,::func_447F,::func_4F30);
|
||||
}
|
||||
|
||||
level thread lib_0D52::func_10CEE("reactivateghost");
|
||||
}
|
487
IW/PC/ALL/scripts/cp/maps/cp_rave/cp_rave_harpoon_quest.gsc
Normal file
487
IW/PC/ALL/scripts/cp/maps/cp_rave/cp_rave_harpoon_quest.gsc
Normal file
@ -0,0 +1,487 @@
|
||||
/*******************************************************************
|
||||
* Decompiled By: Bog
|
||||
* Decompiled File: scripts\cp\maps\cp_rave\cp_rave_harpoon_quest.gsc
|
||||
* Game: Call of Duty: Infinite Warfare
|
||||
* Platform: PC
|
||||
* Function Count: 25
|
||||
* Decompile Time: 1358 ms
|
||||
* Timestamp: 10/27/2023 12:06:21 AM
|
||||
*******************************************************************/
|
||||
|
||||
//Function Number: 1
|
||||
harpoon_quest_init()
|
||||
{
|
||||
scripts\common\utility::flag_init("harpoon_unlocked");
|
||||
scripts\common\utility::flag_init("chains_unlocked");
|
||||
level._effect["deer_head_explosion"] = loadfx("vfx/iw7/core/expl/weap/chargeshot/vfx_expl_chargeshot.vfx");
|
||||
level._effect["harpoon_symbol_1"] = loadfx("vfx/iw7/levels/cp_rave/vfx_rave_harpoon_symbol_1_facing.vfx");
|
||||
level._effect["harpoon_symbol_2"] = loadfx("vfx/iw7/levels/cp_rave/vfx_rave_harpoon_symbol_2_facing.vfx");
|
||||
level._effect["harpoon_symbol_3"] = loadfx("vfx/iw7/levels/cp_rave/vfx_rave_harpoon_symbol_3_facing.vfx");
|
||||
level._effect["chain_dissolve"] = loadfx("vfx/iw7/levels/cp_rave/vfx_rave_chain_dissolve.vfx");
|
||||
level.harpoon_locks = 0;
|
||||
level thread break_the_chains();
|
||||
level thread collect_bait();
|
||||
level thread init_bait_heads();
|
||||
}
|
||||
|
||||
//Function Number: 2
|
||||
collect_bait()
|
||||
{
|
||||
var_00 = scripts\common\utility::getstruct("bait_loc","targetname");
|
||||
var_01 = spawn("script_model",var_00.origin);
|
||||
var_01 setmodel("tag_origin");
|
||||
var_01 makeusable();
|
||||
var_01 sethintstring(&"CP_RAVE_PICK_UP_BAIT");
|
||||
level.bait_model = getent("bait_pickup","targetname");
|
||||
for(;;)
|
||||
{
|
||||
var_01 waittill("trigger",var_02);
|
||||
var_02.has_bait = 1;
|
||||
var_02 thread scripts\cp\_utility::func_1308C(var_02,"iw7_pickup_zm");
|
||||
var_02 thread scripts\cp\powers\coop_powers::func_8397("power_bait","secondary",undefined,undefined,undefined,1,1);
|
||||
wait(0.1);
|
||||
level.bait_model method_8429(var_02);
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 3
|
||||
init_bait_heads()
|
||||
{
|
||||
var_00 = getentarray("bait_head","targetname");
|
||||
foreach(var_02 in var_00)
|
||||
{
|
||||
var_02 thread wait_to_be_fed();
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 4
|
||||
wait_to_be_fed()
|
||||
{
|
||||
thread play_signal_if_bait_nearby();
|
||||
thread fly_off_the_handle();
|
||||
}
|
||||
|
||||
//Function Number: 5
|
||||
turn_on_fx(param_00)
|
||||
{
|
||||
wait(param_00);
|
||||
self setscriptablepartstate("symbol","on");
|
||||
}
|
||||
|
||||
//Function Number: 6
|
||||
play_signal_if_bait_nearby()
|
||||
{
|
||||
self endon("stop_attacking_player");
|
||||
var_00 = 160000;
|
||||
while(!isdefined(level.players))
|
||||
{
|
||||
wait(0.1);
|
||||
}
|
||||
|
||||
while(level.players.size < 1)
|
||||
{
|
||||
wait(0.1);
|
||||
}
|
||||
|
||||
for(;;)
|
||||
{
|
||||
var_01 = 0;
|
||||
foreach(var_03 in level.players)
|
||||
{
|
||||
if(var_03 scripts\cp\powers\coop_powers::func_8C17("power_bait"))
|
||||
{
|
||||
if(distancesquared(var_03.origin,self.origin) < var_00)
|
||||
{
|
||||
self setscriptablepartstate("bait","active");
|
||||
var_01 = 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(!var_01)
|
||||
{
|
||||
self setscriptablepartstate("bait","inactive");
|
||||
}
|
||||
|
||||
wait(1);
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 7
|
||||
fly_off_the_handle()
|
||||
{
|
||||
wait(5);
|
||||
thread listen_for_damage();
|
||||
head_logic();
|
||||
self setscriptablepartstate("head","explode");
|
||||
wait(0.1);
|
||||
self setmodel("tag_origin");
|
||||
playfxontag(level._effect["harpoon_symbol_1"],self,"tag_origin");
|
||||
var_00 = scripts\common\utility::getstructarray("bait_head_end_spot","targetname");
|
||||
var_01 = scripts\common\utility::getclosest(self.origin,var_00,500);
|
||||
self moveto(var_01.origin,2);
|
||||
self waittill("movedone");
|
||||
self makeusable();
|
||||
self method_8269((100000,100000,0),10000);
|
||||
self waittill("trigger",var_02);
|
||||
var_02.symbol_picked_up = 1;
|
||||
level.harpoon_locks++;
|
||||
var_02 playsound("part_pickup");
|
||||
switch(level.harpoon_locks)
|
||||
{
|
||||
case 1:
|
||||
level scripts\cp\_utility::set_quest_icon(1);
|
||||
remove_rave_lock();
|
||||
break;
|
||||
|
||||
case 2:
|
||||
level scripts\cp\_utility::set_quest_icon(3);
|
||||
remove_rave_lock();
|
||||
break;
|
||||
|
||||
case 3:
|
||||
level scripts\cp\_utility::set_quest_icon(4);
|
||||
remove_rave_lock();
|
||||
break;
|
||||
}
|
||||
|
||||
wait_for_key_pickup();
|
||||
self delete();
|
||||
}
|
||||
|
||||
//Function Number: 8
|
||||
remove_rave_lock()
|
||||
{
|
||||
foreach(var_01 in level.lock_spots)
|
||||
{
|
||||
if(isdefined(var_01))
|
||||
{
|
||||
var_01 delete();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 9
|
||||
func_0125(param_00)
|
||||
{
|
||||
for(;;)
|
||||
{
|
||||
if(!self.var_8C59 func_9DD7(param_00,0.9,(0,90,0)))
|
||||
{
|
||||
if(self.var_8C59 isenemyrightofme(param_00,(0,115,0)))
|
||||
{
|
||||
self rotateyaw(self.angles[2] + 10,0.15,0.05,0.05);
|
||||
}
|
||||
else
|
||||
{
|
||||
self rotateyaw(self.angles[2] - 10,0.15,0.05,0.05);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
wait(0.15);
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 10
|
||||
func_9DD7(param_00,param_01,param_02)
|
||||
{
|
||||
var_03 = vectornormalize(param_00.origin - self.origin * (1,1,0));
|
||||
var_04 = anglestoright(self.angles + param_02);
|
||||
var_05 = vectordot(var_03,var_04);
|
||||
return var_05 > param_01;
|
||||
}
|
||||
|
||||
//Function Number: 11
|
||||
isenemyrightofme(param_00,param_01)
|
||||
{
|
||||
var_02 = vectornormalize(param_00.origin - self.origin * (1,1,0));
|
||||
var_03 = anglestoforward(self.angles + param_01);
|
||||
var_04 = vectordot(var_02,var_03);
|
||||
return var_04 > 0;
|
||||
}
|
||||
|
||||
//Function Number: 12
|
||||
listen_for_bait_throw()
|
||||
{
|
||||
self endon("disconnect");
|
||||
for(;;)
|
||||
{
|
||||
self waittill("grenade_fire",var_00,var_01);
|
||||
if(isdefined(var_00) && isdefined(var_01))
|
||||
{
|
||||
var_00 thread func_135DE(var_01,self);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 13
|
||||
func_135DE(param_00,param_01)
|
||||
{
|
||||
if(!isdefined(self.var_13C2E) || self.var_13C2E != "iw7_bait_zm")
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
self waittill("explode",var_02);
|
||||
var_03 = getentarray("bait_head","targetname");
|
||||
var_04 = scripts\common\utility::getclosest(var_02,var_03,500);
|
||||
if(isdefined(var_04))
|
||||
{
|
||||
if(isdefined(var_04.bait))
|
||||
{
|
||||
var_04.bait delete();
|
||||
}
|
||||
|
||||
var_04.anchor.bait = spawn("script_origin",var_02);
|
||||
var_04.anchor.bait_time = gettime();
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 14
|
||||
head_logic()
|
||||
{
|
||||
self endon("stop_attacking_player");
|
||||
self.wall_spot = self.origin;
|
||||
self.wall_angles = self.angles;
|
||||
self.move_spots = scripts\common\utility::getstructarray("bait_head_move_spot","targetname");
|
||||
self.bait_spot = undefined;
|
||||
self.bait = undefined;
|
||||
self.on_wall = 1;
|
||||
for(;;)
|
||||
{
|
||||
self setscriptablepartstate("audio","off");
|
||||
self waittill("hit_with_bait");
|
||||
if(self.on_wall)
|
||||
{
|
||||
self setscriptablepartstate("symbol","on");
|
||||
self setscriptablepartstate("bait","inactive");
|
||||
self setscriptablepartstate("audio","leaving_wall");
|
||||
self moveto(self.origin + (10,0,0),0.1);
|
||||
wait(0.1);
|
||||
self moveto(self.origin + (-20,0,0),0.1);
|
||||
wait(0.1);
|
||||
self moveto(self.origin + (10,0,10),0.1);
|
||||
wait(0.1);
|
||||
self moveto(self.origin + (-10,0,-20),0.1);
|
||||
wait(0.1);
|
||||
self.on_wall = 0;
|
||||
self setscriptablepartstate("head","active");
|
||||
}
|
||||
|
||||
var_00 = self.bait.origin;
|
||||
var_01 = scripts\common\utility::getclosest(var_00,self.move_spots,1000);
|
||||
self.bait_spot = var_01;
|
||||
move_along_path();
|
||||
move_back_to_wall();
|
||||
self.on_wall = 1;
|
||||
self setscriptablepartstate("head","inactive");
|
||||
self setscriptablepartstate("audio","off");
|
||||
wait(0.1);
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 15
|
||||
move_to_bait_spot()
|
||||
{
|
||||
self moveto(self.bait_spot.origin,1,0.25,0.25);
|
||||
self waittill("movedone");
|
||||
}
|
||||
|
||||
//Function Number: 16
|
||||
move_along_path()
|
||||
{
|
||||
self setscriptablepartstate("audio","flying");
|
||||
self moveto(self.bait_spot.origin,0.5,0.1,0.1);
|
||||
self waittill("movedone");
|
||||
for(var_00 = self.bait_spot;isdefined(var_00.target);var_00 = var_01)
|
||||
{
|
||||
var_01 = scripts\common\utility::getstruct(var_00.target,"targetname");
|
||||
self method_8269((0,720,0),2,0.1,0.1);
|
||||
self moveto(var_01.origin,2,0.25,0.25);
|
||||
self waittill("movedone");
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 17
|
||||
move_back_to_wall()
|
||||
{
|
||||
self setscriptablepartstate("audio","returning_to_wall");
|
||||
self rotateto(self.wall_angles,0.5);
|
||||
self waittill("rotatedone");
|
||||
self moveto(self.wall_spot,1,0.25,0.25);
|
||||
self waittill("movedone");
|
||||
if(isdefined(self.bait))
|
||||
{
|
||||
self.bait delete();
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 18
|
||||
get_move_spot()
|
||||
{
|
||||
var_00 = scripts\common\utility::getstructarray("bait_head_move_spot","targetname");
|
||||
var_01 = [];
|
||||
foreach(var_03 in var_00)
|
||||
{
|
||||
if(!func_9DD7(var_03,0.25,(0,45,0)))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
var_01[var_01.size] = var_03;
|
||||
}
|
||||
|
||||
if(var_01.size > 0)
|
||||
{
|
||||
var_05 = scripts\common\utility::getclosest(self.origin,var_01);
|
||||
}
|
||||
else
|
||||
{
|
||||
var_05 = scripts\common\utility::getclosest(self.origin,var_01);
|
||||
}
|
||||
|
||||
return var_05.origin;
|
||||
}
|
||||
|
||||
//Function Number: 19
|
||||
listen_for_damage()
|
||||
{
|
||||
self setcandamage(1);
|
||||
for(;;)
|
||||
{
|
||||
self waittill("damage",var_00,var_01,var_02,var_03,var_04,var_05,var_06,var_07,var_08,var_09);
|
||||
if(!scripts\common\utility::istrue(var_01.var_DCEB))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if(var_09 == "iw7_bait_zm")
|
||||
{
|
||||
if(self.on_wall)
|
||||
{
|
||||
self notify("hit_with_bait");
|
||||
}
|
||||
|
||||
wait(0.1);
|
||||
continue;
|
||||
}
|
||||
|
||||
if(self.on_wall)
|
||||
{
|
||||
wait(0.1);
|
||||
continue;
|
||||
}
|
||||
|
||||
if(!func_9DD7(var_01,0.9,(0,90,0)))
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
self notify("stop_attacking_player");
|
||||
}
|
||||
|
||||
//Function Number: 20
|
||||
listen_for_symbol_press()
|
||||
{
|
||||
}
|
||||
|
||||
//Function Number: 21
|
||||
wait_for_key_pickup()
|
||||
{
|
||||
if(level.harpoon_locks > 2)
|
||||
{
|
||||
scripts\common\utility::flag_set("chains_unlocked");
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 22
|
||||
spawn_chain_locks()
|
||||
{
|
||||
level.lock_spots = [];
|
||||
var_00 = scripts\common\utility::getstructarray("chain_lock","targetname");
|
||||
var_01 = 1;
|
||||
foreach(var_03 in var_00)
|
||||
{
|
||||
var_04 = spawn("script_model",var_03.origin);
|
||||
wait(0.1);
|
||||
var_04.angles = var_03.angles + (0,0,90);
|
||||
wait(0.1);
|
||||
var_04 setmodel("tag_origin_harpoon_quest_symbol_" + var_01);
|
||||
level.lock_spots[level.lock_spots.size] = var_04;
|
||||
var_01++;
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 23
|
||||
show_hide_symbols()
|
||||
{
|
||||
level endon("chains_unlocked");
|
||||
while(!isdefined(level.players))
|
||||
{
|
||||
wait(0.1);
|
||||
}
|
||||
|
||||
for(;;)
|
||||
{
|
||||
foreach(var_01 in level.players)
|
||||
{
|
||||
var_02 = scripts\common\utility::istrue(var_01.var_DCEB);
|
||||
foreach(var_04 in level.lock_spots)
|
||||
{
|
||||
if(var_02)
|
||||
{
|
||||
var_04 show();
|
||||
continue;
|
||||
}
|
||||
|
||||
var_04 hide();
|
||||
}
|
||||
}
|
||||
|
||||
wait(0.1);
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 24
|
||||
break_the_chains()
|
||||
{
|
||||
level thread spawn_chain_locks();
|
||||
var_00 = getentarray("harpoon_gun_quest_chains","targetname");
|
||||
scripts\common\utility::flag_wait("chains_unlocked");
|
||||
var_01 = (-332,-1435,310);
|
||||
var_02 = spawn("script_origin",var_01);
|
||||
wait(0.1);
|
||||
var_02 makeusable();
|
||||
var_02 sethintstring(&"CP_RAVE_BREAK_LOCK");
|
||||
var_02 waittill("trigger");
|
||||
var_03 = spawn("script_model",var_00[0].origin);
|
||||
var_03 setmodel("tag_origin");
|
||||
var_03.angles = var_00[0].angles + (0,0,0);
|
||||
var_03 playsound("harpoon_cabinet_unlock");
|
||||
wait(1);
|
||||
playfxontag(level._effect["chain_dissolve"],var_03,"tag_origin");
|
||||
var_00[0] hide();
|
||||
var_02 delete();
|
||||
scripts\common\utility::flag_set("harpoon_unlocked");
|
||||
}
|
||||
|
||||
//Function Number: 25
|
||||
take_harpoon_weapon()
|
||||
{
|
||||
var_00 = getent("harpoon_gun_quest","targetname");
|
||||
var_01 = getent("harpoon_gun_quest_activation_spot","targetname");
|
||||
scripts\common\utility::flag_wait("harpoon_unlocked");
|
||||
var_01 makeusable();
|
||||
var_01 sethintstring(&"CP_RAVE_PICKUP_ITEM");
|
||||
var_01 waittill("trigger",var_02);
|
||||
var_02 giveweapon("iw7_harpoon_zm");
|
||||
var_02 switchtoweapon("iw7_harpoon_zm");
|
||||
var_00 hide();
|
||||
}
|
2254
IW/PC/ALL/scripts/cp/maps/cp_rave/cp_rave_interactions.gsc
Normal file
2254
IW/PC/ALL/scripts/cp/maps/cp_rave/cp_rave_interactions.gsc
Normal file
File diff suppressed because it is too large
Load Diff
1267
IW/PC/ALL/scripts/cp/maps/cp_rave/cp_rave_j_mem_quest.gsc
Normal file
1267
IW/PC/ALL/scripts/cp/maps/cp_rave/cp_rave_j_mem_quest.gsc
Normal file
File diff suppressed because it is too large
Load Diff
2214
IW/PC/ALL/scripts/cp/maps/cp_rave/cp_rave_memory_quests.gsc
Normal file
2214
IW/PC/ALL/scripts/cp/maps/cp_rave/cp_rave_memory_quests.gsc
Normal file
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,32 @@
|
||||
/*******************************************************************
|
||||
* Decompiled By: Bog
|
||||
* Decompiled File: scripts\cp\maps\cp_rave\cp_rave_player_character_setup.gsc
|
||||
* Game: Call of Duty: Infinite Warfare
|
||||
* Platform: PC
|
||||
* Function Count: 2
|
||||
* Decompile Time: 142 ms
|
||||
* Timestamp: 10/27/2023 12:06:33 AM
|
||||
*******************************************************************/
|
||||
|
||||
//Function Number: 1
|
||||
init_player_characters()
|
||||
{
|
||||
lib_0D5B::register_player_character(1,"yes","zmb_hero_female_gangster","viewmodel_zmb_female_gangster_arms",undefined,undefined,"p1_","_p1","iw7_pap_zm_chola","ges_zombies_revive_chola",0,"iw7_cholacard_zm","mus_zombies_valley_girl","iw7_loadout_zm_chola","iw7_knife_zm_chola",undefined,"iw7_gunless_zm");
|
||||
lib_0D5B::register_player_character(2,"yes","zmb_hero_male_raver","viewmodel_arms_zmb_hero_male_raver","head_zmb_hero_male_raver",undefined,"p2_","_p2","iw7_pap_zm_raver","ges_zombies_revive_raver",1,"iw7_ravercard_zm","mus_zombies_nerd","iw7_loadout_zm_raver","iw7_knife_zm_raver",undefined,"iw7_gunless_zm");
|
||||
lib_0D5B::register_player_character(3,"yes","body_zmb_hero_grunge","viewmodel_arms_zmb_hero_grunge","head_zmb_hero_grunge",undefined,"p3_","_p3","iw7_pap_zm_grunge","ges_zombies_revive_grunge",2,"iw7_grungecard_zm","mus_zombies_rapper","iw7_loadout_zm_grunge","iw7_knife_zm_grunge",undefined,"iw7_gunless_zm");
|
||||
lib_0D5B::register_player_character(4,"yes","zmb_hero_hip_hop","viewmodel_zmb_hero_hip_hop","head_zmb_hero_hip_hop",undefined,"p4_","_p4","iw7_pap_zm_hiphop","ges_zombies_revive_hiphop",3,"iw7_hiphopcard_zm","mus_zombies_jock","iw7_loadout_zm_hiphop","iw7_knife_zm_hiphop",undefined,"iw7_gunless_zm");
|
||||
lib_0D5B::register_player_character(5,"no","zmb_hero_k_smith","viewmodel_zmb_hero_k_smith",undefined,undefined,"p5_","_p5","iw7_pap_zm_survivor","ges_zombies_revive_survivor",4,"iw7_survivorcard_zm","mus_zombies_kevinsmith","iw7_loadout_zm_survivor","iw7_knife_zm_survivor",::post_hoff_setup_func,"iw7_gunless_zm");
|
||||
}
|
||||
|
||||
//Function Number: 2
|
||||
post_hoff_setup_func(param_00)
|
||||
{
|
||||
param_00 lib_0D2A::func_12D7C("SUPER_SLACKER",1);
|
||||
if(!isdefined(level.special_character_count))
|
||||
{
|
||||
level.special_character_count = 1;
|
||||
return;
|
||||
}
|
||||
|
||||
level.special_character_count++;
|
||||
}
|
82
IW/PC/ALL/scripts/cp/maps/cp_rave/cp_rave_powers.gsc
Normal file
82
IW/PC/ALL/scripts/cp/maps/cp_rave/cp_rave_powers.gsc
Normal file
@ -0,0 +1,82 @@
|
||||
/*******************************************************************
|
||||
* Decompiled By: Bog
|
||||
* Decompiled File: scripts\cp\maps\cp_rave\cp_rave_powers.gsc
|
||||
* Game: Call of Duty: Infinite Warfare
|
||||
* Platform: PC
|
||||
* Function Count: 5
|
||||
* Decompile Time: 289 ms
|
||||
* Timestamp: 10/27/2023 12:06:34 AM
|
||||
*******************************************************************/
|
||||
|
||||
//Function Number: 1
|
||||
init()
|
||||
{
|
||||
scripts\cp\powers\coop_powers::func_D787("power_transponder",::scripts\cp\powers\coop_powers::func_F896,::scripts\cp\powers\coop_powers::func_12D50,undefined,"transponder_update","powers_transponder_used",undefined);
|
||||
scripts\cp\powers\coop_powers::func_D787("power_armageddon",undefined,undefined,::scripts\cp\powers\coop_powers::func_13043,undefined,undefined,undefined);
|
||||
scripts\cp\powers\coop_powers::func_D787("power_microTurret",undefined,undefined,undefined,"microTurret_update","powers_microTurret_used",undefined);
|
||||
scripts\cp\powers\coop_powers::func_D787("power_rewind",::scripts\cp\powers\coop_powers::func_F81E,::scripts\cp\powers\coop_powers::func_12D1B,::scripts\cp\powers\coop_powers::func_130CE,undefined,"powers_rewind_used",undefined);
|
||||
scripts\cp\powers\coop_powers::func_D787("power_repulsor",undefined,undefined,::scripts\cp\powers\coop_powers::func_130CD,undefined,undefined,undefined);
|
||||
scripts\cp\powers\coop_powers::func_D787("power_blackholeGrenade",undefined,undefined,undefined,undefined,"powers_blackholeGrenade_used",undefined);
|
||||
scripts\cp\powers\coop_powers::func_D787("power_tripMine",undefined,undefined,undefined,"trip_mine_update",undefined,undefined);
|
||||
scripts\cp\powers\coop_powers::func_D787("power_portalGenerator",undefined,undefined,undefined,undefined,"powers_portalGenerator_used",undefined);
|
||||
scripts\cp\powers\coop_powers::func_D787("power_c4",undefined,undefined,undefined,"c4_update",undefined,undefined);
|
||||
scripts\cp\powers\coop_powers::func_D787("power_bait",::setbait,::unsetbait,undefined,undefined,undefined,undefined);
|
||||
thread lib_0D17::init();
|
||||
thread lib_0D1E::init();
|
||||
thread lib_0D0F::init();
|
||||
thread lib_0D1F::func_127E3();
|
||||
thread lib_0D04::func_2B3C();
|
||||
}
|
||||
|
||||
//Function Number: 2
|
||||
listen_for_bait_throw()
|
||||
{
|
||||
self endon("disconnect");
|
||||
self endon("stop_bait_listen");
|
||||
for(;;)
|
||||
{
|
||||
self waittill("grenade_fire",var_00,var_01);
|
||||
if(isdefined(var_00) && isdefined(var_01))
|
||||
{
|
||||
var_00 thread func_135DE(var_01,self);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 3
|
||||
func_135DE(param_00,param_01)
|
||||
{
|
||||
self endon("disconnect");
|
||||
self endon("stop_bait_listen");
|
||||
if(!isdefined(self.var_13C2E) || self.var_13C2E != "iw7_bait_zm")
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
self waittill("explode",var_02);
|
||||
var_03 = getentarray("bait_head","targetname");
|
||||
var_04 = scripts\common\utility::getclosest(var_02,var_03,500);
|
||||
if(isdefined(var_04))
|
||||
{
|
||||
if(isdefined(var_04.bait))
|
||||
{
|
||||
var_04.bait delete();
|
||||
}
|
||||
|
||||
var_04.bait = spawn("script_origin",var_02);
|
||||
var_04.bait_time = gettime();
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 4
|
||||
setbait(param_00)
|
||||
{
|
||||
self notify("stop_bait_listen");
|
||||
thread listen_for_bait_throw();
|
||||
}
|
||||
|
||||
//Function Number: 5
|
||||
unsetbait()
|
||||
{
|
||||
self notify("stop_bait_listen");
|
||||
}
|
1747
IW/PC/ALL/scripts/cp/maps/cp_rave/cp_rave_super_slasher_fight.gsc
Normal file
1747
IW/PC/ALL/scripts/cp/maps/cp_rave/cp_rave_super_slasher_fight.gsc
Normal file
File diff suppressed because it is too large
Load Diff
1096
IW/PC/ALL/scripts/cp/maps/cp_rave/cp_rave_vo.gsc
Normal file
1096
IW/PC/ALL/scripts/cp/maps/cp_rave/cp_rave_vo.gsc
Normal file
File diff suppressed because it is too large
Load Diff
804
IW/PC/ALL/scripts/cp/maps/cp_rave/cp_rave_weapon_upgrade.gsc
Normal file
804
IW/PC/ALL/scripts/cp/maps/cp_rave/cp_rave_weapon_upgrade.gsc
Normal file
@ -0,0 +1,804 @@
|
||||
/*******************************************************************
|
||||
* Decompiled By: Bog
|
||||
* Decompiled File: scripts\cp\maps\cp_rave\cp_rave_weapon_upgrade.gsc
|
||||
* Game: Call of Duty: Infinite Warfare
|
||||
* Platform: PC
|
||||
* Function Count: 24
|
||||
* Decompile Time: 1287 ms
|
||||
* Timestamp: 10/27/2023 12:06:43 AM
|
||||
*******************************************************************/
|
||||
|
||||
//Function Number: 1
|
||||
init_weapon_upgrade()
|
||||
{
|
||||
level.pap_room_func = ::cp_rave_pap_machine_func;
|
||||
level.max_pap_func = ::func_385F;
|
||||
}
|
||||
|
||||
//Function Number: 2
|
||||
func_13C62(param_00,param_01)
|
||||
{
|
||||
param_01 endon("disconnect");
|
||||
if(scripts\common\utility::istrue(level.has_picked_up_fuses) && !isdefined(level.placed_alien_fuses))
|
||||
{
|
||||
level.placed_alien_fuses = 1;
|
||||
place_fuses_in_machine(param_00,param_01);
|
||||
foreach(param_01 in level.players)
|
||||
{
|
||||
param_01 setclientomnvar("zm_special_item",0);
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
var_04 = var_03 getcurrentweapon();
|
||||
var_05 = scripts\cp\_utility::func_80D8(var_04);
|
||||
var_06 = var_03 scripts\cp\_weapon::func_7D62(var_05);
|
||||
var_07 = undefined;
|
||||
var_08 = get_player_fists_weapon(var_03);
|
||||
var_09 = "none";
|
||||
var_0A = undefined;
|
||||
var_0B = 0;
|
||||
if(!can_use_pap_machine(var_05))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if(var_03 func_385F(var_04))
|
||||
{
|
||||
scripts\cp\_interaction::remove_from_current_interaction_list(var_02);
|
||||
var_0C = scripts\common\utility::getstruct(var_02.target,"targetname");
|
||||
var_0D = vectornormalize(anglestoforward(var_03.angles)) * 16;
|
||||
var_06 = int(var_06);
|
||||
var_06++;
|
||||
var_0E = var_04;
|
||||
var_0F = validate_current_weapon(var_06,var_05,var_04);
|
||||
var_07 = get_pap_offhand_weapon(var_03,var_04);
|
||||
var_0A = get_pap_camo(var_06,var_05,var_04);
|
||||
var_0B = should_use_old_model(var_06,var_05,var_04);
|
||||
process_pap_stat_logging(var_05,var_03);
|
||||
thread play_pap_vo(var_03);
|
||||
var_09 = return_pap_attachment(var_03,var_06,var_05,var_04);
|
||||
if(isdefined(var_09) && var_09 == "replace_me")
|
||||
{
|
||||
var_09 = undefined;
|
||||
}
|
||||
|
||||
var_10 = filter_current_weapon_attachments(var_04);
|
||||
var_11 = remove_invalid_wm_attachments(var_10);
|
||||
var_04 = var_03 scripts\cp\_weapon::func_E469(var_0F,undefined,var_11);
|
||||
var_12 = var_03 scripts\cp\_weapon::func_E469(var_0F,var_09,var_11,undefined,var_0A);
|
||||
var_13 = var_03 scripts\cp\_weapon::func_E469(var_0F,var_09,var_10,undefined,var_0A);
|
||||
if(var_0B)
|
||||
{
|
||||
var_14 = spawn("script_weapon",var_03 geteye() + var_0D,0,0,var_0E);
|
||||
}
|
||||
else
|
||||
{
|
||||
var_14 = spawn("script_weapon",var_04 geteye() + var_0E,0,0,var_05);
|
||||
}
|
||||
|
||||
var_14.angles = var_02.angles;
|
||||
if(var_0B)
|
||||
{
|
||||
var_15 = rave_getoffsetfrombaseweaponname(var_0E);
|
||||
}
|
||||
else
|
||||
{
|
||||
var_15 = rave_getoffsetfrombaseweaponname(var_14);
|
||||
}
|
||||
|
||||
level thread func_DF48(var_03,var_14,var_02);
|
||||
level notify("pap_used",var_03,var_06,var_13);
|
||||
var_14 makeunusable();
|
||||
var_03 thread rave_playpapgesture(var_03,var_03.pap_gesture,var_07,var_04,var_0E);
|
||||
var_03.var_C8AB = var_04;
|
||||
if(var_0B)
|
||||
{
|
||||
var_16 = getangleoffset(var_0E,var_0C);
|
||||
}
|
||||
else
|
||||
{
|
||||
var_16 = getangleoffset(var_14,var_0D);
|
||||
}
|
||||
|
||||
var_17 = lib_0D41::func_8087(var_05);
|
||||
var_14 moveto(var_0C.origin + var_17,0.75);
|
||||
var_14 rotateto(var_16,0.75);
|
||||
var_14 waittill("movedone");
|
||||
var_14 moveto(var_0C.origin + var_15,0.25);
|
||||
var_14 waittill("movedone");
|
||||
update_level_pap_machines("door","close",undefined,undefined,"zmb_packapunch_machine_on");
|
||||
wait(0.75);
|
||||
if(!scripts\common\utility::flag("fuses_inserted"))
|
||||
{
|
||||
update_level_pap_machines("papfx","normal","papfx","upgraded");
|
||||
}
|
||||
|
||||
wait(3.5);
|
||||
update_level_pap_machines("door","decomp");
|
||||
wait(0.8);
|
||||
var_14 method_8536(var_12);
|
||||
wait(0.4);
|
||||
update_level_pap_machines("door","open_idle");
|
||||
update_level_pap_machines("papfx","idle");
|
||||
wait(0.5);
|
||||
var_14 makeusable();
|
||||
var_14 method_84A2(100);
|
||||
foreach(var_19 in level.players)
|
||||
{
|
||||
if(var_19 == var_03)
|
||||
{
|
||||
var_14 enableplayeruse(var_19);
|
||||
continue;
|
||||
}
|
||||
|
||||
var_14 disableplayeruse(var_19);
|
||||
}
|
||||
|
||||
if(var_05 == "dischord" || var_05 == "facemelter" || var_05 == "headcutter" || var_05 == "shredder")
|
||||
{
|
||||
var_03 thread scripts\cp\_vo::try_to_play_vo("pap_wor","zmb_pap_vo","high",undefined,undefined,undefined,1);
|
||||
}
|
||||
|
||||
var_14 thread func_1360B(var_13,var_08,var_06);
|
||||
var_03 scripts\cp\_merits::func_D9AD("mt_upgrade_weapons");
|
||||
var_14 scripts\common\utility::waittill_any_timeout_1(30,"weapon_taken");
|
||||
var_03 notify("weapon_purchased");
|
||||
var_03.var_C8AB = undefined;
|
||||
var_14 delete();
|
||||
var_03 scripts\cp\_interaction::func_DE6E();
|
||||
wait(1);
|
||||
scripts\cp\_interaction::add_to_current_interaction_list(var_02);
|
||||
level notify("pap_machine_activated");
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 3
|
||||
func_1360B(param_00,param_01,param_02)
|
||||
{
|
||||
self endon("death");
|
||||
self waittill("trigger",var_03);
|
||||
if(!isdefined(param_01))
|
||||
{
|
||||
param_01 = "iw7_fists_zm";
|
||||
}
|
||||
|
||||
if(var_03 hasweapon(param_01))
|
||||
{
|
||||
var_03 takeweapon(param_01);
|
||||
}
|
||||
|
||||
if(var_03 scripts\cp\_weapon::func_8BBB(param_00))
|
||||
{
|
||||
var_04 = scripts\cp\_utility::func_80D8(param_00);
|
||||
foreach(var_06 in var_03 getweaponslistall())
|
||||
{
|
||||
var_07 = scripts\cp\_utility::func_80D8(var_06);
|
||||
if(var_04 == var_07)
|
||||
{
|
||||
var_03 takeweapon(var_06);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(lib_0D41::func_FFA6(var_03))
|
||||
{
|
||||
var_09 = var_03 getcurrentweapon();
|
||||
var_0A = scripts\cp\_utility::func_80D8(var_09);
|
||||
var_03 takeweapon(var_09);
|
||||
}
|
||||
|
||||
self notify("weapon_taken");
|
||||
param_00 = var_03 scripts\cp\_utility::func_12C6(param_00,undefined,undefined,0);
|
||||
var_03 givemaxammo(param_00);
|
||||
var_0B = var_03 getweaponslistprimaries();
|
||||
foreach(var_06 in var_0B)
|
||||
{
|
||||
if(issubstr(var_06,param_00))
|
||||
{
|
||||
if(scripts\cp\_utility::func_9D3E(var_06))
|
||||
{
|
||||
var_04 = getweaponbasename(var_06);
|
||||
if(isdefined(level.mode_weapons_allowed) && scripts\common\utility::func_2286(level.mode_weapons_allowed,var_04))
|
||||
{
|
||||
param_00 = "alt_" + param_00;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var_03 switchtoweapon(param_00);
|
||||
var_04 = scripts\cp\_utility::func_80D8(param_00);
|
||||
var_03.var_C8A2[var_04].var_B111++;
|
||||
var_03 scripts\cp\_persistence::give_player_xp(500,1);
|
||||
var_03 notify("weapon_level_changed");
|
||||
}
|
||||
|
||||
//Function Number: 4
|
||||
rave_playpapgesture(param_00,param_01,param_02,param_03,param_04)
|
||||
{
|
||||
var_05 = get_player_fists_weapon(param_00);
|
||||
param_00 scripts\cp\_utility::func_12C6(var_05,undefined,undefined,1);
|
||||
param_00 method_83B6(var_05);
|
||||
param_00 takeweapon(param_04);
|
||||
wait(1);
|
||||
param_00 setweaponammostock(param_01,1);
|
||||
param_00 giveandfireoffhand(param_01);
|
||||
wait(2.5);
|
||||
if(isdefined(param_02))
|
||||
{
|
||||
param_00 method_83B6(param_02);
|
||||
if(param_00 hasweapon(var_05))
|
||||
{
|
||||
param_00 takeweapon(var_05);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 5
|
||||
get_player_fists_weapon(param_00)
|
||||
{
|
||||
if(isdefined(param_00.var_134FD))
|
||||
{
|
||||
switch(param_00.var_134FD)
|
||||
{
|
||||
case "p1_":
|
||||
return "iw7_fists_zm_chola";
|
||||
|
||||
case "p2_":
|
||||
return "iw7_fists_zm_raver";
|
||||
|
||||
case "p3_":
|
||||
return "iw7_fists_zm_grunge";
|
||||
|
||||
case "p4_":
|
||||
return "iw7_fists_zm_hiphop";
|
||||
|
||||
case "p5_":
|
||||
return "iw7_fists_zm_kevinsmith";
|
||||
|
||||
default:
|
||||
return "iw7_fists_zm";
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
return "iw7_fists_zm";
|
||||
}
|
||||
|
||||
//Function Number: 6
|
||||
getangleoffset(param_00,param_01)
|
||||
{
|
||||
var_02 = scripts\cp\_utility::func_7DF7(param_00);
|
||||
var_03 = param_01.angles;
|
||||
switch(var_02)
|
||||
{
|
||||
case "iw7_golf":
|
||||
case "iw7_spiked":
|
||||
case "iw7_machete":
|
||||
case "iw7_two":
|
||||
return (90,90,0);
|
||||
|
||||
default:
|
||||
return var_03;
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 7
|
||||
rave_getoffsetfrombaseweaponname(param_00)
|
||||
{
|
||||
var_01 = scripts\cp\_utility::func_7DF7(param_00);
|
||||
var_02 = lib_0D41::func_801F(param_00);
|
||||
switch(var_01)
|
||||
{
|
||||
case "iw7_machete":
|
||||
return (0,-6,2);
|
||||
|
||||
case "iw7_two":
|
||||
return (0,-8,2);
|
||||
|
||||
case "iw7_golf":
|
||||
case "iw7_spiked":
|
||||
return (0,-12,2);
|
||||
|
||||
default:
|
||||
return var_02;
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 8
|
||||
return_pap_attachment(param_00,param_01,param_02,param_03,param_04)
|
||||
{
|
||||
var_05 = undefined;
|
||||
if(isdefined(param_02))
|
||||
{
|
||||
switch(param_02)
|
||||
{
|
||||
case "spiked":
|
||||
case "machete":
|
||||
case "golf":
|
||||
case "two":
|
||||
return "replace_me";
|
||||
|
||||
default:
|
||||
if(scripts\common\utility::istrue(param_04))
|
||||
{
|
||||
return undefined;
|
||||
}
|
||||
|
||||
if(isdefined(param_00.var_C8A2[param_02]))
|
||||
{
|
||||
return "pap" + param_00.var_C8A2[param_02].var_B111;
|
||||
}
|
||||
else
|
||||
{
|
||||
return "pap1";
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return var_05;
|
||||
}
|
||||
|
||||
//Function Number: 9
|
||||
cp_rave_pap_machine_func(param_00,param_01)
|
||||
{
|
||||
level.pap_machine = param_01;
|
||||
level.pap_machine hide();
|
||||
param_00.var_D776 = 1;
|
||||
}
|
||||
|
||||
//Function Number: 10
|
||||
place_fuses_in_machine(param_00,param_01)
|
||||
{
|
||||
scripts\cp\_interaction::remove_from_current_interaction_list(param_00);
|
||||
upgrade_machine_for_all_players();
|
||||
update_level_pap_machines("door","close");
|
||||
wait(0.5);
|
||||
update_level_pap_machines("machine","upgraded");
|
||||
wait(0.25);
|
||||
update_level_pap_machines("reels","neutral");
|
||||
wait(0.25);
|
||||
update_level_pap_machines("reels","on");
|
||||
wait(0.25);
|
||||
update_level_pap_machines("door","open_idle");
|
||||
wait(0.25);
|
||||
scripts\cp\_interaction::add_to_current_interaction_list(param_00);
|
||||
}
|
||||
|
||||
//Function Number: 11
|
||||
upgrade_machine_for_all_players()
|
||||
{
|
||||
foreach(var_01 in level.player_pap_machines)
|
||||
{
|
||||
var_01 setmodel("zmb_pap_machine_animated_soul_key");
|
||||
}
|
||||
|
||||
scripts\common\utility::func_136F7();
|
||||
}
|
||||
|
||||
//Function Number: 12
|
||||
update_level_pap_machines(param_00,param_01,param_02,param_03,param_04)
|
||||
{
|
||||
var_05 = isdefined(param_02) && isdefined(param_03);
|
||||
foreach(var_07 in level.player_pap_machines)
|
||||
{
|
||||
if(isdefined(param_04))
|
||||
{
|
||||
var_07 playsound(param_04);
|
||||
}
|
||||
|
||||
if((scripts\common\utility::istrue(var_07.var_222.has_zis_soul_key) && var_05) || scripts\common\utility::istrue(level.placed_alien_fuses) && var_05)
|
||||
{
|
||||
var_07 setscriptablepartstate(param_02,param_03);
|
||||
continue;
|
||||
}
|
||||
|
||||
var_07 setscriptablepartstate(param_00,param_01);
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 13
|
||||
func_DF48(param_00,param_01,param_02)
|
||||
{
|
||||
level endon("pap_machine_activated");
|
||||
param_00 waittill("disconnect");
|
||||
update_level_pap_machines("door","decomp");
|
||||
wait(1.2);
|
||||
update_level_pap_machines("door","open_idle");
|
||||
update_level_pap_machines("papfx","idle");
|
||||
param_01 delete();
|
||||
wait(1);
|
||||
scripts\cp\_interaction::add_to_current_interaction_list(param_02);
|
||||
level notify("pap_machine_activated");
|
||||
}
|
||||
|
||||
//Function Number: 14
|
||||
can_use_pap_machine(param_00)
|
||||
{
|
||||
if(param_00 == "dischord" || param_00 == "facemelter" || param_00 == "headcutter" || param_00 == "shredder")
|
||||
{
|
||||
if(!scripts\common\utility::flag("fuses_inserted"))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
//Function Number: 15
|
||||
get_pap_offhand_weapon(param_00,param_01)
|
||||
{
|
||||
var_02 = param_00 getweaponslistprimaries();
|
||||
foreach(var_04 in var_02)
|
||||
{
|
||||
if(!issubstr(param_01,var_04) && !scripts\cp\_utility::isstrstart(var_04,"alt_") && !issubstr(var_04,"knife"))
|
||||
{
|
||||
return var_04;
|
||||
}
|
||||
}
|
||||
|
||||
return undefined;
|
||||
}
|
||||
|
||||
//Function Number: 16
|
||||
validate_current_weapon(param_00,param_01,param_02)
|
||||
{
|
||||
if(isdefined(param_01))
|
||||
{
|
||||
switch(param_01)
|
||||
{
|
||||
case "two":
|
||||
if(param_00 == 2)
|
||||
{
|
||||
param_02 = "iw7_two_headed_axe_mp";
|
||||
}
|
||||
else if(param_00 == 3)
|
||||
{
|
||||
param_02 = "iw7_two_headed_axe_mp";
|
||||
}
|
||||
break;
|
||||
|
||||
case "golf":
|
||||
if(param_00 == 2)
|
||||
{
|
||||
param_02 = "iw7_golf_club_mp";
|
||||
}
|
||||
else if(param_00 == 3)
|
||||
{
|
||||
param_02 = "iw7_golf_club_mp";
|
||||
}
|
||||
break;
|
||||
|
||||
case "machete":
|
||||
if(param_00 == 2)
|
||||
{
|
||||
param_02 = "iw7_machete_mp";
|
||||
}
|
||||
else if(param_00 == 3)
|
||||
{
|
||||
param_02 = "iw7_machete_mp";
|
||||
}
|
||||
break;
|
||||
|
||||
case "spiked":
|
||||
if(param_00 == 2)
|
||||
{
|
||||
param_02 = "iw7_spiked_bat_mp";
|
||||
}
|
||||
else if(param_00 == 3)
|
||||
{
|
||||
param_02 = "iw7_spiked_bat_mp";
|
||||
}
|
||||
break;
|
||||
|
||||
case "axe":
|
||||
if(param_00 == 2)
|
||||
{
|
||||
param_02 = "iw7_axe_zm_pap1";
|
||||
}
|
||||
else if(param_00 == 3)
|
||||
{
|
||||
param_02 = "iw7_axe_zm_pap2";
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
return param_02;
|
||||
}
|
||||
}
|
||||
|
||||
return param_02;
|
||||
}
|
||||
|
||||
//Function Number: 17
|
||||
should_use_old_model(param_00,param_01,param_02)
|
||||
{
|
||||
if(isdefined(param_01))
|
||||
{
|
||||
switch(param_01)
|
||||
{
|
||||
case "spiked":
|
||||
case "machete":
|
||||
case "golf":
|
||||
case "two":
|
||||
case "axe":
|
||||
return 1;
|
||||
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
//Function Number: 18
|
||||
get_pap_camo(param_00,param_01,param_02)
|
||||
{
|
||||
var_03 = undefined;
|
||||
if(isdefined(param_01))
|
||||
{
|
||||
if(isdefined(level.no_pap_camos) && scripts\common\utility::func_2286(level.no_pap_camos,param_01))
|
||||
{
|
||||
var_03 = undefined;
|
||||
}
|
||||
else if(isdefined(level.pap_1_camo) && isdefined(param_00) && param_00 == 2)
|
||||
{
|
||||
var_03 = level.pap_1_camo;
|
||||
}
|
||||
else if(isdefined(level.pap_2_camo) && isdefined(param_00) && param_00 == 3)
|
||||
{
|
||||
var_03 = level.pap_2_camo;
|
||||
}
|
||||
|
||||
switch(param_01)
|
||||
{
|
||||
case "dischord":
|
||||
param_02 = "iw7_dischord_zm_pap1";
|
||||
var_03 = "camo20";
|
||||
break;
|
||||
|
||||
case "facemelter":
|
||||
param_02 = "iw7_facemelter_zm_pap1";
|
||||
var_03 = "camo22";
|
||||
break;
|
||||
|
||||
case "headcutter":
|
||||
param_02 = "iw7_headcutter_zm_pap1";
|
||||
var_03 = "camo21";
|
||||
break;
|
||||
|
||||
case "forgefreeze":
|
||||
if(param_00 == 2)
|
||||
{
|
||||
param_02 = "iw7_forgefreeze_zm_pap1";
|
||||
}
|
||||
else if(param_00 == 3)
|
||||
{
|
||||
param_02 = "iw7_forgefreeze_zm_pap2";
|
||||
}
|
||||
|
||||
var_04 = 1;
|
||||
break;
|
||||
|
||||
case "axe":
|
||||
if(param_00 == 2)
|
||||
{
|
||||
param_02 = "iw7_axe_zm_pap1";
|
||||
}
|
||||
else if(param_00 == 3)
|
||||
{
|
||||
param_02 = "iw7_axe_zm_pap2";
|
||||
}
|
||||
|
||||
var_04 = 1;
|
||||
break;
|
||||
|
||||
case "shredder":
|
||||
param_02 = "iw7_shredder_zm_pap1";
|
||||
var_03 = "camo23";
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return var_03;
|
||||
}
|
||||
|
||||
//Function Number: 19
|
||||
play_pap_vo(param_00)
|
||||
{
|
||||
param_00 thread scripts\cp\_vo::try_to_play_vo("weapon_pap","zmb_pap_vo","high");
|
||||
}
|
||||
|
||||
//Function Number: 20
|
||||
process_pap_stat_logging(param_00,param_01)
|
||||
{
|
||||
level.var_1192E++;
|
||||
scripts\cp\zombies\zombie_analytics::func_AF7F(level.wave_num,param_00,level.var_1192E);
|
||||
param_01 lib_0D2A::func_12D7C("PUMP_IT_UP",1);
|
||||
}
|
||||
|
||||
//Function Number: 21
|
||||
filter_current_weapon_attachments(param_00)
|
||||
{
|
||||
var_01 = function_00E3(param_00);
|
||||
if(issubstr(param_00,"g18_z"))
|
||||
{
|
||||
foreach(var_03 in var_01)
|
||||
{
|
||||
if(issubstr(var_03,"akimbo"))
|
||||
{
|
||||
var_01 = scripts\common\utility::func_22A9(var_01,var_03);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return var_01;
|
||||
}
|
||||
|
||||
//Function Number: 22
|
||||
remove_invalid_wm_attachments(param_00)
|
||||
{
|
||||
var_01 = param_00;
|
||||
foreach(var_03 in var_01)
|
||||
{
|
||||
if(issubstr(var_03,"silencer") || issubstr(var_03,"arcane") || issubstr(var_03,"ark"))
|
||||
{
|
||||
var_01 = scripts\common\utility::func_22A9(var_01,var_03);
|
||||
}
|
||||
}
|
||||
|
||||
return param_00;
|
||||
}
|
||||
|
||||
//Function Number: 23
|
||||
weapon_upgrade_hint_func(param_00,param_01)
|
||||
{
|
||||
if(scripts\common\utility::istrue(level.has_picked_up_fuses) && !isdefined(level.placed_alien_fuses))
|
||||
{
|
||||
return &"CP_RAVE_PAP_UPGRADE";
|
||||
}
|
||||
|
||||
var_02 = param_01 getcurrentweapon();
|
||||
var_03 = scripts\cp\_weapon::func_7D62(var_02);
|
||||
if(scripts\common\utility::istrue(param_01.has_zis_soul_key) || scripts\common\utility::istrue(level.placed_alien_fuses))
|
||||
{
|
||||
if(var_03 == 3)
|
||||
{
|
||||
return &"COOP_INTERACTIONS_UPGRADE_MAXED";
|
||||
}
|
||||
else if(!func_385F(var_02))
|
||||
{
|
||||
return &"CP_RAVE_UPGRADE_WEAPON_FAIL";
|
||||
}
|
||||
else if(var_03 == 1)
|
||||
{
|
||||
return &"CP_RAVE_UPGRADE_WEAPON";
|
||||
}
|
||||
else
|
||||
{
|
||||
return &"CP_RAVE_UPGRADE_WEAPON";
|
||||
}
|
||||
|
||||
return &"CP_RAVE_UPGRADE_WEAPON_FAIL";
|
||||
}
|
||||
|
||||
if(var_03 == level.var_C8A4)
|
||||
{
|
||||
return &"COOP_INTERACTIONS_UPGRADE_MAXED";
|
||||
}
|
||||
else if(param_01 scripts\cp\_utility::func_9C42(var_02,1))
|
||||
{
|
||||
return "";
|
||||
}
|
||||
else if(!func_385F(var_02))
|
||||
{
|
||||
return &"CP_RAVE_UPGRADE_WEAPON_FAIL";
|
||||
}
|
||||
else if(var_03 == 1)
|
||||
{
|
||||
return &"CP_RAVE_UPGRADE_WEAPON";
|
||||
}
|
||||
else
|
||||
{
|
||||
return &"CP_RAVE_UPGRADE_WEAPON";
|
||||
}
|
||||
|
||||
return &"CP_RAVE_UPGRADE_WEAPON_FAIL";
|
||||
}
|
||||
|
||||
//Function Number: 24
|
||||
func_385F(param_00,param_01)
|
||||
{
|
||||
if(!isdefined(level.var_C8A2))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
if(isdefined(param_00))
|
||||
{
|
||||
var_02 = scripts\cp\_utility::func_80D8(param_00);
|
||||
}
|
||||
else
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
if(!isdefined(var_02))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
if(!isdefined(level.var_C8A2[var_02]))
|
||||
{
|
||||
var_03 = getsubstr(var_02,0,var_02.size - 1);
|
||||
if(!isdefined(level.var_C8A2[var_03]))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
if(isdefined(self.var_6670) && getweaponbasename(self.var_6670) == getweaponbasename(param_00))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
if(var_02 == "dischord" || var_02 == "facemelter" || var_02 == "headcutter" || var_02 == "shredder")
|
||||
{
|
||||
if(!scripts\common\utility::flag("fuses_inserted"))
|
||||
{
|
||||
if(scripts\common\utility::istrue(param_01))
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
else if(isdefined(self.var_C8A2[var_02]) && self.var_C8A2[var_02].var_B111 == 2)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
if(scripts\common\utility::istrue(level.has_picked_up_fuses) && !isdefined(level.placed_alien_fuses))
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
if(scripts\common\utility::istrue(self.has_zis_soul_key) || scripts\common\utility::istrue(level.placed_alien_fuses))
|
||||
{
|
||||
if(isdefined(self.var_C8A2[var_02]) && self.var_C8A2[var_02].var_B111 >= 3)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
if(scripts\common\utility::istrue(param_01) && isdefined(self.var_C8A2[var_02]) && self.var_C8A2[var_02].var_B111 <= min(level.var_C8A4 + 1,2))
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
if(isdefined(self.var_C8A2[var_02]) && self.var_C8A2[var_02].var_B111 >= level.var_C8A4)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
251
IW/PC/ALL/scripts/cp/maps/cp_rave/gen/cp_rave_art.gsc
Normal file
251
IW/PC/ALL/scripts/cp/maps/cp_rave/gen/cp_rave_art.gsc
Normal file
@ -0,0 +1,251 @@
|
||||
/*******************************************************************
|
||||
* Decompiled By: Bog
|
||||
* Decompiled File: scripts\cp\maps\cp_rave\gen\cp_rave_art.gsc
|
||||
* Game: Call of Duty: Infinite Warfare
|
||||
* Platform: PC
|
||||
* Function Count: 12
|
||||
* Decompile Time: 671 ms
|
||||
* Timestamp: 10/27/2023 12:05:50 AM
|
||||
*******************************************************************/
|
||||
|
||||
//Function Number: 1
|
||||
main()
|
||||
{
|
||||
level.var_12ACA = 1;
|
||||
thread light_control_flags_init();
|
||||
thread strobelight_init();
|
||||
thread fire_light_flicker_init();
|
||||
thread light_fixture_flicker_init();
|
||||
}
|
||||
|
||||
//Function Number: 2
|
||||
light_control_flags_init()
|
||||
{
|
||||
scripts\common\utility::flag_init("light_fixture_on");
|
||||
scripts\common\utility::flag_init("light_fixture_off");
|
||||
scripts\common\utility::flag_init("strobe_red");
|
||||
scripts\common\utility::flag_init("strobe_green");
|
||||
scripts\common\utility::flag_init("strobe_blue");
|
||||
}
|
||||
|
||||
//Function Number: 3
|
||||
strobelight_init()
|
||||
{
|
||||
var_00 = getentarray("strobelight_r","targetname");
|
||||
var_01 = getentarray("strobelight_g","targetname");
|
||||
var_02 = getentarray("strobelight_b","targetname");
|
||||
thread strobe_light_rand_generator();
|
||||
scripts\common\utility::array_thread(var_00,::strobelight_setup);
|
||||
scripts\common\utility::array_thread(var_01,::strobelight_setup);
|
||||
scripts\common\utility::array_thread(var_02,::strobelight_setup);
|
||||
}
|
||||
|
||||
//Function Number: 4
|
||||
strobelight_setup()
|
||||
{
|
||||
var_00 = func_C901();
|
||||
self.light_targetname = self.var_336;
|
||||
self.light_position_show = self.origin;
|
||||
self.light_position_hide = self.origin - (0,0,1024);
|
||||
for(;;)
|
||||
{
|
||||
if(self.light_targetname == "strobelight_r" && scripts\common\utility::flag("strobe_red"))
|
||||
{
|
||||
self.origin = self.light_position_show;
|
||||
}
|
||||
|
||||
if(self.light_targetname == "strobelight_r" && !scripts\common\utility::flag("strobe_red"))
|
||||
{
|
||||
self.origin = self.light_position_hide;
|
||||
}
|
||||
|
||||
if(self.light_targetname == "strobelight_g" && scripts\common\utility::flag("strobe_green"))
|
||||
{
|
||||
self.origin = self.light_position_show;
|
||||
}
|
||||
|
||||
if(self.light_targetname == "strobelight_g" && !scripts\common\utility::flag("strobe_green"))
|
||||
{
|
||||
self.origin = self.light_position_hide;
|
||||
}
|
||||
|
||||
if(self.light_targetname == "strobelight_b" && scripts\common\utility::flag("strobe_blue"))
|
||||
{
|
||||
self.origin = self.light_position_show;
|
||||
}
|
||||
|
||||
if(self.light_targetname == "strobelight_b" && !scripts\common\utility::flag("strobe_blue"))
|
||||
{
|
||||
self.origin = self.light_position_hide;
|
||||
}
|
||||
|
||||
scripts\common\utility::func_136F7();
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 5
|
||||
strobe_light_rand_generator()
|
||||
{
|
||||
for(;;)
|
||||
{
|
||||
var_00 = randomintrange(0,150);
|
||||
if(var_00 >= 50 && var_00 <= 100)
|
||||
{
|
||||
scripts\common\utility::flag_set("strobe_red");
|
||||
scripts\common\utility::func_6E2A("strobe_green");
|
||||
scripts\common\utility::func_6E2A("strobe_blue");
|
||||
}
|
||||
else if(var_00 >= 100)
|
||||
{
|
||||
scripts\common\utility::func_6E2A("strobe_red");
|
||||
scripts\common\utility::flag_set("strobe_green");
|
||||
scripts\common\utility::func_6E2A("strobe_blue");
|
||||
}
|
||||
else
|
||||
{
|
||||
scripts\common\utility::func_6E2A("strobe_red");
|
||||
scripts\common\utility::func_6E2A("strobe_green");
|
||||
scripts\common\utility::flag_set("strobe_blue");
|
||||
}
|
||||
|
||||
wait(0.5);
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 6
|
||||
fire_light_flicker_init()
|
||||
{
|
||||
var_00 = getentarray("fire_light_flicker","targetname");
|
||||
scripts\common\utility::array_thread(var_00,::fire_light_flicker_setup);
|
||||
}
|
||||
|
||||
//Function Number: 7
|
||||
fire_light_flicker_setup()
|
||||
{
|
||||
var_00 = func_C901();
|
||||
self.var_738E = 100;
|
||||
self.var_B442 = 750;
|
||||
self.var_B749 = 5;
|
||||
if(isdefined(var_00["frequency"]))
|
||||
{
|
||||
self.var_738E = float(var_00["frequency"]);
|
||||
}
|
||||
|
||||
if(isdefined(var_00["max_intensity"]))
|
||||
{
|
||||
self.var_B442 = float(var_00["max_intensity"]);
|
||||
}
|
||||
|
||||
if(isdefined(var_00["min_intensity"]))
|
||||
{
|
||||
self.var_B749 = float(var_00["min_intensity"]);
|
||||
}
|
||||
|
||||
thread fire_light_flicker();
|
||||
}
|
||||
|
||||
//Function Number: 8
|
||||
fire_light_flicker()
|
||||
{
|
||||
for(;;)
|
||||
{
|
||||
var_00 = randomfloatrange(self.var_B749,self.var_B442);
|
||||
self setlightintensity(var_00);
|
||||
wait(1 / self.var_738E);
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 9
|
||||
light_fixture_flicker_init()
|
||||
{
|
||||
thread light_fixture_flicker_rand_generator();
|
||||
thread light_fixture_flicker_setup();
|
||||
}
|
||||
|
||||
//Function Number: 10
|
||||
light_fixture_flicker_setup()
|
||||
{
|
||||
var_00 = func_C901();
|
||||
var_01 = getentarray("light_fixture_flicker","targetname");
|
||||
var_02 = getentarray("light_fixture_flicker_off","targetname");
|
||||
var_03 = getentarray("light_fixture_flicker_on","targetname");
|
||||
var_04 = 150;
|
||||
var_05 = 5;
|
||||
for(;;)
|
||||
{
|
||||
if(scripts\common\utility::flag("light_fixture_on"))
|
||||
{
|
||||
foreach(var_07 in var_03)
|
||||
{
|
||||
var_07 show();
|
||||
}
|
||||
|
||||
foreach(var_0A in var_02)
|
||||
{
|
||||
var_0A hide();
|
||||
}
|
||||
|
||||
foreach(var_0D in var_01)
|
||||
{
|
||||
var_0D setlightintensity(var_04);
|
||||
}
|
||||
}
|
||||
else if(scripts\common\utility::flag("light_fixture_off"))
|
||||
{
|
||||
foreach(var_07 in var_03)
|
||||
{
|
||||
var_07 hide();
|
||||
}
|
||||
|
||||
foreach(var_0A in var_02)
|
||||
{
|
||||
var_0A show();
|
||||
}
|
||||
|
||||
foreach(var_0D in var_01)
|
||||
{
|
||||
var_0D setlightintensity(var_05);
|
||||
}
|
||||
}
|
||||
|
||||
scripts\common\utility::func_136F7();
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 11
|
||||
light_fixture_flicker_rand_generator()
|
||||
{
|
||||
for(;;)
|
||||
{
|
||||
var_00 = randomintrange(0,500);
|
||||
if(var_00 >= 250)
|
||||
{
|
||||
scripts\common\utility::func_6E2A("light_fixture_off");
|
||||
scripts\common\utility::flag_set("light_fixture_on");
|
||||
}
|
||||
else
|
||||
{
|
||||
scripts\common\utility::func_6E2A("light_fixture_on");
|
||||
scripts\common\utility::flag_set("light_fixture_off");
|
||||
}
|
||||
|
||||
scripts\common\utility::func_136F7();
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 12
|
||||
func_C901()
|
||||
{
|
||||
var_00 = [];
|
||||
if(isdefined(self.script_noteworthy))
|
||||
{
|
||||
var_01 = strtok(self.script_noteworthy," ");
|
||||
foreach(var_03 in var_01)
|
||||
{
|
||||
var_04 = strtok(var_03,":");
|
||||
var_00[var_04[0]] = var_04[1];
|
||||
}
|
||||
}
|
||||
|
||||
return var_00;
|
||||
}
|
1323
IW/PC/ALL/scripts/cp/maps/cp_rave/gen/cp_rave_sound.gsc
Normal file
1323
IW/PC/ALL/scripts/cp/maps/cp_rave/gen/cp_rave_sound.gsc
Normal file
File diff suppressed because it is too large
Load Diff
3014
IW/PC/ALL/scripts/cp/maps/cp_town/cp_town.gsc
Normal file
3014
IW/PC/ALL/scripts/cp/maps/cp_town/cp_town.gsc
Normal file
File diff suppressed because it is too large
Load Diff
3202
IW/PC/ALL/scripts/cp/maps/cp_town/cp_town_chemistry.gsc
Normal file
3202
IW/PC/ALL/scripts/cp/maps/cp_town/cp_town_chemistry.gsc
Normal file
File diff suppressed because it is too large
Load Diff
885
IW/PC/ALL/scripts/cp/maps/cp_town/cp_town_crab_boss_bomb.gsc
Normal file
885
IW/PC/ALL/scripts/cp/maps/cp_town/cp_town_crab_boss_bomb.gsc
Normal file
@ -0,0 +1,885 @@
|
||||
/*******************************************************************
|
||||
* Decompiled By: Bog
|
||||
* Decompiled File: scripts\cp\maps\cp_town\cp_town_crab_boss_bomb.gsc
|
||||
* Game: Call of Duty: Infinite Warfare
|
||||
* Platform: PC
|
||||
* Function Count: 65
|
||||
* Decompile Time: 3415 ms
|
||||
* Timestamp: 10/27/2023 12:07:00 AM
|
||||
*******************************************************************/
|
||||
|
||||
//Function Number: 1
|
||||
start_detonate_bomb()
|
||||
{
|
||||
level thread detonate_bomb_timer();
|
||||
setup_bomb_lights();
|
||||
reset_bomb_interaction_struct();
|
||||
var_00 = randomize_bomb_interaction_structs();
|
||||
foreach(var_03, var_02 in level.players)
|
||||
{
|
||||
var_02 thread exit_early_from_all_active_consumables(var_02);
|
||||
var_02 thread enter_detonate_bomb_sequence(var_02,var_00[var_03]);
|
||||
}
|
||||
|
||||
if(!isdefined(level.bomb_detonation_attempts))
|
||||
{
|
||||
level.bomb_detonation_attempts = 0;
|
||||
}
|
||||
|
||||
level.bomb_detonation_attempts = level.bomb_detonation_attempts + 1;
|
||||
}
|
||||
|
||||
//Function Number: 2
|
||||
exit_early_from_all_active_consumables(param_00)
|
||||
{
|
||||
var_01 = getarraykeys(param_00.var_456B);
|
||||
if(param_00 scripts\cp\_utility::func_212D())
|
||||
{
|
||||
foreach(var_03 in var_01)
|
||||
{
|
||||
if(var_03 == "bh_gun" || var_03 == "atomizer_gun" || var_03 == "claw_gun" || var_03 == "steel_dragon" || var_03 == "penetration_gun")
|
||||
{
|
||||
param_00 notify(var_03 + "_exited_early");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 3
|
||||
refill_fnf_cards_after_bomb_explosion(param_00)
|
||||
{
|
||||
param_00 lib_0D59::reset_meter();
|
||||
param_00 thread lib_0D59::func_1297A();
|
||||
param_00 thread lib_0D59::func_B69D();
|
||||
}
|
||||
|
||||
//Function Number: 4
|
||||
enter_bomb_code(param_00,param_01)
|
||||
{
|
||||
enter_bomb_code_internal(param_00,param_01);
|
||||
}
|
||||
|
||||
//Function Number: 5
|
||||
enter_bomb_code_internal(param_00,param_01)
|
||||
{
|
||||
scripts\cp\_interaction::remove_from_current_interaction_list(param_00);
|
||||
param_01.bomb_interaction_struct = param_00;
|
||||
reset_nuclear_code_progress(param_01);
|
||||
transition_into_enter_bomb_code(param_00,param_01);
|
||||
turn_on_enter_bomb_code_hud(param_01,param_00);
|
||||
param_00 thread run_bomb_counters(param_01,param_00);
|
||||
param_00 thread bomb_counter_selected_monitor(param_01,param_00);
|
||||
param_00 thread player_exit_monitor(param_01,param_00);
|
||||
}
|
||||
|
||||
//Function Number: 6
|
||||
run_bomb_counters(param_00,param_01)
|
||||
{
|
||||
param_00 endon("disconnect");
|
||||
param_01 notify("run_bomb_counters");
|
||||
param_01 endon("exit_enter_bomb_code");
|
||||
param_01 endon("run_bomb_counters");
|
||||
for(;;)
|
||||
{
|
||||
for(var_02 = 0;var_02 < 10;var_02++)
|
||||
{
|
||||
param_00 setclientomnvar("zm_ui_dialpad_0",var_02 + 1);
|
||||
wait(0.1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 7
|
||||
bomb_counter_selected_monitor(param_00,param_01)
|
||||
{
|
||||
param_00 endon("disconnect");
|
||||
param_01 notify("bomb_counter_selected_monitor");
|
||||
param_01 endon("exit_enter_bomb_code");
|
||||
param_01 endon("bomb_counter_selected_monitor");
|
||||
for(;;)
|
||||
{
|
||||
param_00 waittill("luinotifyserver",var_02,var_03);
|
||||
if(var_02 != "bomb_counter_digit")
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if(correct_digit_entered(param_00,var_03))
|
||||
{
|
||||
advance_nuclear_code_progress(param_00,var_03);
|
||||
var_04 = nuclear_code_completed(param_00);
|
||||
correct_sfx(param_00,var_04);
|
||||
if(var_04)
|
||||
{
|
||||
player_complete_nuclear_code(param_01,param_00);
|
||||
}
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
input_wrong_digit(param_01,param_00);
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 8
|
||||
correct_sfx(param_00,param_01)
|
||||
{
|
||||
if(param_01)
|
||||
{
|
||||
param_00 playlocalsound("cp_town_timer_final_pass");
|
||||
return;
|
||||
}
|
||||
|
||||
param_00 playlocalsound("cp_town_timer_single_pass");
|
||||
}
|
||||
|
||||
//Function Number: 9
|
||||
player_exit_monitor(param_00,param_01)
|
||||
{
|
||||
param_00 endon("disconnect");
|
||||
param_01 notify("player_exit_monitor");
|
||||
param_01 endon("exit_enter_bomb_code");
|
||||
param_01 endon("player_exit_monitor");
|
||||
for(;;)
|
||||
{
|
||||
param_00 waittill("luinotifyserver",var_02);
|
||||
if(var_02 != "exit_bomb_counter")
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
param_01 thread delay_enable_interaction(param_01);
|
||||
param_01 thread exit_enter_bomb_code(param_01,param_00);
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 10
|
||||
turn_on_enter_bomb_code_hud(param_00,param_01)
|
||||
{
|
||||
var_02 = anglestoforward(param_01.bomb_panel_model.angles);
|
||||
var_03 = spawn("script_model",param_01.bomb_panel_model.origin + var_02 * 15);
|
||||
var_03 setmodel("tag_origin");
|
||||
var_03.angles = param_01.bomb_counter.angles;
|
||||
param_01.bomb_counter_ent = var_03;
|
||||
param_00 setclientomnvar("zm_ui_dialpad_ent",var_03);
|
||||
param_00 setclientomnvar("zm_ui_dialpad_2",1);
|
||||
param_00 playloopsound("cp_town_timer_lp");
|
||||
}
|
||||
|
||||
//Function Number: 11
|
||||
turn_off_enter_bomb_code_hud(param_00)
|
||||
{
|
||||
param_00 setclientomnvar("zm_ui_dialpad_2",0);
|
||||
param_00 stoploopsound("cp_town_timer_lp");
|
||||
}
|
||||
|
||||
//Function Number: 12
|
||||
enter_detonate_bomb_sequence(param_00,param_01)
|
||||
{
|
||||
turn_off_other_hud(param_00);
|
||||
setup_bomb_panel(param_01);
|
||||
teleport_into_boss_crab(param_00,param_01);
|
||||
turn_on_bomb_status_light(param_01);
|
||||
param_00.weapon_before_bomb_sequence = param_00 scripts\cp\_utility::getweapontoswitchbackto();
|
||||
param_00 scripts\cp\zombies\arcade_game_utility::take_player_super_pre_game();
|
||||
param_00.disable_self_revive_fnf = 1;
|
||||
param_00.allow_carry = 0;
|
||||
param_00.disable_consumables = 1;
|
||||
param_00 store_and_take_perks(param_00);
|
||||
param_00 allowmelee(0);
|
||||
param_00 giveweapon("iw7_gunless_zm");
|
||||
param_00 method_83B6("iw7_gunless_zm");
|
||||
param_00 scripts\common\utility::func_1C76(0);
|
||||
param_00.var_D784 = param_00 scripts\cp\powers\coop_powers::func_7A3C(param_00);
|
||||
param_00 scripts\cp\powers\coop_powers::func_41D0();
|
||||
scripts\cp\_vo::try_to_play_vo_on_all_players("boss_phase_6_crog_inside");
|
||||
}
|
||||
|
||||
//Function Number: 13
|
||||
end_detonate_bomb(param_00)
|
||||
{
|
||||
foreach(var_02 in level.players)
|
||||
{
|
||||
var_02 thread exit_detonate_bomb_sequence(var_02);
|
||||
}
|
||||
|
||||
foreach(var_05 in level.bomb_interaction_structs)
|
||||
{
|
||||
clean_up_bomb_interaction_struct(var_05);
|
||||
}
|
||||
|
||||
delete_bomb_lights();
|
||||
if(scripts\common\utility::istrue(param_00))
|
||||
{
|
||||
level thread crab_boss_death_sequence();
|
||||
}
|
||||
else
|
||||
{
|
||||
scripts\cp\maps\cp_town\cp_town_crab_boss_fight::replay_final_sequence();
|
||||
}
|
||||
|
||||
level notify("end_detonate_bomb");
|
||||
}
|
||||
|
||||
//Function Number: 14
|
||||
crab_boss_death_sequence()
|
||||
{
|
||||
scripts\common\utility::func_6E2A("boss_fight_active");
|
||||
scripts\common\utility::flag_set("boss_fight_finished");
|
||||
if(scripts\cp\zombies\direct_boss_fight::should_directly_go_to_boss_fight())
|
||||
{
|
||||
level.crab_boss.nocorpse = 1;
|
||||
level.crab_boss suicide();
|
||||
level thread scripts\cp\zombies\direct_boss_fight::success_sequence(5,4);
|
||||
return;
|
||||
}
|
||||
|
||||
if(isdefined(level.crab_boss))
|
||||
{
|
||||
level thread crab_boss_death_anim_sequence(level.crab_boss);
|
||||
scripts\cp\maps\cp_town\cp_town_crab_boss_death_wall::deactivate_final_sequence_blocker();
|
||||
scripts\cp\maps\cp_town\cp_town_crab_boss_fight::deactivate_crab_boss_fight_blocker();
|
||||
}
|
||||
|
||||
scripts\cp\maps\cp_town\cp_town_crab_boss_fight::move_lost_and_found("tent");
|
||||
level.force_respawn_location = undefined;
|
||||
level.disable_loot_fly_to_player = 0;
|
||||
level.loot_time_out = undefined;
|
||||
level.var_13BD6 = undefined;
|
||||
level notify("crab_boss_fight_complete");
|
||||
level thread clear_existing_enemies();
|
||||
level thread delay_resume_wave_progression();
|
||||
level thread delay_play_outro();
|
||||
level thread delay_give_rewards();
|
||||
level thread delay_drop_talisman();
|
||||
}
|
||||
|
||||
//Function Number: 15
|
||||
delay_play_outro()
|
||||
{
|
||||
level endon("game_ended");
|
||||
wait(1.15);
|
||||
scripts\cp\_utility::play_bink_video("sysmainunload",67);
|
||||
}
|
||||
|
||||
//Function Number: 16
|
||||
clear_existing_enemies()
|
||||
{
|
||||
foreach(var_01 in level.spawned_enemies)
|
||||
{
|
||||
var_01.var_54CB = 1;
|
||||
var_01.nocorpse = 1;
|
||||
var_01 suicide();
|
||||
}
|
||||
|
||||
scripts\common\utility::func_136F7();
|
||||
}
|
||||
|
||||
//Function Number: 17
|
||||
delay_resume_wave_progression()
|
||||
{
|
||||
level endon("game_ended");
|
||||
wait(71.15);
|
||||
resume_spawn_wave();
|
||||
}
|
||||
|
||||
//Function Number: 18
|
||||
resume_spawn_wave()
|
||||
{
|
||||
level.dont_resume_wave_after_solo_afterlife = undefined;
|
||||
level.var_13FA3 = 0;
|
||||
scripts\common\utility::func_6E2A("pause_wave_progression");
|
||||
}
|
||||
|
||||
//Function Number: 19
|
||||
delay_drop_talisman()
|
||||
{
|
||||
level endon("game_ended");
|
||||
var_00 = (2986,2603,-131);
|
||||
wait(71.15);
|
||||
if(scripts\cp\zombies\directors_cut::directors_cut_is_activated())
|
||||
{
|
||||
level notify("crab_boss_beaten");
|
||||
}
|
||||
|
||||
level thread scripts\cp\zombies\directors_cut::try_drop_talisman(var_00,vectortoangles((0,1,0)));
|
||||
}
|
||||
|
||||
//Function Number: 20
|
||||
delay_give_rewards()
|
||||
{
|
||||
level endon("game_ended");
|
||||
wait(71.15);
|
||||
level.defeated_crogboss = 1;
|
||||
scripts\cp\zombies\directors_cut::give_dc_player_extra_xp_for_carrying_newb();
|
||||
foreach(var_01 in level.players)
|
||||
{
|
||||
var_01 scripts\cp\_merits::func_D9AD("mt_dlc3_boss_killed");
|
||||
var_01 setplayerdata("cp","haveSoulKeys","any_soul_key",1);
|
||||
var_01 setplayerdata("cp","haveSoulKeys","soul_key_4",1);
|
||||
var_01 lib_0D2A::func_12D7C("SOUL_LESS",1);
|
||||
var_01 thread refill_fnf_cards_after_bomb_explosion(var_01);
|
||||
if(!var_01 scripts\cp\_utility::isteleportenabled())
|
||||
{
|
||||
var_01 scripts\cp\_utility::allow_player_teleport(1);
|
||||
}
|
||||
|
||||
if(var_01.var_134FD == "p5_")
|
||||
{
|
||||
var_01 lib_0D2A::func_12D7C("UNPLEASANT_DREAMS",1);
|
||||
}
|
||||
}
|
||||
|
||||
level scripts\cp\_utility::set_completed_quest_mark(4);
|
||||
level thread scripts\cp\_vo::try_to_play_vo("ww_easteregg_complete","rave_announcer_vo","highest",70,0,0,1);
|
||||
wait(scripts\cp\_vo::func_7C76("ww_easteregg_complete") + 5);
|
||||
if(scripts\cp\_music_and_dialog::func_3837())
|
||||
{
|
||||
level thread scripts\cp\_vo::try_to_play_vo("sally_soul_key_1","rave_dialogue_vo","highest",666,0,0,0,100);
|
||||
return;
|
||||
}
|
||||
|
||||
foreach(var_01 in level.players)
|
||||
{
|
||||
if(var_01.var_134FD == "p5_")
|
||||
{
|
||||
var_01 thread scripts\cp\_vo::try_to_play_vo("defeat_radboss","town_comment_vo","low",10,0,0,0,10);
|
||||
}
|
||||
}
|
||||
|
||||
wait(scripts\cp\_vo::func_7C76("el_defeat_radboss"));
|
||||
level thread scripts\cp\maps\cp_town\cp_town::play_willard_elvira_exchange("crogboss_defeat");
|
||||
}
|
||||
|
||||
//Function Number: 21
|
||||
crab_boss_death_anim_sequence(param_00)
|
||||
{
|
||||
level endon("game_ended");
|
||||
if(isalive(param_00))
|
||||
{
|
||||
param_00 scripts\aitypes\crab_boss\behaviors::dodeath(0);
|
||||
param_00 scripts\common\utility::waittill_any_timeout_1(3,"death_done");
|
||||
param_00.nocorpse = 1;
|
||||
param_00 suicide();
|
||||
}
|
||||
|
||||
scripts\cp\zombies\zombies_spawning::func_4FB8(1);
|
||||
level.crab_boss = undefined;
|
||||
}
|
||||
|
||||
//Function Number: 22
|
||||
clean_up_bomb_interaction_struct(param_00)
|
||||
{
|
||||
if(isdefined(param_00.bomb_counter_ent))
|
||||
{
|
||||
param_00.bomb_counter_ent delete();
|
||||
}
|
||||
|
||||
if(isdefined(param_00.bomb_status_light))
|
||||
{
|
||||
param_00.bomb_status_light delete();
|
||||
}
|
||||
|
||||
if(isdefined(param_00.bomb_panel_model))
|
||||
{
|
||||
param_00.bomb_panel_model delete();
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 23
|
||||
exit_detonate_bomb_sequence(param_00)
|
||||
{
|
||||
turn_off_enter_bomb_code_hud(param_00);
|
||||
turn_on_other_hud(param_00);
|
||||
param_00 teleport_out_of_crab_boss(param_00);
|
||||
param_00 scripts\common\utility::func_1C76(1);
|
||||
param_00 takeweapon("iw7_gunless_zm");
|
||||
if(!param_00 hasweapon(param_00.weapon_before_bomb_sequence))
|
||||
{
|
||||
param_00 scripts\cp\_utility::func_12C6(param_00.weapon_before_bomb_sequence,undefined,undefined,1);
|
||||
}
|
||||
|
||||
param_00 switchtoweapon(param_00.weapon_before_bomb_sequence);
|
||||
param_00 scripts\cp\powers\coop_powers::func_E2D1(param_00,param_00.var_D784);
|
||||
param_00 func_E2BD(param_00);
|
||||
param_00 scripts\cp\_utility::func_E2D4();
|
||||
param_00.disable_self_revive_fnf = undefined;
|
||||
param_00.allow_carry = 1;
|
||||
param_00.disable_consumables = undefined;
|
||||
param_00 allowmelee(1);
|
||||
param_00 stoploopsound("cp_town_timer_lp");
|
||||
}
|
||||
|
||||
//Function Number: 24
|
||||
turn_off_other_hud(param_00)
|
||||
{
|
||||
param_00 setclientomnvar("zm_ui_dialpad_4",1);
|
||||
}
|
||||
|
||||
//Function Number: 25
|
||||
turn_on_other_hud(param_00)
|
||||
{
|
||||
param_00 setclientomnvar("zm_ui_dialpad_4",0);
|
||||
}
|
||||
|
||||
//Function Number: 26
|
||||
store_and_take_perks(param_00)
|
||||
{
|
||||
param_00.var_D7C1 = [];
|
||||
if(!isdefined(param_00.var_13FA4))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
foreach(var_03, var_02 in param_00.var_13FA4)
|
||||
{
|
||||
if(scripts\common\utility::istrue(param_00.var_13FA4[var_03]) && should_be_removed_for_bomb_sequence(var_03))
|
||||
{
|
||||
param_00.var_D7C1 = scripts\common\utility::array_add(param_00.var_D7C1,var_03);
|
||||
param_00 lib_0D5D::func_1145C(var_03);
|
||||
bomb_sequence_take_perks_handler(param_00,var_03);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 27
|
||||
bomb_sequence_take_perks_handler(param_00,param_01)
|
||||
{
|
||||
switch(param_01)
|
||||
{
|
||||
case "perk_machine_revive":
|
||||
param_00.var_F1E7--;
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 28
|
||||
should_be_removed_for_bomb_sequence(param_00)
|
||||
{
|
||||
switch(param_00)
|
||||
{
|
||||
case "perk_machine_more":
|
||||
return 0;
|
||||
|
||||
default:
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 29
|
||||
func_E2BD(param_00)
|
||||
{
|
||||
foreach(var_02 in param_00.var_D7C1)
|
||||
{
|
||||
param_00 lib_0D5D::func_834E(var_02,0);
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 30
|
||||
teleport_into_boss_crab(param_00,param_01)
|
||||
{
|
||||
param_00.pre_bomb_code_pos = param_00.origin;
|
||||
param_00.pre_bomb_code_angles = param_00 getplayerangles();
|
||||
var_02 = spawnstruct();
|
||||
var_02.origin = param_01.origin + scripts\cp\_utility::func_13192(anglestoforward(param_01.angles),-25);
|
||||
var_02.angles = param_01.angles;
|
||||
scripts\cp\maps\cp_town\cp_town_fast_travel::move_player_through_portal_tube(param_00,[var_02]);
|
||||
}
|
||||
|
||||
//Function Number: 31
|
||||
randomize_bomb_interaction_structs()
|
||||
{
|
||||
var_00 = scripts\common\utility::array_randomize(level.bomb_interaction_structs);
|
||||
var_01 = [];
|
||||
var_02 = 0;
|
||||
foreach(var_04 in var_00)
|
||||
{
|
||||
var_01[var_02] = var_04;
|
||||
var_02++;
|
||||
}
|
||||
|
||||
return var_01;
|
||||
}
|
||||
|
||||
//Function Number: 32
|
||||
delay_enable_interaction(param_00)
|
||||
{
|
||||
wait(0.5);
|
||||
if(scripts\common\utility::istrue(level.denotate_bomb_timed_out))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
scripts\cp\_interaction::add_to_current_interaction_list(param_00);
|
||||
}
|
||||
|
||||
//Function Number: 33
|
||||
exit_enter_bomb_code(param_00,param_01)
|
||||
{
|
||||
param_01 unlink();
|
||||
param_01 allowstand(1);
|
||||
param_01 allowprone(1);
|
||||
param_01 allowcrouch(1);
|
||||
param_01 setstance(param_01.pre_bomb_code_stance);
|
||||
turn_off_enter_bomb_code_hud(param_01);
|
||||
param_01.bomb_interaction_struct = undefined;
|
||||
param_00.anchor delete();
|
||||
param_00 notify("exit_enter_bomb_code");
|
||||
}
|
||||
|
||||
//Function Number: 34
|
||||
delay_deactivate_bomb_panel(param_00)
|
||||
{
|
||||
wait(0.5);
|
||||
deactivate_bomb_panel(param_00);
|
||||
}
|
||||
|
||||
//Function Number: 35
|
||||
transition_into_enter_bomb_code(param_00,param_01)
|
||||
{
|
||||
var_02 = spawn("script_model",param_01.origin);
|
||||
var_02 setmodel("tag_origin");
|
||||
param_01 playerlinkto(var_02,"tag_origin",1,0,0,0,0,0);
|
||||
param_01.pre_bomb_code_stance = param_01 getstance();
|
||||
param_01 allowprone(0);
|
||||
param_01 allowcrouch(1);
|
||||
param_01 allowstand(0);
|
||||
var_02.angles = param_00.angles + (0,0,0);
|
||||
var_02 moveto(param_00.origin + scripts\cp\_utility::func_13192(anglestoforward(param_00.angles),-15),0.3);
|
||||
param_00.anchor = var_02;
|
||||
var_02 waittill("movedone");
|
||||
}
|
||||
|
||||
//Function Number: 36
|
||||
generate_nuclear_code()
|
||||
{
|
||||
var_00 = [];
|
||||
var_01 = "";
|
||||
var_02 = scripts\common\utility::array_randomize([1,2,3,4,5,6,7,8,9]);
|
||||
for(var_03 = 0;var_03 < 5;var_03++)
|
||||
{
|
||||
var_04 = var_02[var_03];
|
||||
var_00[var_03] = var_04;
|
||||
var_01 = var_01 + var_04;
|
||||
}
|
||||
|
||||
level.nuclear_code = var_00;
|
||||
setomnvar("zm_speaker_defense_timer",int(var_01));
|
||||
}
|
||||
|
||||
//Function Number: 37
|
||||
assign_nuclear_code(param_00,param_01)
|
||||
{
|
||||
param_00.nuclear_code = [];
|
||||
for(var_02 = 0;var_02 < 5;var_02++)
|
||||
{
|
||||
param_00.nuclear_code[var_02] = param_01[var_02];
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 38
|
||||
reset_bomb_interaction_struct()
|
||||
{
|
||||
level.num_of_nuclear_code_entered = 0;
|
||||
foreach(var_01 in level.bomb_interaction_structs)
|
||||
{
|
||||
scripts\cp\_interaction::add_to_current_interaction_list(var_01);
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 39
|
||||
init_bomb_interaction()
|
||||
{
|
||||
level.bomb_interaction_structs = [];
|
||||
var_00 = scripts\common\utility::getstructarray("bomb_start","script_noteworthy");
|
||||
foreach(var_02 in var_00)
|
||||
{
|
||||
var_03 = scripts\common\utility::getstructarray(var_02.target,"targetname");
|
||||
foreach(var_05 in var_03)
|
||||
{
|
||||
switch(var_05.script_noteworthy)
|
||||
{
|
||||
case "bomb_counter":
|
||||
var_02.bomb_counter = var_05;
|
||||
break;
|
||||
|
||||
case "bomb_status":
|
||||
var_02.bomb_status = var_05;
|
||||
break;
|
||||
|
||||
case "bomb_panel":
|
||||
var_02.bomb_panel = var_05;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
var_07 = int(var_02.var_86A2);
|
||||
var_02.index = var_07;
|
||||
level.bomb_interaction_structs[var_07] = var_02;
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 40
|
||||
reset_nuclear_code_progress(param_00)
|
||||
{
|
||||
param_00 setclientomnvar("zm_ui_dialpad_1",-1);
|
||||
param_00 setclientomnvar("zm_ui_dialpad_5",0);
|
||||
param_00.nuclear_code_progress_index = 0;
|
||||
param_00.completed_nuclear_code = "";
|
||||
param_00.times_input_wrong_digits = 0;
|
||||
}
|
||||
|
||||
//Function Number: 41
|
||||
correct_digit_entered(param_00,param_01)
|
||||
{
|
||||
return param_01 == level.nuclear_code[param_00.nuclear_code_progress_index];
|
||||
}
|
||||
|
||||
//Function Number: 42
|
||||
input_wrong_digit(param_00,param_01)
|
||||
{
|
||||
param_01.times_input_wrong_digits++;
|
||||
param_01 setclientomnvar("zm_ui_dialpad_5",param_01.times_input_wrong_digits);
|
||||
wrong_sfx(param_01);
|
||||
if(param_01.times_input_wrong_digits == 3)
|
||||
{
|
||||
param_01 thread flashing_red_strikes(param_01);
|
||||
wait(1.25);
|
||||
param_00 thread delay_enable_interaction(param_00);
|
||||
param_00 thread exit_enter_bomb_code(param_00,param_01);
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 43
|
||||
wrong_sfx(param_00)
|
||||
{
|
||||
if(param_00.times_input_wrong_digits == 3)
|
||||
{
|
||||
param_00 playlocalsound("cp_town_timer_final_fail");
|
||||
return;
|
||||
}
|
||||
|
||||
param_00 playlocalsound("cp_town_timer_single_fail");
|
||||
}
|
||||
|
||||
//Function Number: 44
|
||||
flashing_red_strikes(param_00)
|
||||
{
|
||||
param_00 endon("disconnect");
|
||||
wait(0.2);
|
||||
param_00 setclientomnvar("zm_ui_dialpad_5",5);
|
||||
}
|
||||
|
||||
//Function Number: 45
|
||||
advance_nuclear_code_progress(param_00,param_01)
|
||||
{
|
||||
param_00.nuclear_code_progress_index++;
|
||||
param_00.completed_nuclear_code = param_00.completed_nuclear_code + param_01;
|
||||
param_00 setclientomnvar("zm_ui_dialpad_1",int(param_00.completed_nuclear_code));
|
||||
}
|
||||
|
||||
//Function Number: 46
|
||||
nuclear_code_completed(param_00)
|
||||
{
|
||||
return param_00.nuclear_code_progress_index == 5;
|
||||
}
|
||||
|
||||
//Function Number: 47
|
||||
player_complete_nuclear_code(param_00,param_01)
|
||||
{
|
||||
level.num_of_nuclear_code_entered++;
|
||||
param_01 setclientomnvar("zm_ui_dialpad_5",4);
|
||||
param_00.bomb_status_light setscriptablepartstate("bomb_status","green");
|
||||
level thread check_all_nuclear_code_entered();
|
||||
wait(2);
|
||||
exit_enter_bomb_code(param_00,param_01);
|
||||
}
|
||||
|
||||
//Function Number: 48
|
||||
check_all_nuclear_code_entered()
|
||||
{
|
||||
if(all_nuclear_code_entered())
|
||||
{
|
||||
level thread nuclear_bomb_armed_sequence();
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 49
|
||||
all_nuclear_code_entered()
|
||||
{
|
||||
return level.num_of_nuclear_code_entered == level.players.size;
|
||||
}
|
||||
|
||||
//Function Number: 50
|
||||
nuclear_bomb_armed_sequence()
|
||||
{
|
||||
level notify("nuclear_bomb_armed");
|
||||
foreach(var_01 in level.players)
|
||||
{
|
||||
if(level.bomb_detonation_attempts == 1)
|
||||
{
|
||||
var_01 lib_0D2A::func_12D7C("BELLY_OF_BEAST",1);
|
||||
}
|
||||
}
|
||||
|
||||
scripts\cp\_vo::try_to_play_vo_on_all_players("boss_phase_6_success");
|
||||
wait(3);
|
||||
end_detonate_bomb(1);
|
||||
}
|
||||
|
||||
//Function Number: 51
|
||||
delay_move_status_lights_down()
|
||||
{
|
||||
wait(2);
|
||||
var_00 = scripts\common\utility::getstruct("bomb_lights","script_noteworthy");
|
||||
if(isdefined(var_00.bomb_lights))
|
||||
{
|
||||
var_00.bomb_lights moveto(var_00.bomb_lights.origin - (0,0,8),1.5);
|
||||
}
|
||||
|
||||
foreach(var_02 in level.bomb_interaction_structs)
|
||||
{
|
||||
if(isdefined(var_02.bomb_status_light))
|
||||
{
|
||||
var_02.bomb_status_light moveto(var_02.bomb_status_light.origin - (0,0,8),1.5);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 52
|
||||
teleport_out_of_crab_boss(param_00)
|
||||
{
|
||||
var_01 = spawnstruct();
|
||||
var_01.origin = get_player_post_bomb_code_pos(param_00);
|
||||
var_01.angles = get_player_post_bomb_code_angles(param_00);
|
||||
scripts\cp\maps\cp_town\cp_town_fast_travel::move_player_through_portal_tube(param_00,[var_01]);
|
||||
}
|
||||
|
||||
//Function Number: 53
|
||||
get_player_post_bomb_code_pos(param_00)
|
||||
{
|
||||
if(isdefined(param_00.pre_bomb_code_pos))
|
||||
{
|
||||
return param_00.pre_bomb_code_pos;
|
||||
}
|
||||
|
||||
return (2991,2803,-134);
|
||||
}
|
||||
|
||||
//Function Number: 54
|
||||
get_player_post_bomb_code_angles(param_00)
|
||||
{
|
||||
if(isdefined(param_00.pre_bomb_code_angles))
|
||||
{
|
||||
return param_00.pre_bomb_code_angles;
|
||||
}
|
||||
|
||||
return vectortoangles((530,1733,-97));
|
||||
}
|
||||
|
||||
//Function Number: 55
|
||||
detonate_bomb_timer()
|
||||
{
|
||||
level endon("game_ended");
|
||||
level endon("end_detonate_bomb");
|
||||
level endon("nuclear_bomb_armed");
|
||||
level.denotate_bomb_timed_out = 0;
|
||||
wait(30);
|
||||
level.denotate_bomb_timed_out = 1;
|
||||
foreach(var_01 in level.bomb_interaction_structs)
|
||||
{
|
||||
scripts\cp\_interaction::remove_from_current_interaction_list(var_01);
|
||||
}
|
||||
|
||||
foreach(var_04 in level.players)
|
||||
{
|
||||
if(is_entering_bomb_code(var_04))
|
||||
{
|
||||
var_04.bomb_interaction_struct thread exit_enter_bomb_code(var_04.bomb_interaction_struct,var_04);
|
||||
}
|
||||
}
|
||||
|
||||
scripts\cp\_vo::try_to_play_vo_on_all_players("boss_phase_6_fail");
|
||||
wait(3);
|
||||
end_detonate_bomb(0);
|
||||
}
|
||||
|
||||
//Function Number: 56
|
||||
is_entering_bomb_code(param_00)
|
||||
{
|
||||
return isdefined(param_00.bomb_interaction_struct);
|
||||
}
|
||||
|
||||
//Function Number: 57
|
||||
setup_bomb_panel(param_00)
|
||||
{
|
||||
var_01 = spawn("script_model",param_00.bomb_panel.origin + (0,0,6));
|
||||
var_01 setmodel("cp_town_nuke_panel");
|
||||
var_01.angles = param_00.bomb_panel.angles;
|
||||
var_01.var_C725 = param_00.bomb_panel.origin;
|
||||
var_01.active_origin = param_00.bomb_panel.origin + (0,0,6);
|
||||
param_00.bomb_panel_model = var_01;
|
||||
}
|
||||
|
||||
//Function Number: 58
|
||||
activate_bomb_panel(param_00)
|
||||
{
|
||||
param_00.bomb_panel_model moveto(param_00.bomb_panel_model.active_origin,0.3);
|
||||
}
|
||||
|
||||
//Function Number: 59
|
||||
deactivate_bomb_panel(param_00)
|
||||
{
|
||||
param_00.bomb_panel_model moveto(param_00.bomb_panel_model.var_C725,0.3);
|
||||
}
|
||||
|
||||
//Function Number: 60
|
||||
turn_on_bomb_status_light(param_00)
|
||||
{
|
||||
var_01 = spawn("script_model",param_00.bomb_status.origin);
|
||||
var_01 setmodel("crab_boss_origin");
|
||||
var_01.angles = param_00.bomb_status.angles;
|
||||
var_01 setscriptablepartstate("bomb_status","red");
|
||||
param_00.bomb_status_light = var_01;
|
||||
}
|
||||
|
||||
//Function Number: 61
|
||||
show_bomb_code()
|
||||
{
|
||||
scripts\cp\_utility::set_quest_icon(20);
|
||||
}
|
||||
|
||||
//Function Number: 62
|
||||
setup_bomb_lights()
|
||||
{
|
||||
var_00 = scripts\common\utility::getstruct("bomb_lights","script_noteworthy");
|
||||
var_01 = spawn("script_model",var_00.origin);
|
||||
var_01 setmodel("cp_town_nuke_lights");
|
||||
var_01.angles = var_00.angles;
|
||||
var_00.bomb_lights = var_01;
|
||||
}
|
||||
|
||||
//Function Number: 63
|
||||
move_up(param_00)
|
||||
{
|
||||
param_00 endon("death");
|
||||
param_00 moveto(param_00.origin + (0,0,8),1.5);
|
||||
}
|
||||
|
||||
//Function Number: 64
|
||||
delete_bomb_lights()
|
||||
{
|
||||
var_00 = scripts\common\utility::getstruct("bomb_lights","script_noteworthy");
|
||||
if(isdefined(var_00.bomb_lights))
|
||||
{
|
||||
var_00.bomb_lights delete();
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 65
|
||||
detonate_bomb_test()
|
||||
{
|
||||
}
|
@ -0,0 +1,865 @@
|
||||
/*******************************************************************
|
||||
* Decompiled By: Bog
|
||||
* Decompiled File: scripts\cp\maps\cp_town\cp_town_crab_boss_death_ray.gsc
|
||||
* Game: Call of Duty: Infinite Warfare
|
||||
* Platform: PC
|
||||
* Function Count: 57
|
||||
* Decompile Time: 2924 ms
|
||||
* Timestamp: 10/27/2023 12:07:03 AM
|
||||
*******************************************************************/
|
||||
|
||||
//Function Number: 1
|
||||
hit_weak_spot_with_death_ray_cannon()
|
||||
{
|
||||
enable_all_death_ray_cannons();
|
||||
level thread crab_boss_attack_logic();
|
||||
}
|
||||
|
||||
//Function Number: 2
|
||||
crab_boss_attack_logic()
|
||||
{
|
||||
level.crab_boss endon("stop_death_ray_attack_logic");
|
||||
wait(2.3);
|
||||
level thread delay_player_shellshock();
|
||||
level.crab_boss func_6115();
|
||||
level thread bomb_capture_dialogue();
|
||||
start_death_ray_zombie_spawning();
|
||||
level.crab_boss crab_boss_move_to(scripts\common\utility::func_5D14((3426,3850,-348),100,-500));
|
||||
for(;;)
|
||||
{
|
||||
var_00 = get_target_player();
|
||||
if(isdefined(var_00))
|
||||
{
|
||||
level.crab_boss attack_player(var_00);
|
||||
continue;
|
||||
}
|
||||
|
||||
level.crab_boss scripts\cp\maps\cp_town\cp_town_crab_boss_death_wall::do_taunt();
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 3
|
||||
bomb_capture_dialogue()
|
||||
{
|
||||
level.players[0] thread scripts\cp\_vo::try_to_play_vo("el_deathray_ready","elvira_player_dialogue_vo","highest",70,0,0,1);
|
||||
wait(scripts\cp\_vo::func_7C76("el_deathray_ready") + 10);
|
||||
}
|
||||
|
||||
//Function Number: 4
|
||||
attack_player(param_00)
|
||||
{
|
||||
var_01 = func_7842(param_00);
|
||||
level.crab_boss crab_boss_face_point(param_00.origin);
|
||||
switch(var_01)
|
||||
{
|
||||
case "beam":
|
||||
level.crab_boss crab_boss_beam(param_00);
|
||||
break;
|
||||
|
||||
case "smash":
|
||||
level.crab_boss crab_boss_smash();
|
||||
break;
|
||||
|
||||
case "spawn":
|
||||
level.crab_boss crab_boss_spawn(param_00);
|
||||
break;
|
||||
|
||||
case "bomb":
|
||||
level.crab_boss crab_boss_bomb(param_00);
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 5
|
||||
func_7842(param_00)
|
||||
{
|
||||
if(player_under_overhead_bridge(param_00))
|
||||
{
|
||||
return "beam";
|
||||
}
|
||||
|
||||
if(player_near_left_or_right_cannon(param_00))
|
||||
{
|
||||
return "beam";
|
||||
}
|
||||
|
||||
if(player_near_center_cannon(param_00))
|
||||
{
|
||||
return scripts\common\utility::random(["beam","smash"]);
|
||||
}
|
||||
|
||||
if(player_on_overhead_bridge(param_00))
|
||||
{
|
||||
return scripts\common\utility::random(["spawn"]);
|
||||
}
|
||||
|
||||
if(player_near_crab_boss(param_00))
|
||||
{
|
||||
return scripts\common\utility::random(["beam","smash"]);
|
||||
}
|
||||
|
||||
return scripts\common\utility::random(["spawn","bomb"]);
|
||||
}
|
||||
|
||||
//Function Number: 6
|
||||
player_under_overhead_bridge(param_00)
|
||||
{
|
||||
if(param_00.origin[2] >= 161)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
return param_00.origin[1] >= -300 & param_00.origin[1] <= 1400;
|
||||
}
|
||||
|
||||
//Function Number: 7
|
||||
player_near_left_or_right_cannon(param_00)
|
||||
{
|
||||
if(distancesquared(param_00.origin,(2135,3746,164)) <= 90000)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
if(distancesquared(param_00.origin,(4265,2933,164)) <= 90000)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
//Function Number: 8
|
||||
player_on_overhead_bridge(param_00)
|
||||
{
|
||||
return param_00.origin[2] > 390;
|
||||
}
|
||||
|
||||
//Function Number: 9
|
||||
player_near_center_cannon(param_00)
|
||||
{
|
||||
return distancesquared(param_00.origin,(3014,2250,-44)) <= 90000;
|
||||
}
|
||||
|
||||
//Function Number: 10
|
||||
player_near_crab_boss(param_00)
|
||||
{
|
||||
return distance2d(param_00.origin,level.crab_boss.origin) <= 2200;
|
||||
}
|
||||
|
||||
//Function Number: 11
|
||||
func_6115()
|
||||
{
|
||||
level.crab_boss scripts\aitypes\crab_boss\behaviors::doemerge();
|
||||
level.crab_boss waittill("emerge_complete");
|
||||
}
|
||||
|
||||
//Function Number: 12
|
||||
start_death_ray_zombie_spawning()
|
||||
{
|
||||
level.allow_wave_spawn = 1;
|
||||
scripts\cp\maps\cp_town\cp_town_crab_boss_fight::set_crab_boss_max_zombie_spawn(14,13,12,11);
|
||||
scripts\cp\maps\cp_town\cp_town_crab_boss_fight::set_crab_boss_zombie_spawn_delay(1.1,1.2,1.3,1.4);
|
||||
level.max_wave_spawn_num = 10;
|
||||
level.wait_time_between_wave = 30;
|
||||
scripts\common\utility::flag_set("crab_boss_zombie_spawn");
|
||||
}
|
||||
|
||||
//Function Number: 13
|
||||
attack_center_turret()
|
||||
{
|
||||
level.crab_boss crab_boss_face_point((3014,2250,-44));
|
||||
level.crab_boss crab_boss_smash();
|
||||
}
|
||||
|
||||
//Function Number: 14
|
||||
attack_left_turret()
|
||||
{
|
||||
var_00 = scripts\common\utility::func_5D14((2054,3742,178),100,-200);
|
||||
var_01 = scripts\common\utility::func_5D14((2054,3742,178),100,-200);
|
||||
level.crab_boss crab_boss_face_point((2135,3746,164));
|
||||
level.crab_boss crab_boss_beam(var_00,var_01);
|
||||
}
|
||||
|
||||
//Function Number: 15
|
||||
attack_right_turret()
|
||||
{
|
||||
var_00 = scripts\common\utility::func_5D14((4317,2918,172),100,-200);
|
||||
var_01 = scripts\common\utility::func_5D14((4317,2918,172),100,-200);
|
||||
level.crab_boss crab_boss_face_point((4265,2933,164));
|
||||
level.crab_boss crab_boss_beam(var_00,var_01);
|
||||
}
|
||||
|
||||
//Function Number: 16
|
||||
attack_back_turret()
|
||||
{
|
||||
var_00 = (2657,750,470);
|
||||
var_01 = 100;
|
||||
var_02 = 10;
|
||||
level.crab_boss crab_boss_face_point((2686,807,421));
|
||||
level.crab_boss crab_boss_bomb(var_00,var_01,var_02);
|
||||
}
|
||||
|
||||
//Function Number: 17
|
||||
crab_boss_move_to(param_00)
|
||||
{
|
||||
level.crab_boss crab_boss_face_point(param_00);
|
||||
level.crab_boss scripts\aitypes\crab_boss\behaviors::bossmoveto(0,param_00);
|
||||
level.crab_boss waittill("move_complete");
|
||||
}
|
||||
|
||||
//Function Number: 18
|
||||
crab_boss_face_point(param_00)
|
||||
{
|
||||
if(level.crab_boss scripts\aitypes\crab_boss\behaviors::facepoint(0,param_00))
|
||||
{
|
||||
level.crab_boss waittill("turn_done");
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 19
|
||||
crab_boss_smash()
|
||||
{
|
||||
level.crab_boss scripts\aitypes\crab_boss\behaviors::dosmashattack(0);
|
||||
level.crab_boss waittill("smash_done");
|
||||
}
|
||||
|
||||
//Function Number: 20
|
||||
crab_boss_beam(param_00)
|
||||
{
|
||||
level.crab_boss scripts\aitypes\crab_boss\behaviors::beamattackposition(0,param_00);
|
||||
level.crab_boss waittill("beam_done");
|
||||
}
|
||||
|
||||
//Function Number: 21
|
||||
crab_boss_spawn(param_00)
|
||||
{
|
||||
var_01 = scripts\cp\maps\cp_town\cp_town_crab_boss_fight::get_num_alive_agent_of_type("crab_mini");
|
||||
if(var_01 >= 8)
|
||||
{
|
||||
level.crab_boss crab_boss_bomb(param_00);
|
||||
return;
|
||||
}
|
||||
|
||||
level.crab_boss scripts\aitypes\crab_boss\behaviors::dodeathrayspawn(param_00);
|
||||
level.crab_boss waittill("toxic_spawn_done");
|
||||
}
|
||||
|
||||
//Function Number: 22
|
||||
crab_boss_bomb(param_00)
|
||||
{
|
||||
level.crab_boss.bomb_target = param_00;
|
||||
level.crab_boss scripts\aitypes\crab_boss\behaviors::dobombattack(0);
|
||||
level.crab_boss waittill("bomb_done");
|
||||
}
|
||||
|
||||
//Function Number: 23
|
||||
set_up_death_ray_cannons()
|
||||
{
|
||||
level.death_ray_cannons = [];
|
||||
var_00 = scripts\common\utility::getstructarray("death_ray_cannon","script_noteworthy");
|
||||
foreach(var_02 in var_00)
|
||||
{
|
||||
var_03 = spawnturret("misc_turret",var_02.origin,"death_ray_cannon_zm");
|
||||
var_03 setmodel("cp_town_laser_death_ray");
|
||||
var_03 method_830F("manual");
|
||||
var_03 method_83C6();
|
||||
var_03 makeunusable();
|
||||
var_03 method_82D1(30);
|
||||
var_03 method_81F7();
|
||||
var_03 sethintstring(&"CP_TOWN_USE_DEATH_RAY_CANNON");
|
||||
var_03.angles = var_02.angles;
|
||||
var_03 set_arc_value(var_03);
|
||||
var_03.not_ready_hint = set_up_not_ready_hint(var_03);
|
||||
var_03 thread death_ray_player_use_monitor(var_03);
|
||||
var_04 = get_death_ray_cannon_location(var_03);
|
||||
level.death_ray_cannons[var_04] = var_03;
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 24
|
||||
set_up_not_ready_hint(param_00)
|
||||
{
|
||||
var_01 = get_not_ready_hint_pos(param_00);
|
||||
var_02 = spawnstruct();
|
||||
var_02.name = "death_ray_cannon";
|
||||
var_02.script_noteworthy = "death_ray_cannon";
|
||||
var_02.origin = var_01;
|
||||
var_02.cost = 0;
|
||||
var_02.var_D776 = 1;
|
||||
var_02.var_109DA = undefined;
|
||||
var_02.var_EE79 = "";
|
||||
var_02.var_E1B9 = 0;
|
||||
var_02.var_8FFA = ::death_ray_hint_func;
|
||||
var_02.var_161A = ::scripts\cp\maps\cp_town\cp_town_interactions::blankusefunc;
|
||||
var_02.var_6261 = 1;
|
||||
var_02.disable_guided_interactions = 1;
|
||||
scripts\cp\_interaction::add_to_current_interaction_list(var_02);
|
||||
return var_02;
|
||||
}
|
||||
|
||||
//Function Number: 25
|
||||
get_not_ready_hint_pos(param_00)
|
||||
{
|
||||
if(param_00.origin == (2160,3768,144))
|
||||
{
|
||||
return (2144,3768,153);
|
||||
}
|
||||
|
||||
if(param_00.origin == (4244,2947,144))
|
||||
{
|
||||
return (4254,2942,152);
|
||||
}
|
||||
|
||||
if(param_00.origin == (3014,2287,-49))
|
||||
{
|
||||
return (3013,2264,-48);
|
||||
}
|
||||
|
||||
if(param_00.origin == (2683,847.5,410))
|
||||
{
|
||||
return (2680,822,414);
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 26
|
||||
disable_all_death_ray_cannons()
|
||||
{
|
||||
foreach(var_01 in level.death_ray_cannons)
|
||||
{
|
||||
var_01 makeunusable();
|
||||
var_01 method_82D1(30);
|
||||
scripts\cp\_interaction::add_to_current_interaction_list(var_01.not_ready_hint);
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 27
|
||||
enable_all_death_ray_cannons()
|
||||
{
|
||||
foreach(var_01 in level.death_ray_cannons)
|
||||
{
|
||||
var_01 makeusable();
|
||||
var_01 method_82D1(0);
|
||||
scripts\cp\_interaction::remove_from_current_interaction_list(var_01.not_ready_hint);
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 28
|
||||
load_death_ray_cannon_vfx()
|
||||
{
|
||||
level._effect["death_ray_cannon_beam"] = loadfx("vfx/iw7/levels/cp_town/death_ray_cannon_beam.vfx");
|
||||
level._effect["death_ray_cannon_muzzle_flash"] = loadfx("vfx/iw7/levels/cp_town/death_ray_cannon_muzzle_flash.vfx");
|
||||
level._effect["death_ray_cannon_buildup"] = loadfx("vfx/iw7/levels/cp_town/cannon/vfx_cannon_buildup.vfx");
|
||||
level._effect["death_ray_cannon_buildup_cancel"] = loadfx("vfx/iw7/levels/cp_town/cannon/vfx_cannon_build_cancel.vfx");
|
||||
level._effect["death_ray_cannon_water_impact"] = loadfx("vfx/iw7/levels/cp_town/cannon/vfx_wtr_impact.vfx");
|
||||
level._effect["death_ray_cannon_sand_impact"] = loadfx("vfx/iw7/levels/cp_town/cannon/vfx_sand_impact.vfx");
|
||||
level._effect["death_ray_cannon_rock_impact"] = loadfx("vfx/iw7/levels/cp_town/cannon/vfx_rock_impact.vfx");
|
||||
level._effect["death_ray_cannon_wood_impact"] = loadfx("vfx/iw7/levels/cp_town/cannon/vfx_wood_impact.vfx");
|
||||
level._effect["death_ray_cannon_weak_spot_impact"] = loadfx("vfx/iw7/levels/cp_town/crog/vfx_bcrog_imp_blood.vfx");
|
||||
level._effect["death_ray_cannon_ricochet"] = loadfx("vfx/iw7/levels/cp_town/crog/vfx_bcrog_imp_ricochet.vfx");
|
||||
level._effect["crab_boss_smash_attack"] = loadfx("vfx/iw7/levels/cp_town/crog/vfx_claw_smash_imp.vfx");
|
||||
level._effect["crab_boss_beam_attack"] = loadfx("vfx/iw7/levels/cp_town/crog/vfx_lure_laser_beam.vfx");
|
||||
level._effect["crab_boss_beam_impact"] = loadfx("vfx/iw7/levels/cp_town/crog/vfx_laser_buildup_imp.vfx");
|
||||
level._effect["crab_boss_beam_impact_buildup"] = loadfx("vfx/iw7/levels/cp_town/crog/vfx_beam_attack_buildup.vfx");
|
||||
}
|
||||
|
||||
//Function Number: 29
|
||||
death_ray_player_use_monitor(param_00)
|
||||
{
|
||||
var_01 = int(20);
|
||||
for(;;)
|
||||
{
|
||||
param_00 waittill("trigger",var_02);
|
||||
var_02 playlocalsound("town_weap_mount_turret_plr");
|
||||
var_03 = 0;
|
||||
var_04 = 0;
|
||||
show_charge_progress(var_02);
|
||||
update_charge_progress(var_02,var_04 / var_01);
|
||||
var_02 thread leave_death_ray_cannon_monitor(var_02);
|
||||
while(var_02 isusingturret())
|
||||
{
|
||||
if(var_02 attackbuttonpressed())
|
||||
{
|
||||
if(!var_03)
|
||||
{
|
||||
param_00 playsound("town_laser_cannon_charge");
|
||||
playfxontag(level._effect["death_ray_cannon_buildup"],param_00,"tag_flash");
|
||||
var_03 = 1;
|
||||
}
|
||||
|
||||
var_04 = var_04 + 1;
|
||||
update_charge_progress(var_02,var_04 + 1 / var_01);
|
||||
}
|
||||
else
|
||||
{
|
||||
if(var_03)
|
||||
{
|
||||
param_00 method_83AD();
|
||||
killfxontag(level._effect["death_ray_cannon_muzzle_flash"],param_00,"tag_flash");
|
||||
killfxontag(level._effect["death_ray_cannon_buildup"],param_00,"tag_flash");
|
||||
playfxontag(level._effect["death_ray_cannon_buildup_cancel"],param_00,"tag_flash");
|
||||
var_03 = 0;
|
||||
}
|
||||
|
||||
var_04 = 0;
|
||||
update_charge_progress(var_02,var_04 / var_01);
|
||||
}
|
||||
|
||||
if(var_04 == var_01)
|
||||
{
|
||||
if(var_03)
|
||||
{
|
||||
stopfxontag(level._effect["death_ray_cannon_buildup"],param_00,"tag_flash");
|
||||
var_03 = 0;
|
||||
}
|
||||
|
||||
var_04 = 0;
|
||||
update_charge_progress(var_02,var_04 / var_01);
|
||||
fire_death_ray_cannon(param_00,var_02);
|
||||
}
|
||||
|
||||
scripts\common\utility::func_136F7();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 30
|
||||
show_charge_progress(param_00)
|
||||
{
|
||||
param_00 setclientomnvar("zm_ui_num_targets_escaped",1);
|
||||
}
|
||||
|
||||
//Function Number: 31
|
||||
hide_charge_progress(param_00)
|
||||
{
|
||||
param_00 setclientomnvar("zm_ui_num_targets_escaped",0);
|
||||
}
|
||||
|
||||
//Function Number: 32
|
||||
update_charge_progress(param_00,param_01)
|
||||
{
|
||||
param_00 setclientomnvar("zom_entangler_progress_percent",param_01);
|
||||
}
|
||||
|
||||
//Function Number: 33
|
||||
leave_death_ray_cannon_monitor(param_00)
|
||||
{
|
||||
param_00 endon("disconnect");
|
||||
while(param_00 isusingturret())
|
||||
{
|
||||
scripts\common\utility::func_136F7();
|
||||
}
|
||||
|
||||
param_00 playlocalsound("town_weap_unmount_turret_plr");
|
||||
hide_charge_progress(param_00);
|
||||
}
|
||||
|
||||
//Function Number: 34
|
||||
activate_weak_spot()
|
||||
{
|
||||
var_00 = level.crab_boss.crab_boss_weak_spot;
|
||||
var_00 thread func_4D07(var_00);
|
||||
}
|
||||
|
||||
//Function Number: 35
|
||||
func_4D07(param_00)
|
||||
{
|
||||
param_00 endon("death");
|
||||
level.crab_boss endon("stop_death_ray_attack_logic");
|
||||
param_00.health = 9999999;
|
||||
param_00 setcandamage(1);
|
||||
for(;;)
|
||||
{
|
||||
param_00 waittill("damage",var_01,var_02,var_03,var_04,var_05,var_06,var_07,var_08,var_09,var_0A);
|
||||
param_00.health = 9999999;
|
||||
if(isplayer(var_02))
|
||||
{
|
||||
var_02 scripts\cp\_damage::func_12E84("pink_arcane_cp");
|
||||
var_0B = 1;
|
||||
if(isdefined(var_0A) && issubstr(var_0A,"iw7_lockon_zm"))
|
||||
{
|
||||
level.crab_boss playsound("boss_crog_hit_gore");
|
||||
level.crab_boss playsound("boss_crog_pain");
|
||||
var_0B = 4500;
|
||||
playfxontag(level._effect["death_ray_cannon_weak_spot_impact"],level.crab_boss.crab_boss_weak_spot,"tag_origin");
|
||||
}
|
||||
|
||||
level notify("crab_boss_weak_spot_hit",var_0B);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 36
|
||||
fire_death_ray_cannon(param_00,param_01)
|
||||
{
|
||||
param_00 playsound("town_laser_cannon_fire");
|
||||
var_02 = param_00 gettagorigin("tag_flash");
|
||||
playfxontag(level._effect["death_ray_cannon_muzzle_flash"],param_00,"tag_flash");
|
||||
var_03 = get_death_ray_trace(param_01);
|
||||
var_04 = get_death_ray_physics_trace(param_01);
|
||||
function_02E0(level._effect["death_ray_cannon_beam"],var_02,vectortoangles(var_03["position"] - var_02),var_03["position"]);
|
||||
play_impact_vfx(var_03,var_04);
|
||||
if(is_crab_boss_weak_spot(var_03))
|
||||
{
|
||||
level.crab_boss playsound("boss_crog_hit_gore");
|
||||
level.crab_boss playsound("boss_crog_pain");
|
||||
level.crab_boss scripts\aitypes\crab_boss\behaviors::interruptcurrentstate();
|
||||
param_01 scripts\cp\_damage::func_12E84("pink_arcane_cp");
|
||||
level.crab_boss.reveal_weak_spot = 1;
|
||||
level notify("crab_boss_weak_spot_initial_hit");
|
||||
level notify("crab_boss_weak_spot_hit",15000);
|
||||
}
|
||||
|
||||
earthquake(0.6,0.5,param_00.origin,100);
|
||||
param_00 method_83C7();
|
||||
param_00 method_837E();
|
||||
scripts\common\utility::func_136F7();
|
||||
param_00 method_83C6();
|
||||
kill_nearby_mini_crab(var_03["position"],param_01);
|
||||
death_ray_cannon_cool_down(param_00,param_01);
|
||||
}
|
||||
|
||||
//Function Number: 37
|
||||
kill_nearby_mini_crab(param_00,param_01)
|
||||
{
|
||||
var_02 = -25536;
|
||||
var_03 = 10000;
|
||||
foreach(var_05 in level.spawned_enemies)
|
||||
{
|
||||
if(distancesquared(var_05.origin,param_00) <= var_02)
|
||||
{
|
||||
var_05.ragdollimpactvector = vectornormalize(var_05.origin - param_00) * var_03;
|
||||
var_05.ragdollhitloc = "torso_lower";
|
||||
var_05 dodamage(var_05.health,param_00,param_01);
|
||||
param_01 scripts\cp\_damage::func_12E84("hitaliensoft");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 38
|
||||
death_ray_cannon_cool_down(param_00,param_01)
|
||||
{
|
||||
param_01 thread death_ray_cannon_cool_down_hud_manager(param_01);
|
||||
param_00 makeunusable();
|
||||
wait(1);
|
||||
param_00 makeusable();
|
||||
}
|
||||
|
||||
//Function Number: 39
|
||||
death_ray_cannon_cool_down_hud_manager(param_00)
|
||||
{
|
||||
param_00 endon("disconnect");
|
||||
param_00 setclientomnvar("zm_ui_num_targets_escaped",2);
|
||||
var_01 = int(20);
|
||||
for(var_02 = 0;var_02 < var_01;var_02++)
|
||||
{
|
||||
if(param_00 isusingturret())
|
||||
{
|
||||
scripts\common\utility::func_136F7();
|
||||
continue;
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
param_00 setclientomnvar("zm_ui_num_targets_escaped",1);
|
||||
}
|
||||
|
||||
//Function Number: 40
|
||||
get_death_ray_trace(param_00)
|
||||
{
|
||||
var_01 = anglestoforward(param_00 getplayerangles());
|
||||
var_02 = param_00 geteye();
|
||||
return bullettrace(var_02,var_02 + var_01 * 5000,0,param_00);
|
||||
}
|
||||
|
||||
//Function Number: 41
|
||||
get_death_ray_physics_trace(param_00)
|
||||
{
|
||||
var_01 = anglestoforward(param_00 getplayerangles());
|
||||
var_02 = param_00 geteye();
|
||||
return scripts\common\trace::func_DCEE(var_02,var_02 + var_01 * 5000,param_00,undefined,1);
|
||||
}
|
||||
|
||||
//Function Number: 42
|
||||
play_impact_vfx(param_00,param_01)
|
||||
{
|
||||
var_02 = get_vfx_alias(param_00,param_01);
|
||||
var_03 = get_vfx_loc(param_00,param_01);
|
||||
var_04 = vectortoangles(param_00["normal"]);
|
||||
if(var_02 == "death_ray_cannon_weak_spot_impact")
|
||||
{
|
||||
playfxontag(level._effect["death_ray_cannon_weak_spot_impact"],level.crab_boss.crab_boss_weak_spot,"tag_origin");
|
||||
return;
|
||||
}
|
||||
|
||||
playfx(level._effect[var_02],var_03,anglestoright(var_04),param_00["normal"]);
|
||||
}
|
||||
|
||||
//Function Number: 43
|
||||
get_vfx_loc(param_00,param_01)
|
||||
{
|
||||
if(is_crab_boss(param_01))
|
||||
{
|
||||
return param_01["position"];
|
||||
}
|
||||
|
||||
return param_00["position"];
|
||||
}
|
||||
|
||||
//Function Number: 44
|
||||
get_vfx_alias(param_00,param_01)
|
||||
{
|
||||
if(is_crab_boss_weak_spot(param_00))
|
||||
{
|
||||
return "death_ray_cannon_weak_spot_impact";
|
||||
}
|
||||
|
||||
if(is_crab_boss(param_01))
|
||||
{
|
||||
return "death_ray_cannon_ricochet";
|
||||
}
|
||||
|
||||
switch(param_00["surfacetype"])
|
||||
{
|
||||
case "wood_solid":
|
||||
return "death_ray_cannon_wood_impact";
|
||||
|
||||
case "water":
|
||||
case "water_waist":
|
||||
return "death_ray_cannon_water_impact";
|
||||
|
||||
case "rock":
|
||||
case "dirt":
|
||||
return "death_ray_cannon_rock_impact";
|
||||
|
||||
default:
|
||||
return "death_ray_cannon_sand_impact";
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 45
|
||||
is_crab_boss(param_00)
|
||||
{
|
||||
return isdefined(param_00["entity"]) && isdefined(level.crab_boss) && param_00["entity"] == level.crab_boss;
|
||||
}
|
||||
|
||||
//Function Number: 46
|
||||
is_crab_boss_weak_spot(param_00)
|
||||
{
|
||||
return isdefined(param_00["entity"]) && scripts\common\utility::istrue(param_00["entity"].is_crab_boss_weak_spot);
|
||||
}
|
||||
|
||||
//Function Number: 47
|
||||
set_up_weak_spot()
|
||||
{
|
||||
var_00 = level.crab_boss gettagorigin("j_spineupper");
|
||||
var_01 = spawn("script_model",var_00);
|
||||
var_01 setmodel("zmb_crabboss_weak_spot");
|
||||
var_01 linkto(level.crab_boss,"j_spineupper",(0,-125,0),(90,-55,0));
|
||||
var_01 hide();
|
||||
var_01.is_crab_boss_weak_spot = 1;
|
||||
var_02 = spawn("script_model",var_00);
|
||||
var_02 setmodel("crab_boss_origin");
|
||||
var_02 linkto(var_01,"tag_origin");
|
||||
level.crab_boss.crab_boss_weak_spot = var_01;
|
||||
level.crab_boss.crab_boss_weak_vfx = var_02;
|
||||
}
|
||||
|
||||
//Function Number: 48
|
||||
get_death_ray_cannon_location(param_00)
|
||||
{
|
||||
var_01 = (2112,3748,217);
|
||||
var_02 = (4254,2948,211);
|
||||
var_03 = (3018,2267,11);
|
||||
var_04 = (2679,835,476);
|
||||
var_05 = 90000;
|
||||
if(distance2dsquared(var_01,param_00.origin) < var_05)
|
||||
{
|
||||
return "left";
|
||||
}
|
||||
|
||||
if(distance2dsquared(var_02,param_00.origin) < var_05)
|
||||
{
|
||||
return "right";
|
||||
}
|
||||
|
||||
if(distance2dsquared(var_03,param_00.origin) < var_05)
|
||||
{
|
||||
return "center";
|
||||
}
|
||||
|
||||
if(distance2dsquared(var_04,param_00.origin) < var_05)
|
||||
{
|
||||
return "back";
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 49
|
||||
mini_crab_spawning_logic()
|
||||
{
|
||||
level.crab_boss endon("stop_death_ray_attack_logic");
|
||||
wait(16);
|
||||
level thread increasing_max_mini_crab_count();
|
||||
for(var_00 = 0;var_00 < 10;var_00++)
|
||||
{
|
||||
spawn_one_mini_crab();
|
||||
scripts\common\utility::func_136F7();
|
||||
}
|
||||
|
||||
for(;;)
|
||||
{
|
||||
while(level.spawned_enemies.size < level.max_mini_crab_count)
|
||||
{
|
||||
spawn_one_mini_crab();
|
||||
wait(3);
|
||||
}
|
||||
|
||||
scripts\common\utility::func_136F7();
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 50
|
||||
increasing_max_mini_crab_count()
|
||||
{
|
||||
level.crab_boss endon("stop_death_ray_attack_logic");
|
||||
for(var_00 = 10;var_00 <= 23;var_00++)
|
||||
{
|
||||
level.max_mini_crab_count = var_00;
|
||||
wait(20);
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 51
|
||||
spawn_one_mini_crab()
|
||||
{
|
||||
var_00 = 70;
|
||||
var_01 = [(4208,3491,-198),(4066,3438,-198),(3873,3338,-198),(3657,3262,-198),(3422,3258,-198),(3180,3296,-198),(2917,3462,-198),(2813,3652,-198),(2698,3841,-198),(2655,4036,-198)];
|
||||
var_02 = scripts\common\utility::random(var_01);
|
||||
var_03 = randomfloatrange(var_00 * -1,var_00);
|
||||
var_04 = randomfloatrange(var_00 * -1,var_00);
|
||||
var_02 = (var_02[0] + var_03,var_02[1] + var_04,var_02[2]);
|
||||
var_02 = getclosestpointonnavmesh(var_02);
|
||||
var_05 = make_mini_crab_spawner(var_02);
|
||||
var_06 = var_05 scripts\cp\zombies\zombies_spawning::func_1081B("crab_mini",1,var_05);
|
||||
}
|
||||
|
||||
//Function Number: 52
|
||||
make_mini_crab_spawner(param_00)
|
||||
{
|
||||
var_01 = spawnstruct();
|
||||
var_01.origin = param_00;
|
||||
var_01.angles = (0,256,0);
|
||||
return var_01;
|
||||
}
|
||||
|
||||
//Function Number: 53
|
||||
set_arc_value(param_00)
|
||||
{
|
||||
var_01 = get_death_ray_cannon_location(param_00);
|
||||
switch(var_01)
|
||||
{
|
||||
case "left":
|
||||
param_00 method_82FB(60);
|
||||
param_00 method_8330(60);
|
||||
param_00 method_8353(14);
|
||||
param_00 method_82B6(30);
|
||||
break;
|
||||
|
||||
case "right":
|
||||
param_00 method_82FB(60);
|
||||
param_00 method_8330(60);
|
||||
param_00 method_8353(14);
|
||||
param_00 method_82B6(30);
|
||||
break;
|
||||
|
||||
case "center":
|
||||
param_00 method_82FB(60);
|
||||
param_00 method_8330(60);
|
||||
param_00 method_8353(14);
|
||||
param_00 method_82B6(30);
|
||||
break;
|
||||
|
||||
case "back":
|
||||
param_00 method_82FB(60);
|
||||
param_00 method_8330(60);
|
||||
param_00 method_8353(5);
|
||||
param_00 method_82B6(50);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 54
|
||||
crab_boss_pain_and_heal()
|
||||
{
|
||||
level.crab_boss scripts\aitypes\crab_boss\behaviors::func_5A5A(5);
|
||||
level.crab_boss waittill("pain_done");
|
||||
level.crab_boss crab_boss_face_point((3014,2250,-44));
|
||||
}
|
||||
|
||||
//Function Number: 55
|
||||
get_target_player()
|
||||
{
|
||||
var_00 = undefined;
|
||||
var_01 = [];
|
||||
foreach(var_03 in level.players)
|
||||
{
|
||||
if(scripts\cp\_laststand::player_in_laststand(var_03))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
var_01[var_01.size] = var_03;
|
||||
}
|
||||
|
||||
var_05 = gettime();
|
||||
foreach(var_03 in var_01)
|
||||
{
|
||||
if(!isdefined(var_03.last_attacked_by_crab_boss_time))
|
||||
{
|
||||
var_03.last_attacked_by_crab_boss_time = var_05;
|
||||
}
|
||||
}
|
||||
|
||||
var_08 = undefined;
|
||||
foreach(var_03 in var_01)
|
||||
{
|
||||
if(!isdefined(var_08))
|
||||
{
|
||||
var_08 = var_03.last_attacked_by_crab_boss_time;
|
||||
var_00 = var_03;
|
||||
continue;
|
||||
}
|
||||
|
||||
if(var_03.last_attacked_by_crab_boss_time < var_08)
|
||||
{
|
||||
var_08 = var_03.last_attacked_by_crab_boss_time;
|
||||
var_00 = var_03;
|
||||
}
|
||||
}
|
||||
|
||||
if(isdefined(var_00))
|
||||
{
|
||||
var_00.last_attacked_by_crab_boss_time = var_05;
|
||||
}
|
||||
|
||||
return var_00;
|
||||
}
|
||||
|
||||
//Function Number: 56
|
||||
delay_player_shellshock()
|
||||
{
|
||||
level endon("game_ended");
|
||||
level.crab_boss endon("death");
|
||||
var_00 = 2;
|
||||
wait(7);
|
||||
earthquake(0.2,var_00,level.crab_boss.origin,5000);
|
||||
}
|
||||
|
||||
//Function Number: 57
|
||||
death_ray_hint_func(param_00,param_01)
|
||||
{
|
||||
return &"CP_TOWN_DEATH_RAY_NOT_READY";
|
||||
}
|
@ -0,0 +1,848 @@
|
||||
/*******************************************************************
|
||||
* Decompiled By: Bog
|
||||
* Decompiled File: scripts\cp\maps\cp_town\cp_town_crab_boss_death_wall.gsc
|
||||
* Game: Call of Duty: Infinite Warfare
|
||||
* Platform: PC
|
||||
* Function Count: 47
|
||||
* Decompile Time: 2462 ms
|
||||
* Timestamp: 10/27/2023 12:07:05 AM
|
||||
*******************************************************************/
|
||||
|
||||
//Function Number: 1
|
||||
wall_of_death()
|
||||
{
|
||||
wall_of_death_zombie_spawn_initial_settings();
|
||||
level thread instant_player_revive_loop();
|
||||
level thread try_wait_for_players_activate_teleporter();
|
||||
level thread escort_teleporter_manager();
|
||||
level thread crab_boss_wall_of_death_logic();
|
||||
level waittill("wall_of_death_completed");
|
||||
}
|
||||
|
||||
//Function Number: 2
|
||||
instant_player_revive_loop()
|
||||
{
|
||||
level endon("game_ended");
|
||||
level endon("players_trigger_vehicle_teleporter");
|
||||
var_00 = 60;
|
||||
for(;;)
|
||||
{
|
||||
revive_players_from_afterlife();
|
||||
wait(var_00);
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 3
|
||||
wall_of_death_zombie_spawn_initial_settings()
|
||||
{
|
||||
level.allow_wave_spawn = 0;
|
||||
scripts\cp\maps\cp_town\cp_town_crab_boss_fight::set_crab_boss_max_zombie_spawn(15,15,15,15);
|
||||
scripts\cp\maps\cp_town\cp_town_crab_boss_fight::set_crab_boss_zombie_spawn_delay(1,1,1,1);
|
||||
scripts\common\utility::flag_set("crab_boss_zombie_spawn");
|
||||
}
|
||||
|
||||
//Function Number: 4
|
||||
wall_of_death_zombie_spawn_post_activation_settings()
|
||||
{
|
||||
scripts\cp\maps\cp_town\cp_town_crab_boss_fight::set_crab_boss_max_zombie_spawn(15,15,15,15);
|
||||
scripts\cp\maps\cp_town\cp_town_crab_boss_fight::set_crab_boss_zombie_spawn_delay(0.2,0.2,0.2,0.2);
|
||||
}
|
||||
|
||||
//Function Number: 5
|
||||
crab_boss_wall_of_death_logic()
|
||||
{
|
||||
level.crab_boss toxic_gas_attack();
|
||||
}
|
||||
|
||||
//Function Number: 6
|
||||
try_wait_for_players_activate_teleporter()
|
||||
{
|
||||
if(!scripts\common\utility::istrue(level.player_activated_teleporter))
|
||||
{
|
||||
level thread scripts\cp\_vo::try_to_play_vo("el_evirasbook_1","rave_announcer_vo","highest",70,0,0,1);
|
||||
level waittill("players_trigger_vehicle_teleporter");
|
||||
activate_final_sequence_blocker();
|
||||
level thread teleport_trapped_ai();
|
||||
scripts\cp\maps\cp_town\cp_town_crab_boss_death_ray::disable_all_death_ray_cannons();
|
||||
level.player_activated_teleporter = 1;
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 7
|
||||
teleport_trapped_ai()
|
||||
{
|
||||
level endon("game_ended");
|
||||
scripts\common\utility::func_136F7();
|
||||
foreach(var_01 in level.spawned_enemies)
|
||||
{
|
||||
if(!isdefined(var_01) && isalive(var_01))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if(var_01.agent_type == "crab_boss")
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if(agent_is_trapped(var_01))
|
||||
{
|
||||
teleport_to_clear_pos(var_01);
|
||||
}
|
||||
}
|
||||
|
||||
if(isdefined(level.elvira_ai) && agent_is_trapped(level.elvira_ai))
|
||||
{
|
||||
teleport_to_clear_pos(level.elvira_ai);
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 8
|
||||
agent_is_trapped(param_00)
|
||||
{
|
||||
if(param_00.origin[2] >= -56)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
if(param_00.origin[1] <= 1700)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
if(param_00.origin[0] >= 3600)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
//Function Number: 9
|
||||
teleport_to_clear_pos(param_00)
|
||||
{
|
||||
var_01 = (3004,1587,-77);
|
||||
var_02 = 100;
|
||||
var_03 = randomfloatrange(var_02 * -1,var_02);
|
||||
var_04 = randomfloatrange(var_02 * -1,var_02);
|
||||
var_05 = var_01 + (var_03,var_04,0);
|
||||
var_05 = getclosestpointonnavmesh(var_05) + (0,0,2);
|
||||
param_00 dontinterpolate();
|
||||
param_00 setorigin(var_05);
|
||||
}
|
||||
|
||||
//Function Number: 10
|
||||
toxic_gas_attack()
|
||||
{
|
||||
for(;;)
|
||||
{
|
||||
level.crab_boss do_taunt();
|
||||
if(scripts\common\utility::istrue(level.escort_vehicle.teleporter_activated))
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
wall_of_death_zombie_spawn_post_activation_settings();
|
||||
scripts\cp\_vo::try_to_play_vo_on_all_players("boss_phase_4_wod_retreat");
|
||||
for(var_00 = 1;var_00 <= 3;var_00++)
|
||||
{
|
||||
adjust_zombie_spawn(var_00);
|
||||
level thread wall_goo_geiger_sfx(var_00);
|
||||
if(scripts\common\utility::istrue(level.first_wall_of_death_complete))
|
||||
{
|
||||
level.crab_boss_toxic_attack_index = var_00;
|
||||
if(var_00 == 3)
|
||||
{
|
||||
scripts\common\utility::func_6E2A("crab_boss_zombie_spawn");
|
||||
}
|
||||
|
||||
level.crab_boss toxic_attack();
|
||||
level.crab_boss do_toxic_spawn();
|
||||
continue;
|
||||
}
|
||||
|
||||
level.crab_boss_toxic_attack_index = var_00;
|
||||
level.crab_boss toxic_attack();
|
||||
level.crab_boss do_toxic_spawn();
|
||||
if(var_00 == 3)
|
||||
{
|
||||
scripts\common\utility::func_6E2A("crab_boss_zombie_spawn");
|
||||
}
|
||||
|
||||
level.crab_boss do_taunt();
|
||||
level.crab_boss do_toxic_spawn();
|
||||
level.crab_boss do_taunt();
|
||||
}
|
||||
|
||||
level.first_wall_of_death_complete = 1;
|
||||
level notify("wall_of_death_completed");
|
||||
}
|
||||
|
||||
//Function Number: 11
|
||||
wall_goo_geiger_sfx(param_00)
|
||||
{
|
||||
switch(param_00)
|
||||
{
|
||||
case 1:
|
||||
level.boss_goo_geiger_1 = thread scripts\common\utility::play_loopsound_in_space("town_geiger_counter_boss_lvl1",(2757,2698,-20));
|
||||
level.boss_goo_geiger_2 = thread scripts\common\utility::play_loopsound_in_space("town_geiger_counter_boss_lvl1",(3136,2574,-20));
|
||||
level.boss_goo_geiger_3 = thread scripts\common\utility::play_loopsound_in_space("town_geiger_counter_boss_lvl1",(3742,2512,-20));
|
||||
level.boss_goo_bubble_1 = thread scripts\common\utility::play_loopsound_in_space("boss_goo_bubble_large_lp_01",(2763,2999,-126));
|
||||
level.boss_goo_bubble_2 = thread scripts\common\utility::play_loopsound_in_space("boss_goo_bubble_large_lp_02",(3325,2627,-106));
|
||||
break;
|
||||
|
||||
case 2:
|
||||
if(isdefined(level.boss_goo_geiger_1))
|
||||
{
|
||||
level.boss_goo_geiger_1 moveto((2638,2200,-130),2);
|
||||
}
|
||||
|
||||
if(isdefined(level.boss_goo_geiger_2))
|
||||
{
|
||||
level.boss_goo_geiger_2 moveto((3545,2058,-113),2);
|
||||
}
|
||||
|
||||
if(isdefined(level.boss_goo_geiger_3))
|
||||
{
|
||||
level.boss_goo_geiger_3 moveto((3461,1862,-50),2);
|
||||
}
|
||||
|
||||
if(isdefined(level.boss_goo_bubble_1))
|
||||
{
|
||||
level.boss_goo_bubble_1 moveto((2638,2200,-130),2);
|
||||
}
|
||||
|
||||
if(isdefined(level.boss_goo_bubble_2))
|
||||
{
|
||||
level.boss_goo_bubble_2 moveto((3480,2310,-102),2);
|
||||
}
|
||||
break;
|
||||
|
||||
case 3:
|
||||
if(isdefined(level.boss_goo_geiger_1))
|
||||
{
|
||||
level.boss_goo_geiger_1 moveto((2818,1258,-40),2);
|
||||
}
|
||||
|
||||
if(isdefined(level.boss_goo_bubble_1))
|
||||
{
|
||||
level.boss_goo_bubble_1 moveto((2818,1258,-40),2);
|
||||
}
|
||||
|
||||
if(isdefined(level.boss_goo_geiger_2))
|
||||
{
|
||||
level.boss_goo_geiger_2 delete();
|
||||
}
|
||||
|
||||
if(isdefined(level.boss_goo_geiger_3))
|
||||
{
|
||||
level.boss_goo_geiger_3 delete();
|
||||
}
|
||||
|
||||
if(isdefined(level.boss_goo_bubble_2))
|
||||
{
|
||||
level.boss_goo_bubble_2 delete();
|
||||
}
|
||||
break;
|
||||
|
||||
case 4:
|
||||
if(isdefined(level.boss_goo_geiger_1))
|
||||
{
|
||||
level.boss_goo_geiger_1 delete();
|
||||
}
|
||||
|
||||
if(isdefined(level.boss_goo_geiger_2))
|
||||
{
|
||||
level.boss_goo_geiger_2 delete();
|
||||
}
|
||||
|
||||
if(isdefined(level.boss_goo_geiger_3))
|
||||
{
|
||||
level.boss_goo_geiger_3 delete();
|
||||
}
|
||||
|
||||
if(isdefined(level.boss_goo_bubble_1))
|
||||
{
|
||||
level.boss_goo_bubble_1 delete();
|
||||
}
|
||||
|
||||
if(isdefined(level.boss_goo_bubble_2))
|
||||
{
|
||||
level.boss_goo_bubble_2 delete();
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 12
|
||||
escort_teleporter_manager()
|
||||
{
|
||||
level endon("game_ended");
|
||||
level endon("boss_fight_finished");
|
||||
if(scripts\common\utility::istrue(level.escort_teleporter_manager))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
level.escort_teleporter_manager = 1;
|
||||
var_00 = make_vehicle_teleporter_interaction();
|
||||
var_01 = level.escort_vehicle;
|
||||
for(;;)
|
||||
{
|
||||
level.vehicle_teleporter_is_charged = 0;
|
||||
scripts\cp\_interaction::add_to_current_interaction_list(var_00);
|
||||
refresh_interaction_for_all_players();
|
||||
wail_all_player_trigger_teleporter(undefined,"players_trigger_vehicle_teleporter");
|
||||
var_01 thread play_charging_up_sfx(var_01);
|
||||
scripts\cp\_interaction::remove_from_current_interaction_list(var_00);
|
||||
playfxontag(level._effect["vfx_bomb_portal_chargeup_beach"],var_01,"tag_bomb");
|
||||
level.escort_vehicle.teleporter_activated = 1;
|
||||
level waittill("sonic_ring_start");
|
||||
var_01 thread play_charged_up_sfx(var_01);
|
||||
level.vehicle_teleporter_is_charged = 1;
|
||||
scripts\cp\_interaction::add_to_current_interaction_list(var_00);
|
||||
refresh_interaction_for_all_players();
|
||||
stopfxontag(level._effect["vfx_bomb_portal_chargeup_beach"],var_01,"tag_bomb");
|
||||
playfxontag(level._effect["vfx_bomb_portal_charged_beach"],var_01,"tag_bomb");
|
||||
var_02 = level scripts\common\utility::func_13734("sonic_ring_success","sonic_ring_fail");
|
||||
stopfxontag(level._effect["vfx_bomb_portal_charged_beach"],var_01,"tag_bomb");
|
||||
var_01 thread stop_charged_up_sfx(var_01,var_02);
|
||||
level.escort_vehicle.teleporter_activated = 0;
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 13
|
||||
play_charging_up_sfx(param_00)
|
||||
{
|
||||
level endon("boss_fight_finished");
|
||||
level endon("sonic_ring_start");
|
||||
param_00 playsound("cp_town_bomb_charge_start");
|
||||
param_00 playloopsound("cp_town_bomb_charge_lp");
|
||||
}
|
||||
|
||||
//Function Number: 14
|
||||
play_charged_up_sfx(param_00)
|
||||
{
|
||||
param_00 stoploopsound("cp_town_bomb_charge_lp");
|
||||
param_00 playloopsound("cp_town_bomb_charged_up_lp");
|
||||
}
|
||||
|
||||
//Function Number: 15
|
||||
stop_charged_up_sfx(param_00,param_01)
|
||||
{
|
||||
param_00 stoploopsound("cp_town_bomb_charged_up_lp");
|
||||
if(param_01 == "sonic_ring_fail")
|
||||
{
|
||||
param_00 playsound("cp_town_bomb_charge_fail");
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 16
|
||||
refresh_interaction_for_all_players()
|
||||
{
|
||||
foreach(var_01 in level.players)
|
||||
{
|
||||
var_01 scripts\cp\_interaction::func_DE6E();
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 17
|
||||
make_vehicle_teleporter_interaction()
|
||||
{
|
||||
var_00 = spawnstruct();
|
||||
var_00.name = "vehicle_teleporter";
|
||||
var_00.script_noteworthy = "vehicle_teleporter";
|
||||
var_00.origin = (3001,2858,-158);
|
||||
var_00.cost = 0;
|
||||
var_00.var_D776 = 1;
|
||||
var_00.var_109DA = undefined;
|
||||
var_00.var_EE79 = "";
|
||||
var_00.var_E1B9 = 0;
|
||||
var_00.var_8FFA = ::vehicle_teleporter_hint_func;
|
||||
var_00.var_161A = ::scripts\cp\maps\cp_town\cp_town_interactions::blankusefunc;
|
||||
var_00.var_6261 = 1;
|
||||
var_00.disable_guided_interactions = 0;
|
||||
level.interactions["vehicle_teleporter"] = var_00;
|
||||
var_00 thread vehicle_teleporter_interaction_clean_up(var_00);
|
||||
return var_00;
|
||||
}
|
||||
|
||||
//Function Number: 18
|
||||
vehicle_teleporter_interaction_clean_up(param_00)
|
||||
{
|
||||
level waittill("boss_fight_finished");
|
||||
scripts\cp\_interaction::remove_from_current_interaction_list(param_00);
|
||||
}
|
||||
|
||||
//Function Number: 19
|
||||
adjust_zombie_spawn(param_00)
|
||||
{
|
||||
switch(param_00)
|
||||
{
|
||||
case 1:
|
||||
scripts\cp\maps\cp_town\cp_town_crab_boss_fight::set_crab_boss_max_zombie_spawn(15,14,12,10);
|
||||
scripts\cp\maps\cp_town\cp_town_crab_boss_fight::set_crab_boss_zombie_spawn_delay(1.5,1.8,2.1,2.5);
|
||||
level.max_wave_spawn_num = 20;
|
||||
level.wait_time_between_wave = 15;
|
||||
break;
|
||||
|
||||
case 2:
|
||||
scripts\cp\maps\cp_town\cp_town_crab_boss_fight::set_crab_boss_max_zombie_spawn(15,14,13,12);
|
||||
scripts\cp\maps\cp_town\cp_town_crab_boss_fight::set_crab_boss_zombie_spawn_delay(1.3,1.5,1.7,2);
|
||||
level.max_wave_spawn_num = 20;
|
||||
level.wait_time_between_wave = 15;
|
||||
break;
|
||||
|
||||
case 3:
|
||||
scripts\cp\maps\cp_town\cp_town_crab_boss_fight::set_crab_boss_max_zombie_spawn(10,9,8,7);
|
||||
scripts\cp\maps\cp_town\cp_town_crab_boss_fight::set_crab_boss_zombie_spawn_delay(1.5,1.8,2.1,2.5);
|
||||
level.max_wave_spawn_num = 20;
|
||||
level.wait_time_between_wave = 15;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 20
|
||||
do_taunt()
|
||||
{
|
||||
level.crab_boss scripts\aitypes\crab_boss\behaviors::func_5ABE(0);
|
||||
level.crab_boss waittill("taunt_done");
|
||||
}
|
||||
|
||||
//Function Number: 21
|
||||
do_toxic_spawn()
|
||||
{
|
||||
level.crab_boss scripts\aitypes\crab_boss\behaviors::dotoxicspawn();
|
||||
level.crab_boss waittill("toxic_spawn_done");
|
||||
}
|
||||
|
||||
//Function Number: 22
|
||||
toxic_attack()
|
||||
{
|
||||
level.crab_boss scripts\aitypes\crab_boss\behaviors::dogasattack(0);
|
||||
level.crab_boss waittill("toxic_done");
|
||||
}
|
||||
|
||||
//Function Number: 23
|
||||
activate_toxic_patch_and_trigger(param_00)
|
||||
{
|
||||
play_toxic_ground_vfx(param_00);
|
||||
var_01 = getent("toxic_waste_patch_" + param_00,"targetname");
|
||||
var_01 dontinterpolate();
|
||||
var_02 = get_toxic_patch_offset(param_00);
|
||||
var_01.origin = var_01.origin + (0,0,1026 - var_02);
|
||||
var_03 = get_toxic_patch_move_time(param_00);
|
||||
var_01 moveto(var_01.origin + (0,0,var_02),var_03,0,var_03);
|
||||
var_01 waittill("movedone");
|
||||
var_01.var_1604 = 1;
|
||||
var_04 = getent("toxic_waste_trigger_" + param_00,"targetname");
|
||||
var_04 dontinterpolate();
|
||||
var_04.origin = var_04.origin + (0,0,1024);
|
||||
var_04 thread func_D051(var_04);
|
||||
if(param_00 > 1)
|
||||
{
|
||||
deactivate_toxic_patch_and_trigger(param_00 - 1);
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 24
|
||||
get_toxic_patch_offset(param_00)
|
||||
{
|
||||
switch(param_00)
|
||||
{
|
||||
case 1:
|
||||
return 6;
|
||||
|
||||
case 2:
|
||||
return 6;
|
||||
|
||||
case 3:
|
||||
return 6;
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 25
|
||||
get_toxic_patch_move_time(param_00)
|
||||
{
|
||||
switch(param_00)
|
||||
{
|
||||
case 1:
|
||||
return 7;
|
||||
|
||||
case 2:
|
||||
return 7;
|
||||
|
||||
case 3:
|
||||
return 7;
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 26
|
||||
func_D051(param_00)
|
||||
{
|
||||
param_00 endon("stop_toxic_trigger_monitor");
|
||||
for(;;)
|
||||
{
|
||||
param_00 waittill("trigger",var_01);
|
||||
if(isplayer(var_01))
|
||||
{
|
||||
if(scripts\common\utility::istrue(var_01.inlaststand))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
try_sonic_beam_damage_player(var_01);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 27
|
||||
try_sonic_beam_damage_player(param_00)
|
||||
{
|
||||
if(!isdefined(param_00.next_toxic_trigger_damage_time))
|
||||
{
|
||||
param_00.next_toxic_trigger_damage_time = 0;
|
||||
}
|
||||
|
||||
var_01 = gettime();
|
||||
if(!isdefined(param_00.geiger_counter))
|
||||
{
|
||||
param_00.geiger_counter = 1;
|
||||
param_00 playlocalsound("town_geiger_counter_lvl4_plr");
|
||||
param_00 thread delay_stop_geiger_counter(param_00);
|
||||
}
|
||||
|
||||
if(param_00.next_toxic_trigger_damage_time > var_01)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
param_00.next_toxic_trigger_damage_time = var_01 + 750;
|
||||
param_00 dodamage(int(param_00.maxhealth * 0.2),param_00.origin);
|
||||
param_00 setscriptablepartstate("screen_effects","screen_goo");
|
||||
}
|
||||
|
||||
//Function Number: 28
|
||||
delay_stop_geiger_counter(param_00)
|
||||
{
|
||||
param_00 notify("delay_stop_geiger_counter");
|
||||
param_00 endon("disconnect");
|
||||
param_00 endon("delay_stop_geiger_counter");
|
||||
wait(0.75);
|
||||
if(isdefined(param_00.geiger_counter))
|
||||
{
|
||||
param_00.geiger_counter = undefined;
|
||||
param_00 scripts\cp\_utility::stoplocalsound_safe("town_geiger_counter_lvl4_plr");
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 29
|
||||
deactivate_toxic_patch_and_trigger(param_00)
|
||||
{
|
||||
var_01 = getent("toxic_waste_patch_" + param_00,"targetname");
|
||||
var_02 = getent("toxic_waste_trigger_" + param_00,"targetname");
|
||||
if(scripts\common\utility::istrue(var_01.var_1604))
|
||||
{
|
||||
var_01 dontinterpolate();
|
||||
var_02 dontinterpolate();
|
||||
var_03 = get_toxic_patch_offset(param_00);
|
||||
var_01 thread toxic_patch_submerge(var_01,var_03,param_00);
|
||||
var_02.origin = var_02.origin + (0,0,-1024);
|
||||
var_02 notify("stop_toxic_trigger_monitor");
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 30
|
||||
get_patch_submerge_time()
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
//Function Number: 31
|
||||
toxic_patch_submerge(param_00,param_01,param_02)
|
||||
{
|
||||
var_03 = get_patch_submerge_time();
|
||||
param_00 moveto(param_00.origin - (0,0,param_01),var_03);
|
||||
param_00 waittill("movedone");
|
||||
param_00.origin = param_00.origin + (0,0,-1024 + param_01);
|
||||
param_00.var_1604 = 0;
|
||||
}
|
||||
|
||||
//Function Number: 32
|
||||
activate_final_sequence_blocker()
|
||||
{
|
||||
if(scripts\common\utility::istrue(level.final_sequence_blocker_activated))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
level.wall_of_death_blocker_models = [];
|
||||
var_00 = scripts\common\utility::getstructarray("death_wall_door_model","targetname");
|
||||
foreach(var_02 in var_00)
|
||||
{
|
||||
var_03 = spawn("script_model",var_02.origin);
|
||||
var_03 setmodel("cp_disco_street_barricade");
|
||||
var_03.angles = var_02.angles;
|
||||
level.wall_of_death_blocker_models[level.wall_of_death_blocker_models.size] = var_03;
|
||||
}
|
||||
|
||||
var_05 = getent("death_wall_door_clip","targetname");
|
||||
var_05 dontinterpolate();
|
||||
var_05.origin = var_05.origin + (0,0,1024);
|
||||
level.final_sequence_blocker_activated = 1;
|
||||
}
|
||||
|
||||
//Function Number: 33
|
||||
deactivate_final_sequence_blocker()
|
||||
{
|
||||
if(isdefined(level.wall_of_death_blocker_models))
|
||||
{
|
||||
foreach(var_01 in level.wall_of_death_blocker_models)
|
||||
{
|
||||
if(isdefined(var_01))
|
||||
{
|
||||
var_01 delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var_03 = getent("death_wall_door_clip","targetname");
|
||||
if(isdefined(var_03))
|
||||
{
|
||||
var_03 delete();
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 34
|
||||
end_wall_of_death()
|
||||
{
|
||||
level thread wall_goo_geiger_sfx(4);
|
||||
play_outro_vfx();
|
||||
deactivate_toxic_patch_and_trigger(3);
|
||||
}
|
||||
|
||||
//Function Number: 35
|
||||
debug_beat_wall_of_death()
|
||||
{
|
||||
}
|
||||
|
||||
//Function Number: 36
|
||||
wail_all_player_trigger_teleporter(param_00,param_01)
|
||||
{
|
||||
if(isdefined(param_00))
|
||||
{
|
||||
level endon(param_00);
|
||||
}
|
||||
|
||||
var_02 = 22500;
|
||||
for(;;)
|
||||
{
|
||||
var_03 = 1;
|
||||
foreach(var_05 in level.players)
|
||||
{
|
||||
if(scripts\common\utility::istrue(var_05.inlaststand))
|
||||
{
|
||||
var_03 = 0;
|
||||
break;
|
||||
}
|
||||
|
||||
if(scripts\common\utility::istrue(var_05.var_9D81))
|
||||
{
|
||||
var_03 = 0;
|
||||
break;
|
||||
}
|
||||
|
||||
if(distancesquared(var_05.origin,(3001,2858,-158)) > var_02)
|
||||
{
|
||||
var_03 = 0;
|
||||
break;
|
||||
}
|
||||
|
||||
if(!var_05 usebuttonpressed())
|
||||
{
|
||||
var_03 = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
wait(0.25);
|
||||
if(var_03)
|
||||
{
|
||||
var_03 = 1;
|
||||
foreach(var_05 in level.players)
|
||||
{
|
||||
if(scripts\common\utility::istrue(var_05.inlaststand))
|
||||
{
|
||||
var_03 = 0;
|
||||
break;
|
||||
}
|
||||
|
||||
if(scripts\common\utility::istrue(var_05.var_9D81))
|
||||
{
|
||||
var_03 = 0;
|
||||
break;
|
||||
}
|
||||
|
||||
if(distancesquared(var_05.origin,(3001,2858,-158)) > var_02)
|
||||
{
|
||||
var_03 = 0;
|
||||
break;
|
||||
}
|
||||
|
||||
if(!var_05 usebuttonpressed())
|
||||
{
|
||||
var_03 = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(var_03)
|
||||
{
|
||||
if(isdefined(param_01))
|
||||
{
|
||||
level notify(param_01);
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
scripts\common\utility::func_136F7();
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 37
|
||||
death_wall_zombie_spawning_logic()
|
||||
{
|
||||
level endon("stop_death_wall_zombie_spawning");
|
||||
wait(1.5);
|
||||
var_00 = [(2744,3725,-197),(3498,2990,-197)];
|
||||
foreach(var_03, var_02 in var_00)
|
||||
{
|
||||
var_00[var_03] = scripts\common\utility::func_5D14(var_00[var_03],0,-500);
|
||||
}
|
||||
|
||||
var_04 = randomint(2);
|
||||
for(;;)
|
||||
{
|
||||
spawn_group_of_zombies_at(var_00[var_04 % var_00.size]);
|
||||
var_04++;
|
||||
wait(3);
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 38
|
||||
spawn_group_of_zombies_at(param_00)
|
||||
{
|
||||
var_01 = min(18,22 - level.spawned_enemies.size);
|
||||
var_02 = level.players.size;
|
||||
var_03 = min(var_01,var_02);
|
||||
for(var_04 = 0;var_04 < var_03;var_04++)
|
||||
{
|
||||
spawn_one_zombie(param_00);
|
||||
scripts\common\utility::func_136F7();
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 39
|
||||
spawn_one_zombie(param_00)
|
||||
{
|
||||
var_01 = 70;
|
||||
var_02 = randomfloatrange(var_01 * -1,var_01);
|
||||
var_03 = randomfloatrange(var_01 * -1,var_01);
|
||||
param_00 = (param_00[0] + var_02,param_00[1] + var_03,param_00[2]);
|
||||
param_00 = getclosestpointonnavmesh(param_00);
|
||||
var_04 = make_zombie_spawner(param_00);
|
||||
var_05 = var_04 scripts\cp\zombies\zombies_spawning::func_1081B("generic_zombie",1,var_04);
|
||||
}
|
||||
|
||||
//Function Number: 40
|
||||
make_zombie_spawner(param_00,param_01)
|
||||
{
|
||||
var_02 = spawnstruct();
|
||||
var_02.origin = param_00;
|
||||
var_02.angles = vectortoangles((-26,-110,18));
|
||||
return var_02;
|
||||
}
|
||||
|
||||
//Function Number: 41
|
||||
play_outro_vfx()
|
||||
{
|
||||
foreach(var_01 in level.toxic_loop_vfx)
|
||||
{
|
||||
playfx(level._effect["toxic_ground_outro"],var_01.origin);
|
||||
var_01 delete();
|
||||
}
|
||||
|
||||
level.toxic_loop_vfx = [];
|
||||
}
|
||||
|
||||
//Function Number: 42
|
||||
load_death_wall_vfx()
|
||||
{
|
||||
level.toxic_loop_vfx = [];
|
||||
level._effect["toxic_ground_intro"] = loadfx("vfx/iw7/levels/cp_town/crog/vfx_toxic_ground_intro.vfx");
|
||||
level._effect["toxic_ground_loop"] = loadfx("vfx/iw7/levels/cp_town/crog/vfx_toxic_ground_loop.vfx");
|
||||
level._effect["toxic_ground_outro"] = loadfx("vfx/iw7/levels/cp_town/crog/vfx_toxic_ground_outro.vfx");
|
||||
}
|
||||
|
||||
//Function Number: 43
|
||||
play_toxic_ground_vfx(param_00)
|
||||
{
|
||||
var_01 = get_toxic_ground_vfx_locs(param_00);
|
||||
foreach(var_03 in var_01)
|
||||
{
|
||||
level thread play_toxic_ground_vfx_at_pos(var_03);
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 44
|
||||
get_toxic_ground_vfx_locs(param_00)
|
||||
{
|
||||
switch(param_00)
|
||||
{
|
||||
case 1:
|
||||
return [(2574,2950,-168),(2668,2518,-169),(3037,2661,-175),(3341,2505,-156),(3547,2580,-163)];
|
||||
|
||||
case 2:
|
||||
return [(2679,2262,-147),(2693,2023,-133),(2555,2098,-128),(3028,2045,-75),(3132,1926,-93),(3418,1883,-112),(3569,2089,-129)];
|
||||
|
||||
case 3:
|
||||
return [(2741,1705,-116),(3037,1613,-89),(2839,1407,-83),(2630,1172,-72),(2849,1067,-65)];
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 45
|
||||
play_toxic_ground_vfx_at_pos(param_00)
|
||||
{
|
||||
var_01 = scripts\common\utility::func_5D14(param_00,10,-50);
|
||||
playfx(level._effect["toxic_ground_intro"],var_01);
|
||||
wait(1.5);
|
||||
var_02 = spawnfx(level._effect["toxic_ground_loop"],var_01);
|
||||
triggerfx(var_02);
|
||||
level.toxic_loop_vfx[level.toxic_loop_vfx.size] = var_02;
|
||||
}
|
||||
|
||||
//Function Number: 46
|
||||
revive_players_from_afterlife()
|
||||
{
|
||||
foreach(var_01 in level.players)
|
||||
{
|
||||
if(scripts\cp\zombies\zombie_afterlife_arcade::func_9C10(var_01))
|
||||
{
|
||||
var_01 scripts\cp\_laststand::func_992F(var_01);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 47
|
||||
vehicle_teleporter_hint_func(param_00,param_01)
|
||||
{
|
||||
if(scripts\common\utility::istrue(level.vehicle_teleporter_is_charged))
|
||||
{
|
||||
return &"CP_TOWN_INTERACTIONS_VEHICLE_TELEPORT_READY";
|
||||
}
|
||||
|
||||
return &"CP_TOWN_INTERACTIONS_ACTIVATE_TELEPORT";
|
||||
}
|
1070
IW/PC/ALL/scripts/cp/maps/cp_town/cp_town_crab_boss_escort.gsc
Normal file
1070
IW/PC/ALL/scripts/cp/maps/cp_town/cp_town_crab_boss_escort.gsc
Normal file
File diff suppressed because it is too large
Load Diff
1080
IW/PC/ALL/scripts/cp/maps/cp_town/cp_town_crab_boss_fight.gsc
Normal file
1080
IW/PC/ALL/scripts/cp/maps/cp_town/cp_town_crab_boss_fight.gsc
Normal file
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,356 @@
|
||||
/*******************************************************************
|
||||
* Decompiled By: Bog
|
||||
* Decompiled File: scripts\cp\maps\cp_town\cp_town_crab_boss_sonic_ring.gsc
|
||||
* Game: Call of Duty: Infinite Warfare
|
||||
* Platform: PC
|
||||
* Function Count: 20
|
||||
* Decompile Time: 1042 ms
|
||||
* Timestamp: 10/27/2023 12:07:13 AM
|
||||
*******************************************************************/
|
||||
|
||||
//Function Number: 1
|
||||
do_sonic_ring()
|
||||
{
|
||||
enable_linkto_on_all_triggers();
|
||||
level thread crab_boss_sonic_ring_logic();
|
||||
var_00 = level scripts\common\utility::func_13734("sonic_ring_fail","sonic_ring_success");
|
||||
terminate_sonic_ring();
|
||||
scripts\cp\maps\cp_town\cp_town_crab_boss_fight::remove_icon_on_escort_vehicle();
|
||||
if(var_00 == "sonic_ring_fail")
|
||||
{
|
||||
scripts\cp\maps\cp_town\cp_town_crab_boss_fight::replay_final_sequence();
|
||||
return;
|
||||
}
|
||||
|
||||
level thread scripts\cp\maps\cp_town\cp_town_crab_boss_bomb::start_detonate_bomb();
|
||||
}
|
||||
|
||||
//Function Number: 2
|
||||
crab_boss_sonic_ring_logic()
|
||||
{
|
||||
level.crab_boss prepare_for_sonic_ring_attack(level.crab_boss);
|
||||
level.crab_boss scripts\aitypes\crab_boss\behaviors::startroarattack(1);
|
||||
level.crab_boss waittill("roar_done");
|
||||
level.crab_boss scripts\cp\maps\cp_town\cp_town_crab_boss_death_wall::do_taunt();
|
||||
}
|
||||
|
||||
//Function Number: 3
|
||||
enable_linkto_on_all_triggers()
|
||||
{
|
||||
if(scripts\common\utility::istrue(level.sonic_beam_trigger_enable_link_to))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var_00 = scripts\common\utility::getstructarray("sonic_ring_controlling_struct","targetname");
|
||||
foreach(var_02 in var_00)
|
||||
{
|
||||
var_03 = getent(var_02.target,"targetname");
|
||||
var_03 enablelinkto();
|
||||
}
|
||||
|
||||
level.sonic_beam_trigger_enable_link_to = 1;
|
||||
}
|
||||
|
||||
//Function Number: 4
|
||||
prepare_for_sonic_ring_attack(param_00)
|
||||
{
|
||||
var_01 = scripts\common\utility::getstructarray("sonic_ring_controlling_struct","targetname");
|
||||
var_02 = scripts\common\utility::random(var_01);
|
||||
var_03 = spawn("script_model",var_02.origin);
|
||||
var_03 setmodel("tag_origin");
|
||||
var_03.angles = var_02.angles;
|
||||
param_00.sonic_ring_controlling_struct = var_02;
|
||||
param_00.sonic_ring_controlling_ent = var_03;
|
||||
param_00 thread activate_vfx_ent(var_02,var_03);
|
||||
}
|
||||
|
||||
//Function Number: 5
|
||||
activate_sonic_ring(param_00)
|
||||
{
|
||||
scripts\cp\_vo::try_to_play_vo_on_all_players("boss_phase_5_attack_sonic_ring");
|
||||
level thread start_sonic_ring_timer();
|
||||
level thread sonic_ring_wail_all_player_trigger_teleporter("sonic_ring_fail","sonic_ring_success");
|
||||
func_15F1(param_00.sonic_ring_controlling_struct,param_00.sonic_ring_controlling_ent);
|
||||
activate_controlling_ent(param_00.sonic_ring_controlling_ent,param_00);
|
||||
}
|
||||
|
||||
//Function Number: 6
|
||||
sonic_ring_wail_all_player_trigger_teleporter(param_00,param_01)
|
||||
{
|
||||
if(isdefined(param_00))
|
||||
{
|
||||
level endon(param_00);
|
||||
}
|
||||
|
||||
if(!scripts\common\utility::istrue(level.escort_vehicle.teleporter_activated))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var_02 = 160000;
|
||||
for(;;)
|
||||
{
|
||||
var_03 = 1;
|
||||
foreach(var_05 in level.players)
|
||||
{
|
||||
if(scripts\common\utility::istrue(var_05.inlaststand))
|
||||
{
|
||||
var_03 = 0;
|
||||
break;
|
||||
}
|
||||
|
||||
if(scripts\common\utility::istrue(var_05.var_9D81))
|
||||
{
|
||||
var_03 = 0;
|
||||
break;
|
||||
}
|
||||
|
||||
if(distancesquared(var_05.origin,level.escort_vehicle.origin) > var_02)
|
||||
{
|
||||
var_03 = 0;
|
||||
break;
|
||||
}
|
||||
|
||||
if(!var_05 usebuttonpressed())
|
||||
{
|
||||
var_03 = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
wait(0.25);
|
||||
if(var_03)
|
||||
{
|
||||
var_03 = 1;
|
||||
foreach(var_05 in level.players)
|
||||
{
|
||||
if(scripts\common\utility::istrue(var_05.inlaststand))
|
||||
{
|
||||
var_03 = 0;
|
||||
break;
|
||||
}
|
||||
|
||||
if(scripts\common\utility::istrue(var_05.var_9D81))
|
||||
{
|
||||
var_03 = 0;
|
||||
break;
|
||||
}
|
||||
|
||||
if(distancesquared(var_05.origin,level.escort_vehicle.origin) > var_02)
|
||||
{
|
||||
var_03 = 0;
|
||||
break;
|
||||
}
|
||||
|
||||
if(!var_05 usebuttonpressed())
|
||||
{
|
||||
var_03 = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(var_03)
|
||||
{
|
||||
if(isdefined(param_01))
|
||||
{
|
||||
level notify(param_01);
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
scripts\common\utility::func_136F7();
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 7
|
||||
start_sonic_ring_timer()
|
||||
{
|
||||
level endon("sonic_ring_success");
|
||||
level notify("sonic_ring_start");
|
||||
wait(7);
|
||||
for(var_00 = 5;var_00 > 0;var_00--)
|
||||
{
|
||||
if(scripts\common\utility::istrue(level.escort_vehicle.teleporter_activated))
|
||||
{
|
||||
iprintln(var_00);
|
||||
}
|
||||
|
||||
wait(1);
|
||||
}
|
||||
|
||||
level notify("sonic_ring_fail");
|
||||
}
|
||||
|
||||
//Function Number: 8
|
||||
terminate_sonic_ring()
|
||||
{
|
||||
level notify("stop_sonic_ring");
|
||||
}
|
||||
|
||||
//Function Number: 9
|
||||
func_15F1(param_00,param_01)
|
||||
{
|
||||
var_02 = getent(param_00.target,"targetname");
|
||||
var_02.var_C726 = var_02.origin;
|
||||
param_01.sonic_ring_trigger = var_02;
|
||||
var_02 linkto(param_01);
|
||||
var_02 thread player_touch_monitor(var_02);
|
||||
}
|
||||
|
||||
//Function Number: 10
|
||||
activate_vfx_ent(param_00,param_01)
|
||||
{
|
||||
var_02 = [];
|
||||
var_03 = scripts\common\utility::getstructarray(param_00.target,"targetname");
|
||||
foreach(var_05 in var_03)
|
||||
{
|
||||
var_06 = spawn("script_model",var_05.origin);
|
||||
var_06 setmodel("crab_boss_origin");
|
||||
var_06.activation_order = int(var_05.script_noteworthy);
|
||||
var_06 linkto(param_01);
|
||||
var_02[var_02.size] = var_06;
|
||||
scripts\common\utility::func_136F7();
|
||||
}
|
||||
|
||||
param_01.vfx_ent_list = var_02;
|
||||
}
|
||||
|
||||
//Function Number: 11
|
||||
player_touch_monitor(param_00)
|
||||
{
|
||||
param_00 endon("stop_sonic_ring_trigger_monitor");
|
||||
for(;;)
|
||||
{
|
||||
param_00 waittill("trigger",var_01);
|
||||
if(isplayer(var_01))
|
||||
{
|
||||
var_01 dodamage(40,var_01.origin);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 12
|
||||
activate_controlling_ent(param_00,param_01)
|
||||
{
|
||||
var_02 = scripts\common\utility::getstruct("sonic_ring_start","targetname");
|
||||
var_03 = var_02.origin;
|
||||
param_00 dontinterpolate();
|
||||
param_00.origin = var_03;
|
||||
sonic_ring_activation_vfx_sequence(param_01,param_00);
|
||||
level waittill("stop_sonic_ring");
|
||||
clean_up_controlling_ent(param_00);
|
||||
}
|
||||
|
||||
//Function Number: 13
|
||||
clean_up_controlling_ent(param_00)
|
||||
{
|
||||
param_00.sonic_ring_trigger notify("stop_sonic_ring_trigger_monitor");
|
||||
param_00.sonic_ring_trigger unlink();
|
||||
param_00.sonic_ring_trigger dontinterpolate();
|
||||
param_00.sonic_ring_trigger.origin = param_00.sonic_ring_trigger.var_C726;
|
||||
foreach(var_02 in param_00.vfx_ent_list)
|
||||
{
|
||||
var_02 delete();
|
||||
}
|
||||
|
||||
level notify("cleanup_beam_sfx");
|
||||
param_00 delete();
|
||||
}
|
||||
|
||||
//Function Number: 14
|
||||
load_sonic_ring_vfx()
|
||||
{
|
||||
level._effect["sonic_beam_ricochet_laser"] = loadfx("vfx/iw7/levels/cp_town/crog/vfx_lure_laser_sonic_beam.vfx");
|
||||
}
|
||||
|
||||
//Function Number: 15
|
||||
sonic_ring_cleanup()
|
||||
{
|
||||
}
|
||||
|
||||
//Function Number: 16
|
||||
sonic_ring_activation_vfx_sequence(param_00,param_01)
|
||||
{
|
||||
level thread sonic_ring_beam_sfx();
|
||||
var_02 = param_00 gettagorigin("tag_laser");
|
||||
var_03 = [(3025,956,1),(2545,1132,-71),(3123,1468,-80),(2386,1652,-48),(3916,2068,-26),(2334,2128,-12),(3885,2188,-4),(2280,2244,6),(3926,2296,20),(2445,2360,-94),(3675,2628,-167),(2641,2676,-168),(3689,2724,-169)];
|
||||
var_04 = [(2436,956,1),(2988,1132,-71),(2659,1468,-80),(3360,1652,-48),(2312,2068,-26),(3913,2128,-12),(2278,2188,-4),(3893,2244,6),(2147,2296,19),(3688,2360,-94),(2626,2628,-167),(3658,2676,-168),(2560,2724,-169)];
|
||||
level thread activate_vfx_along_path(var_02,var_03);
|
||||
level thread activate_vfx_along_path(var_02,var_04);
|
||||
level thread activate_vfx_on_beam(param_01);
|
||||
}
|
||||
|
||||
//Function Number: 17
|
||||
sonic_ring_beam_sfx()
|
||||
{
|
||||
level endon("death");
|
||||
level.sonic_beam_sfx_5 = thread scripts\common\utility::play_loopsound_in_space("boss_crog_lasers_lp",(2764,2668,-171));
|
||||
level.sonic_beam_sfx_6 = thread scripts\common\utility::play_loopsound_in_space("boss_crog_lasers_lp",(3138,2686,-171));
|
||||
wait(0.25);
|
||||
level.sonic_beam_sfx_3 = thread scripts\common\utility::play_loopsound_in_space("boss_crog_lasers_lp",(2687,2198,-52));
|
||||
level.sonic_beam_sfx_4 = thread scripts\common\utility::play_loopsound_in_space("boss_crog_lasers_lp",(3368,1974,-51));
|
||||
wait(0.25);
|
||||
level.sonic_beam_sfx_2 = thread scripts\common\utility::play_loopsound_in_space("boss_crog_lasers_lp",(2839,1444,-50));
|
||||
wait(0.25);
|
||||
level.sonic_beam_sfx_1 = thread scripts\common\utility::play_loopsound_in_space("boss_crog_lasers_lp",(2744,1043,17));
|
||||
level waittill("cleanup_beam_sfx");
|
||||
level.sonic_beam_sfx_1 stoploopsound();
|
||||
level.sonic_beam_sfx_2 stoploopsound();
|
||||
level.sonic_beam_sfx_3 stoploopsound();
|
||||
level.sonic_beam_sfx_4 stoploopsound();
|
||||
level.sonic_beam_sfx_5 stoploopsound();
|
||||
level.sonic_beam_sfx_6 stoploopsound();
|
||||
wait(0.2);
|
||||
level.sonic_beam_sfx_1 delete();
|
||||
level.sonic_beam_sfx_2 delete();
|
||||
level.sonic_beam_sfx_3 delete();
|
||||
level.sonic_beam_sfx_4 delete();
|
||||
level.sonic_beam_sfx_5 delete();
|
||||
level.sonic_beam_sfx_6 delete();
|
||||
}
|
||||
|
||||
//Function Number: 18
|
||||
activate_vfx_along_path(param_00,param_01)
|
||||
{
|
||||
param_01 = scripts\common\utility::array_combine([param_00],param_01);
|
||||
for(var_02 = 0;var_02 <= param_01.size - 2;var_02++)
|
||||
{
|
||||
param_00 = param_01[var_02];
|
||||
var_03 = param_01[var_02 + 1];
|
||||
function_02E0(level._effect["sonic_beam_ricochet_laser"],param_00,vectortoangles(var_03 - param_00),var_03);
|
||||
wait(0.4);
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 19
|
||||
activate_vfx_on_beam(param_00)
|
||||
{
|
||||
for(var_01 = 1;var_01 <= 13;var_01++)
|
||||
{
|
||||
var_02 = get_vfx_ents_with_order_number(var_01,param_00);
|
||||
foreach(var_04 in var_02)
|
||||
{
|
||||
var_04 setscriptablepartstate("sonic_ring_laser","on");
|
||||
}
|
||||
|
||||
wait(0.4);
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 20
|
||||
get_vfx_ents_with_order_number(param_00,param_01)
|
||||
{
|
||||
var_02 = [];
|
||||
foreach(var_04 in param_01.vfx_ent_list)
|
||||
{
|
||||
if(var_04.activation_order == param_00)
|
||||
{
|
||||
var_02[var_02.size] = var_04;
|
||||
}
|
||||
}
|
||||
|
||||
return var_02;
|
||||
}
|
761
IW/PC/ALL/scripts/cp/maps/cp_town/cp_town_crafting.gsc
Normal file
761
IW/PC/ALL/scripts/cp/maps/cp_town/cp_town_crafting.gsc
Normal file
@ -0,0 +1,761 @@
|
||||
/*******************************************************************
|
||||
* Decompiled By: Bog
|
||||
* Decompiled File: scripts\cp\maps\cp_town\cp_town_crafting.gsc
|
||||
* Game: Call of Duty: Infinite Warfare
|
||||
* Platform: PC
|
||||
* Function Count: 24
|
||||
* Decompile Time: 1270 ms
|
||||
* Timestamp: 10/27/2023 12:07:15 AM
|
||||
*******************************************************************/
|
||||
|
||||
//Function Number: 1
|
||||
register_crafting()
|
||||
{
|
||||
level.interaction_hintstrings["crafting_station"] = &"CP_TOWN_INTERACTIONS_CRAFTING_MISSING_BLUEPRINT";
|
||||
level.interaction_hintstrings["crafting_station_add_part"] = &"CP_TOWN_INTERACTIONS_ADD_PART";
|
||||
level.interaction_hintstrings["crafting_station_add_blueprint"] = &"CP_TOWN_INTERACTIONS_ADD_BLUEPRINT";
|
||||
level.interaction_hintstrings["crafting_piece"] = "";
|
||||
scripts\cp\_interaction::func_DEBB("crafting_station","crafting",undefined,::crafting_station_hint,::func_12FBE,0,0);
|
||||
scripts\cp\_interaction::func_DEBB("crafting_station_chem","crafting",undefined,::crafting_station_chem_hint,::use_crafting_station_chem_set,0,0);
|
||||
scripts\cp\_interaction::func_DEBB("crafting_piece","crafting",undefined,undefined,::pickup_crafting_piece,0,0);
|
||||
level.interactions["crafting_piece"].disable_guided_interactions = 1;
|
||||
level.interaction_hintstrings["violetray_blueprint"] = &"CP_TOWN_INTERACTIONS_VIOLETRAY_BLUEPRINT";
|
||||
scripts\cp\_interaction::func_DEBB("violetray_blueprint","crafting",undefined,undefined,::pickup_crafting_blueprint,0,0);
|
||||
level.interactions["violetray_blueprint"].disable_guided_interactions = 1;
|
||||
scripts\cp\_interaction::func_DEBB("portal_blueprint","crafting",undefined,undefined,::pickup_crafting_blueprint,0,0);
|
||||
level.interaction_hintstrings["seismic_blueprint"] = &"CP_TOWN_INTERACTIONS_SEISMIC_BLUEPRINT";
|
||||
scripts\cp\_interaction::func_DEBB("seismic_blueprint","crafting",undefined,undefined,::pickup_crafting_blueprint,0,0);
|
||||
level.interactions["seismic_blueprint"].disable_guided_interactions = 1;
|
||||
level.interaction_hintstrings["mindcontrol_blueprint"] = &"CP_TOWN_INTERACTIONS_MINDCONTROL_BLUEPRINT";
|
||||
scripts\cp\_interaction::func_DEBB("mindcontrol_blueprint","crafting",undefined,undefined,::pickup_crafting_blueprint,0,0);
|
||||
level.interactions["mindcontrol_blueprint"].disable_guided_interactions = 1;
|
||||
level.interaction_hintstrings["hypnosis_blueprint"] = &"CP_TOWN_INTERACTIONS_HYPNOSIS_BLUEPRINT";
|
||||
scripts\cp\_interaction::func_DEBB("hypnosis_blueprint","crafting",undefined,undefined,::pickup_crafting_blueprint,0,0);
|
||||
level.interactions["hypnosis_blueprint"].disable_guided_interactions = 1;
|
||||
level.interaction_hintstrings["create_chemistry_set"] = &"CP_TOWN_INTERACTIONS_TAKE_PORTAL";
|
||||
scripts\cp\_interaction::func_DEBB("create_chemistry_set","crafting",undefined,undefined,::use_crafting_station_chem_set,0,0);
|
||||
level.interactions["create_chemistry_set"].disable_guided_interactions = 1;
|
||||
}
|
||||
|
||||
//Function Number: 2
|
||||
init_crafting()
|
||||
{
|
||||
level.var_CC0C = [];
|
||||
level.crafting_icon_create_func = ::func_4939;
|
||||
init_crafting_pieces();
|
||||
init_crafting_blueprints();
|
||||
level thread setup_crafting_stations();
|
||||
}
|
||||
|
||||
//Function Number: 3
|
||||
setup_crafting_stations()
|
||||
{
|
||||
wait(15);
|
||||
var_00 = scripts\common\utility::getstructarray("crafting_station","script_noteworthy");
|
||||
foreach(var_02 in var_00)
|
||||
{
|
||||
var_03 = getent(var_02.target,"targetname");
|
||||
var_03 setscriptablepartstate("crafting_bench","off");
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 4
|
||||
init_crafting_pieces()
|
||||
{
|
||||
level.crafting_pieces = [];
|
||||
var_00 = scripts\common\utility::getstructarray("crafting_piece","script_noteworthy");
|
||||
foreach(var_02 in var_00)
|
||||
{
|
||||
var_03 = strtok(var_02.name,"_");
|
||||
if(!isdefined(level.crafting_pieces[var_03[0]]))
|
||||
{
|
||||
level.crafting_pieces[var_03[0]] = [];
|
||||
}
|
||||
|
||||
if(!isdefined(level.crafting_pieces[var_03[0]][var_03[1]]))
|
||||
{
|
||||
level.crafting_pieces[var_03[0]][var_03[1]] = [];
|
||||
}
|
||||
|
||||
var_02.part_location_struct = scripts\common\utility::getstruct(var_02.target,"targetname");
|
||||
var_02.var_C921 = var_02.part_location_struct.var_EE79;
|
||||
level.crafting_pieces[var_03[0]][var_03[1]] = scripts\common\utility::array_add_safe(level.crafting_pieces[var_03[0]][var_03[1]],var_02);
|
||||
}
|
||||
|
||||
spawn_crafting_pieces("chem","beaker","clamp","burner");
|
||||
spawn_crafting_pieces("violetray","bulbs","light","shifter");
|
||||
spawn_crafting_pieces("seismic","leg","magnet","piston");
|
||||
spawn_crafting_pieces("mindcontrol","speaker","jukebox","battery");
|
||||
spawn_crafting_pieces("hypnosis","bulbs","cage","radio");
|
||||
}
|
||||
|
||||
//Function Number: 5
|
||||
spawn_crafting_pieces(param_00,param_01,param_02,param_03)
|
||||
{
|
||||
var_04 = scripts\common\utility::random(level.crafting_pieces[param_00][param_01]);
|
||||
var_05 = scripts\common\utility::random(level.crafting_pieces[param_00][param_02]);
|
||||
var_06 = scripts\common\utility::random(level.crafting_pieces[param_00][param_03]);
|
||||
spawn_crafting_piece(var_04);
|
||||
spawn_crafting_piece(var_05);
|
||||
spawn_crafting_piece(var_06);
|
||||
}
|
||||
|
||||
//Function Number: 6
|
||||
spawn_crafting_piece(param_00)
|
||||
{
|
||||
param_00.var_195 = spawn("script_model",param_00.part_location_struct.origin);
|
||||
param_00.var_195 setmodel(param_00.var_C921);
|
||||
if(isdefined(param_00.part_location_struct.angles))
|
||||
{
|
||||
param_00.var_195.angles = param_00.part_location_struct.angles;
|
||||
}
|
||||
|
||||
if(param_00.var_C921 == "cp_town_seismic_wave_device_leg")
|
||||
{
|
||||
param_00.var_195.origin = param_00.var_195.origin + (15,-1,6.2);
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 7
|
||||
init_crafting_blueprints()
|
||||
{
|
||||
var_00 = scripts\common\utility::getstructarray("violetray_blueprint","script_noteworthy");
|
||||
var_01 = scripts\common\utility::getstructarray("seismic_blueprint","script_noteworthy");
|
||||
var_02 = scripts\common\utility::getstructarray("mindcontrol_blueprint","script_noteworthy");
|
||||
var_03 = scripts\common\utility::getstructarray("hypnosis_blueprint","script_noteworthy");
|
||||
spawn_crafting_blueprint(var_00,"cp_town_blueprint_violet_xray_roll");
|
||||
spawn_crafting_blueprint(var_01,"cp_town_blueprint_seismic_wave_roll");
|
||||
spawn_crafting_blueprint(var_02,"cp_town_blueprint_mind_control_roll");
|
||||
spawn_crafting_blueprint(var_03,"cp_town_blueprint_hypnosis_roll");
|
||||
}
|
||||
|
||||
//Function Number: 8
|
||||
spawn_crafting_blueprint(param_00,param_01)
|
||||
{
|
||||
var_02 = scripts\common\utility::random(param_00);
|
||||
var_03 = spawn("script_model",scripts\common\utility::getstruct(var_02.target,"targetname").origin);
|
||||
var_03 setmodel(param_01);
|
||||
var_03.angles = scripts\common\utility::getstruct(var_02.target,"targetname").angles;
|
||||
var_02.blueprintmodel = var_03;
|
||||
}
|
||||
|
||||
//Function Number: 9
|
||||
func_12FBE(param_00,param_01)
|
||||
{
|
||||
if(isdefined(param_00.parts_added) && param_00.parts_added == 3)
|
||||
{
|
||||
param_01 thread scripts\cp\_utility::func_1308C(param_01,"iw7_pickup_zm");
|
||||
param_01 give_crafted_item(param_00.active_blueprint,param_00);
|
||||
crafting_cooldown(param_00);
|
||||
switch(param_00.active_blueprint)
|
||||
{
|
||||
case "violetray":
|
||||
show_crafted_item(param_01,param_00,"crafted_violetray",0);
|
||||
break;
|
||||
|
||||
case "portal":
|
||||
show_crafted_item(param_01,param_00,"crafted_portal",0);
|
||||
break;
|
||||
|
||||
case "hypnosis":
|
||||
show_crafted_item(param_01,param_00,"crafted_hypnosis",0);
|
||||
break;
|
||||
|
||||
case "seismic":
|
||||
show_crafted_item(param_01,param_00,"crafted_seismic",0);
|
||||
break;
|
||||
|
||||
case "mindcontrol":
|
||||
show_crafted_item(param_01,param_00,"crafted_mindcontrol",0);
|
||||
break;
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if(!scripts\common\utility::istrue(param_00.blueprint_added) && !isdefined(param_01.has_blueprint))
|
||||
{
|
||||
param_01 thread scripts\cp\_vo::try_to_play_vo("missing_item_misc","town_comment_vo");
|
||||
param_01 playlocalsound("perk_machine_deny");
|
||||
return;
|
||||
}
|
||||
|
||||
if(!scripts\common\utility::istrue(param_00.blueprint_added) && isdefined(param_01.has_blueprint))
|
||||
{
|
||||
param_01 scripts\cp\_utility::play_interaction_gesture("iw7_souvenircoin_zm");
|
||||
param_00.blueprint_added = 1;
|
||||
param_00.var_113AF = getent(param_00.target,"targetname");
|
||||
param_00.var_113AF.blueprint = spawn("script_model",param_00.var_113AF.origin);
|
||||
param_00.var_113AF.blueprint.angles = param_00.var_113AF.angles;
|
||||
param_00.active_blueprint = param_01.has_blueprint;
|
||||
param_00.var_113AF setscriptablepartstate("crafting_bench","on");
|
||||
param_01 playlocalsound("zmb_item_pickup");
|
||||
param_00.parts_added = 0;
|
||||
var_02 = undefined;
|
||||
switch(param_00.active_blueprint)
|
||||
{
|
||||
case "seismic":
|
||||
var_02 = "cp_town_blueprint_seismic_wave";
|
||||
break;
|
||||
|
||||
case "violetray":
|
||||
var_02 = "cp_town_blueprint_violet_xray";
|
||||
break;
|
||||
|
||||
case "hypnosis":
|
||||
var_02 = "cp_town_blueprint_hypnosis";
|
||||
break;
|
||||
|
||||
case "mindcontrol":
|
||||
var_02 = "cp_town_blueprint_mind_control";
|
||||
break;
|
||||
|
||||
default:
|
||||
var_02 = "cp_town_blueprint_violet_xray";
|
||||
break;
|
||||
}
|
||||
|
||||
param_00.var_113AF.blueprint setmodel(var_02);
|
||||
param_01.has_blueprint = undefined;
|
||||
param_01.blueprint_interaction = undefined;
|
||||
param_01 setclientomnvar("zm_hud_inventory_1",0);
|
||||
param_01 notify("reset_blueprint_on_disconnect");
|
||||
var_03 = scripts\common\utility::getstructarray("fan_sound","targetname");
|
||||
if(var_03.size > 0)
|
||||
{
|
||||
var_04 = scripts\common\utility::getclosest(param_01.origin,var_03);
|
||||
level thread scripts\common\utility::play_loopsound_in_space("town_fan_lp",var_04.origin);
|
||||
}
|
||||
}
|
||||
|
||||
if(scripts\common\utility::istrue(param_00.blueprint_added) && isdefined(param_01.crafting_piece))
|
||||
{
|
||||
if(is_valid_crafting_piece(param_01,param_00))
|
||||
{
|
||||
param_01 scripts\cp\_utility::play_interaction_gesture("iw7_souvenircoin_zm");
|
||||
var_05 = scripts\common\utility::getstructarray(param_00.target,"targetname");
|
||||
foreach(var_07 in var_05)
|
||||
{
|
||||
if(param_01.crafting_piece == var_07.name)
|
||||
{
|
||||
if(!isdefined(param_00.added_parts))
|
||||
{
|
||||
param_00.added_parts = [];
|
||||
}
|
||||
|
||||
var_08 = spawn("script_model",var_07.origin);
|
||||
var_08.angles = var_07.angles;
|
||||
if(isdefined(var_07.script_noteworthy))
|
||||
{
|
||||
var_08 setmodel(var_07.script_noteworthy);
|
||||
}
|
||||
else if(isdefined(var_07.var_EE79))
|
||||
{
|
||||
var_08 setmodel(var_07.var_EE79);
|
||||
}
|
||||
|
||||
if(var_08.model == "cp_town_seismic_wave_device_leg")
|
||||
{
|
||||
var_08.angles = var_08.angles + (0,-100,0);
|
||||
}
|
||||
|
||||
param_00.added_parts = scripts\common\utility::array_add_safe(param_00.added_parts,var_08);
|
||||
param_01 playlocalsound("town_crafting_placement");
|
||||
playfx(level._effect["generic_pickup"],var_07.origin);
|
||||
}
|
||||
}
|
||||
|
||||
param_01.crafting_piece = undefined;
|
||||
param_01.crafting_interaction = undefined;
|
||||
param_01 notify("reset_crafting_on_disconnect");
|
||||
param_01 setclientomnvar("zombie_souvenir_piece_index",0);
|
||||
param_00.parts_added++;
|
||||
if(param_00.parts_added == 3)
|
||||
{
|
||||
if(isdefined(param_00.added_parts))
|
||||
{
|
||||
foreach(var_0B in param_00.added_parts)
|
||||
{
|
||||
var_0B delete();
|
||||
}
|
||||
}
|
||||
|
||||
param_01 scripts\cp\_merits::func_D9AD("mt_used_crafting");
|
||||
switch(param_00.active_blueprint)
|
||||
{
|
||||
case "violetray":
|
||||
show_crafted_item(param_01,param_00,"crafted_violetray",1);
|
||||
break;
|
||||
|
||||
case "portal":
|
||||
show_crafted_item(param_01,param_00,"crafted_portal",1);
|
||||
break;
|
||||
|
||||
case "hypnosis":
|
||||
show_crafted_item(param_01,param_00,"crafted_hypnosis",1);
|
||||
break;
|
||||
|
||||
case "seismic":
|
||||
show_crafted_item(param_01,param_00,"crafted_seismic",1);
|
||||
break;
|
||||
|
||||
case "mindcontrol":
|
||||
show_crafted_item(param_01,param_00,"crafted_mindcontrol",1);
|
||||
break;
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
var_09 playlocalsound("perk_machine_deny");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 10
|
||||
use_crafting_station_chem_set(param_00,param_01)
|
||||
{
|
||||
if(!isdefined(param_00.parts_added))
|
||||
{
|
||||
param_00.parts_added = 0;
|
||||
}
|
||||
|
||||
if(isdefined(level.chem_pieces) && level.chem_pieces.size > param_00.parts_added)
|
||||
{
|
||||
foreach(var_03 in level.chem_pieces)
|
||||
{
|
||||
var_04 = "";
|
||||
switch(var_03)
|
||||
{
|
||||
case "chem_beaker":
|
||||
var_04 = "bong";
|
||||
level scripts\cp\_utility::set_completed_quest_mark(6);
|
||||
break;
|
||||
|
||||
case "chem_clamp":
|
||||
var_04 = "chem_computer";
|
||||
level scripts\cp\_utility::set_completed_quest_mark(8);
|
||||
break;
|
||||
|
||||
case "chem_burner":
|
||||
var_04 = "pipe";
|
||||
level scripts\cp\_utility::set_completed_quest_mark(7);
|
||||
break;
|
||||
}
|
||||
|
||||
level thread show_chem_parts_based_on_found_piece(var_04);
|
||||
}
|
||||
|
||||
param_00.parts_added = level.chem_pieces.size;
|
||||
playsoundatpos(param_00.origin,"chemistry_placement");
|
||||
if(param_00.parts_added == 3)
|
||||
{
|
||||
level.crafted_chem_set = 1;
|
||||
level.computer_model setscriptablepartstate("screen","on");
|
||||
level.computer_model setscriptablepartstate("yellowlight","on");
|
||||
scripts\common\utility::flag_set("chemistry_step1");
|
||||
param_01 thread scripts\cp\_vo::try_to_play_vo("key_phase_2_success_chemistry","town_comment_vo");
|
||||
foreach(var_07 in level.chemical_containers)
|
||||
{
|
||||
playfx(level._effect["generic_pickup"],var_07.origin);
|
||||
var_07.model show();
|
||||
}
|
||||
|
||||
foreach(var_0A in level.chemical_compounds_created)
|
||||
{
|
||||
playfx(level._effect["generic_pickup"],var_0A.var_9A09.origin);
|
||||
var_0A.var_9A09.model show();
|
||||
}
|
||||
|
||||
level scripts\cp\_utility::set_completed_quest_mark(3);
|
||||
scripts\cp\_interaction::remove_from_current_interaction_list(param_00);
|
||||
setomnvar("zm_ui_lab_screen_ent",level.lab_screen);
|
||||
return;
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
var_0B playlocalsound("perk_machine_deny");
|
||||
}
|
||||
|
||||
//Function Number: 11
|
||||
give_chem_item_debug(param_00,param_01)
|
||||
{
|
||||
foreach(var_03 in level.players)
|
||||
{
|
||||
var_03.crafting_piece = param_00;
|
||||
}
|
||||
|
||||
level scripts\cp\_utility::set_quest_icon(param_01);
|
||||
}
|
||||
|
||||
//Function Number: 12
|
||||
show_chem_parts_based_on_found_piece(param_00)
|
||||
{
|
||||
foreach(var_02 in level.chemistry_set_parts)
|
||||
{
|
||||
if(!isdefined(var_02.var_336))
|
||||
{
|
||||
if(level.chem_pieces.size == 2)
|
||||
{
|
||||
var_02 show();
|
||||
}
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
if(issubstr(var_02.var_336,param_00))
|
||||
{
|
||||
if(param_00 == "chem_computer")
|
||||
{
|
||||
level.computer_model = var_02;
|
||||
foreach(var_04 in level.h_p_button_objects)
|
||||
{
|
||||
playfx(level._effect["generic_pickup"],var_04.origin);
|
||||
var_04.model show();
|
||||
}
|
||||
}
|
||||
|
||||
playfx(level._effect["generic_pickup"],var_02.origin);
|
||||
var_02 show();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 13
|
||||
show_crafted_item(param_00,param_01,param_02,param_03)
|
||||
{
|
||||
param_00 scripts\cp\_interaction::func_DE6E();
|
||||
if(scripts\common\utility::istrue(param_03))
|
||||
{
|
||||
param_00 playlocalsound("town_craft_magic");
|
||||
}
|
||||
|
||||
var_04 = scripts\common\utility::getstructarray("crafting_fx_spot","targetname");
|
||||
param_01.crafting_fx = spawnfx(level._effect[param_02],scripts\common\utility::getclosest(param_01.origin,var_04).origin + (0,0,5));
|
||||
param_01.var_75F5 = scripts\common\utility::getclosest(param_01.origin,var_04);
|
||||
wait(1);
|
||||
triggerfx(param_01.crafting_fx);
|
||||
}
|
||||
|
||||
//Function Number: 14
|
||||
is_valid_crafting_piece(param_00,param_01)
|
||||
{
|
||||
var_02 = strtok(param_00.crafting_piece,"_");
|
||||
if(var_02[0] == param_01.active_blueprint)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
//Function Number: 15
|
||||
func_4939()
|
||||
{
|
||||
self setclientomnvar("zombie_souvenir_piece_index",1);
|
||||
}
|
||||
|
||||
//Function Number: 16
|
||||
pickup_crafting_piece(param_00,param_01)
|
||||
{
|
||||
param_01 playlocalsound("part_pickup");
|
||||
param_01 thread scripts\cp\_utility::func_1308C(param_01,"iw7_pickup_zm");
|
||||
param_01 thread scripts\cp\_vo::try_to_play_vo("collect_craft_misc","town_comment_vo");
|
||||
playfx(level._effect["generic_pickup"],param_00.var_195.origin);
|
||||
param_00.var_195 hide();
|
||||
param_00.var_195.hidden = 1;
|
||||
scripts\cp\_interaction::remove_from_current_interaction_list(param_00);
|
||||
if(is_chem_piece(param_00))
|
||||
{
|
||||
if(!isdefined(level.chem_pieces))
|
||||
{
|
||||
level.chem_pieces = [];
|
||||
}
|
||||
|
||||
level.chem_pieces = scripts\common\utility::array_add_safe(level.chem_pieces,param_00.name);
|
||||
var_02 = 0;
|
||||
switch(param_00.name)
|
||||
{
|
||||
case "chem_beaker":
|
||||
var_02 = 12;
|
||||
break;
|
||||
|
||||
case "chem_clamp":
|
||||
var_02 = 14;
|
||||
break;
|
||||
|
||||
case "chem_burner":
|
||||
var_02 = 13;
|
||||
break;
|
||||
}
|
||||
|
||||
level scripts\cp\_utility::set_quest_icon(var_02);
|
||||
return;
|
||||
}
|
||||
|
||||
if(isdefined(var_02.crafting_piece))
|
||||
{
|
||||
var_02 notify("bad_part");
|
||||
wait(0.05);
|
||||
}
|
||||
|
||||
var_02.crafting_piece = param_01.name;
|
||||
var_02.crafting_interaction = param_01;
|
||||
var_02 = 0;
|
||||
switch(param_00.name)
|
||||
{
|
||||
case "violetray_shifter":
|
||||
var_02 = 12;
|
||||
break;
|
||||
|
||||
case "violetray_bulbs":
|
||||
var_02 = 10;
|
||||
break;
|
||||
|
||||
case "violetray_light":
|
||||
var_02 = 11;
|
||||
break;
|
||||
|
||||
case "seismic_leg":
|
||||
var_02 = 8;
|
||||
break;
|
||||
|
||||
case "seismic_piston":
|
||||
var_02 = 7;
|
||||
break;
|
||||
|
||||
case "seismic_magnet":
|
||||
var_02 = 9;
|
||||
break;
|
||||
|
||||
case "mindcontrol_speaker":
|
||||
var_02 = 6;
|
||||
break;
|
||||
|
||||
case "mindcontrol_jukebox":
|
||||
var_02 = 5;
|
||||
break;
|
||||
|
||||
case "mindcontrol_battery":
|
||||
var_02 = 4;
|
||||
break;
|
||||
|
||||
case "hypnosis_bulbs":
|
||||
var_02 = 3;
|
||||
break;
|
||||
|
||||
case "hypnosis_cage":
|
||||
var_02 = 2;
|
||||
break;
|
||||
|
||||
case "hypnosis_radio":
|
||||
var_02 = 1;
|
||||
break;
|
||||
}
|
||||
|
||||
param_01 setclientomnvar("zombie_souvenir_piece_index",var_02);
|
||||
param_01 thread reset_crafting_piece_on_disconnect_or_bad_part();
|
||||
}
|
||||
|
||||
//Function Number: 17
|
||||
is_chem_piece(param_00)
|
||||
{
|
||||
if(issubstr(param_00.name,"chem"))
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
//Function Number: 18
|
||||
reset_crafting_piece_on_disconnect_or_bad_part()
|
||||
{
|
||||
self notify("reset_crafting_on_disconnect");
|
||||
self endon("reset_crafting_on_disconnect");
|
||||
var_00 = self.crafting_interaction;
|
||||
var_01 = scripts\common\utility::waittill_any_return_no_endon_death_3("disconnect","bad_part");
|
||||
var_00.var_195 show();
|
||||
var_00.var_195.hidden = undefined;
|
||||
scripts\cp\_interaction::add_to_current_interaction_list(var_00);
|
||||
if(isdefined(var_01) && var_01 == "bad_part")
|
||||
{
|
||||
self.crafting_interaction = undefined;
|
||||
self.crafting_piece = undefined;
|
||||
self setclientomnvar("zombie_souvenir_piece_index",0);
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 19
|
||||
reset_blueprint_on_disconnect()
|
||||
{
|
||||
self notify("reset_blueprint_on_disconnect");
|
||||
self endon("reset_blueprint_on_disconnect");
|
||||
var_00 = self.blueprint_interaction;
|
||||
var_01 = scripts\common\utility::waittill_any_return_no_endon_death_3("disconnect");
|
||||
var_00.blueprintmodel show();
|
||||
scripts\cp\_interaction::add_to_current_interaction_list(var_00);
|
||||
}
|
||||
|
||||
//Function Number: 20
|
||||
crafting_station_chem_hint(param_00,param_01)
|
||||
{
|
||||
if(!isdefined(param_00.parts_added))
|
||||
{
|
||||
param_00.parts_added = 0;
|
||||
}
|
||||
|
||||
if(isdefined(level.chem_pieces) && level.chem_pieces.size > param_00.parts_added)
|
||||
{
|
||||
return level.interaction_hintstrings["crafting_station_add_part"];
|
||||
}
|
||||
|
||||
return "";
|
||||
}
|
||||
|
||||
//Function Number: 21
|
||||
crafting_station_hint(param_00,param_01)
|
||||
{
|
||||
if(scripts\common\utility::istrue(param_00.var_4622))
|
||||
{
|
||||
return &"COOP_INTERACTIONS_COOLDOWN";
|
||||
}
|
||||
|
||||
if(scripts\common\utility::istrue(param_00.blueprint_added))
|
||||
{
|
||||
if(isdefined(param_01.crafting_piece) && is_valid_crafting_piece(param_01,param_00))
|
||||
{
|
||||
return level.interaction_hintstrings["crafting_station_add_part"];
|
||||
}
|
||||
|
||||
if(isdefined(param_00.parts_added) && param_00.parts_added == 3)
|
||||
{
|
||||
switch(param_00.active_blueprint)
|
||||
{
|
||||
case "violetray":
|
||||
return &"CP_TOWN_INTERACTIONS_TAKE_VIOLETRAY";
|
||||
|
||||
case "portal":
|
||||
return &"CP_TOWN_INTERACTIONS_TAKE_PORTAL";
|
||||
|
||||
case "seismic":
|
||||
return &"CP_TOWN_INTERACTIONS_TAKE_SEISMIC";
|
||||
|
||||
case "mindcontrol":
|
||||
return &"CP_TOWN_INTERACTIONS_TAKE_MINDCONTROL";
|
||||
|
||||
case "hypnosis":
|
||||
return &"CP_TOWN_INTERACTIONS_TAKE_HYPNOSIS";
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
return "";
|
||||
}
|
||||
|
||||
if(!isdefined(param_01.has_blueprint))
|
||||
{
|
||||
return &"CP_TOWN_INTERACTIONS_CRAFTING_MISSING_BLUEPRINT";
|
||||
}
|
||||
|
||||
return level.interaction_hintstrings["crafting_station_add_blueprint"];
|
||||
}
|
||||
|
||||
//Function Number: 22
|
||||
pickup_crafting_blueprint(param_00,param_01)
|
||||
{
|
||||
if(isdefined(param_01.has_blueprint))
|
||||
{
|
||||
param_01.has_blueprint = undefined;
|
||||
param_01.blueprint_interaction.blueprintmodel show();
|
||||
playfx(level._effect["generic_pickup"],param_01.blueprint_interaction.blueprintmodel.origin);
|
||||
scripts\cp\_interaction::add_to_current_interaction_list(param_01.blueprint_interaction);
|
||||
param_01.blueprint_interaction = undefined;
|
||||
}
|
||||
|
||||
param_01 thread scripts\cp\_utility::func_1308C(param_01,"iw7_pickup_zm");
|
||||
param_01 playlocalsound("town_pickup_blueprint");
|
||||
playfx(level._effect["generic_pickup"],param_00.blueprintmodel.origin);
|
||||
param_01.has_blueprint = param_00.name;
|
||||
param_01.blueprint_interaction = param_00;
|
||||
scripts\cp\_interaction::remove_from_current_interaction_list(param_00);
|
||||
param_00.blueprintmodel hide();
|
||||
switch(param_00.name)
|
||||
{
|
||||
case "seismic":
|
||||
param_01 setclientomnvar("zm_hud_inventory_1",3);
|
||||
break;
|
||||
|
||||
case "hypnosis":
|
||||
param_01 setclientomnvar("zm_hud_inventory_1",1);
|
||||
break;
|
||||
|
||||
case "mindcontrol":
|
||||
param_01 setclientomnvar("zm_hud_inventory_1",2);
|
||||
break;
|
||||
|
||||
case "violetray":
|
||||
param_01 setclientomnvar("zm_hud_inventory_1",4);
|
||||
break;
|
||||
}
|
||||
|
||||
param_01 thread scripts\cp\_vo::try_to_play_vo("collect_craft_blueprint","town_comment_vo");
|
||||
param_01 thread reset_blueprint_on_disconnect();
|
||||
}
|
||||
|
||||
//Function Number: 23
|
||||
crafting_cooldown(param_00)
|
||||
{
|
||||
param_00.var_4622 = 1;
|
||||
level scripts\common\utility::func_13734("regular_wave_starting","event_wave_starting");
|
||||
wait(1);
|
||||
level scripts\common\utility::func_13734("regular_wave_starting","event_wave_starting");
|
||||
param_00.var_4622 = undefined;
|
||||
var_01 = 5184;
|
||||
foreach(var_03 in level.players)
|
||||
{
|
||||
if(distancesquared(var_03.origin,param_00.origin) >= var_01)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
var_03 scripts\cp\_interaction::func_DE6E();
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 24
|
||||
give_crafted_item(param_00,param_01)
|
||||
{
|
||||
switch(param_00)
|
||||
{
|
||||
case "violetray":
|
||||
level thread scripts\cp\crafted_trap_violetray::give_crafted_violetray_trap(undefined,self);
|
||||
break;
|
||||
|
||||
case "portal":
|
||||
level thread scripts\cp\crafted_trap_portal::give_crafted_portal(undefined,self);
|
||||
break;
|
||||
|
||||
case "seismic":
|
||||
level thread scripts\cp\crafted_trap_seismic::give_crafted_seismic_trap(undefined,self);
|
||||
break;
|
||||
|
||||
case "mindcontrol":
|
||||
level thread scripts\cp\crafted_trap_mindcontrol::give_crafted_mindcontrol_trap(undefined,self);
|
||||
break;
|
||||
|
||||
case "hypnosis":
|
||||
level thread scripts\cp\crafted_trap_hypnosis::give_crafted_hypnosis(undefined,self);
|
||||
break;
|
||||
}
|
||||
|
||||
param_01.crafting_fx delete();
|
||||
playfx(level._effect["generic_pickup"],param_01.var_75F5.origin);
|
||||
self playlocalsound("zmb_item_pickup");
|
||||
}
|
1620
IW/PC/ALL/scripts/cp/maps/cp_town/cp_town_damage.gsc
Normal file
1620
IW/PC/ALL/scripts/cp/maps/cp_town/cp_town_damage.gsc
Normal file
File diff suppressed because it is too large
Load Diff
819
IW/PC/ALL/scripts/cp/maps/cp_town/cp_town_elvira.gsc
Normal file
819
IW/PC/ALL/scripts/cp/maps/cp_town/cp_town_elvira.gsc
Normal file
@ -0,0 +1,819 @@
|
||||
/*******************************************************************
|
||||
* Decompiled By: Bog
|
||||
* Decompiled File: scripts\cp\maps\cp_town\cp_town_elvira.gsc
|
||||
* Game: Call of Duty: Infinite Warfare
|
||||
* Platform: PC
|
||||
* Function Count: 27
|
||||
* Decompile Time: 1375 ms
|
||||
* Timestamp: 10/27/2023 12:07:18 AM
|
||||
*******************************************************************/
|
||||
|
||||
//Function Number: 1
|
||||
init_elvira()
|
||||
{
|
||||
scripts\common\utility::flag_init("spellbook_found");
|
||||
scripts\common\utility::flag_init("vial_filled");
|
||||
scripts\common\utility::flag_init("spellbook_placed");
|
||||
scripts\common\utility::flag_init("spellbook_page1_found");
|
||||
scripts\common\utility::flag_init("spellbook_page1_placed");
|
||||
scripts\common\utility::flag_init("spellbook_page2_found");
|
||||
scripts\common\utility::flag_init("spellbook_page2_placed");
|
||||
scripts\common\utility::flag_init("elvira_summoned");
|
||||
wait(10);
|
||||
var_00 = scripts\common\utility::getstruct("elvira","targetname");
|
||||
if(!isdefined(var_00))
|
||||
{
|
||||
var_00 = spawnstruct();
|
||||
var_00.origin = (353.5,-2560,534.5);
|
||||
var_00.angles = (0,175,0);
|
||||
}
|
||||
|
||||
level.elvira = spawn("script_model",var_00.origin);
|
||||
level.elvira.angles = var_00.angles;
|
||||
level.elvira setmodel("fullbody_zmb_hero_elvira_couch");
|
||||
level.elvira_struct = var_00;
|
||||
level.elvira_spellbook = getent("elvira_spellbook","targetname");
|
||||
level.elvira_spellbook hide();
|
||||
level thread elvira_idle_loop();
|
||||
level thread open_safe();
|
||||
}
|
||||
|
||||
//Function Number: 2
|
||||
open_safe()
|
||||
{
|
||||
var_00 = scripts\common\utility::getstruct("take_spellbook","script_noteworthy");
|
||||
scripts\cp\_interaction::remove_from_current_interaction_list(var_00);
|
||||
var_01 = getent("elvira_safe","targetname");
|
||||
var_01 setmodel("cp_town_safe");
|
||||
level waittill("activate_power");
|
||||
var_01 setmodel("cp_town_safe_open");
|
||||
scripts\cp\_interaction::add_to_current_interaction_list(var_00);
|
||||
}
|
||||
|
||||
//Function Number: 3
|
||||
register_elvira_interactions()
|
||||
{
|
||||
level.interaction_hintstrings["elvira_talk"] = &"CP_TOWN_INTERACTIONS_SPEAK_WITH_ELVIRA";
|
||||
level.interaction_hintstrings["take_spellbook"] = "";
|
||||
level.interaction_hintstrings["spell_page"] = "";
|
||||
level.interaction_hintstrings["elvira_beach"] = &"CP_TOWN_INTERACTIONS_SUMMON_ELVIRA";
|
||||
scripts\cp\_interaction::func_DEBB("elvira_talk","arcade_game",undefined,::elvira_hint,::interact_with_elvira,0);
|
||||
scripts\cp\_interaction::func_DEBB("elvira_beach","arcade_game",undefined,::elvira_beach_hint,::elvira_beach,0,0,::init_elvira_beach);
|
||||
scripts\cp\_interaction::func_DEBB("take_spellbook","arcade_game",undefined,undefined,::take_elvira_spellbook,0,1);
|
||||
scripts\cp\_interaction::func_DEBB("spell_page","arcade_game",undefined,undefined,::take_spellbook_page,0,1);
|
||||
level.interactions["take_spellbook"].disable_guided_interactions = 1;
|
||||
level.interactions["spell_page"].disable_guided_interactions = 1;
|
||||
level thread elvira_interaction_monitor();
|
||||
}
|
||||
|
||||
//Function Number: 4
|
||||
elvira_interaction_monitor()
|
||||
{
|
||||
var_00 = scripts\common\utility::getstruct("elvira_beach","script_noteworthy");
|
||||
var_01 = scripts\common\utility::getstruct("elvira_talk","script_noteworthy");
|
||||
for(;;)
|
||||
{
|
||||
if(scripts\common\utility::istrue(level.var_13517))
|
||||
{
|
||||
scripts\cp\_interaction::remove_from_current_interaction_list(var_01);
|
||||
while(scripts\common\utility::istrue(level.var_13517))
|
||||
{
|
||||
wait(0.05);
|
||||
}
|
||||
|
||||
wait(1);
|
||||
scripts\cp\_interaction::add_to_current_interaction_list(var_01);
|
||||
}
|
||||
|
||||
wait(0.05);
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 5
|
||||
init_elvira_beach()
|
||||
{
|
||||
var_00 = scripts\common\utility::getstruct("elvira_beach","script_noteworthy");
|
||||
scripts\cp\_interaction::remove_from_current_interaction_list(var_00);
|
||||
scripts\common\utility::flag_wait("boss_fight_active");
|
||||
level thread delay_elvira_ready_vo();
|
||||
level.elvira_spawn_struct = scripts\common\utility::getstruct("elvira_spawn_beach","targetname");
|
||||
scripts\cp\_interaction::add_to_current_interaction_list(var_00);
|
||||
var_01 = getent("elvira_spellbook","targetname");
|
||||
var_02 = getent("elvira_bookstand","targetname");
|
||||
var_01.var_C38F = var_01.origin;
|
||||
var_01.var_C378 = var_01.angles;
|
||||
var_02.var_C38F = var_02.origin;
|
||||
var_02.var_C378 = var_02.angles;
|
||||
var_03 = scripts\common\utility::getstruct("elvira_beach_bookstand","targetname");
|
||||
var_04 = scripts\common\utility::getstruct("elvira_beach_book","targetname");
|
||||
var_01.origin = var_04.origin;
|
||||
var_01.angles = var_04.angles;
|
||||
var_02.origin = var_03.origin;
|
||||
var_02.angles = var_03.angles;
|
||||
var_05 = spawnfx(level._effect["vfx_cp_town_book_idle"],var_01.origin + (0,0,10),anglestoforward(var_01.angles),anglestoup(var_01.angles));
|
||||
wait(1);
|
||||
triggerfx(var_05);
|
||||
scripts\common\utility::flag_wait("boss_fight_finished");
|
||||
level.elvira_spawn_struct = undefined;
|
||||
var_01.origin = var_01.var_C38F;
|
||||
var_01.angles = var_01.var_C378;
|
||||
var_02.origin = var_02.var_C38F;
|
||||
var_02.angles = var_02.var_C378;
|
||||
var_05 delete();
|
||||
scripts\cp\_interaction::remove_from_current_interaction_list(var_00);
|
||||
}
|
||||
|
||||
//Function Number: 6
|
||||
delay_elvira_ready_vo()
|
||||
{
|
||||
level endon("game_ended");
|
||||
level endon("elvira_summoned");
|
||||
wait(45);
|
||||
if(isdefined(level.elvira_ai))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if(isdefined(level.elvira_available_again) && gettime() < level.elvira_available_again)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if(!scripts\common\utility::flag("vial_filled"))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
level thread play_elvira_sound_in_space_vo("el_nag_beachboss_combat_ready");
|
||||
}
|
||||
|
||||
//Function Number: 7
|
||||
elvira_beach_hint(param_00,param_01)
|
||||
{
|
||||
if(isdefined(level.elvira_ai))
|
||||
{
|
||||
return &"CP_TOWN_INTERACTIONS_ELVIRA_GONE";
|
||||
}
|
||||
|
||||
if(isdefined(level.elvira_available_again) && gettime() < level.elvira_available_again)
|
||||
{
|
||||
return &"CP_TOWN_INTERACTIONS_ELVIRA_GONE";
|
||||
}
|
||||
|
||||
if(scripts\common\utility::flag("vial_filled"))
|
||||
{
|
||||
return &"CP_TOWN_INTERACTIONS_GIVE_VIAL";
|
||||
}
|
||||
|
||||
return level.interaction_hintstrings["elvira_beach"];
|
||||
}
|
||||
|
||||
//Function Number: 8
|
||||
elvira_beach(param_00,param_01)
|
||||
{
|
||||
if(isdefined(level.elvira_available_again) && gettime() < level.elvira_available_again)
|
||||
{
|
||||
level thread play_elvira_sound_in_space_vo("el_nag_beachboss_combat_cooldown");
|
||||
return;
|
||||
}
|
||||
|
||||
if(isdefined(level.elvira_ai))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if(!scripts\common\utility::flag("vial_filled"))
|
||||
{
|
||||
scripts\cp\_interaction::remove_from_current_interaction_list(param_00);
|
||||
param_00 thread elvira_talks(5);
|
||||
wait(5);
|
||||
scripts\cp\_interaction::add_to_current_interaction_list(param_00);
|
||||
return;
|
||||
}
|
||||
|
||||
if(scripts\common\utility::flag("vial_filled"))
|
||||
{
|
||||
scripts\cp\_interaction::remove_from_current_interaction_list(param_00);
|
||||
scripts\common\utility::flag_set("elvira_summoned");
|
||||
wait(0.5);
|
||||
scripts\common\utility::func_6E2A("vial_filled");
|
||||
elvira_finger_snap();
|
||||
level thread spawn_elvira();
|
||||
level thread play_elvira_sound_in_space_vo("el_nag_beachboss_combat_inbound");
|
||||
wait(1);
|
||||
scripts\cp\_interaction::add_to_current_interaction_list(param_00);
|
||||
foreach(param_01 in level.players)
|
||||
{
|
||||
param_01 scripts\cp\_merits::func_D9AD("mt_dlc3_elvira_summon");
|
||||
param_01 notify("elvira_summoned_notify");
|
||||
}
|
||||
|
||||
scripts\common\utility::func_6E5A("elvira_summoned");
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 9
|
||||
play_elvira_sound_in_space_vo(param_00)
|
||||
{
|
||||
if(!scripts\common\utility::istrue(level.var_C9C1) && !scripts\common\utility::istrue(level.var_13517))
|
||||
{
|
||||
scripts\cp\_vo::func_F60C(1);
|
||||
scripts\common\utility::play_sound_in_space(param_00,level.elvira.origin,0,level.elvira);
|
||||
var_01 = scripts\cp\_vo::func_7C76(param_00);
|
||||
wait(var_01);
|
||||
scripts\cp\_vo::func_F60C(0);
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 10
|
||||
elvira_hint(param_00,param_01)
|
||||
{
|
||||
if(isdefined(level.elvira_ai))
|
||||
{
|
||||
return &"CP_TOWN_INTERACTIONS_ELVIRA_GONE";
|
||||
}
|
||||
|
||||
if(isdefined(level.elvira_available_again) && gettime() < level.elvira_available_again)
|
||||
{
|
||||
return &"CP_TOWN_INTERACTIONS_ELVIRA_GONE";
|
||||
}
|
||||
|
||||
if(scripts\common\utility::flag("spellbook_found") && !scripts\common\utility::flag("spellbook_placed"))
|
||||
{
|
||||
return &"CP_TOWN_INTERACTIONS_GIVE_BOOK";
|
||||
}
|
||||
|
||||
if(scripts\common\utility::flag("spellbook_placed") && scripts\common\utility::flag("spellbook_page1_found") && !scripts\common\utility::flag("spellbook_page1_placed"))
|
||||
{
|
||||
return &"CP_TOWN_INTERACTIONS_GIVE_PAGES";
|
||||
}
|
||||
|
||||
if(scripts\common\utility::flag("vial_filled"))
|
||||
{
|
||||
return &"CP_TOWN_INTERACTIONS_GIVE_VIAL";
|
||||
}
|
||||
|
||||
return level.interaction_hintstrings["elvira_talk"];
|
||||
}
|
||||
|
||||
//Function Number: 11
|
||||
play_elvira_first_meet_vo(param_00)
|
||||
{
|
||||
var_01 = "";
|
||||
switch(self.var_134FD)
|
||||
{
|
||||
case "p1_":
|
||||
var_01 = "sally_meet_elvira_1";
|
||||
break;
|
||||
|
||||
case "p2_":
|
||||
var_01 = "pdex_meet_elvira_1";
|
||||
break;
|
||||
|
||||
case "p3_":
|
||||
var_01 = "andre_meet_elvira_1";
|
||||
break;
|
||||
|
||||
case "p4_":
|
||||
var_01 = "aj_meet_elvira_1";
|
||||
break;
|
||||
}
|
||||
|
||||
if(!isdefined(var_01) || var_01 == "")
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
scripts\cp\_vo::try_to_play_vo(var_01,"elvira_player_dialogue_vo","highest",70,0,0,1);
|
||||
}
|
||||
|
||||
//Function Number: 12
|
||||
interact_with_elvira(param_00,param_01)
|
||||
{
|
||||
if(isdefined(level.elvira_available_again) && gettime() < level.elvira_available_again)
|
||||
{
|
||||
elvira_mirror_check(param_01);
|
||||
return;
|
||||
}
|
||||
|
||||
if(isdefined(level.elvira_ai))
|
||||
{
|
||||
elvira_mirror_check(param_01);
|
||||
return;
|
||||
}
|
||||
|
||||
if(!scripts\common\utility::istrue(level.first_meeting_elvira) && !scripts\common\utility::flag("spellbook_found"))
|
||||
{
|
||||
if(param_01.var_134FD != "p5_")
|
||||
{
|
||||
param_01 thread play_elvira_first_meet_vo(param_00);
|
||||
level.first_meeting_elvira = 1;
|
||||
scripts\cp\_interaction::remove_from_current_interaction_list(param_00);
|
||||
level waittill("dialogue_done");
|
||||
scripts\cp\_interaction::add_to_current_interaction_list(param_00);
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
scripts\cp\_interaction::remove_from_current_interaction_list(param_00);
|
||||
if(!scripts\common\utility::istrue(level.var_C9C1) && !scripts\common\utility::istrue(level.var_13517))
|
||||
{
|
||||
level.first_meeting_elvira = 1;
|
||||
scripts\cp\_vo::func_F60C(1);
|
||||
var_02 = "el_sally_meet_elvira_10";
|
||||
param_01 thread scripts\cp\_vo::try_to_play_vo(var_02,"elvira_player_dialogue_vo","highest",70,0,0,1);
|
||||
var_03 = scripts\cp\_vo::func_7C76(var_02);
|
||||
param_00 thread elvira_talks(var_03);
|
||||
for(;;)
|
||||
{
|
||||
level waittill("dialogue_done",var_04);
|
||||
if(var_04 != "elvira_player_dialogue_vo")
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
scripts\cp\_vo::func_F60C(0);
|
||||
}
|
||||
else
|
||||
{
|
||||
wait(1);
|
||||
}
|
||||
|
||||
scripts\cp\_interaction::add_to_current_interaction_list(param_00);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if(scripts\common\utility::flag("spellbook_placed") && scripts\common\utility::flag("spellbook_page1_found") && !scripts\common\utility::flag("spellbook_page1_placed"))
|
||||
{
|
||||
playfx(level._effect["vfx_cp_town_book_place"],level.elvira_spellbook.origin + (0,0,10),anglestoforward(level.elvira_spellbook.angles),anglestoup(level.elvira_spellbook.angles));
|
||||
scripts\cp\_interaction::remove_from_current_interaction_list(param_00);
|
||||
if(!scripts\common\utility::istrue(level.var_C9C1) && !scripts\common\utility::istrue(level.var_13517))
|
||||
{
|
||||
level thread scripts\cp\maps\cp_town\cp_town::play_willard_elvira_exchange("elvira_upgrade2",param_00);
|
||||
}
|
||||
else
|
||||
{
|
||||
wait(1);
|
||||
scripts\cp\_interaction::add_to_current_interaction_list(param_00);
|
||||
}
|
||||
|
||||
scripts\common\utility::flag_set("spellbook_page1_placed");
|
||||
return;
|
||||
}
|
||||
|
||||
if(!scripts\common\utility::flag("spellbook_found"))
|
||||
{
|
||||
scripts\cp\_interaction::remove_from_current_interaction_list(param_00);
|
||||
if(!scripts\common\utility::istrue(level.var_C9C1) && !scripts\common\utility::istrue(level.var_13517))
|
||||
{
|
||||
scripts\cp\_vo::func_F60C(1);
|
||||
var_05 = ["el_pap_nag_spellbook_prior","el_pap_nag_spellbook_prior_2","el_pap_nag_spellbook_prior_3","el_pap_nag_spellbook_prior_4"];
|
||||
var_02 = scripts\common\utility::random(var_05);
|
||||
param_01 thread scripts\cp\_vo::try_to_play_vo(var_02,"elvira_player_dialogue_vo","highest",70,0,0,1);
|
||||
var_03 = scripts\cp\_vo::func_7C76(var_02);
|
||||
param_00 thread elvira_talks(var_03);
|
||||
for(;;)
|
||||
{
|
||||
level waittill("dialogue_done",var_04);
|
||||
if(var_04 != "elvira_player_dialogue_vo")
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
scripts\cp\_vo::func_F60C(0);
|
||||
}
|
||||
else
|
||||
{
|
||||
wait(1);
|
||||
}
|
||||
|
||||
scripts\cp\_interaction::add_to_current_interaction_list(param_00);
|
||||
return;
|
||||
}
|
||||
|
||||
if(scripts\common\utility::flag("spellbook_found") && !scripts\common\utility::flag("spellbook_placed"))
|
||||
{
|
||||
level thread place_elvira_spellbook(param_01);
|
||||
scripts\cp\_interaction::remove_from_current_interaction_list(param_00);
|
||||
if(!scripts\common\utility::istrue(level.var_C9C1) && !scripts\common\utility::istrue(level.var_13517))
|
||||
{
|
||||
level thread found_book_vo(param_00,param_01);
|
||||
wait(32);
|
||||
}
|
||||
else
|
||||
{
|
||||
wait(1);
|
||||
scripts\cp\_interaction::add_to_current_interaction_list(param_00);
|
||||
}
|
||||
|
||||
scripts\cp\_utility::set_quest_icon(23);
|
||||
scripts\common\utility::func_6E2A("vial_filled");
|
||||
level thread crog_vial_meter();
|
||||
level.first_meeting_elvira = 1;
|
||||
return;
|
||||
}
|
||||
|
||||
if(scripts\common\utility::flag("spellbook_placed") && !scripts\common\utility::flag("vial_filled"))
|
||||
{
|
||||
scripts\cp\_interaction::remove_from_current_interaction_list(param_00);
|
||||
if(!scripts\common\utility::istrue(level.var_C9C1) && !scripts\common\utility::istrue(level.var_13517))
|
||||
{
|
||||
scripts\cp\_vo::func_F60C(1);
|
||||
var_06 = ["el_pap_nag_generic_vial","el_pap_nag_generic_vial_2","el_pap_nag_generic_vial_3","el_pap_nag_generic_vial_4"];
|
||||
var_02 = scripts\common\utility::random(var_06);
|
||||
scripts\common\utility::play_sound_in_space(var_02,level.elvira.origin,0,level.elvira);
|
||||
var_03 = scripts\cp\_vo::func_7C76(var_02);
|
||||
param_00 thread elvira_talks(var_03);
|
||||
wait(var_03 + 1);
|
||||
scripts\cp\_vo::func_F60C(0);
|
||||
}
|
||||
|
||||
scripts\cp\_interaction::add_to_current_interaction_list(param_00);
|
||||
return;
|
||||
}
|
||||
|
||||
if(scripts\common\utility::flag("vial_filled"))
|
||||
{
|
||||
scripts\cp\_interaction::remove_from_current_interaction_list(param_00);
|
||||
if(!scripts\common\utility::istrue(level.var_C9C1) && !scripts\common\utility::istrue(level.var_13517))
|
||||
{
|
||||
scripts\cp\_vo::func_F60C(1);
|
||||
scripts\common\utility::play_sound_in_space("el_pap_returned_vial",level.elvira.origin,0,level.elvira);
|
||||
var_03 = scripts\cp\_vo::func_7C76("el_pap_returned_vial");
|
||||
param_00 thread elvira_talks(var_03);
|
||||
wait(var_03);
|
||||
scripts\cp\_vo::func_F60C(0);
|
||||
}
|
||||
|
||||
scripts\common\utility::flag_set("elvira_summoned");
|
||||
scripts\common\utility::func_6E2A("vial_filled");
|
||||
elvira_finger_snap();
|
||||
level thread spawn_elvira();
|
||||
wait(1);
|
||||
scripts\cp\_interaction::add_to_current_interaction_list(param_00);
|
||||
level thread play_escort_elvira_vo(param_00);
|
||||
foreach(var_08 in level.players)
|
||||
{
|
||||
var_08 scripts\cp\_merits::func_D9AD("mt_dlc3_elvira_summon");
|
||||
var_08 notify("elvira_summoned_notify");
|
||||
}
|
||||
|
||||
level thread scripts\cp\_vo::try_to_play_vo("ww_summon_elvira","rave_announcer_vo","highest",70,0,0,1);
|
||||
scripts\common\utility::func_6E5A("elvira_summoned");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 13
|
||||
found_book_vo(param_00,param_01)
|
||||
{
|
||||
scripts\cp\maps\cp_town\cp_town::play_willard_elvira_exchange("evirasbook",param_00);
|
||||
}
|
||||
|
||||
//Function Number: 14
|
||||
play_escort_elvira_vo(param_00)
|
||||
{
|
||||
wait(20);
|
||||
scripts\cp\maps\cp_town\cp_town::play_willard_elvira_exchange("escortingelvira",param_00);
|
||||
if(randomint(100) > 80)
|
||||
{
|
||||
wait(20);
|
||||
level thread scripts\cp\maps\cp_town\cp_town::play_willard_elvira_exchange("elvira_upgrade1",param_00);
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 15
|
||||
elvira_mirror_check(param_00)
|
||||
{
|
||||
var_01 = "elvira_mirror";
|
||||
if(isdefined(level.mirrors_picked_up[var_01]))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var_02 = getent("elvira_mirror","targetname");
|
||||
scripts\cp\_utility::set_quest_icon(8);
|
||||
param_00 playlocalsound("part_pickup");
|
||||
playfx(level._effect["generic_pickup"],var_02.origin);
|
||||
var_02 delete();
|
||||
level.mirrors_picked_up[var_01] = 1;
|
||||
}
|
||||
|
||||
//Function Number: 16
|
||||
place_elvira_spellbook(param_00)
|
||||
{
|
||||
scripts\common\utility::flag_set("spellbook_placed");
|
||||
param_00 playlocalsound("zmb_coin_sounvenir_place");
|
||||
playfx(level._effect["vfx_cp_town_book_place"],level.elvira_spellbook.origin + (0,0,10),anglestoforward(level.elvira_spellbook.angles),anglestoup(level.elvira_spellbook.angles));
|
||||
wait(0.45);
|
||||
level.elvira_spellbook show();
|
||||
playfx(level._effect["vfx_cp_town_book_idle"],level.elvira_spellbook.origin + (0,0,10),anglestoforward(level.elvira_spellbook.angles),anglestoup(level.elvira_spellbook.angles));
|
||||
}
|
||||
|
||||
//Function Number: 17
|
||||
take_elvira_spellbook(param_00,param_01)
|
||||
{
|
||||
scripts\cp\_interaction::remove_from_current_interaction_list(param_00);
|
||||
scripts\common\utility::flag_set("spellbook_found");
|
||||
var_02 = getent(param_00.target,"targetname");
|
||||
param_01 playlocalsound("part_pickup");
|
||||
playfx(level._effect["generic_pickup"],var_02.origin);
|
||||
var_02 delete();
|
||||
scripts\cp\_utility::set_quest_icon(19);
|
||||
}
|
||||
|
||||
//Function Number: 18
|
||||
take_spellbook_page(param_00,param_01)
|
||||
{
|
||||
scripts\cp\_interaction::remove_from_current_interaction_list(param_00);
|
||||
scripts\common\utility::flag_set("spellbook_page1_found");
|
||||
var_02 = getent(param_00.target,"targetname");
|
||||
param_01 playlocalsound("part_pickup");
|
||||
playfx(level._effect["generic_pickup"],var_02.origin);
|
||||
var_02 delete();
|
||||
scripts\cp\_utility::set_quest_icon(21);
|
||||
scripts\cp\_utility::set_quest_icon(22);
|
||||
}
|
||||
|
||||
//Function Number: 19
|
||||
elvira_idle_loop()
|
||||
{
|
||||
level notify("elvira_stop_talk_loop");
|
||||
level endon("elvira_summoned");
|
||||
level endon("elvira_stop_idle_loop");
|
||||
var_00 = [%iw7_cp_elvira_idle_01,%iw7_cp_elvira_idle_02];
|
||||
var_01 = ["IW7_cp_elvira_idle_01","IW7_cp_elvira_idle_02"];
|
||||
for(;;)
|
||||
{
|
||||
var_02 = scripts\common\utility::random(var_01);
|
||||
var_03 = undefined;
|
||||
switch(var_02)
|
||||
{
|
||||
case "IW7_cp_elvira_idle_01":
|
||||
var_03 = %iw7_cp_elvira_idle_01;
|
||||
break;
|
||||
|
||||
case "IW7_cp_elvira_idle_02":
|
||||
var_03 = %iw7_cp_elvira_idle_02;
|
||||
break;
|
||||
}
|
||||
|
||||
var_04 = getanimlength(var_03);
|
||||
level.elvira scriptmodelplayanimdeltamotionfrompos(var_02,level.elvira_struct.origin,level.elvira_struct.angles,1);
|
||||
wait(var_04);
|
||||
if(scripts\common\utility::flag("elvira_summoned"))
|
||||
{
|
||||
level notify("elvira_ready");
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 20
|
||||
elvira_talks(param_00,param_01)
|
||||
{
|
||||
if(isdefined(level.elvira_talking))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
level.elvira_talking = 1;
|
||||
level thread elvira_talk_loop();
|
||||
wait(param_00);
|
||||
level thread elvira_idle_loop();
|
||||
wait(0.25);
|
||||
level.elvira_talking = undefined;
|
||||
}
|
||||
|
||||
//Function Number: 21
|
||||
elvira_talk_loop()
|
||||
{
|
||||
level notify("elvira_stop_idle_loop");
|
||||
level endon("elvira_summoned");
|
||||
level endon("elvira_stop_talk_loop");
|
||||
var_00 = [%iw7_cp_elvira_talk_01,%iw7_cp_elvira_talk_02,%iw7_cp_elvira_talk_03,%iw7_cp_elvira_talk_04];
|
||||
var_01 = ["IW7_cp_elvira_talk_01","IW7_cp_elvira_talk_02","IW7_cp_elvira_talk_03","IW7_cp_elvira_talk_04"];
|
||||
var_02 = 0;
|
||||
for(;;)
|
||||
{
|
||||
var_03 = scripts\common\utility::random(var_01);
|
||||
var_04 = undefined;
|
||||
switch(var_03)
|
||||
{
|
||||
case "IW7_cp_elvira_talk_01":
|
||||
var_04 = %iw7_cp_elvira_talk_01;
|
||||
break;
|
||||
|
||||
case "IW7_cp_elvira_talk_02":
|
||||
var_04 = %iw7_cp_elvira_talk_02;
|
||||
break;
|
||||
|
||||
case "IW7_cp_elvira_talk_03":
|
||||
var_04 = %iw7_cp_elvira_talk_03;
|
||||
break;
|
||||
|
||||
case "IW7_cp_elvira_talk_04":
|
||||
var_04 = %iw7_cp_elvira_talk_04;
|
||||
break;
|
||||
}
|
||||
|
||||
var_05 = getanimlength(var_04);
|
||||
level.elvira scriptmodelplayanimdeltamotionfrompos(var_03,level.elvira_struct.origin,level.elvira_struct.angles,1);
|
||||
wait(var_05);
|
||||
if(scripts\common\utility::flag("elvira_summoned"))
|
||||
{
|
||||
level notify("elvira_ready");
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 22
|
||||
elvira_finger_snap()
|
||||
{
|
||||
scripts\common\utility::flag_set("elvira_summoned");
|
||||
scripts\cp\zombies\zombies_spawning::func_93EB(1);
|
||||
wait(1);
|
||||
var_00 = %iw7_cp_elvira_snap_01;
|
||||
level.elvira scriptmodelplayanimdeltamotionfrompos("IW7_cp_elvira_snap_01",level.elvira_struct.origin,level.elvira_struct.angles,1);
|
||||
wait(1.1);
|
||||
playsoundatpos(level.elvira.origin,"town_elvira_vanish");
|
||||
playfx(level._effect["elvira_couch_smoke"],level.elvira.origin);
|
||||
level.elvira hide();
|
||||
wait(1);
|
||||
}
|
||||
|
||||
//Function Number: 23
|
||||
spawn_elvira()
|
||||
{
|
||||
level.elvira_ai = undefined;
|
||||
if(!isdefined(level.elvira_spawn_struct))
|
||||
{
|
||||
var_00 = spawnstruct();
|
||||
var_00.origin = (261,-2560,520);
|
||||
var_00.angles = (0,180,0);
|
||||
}
|
||||
else
|
||||
{
|
||||
var_00 = level.elvira_spawn_struct;
|
||||
}
|
||||
|
||||
for(;;)
|
||||
{
|
||||
level.elvira_ai = scripts\cp\zombies\zombies_spawning::func_33B1("elvira",var_00.origin,var_00.angles,"allies",undefined,"iw7_erad_zm");
|
||||
if(!isdefined(level.elvira_ai))
|
||||
{
|
||||
wait(0.2);
|
||||
continue;
|
||||
}
|
||||
else
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
level.elvira_ai.var_1491.var_E5DE = 5;
|
||||
level.elvira_ai.health = 100000;
|
||||
level.elvira_ai.maxhealth = 100000;
|
||||
level.elvira_ai setcandamage(0);
|
||||
level.elvira_ai.allowpain = 0;
|
||||
level.elvira_ai.ignoreme = 1;
|
||||
level.elvira_ai.var_3842 = 1;
|
||||
level.elvira_ai.var_FFEF = 1;
|
||||
playfx(level._effect["elvira_stand_smoke"],level.elvira_ai.origin);
|
||||
playsoundatpos(level.elvira_ai.origin,"town_elvira_appear");
|
||||
level thread elvira_spawned_vo();
|
||||
level scripts\cp\_utility::set_completed_quest_mark(2);
|
||||
}
|
||||
|
||||
//Function Number: 24
|
||||
elvira_spawned_vo()
|
||||
{
|
||||
wait(90);
|
||||
if(!scripts\common\utility::istrue(level.anomaly_revealed))
|
||||
{
|
||||
if(isdefined(level.elvira_ai))
|
||||
{
|
||||
scripts\common\utility::play_sound_in_space("el_pap_nag_energy_warn_timeout",level.elvira_ai.origin,0,level.elvira_ai);
|
||||
return;
|
||||
}
|
||||
|
||||
if(isdefined(level.elvira))
|
||||
{
|
||||
scripts\common\utility::play_sound_in_space("el_pap_nag_energy_warn_timeout",level.elvira.origin,0,level.elvira);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 25
|
||||
crog_vial_meter()
|
||||
{
|
||||
var_00 = 0;
|
||||
for(;;)
|
||||
{
|
||||
var_01 = level scripts\common\utility::func_13734("cleaver_kill","cleaver_kill_zombie","cleaver_damage_zombie");
|
||||
if(scripts\common\utility::flag("vial_filled"))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if(var_01 == "cleaver_kill")
|
||||
{
|
||||
var_00 = var_00 + 0.1;
|
||||
}
|
||||
else if(var_01 == "cleaver_kill_zombie")
|
||||
{
|
||||
var_00 = var_00 + 0.05;
|
||||
}
|
||||
else if(var_01 == "cleaver_damage_zombie")
|
||||
{
|
||||
var_00 = var_00 + 0.01;
|
||||
}
|
||||
|
||||
if(var_00 >= 1)
|
||||
{
|
||||
setomnvar("zom_general_fill_percent_2",1);
|
||||
scripts\common\utility::flag_set("vial_filled");
|
||||
scripts\common\utility::func_6E5A("vial_filled");
|
||||
var_00 = 0;
|
||||
setomnvar("zom_general_fill_percent_2",0);
|
||||
continue;
|
||||
}
|
||||
|
||||
setomnvar("zom_general_fill_percent_2",var_00);
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 26
|
||||
elvira_timely_torrent(param_00)
|
||||
{
|
||||
wait(1);
|
||||
level endon("game_ended");
|
||||
var_01 = [];
|
||||
var_02 = 0;
|
||||
var_03 = scripts\cp\_agent_utils::get_alive_enemies();
|
||||
foreach(var_06, var_05 in var_03)
|
||||
{
|
||||
if(isdefined(var_05.flung))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if(!isdefined(var_05.agent_type))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if(distancesquared(var_05.origin,self.origin) > 810000)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if(scripts\common\utility::func_13D90(self.origin,self.angles,var_05.origin,cos(60)))
|
||||
{
|
||||
level thread torrent_kill_zombie(var_05,var_06);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 27
|
||||
torrent_kill_zombie(param_00,param_01)
|
||||
{
|
||||
param_00 endon("death");
|
||||
level endon("game_ended");
|
||||
if(param_01 % 3 == 0)
|
||||
{
|
||||
playsoundatpos(param_00.origin,"zmb_fnf_timely_torrent_lava");
|
||||
}
|
||||
|
||||
playfx(level._effect["lava_torrent"],param_00.origin,undefined,anglestoup((0,0,90)));
|
||||
if(param_00.agent_type != "crab_brute")
|
||||
{
|
||||
param_00.flung = 1;
|
||||
param_00.do_immediate_ragdoll = 1;
|
||||
param_00.disable_armor = 1;
|
||||
param_00 setsolid(0);
|
||||
param_00 setvelocity((0,0,600));
|
||||
wait(0.1);
|
||||
if(isdefined(param_00))
|
||||
{
|
||||
param_00 dodamage(10000,param_00.origin);
|
||||
return;
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if(isdefined(param_00))
|
||||
{
|
||||
param_00 dodamage(1000,param_00.origin);
|
||||
}
|
||||
}
|
235
IW/PC/ALL/scripts/cp/maps/cp_town/cp_town_fast_travel.gsc
Normal file
235
IW/PC/ALL/scripts/cp/maps/cp_town/cp_town_fast_travel.gsc
Normal file
@ -0,0 +1,235 @@
|
||||
/*******************************************************************
|
||||
* Decompiled By: Bog
|
||||
* Decompiled File: scripts\cp\maps\cp_town\cp_town_fast_travel.gsc
|
||||
* Game: Call of Duty: Infinite Warfare
|
||||
* Platform: PC
|
||||
* Function Count: 9
|
||||
* Decompile Time: 516 ms
|
||||
* Timestamp: 10/27/2023 12:07:19 AM
|
||||
*******************************************************************/
|
||||
|
||||
//Function Number: 1
|
||||
init_teleport_portals()
|
||||
{
|
||||
scripts\common\utility::flag_wait("interactions_initialized");
|
||||
var_00 = scripts\common\utility::getstructarray("fast_travel_portal","targetname");
|
||||
foreach(var_02 in var_00)
|
||||
{
|
||||
var_03 = getentarray("chi_door_fast_travel_portal_trigger","targetname");
|
||||
self.trigger = scripts\common\utility::getclosest(self.origin,var_03,500);
|
||||
self.start_point_name = self.script_noteworthy;
|
||||
self.end_point_name = self.var_EE79;
|
||||
self.end_point = scripts\common\utility::getstruct(self.var_EE79,"script_noteworthy");
|
||||
self.teleport_door = scripts\common\utility::getclosest(self.origin,getentarray("chi_door_fast_travel","targetname"));
|
||||
var_04 = getentarray("chi_door_fast_travel_symbol","targetname");
|
||||
if(isdefined(var_04))
|
||||
{
|
||||
self.teleport_door_symbol = scripts\common\utility::getclosest(self.origin,var_04);
|
||||
}
|
||||
|
||||
self.var_DDC4 = [];
|
||||
self.var_4613 = 0;
|
||||
self.var_C626 = 0;
|
||||
if(!isdefined(self.angles))
|
||||
{
|
||||
self.angles = (0,0,0);
|
||||
}
|
||||
|
||||
self.teleport_spots = scripts\common\utility::getstructarray(self.end_point.target,"targetname");
|
||||
script_add_teleport_spots();
|
||||
foreach(var_06 in self.teleport_spots)
|
||||
{
|
||||
if(!isdefined(var_06.angles))
|
||||
{
|
||||
var_06.angles = (0,0,0);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 2
|
||||
script_add_teleport_spots()
|
||||
{
|
||||
var_00 = [];
|
||||
var_01 = (0,0,0);
|
||||
foreach(var_03 in var_00)
|
||||
{
|
||||
var_04 = spawnstruct();
|
||||
var_04.origin = var_03;
|
||||
var_04.angles = var_01;
|
||||
var_04.var_336 = self.teleport_spots[0].var_336;
|
||||
self.teleport_spots[self.teleport_spots.size] = var_04;
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 3
|
||||
move_player_through_portal_tube(param_00,param_01)
|
||||
{
|
||||
param_00 endon("disconnect");
|
||||
param_00 scripts\cp\powers\coop_powers::func_D728();
|
||||
param_00.disable_consumables = 1;
|
||||
param_00.isfasttravelling = 1;
|
||||
param_00 method_80F3();
|
||||
param_00 notify("delete_equipment");
|
||||
param_00 scripts\cp\zombies\zombie_afterlife_arcade::func_1794();
|
||||
var_02 = func_BC83(param_00,"fast_travel_tube_start","fast_travel_tube_end");
|
||||
if(isdefined(self.var_4613))
|
||||
{
|
||||
self.var_4613 = self.var_4613 + 30;
|
||||
}
|
||||
|
||||
teleport_to_portal_safe_spot(param_00,param_01);
|
||||
param_00 thread scripts\cp\zombies\zombie_afterlife_arcade::func_E0AE(0.1);
|
||||
wait(0.1);
|
||||
var_02 delete();
|
||||
param_00 scripts\cp\_utility::func_E0E6("papRoom",0);
|
||||
param_00.var_9C54 = undefined;
|
||||
param_00.kicked_out = undefined;
|
||||
param_00.isfasttravelling = undefined;
|
||||
param_00.disable_consumables = undefined;
|
||||
param_00 notify("fast_travel_complete");
|
||||
param_00 scripts\cp\powers\coop_powers::func_D72E();
|
||||
param_00 thread update_personal_ents_after_delay();
|
||||
if(param_00.var_134FD == "p5_")
|
||||
{
|
||||
param_00 thread scripts\cp\_vo::try_to_play_vo("fasttravel_exit","town_comment_vo");
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 4
|
||||
func_BC83(param_00,param_01,param_02)
|
||||
{
|
||||
level endon("game_ended");
|
||||
param_00 endon("disconnect");
|
||||
param_00 endon("move_through_tube");
|
||||
param_00 earthquakeforplayer(0.3,0.2,param_00.origin,200);
|
||||
var_03 = getent(param_01,"targetname");
|
||||
var_04 = getent(param_02,"targetname");
|
||||
param_00 cancelmantle();
|
||||
param_00.var_C004 = 1;
|
||||
param_00.var_C016 = 1;
|
||||
var_05 = var_03.origin + (0,0,-45);
|
||||
var_06 = var_04.origin + (0,0,-45);
|
||||
param_00.var_9BE1 = 1;
|
||||
param_00 scripts\cp\_utility::func_17C0("fast_travel",0,0);
|
||||
param_00 scripts\cp\_utility::func_1C5C(1);
|
||||
param_00 dontinterpolate();
|
||||
param_00 setorigin(var_05);
|
||||
param_00 setplayerangles(var_03.angles);
|
||||
param_00 playlocalsound("zmb_portal_travel_lr");
|
||||
var_07 = spawn("script_origin",var_05);
|
||||
param_00 playerlinkto(var_07);
|
||||
param_00 method_8232();
|
||||
wait(0.1);
|
||||
param_00 thread scripts\cp\zombies\zombie_afterlife_arcade::func_E0AE(0.1);
|
||||
var_07 moveto(var_06,1);
|
||||
wait(1);
|
||||
param_00.var_9BE1 = undefined;
|
||||
param_00 scripts\cp\_utility::func_E0E6("fast_travel",0);
|
||||
if(param_00 scripts\cp\_utility::func_9E3A())
|
||||
{
|
||||
param_00 scripts\cp\_utility::func_1C5C(0);
|
||||
}
|
||||
|
||||
param_00.var_9BE1 = undefined;
|
||||
param_00.var_C004 = 0;
|
||||
param_00.var_C016 = 0;
|
||||
param_00 scripts\cp\zombies\zombie_afterlife_arcade::func_1794();
|
||||
return var_07;
|
||||
}
|
||||
|
||||
//Function Number: 5
|
||||
move_zombie_through_portal_tube(param_00)
|
||||
{
|
||||
param_00.isfasttravelling = 1;
|
||||
var_01 = func_BC83(param_00,"fast_travel_tube_start","fast_travel_tube_end",1);
|
||||
teleport_to_portal_safe_spot(param_00);
|
||||
wait(0.1);
|
||||
var_01 delete();
|
||||
param_00.isfasttravelling = undefined;
|
||||
}
|
||||
|
||||
//Function Number: 6
|
||||
update_personal_ents_after_delay()
|
||||
{
|
||||
self endon("disconnect");
|
||||
scripts\common\utility::func_136F7();
|
||||
scripts\cp\_interaction::func_DE6E();
|
||||
}
|
||||
|
||||
//Function Number: 7
|
||||
unlinkplayerafterduration()
|
||||
{
|
||||
while(scripts\common\utility::istrue(self.isrewinding) || isdefined(self.rewindmover))
|
||||
{
|
||||
scripts\common\utility::func_136F7();
|
||||
}
|
||||
|
||||
self unlink();
|
||||
}
|
||||
|
||||
//Function Number: 8
|
||||
teleport_to_portal_safe_spot(param_00,param_01)
|
||||
{
|
||||
if(isdefined(param_01))
|
||||
{
|
||||
var_02 = param_01;
|
||||
}
|
||||
else
|
||||
{
|
||||
var_02 = self.teleport_spots;
|
||||
}
|
||||
|
||||
var_03 = undefined;
|
||||
while(!isdefined(var_03))
|
||||
{
|
||||
foreach(var_05 in var_02)
|
||||
{
|
||||
if(!positionwouldtelefrag(var_05.origin))
|
||||
{
|
||||
var_03 = var_05;
|
||||
}
|
||||
}
|
||||
|
||||
if(!isdefined(var_03))
|
||||
{
|
||||
if(!isdefined(var_02[0].angles))
|
||||
{
|
||||
var_02[0].angles = (0,0,0);
|
||||
}
|
||||
|
||||
var_07 = scripts\cp\_utility::func_13192(anglestoforward(var_02[0].angles),64);
|
||||
var_03 = spawnstruct();
|
||||
var_03.origin = var_02[0].origin + var_07;
|
||||
var_03.angles = var_02[0].angles;
|
||||
}
|
||||
|
||||
wait(0.1);
|
||||
}
|
||||
|
||||
param_00 method_8447();
|
||||
if(scripts\common\utility::istrue(param_00.isrewinding) || isdefined(self.rewindmover))
|
||||
{
|
||||
param_00 thread unlinkplayerafterduration();
|
||||
}
|
||||
else
|
||||
{
|
||||
param_00 unlink();
|
||||
}
|
||||
|
||||
param_00 dontinterpolate();
|
||||
param_00 setorigin(var_03.origin);
|
||||
param_00 setplayerangles(var_03.angles);
|
||||
param_00.disable_consumables = undefined;
|
||||
param_00 scripts\cp\powers\coop_powers::func_D72E();
|
||||
param_00.portal_end_origin = var_03.origin;
|
||||
}
|
||||
|
||||
//Function Number: 9
|
||||
delay_portal_trigger_on_player(param_00,param_01)
|
||||
{
|
||||
wait(param_01);
|
||||
param_00.recently_used_portal = undefined;
|
||||
wait(param_01 * 2);
|
||||
self.var_DDC4 = scripts\common\utility::func_22A9(self.var_DDC4,param_00);
|
||||
}
|
195
IW/PC/ALL/scripts/cp/maps/cp_town/cp_town_fx.gsc
Normal file
195
IW/PC/ALL/scripts/cp/maps/cp_town/cp_town_fx.gsc
Normal file
@ -0,0 +1,195 @@
|
||||
/*******************************************************************
|
||||
* Decompiled By: Bog
|
||||
* Decompiled File: scripts\cp\maps\cp_town\cp_town_fx.gsc
|
||||
* Game: Call of Duty: Infinite Warfare
|
||||
* Platform: PC
|
||||
* Function Count: 1
|
||||
* Decompile Time: 113 ms
|
||||
* Timestamp: 10/27/2023 12:07:19 AM
|
||||
*******************************************************************/
|
||||
|
||||
//Function Number: 1
|
||||
main()
|
||||
{
|
||||
level._effect["vfx_egg_vapor"] = loadfx("vfx/iw7/levels/cp_town/vfx_egg_vapor.vfx");
|
||||
level._effect["vfx_bomb_portal_charged_beach"] = loadfx("vfx/iw7/levels/cp_town/vfx_bomb_portal_charged_beach.vfx");
|
||||
level._effect["vfx_bomb_portal_chargeup_beach"] = loadfx("vfx/iw7/levels/cp_town/vfx_bomb_portal_chargeup_beach.vfx");
|
||||
level._effect["vfx_chem_console_on_yellow"] = loadfx("vfx/iw7/levels/cp_town/vfx_chem_console_on_yellow.vfx");
|
||||
level._effect["vfx_chem_console_on_nolights"] = loadfx("vfx/iw7/levels/cp_town/vfx_chem_console_on_nolights.vfx");
|
||||
level._effect["vfx_chem_console_on_green"] = loadfx("vfx/iw7/levels/cp_town/vfx_chem_console_on_green.vfx");
|
||||
level._effect["vfx_chem_console_on_red"] = loadfx("vfx/iw7/levels/cp_town/vfx_chem_console_on_red.vfx");
|
||||
level._effect["vfx_freezer_frost_scrn"] = loadfx("vfx/iw7/levels/cp_town/vfx_freezer_frost_scrn.vfx");
|
||||
level._effect["vfx_screen_flicker2"] = loadfx("vfx/iw7/levels/cp_town/amb/vfx_screen_flicker2.vfx");
|
||||
level._effect["vfx_screen_flicker"] = loadfx("vfx/iw7/levels/cp_town/amb/vfx_screen_flicker.vfx");
|
||||
level._effect["vfx_town_portal_afterlife"] = loadfx("vfx/iw7/levels/cp_town/vfx_town_portal_afterlife.vfx");
|
||||
level._effect["vfx_pap_upgrade_symb"] = loadfx("vfx/iw7/levels/cp_town/vfx_pap_upgrade_symb.vfx");
|
||||
level._effect["vfx_bomb_portal_out"] = loadfx("vfx/iw7/levels/cp_town/vfx_bomb_portal_out.vfx");
|
||||
level._effect["vfx_bomb_portal_in"] = loadfx("vfx/iw7/levels/cp_town/vfx_bomb_portal_in.vfx");
|
||||
level._effect["vfx_bomb_portal_charged"] = loadfx("vfx/iw7/levels/cp_town/vfx_bomb_portal_charged.vfx");
|
||||
level._effect["vfx_bomb_portal_chargeup"] = loadfx("vfx/iw7/levels/cp_town/vfx_bomb_portal_chargeup.vfx");
|
||||
level._effect["vfx_crft_xray_spark_gd"] = loadfx("vfx/iw7/levels/cp_town/craft/vfx_crft_xray_spark_gd.vfx");
|
||||
level._effect["vfx_spell_tornado"] = loadfx("vfx/iw7/levels/cp_town/elvira/vfx_spell_tornado.vfx");
|
||||
level._effect["vfx_spell_anom"] = loadfx("vfx/iw7/levels/cp_town/elvira/vfx_spell_anom.vfx");
|
||||
level._effect["fuse_door_break"] = loadfx("vfx/iw7/levels/cp_town/fuse_door_break.vfx");
|
||||
level._effect["vfx_table_dryice"] = loadfx("vfx/iw7/levels/cp_town/amb/vfx_table_dryice.vfx");
|
||||
level._effect["vfx_portal_lightning_rnr"] = loadfx("vfx/iw7/levels/cp_town/vfx_portal_lightning_rnr.vfx");
|
||||
level._effect["vfx_plunger_fill"] = loadfx("vfx/iw7/levels/cp_town/gun/vfx_plunger_fill.vfx");
|
||||
level._effect["vfx_finger_snap"] = loadfx("vfx/iw7/levels/cp_town/elvira/vfx_finger_snap.vfx");
|
||||
level._effect["vfx_safe_open"] = loadfx("vfx/iw7/levels/cp_town/vfx_safe_open.vfx");
|
||||
level._effect["vfx_pipe_steam"] = loadfx("vfx/iw7/levels/cp_town/amb/vfx_pipe_steam.vfx");
|
||||
level._effect["vfx_sac_steam"] = loadfx("vfx/iw7/levels/cp_town/amb/vfx_sac_steam.vfx");
|
||||
level._effect["vfx_tanker_splashes"] = loadfx("vfx/iw7/levels/cp_town/amb/vfx_tanker_splashes.vfx");
|
||||
level._effect["vfx_debris_swirl_01"] = loadfx("vfx/iw7/levels/cp_town/amb/vfx_debris_swirl_01.vfx");
|
||||
level._effect["vfx_sludge_stream"] = loadfx("vfx/iw7/levels/cp_town/amb/vfx_sludge_stream.vfx");
|
||||
level._effect["vfx_toxic_sludge_no_bub"] = loadfx("vfx/iw7/levels/cp_town/amb/vfx_toxic_sludge_no_bub.vfx");
|
||||
level._effect["vfx_grnd_heat_distort"] = loadfx("vfx/iw7/levels/cp_town/amb/vfx_grnd_heat_distort.vfx");
|
||||
level._effect["vfx_zb_telep_potal_revealed"] = loadfx("vfx/iw7/levels/cp_town/craft/vfx_zb_telep_potal_revealed.vfx");
|
||||
level._effect["vfx_crog_blood"] = loadfx("vfx/iw7/levels/cp_town/vfx_crog_blood.vfx");
|
||||
level._effect["vfx_gn_falling_leaves"] = loadfx("vfx/iw7/levels/mp_geneva/vfx_gn_falling_leaves.vfx");
|
||||
level._effect["vfx_dust_swirl_ch"] = loadfx("vfx/iw7/levels/cp_town/amb/vfx_dust_swirl_ch.vfx");
|
||||
level._effect["vfx_reaction"] = loadfx("vfx/iw7/levels/cp_town/gesture/vfx_reaction.vfx");
|
||||
level._effect["vfx_sprinkle"] = loadfx("vfx/iw7/levels/cp_town/gesture/vfx_sprinkle.vfx");
|
||||
level._effect["vfx_dart_trap_tube"] = loadfx("vfx/iw7/levels/cp_town/trap/vfx_dart_trap_tube.vfx");
|
||||
level._effect["vfx_studio_lf"] = loadfx("vfx/iw7/levels/cp_town/amb/vfx_studio_lf.vfx");
|
||||
level._effect["vfx_dust_swirl"] = loadfx("vfx/iw7/levels/cp_town/amb/vfx_dust_swirl.vfx");
|
||||
level._effect["vfx_dw_denial_loop"] = loadfx("vfx/iw7/levels/cp_town/crog/vfx_dw_denial_loop.vfx");
|
||||
level._effect["vfx_cp_town_book_idle"] = loadfx("vfx/iw7/levels/cp_town/vfx_cp_town_book_idle.vfx");
|
||||
level._effect["vfx_cp_town_book_place"] = loadfx("vfx/iw7/levels/cp_town/vfx_cp_town_book_place.vfx");
|
||||
level._effect["vfx_puddle_mist"] = loadfx("vfx/iw7/levels/cp_town/amb/vfx_puddle_mist.vfx");
|
||||
level._effect["vfx_rock_ripples"] = loadfx("vfx/iw7/levels/cp_town/amb/vfx_rock_ripples.vfx");
|
||||
level._effect["vfx_stream_whitewater"] = loadfx("vfx/iw7/levels/cp_town/amb/vfx_stream_whitewater.vfx");
|
||||
level._effect["vfx_candle_flame_nl"] = loadfx("vfx/iw7/levels/cp_town/amb/vfx_candle_flame_nl.vfx");
|
||||
level._effect["vfx_candle_flame"] = loadfx("vfx/iw7/levels/cp_town/amb/vfx_candle_flame.vfx");
|
||||
level._effect["vfx_elvira_mist"] = loadfx("vfx/iw7/levels/cp_town/amb/vfx_elvira_mist.vfx");
|
||||
level._effect["vfx_zb_frz_pipe_fast"] = loadfx("vfx/iw7/levels/cp_town/trap/vfx_zb_frz_pipe_fast.vfx");
|
||||
level._effect["vfx_zb_frz_kneehigh_on"] = loadfx("vfx/iw7/levels/cp_town/trap/vfx_zb_frz_kneehigh_on.vfx");
|
||||
level._effect["vfx_zb_frz_on_snow"] = loadfx("vfx/iw7/levels/cp_town/trap/vfx_zb_frz_on_snow.vfx");
|
||||
level._effect["vfx_zb_frz_pipe_on"] = loadfx("vfx/iw7/levels/cp_town/trap/vfx_zb_frz_pipe_on.vfx");
|
||||
level._effect["vfx_zb_frz_room_fill_on"] = loadfx("vfx/iw7/levels/cp_town/trap/vfx_zb_frz_room_fill_on.vfx");
|
||||
level._effect["vfx_blowing_sand_flat"] = loadfx("vfx/iw7/levels/cp_town/amb/vfx_blowing_sand_flat.vfx");
|
||||
level._effect["vfx_blowing_sand"] = loadfx("vfx/iw7/levels/cp_town/amb/vfx_blowing_sand.vfx");
|
||||
level._effect["vfx_zb_frz_on"] = loadfx("vfx/iw7/levels/cp_town/trap/vfx_zb_frz_on.vfx");
|
||||
level._effect["vfx_zb_frz_off"] = loadfx("vfx/iw7/levels/cp_town/trap/vfx_zb_frz_off.vfx");
|
||||
level._effect["vfx_zb_frz_room_fill"] = loadfx("vfx/iw7/levels/cp_town/trap/vfx_zb_frz_room_fill.vfx");
|
||||
level._effect["vfx_transformer_trap"] = loadfx("vfx/iw7/levels/cp_town/trap/vfx_transformer_trap.vfx");
|
||||
level._effect["vfx_zb_frz_pipe"] = loadfx("vfx/iw7/levels/cp_town/trap/vfx_zb_frz_pipe.vfx");
|
||||
level._effect["vfx_zb_frz_kneehigh"] = loadfx("vfx/iw7/levels/cp_town/trap/vfx_zb_frz_kneehigh.vfx");
|
||||
level._effect["vfx_birds_burst"] = loadfx("vfx/iw7/levels/cp_town/amb/vfx_birds_burst.vfx");
|
||||
level._effect["vfx_light_mist"] = loadfx("vfx/iw7/levels/cp_town/amb/vfx_light_mist.vfx");
|
||||
level._effect["vfx_zb_prop_fire_line"] = loadfx("vfx/iw7/levels/cp_town/trap/vfx_zb_prop_fire_line.vfx");
|
||||
level._effect["vfx_zb_prop_flm_exp"] = loadfx("vfx/iw7/levels/cp_town/trap/vfx_zb_prop_flm_exp.vfx");
|
||||
level._effect["vfx_zb_prop_flame"] = loadfx("vfx/iw7/levels/cp_town/trap/vfx_zb_prop_flame.vfx");
|
||||
level._effect["vfx_mini_death_buildup_3"] = loadfx("vfx/iw7/levels/cp_town/crog/vfx_mini_death_buildup_3.vfx");
|
||||
level._effect["vfx_mini_death_buildup_2"] = loadfx("vfx/iw7/levels/cp_town/crog/vfx_mini_death_buildup_2.vfx");
|
||||
level._effect["vfx_mini_death_buildup"] = loadfx("vfx/iw7/levels/cp_town/crog/vfx_mini_death_buildup.vfx");
|
||||
level._effect["vfx_dart_trap"] = loadfx("vfx/iw7/levels/cp_town/trap/vfx_dart_trap.vfx");
|
||||
level._effect["vfx_wave_crash"] = loadfx("vfx/iw7/levels/cp_town/amb/vfx_wave_crash.vfx");
|
||||
level._effect["vfx_mini_stuck_release"] = loadfx("vfx/iw7/levels/cp_town/crog/vfx_mini_stuck_release.vfx");
|
||||
level._effect["vfx_mini_stuck_impact"] = loadfx("vfx/iw7/levels/cp_town/crog/vfx_mini_stuck_impact.vfx");
|
||||
level._effect["vfx_brute_burrow_run_2"] = loadfx("vfx/iw7/levels/cp_town/crog/vfx_brute_burrow_run_2.vfx");
|
||||
level._effect["vfx_crog_summon_base"] = loadfx("vfx/iw7/levels/cp_town/crog/vfx_crog_summon_base.vfx");
|
||||
level._effect["vfx_brute_flash"] = loadfx("vfx/iw7/levels/cp_town/crog/vfx_brute_flash.vfx");
|
||||
level._effect["vfx_brute_flash_build"] = loadfx("vfx/iw7/levels/cp_town/crog/vfx_brute_flash_build.vfx");
|
||||
level._effect["vfx_brute_burrow_run"] = loadfx("vfx/iw7/levels/cp_town/crog/vfx_brute_burrow_run.vfx");
|
||||
level._effect["vfx_brute_burrow_down"] = loadfx("vfx/iw7/levels/cp_town/crog/vfx_brute_burrow_down.vfx");
|
||||
level._effect["vfx_gen_smoke"] = loadfx("vfx/iw7/levels/cp_town/trap/vfx_gen_smoke.vfx");
|
||||
level._effect["vfx_gen_zaps"] = loadfx("vfx/iw7/levels/cp_town/trap/vfx_gen_zaps.vfx");
|
||||
level._effect["vfx_boiling_pool"] = loadfx("vfx/iw7/levels/cp_town/trap/vfx_boiling_pool.vfx");
|
||||
level._effect["vfx_oasis_gnat_swarm"] = loadfx("vfx/iw7/levels/mp_marsoasis/vfx_oasis_gnat_swarm.vfx");
|
||||
level._effect["vfx_nova_trash_flies"] = loadfx("vfx/iw7/levels/mp_nova/vfx_nova_trash_flies.vfx");
|
||||
level._effect["vfx_oasis_dragonflies"] = loadfx("vfx/iw7/levels/cp_town/amb/vfx_dragonflies.vfx");
|
||||
level._effect["vfx_boss_int_scrn"] = loadfx("vfx/iw7/levels/cp_town/vfx_boss_int_scrn.vfx");
|
||||
level._effect["vfx_pit_fire"] = loadfx("vfx/iw7/levels/cp_town/amb/vfx_pit_fire.vfx");
|
||||
level._effect["vfx_nova_birds_circling"] = loadfx("vfx/iw7/levels/mp_nova/vfx_nova_birds_circling.vfx");
|
||||
level._effect["vfx_sunflare"] = loadfx("vfx/iw7/levels/cp_town/amb/vfx_sunflare.vfx");
|
||||
level._effect["vfx_toxic_sludge"] = loadfx("vfx/iw7/levels/cp_town/amb/vfx_toxic_sludge.vfx");
|
||||
level._effect["vfx_magicwheel_fire"] = loadfx("vfx/iw7/_requests/coop/vfx_magicwheel_fire.vfx");
|
||||
level._effect["vfx_magicwheel_toy_pop"] = loadfx("vfx/iw7/core/zombie/magicwheel/vfx_magicwheel_toy_pop.vfx");
|
||||
level._effect["vfx_zb_pack_grd_d"] = loadfx("vfx/iw7/core/zombie/pap/vfx_zb_pack_grd_d.vfx");
|
||||
level._effect["vfx_zb_pack_grd_e"] = loadfx("vfx/iw7/core/zombie/pap/vfx_zb_pack_grd_e.vfx");
|
||||
level._effect["vfx_zb_pack_grd_c"] = loadfx("vfx/iw7/core/zombie/pap/vfx_zb_pack_grd_c.vfx");
|
||||
level._effect["vfx_zb_pack_grd_b"] = loadfx("vfx/iw7/core/zombie/pap/vfx_zb_pack_grd_b.vfx");
|
||||
level._effect["vfx_zb_pack_grd_a"] = loadfx("vfx/iw7/core/zombie/pap/vfx_zb_pack_grd_a.vfx");
|
||||
level._effect["vfx_zb_sj_smk"] = loadfx("vfx/iw7/core/zombie/pap/vfx_zb_sj_smk.vfx");
|
||||
level._effect["vfx_zb_pack_glow_ground_b"] = loadfx("vfx/iw7/core/zombie/pap/vfx_zb_pack_glow_ground_b.vfx");
|
||||
level._effect["vfx_zb_pack_glow"] = loadfx("vfx/iw7/core/zombie/pap/vfx_zb_pack_glow.vfx");
|
||||
level._effect["vfx_zmb_candle_flame"] = loadfx("vfx/iw7/core/zombie/pap/vfx_zmb_candle_flame.vfx");
|
||||
level._effect["soul_jar_d"] = loadfx("vfx/iw7/core/zombie/frontend/vfx_zb_a.vfx");
|
||||
level._effect["soul_jar_e"] = loadfx("vfx/iw7/core/zombie/frontend/vfx_zb_e.vfx");
|
||||
level._effect["soul_jar_a"] = loadfx("vfx/iw7/core/zombie/frontend/vfx_zb_d.vfx");
|
||||
level._effect["vfx_pap_return_portal"] = loadfx("vfx/iw7/levels/cp_disco/vfx_paproom_portal.vfx");
|
||||
level.centhub_portal_fx = level._effect["vfx_town_portal_afterlife"];
|
||||
level._effect["fuse_charged"] = loadfx("vfx/iw7/core/zombie/vfx_disco_fuse_charged.vfx");
|
||||
level._effect["pillage_box"] = loadfx("vfx/iw7/levels/cp_town/collect/vfx_town_pillage_box.vfx");
|
||||
level._effect["vfx_zmb_portal_centhub"] = loadfx("vfx/iw7/core/zombie/vfx_zmb_portal_centhub.vfx");
|
||||
level._effect["melee_impact"] = loadfx("vfx/iw7/core/zombie/vfx_zmb_gore_melee_imp.vfx");
|
||||
level._effect["cone_expl_fx"] = loadfx("vfx/iw7/core/muzflash/rvn/vfx_rvn_defib_legend_cone.vfx");
|
||||
level._effect["exp_touch"] = loadfx("vfx/iw7/levels/cp_rave/vfx_explosive_touch.vfx");
|
||||
level._effect["lava_torrent"] = loadfx("vfx/iw7/levels/cp_rave/vfx_lava_erupt_fnf.vfx");
|
||||
level._effect["fire_chains"] = loadfx("vfx/iw7/core/zombie/cards/fire_chains/vfx_zmb_fire_chains_beam.vfx");
|
||||
level._effect["fire_chains_target"] = loadfx("vfx/iw7/core/zombie/cards/fire_chains/vfx_zmb_fire_chains_beam_imp_ch_a.vfx");
|
||||
level._effect["zombie_freeze_shatter"] = loadfx("vfx/iw7/core/zombie/zombie_ice_chunks.vfx");
|
||||
level._effect["twister"] = loadfx("vfx/iw7/core/zombie/vfx_fnf_twister.vfx");
|
||||
level._effect["blue_ark_beam"] = loadfx("vfx/iw7/core/zombie/vfx_zmb_shock_beam_blue.vfx");
|
||||
level._effect["cc_ice_burst"] = loadfx("vfx/iw7/_requests/mp/power/vfx_cryo_grenade_exp.vfx");
|
||||
level._effect["cc_fire_burst"] = loadfx("vfx/iw7/levels/cp_town/perk/vfx_zb_perk_exp.vfx");
|
||||
level._effect["cc_zap_burst"] = loadfx("vfx/iw7/levels/cp_town/perk/vfx_zb_perk_elec.vfx");
|
||||
level._effect["cc_head_nuke"] = loadfx("vfx/iw7/levels/cp_town/perk/vfx_zb_perk_radi.vfx");
|
||||
level._effect["powerup_additive_fx"] = loadfx("vfx/iw7/core/zombie/powerups/vfx_pwrup_additive.vfx");
|
||||
level._effect["bloody_death"] = loadfx("vfx/iw7/core/zombie/cards/vfx_zmb_card_headshot_exp.vfx");
|
||||
level._effect["extra_cash_kill"] = loadfx("vfx/iw7/core/zombie/vfx_zmb_money_cash_imp_exp.vfx");
|
||||
level._effect["generic_pickup"] = loadfx("vfx/iw7/core/zombie/vfx_zom_souvenir_pickup.vfx");
|
||||
level._effect["electric_trap_attack"] = loadfx("vfx/iw7/core/zombie/vfx_disco_trap_beam.vfx");
|
||||
level._effect["electric_trap_shock"] = loadfx("vfx/iw7/core/zombie/traps/electric_trap/vfx_zmb_hit_shock.vfx");
|
||||
level._effect["electric_shock_plyr"] = loadfx("vfx/iw7/_requests/mp/vfx_arc_gren_scrn_dmg.vfx");
|
||||
level._effect["elec_trap_sparks"] = loadfx("vfx/iw7/core/zombie/vfx_zmb_console_sparks.vfx");
|
||||
level._effect["player_scr_fire"] = loadfx("vfx/iw7/_requests/coop/vfx_zb_player_burn_flames.vfx");
|
||||
level._effect["violet_light_explode"] = loadfx("vfx/iw7/_requests/coop/vfx_ghetto_blast.vfx");
|
||||
level._effect["crafted_violetray"] = loadfx("vfx/iw7/levels/cp_town/craft/vfx_town_crafted_violetray.vfx");
|
||||
level._effect["crafted_portal"] = loadfx("vfx/iw7/levels/cp_town/craft/vfx_town_crafted_portal.vfx");
|
||||
level._effect["portal_player_world"] = loadfx("vfx/iw7/levels/cp_town/craft/vfx_zb_telep_3d.vfx");
|
||||
level._effect["crafted_hypnosis"] = loadfx("vfx/iw7/levels/cp_town/craft/vfx_town_crafted_hypnosis.vfx");
|
||||
level._effect["hypnosis_active"] = loadfx("vfx/iw7/levels/cp_town/craft/vfx_hypnosis_light.vfx");
|
||||
level._effect["crafted_seismic"] = loadfx("vfx/iw7/levels/cp_town/craft/vfx_town_crafted_seismic.vfx");
|
||||
level._effect["crafted_mindcontrol"] = loadfx("vfx/iw7/levels/cp_town/craft/vfx_town_crafted_mindcontrol.vfx");
|
||||
level._effect["egg_sac_explode"] = loadfx("vfx/iw7/levels/cp_town/crog/vfx_mini_death.vfx");
|
||||
level._effect["life_link"] = loadfx("vfx/iw7/core/zombie/vfx_zmb_life_link_beam.vfx");
|
||||
level._effect["life_link_target"] = loadfx("vfx/iw7/core/zombie/cards/vfx_zmb_life_link_beam_send.vfx");
|
||||
level._effect["shared_fate"] = loadfx("vfx/iw7/levels/cp_rave/vfx_shared_fate_arrow.vfx");
|
||||
level._effect["blackhole_trap_death"] = loadfx("vfx/iw7/_requests/coop/vfx_zmb_blackhole_death");
|
||||
level._effect["vfx_screen_flash"] = loadfx("vfx/core/mp/core/vfx_screen_flash");
|
||||
level._effect["computer_screen"] = loadfx("vfx/iw7/levels/cp_rave/vfx_rave_computer_screen.vfx");
|
||||
level._effect["shock_melee_impact"] = loadfx("vfx/iw7/core/zombie/vfx_zmb_elec_knife_impact.vfx");
|
||||
level._effect["powerup_additive_fx"] = loadfx("vfx/iw7/core/zombie/powerups/vfx_pwrup_additive.vfx");
|
||||
level._effect["dodge_ground_spark_fx"] = loadfx("vfx/core/mp/killstreaks/vfx_ims_sparks");
|
||||
level._effect["dodge_fwd_screen"] = loadfx("vfx/iw7/levels/cp_town/dodge/vfx_zb_fwd.vfx");
|
||||
level._effect["dodge_back_screen"] = loadfx("vfx/iw7/levels/cp_town/dodge/vfx_zb_back.vfx");
|
||||
level._effect["dodge_left_screen"] = loadfx("vfx/iw7/levels/cp_town/dodge/vfx_zb_left.vfx");
|
||||
level._effect["dodge_right_screen"] = loadfx("vfx/iw7/levels/cp_town/dodge/vfx_zb_right.vfx");
|
||||
level._effect["dodge_fwd_left_screen"] = loadfx("vfx/iw7/levels/cp_town/dodge/vfx_zb_fwd_left.vfx");
|
||||
level._effect["dodge_fwd_right_screen"] = loadfx("vfx/iw7/levels/cp_town/dodge/vfx_zb_fwd_right.vfx");
|
||||
level._effect["dodge_back_left_screen"] = loadfx("vfx/iw7/levels/cp_town/dodge/vfx_zb_back_left.vfx");
|
||||
level._effect["dodge_back_right_screen"] = loadfx("vfx/iw7/levels/cp_town/dodge/vfx_back_right.vfx");
|
||||
level._effect["dodge_touch"] = loadfx("vfx/iw7/levels/cp_town/dodge/vfx_zb_dodge_touch.vfx");
|
||||
level._effect["stimulus_shield"] = loadfx("vfx/iw7/levels/cp_town/fnf/vfx_stimulus_heal_scrn.vfx");
|
||||
level._effect["stimulus_glow_burst"] = loadfx("vfx/iw7/levels/cp_town/fnf/vfx_stimulus_burst.vfx");
|
||||
level._effect["ammo_crate_fx"] = loadfx("vfx/iw7/levels/cp_town/craft/vfx_cp_town_ammo_idle.vfx");
|
||||
level._effect["ammo_crate_ping"] = loadfx("vfx/iw7/levels/cp_town/vfx_cp_town_ammo_flash.vfx");
|
||||
level._effect["hidden_figure_death"] = loadfx("vfx/iw7/levels/cp_town/vfx_shadow_figure_death.vfx");
|
||||
level._effect["crafting_pickup"] = loadfx("vfx/iw7/core/zombie/vfx_zom_souvenir_pickup.vfx");
|
||||
level._effect["cutie_crank_blast"] = loadfx("vfx/iw7/levels/cp_town/gun/vfx_cutie_crank_blast");
|
||||
level._effect["atomize_body"] = loadfx("vfx/iw7/_requests/mp/vfx_atomize_body.vfx");
|
||||
level._effect["slow_time_bubble"] = loadfx("vfx/iw7/levels/cp_town/vfx_slow_time_bubble.vfx");
|
||||
level._effect["fail_reaction_fx"] = loadfx("vfx/iw7/levels/cp_town/craft/vfx_failed_reaction.vfx");
|
||||
level._effect["fail_reaction_screenfx"] = loadfx("vfx/iw7/levels/cp_town/craft/vfx_failed_reaction_scrn.vfx");
|
||||
level._effect["success_reaction_fx"] = loadfx("vfx/iw7/levels/cp_town/craft/vfx_success_reaction_loop.vfx");
|
||||
level._effect["beaker_chem_blue"] = loadfx("vfx/iw7/levels/cp_town/craft/vfx_beaker_chem_blue.vfx");
|
||||
level._effect["beaker_chem_orange"] = loadfx("vfx/iw7/levels/cp_town/craft/vfx_beaker_chem_orange.vfx");
|
||||
level._effect["beaker_chem_red"] = loadfx("vfx/iw7/levels/cp_town/craft/vfx_beaker_chem_red.vfx");
|
||||
level._effect["beaker_chem_pink"] = loadfx("vfx/iw7/levels/cp_town/craft/vfx_beaker_chem_pink.vfx");
|
||||
level._effect["beaker_chem_purple"] = loadfx("vfx/iw7/levels/cp_town/craft/vfx_beaker_chem_purple.vfx");
|
||||
level._effect["success_reaction_screenfx"] = loadfx("vfx/iw7/levels/cp_town/craft/vfx_success_reaction_scrn.vfx");
|
||||
level._effect["elvira_couch_smoke"] = loadfx("vfx/iw7/levels/cp_town/elvira/vfx_laying_smoke.vfx");
|
||||
level._effect["elvira_stand_smoke"] = loadfx("vfx/iw7/levels/cp_town/elvira/vfx_stand_smoke.vfx");
|
||||
level._effect["pool_radiation"] = loadfx("vfx/iw7/levels/cp_town/craft/vfx_pool_radiation.vfx");
|
||||
}
|
3506
IW/PC/ALL/scripts/cp/maps/cp_town/cp_town_ghost_activation.gsc
Normal file
3506
IW/PC/ALL/scripts/cp/maps/cp_town/cp_town_ghost_activation.gsc
Normal file
File diff suppressed because one or more lines are too long
3075
IW/PC/ALL/scripts/cp/maps/cp_town/cp_town_interactions.gsc
Normal file
3075
IW/PC/ALL/scripts/cp/maps/cp_town/cp_town_interactions.gsc
Normal file
File diff suppressed because it is too large
Load Diff
2585
IW/PC/ALL/scripts/cp/maps/cp_town/cp_town_mpq.gsc
Normal file
2585
IW/PC/ALL/scripts/cp/maps/cp_town/cp_town_mpq.gsc
Normal file
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,79 @@
|
||||
/*******************************************************************
|
||||
* Decompiled By: Bog
|
||||
* Decompiled File: scripts\cp\maps\cp_town\cp_town_player_character_setup.gsc
|
||||
* Game: Call of Duty: Infinite Warfare
|
||||
* Platform: PC
|
||||
* Function Count: 4
|
||||
* Decompile Time: 255 ms
|
||||
* Timestamp: 10/27/2023 12:07:41 AM
|
||||
*******************************************************************/
|
||||
|
||||
//Function Number: 1
|
||||
init_player_characters()
|
||||
{
|
||||
register_player_character(1,"yes","body_zmb_hero_schoolgirl","viewmodel_arms_zmb_hero_schoolgirl","head_zmb_hero_schoolgirl",undefined,"p1_","_p1","iw7_pap_zm_school_girl","ges_zombies_revive_nerd",0,"iw7_schoolgirlcard_zm","mus_zombies_valley_girl","iw7_loadoutschoolgirl_zm","iw7_knife_zm_schoolgirl");
|
||||
register_player_character(2,"yes","body_zmb_hero_scientist","viewmodel_arms_zmb_hero_scientist","head_zmb_hero_scientist",undefined,"p2_","_p2","iw7_pap_zm_scientist","ges_zombies_revive_nerd",1,"iw7_scientistcard_zm","mus_zombies_nerd","iw7_loadoutscientist_zm","iw7_knife_zm_scientist");
|
||||
register_player_character(3,"yes","body_zmb_hero_soldier","viewmodel_zmb_hero_soldier","head_zmb_hero_soldier",undefined,"p3_","_p3","iw7_pap_zm_soldier","ges_zombies_revive_nerd",2,"iw7_soldiercard_zm","mus_zombies_rapper","iw7_loadoutsoldier_zm","iw7_knife_zm_soldier");
|
||||
register_player_character(4,"yes","body_zmb_hero_rebel","viewmodel_arms_zmb_hero_rebel","head_zmb_hero_rebel",undefined,"p4_","_p4","iw7_pap_zm_rebel","ges_zombies_revive_nerd",3,"iw7_rebelcard_zm","mus_zombies_jock","iw7_loadoutrebel_zm","iw7_knife_zm_rebel");
|
||||
register_player_character(5,"no","fullbody_zmb_hero_elvira_player","viewmodel_zmb_hero_elvira",undefined,undefined,"p5_","_p5","iw7_pap_zm_elvira","ges_zombies_revive_nerd",4,"iw7_elviracard_zm","mus_zombies_elvira","iw7_loadoutelvira_zm","iw7_knife_zm_elvira",::post_elvira_setup_func);
|
||||
}
|
||||
|
||||
//Function Number: 2
|
||||
register_player_character(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A,param_0B,param_0C,param_0D,param_0E,param_0F)
|
||||
{
|
||||
var_10 = spawnstruct();
|
||||
var_10.body_model = param_02;
|
||||
var_10.view_model = param_03;
|
||||
var_10.head_model = param_04;
|
||||
var_10.hair_model = param_05;
|
||||
var_10.var_134FD = param_06;
|
||||
var_10.vo_suffix = param_07;
|
||||
var_10.pap_gesture = param_08;
|
||||
var_10.revive_gesture = param_09;
|
||||
var_10.photo_index = param_0A;
|
||||
var_10.var_6BA3 = param_0B;
|
||||
var_10.intro_music = param_0C;
|
||||
var_10.intro_gesture = param_0D;
|
||||
var_10.melee_weapon = param_0E;
|
||||
var_10.post_setup_func = param_0F;
|
||||
if(!isdefined(level.player_character_info))
|
||||
{
|
||||
level.player_character_info = [];
|
||||
}
|
||||
|
||||
if(!isdefined(level.var_26A0))
|
||||
{
|
||||
level.var_26A0 = [];
|
||||
}
|
||||
|
||||
level.player_character_info[param_00] = var_10;
|
||||
if(param_01 == "yes")
|
||||
{
|
||||
level.var_26A0[level.var_26A0.size] = param_00;
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 3
|
||||
post_elvira_setup_func(param_00)
|
||||
{
|
||||
param_00 lib_0D2A::func_12D7C("MISTRESS_OF_DARK",1);
|
||||
if(!isdefined(level.special_character_count))
|
||||
{
|
||||
level.special_character_count = 1;
|
||||
return;
|
||||
}
|
||||
|
||||
level.special_character_count++;
|
||||
}
|
||||
|
||||
//Function Number: 4
|
||||
post_el_setup_func(param_00)
|
||||
{
|
||||
if(!isdefined(level.special_character_count))
|
||||
{
|
||||
level.special_character_count = 1;
|
||||
return;
|
||||
}
|
||||
|
||||
level.special_character_count++;
|
||||
}
|
14
IW/PC/ALL/scripts/cp/maps/cp_town/cp_town_precache.gsc
Normal file
14
IW/PC/ALL/scripts/cp/maps/cp_town/cp_town_precache.gsc
Normal file
@ -0,0 +1,14 @@
|
||||
/*******************************************************************
|
||||
* Decompiled By: Bog
|
||||
* Decompiled File: scripts\cp\maps\cp_town\cp_town_precache.gsc
|
||||
* Game: Call of Duty: Infinite Warfare
|
||||
* Platform: PC
|
||||
* Function Count: 1
|
||||
* Decompile Time: 130 ms
|
||||
* Timestamp: 10/27/2023 12:07:41 AM
|
||||
*******************************************************************/
|
||||
|
||||
//Function Number: 1
|
||||
main()
|
||||
{
|
||||
}
|
1248
IW/PC/ALL/scripts/cp/maps/cp_town/cp_town_traps.gsc
Normal file
1248
IW/PC/ALL/scripts/cp/maps/cp_town/cp_town_traps.gsc
Normal file
File diff suppressed because it is too large
Load Diff
747
IW/PC/ALL/scripts/cp/maps/cp_town/cp_town_vo.gsc
Normal file
747
IW/PC/ALL/scripts/cp/maps/cp_town/cp_town_vo.gsc
Normal file
@ -0,0 +1,747 @@
|
||||
/*******************************************************************
|
||||
* Decompiled By: Bog
|
||||
* Decompiled File: scripts\cp\maps\cp_town\cp_town_vo.gsc
|
||||
* Game: Call of Duty: Infinite Warfare
|
||||
* Platform: PC
|
||||
* Function Count: 24
|
||||
* Decompile Time: 1219 ms
|
||||
* Timestamp: 10/27/2023 12:07:46 AM
|
||||
*******************************************************************/
|
||||
|
||||
//Function Number: 1
|
||||
town_vo_init()
|
||||
{
|
||||
level.var_DDBC = [];
|
||||
level.var_2001 = 0;
|
||||
level.elvira_playing = 0;
|
||||
level.var_D336 = 0;
|
||||
level.var_ABE9 = ::rave_vo_callouts;
|
||||
level.pap_vo_approve_func = ::is_vo_in_pap;
|
||||
level.get_alias_2d_func = ::scripts\cp\_vo::func_77ED;
|
||||
level.var_10815 = ::town_starting_vo;
|
||||
level thread rave_vo_callouts();
|
||||
level.var_5472 = [];
|
||||
level thread func_12E45();
|
||||
level waittill("activate_power");
|
||||
}
|
||||
|
||||
//Function Number: 2
|
||||
rave_vo_callouts(param_00)
|
||||
{
|
||||
level.var_134DC["rave_announcer_vo"] = ::func_2000;
|
||||
level.var_134DC["rave_ww_vo"] = ::func_13E0C;
|
||||
level.var_134DC["zmb_powerup_vo"] = ::func_CE7E;
|
||||
level.var_134DC["zmb_afterlife_vo"] = ::func_18E9;
|
||||
level.var_134DC["rave_pap_vo"] = ::pap_vo_handler;
|
||||
level.var_134DC["rave_dialogue_vo"] = ::func_549B;
|
||||
level.var_134DC["elvira_player_dialogue_vo"] = ::one_to_one_dialogue_vo_handler;
|
||||
}
|
||||
|
||||
//Function Number: 3
|
||||
func_177A(param_00)
|
||||
{
|
||||
level.var_DDBC[param_00] = func_7BFF(param_00);
|
||||
}
|
||||
|
||||
//Function Number: 4
|
||||
func_1779(param_00)
|
||||
{
|
||||
self.var_DDBC[param_00] = func_7BFF(param_00);
|
||||
}
|
||||
|
||||
//Function Number: 5
|
||||
func_7BFF(param_00)
|
||||
{
|
||||
if(!isdefined(level.var_134B4[param_00].var_4613))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
return level.var_134B4[param_00].var_4613;
|
||||
}
|
||||
|
||||
//Function Number: 6
|
||||
func_12E45()
|
||||
{
|
||||
level endon("game_ended");
|
||||
for(;;)
|
||||
{
|
||||
foreach(var_02, var_01 in level.var_DDBC)
|
||||
{
|
||||
if(scripts\common\utility::istrue(level.var_DDBC[var_02]))
|
||||
{
|
||||
level.var_DDBC[var_02] = level.var_DDBC[var_02] - 1;
|
||||
}
|
||||
}
|
||||
|
||||
wait(1);
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 7
|
||||
func_12E22()
|
||||
{
|
||||
self endon("disconnect");
|
||||
for(;;)
|
||||
{
|
||||
foreach(var_02, var_01 in self.var_DDBC)
|
||||
{
|
||||
if(scripts\common\utility::istrue(self.var_DDBC[var_02]))
|
||||
{
|
||||
self.var_DDBC[var_02] = self.var_DDBC[var_02] - 1;
|
||||
}
|
||||
}
|
||||
|
||||
wait(1);
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 8
|
||||
one_to_one_dialogue_vo_handler(param_00,param_01,param_02,param_03,param_04,param_05,param_06)
|
||||
{
|
||||
var_07 = self;
|
||||
var_08 = isdefined(level.var_134B4[param_00]);
|
||||
var_09 = 0;
|
||||
level.var_C9C1 = 1;
|
||||
scripts\cp\_vo::func_F60C(1);
|
||||
var_0A = scripts\cp\_music_and_dialog::func_7DD2(param_00,var_08);
|
||||
level.var_540D = var_0A;
|
||||
while(scripts\cp\_music_and_dialog::func_134DF())
|
||||
{
|
||||
wait(0.1);
|
||||
}
|
||||
|
||||
level.elvira_playing = 1;
|
||||
foreach(var_13, var_0C in var_0A)
|
||||
{
|
||||
var_0D = 0;
|
||||
var_0E = undefined;
|
||||
var_09 = 0;
|
||||
if(var_08 && isdefined(level.var_134B4[var_0C].var_54AA))
|
||||
{
|
||||
var_0E = level.var_134B4[var_0C].var_54AA;
|
||||
var_0F = var_0E + var_0C;
|
||||
}
|
||||
else if(issubstr(var_0C,"ww_") || issubstr(var_0C,"el_"))
|
||||
{
|
||||
var_0F = var_0C;
|
||||
var_0D = 1;
|
||||
var_09 = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if((isdefined(var_0E) && var_07.var_134FD == var_0E) || var_0D || getdvarint("scr_solo_dialogue",0) == 1)
|
||||
{
|
||||
var_10 = scripts\cp\_vo::func_4978(var_0F,param_03,param_05,param_06);
|
||||
var_07 scripts\cp\_vo::func_F60D(1);
|
||||
var_07 scripts\cp\_vo::func_F60B(var_10);
|
||||
if(isdefined(var_10.var_1B46) && scripts\common\utility::istrue(var_09))
|
||||
{
|
||||
if(isdefined(level.elvira))
|
||||
{
|
||||
scripts\common\utility::play_sound_in_space(var_10.var_1B46,level.elvira.origin,0,level.elvira);
|
||||
var_11 = scripts\cp\_vo::func_7C76(var_10.var_1B46);
|
||||
var_12 = scripts\common\utility::getstruct("elvira_talk","script_noteworthy");
|
||||
var_12 thread scripts\cp\maps\cp_town\cp_town_elvira::elvira_talks(var_11,1);
|
||||
wait(scripts\cp\_vo::func_7C76(var_10.var_1B46));
|
||||
}
|
||||
else
|
||||
{
|
||||
var_07 scripts\cp\_vo::func_CE77(var_10);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
var_07 scripts\cp\_vo::func_CE77(var_10);
|
||||
}
|
||||
|
||||
var_07 scripts\cp\_vo::func_C9B8(var_10);
|
||||
var_07 scripts\cp\_vo::func_12C63();
|
||||
}
|
||||
|
||||
scripts\common\utility::func_136F7();
|
||||
}
|
||||
|
||||
var_07 scripts\cp\_vo::func_F60D(0);
|
||||
scripts\cp\_vo::func_F60C(0);
|
||||
level.var_C9C1 = 0;
|
||||
level.elvira_playing = 0;
|
||||
level notify("dialogue_done",param_00);
|
||||
}
|
||||
|
||||
//Function Number: 9
|
||||
func_549B(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07)
|
||||
{
|
||||
if(!scripts\cp\_music_and_dialog::func_3837())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var_08 = isdefined(level.var_134B4[param_00]);
|
||||
scripts\cp\_vo::func_F60C(1);
|
||||
var_09 = scripts\cp\_music_and_dialog::func_7DD2(param_00,var_08);
|
||||
level.var_540D = var_09;
|
||||
while(scripts\cp\_music_and_dialog::func_134DF())
|
||||
{
|
||||
wait(0.1);
|
||||
}
|
||||
|
||||
if(scripts\common\utility::istrue(param_07))
|
||||
{
|
||||
var_0A = self;
|
||||
var_0A play_special_vo_dialogue(var_09,var_08,param_03,param_05,param_06);
|
||||
scripts\common\utility::func_136F7();
|
||||
}
|
||||
else
|
||||
{
|
||||
foreach(var_13, var_0C in var_0A)
|
||||
{
|
||||
var_0D = 0;
|
||||
var_0E = undefined;
|
||||
if(var_08 && isdefined(level.var_134B4[var_0C].var_54AA))
|
||||
{
|
||||
var_0E = level.var_134B4[var_0C].var_54AA;
|
||||
var_0F = var_0E + var_0C;
|
||||
}
|
||||
else if(issubstr(var_0C,"ww_") || issubstr(var_0C,"ks_"))
|
||||
{
|
||||
var_0F = var_0C;
|
||||
var_0D = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
foreach(var_0A in level.players)
|
||||
{
|
||||
if((isdefined(var_0E) && var_0A.var_134FD == var_0E) || var_0D || getdvarint("scr_solo_dialogue",0) == 1)
|
||||
{
|
||||
var_11 = scripts\cp\_vo::func_4978(var_0F,param_03,param_05,param_06);
|
||||
var_0A scripts\cp\_vo::func_F60D(1);
|
||||
var_0A scripts\cp\_vo::func_F60B(var_11);
|
||||
var_0A scripts\cp\_vo::func_CE77(var_11);
|
||||
var_0A scripts\cp\_vo::func_C9B8(var_11);
|
||||
var_0A scripts\cp\_vo::func_12C63();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
scripts\common\utility::func_136F7();
|
||||
}
|
||||
}
|
||||
|
||||
foreach(var_0A in level.players)
|
||||
{
|
||||
var_0A scripts\cp\_vo::func_F60D(0);
|
||||
}
|
||||
|
||||
scripts\cp\_vo::func_F60C(0);
|
||||
}
|
||||
|
||||
//Function Number: 10
|
||||
play_special_vo_dialogue(param_00,param_01,param_02,param_03,param_04,param_05)
|
||||
{
|
||||
var_06 = 0;
|
||||
var_07 = "";
|
||||
while(var_06 < param_00.size)
|
||||
{
|
||||
var_08 = 1;
|
||||
var_09 = undefined;
|
||||
if(param_01 && isdefined(level.var_134B4[param_00[var_06]].var_54AA))
|
||||
{
|
||||
var_09 = level.var_134B4[param_00[var_06]].var_54AA;
|
||||
var_07 = var_09 + param_00[var_06];
|
||||
}
|
||||
else if(issubstr(param_00[var_06],"ks_"))
|
||||
{
|
||||
var_07 = param_00[var_06];
|
||||
var_08 = 1;
|
||||
if(isdefined(level.survivor))
|
||||
{
|
||||
if(isdefined(level.boat_survivor))
|
||||
{
|
||||
scripts\common\utility::play_sound_in_space(var_07,level.boat_survivor.origin,0,level.boat_survivor);
|
||||
}
|
||||
else
|
||||
{
|
||||
scripts\common\utility::play_sound_in_space(var_07,level.survivor.origin,0,level.survivor);
|
||||
}
|
||||
|
||||
wait(scripts\cp\_vo::func_7C76(var_07));
|
||||
}
|
||||
else if(isdefined(level.boat_survivor))
|
||||
{
|
||||
scripts\common\utility::play_sound_in_space(var_07,level.boat_survivor.origin,0,level.boat_survivor);
|
||||
wait(scripts\cp\_vo::func_7C76(var_07));
|
||||
}
|
||||
else
|
||||
{
|
||||
var_0A = scripts\cp\_vo::func_4978(var_07,param_02,param_03,param_04,param_00[var_06]);
|
||||
scripts\cp\_vo::func_CE8B(var_0A,param_05);
|
||||
}
|
||||
|
||||
var_06++;
|
||||
continue;
|
||||
}
|
||||
else
|
||||
{
|
||||
continue;
|
||||
scripts\common\utility::func_136F7();
|
||||
}
|
||||
|
||||
if(((isdefined(var_09) && self.var_134FD == var_09) || var_08 || getdvarint("scr_solo_dialogue",0) == 1) && !issubstr(var_07,"ks_"))
|
||||
{
|
||||
var_0A = scripts\cp\_vo::func_4978(var_07,param_02,param_03,param_04,param_00[var_06]);
|
||||
scripts\cp\_vo::func_CE8B(var_0A);
|
||||
var_06++;
|
||||
}
|
||||
|
||||
scripts\common\utility::func_136F7();
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 11
|
||||
pap_vo_handler(param_00,param_01,param_02,param_03,param_04,param_05,param_06)
|
||||
{
|
||||
if(!scripts\cp\_vo::func_FF12(param_00))
|
||||
{
|
||||
thread scripts\cp\_vo::func_CE8A(param_00,param_02,param_03,param_04,param_05,param_06,param_00);
|
||||
return;
|
||||
}
|
||||
|
||||
var_07 = self.var_134FD + param_00;
|
||||
thread scripts\cp\_vo::func_CE8A(var_07,param_02,param_03,param_04,param_05,param_06,param_00);
|
||||
}
|
||||
|
||||
//Function Number: 12
|
||||
func_18E9(param_00,param_01,param_02,param_03,param_04,param_05,param_06)
|
||||
{
|
||||
if(!scripts\cp\_vo::func_FF12(param_00))
|
||||
{
|
||||
thread scripts\cp\_vo::func_CE8A(param_00,param_02,param_03,param_04,param_05,param_06,param_00);
|
||||
return;
|
||||
}
|
||||
|
||||
var_07 = self.var_134FD + param_00;
|
||||
thread scripts\cp\_vo::func_CE8A(var_07,param_02,param_03,param_04,param_05,param_06,param_00);
|
||||
}
|
||||
|
||||
//Function Number: 13
|
||||
func_13E0C(param_00,param_01,param_02,param_03,param_04,param_05,param_06)
|
||||
{
|
||||
level endon(param_00 + "_timed_out");
|
||||
level thread scripts\cp\_vo::func_11908(param_00,param_03);
|
||||
while(scripts\cp\_vo::func_9D13())
|
||||
{
|
||||
wait(0.1);
|
||||
}
|
||||
|
||||
scripts\cp\_vo::func_F60C(1);
|
||||
while(scripts\cp\_music_and_dialog::func_134DF())
|
||||
{
|
||||
wait(0.1);
|
||||
}
|
||||
|
||||
level notify(param_00 + "_about_to_play");
|
||||
foreach(var_08 in level.players)
|
||||
{
|
||||
if(!isdefined(var_08))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if(var_08 issplitscreenplayer() && !var_08 issplitscreenplayerprimary())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
var_09 = scripts\cp\_vo::func_4978(param_00,param_03,param_05,param_06);
|
||||
var_08 thread scripts\cp\_vo::func_CE8B(var_09);
|
||||
}
|
||||
|
||||
wait(scripts\cp\_vo::func_7C76(param_00));
|
||||
foreach(var_08 in level.players)
|
||||
{
|
||||
var_08 scripts\cp\_vo::func_F60D(0);
|
||||
}
|
||||
|
||||
scripts\cp\_vo::func_F60C(0);
|
||||
}
|
||||
|
||||
//Function Number: 14
|
||||
func_2000(param_00,param_01,param_02,param_03,param_04,param_05,param_06)
|
||||
{
|
||||
func_CC8F(param_00,param_01,param_02,param_03,param_04,param_05,param_06);
|
||||
}
|
||||
|
||||
//Function Number: 15
|
||||
is_vo_in_pap(param_00)
|
||||
{
|
||||
if(isdefined(level.var_134B4[param_00].pap_approval))
|
||||
{
|
||||
if(level.var_134B4[param_00].pap_approval == 1)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
//Function Number: 16
|
||||
func_CC8F(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07)
|
||||
{
|
||||
if(scripts\cp\_vo::func_9D13())
|
||||
{
|
||||
wait(5);
|
||||
if(scripts\cp\_vo::func_9D13())
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
level.var_2001 = 1;
|
||||
scripts\cp\_vo::func_F60C(1);
|
||||
if(isdefined(param_07))
|
||||
{
|
||||
param_00 = param_07 + param_00;
|
||||
}
|
||||
|
||||
if(!soundexists(param_00))
|
||||
{
|
||||
wait(0.1);
|
||||
level.var_2001 = 0;
|
||||
return;
|
||||
}
|
||||
|
||||
foreach(var_09 in level.players)
|
||||
{
|
||||
if(!isdefined(var_09))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if(var_09 issplitscreenplayer() && !var_09 issplitscreenplayerprimary())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
else
|
||||
{
|
||||
var_0A = scripts\cp\_vo::func_4978(param_00,param_03,param_05,param_06);
|
||||
var_09 thread scripts\cp\_vo::func_CE8B(var_0A);
|
||||
}
|
||||
}
|
||||
|
||||
wait(scripts\cp\_vo::func_7C76(param_00));
|
||||
foreach(var_09 in level.players)
|
||||
{
|
||||
var_09 scripts\cp\_vo::func_F60D(0);
|
||||
}
|
||||
|
||||
scripts\cp\_vo::func_F60C(0);
|
||||
func_1094A(param_00);
|
||||
level.var_2001 = 0;
|
||||
}
|
||||
|
||||
//Function Number: 17
|
||||
func_1094A(param_00)
|
||||
{
|
||||
if(param_00 == "dj_jingle_intro")
|
||||
{
|
||||
level notify("jukebox_start");
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 18
|
||||
func_CE7E(param_00,param_01,param_02,param_03,param_04,param_05,param_06)
|
||||
{
|
||||
wait(0.5);
|
||||
if(level.script == "cp_town")
|
||||
{
|
||||
func_2000("el_" + param_00,"rave_ww_vo","highest",60,0,0,1);
|
||||
if(randomint(100) > 50)
|
||||
{
|
||||
func_2000("ww_powerup_elvira","rave_ww_vo","highest",60,0,0,1);
|
||||
wait(3);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
func_2000("ww_" + param_00,"rave_ww_vo","highest",60,0,0,1);
|
||||
}
|
||||
|
||||
param_00 = func_45EA(param_00);
|
||||
foreach(var_08 in level.players)
|
||||
{
|
||||
if(isdefined(var_08) && isalive(var_08))
|
||||
{
|
||||
var_08 thread scripts\cp\_vo::try_to_play_vo(param_00,"rave_comment_vo");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 19
|
||||
func_45EA(param_00)
|
||||
{
|
||||
switch(param_00)
|
||||
{
|
||||
case "powerup_carpenter":
|
||||
case "powerup_maxammo":
|
||||
case "powerup_instakill":
|
||||
case "powerup_nuke":
|
||||
case "powerup_firesale":
|
||||
return param_00;
|
||||
|
||||
case "powerup_doublemoney":
|
||||
return "powerup_2xmoney";
|
||||
|
||||
case "powerup_infiniteammo":
|
||||
return "powerup_ammo";
|
||||
|
||||
case "powerup_infinitegrenades":
|
||||
return "powerup_grenade";
|
||||
|
||||
default:
|
||||
return param_00;
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 20
|
||||
func_13D1F()
|
||||
{
|
||||
level endon("game_ended");
|
||||
level waittill("wave_start_sound_done");
|
||||
if(level.players.size > 1)
|
||||
{
|
||||
level thread scripts\cp\_vo::try_to_play_vo("ww_intro","rave_ww_vo","highest",30,0,0,1,100);
|
||||
return;
|
||||
}
|
||||
|
||||
if(level.players[0].var_134FD == "p5_")
|
||||
{
|
||||
if(randomint(100) > 50)
|
||||
{
|
||||
level.players[0] thread scripts\cp\_vo::try_to_play_vo("ww_intro_p5_solo","rave_ww_vo","highest",30,0,0,1,100);
|
||||
return;
|
||||
}
|
||||
|
||||
level.players[0] thread scripts\cp\_vo::try_to_play_vo("ww_intro" + level.players[0].vo_suffix,"rave_ww_vo","highest",30,0,0,1,100);
|
||||
return;
|
||||
}
|
||||
|
||||
level.players[0] thread scripts\cp\_vo::try_to_play_vo("ww_intro" + level.players[0].vo_suffix,"rave_ww_vo","highest",30,0,0,1,100);
|
||||
}
|
||||
|
||||
//Function Number: 21
|
||||
power_nag()
|
||||
{
|
||||
level endon("game_ended");
|
||||
level endon("found_power");
|
||||
for(;;)
|
||||
{
|
||||
level waittill("wave_start_sound_done");
|
||||
if(level.wave_num > 0 && level.wave_num % 3 == 0)
|
||||
{
|
||||
scripts\cp\_vo::try_to_play_vo_on_all_players("nag_activate_power");
|
||||
continue;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 22
|
||||
purchase_area_vo(param_00,param_01)
|
||||
{
|
||||
if(!isdefined(level.played_area_vos))
|
||||
{
|
||||
level.played_area_vos = [];
|
||||
}
|
||||
|
||||
if(scripts\common\utility::istrue(level.var_C617))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if(scripts\common\utility::istrue(param_01.played_vo))
|
||||
{
|
||||
param_01.played_vo = 0;
|
||||
return;
|
||||
}
|
||||
|
||||
param_01.played_vo = 1;
|
||||
if(randomint(100) < 50)
|
||||
{
|
||||
level thread scripts\cp\_vo::try_to_play_vo("ww_access_area","rave_announcer_vo","highest",70,0,0,1);
|
||||
}
|
||||
else
|
||||
{
|
||||
param_01 thread scripts\cp\_vo::try_to_play_vo("purchase_area_misc","rave_comment_vo","low",10,0,2,1,40);
|
||||
}
|
||||
|
||||
param_01.played_vo = 1;
|
||||
}
|
||||
|
||||
//Function Number: 23
|
||||
town_starting_vo()
|
||||
{
|
||||
scripts\common\utility::flag_wait("intro_gesture_done");
|
||||
if(scripts\cp\_music_and_dialog::func_3837())
|
||||
{
|
||||
var_00 = randomint(100);
|
||||
if(var_00 <= 30)
|
||||
{
|
||||
scripts\cp\_vo::try_to_play_vo_on_all_players("spawn_team_first");
|
||||
level thread func_13D1F();
|
||||
return;
|
||||
}
|
||||
|
||||
var_01 = scripts\common\utility::random(level.players);
|
||||
if(isdefined(var_01.var_134FD))
|
||||
{
|
||||
switch(var_01.var_134FD)
|
||||
{
|
||||
case "p1_":
|
||||
if(randomint(100) > 50)
|
||||
{
|
||||
level thread scripts\cp\_vo::try_to_play_vo("sally_spawn_1","rave_dialogue_vo","highest",666,0,0,0,100);
|
||||
level.var_4481["sally_spawn_1"] = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
level thread scripts\cp\_vo::try_to_play_vo("sally_spawn_alt_1","rave_dialogue_vo","highest",666,0,0,0,100);
|
||||
level.var_4481["sally_spawn_alt_1"] = 1;
|
||||
}
|
||||
break;
|
||||
|
||||
case "p2_":
|
||||
if(randomint(100) > 50)
|
||||
{
|
||||
level thread scripts\cp\_vo::try_to_play_vo("pdex_spawn_1","rave_dialogue_vo","highest",666,0,0,0,100);
|
||||
level.var_4481["pdex_spawn_1"] = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
level thread scripts\cp\_vo::try_to_play_vo("pdex_spawn_alt_1","rave_dialogue_vo","highest",666,0,0,0,100);
|
||||
level.var_4481["pdex_spawn_alt_1"] = 1;
|
||||
}
|
||||
break;
|
||||
|
||||
case "p3_":
|
||||
if(randomint(100) > 50)
|
||||
{
|
||||
level thread scripts\cp\_vo::try_to_play_vo("andre_spawn_1","rave_dialogue_vo","highest",666,0,0,0,100);
|
||||
level.var_4481["andre_spawn_1"] = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
level thread scripts\cp\_vo::try_to_play_vo("andre_spawn_alt_1","rave_dialogue_vo","highest",666,0,0,0,100);
|
||||
level.var_4481["andre_spawn_alt_1"] = 1;
|
||||
}
|
||||
break;
|
||||
|
||||
case "p4_":
|
||||
if(randomint(100) > 50)
|
||||
{
|
||||
level thread scripts\cp\_vo::try_to_play_vo("aj_spawn_1","rave_dialogue_vo","highest",666,0,0,0,100);
|
||||
level.var_4481["aj_spawn_1"] = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
level thread scripts\cp\_vo::try_to_play_vo("aj_spawn_alt_1","rave_dialogue_vo","highest",666,0,0,0,100);
|
||||
level.var_4481["aj_spawn_alt_1"] = 1;
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
level thread func_13D1F();
|
||||
return;
|
||||
}
|
||||
|
||||
if(level.players.size > 1)
|
||||
{
|
||||
foreach(var_03 in level.players)
|
||||
{
|
||||
if(var_03 issplitscreenplayer())
|
||||
{
|
||||
if(var_03 issplitscreenplayerprimary())
|
||||
{
|
||||
if(isdefined(var_03.var_134FD))
|
||||
{
|
||||
if(var_03.var_134FD == "p5_")
|
||||
{
|
||||
var_03 multiple_elviras_intro_vo(var_03);
|
||||
}
|
||||
else
|
||||
{
|
||||
var_03 thread scripts\cp\_vo::try_to_play_vo("spawn_team_first","rave_comment_vo","high",20,0,0,1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
if(isdefined(var_03.var_134FD))
|
||||
{
|
||||
if(var_03.var_134FD == "p5_")
|
||||
{
|
||||
var_03 multiple_elviras_intro_vo(var_03);
|
||||
continue;
|
||||
}
|
||||
|
||||
var_03 thread scripts\cp\_vo::try_to_play_vo("spawn_team_first","rave_comment_vo","high",20,0,0,1);
|
||||
}
|
||||
}
|
||||
|
||||
level thread func_13D1F();
|
||||
return;
|
||||
}
|
||||
|
||||
level.players[0] thread scripts\cp\_vo::try_to_play_vo(scripts\common\utility::random(["spawn_intro","spawn_solo_first"]),"rave_comment_vo","high",20,0,0,1);
|
||||
level thread func_13D1F();
|
||||
}
|
||||
|
||||
//Function Number: 24
|
||||
multiple_elviras_intro_vo(param_00)
|
||||
{
|
||||
if(!isdefined(level.special_character_count))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if(!isdefined(param_00))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
switch(level.special_character_count)
|
||||
{
|
||||
case 1:
|
||||
param_00 thread scripts\cp\_vo::try_to_play_vo("spawn_intro","town_comment_vo");
|
||||
break;
|
||||
|
||||
case 2:
|
||||
param_00 thread scripts\cp\_vo::try_to_play_vo("p5_players_3","town_comment_vo");
|
||||
break;
|
||||
|
||||
case 3:
|
||||
param_00 thread scripts\cp\_vo::try_to_play_vo("p5_players_3","town_comment_vo");
|
||||
break;
|
||||
|
||||
case 4:
|
||||
param_00 thread scripts\cp\_vo::try_to_play_vo("p5_players_4","town_comment_vo");
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
925
IW/PC/ALL/scripts/cp/maps/cp_town/cp_town_weapon_upgrade.gsc
Normal file
925
IW/PC/ALL/scripts/cp/maps/cp_town/cp_town_weapon_upgrade.gsc
Normal file
@ -0,0 +1,925 @@
|
||||
/*******************************************************************
|
||||
* Decompiled By: Bog
|
||||
* Decompiled File: scripts\cp\maps\cp_town\cp_town_weapon_upgrade.gsc
|
||||
* Game: Call of Duty: Infinite Warfare
|
||||
* Platform: PC
|
||||
* Function Count: 27
|
||||
* Decompile Time: 1437 ms
|
||||
* Timestamp: 10/27/2023 12:07:47 AM
|
||||
*******************************************************************/
|
||||
|
||||
//Function Number: 1
|
||||
init_weapon_upgrade()
|
||||
{
|
||||
level.pap_room_func = ::cp_town_pap_machine_func;
|
||||
level.max_pap_func = ::func_385F;
|
||||
func_94F2();
|
||||
}
|
||||
|
||||
//Function Number: 2
|
||||
func_94F2()
|
||||
{
|
||||
var_00 = scripts\common\utility::getstructarray("weapon_upgrade","script_noteworthy");
|
||||
level.var_7D63 = ::scripts\cp\_weapon::func_7D62;
|
||||
foreach(var_02 in var_00)
|
||||
{
|
||||
var_02.var_D776 = 1;
|
||||
var_02 thread func_9795();
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 3
|
||||
func_9795()
|
||||
{
|
||||
if(scripts\common\utility::istrue(self.var_E1B9))
|
||||
{
|
||||
level scripts\common\utility::waittill_any_3("power_on",self.var_D71C + " power_on");
|
||||
}
|
||||
|
||||
var_00 = getent("pap_machine","targetname");
|
||||
if(!isdefined(var_00))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if(isdefined(level.pap_room_func))
|
||||
{
|
||||
[[ level.pap_room_func ]](self,var_00);
|
||||
return;
|
||||
}
|
||||
|
||||
var_00 setscriptablepartstate("door","open_idle");
|
||||
var_00 setscriptablepartstate("reels","on");
|
||||
self.var_D776 = 1;
|
||||
}
|
||||
|
||||
//Function Number: 4
|
||||
set_fuse_icon_on_hotjoin(param_00)
|
||||
{
|
||||
level notify("stop_hotjoin_fuse");
|
||||
level endon("stop_hotjoin_fuse");
|
||||
for(;;)
|
||||
{
|
||||
level waittill("connected",var_01);
|
||||
var_01 setclientomnvar("zm_special_item",param_00);
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 5
|
||||
func_13C62(param_00,param_01)
|
||||
{
|
||||
param_01 endon("disconnect");
|
||||
if(scripts\common\utility::istrue(level.has_picked_up_fuses) && !isdefined(level.placed_alien_fuses))
|
||||
{
|
||||
level.placed_alien_fuses = 1;
|
||||
param_01 thread scripts\cp\_vo::try_to_play_vo("pap_place_fuse","town_comment_vo","low",10,0,0,1,100);
|
||||
level thread place_fuses_in_machine(param_00,param_01);
|
||||
foreach(param_01 in level.players)
|
||||
{
|
||||
param_01 setclientomnvar("zm_special_item",0);
|
||||
}
|
||||
|
||||
level thread set_fuse_icon_on_hotjoin(0);
|
||||
return;
|
||||
}
|
||||
|
||||
var_04 = var_03 getcurrentweapon();
|
||||
var_05 = scripts\cp\_utility::func_80D8(var_04);
|
||||
var_06 = var_03 scripts\cp\_weapon::func_7D62(var_05);
|
||||
var_07 = undefined;
|
||||
var_08 = get_player_fists_weapon(var_03);
|
||||
var_09 = "none";
|
||||
var_0A = undefined;
|
||||
var_0B = 0;
|
||||
if(!can_use_pap_machine(var_05))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if(var_03 func_385F(var_04))
|
||||
{
|
||||
scripts\cp\_interaction::remove_from_current_interaction_list(var_02);
|
||||
var_0C = scripts\common\utility::getstruct(var_02.target,"targetname");
|
||||
var_0D = vectornormalize(anglestoforward(var_03.angles)) * 16;
|
||||
var_06 = int(var_06);
|
||||
var_06++;
|
||||
var_0E = var_04;
|
||||
var_0F = validate_current_weapon(var_06,var_05,var_04);
|
||||
var_07 = get_pap_offhand_weapon(var_03,var_04);
|
||||
var_0A = get_pap_camo(var_06,var_05,var_04);
|
||||
var_0B = should_use_old_model(var_06,var_05,var_04);
|
||||
process_pap_stat_logging(var_05,var_03);
|
||||
thread play_pap_vo(var_03);
|
||||
var_09 = return_pap_attachment(var_03,var_06,var_05,var_04);
|
||||
if(isdefined(var_09) && var_09 == "replace_me")
|
||||
{
|
||||
var_09 = undefined;
|
||||
}
|
||||
|
||||
var_10 = filter_current_weapon_attachments(var_04);
|
||||
var_11 = remove_invalid_wm_attachments(var_10);
|
||||
var_04 = var_03 scripts\cp\_weapon::func_E469(var_0F,undefined,var_11);
|
||||
var_12 = var_03 scripts\cp\_weapon::func_E469(var_0F,var_09,var_11,undefined,var_0A);
|
||||
var_13 = var_03 scripts\cp\_weapon::func_E469(var_0F,var_09,var_10,undefined,var_0A);
|
||||
if(var_0B)
|
||||
{
|
||||
var_14 = spawn("script_weapon",var_03 geteye() + var_0D,0,0,var_0E);
|
||||
}
|
||||
else
|
||||
{
|
||||
var_14 = spawn("script_weapon",var_04 geteye() + var_0E,0,0,var_05);
|
||||
}
|
||||
|
||||
var_14.angles = var_02.angles;
|
||||
if(var_0B)
|
||||
{
|
||||
var_15 = disco_getoffsetfrombaseweaponname(var_0E);
|
||||
}
|
||||
else
|
||||
{
|
||||
var_15 = disco_getoffsetfrombaseweaponname(var_14);
|
||||
}
|
||||
|
||||
level thread func_DF48(var_03,var_14,var_02);
|
||||
level notify("pap_used",var_03,var_06,var_13);
|
||||
var_14 makeunusable();
|
||||
var_03 thread disco_playpapgesture(var_03,var_03.pap_gesture,var_07,var_04,var_0E);
|
||||
var_03.var_C8AB = var_04;
|
||||
if(var_0B)
|
||||
{
|
||||
var_16 = getangleoffset(var_0E,var_0C);
|
||||
}
|
||||
else
|
||||
{
|
||||
var_16 = getangleoffset(var_14,var_0D);
|
||||
}
|
||||
|
||||
var_17 = lib_0D41::func_8087(var_05);
|
||||
var_14 moveto(var_0C.origin + var_17,0.75);
|
||||
var_14 rotateto(var_16,0.75);
|
||||
var_14 waittill("movedone");
|
||||
var_14 moveto(var_0C.origin + var_15,0.25);
|
||||
var_14 waittill("movedone");
|
||||
update_level_pap_machines("door","close",undefined,undefined,"zmb_packapunch_machine_on");
|
||||
wait(0.75);
|
||||
if(!scripts\common\utility::flag("fuses_inserted"))
|
||||
{
|
||||
update_level_pap_machines("papfx","normal","papfx","upgraded");
|
||||
}
|
||||
|
||||
wait(3.5);
|
||||
update_level_pap_machines("door","decomp");
|
||||
wait(0.8);
|
||||
var_14 method_8536(var_12);
|
||||
wait(0.4);
|
||||
update_level_pap_machines("door","open_idle");
|
||||
update_level_pap_machines("papfx","idle");
|
||||
wait(0.5);
|
||||
var_14 makeusable();
|
||||
var_14 method_84A2(100);
|
||||
if(var_03 scripts\cp\_utility::is_valid_player())
|
||||
{
|
||||
foreach(var_19 in level.players)
|
||||
{
|
||||
if(var_19 == var_03)
|
||||
{
|
||||
var_14 enableplayeruse(var_19);
|
||||
continue;
|
||||
}
|
||||
|
||||
var_14 disableplayeruse(var_19);
|
||||
}
|
||||
|
||||
if(var_0F == "iw7_katana_zm_pap1")
|
||||
{
|
||||
var_03 lib_0D2A::func_12D7C("SLICED_AND_DICED",1);
|
||||
var_03 thread scripts\cp\_vo::try_to_play_vo("weapon_pap_katana_1","zmb_pap_vo","high",undefined,undefined,undefined,1);
|
||||
}
|
||||
else if(var_0F == "iw7_katana_zm_pap2")
|
||||
{
|
||||
var_03 thread scripts\cp\_vo::try_to_play_vo("weapon_pap_katana_2","zmb_pap_vo","high",undefined,undefined,undefined,1);
|
||||
}
|
||||
else if(var_0F == "iw7_nunchucks_zm_pap1")
|
||||
{
|
||||
var_03 thread scripts\cp\_vo::try_to_play_vo("weapon_pap_nunchucks_1","zmb_pap_vo","high",undefined,undefined,undefined,1);
|
||||
}
|
||||
else if(var_0F == "iw7_nunchucks_zm_pap2")
|
||||
{
|
||||
var_03 thread scripts\cp\_vo::try_to_play_vo("weapon_pap_nunchucks_2","zmb_pap_vo","high",undefined,undefined,undefined,1);
|
||||
}
|
||||
|
||||
var_03 scripts\cp\_merits::func_D9AD("mt_upgrade_weapons");
|
||||
}
|
||||
|
||||
var_14 thread func_1360B(var_13,var_08,var_06);
|
||||
var_14 scripts\common\utility::waittill_any_timeout_1(30,"weapon_taken");
|
||||
if(var_03 scripts\cp\_utility::is_valid_player())
|
||||
{
|
||||
var_03 notify("weapon_purchased");
|
||||
var_03.var_C8AB = undefined;
|
||||
var_03 scripts\cp\_interaction::func_DE6E();
|
||||
var_03 scripts\cp\_merits::func_D9AD("mt_dlc3_upgrade_weapons");
|
||||
}
|
||||
|
||||
var_14 delete();
|
||||
wait(1);
|
||||
scripts\cp\_interaction::add_to_current_interaction_list(var_02);
|
||||
level notify("pap_machine_activated");
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 6
|
||||
func_1360B(param_00,param_01,param_02)
|
||||
{
|
||||
self endon("death");
|
||||
self waittill("trigger",var_03);
|
||||
if(!isdefined(param_01))
|
||||
{
|
||||
param_01 = "iw7_fists_zm";
|
||||
}
|
||||
|
||||
if(var_03 hasweapon(param_01))
|
||||
{
|
||||
var_03 takeweapon(param_01);
|
||||
}
|
||||
|
||||
if(var_03 scripts\cp\_weapon::func_8BBB(param_00))
|
||||
{
|
||||
var_04 = scripts\cp\_utility::func_80D8(param_00);
|
||||
foreach(var_06 in var_03 getweaponslistall())
|
||||
{
|
||||
var_07 = scripts\cp\_utility::func_80D8(var_06);
|
||||
if(var_04 == var_07)
|
||||
{
|
||||
var_03 takeweapon(var_06);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(lib_0D41::func_FFA6(var_03))
|
||||
{
|
||||
var_09 = var_03 getcurrentweapon();
|
||||
var_0A = scripts\cp\_utility::func_80D8(var_09);
|
||||
var_03 takeweapon(var_09);
|
||||
}
|
||||
|
||||
self notify("weapon_taken");
|
||||
param_00 = var_03 scripts\cp\_utility::func_12C6(param_00,undefined,undefined,0);
|
||||
var_03 givemaxammo(param_00);
|
||||
var_0B = var_03 getweaponslistprimaries();
|
||||
foreach(var_06 in var_0B)
|
||||
{
|
||||
if(issubstr(var_06,param_00))
|
||||
{
|
||||
if(scripts\cp\_utility::func_9D3E(var_06))
|
||||
{
|
||||
var_04 = getweaponbasename(var_06);
|
||||
if(isdefined(level.mode_weapons_allowed) && scripts\common\utility::func_2286(level.mode_weapons_allowed,var_04))
|
||||
{
|
||||
param_00 = "alt_" + param_00;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var_03 switchtoweapon(param_00);
|
||||
var_04 = scripts\cp\_utility::func_80D8(param_00);
|
||||
var_03.var_C8A2[var_04].var_B111++;
|
||||
var_03 scripts\cp\_persistence::give_player_xp(500,1);
|
||||
var_03 notify("weapon_level_changed");
|
||||
}
|
||||
|
||||
//Function Number: 7
|
||||
disco_playpapgesture(param_00,param_01,param_02,param_03,param_04)
|
||||
{
|
||||
var_05 = get_player_fists_weapon(param_00);
|
||||
param_00 scripts\cp\_utility::func_12C6(var_05,undefined,undefined,1);
|
||||
param_00 method_83B6(var_05);
|
||||
param_00 takeweapon(param_04);
|
||||
wait(1);
|
||||
thread scripts\cp\_utility::firegesturegrenade(param_00,param_01);
|
||||
wait(2.5);
|
||||
if(isdefined(param_02))
|
||||
{
|
||||
param_00 method_83B6(param_02);
|
||||
if(param_00 hasweapon(var_05))
|
||||
{
|
||||
param_00 takeweapon(var_05);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 8
|
||||
get_player_fists_weapon(param_00)
|
||||
{
|
||||
if(isdefined(param_00.var_134FD))
|
||||
{
|
||||
switch(param_00.var_134FD)
|
||||
{
|
||||
case "p1_":
|
||||
return "iw7_fists_zm";
|
||||
|
||||
case "p2_":
|
||||
return "iw7_fists_zm";
|
||||
|
||||
case "p3_":
|
||||
return "iw7_fists_zm";
|
||||
|
||||
case "p4_":
|
||||
return "iw7_fists_zm";
|
||||
|
||||
case "p5_":
|
||||
return "iw7_fists_zm";
|
||||
|
||||
default:
|
||||
return "iw7_fists_zm";
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
return "iw7_fists_zm";
|
||||
}
|
||||
|
||||
//Function Number: 9
|
||||
getangleoffset(param_00,param_01)
|
||||
{
|
||||
var_02 = scripts\cp\_utility::func_7DF7(param_00);
|
||||
var_03 = param_01.angles;
|
||||
switch(var_02)
|
||||
{
|
||||
case "iw7_nunchucks":
|
||||
case "iw7_katana":
|
||||
case "iw7_spiked":
|
||||
case "iw7_golf":
|
||||
case "iw7_two":
|
||||
case "iw7_machete":
|
||||
return (90,90,0);
|
||||
|
||||
default:
|
||||
return var_03;
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 10
|
||||
disco_getoffsetfrombaseweaponname(param_00)
|
||||
{
|
||||
var_01 = scripts\cp\_utility::func_7DF7(param_00);
|
||||
var_02 = lib_0D41::func_801F(param_00);
|
||||
switch(var_01)
|
||||
{
|
||||
case "iw7_machete":
|
||||
return (0,-6,2);
|
||||
|
||||
case "iw7_two":
|
||||
return (0,-8,2);
|
||||
|
||||
case "iw7_spiked":
|
||||
case "iw7_golf":
|
||||
return (0,-12,2);
|
||||
|
||||
case "iw7_nunchucks":
|
||||
case "iw7_katana":
|
||||
return (0,-12,2);
|
||||
|
||||
default:
|
||||
return var_02;
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 11
|
||||
return_pap_attachment(param_00,param_01,param_02,param_03,param_04)
|
||||
{
|
||||
var_05 = undefined;
|
||||
if(isdefined(param_02))
|
||||
{
|
||||
switch(param_02)
|
||||
{
|
||||
case "spiked":
|
||||
case "golf":
|
||||
case "two":
|
||||
case "machete":
|
||||
case "nunchucks":
|
||||
case "katana":
|
||||
return "replace_me";
|
||||
|
||||
default:
|
||||
if(scripts\common\utility::istrue(param_04))
|
||||
{
|
||||
return undefined;
|
||||
}
|
||||
|
||||
if(isdefined(param_00.var_C8A2[param_02]))
|
||||
{
|
||||
return "pap" + param_00.var_C8A2[param_02].var_B111;
|
||||
}
|
||||
else
|
||||
{
|
||||
return "pap1";
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return var_05;
|
||||
}
|
||||
|
||||
//Function Number: 12
|
||||
cp_town_pap_machine_func(param_00,param_01)
|
||||
{
|
||||
level.pap_machine = param_01;
|
||||
level.pap_machine hide();
|
||||
param_00.var_D776 = 1;
|
||||
}
|
||||
|
||||
//Function Number: 13
|
||||
place_fuses_in_machine(param_00,param_01)
|
||||
{
|
||||
scripts\cp\_interaction::remove_from_current_interaction_list(param_00);
|
||||
upgrade_machine_for_all_players();
|
||||
update_level_pap_machines("door","close");
|
||||
wait(0.5);
|
||||
update_level_pap_machines("machine","upgraded");
|
||||
wait(0.25);
|
||||
update_level_pap_machines("reels","neutral");
|
||||
wait(0.25);
|
||||
update_level_pap_machines("reels","on");
|
||||
wait(0.25);
|
||||
update_level_pap_machines("door","open_idle");
|
||||
wait(0.25);
|
||||
scripts\cp\_interaction::add_to_current_interaction_list(param_00);
|
||||
if(param_01 scripts\cp\_utility::is_valid_player())
|
||||
{
|
||||
param_01 thread scripts\cp\_vo::try_to_play_vo("pap_upgrade","zmb_pap_vo","high");
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 14
|
||||
upgrade_machine_for_all_players()
|
||||
{
|
||||
foreach(var_01 in level.player_pap_machines)
|
||||
{
|
||||
var_01 setmodel("zmb_pap_machine_animated_soul_key");
|
||||
}
|
||||
|
||||
scripts\common\utility::func_136F7();
|
||||
}
|
||||
|
||||
//Function Number: 15
|
||||
update_level_pap_machines(param_00,param_01,param_02,param_03,param_04)
|
||||
{
|
||||
var_05 = isdefined(param_02) && isdefined(param_03);
|
||||
foreach(var_07 in level.player_pap_machines)
|
||||
{
|
||||
if(isdefined(param_04))
|
||||
{
|
||||
var_07 playsound(param_04);
|
||||
}
|
||||
|
||||
if(scripts\common\utility::istrue(level.placed_alien_fuses) && var_05)
|
||||
{
|
||||
var_07 setscriptablepartstate(param_02,param_03);
|
||||
continue;
|
||||
}
|
||||
|
||||
var_07 setscriptablepartstate(param_00,param_01);
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 16
|
||||
func_DF48(param_00,param_01,param_02)
|
||||
{
|
||||
level endon("pap_machine_activated");
|
||||
param_00 waittill("disconnect");
|
||||
update_level_pap_machines("door","decomp");
|
||||
wait(1.2);
|
||||
update_level_pap_machines("door","open_idle");
|
||||
update_level_pap_machines("papfx","idle");
|
||||
param_01 delete();
|
||||
wait(1);
|
||||
scripts\cp\_interaction::add_to_current_interaction_list(param_02);
|
||||
level notify("pap_machine_activated");
|
||||
}
|
||||
|
||||
//Function Number: 17
|
||||
can_use_pap_machine(param_00)
|
||||
{
|
||||
if(param_00 == "dischord" || param_00 == "facemelter" || param_00 == "headcutter" || param_00 == "shredder")
|
||||
{
|
||||
if(!scripts\common\utility::flag("fuses_inserted"))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
//Function Number: 18
|
||||
get_pap_offhand_weapon(param_00,param_01)
|
||||
{
|
||||
var_02 = param_00 getweaponslistprimaries();
|
||||
foreach(var_04 in var_02)
|
||||
{
|
||||
if(!issubstr(param_01,var_04) && !scripts\cp\_utility::isstrstart(var_04,"alt_") && !issubstr(var_04,"knife") && var_04 != "iw7_knife_zm_disco")
|
||||
{
|
||||
return var_04;
|
||||
}
|
||||
}
|
||||
|
||||
return undefined;
|
||||
}
|
||||
|
||||
//Function Number: 19
|
||||
validate_current_weapon(param_00,param_01,param_02)
|
||||
{
|
||||
if(isdefined(level.weapon_upgrade_path) && isdefined(level.weapon_upgrade_path[getweaponbasename(param_02)]))
|
||||
{
|
||||
param_02 = level.weapon_upgrade_path[getweaponbasename(param_02)];
|
||||
}
|
||||
else if(isdefined(param_01))
|
||||
{
|
||||
switch(param_01)
|
||||
{
|
||||
case "two":
|
||||
if(param_00 == 2)
|
||||
{
|
||||
param_02 = "iw7_two_headed_axe_mp";
|
||||
}
|
||||
else if(param_00 == 3)
|
||||
{
|
||||
param_02 = "iw7_two_headed_axe_mp";
|
||||
}
|
||||
break;
|
||||
|
||||
case "golf":
|
||||
if(param_00 == 2)
|
||||
{
|
||||
param_02 = "iw7_golf_club_mp";
|
||||
}
|
||||
else if(param_00 == 3)
|
||||
{
|
||||
param_02 = "iw7_golf_club_mp";
|
||||
}
|
||||
break;
|
||||
|
||||
case "machete":
|
||||
if(param_00 == 2)
|
||||
{
|
||||
param_02 = "iw7_machete_mp";
|
||||
}
|
||||
else if(param_00 == 3)
|
||||
{
|
||||
param_02 = "iw7_machete_mp";
|
||||
}
|
||||
break;
|
||||
|
||||
case "spiked":
|
||||
if(param_00 == 2)
|
||||
{
|
||||
param_02 = "iw7_spiked_bat_mp";
|
||||
}
|
||||
else if(param_00 == 3)
|
||||
{
|
||||
param_02 = "iw7_spiked_bat_mp";
|
||||
}
|
||||
break;
|
||||
|
||||
case "axe":
|
||||
if(param_00 == 2)
|
||||
{
|
||||
param_02 = "iw7_axe_zm_pap1";
|
||||
}
|
||||
else if(param_00 == 3)
|
||||
{
|
||||
param_02 = "iw7_axe_zm_pap2";
|
||||
}
|
||||
break;
|
||||
|
||||
case "katana":
|
||||
if(param_00 == 2)
|
||||
{
|
||||
param_02 = "iw7_katana_zm_pap1";
|
||||
}
|
||||
else if(param_00 == 3)
|
||||
{
|
||||
param_02 = "iw7_katana_zm_pap2";
|
||||
}
|
||||
break;
|
||||
|
||||
case "nunchucks":
|
||||
if(param_00 == 2)
|
||||
{
|
||||
param_02 = "iw7_nunchucks_zm_pap1";
|
||||
}
|
||||
else if(param_00 == 3)
|
||||
{
|
||||
param_02 = "iw7_nunchucks_zm_pap2";
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
return param_02;
|
||||
}
|
||||
}
|
||||
|
||||
return param_02;
|
||||
}
|
||||
|
||||
//Function Number: 20
|
||||
should_use_old_model(param_00,param_01,param_02)
|
||||
{
|
||||
if(isdefined(param_01))
|
||||
{
|
||||
switch(param_01)
|
||||
{
|
||||
case "spiked":
|
||||
case "golf":
|
||||
case "two":
|
||||
case "axe":
|
||||
case "machete":
|
||||
return 1;
|
||||
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
//Function Number: 21
|
||||
get_pap_camo(param_00,param_01,param_02)
|
||||
{
|
||||
var_03 = undefined;
|
||||
if(isdefined(param_01))
|
||||
{
|
||||
if(isdefined(level.no_pap_camos) && scripts\common\utility::func_2286(level.no_pap_camos,param_01))
|
||||
{
|
||||
var_03 = undefined;
|
||||
}
|
||||
else if(isdefined(level.pap_1_camo) && isdefined(param_00) && param_00 == 2)
|
||||
{
|
||||
var_03 = level.pap_1_camo;
|
||||
}
|
||||
else if(isdefined(level.pap_2_camo) && isdefined(param_00) && param_00 == 3)
|
||||
{
|
||||
var_03 = level.pap_2_camo;
|
||||
}
|
||||
|
||||
switch(param_01)
|
||||
{
|
||||
case "dischord":
|
||||
param_02 = "iw7_dischord_zm_pap1";
|
||||
var_03 = "camo20";
|
||||
break;
|
||||
|
||||
case "facemelter":
|
||||
param_02 = "iw7_facemelter_zm_pap1";
|
||||
var_03 = "camo22";
|
||||
break;
|
||||
|
||||
case "headcutter":
|
||||
param_02 = "iw7_headcutter_zm_pap1";
|
||||
var_03 = "camo21";
|
||||
break;
|
||||
|
||||
case "nunchucks":
|
||||
case "katana":
|
||||
var_03 = "camo222";
|
||||
break;
|
||||
|
||||
case "forgefreeze":
|
||||
if(param_00 == 2)
|
||||
{
|
||||
param_02 = "iw7_forgefreeze_zm_pap1";
|
||||
}
|
||||
else if(param_00 == 3)
|
||||
{
|
||||
param_02 = "iw7_forgefreeze_zm_pap2";
|
||||
}
|
||||
|
||||
var_04 = 1;
|
||||
break;
|
||||
|
||||
case "axe":
|
||||
if(param_00 == 2)
|
||||
{
|
||||
param_02 = "iw7_axe_zm_pap1";
|
||||
}
|
||||
else if(param_00 == 3)
|
||||
{
|
||||
param_02 = "iw7_axe_zm_pap2";
|
||||
}
|
||||
|
||||
var_04 = 1;
|
||||
break;
|
||||
|
||||
case "shredder":
|
||||
param_02 = "iw7_shredder_zm_pap1";
|
||||
var_03 = "camo23";
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return var_03;
|
||||
}
|
||||
|
||||
//Function Number: 22
|
||||
play_pap_vo(param_00)
|
||||
{
|
||||
param_00 thread scripts\cp\_vo::try_to_play_vo("weapon_pap","rave_pap_vo","high");
|
||||
}
|
||||
|
||||
//Function Number: 23
|
||||
process_pap_stat_logging(param_00,param_01)
|
||||
{
|
||||
level.var_1192E++;
|
||||
scripts\cp\zombies\zombie_analytics::func_AF7F(level.wave_num,param_00,level.var_1192E);
|
||||
}
|
||||
|
||||
//Function Number: 24
|
||||
filter_current_weapon_attachments(param_00)
|
||||
{
|
||||
var_01 = function_00E3(param_00);
|
||||
if(issubstr(param_00,"g18_z"))
|
||||
{
|
||||
foreach(var_03 in var_01)
|
||||
{
|
||||
if(issubstr(var_03,"akimbo"))
|
||||
{
|
||||
var_01 = scripts\common\utility::func_22A9(var_01,var_03);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return var_01;
|
||||
}
|
||||
|
||||
//Function Number: 25
|
||||
remove_invalid_wm_attachments(param_00)
|
||||
{
|
||||
var_01 = param_00;
|
||||
foreach(var_03 in var_01)
|
||||
{
|
||||
if(issubstr(var_03,"silencer") || issubstr(var_03,"arcane") || issubstr(var_03,"ark"))
|
||||
{
|
||||
var_01 = scripts\common\utility::func_22A9(var_01,var_03);
|
||||
}
|
||||
}
|
||||
|
||||
return param_00;
|
||||
}
|
||||
|
||||
//Function Number: 26
|
||||
weapon_upgrade_hint_func(param_00,param_01)
|
||||
{
|
||||
if(scripts\common\utility::istrue(level.has_picked_up_fuses) && !isdefined(level.placed_alien_fuses))
|
||||
{
|
||||
return &"CP_TOWN_PAP_UPGRADE";
|
||||
}
|
||||
|
||||
level.interactions[param_00.script_noteworthy].cost = 5000;
|
||||
var_02 = param_01 getcurrentweapon();
|
||||
var_03 = scripts\cp\_weapon::func_7D62(var_02);
|
||||
if(scripts\common\utility::istrue(level.placed_alien_fuses))
|
||||
{
|
||||
if(var_03 == 3)
|
||||
{
|
||||
return &"COOP_INTERACTIONS_UPGRADE_MAXED";
|
||||
}
|
||||
else if(!func_385F(var_02))
|
||||
{
|
||||
return &"CP_TOWN_UPGRADE_WEAPON_FAIL";
|
||||
}
|
||||
else if(var_03 == 1)
|
||||
{
|
||||
return &"CP_TOWN_UPGRADE_WEAPON";
|
||||
}
|
||||
else
|
||||
{
|
||||
return &"CP_TOWN_UPGRADE_WEAPON";
|
||||
}
|
||||
|
||||
return &"CP_TOWN_UPGRADE_WEAPON_FAIL";
|
||||
}
|
||||
|
||||
if(var_03 == level.var_C8A4)
|
||||
{
|
||||
return &"COOP_INTERACTIONS_UPGRADE_MAXED";
|
||||
}
|
||||
else if(param_01 scripts\cp\_utility::func_9C42(var_02,1))
|
||||
{
|
||||
return "";
|
||||
}
|
||||
else if(!func_385F(var_02))
|
||||
{
|
||||
return &"CP_TOWN_UPGRADE_WEAPON_FAIL";
|
||||
}
|
||||
else if(var_03 == 1)
|
||||
{
|
||||
return &"CP_TOWN_UPGRADE_WEAPON";
|
||||
}
|
||||
else
|
||||
{
|
||||
return &"CP_TOWN_UPGRADE_WEAPON";
|
||||
}
|
||||
|
||||
return &"CP_TOWN_UPGRADE_WEAPON_FAIL";
|
||||
}
|
||||
|
||||
//Function Number: 27
|
||||
func_385F(param_00,param_01)
|
||||
{
|
||||
if(!isdefined(level.var_C8A2))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
if(isdefined(param_00))
|
||||
{
|
||||
var_02 = scripts\cp\_utility::func_80D8(param_00);
|
||||
}
|
||||
else
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
if(!isdefined(var_02))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
if(!isdefined(level.var_C8A2[var_02]))
|
||||
{
|
||||
var_03 = getsubstr(var_02,0,var_02.size - 1);
|
||||
if(!isdefined(level.var_C8A2[var_03]))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
if(isdefined(self.var_6670) && getweaponbasename(self.var_6670) == getweaponbasename(param_00))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
if(isdefined(level.weapon_upgrade_path) && isdefined(level.weapon_upgrade_path[getweaponbasename(param_00)]))
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
if(var_02 == "dischord" || var_02 == "facemelter" || var_02 == "headcutter" || var_02 == "shredder")
|
||||
{
|
||||
if(!scripts\common\utility::flag("fuses_inserted"))
|
||||
{
|
||||
if(scripts\common\utility::istrue(param_01))
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
else if(isdefined(self.var_C8A2[var_02]) && self.var_C8A2[var_02].var_B111 == 2)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
if(scripts\common\utility::istrue(level.has_picked_up_fuses) && !isdefined(level.placed_alien_fuses))
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
if(scripts\common\utility::istrue(level.placed_alien_fuses))
|
||||
{
|
||||
if(isdefined(self.var_C8A2[var_02]) && self.var_C8A2[var_02].var_B111 >= 3)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
if(scripts\common\utility::istrue(param_01) && isdefined(self.var_C8A2[var_02]) && self.var_C8A2[var_02].var_B111 <= min(level.var_C8A4 + 1,2))
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
if(isdefined(self.var_C8A2[var_02]) && self.var_C8A2[var_02].var_B111 >= level.var_C8A4)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
17
IW/PC/ALL/scripts/cp/maps/cp_town/gen/cp_town_art.gsc
Normal file
17
IW/PC/ALL/scripts/cp/maps/cp_town/gen/cp_town_art.gsc
Normal file
@ -0,0 +1,17 @@
|
||||
/*******************************************************************
|
||||
* Decompiled By: Bog
|
||||
* Decompiled File: scripts\cp\maps\cp_town\gen\cp_town_art.gsc
|
||||
* Game: Call of Duty: Infinite Warfare
|
||||
* Platform: PC
|
||||
* Function Count: 1
|
||||
* Decompile Time: 110 ms
|
||||
* Timestamp: 10/27/2023 12:06:44 AM
|
||||
*******************************************************************/
|
||||
|
||||
//Function Number: 1
|
||||
main()
|
||||
{
|
||||
level.var_12ACA = 1;
|
||||
setdvar("r_lightGridEnableTweaks",1);
|
||||
setdvar("r_lightGridIntensity",1.33);
|
||||
}
|
3600
IW/PC/ALL/scripts/cp/maps/cp_town/gen/cp_town_fx.gsc
Normal file
3600
IW/PC/ALL/scripts/cp/maps/cp_town/gen/cp_town_fx.gsc
Normal file
File diff suppressed because it is too large
Load Diff
1102
IW/PC/ALL/scripts/cp/maps/cp_town/gen/cp_town_sound.gsc
Normal file
1102
IW/PC/ALL/scripts/cp/maps/cp_town/gen/cp_town_sound.gsc
Normal file
File diff suppressed because it is too large
Load Diff
3501
IW/PC/ALL/scripts/cp/maps/cp_zmb/cp_zmb.gsc
Normal file
3501
IW/PC/ALL/scripts/cp/maps/cp_zmb/cp_zmb.gsc
Normal file
File diff suppressed because it is too large
Load Diff
318
IW/PC/ALL/scripts/cp/maps/cp_zmb/cp_zmb_bumpercars.gsc
Normal file
318
IW/PC/ALL/scripts/cp/maps/cp_zmb/cp_zmb_bumpercars.gsc
Normal file
@ -0,0 +1,318 @@
|
||||
/*******************************************************************
|
||||
* Decompiled By: Bog
|
||||
* Decompiled File: scripts\cp\maps\cp_zmb\cp_zmb_bumpercars.gsc
|
||||
* Game: Call of Duty: Infinite Warfare
|
||||
* Platform: PC
|
||||
* Function Count: 5
|
||||
* Decompile Time: 292 ms
|
||||
* Timestamp: 10/27/2023 12:07:56 AM
|
||||
*******************************************************************/
|
||||
|
||||
//Function Number: 1
|
||||
init_bumper_cars()
|
||||
{
|
||||
var_00 = getentarray("bumper_car","targetname");
|
||||
if(!var_00.size)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
foreach(var_02 in var_00)
|
||||
{
|
||||
if(var_02.origin == (4113.9,184.9,112))
|
||||
{
|
||||
var_02.var_6B89 = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
var_02.var_6B89 = 0;
|
||||
}
|
||||
|
||||
var_02.var_5764 = getent(var_02.target,"targetname");
|
||||
var_02.var_5764 enablelinkto();
|
||||
var_02.var_5764 linkto(var_02);
|
||||
var_02.var_7541 = scripts\common\utility::getstruct(var_02.target,"targetname");
|
||||
var_02.var_DDAA = scripts\common\utility::getstruct(var_02.var_7541.target,"targetname");
|
||||
var_02.var_380B = 0;
|
||||
var_02.var_7541.origin = (var_02.var_7541.origin[0],var_02.var_7541.origin[1],var_02.origin[2]);
|
||||
var_02.var_DDAA.origin = (var_02.var_DDAA.origin[0],var_02.var_DDAA.origin[1],var_02.origin[2]);
|
||||
scripts\common\utility::func_136F7();
|
||||
}
|
||||
|
||||
level waittill("moon_bumpercars power_on");
|
||||
var_04 = getent("bumpercar_clip","targetname");
|
||||
var_04 connectpaths();
|
||||
var_04 notsolid();
|
||||
foreach(var_06, var_02 in var_00)
|
||||
{
|
||||
var_02.name = "car_" + var_06;
|
||||
var_02 thread func_A631();
|
||||
scripts\common\utility::func_136F7();
|
||||
}
|
||||
|
||||
level.var_3261 = scripts\common\utility::getstructarray("bumpercar_impact","targetname");
|
||||
for(;;)
|
||||
{
|
||||
var_00 = scripts\common\utility::array_randomize(var_00);
|
||||
foreach(var_06, var_02 in var_00)
|
||||
{
|
||||
var_02 func_1594(var_06);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 2
|
||||
func_1594(param_00)
|
||||
{
|
||||
var_01 = scripts\common\trace::func_48B1();
|
||||
var_02 = [self];
|
||||
if(!isdefined(self.var_10E19))
|
||||
{
|
||||
self.var_10E19 = "rear";
|
||||
self.var_380B = 0;
|
||||
}
|
||||
|
||||
var_03 = 1.75;
|
||||
if(self.var_6B89)
|
||||
{
|
||||
var_03 = 1.2;
|
||||
}
|
||||
|
||||
wait(randomfloatrange(1,3));
|
||||
if(self.var_10E19 == "fwd")
|
||||
{
|
||||
for(;;)
|
||||
{
|
||||
var_04 = function_0288(self.origin + (0,0,60),self.var_7541.origin + (0,0,60),32,var_01,var_02,"physicsquery_all");
|
||||
if(var_04.size == 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
var_05 = 0;
|
||||
for(var_06 = 0;var_06 < var_04.size;var_06++)
|
||||
{
|
||||
if(!isdefined(var_04[var_06]["entity"]))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if(isplayer(var_04[var_06]["entity"]) && scripts\cp\_laststand::player_in_laststand(var_04[var_06]["entity"]) || scripts\common\utility::istrue(var_04[var_06]["entity"].var_9F28))
|
||||
{
|
||||
var_05 = 1;
|
||||
}
|
||||
}
|
||||
|
||||
if(var_05)
|
||||
{
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
wait(0.1);
|
||||
}
|
||||
|
||||
if(self.var_6B89)
|
||||
{
|
||||
self playsoundonmovingent("trap_bumper_car_mvmt_short");
|
||||
}
|
||||
else
|
||||
{
|
||||
self playsoundonmovingent("trap_bumper_car_mvmt_long");
|
||||
}
|
||||
|
||||
self setscriptablepartstate("bumpercar","moving");
|
||||
wait(0.3);
|
||||
self playsound("trap_bumper_car_lights");
|
||||
self setscriptablepartstate("lights","lights_on");
|
||||
wait(0.35);
|
||||
self setscriptablepartstate("lights","lights_off");
|
||||
wait(0.35);
|
||||
self playsound("trap_bumper_car_lights");
|
||||
self setscriptablepartstate("lights","lights_on");
|
||||
wait(0.35);
|
||||
self setscriptablepartstate("lights","lights_off");
|
||||
wait(0.4);
|
||||
self setscriptablepartstate("lights","lights_on");
|
||||
self playsound("trap_bumper_car_lights");
|
||||
wait(0.4);
|
||||
self setscriptablepartstate("lights","lights_off");
|
||||
wait(0.5);
|
||||
self setscriptablepartstate("lights","lights_on");
|
||||
self.var_380B = 1;
|
||||
self moveto(self.var_7541.origin,var_03);
|
||||
self.var_10E19 = "rear";
|
||||
}
|
||||
else
|
||||
{
|
||||
for(;;)
|
||||
{
|
||||
var_04 = function_0288(self.origin + (0,0,60),self.var_DDAA.origin + (0,0,60),32,var_01,var_02,"physicsquery_all");
|
||||
if(var_04.size == 0)
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
var_05 = 0;
|
||||
for(var_06 = 0;var_06 < var_04.size;var_06++)
|
||||
{
|
||||
if(!isdefined(var_04[var_06]["entity"]))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if(isplayer(var_04[var_06]["entity"]) && scripts\cp\_laststand::player_in_laststand(var_04[var_06]["entity"]) || scripts\common\utility::istrue(var_04[var_06]["entity"].var_9F28))
|
||||
{
|
||||
var_05 = 1;
|
||||
}
|
||||
}
|
||||
|
||||
if(var_05)
|
||||
{
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
wait(0.1);
|
||||
}
|
||||
|
||||
if(self.var_6B89)
|
||||
{
|
||||
self playsoundonmovingent("trap_bumper_car_mvmt_short");
|
||||
}
|
||||
else
|
||||
{
|
||||
self playsoundonmovingent("trap_bumper_car_mvmt_long");
|
||||
}
|
||||
|
||||
self setscriptablepartstate("bumpercar","moving");
|
||||
wait(0.05);
|
||||
self playsound("trap_bumper_car_lights");
|
||||
self setscriptablepartstate("lights","lights_on");
|
||||
wait(0.35);
|
||||
self setscriptablepartstate("lights","lights_off");
|
||||
wait(0.35);
|
||||
self playsound("trap_bumper_car_lights");
|
||||
self setscriptablepartstate("lights","lights_on");
|
||||
wait(0.35);
|
||||
self setscriptablepartstate("lights","lights_off");
|
||||
wait(0.4);
|
||||
self playsound("trap_bumper_car_lights");
|
||||
self setscriptablepartstate("lights","lights_on");
|
||||
wait(0.4);
|
||||
self setscriptablepartstate("lights","lights_off");
|
||||
wait(0.5);
|
||||
self setscriptablepartstate("lights","lights_on");
|
||||
self.var_380B = 1;
|
||||
self moveto(self.var_DDAA.origin,var_03);
|
||||
self.var_10E19 = "fwd";
|
||||
}
|
||||
|
||||
if(isdefined(self.var_BE63))
|
||||
{
|
||||
destroynavobstacle(self.var_BE63);
|
||||
}
|
||||
|
||||
self waittill("movedone");
|
||||
wait(0.1);
|
||||
self.var_380B = 0;
|
||||
self.var_BE63 = function_027A(self.origin,(56,32,32),self.angles);
|
||||
var_07 = scripts\common\utility::getclosest(self.origin,level.var_3261,128);
|
||||
if(isdefined(var_07))
|
||||
{
|
||||
playfx(level._effect["bumpercar_impact"],var_07.origin,anglestoforward((0,270,0)),anglestoup((0,270,0)));
|
||||
}
|
||||
|
||||
self setscriptablepartstate("bumpercar","impact");
|
||||
wait(0.15);
|
||||
self setscriptablepartstate("bumpercar","normal");
|
||||
self setscriptablepartstate("lights","lights_off");
|
||||
}
|
||||
|
||||
//Function Number: 3
|
||||
func_A631()
|
||||
{
|
||||
for(;;)
|
||||
{
|
||||
self.var_5764 waittill("trigger",var_00);
|
||||
var_01 = getentarray("placed_transponder","script_noteworthy");
|
||||
foreach(var_03 in var_01)
|
||||
{
|
||||
if(var_00 == var_03)
|
||||
{
|
||||
if(isdefined(var_03.var_222) && var_03.var_222 scripts\cp\_utility::is_valid_player(1))
|
||||
{
|
||||
var_03.var_222 scripts\cp\_weapon::func_CC16(var_00.var_13C2E,1,var_00.origin);
|
||||
}
|
||||
|
||||
var_03 notify("detonateExplosive");
|
||||
}
|
||||
}
|
||||
|
||||
if(!self.var_380B || isdefined(var_00.flung))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if(!isplayer(var_00) && !scripts\cp\_utility::func_FF18(var_00))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if((isplayer(var_00) && !scripts\cp\_laststand::player_in_laststand(var_00)) || var_00.team == "allies")
|
||||
{
|
||||
var_00 thread func_DB09(self);
|
||||
continue;
|
||||
}
|
||||
|
||||
var_00 thread func_6F32(self);
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 4
|
||||
func_6F32(param_00)
|
||||
{
|
||||
self endon("death");
|
||||
var_01 = 250;
|
||||
self playsound("bumpercars_fling_zombie");
|
||||
self.flung = 1;
|
||||
self.var_4C87 = 1;
|
||||
playfx(level._effect["blackhole_trap_death"],self.origin,anglestoforward((-90,0,0)),anglestoup((-90,0,0)));
|
||||
wait(0.05);
|
||||
wait(0.1);
|
||||
self playsound("trap_bumper_car_zombie_hit");
|
||||
self.disable_armor = 1;
|
||||
self.nocorpse = 1;
|
||||
var_02 = scripts\common\utility::func_782F(self.origin,level.players,undefined,4,var_01);
|
||||
foreach(var_04 in var_02)
|
||||
{
|
||||
var_04 thread scripts\cp\_vo::try_to_play_vo("trap_kill_rover","zmb_comment_vo","medium",5,0,0,1,25);
|
||||
}
|
||||
|
||||
self dodamage(self.health + 1000,param_00.origin);
|
||||
}
|
||||
|
||||
//Function Number: 5
|
||||
func_DB09(param_00)
|
||||
{
|
||||
self endon("death");
|
||||
self playsound("bumpercars_push_damage_plr");
|
||||
self.flung = 1;
|
||||
var_01 = sortbydistance(scripts\common\utility::getstructarray("bumper_car_throw_spots","targetname"),self.origin);
|
||||
self setorigin(var_01[0].origin,0);
|
||||
self setvelocity(vectornormalize(self.origin - param_00.origin) * 300 + (0,0,100));
|
||||
wait(0.1);
|
||||
if(isplayer(self) && !scripts\common\utility::istrue(self.isrewinding))
|
||||
{
|
||||
self dodamage(self.health + 100,param_00.origin);
|
||||
}
|
||||
|
||||
wait(0.1);
|
||||
self.flung = undefined;
|
||||
}
|
1082
IW/PC/ALL/scripts/cp/maps/cp_zmb/cp_zmb_challenges.gsc
Normal file
1082
IW/PC/ALL/scripts/cp/maps/cp_zmb/cp_zmb_challenges.gsc
Normal file
File diff suppressed because it is too large
Load Diff
1215
IW/PC/ALL/scripts/cp/maps/cp_zmb/cp_zmb_coaster.gsc
Normal file
1215
IW/PC/ALL/scripts/cp/maps/cp_zmb/cp_zmb_coaster.gsc
Normal file
File diff suppressed because it is too large
Load Diff
672
IW/PC/ALL/scripts/cp/maps/cp_zmb/cp_zmb_crafting.gsc
Normal file
672
IW/PC/ALL/scripts/cp/maps/cp_zmb/cp_zmb_crafting.gsc
Normal file
@ -0,0 +1,672 @@
|
||||
/*******************************************************************
|
||||
* Decompiled By: Bog
|
||||
* Decompiled File: scripts\cp\maps\cp_zmb\cp_zmb_crafting.gsc
|
||||
* Game: Call of Duty: Infinite Warfare
|
||||
* Platform: PC
|
||||
* Function Count: 21
|
||||
* Decompile Time: 1143 ms
|
||||
* Timestamp: 10/27/2023 12:08:03 AM
|
||||
*******************************************************************/
|
||||
|
||||
//Function Number: 1
|
||||
init_crafting()
|
||||
{
|
||||
level.var_B426 = 1;
|
||||
level.var_C1E2 = 0;
|
||||
level.var_A89F = gettime();
|
||||
level.var_47C1 = 25000;
|
||||
level.var_47C0 = -5536;
|
||||
level.var_BF36 = gettime() + 180000;
|
||||
level.var_47BE = ::func_13F02;
|
||||
level.var_47BD = ::func_13F01;
|
||||
level.var_47C2 = func_78F1(level.crafting_table);
|
||||
level.var_47A7 = func_78EA(level.crafting_table);
|
||||
level.var_47C3 = level.var_47C2;
|
||||
level.var_CC0C = [];
|
||||
level.crafting_icon_create_func = ::func_4939;
|
||||
}
|
||||
|
||||
//Function Number: 2
|
||||
func_9596()
|
||||
{
|
||||
var_00 = scripts\common\utility::getstructarray("crafting_station","script_noteworthy");
|
||||
foreach(var_03, var_02 in var_00)
|
||||
{
|
||||
var_02 thread func_47CE(var_03);
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 3
|
||||
func_47CE(param_00)
|
||||
{
|
||||
if(param_00 > 0)
|
||||
{
|
||||
wait(0.1 * param_00);
|
||||
}
|
||||
|
||||
var_01 = scripts\common\utility::getstructarray(self.target,"targetname");
|
||||
foreach(var_03 in var_01)
|
||||
{
|
||||
if(var_03.script_noteworthy == "fx_spot")
|
||||
{
|
||||
self.var_47B8 = var_03;
|
||||
continue;
|
||||
}
|
||||
|
||||
if(var_03.script_noteworthy == "egg_land_spot")
|
||||
{
|
||||
self.var_5FF5 = var_03;
|
||||
}
|
||||
}
|
||||
|
||||
var_01 = getentarray(self.target,"targetname");
|
||||
foreach(var_03 in var_01)
|
||||
{
|
||||
if(var_03.script_noteworthy == "souvenir_light")
|
||||
{
|
||||
self.var_1B9 = var_03;
|
||||
continue;
|
||||
}
|
||||
|
||||
if(var_03.script_noteworthy == "souvenir_toy")
|
||||
{
|
||||
self.var_1048E = var_03;
|
||||
continue;
|
||||
}
|
||||
|
||||
if(var_03.script_noteworthy == "station")
|
||||
{
|
||||
self.var_1048C = var_03;
|
||||
}
|
||||
}
|
||||
|
||||
if(isdefined(self.var_1B9))
|
||||
{
|
||||
self.var_1B9 setlightintensity(0);
|
||||
}
|
||||
|
||||
if(scripts\common\utility::istrue(self.var_E1B9) && isdefined(self.var_D71C))
|
||||
{
|
||||
level scripts\common\utility::waittill_any_3("power_on",self.var_D71C + " power_on");
|
||||
}
|
||||
|
||||
if(isdefined(self.var_1B9))
|
||||
{
|
||||
self.var_1B9 setlightintensity(0.65);
|
||||
}
|
||||
|
||||
self.var_D776 = 1;
|
||||
self.var_6261 = 0;
|
||||
self.var_269F = 3;
|
||||
self.var_94CA = [];
|
||||
self.var_10485 = undefined;
|
||||
self.var_1048C setscriptablepartstate("body","default_on");
|
||||
self.var_1048C setscriptablepartstate("monitor_1","logo");
|
||||
self.var_1048C setscriptablepartstate("monitor_2","logo");
|
||||
self.var_1048C setscriptablepartstate("monitor_3","logo");
|
||||
self.var_5FF5.origin = self.var_5FF5.origin + (0,0,2);
|
||||
}
|
||||
|
||||
//Function Number: 4
|
||||
func_12FBE(param_00,param_01)
|
||||
{
|
||||
if(!scripts\common\utility::func_2286(level.current_interaction_structs,param_00))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if(param_00.var_269F > 0)
|
||||
{
|
||||
if(!isdefined(param_01.var_4B5E))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
param_01 playlocalsound("zmb_coin_sounvenir_place");
|
||||
param_01 thread scripts\cp\_vo::try_to_play_vo("souvenir_coin_station","zmb_comment_vo","medium",10,0,0,1,50);
|
||||
if(getweaponbasename(param_01 getcurrentweapon()) != "iw7_penetrationrail_mp")
|
||||
{
|
||||
thread scripts\cp\_utility::firegesturegrenade(param_01,"iw7_souvenircoin_zm");
|
||||
}
|
||||
|
||||
var_02 = "logo";
|
||||
level.var_10490 = param_01.var_4B5E.var_47C9;
|
||||
switch(param_01.var_4B5E.var_47C9)
|
||||
{
|
||||
case "zmb_coin_alien":
|
||||
var_02 = "alien";
|
||||
break;
|
||||
|
||||
case "zmb_coin_space":
|
||||
var_02 = "space";
|
||||
break;
|
||||
|
||||
case "zmb_coin_ice":
|
||||
var_02 = "ice";
|
||||
break;
|
||||
}
|
||||
|
||||
switch(param_00.var_269F)
|
||||
{
|
||||
case 3:
|
||||
param_00.var_1048C setscriptablepartstate("monitor_1",var_02);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
param_00.var_1048C setscriptablepartstate("monitor_2",var_02);
|
||||
break;
|
||||
|
||||
case 1:
|
||||
param_00.var_1048C setscriptablepartstate("monitor_3",var_02);
|
||||
break;
|
||||
}
|
||||
|
||||
playsoundatpos(param_00.var_47B8.origin + (0,0,-5),"zmb_souvenir_machine_arm_mvmt");
|
||||
param_01 setclientomnvar("zombie_souvenir_piece_index",0);
|
||||
param_00.var_94CA = scripts\common\utility::array_add_safe(param_00.var_94CA,param_01.var_4B5E.var_47C9);
|
||||
param_01.var_A8D3 = undefined;
|
||||
param_01.var_4B5E = undefined;
|
||||
param_00.var_269F--;
|
||||
param_01 scripts\cp\_merits::func_D9AD("mt_used_crafting");
|
||||
if(param_00.var_269F > 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
level notify("quest_crafting_check",param_00);
|
||||
scripts\cp\_interaction::remove_from_current_interaction_list(param_00);
|
||||
level thread func_1048F(param_00);
|
||||
wait(0.25);
|
||||
playfx(level._effect["crafting_souvenir"],param_00.var_47B8.origin + (0,0,-5));
|
||||
playsoundatpos(param_00.var_47B8.origin + (0,0,-5),"zmb_souvenir_machine_craft");
|
||||
wait(2);
|
||||
if(!isdefined(param_00.var_1048A))
|
||||
{
|
||||
param_00.var_1048A = param_00.var_1048E.origin;
|
||||
param_00.var_10489 = param_00.var_1048E.model;
|
||||
}
|
||||
|
||||
param_00.var_1048E movez(-35,0.2);
|
||||
param_00.var_1048E waittill("movedone");
|
||||
param_00.var_1048E moveto(param_00.var_5FF5.origin,0.2);
|
||||
level thread scripts\cp\_vo::func_E01F("nag_use_souvenircoin");
|
||||
scripts\cp\zombies\zombie_analytics::func_AF89(level.wave_num,level.var_10490);
|
||||
func_47A5(param_00,param_01);
|
||||
if(param_01 scripts\cp\_utility::is_valid_player())
|
||||
{
|
||||
param_01 thread scripts\cp\_vo::try_to_play_vo("souvenir_craft_success","zmb_comment_vo","low",10,0,0,0,50);
|
||||
}
|
||||
|
||||
scripts\cp\_vo::func_E01F("dj_souvenircoin_collect_nag");
|
||||
param_00.var_1048C setscriptablepartstate("monitor_3","logo");
|
||||
wait(0.1);
|
||||
param_00.var_1048C setscriptablepartstate("monitor_2","logo");
|
||||
wait(0.1);
|
||||
param_00.var_1048C setscriptablepartstate("monitor_1","logo");
|
||||
wait(0.1);
|
||||
scripts\cp\_interaction::add_to_current_interaction_list(param_00);
|
||||
while(isdefined(param_00.var_10485))
|
||||
{
|
||||
wait(0.1);
|
||||
}
|
||||
|
||||
playfx(level._effect["souvenir_pickup"],param_00.var_1048E.origin + (0,0,-45));
|
||||
param_00.var_269F = 3;
|
||||
param_00.var_94CA = [];
|
||||
if(param_01 scripts\cp\_utility::is_valid_player())
|
||||
{
|
||||
param_01.var_A8D3 = undefined;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 5
|
||||
func_1048F(param_00)
|
||||
{
|
||||
var_01 = func_78EC(param_00);
|
||||
var_02 = lookupsoundlength("announcer_crafting_inform");
|
||||
playsoundatpos(param_00.var_1048C.origin + (0,0,60),"announcer_crafting_inform");
|
||||
wait(var_02 / 1000 + 0.25);
|
||||
switch(var_01)
|
||||
{
|
||||
case "crafted_autosentry":
|
||||
playsoundatpos(param_00.var_1048C.origin + (0,0,60),"announcer_crafting_sentry");
|
||||
break;
|
||||
|
||||
case "crafted_ims":
|
||||
playsoundatpos(param_00.var_1048C.origin + (0,0,60),"announcer_crafting_fireworks");
|
||||
break;
|
||||
|
||||
case "crafted_medusa":
|
||||
playsoundatpos(param_00.var_1048C.origin + (0,0,60),"announcer_crafting_medusa");
|
||||
break;
|
||||
|
||||
case "crafted_electric_trap":
|
||||
playsoundatpos(param_00.var_1048C.origin + (0,0,60),"announcer_crafting_electric");
|
||||
break;
|
||||
|
||||
case "crafted_boombox":
|
||||
playsoundatpos(param_00.var_1048C.origin + (0,0,60),"announcer_crafting_boombox");
|
||||
break;
|
||||
|
||||
case "crafted_revocator":
|
||||
playsoundatpos(param_00.var_1048C.origin + (0,0,60),"announcer_crafting_revocator");
|
||||
break;
|
||||
|
||||
case "crafted_gascan":
|
||||
playsoundatpos(param_00.var_1048C.origin + (0,0,60),"announcer_crafting_kindle");
|
||||
break;
|
||||
|
||||
case "crafted_windowtrap":
|
||||
playsoundatpos(param_00.var_1048C.origin + (0,0,60),"announcer_crafting_laser");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 6
|
||||
func_13F02(param_00,param_01,param_02)
|
||||
{
|
||||
if(!func_FF3B(param_01))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
level thread func_10697(param_01);
|
||||
return 1;
|
||||
}
|
||||
|
||||
//Function Number: 7
|
||||
func_13F01(param_00,param_01)
|
||||
{
|
||||
level thread func_10697(param_00,param_01);
|
||||
}
|
||||
|
||||
//Function Number: 8
|
||||
func_10697(param_00,param_01)
|
||||
{
|
||||
level.var_C1E2++;
|
||||
level.var_A89F = gettime();
|
||||
level.var_BF36 = level.var_A89F + 30000 + randomintrange(level.var_47C1,level.var_47C0);
|
||||
var_02 = spawn("script_model",param_00 + (0,0,45));
|
||||
var_02.angles = (90,0,0);
|
||||
var_02.var_C378 = (90,0,0);
|
||||
var_03 = scripts\common\utility::random(level.var_47C3);
|
||||
if(isdefined(param_01))
|
||||
{
|
||||
var_03 = param_01;
|
||||
}
|
||||
|
||||
var_02 setmodel(var_03);
|
||||
var_02.script_noteworthy = "crafting_item";
|
||||
var_04 = "red";
|
||||
if(var_02.model == "zmb_coin_space")
|
||||
{
|
||||
var_04 = "blue";
|
||||
}
|
||||
else if(var_02.model == "zmb_coin_ice")
|
||||
{
|
||||
var_04 = "green";
|
||||
}
|
||||
|
||||
var_02 setscriptablepartstate("fx",var_04);
|
||||
var_05 = func_48C2(var_02,25);
|
||||
var_02 thread func_47C6(var_05);
|
||||
}
|
||||
|
||||
//Function Number: 9
|
||||
func_48C2(param_00,param_01)
|
||||
{
|
||||
var_02 = spawnstruct();
|
||||
var_02.script_noteworthy = "crafting_pickup";
|
||||
var_02.origin = param_00.origin - (0,0,45);
|
||||
var_02.var_195 = param_00;
|
||||
var_02.var_E1B9 = 0;
|
||||
var_02.var_D776 = 1;
|
||||
var_02.var_EE79 = "crafting_pickup";
|
||||
var_02.name = "crafting_pickup";
|
||||
var_02.var_118D7 = param_01;
|
||||
var_02.var_47C9 = param_00.model;
|
||||
var_02.var_47BA = "";
|
||||
var_02.var_109DA = "souvenir_coin";
|
||||
scripts\cp\_interaction::add_to_current_interaction_list(var_02);
|
||||
return var_02;
|
||||
}
|
||||
|
||||
//Function Number: 10
|
||||
func_47C4(param_00,param_01)
|
||||
{
|
||||
if(!isdefined(param_00.var_195))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if(isdefined(param_00.var_195.var_2A89))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
scripts\cp\_interaction::remove_from_current_interaction_list(param_00);
|
||||
if(!isdefined(level.var_4376))
|
||||
{
|
||||
level.var_4376 = 1;
|
||||
level thread scripts\cp\_vo::func_1769("dj_souvenircoin_collect_nag","zmb_dj_vo",60,60,2);
|
||||
}
|
||||
|
||||
var_02 = param_00.origin + (0,0,45);
|
||||
playfx(level._effect["souvenir_pickup"],param_00.var_195.origin);
|
||||
param_00.var_195 delete();
|
||||
scripts\common\utility::func_136F7();
|
||||
if(isdefined(param_01.var_4B5E))
|
||||
{
|
||||
param_01 playlocalsound("zmb_coin_swap");
|
||||
var_03 = spawnstruct();
|
||||
var_03.script_noteworthy = "crafting_pickup";
|
||||
var_03.origin = param_00.origin;
|
||||
var_03.var_195 = spawn("script_model",var_02);
|
||||
var_03.var_195.angles = (90,0,0);
|
||||
var_03.var_195.var_C378 = (90,0,0);
|
||||
var_03.var_E1B9 = 0;
|
||||
var_03.var_D776 = 1;
|
||||
var_03.var_EE79 = param_01.var_4B5E.var_EE79;
|
||||
var_03.name = param_01.var_4B5E.name;
|
||||
var_03.var_118D7 = param_00.var_118D7;
|
||||
var_03.var_47C9 = param_01.var_4B5E.var_47C9;
|
||||
var_03.var_47BA = "";
|
||||
var_03.var_195 setmodel(var_03.var_47C9);
|
||||
param_01.var_4B5E = param_00;
|
||||
param_01 func_4939(param_00);
|
||||
var_03.var_195 thread func_47C6(var_03);
|
||||
param_00 = undefined;
|
||||
scripts\cp\_interaction::add_to_current_interaction_list(var_03);
|
||||
wait(0.3);
|
||||
var_04 = "red";
|
||||
if(var_03.var_195.model == "zmb_coin_space")
|
||||
{
|
||||
var_04 = "blue";
|
||||
}
|
||||
else if(var_03.var_195.model == "zmb_coin_ice")
|
||||
{
|
||||
var_04 = "green";
|
||||
}
|
||||
|
||||
var_03.var_195 setscriptablepartstate("fx",var_04);
|
||||
return;
|
||||
}
|
||||
|
||||
param_01 playlocalsound("zmb_coin_pickup");
|
||||
level.var_C1E2--;
|
||||
param_01.var_4B5E = param_00;
|
||||
param_01 thread scripts\cp\_vo::try_to_play_vo("pillage_craft","zmb_comment_vo","low",10,0,1,0,40);
|
||||
param_01 func_4939(param_00);
|
||||
if(isdefined(param_00.var_195))
|
||||
{
|
||||
param_00.var_195 delete();
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 11
|
||||
func_4939(param_00)
|
||||
{
|
||||
var_01 = func_7A27(param_00.var_47C9);
|
||||
self setclientomnvar("zombie_souvenir_piece_index",int(var_01));
|
||||
}
|
||||
|
||||
//Function Number: 12
|
||||
func_47C6(param_00)
|
||||
{
|
||||
self endon("death");
|
||||
self endon("vacuum");
|
||||
self notify("timeout");
|
||||
self endon("timeout");
|
||||
var_01 = 25;
|
||||
if(isdefined(param_00.var_118D7))
|
||||
{
|
||||
var_01 = int(param_00.var_118D7);
|
||||
}
|
||||
|
||||
var_02 = gettime() + var_01 * 1000;
|
||||
var_03 = 0;
|
||||
var_04 = 0;
|
||||
while(gettime() < var_02)
|
||||
{
|
||||
if(var_04 == 0)
|
||||
{
|
||||
self rotateyaw(360,2);
|
||||
self movez(5,2);
|
||||
}
|
||||
|
||||
if(var_04 == 2)
|
||||
{
|
||||
self rotateyaw(360,2);
|
||||
self movez(-5,2);
|
||||
}
|
||||
|
||||
if(var_04 == 4)
|
||||
{
|
||||
var_04 = 0;
|
||||
continue;
|
||||
}
|
||||
|
||||
wait(1);
|
||||
var_04++;
|
||||
param_00.var_118D7 = param_00.var_118D7 - 1;
|
||||
}
|
||||
|
||||
playsoundatpos(self.origin,"zmb_coin_disappear");
|
||||
playfx(level._effect["souvenir_pickup"],self.origin);
|
||||
level.var_C1E2--;
|
||||
if(level.var_C1E2 < 0)
|
||||
{
|
||||
level.var_C1E2 = 0;
|
||||
}
|
||||
|
||||
scripts\cp\_interaction::remove_from_current_interaction_list(param_00);
|
||||
self delete();
|
||||
}
|
||||
|
||||
//Function Number: 13
|
||||
func_FF3B(param_00)
|
||||
{
|
||||
if(level.var_C1E2 >= level.var_B426)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
if(!self.entered_playspace)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
if(isdefined(level.var_164B))
|
||||
{
|
||||
if(![[ level.var_164B ]](param_00))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
if(isdefined(level.var_9B0B))
|
||||
{
|
||||
if(!scripts\cp\_weapon::func_9E54(param_00,level.var_9B0B,undefined,undefined,1))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
else if(!scripts\cp\_weapon::func_9E54(param_00,undefined,undefined,undefined,1))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
if(randomint(100) < 30)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
if(level.var_BF36 > gettime())
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
//Function Number: 14
|
||||
func_47A5(param_00,param_01)
|
||||
{
|
||||
var_02 = func_78EC(param_00);
|
||||
if(!isdefined(var_02))
|
||||
{
|
||||
var_02 = "money";
|
||||
}
|
||||
|
||||
switch(var_02)
|
||||
{
|
||||
case "crafted_gascan":
|
||||
case "crafted_revocator":
|
||||
case "crafted_boombox":
|
||||
case "crafted_electric_trap":
|
||||
case "crafted_medusa":
|
||||
case "crafted_ims":
|
||||
case "crafted_autosentry":
|
||||
case "crafted_windowtrap":
|
||||
param_00.script_noteworthy = var_02;
|
||||
param_00.var_109DA = "craftable";
|
||||
param_00.var_E1B9 = 0;
|
||||
param_00.var_D776 = 1;
|
||||
param_00.var_EE79 = var_02;
|
||||
param_00.name = var_02;
|
||||
param_00.var_10485 = 1;
|
||||
param_00.var_D6B3 = 1;
|
||||
param_00.var_47B2 = 1;
|
||||
break;
|
||||
|
||||
default:
|
||||
foreach(var_04 in level.players)
|
||||
{
|
||||
var_04 scripts\cp\_persistence::func_82F9(500);
|
||||
break;
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
scripts\cp\zombies\zombie_analytics::func_AF77(level.wave_num,var_02);
|
||||
if(isdefined(param_01) && isalive(param_01))
|
||||
{
|
||||
param_01.var_A039 = var_02;
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 15
|
||||
func_78EC(param_00)
|
||||
{
|
||||
foreach(var_02 in level.var_47A7)
|
||||
{
|
||||
var_03 = 0;
|
||||
var_04 = var_02;
|
||||
foreach(var_06 in param_00.var_94CA)
|
||||
{
|
||||
if(scripts\common\utility::func_2286(var_04,var_06))
|
||||
{
|
||||
var_03++;
|
||||
var_04 = func_E040(var_04,var_06);
|
||||
}
|
||||
}
|
||||
|
||||
if(var_03 == 3)
|
||||
{
|
||||
return var_02[0];
|
||||
}
|
||||
}
|
||||
|
||||
return undefined;
|
||||
}
|
||||
|
||||
//Function Number: 16
|
||||
func_E040(param_00,param_01)
|
||||
{
|
||||
var_02 = 0;
|
||||
var_03 = [];
|
||||
for(var_04 = 0;var_04 < param_00.size;var_04++)
|
||||
{
|
||||
if(!var_02 && param_00[var_04] == param_01)
|
||||
{
|
||||
var_02 = 1;
|
||||
continue;
|
||||
}
|
||||
|
||||
var_03[var_03.size] = param_00[var_04];
|
||||
}
|
||||
|
||||
return var_03;
|
||||
}
|
||||
|
||||
//Function Number: 17
|
||||
func_78F1(param_00)
|
||||
{
|
||||
var_01 = [];
|
||||
for(var_02 = 1;var_02 < 99;var_02++)
|
||||
{
|
||||
var_03 = func_113C5(param_00,var_02,1);
|
||||
if(var_03 == "")
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
var_01[var_01.size] = var_03;
|
||||
}
|
||||
|
||||
return var_01;
|
||||
}
|
||||
|
||||
//Function Number: 18
|
||||
func_78EA(param_00)
|
||||
{
|
||||
var_01 = 1;
|
||||
var_02 = 2;
|
||||
var_03 = [];
|
||||
for(var_04 = 100;var_04 <= 199;var_04++)
|
||||
{
|
||||
var_05 = undefined;
|
||||
var_05 = func_113C5(param_00,var_04,var_01);
|
||||
if(var_05 == "")
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
var_06 = strtok(func_113C5(param_00,var_04,var_02)," ");
|
||||
var_06 = scripts\common\utility::func_229C(var_06,var_05,0);
|
||||
var_03[var_03.size] = var_06;
|
||||
}
|
||||
|
||||
return var_03;
|
||||
}
|
||||
|
||||
//Function Number: 19
|
||||
func_113C5(param_00,param_01,param_02)
|
||||
{
|
||||
return tablelookup(param_00,0,param_01,param_02);
|
||||
}
|
||||
|
||||
//Function Number: 20
|
||||
func_7A27(param_00)
|
||||
{
|
||||
return tablelookup("scripts/cp/maps/cp_zmb/cp_zmb_crafting.csv",1,param_00,0);
|
||||
}
|
||||
|
||||
//Function Number: 21
|
||||
func_10488(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08)
|
||||
{
|
||||
if(isdefined(param_00.var_D4A9))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
param_00 endon("death");
|
||||
param_00.var_D4A9 = 1;
|
||||
var_09 = "arcade_tooth_hit";
|
||||
param_00 playsound(var_09);
|
||||
wait(lookupsoundlength(var_09) / 1000);
|
||||
param_00.var_D4A9 = undefined;
|
||||
}
|
2278
IW/PC/ALL/scripts/cp/maps/cp_zmb/cp_zmb_dj.gsc
Normal file
2278
IW/PC/ALL/scripts/cp/maps/cp_zmb/cp_zmb_dj.gsc
Normal file
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,490 @@
|
||||
/*******************************************************************
|
||||
* Decompiled By: Bog
|
||||
* Decompiled File: scripts\cp\maps\cp_zmb\cp_zmb_environment_scriptable.gsc
|
||||
* Game: Call of Duty: Infinite Warfare
|
||||
* Platform: PC
|
||||
* Function Count: 33
|
||||
* Decompile Time: 1739 ms
|
||||
* Timestamp: 10/27/2023 12:08:12 AM
|
||||
*******************************************************************/
|
||||
|
||||
//Function Number: 1
|
||||
func_7443(param_00)
|
||||
{
|
||||
playsoundatpos((632,2357,334),"entrance_sign_power_on_build");
|
||||
wait(3);
|
||||
func_12982();
|
||||
wait(2);
|
||||
func_13F05();
|
||||
wait(3);
|
||||
playsoundatpos((579,2387,374),"pa_speaker_power_on");
|
||||
playsoundatpos((634,664,255),"pa_speaker_power_on");
|
||||
wait(1);
|
||||
enablepaspeaker("starting_area");
|
||||
enablepaspeaker("cosmic_way");
|
||||
scripts\cp\_vo::func_1769("dj_powerswitch_restore_nag","zmb_dj_vo",60,15,2,1);
|
||||
scripts\cp\_vo::func_1769("dj_quest_ufo_partsrecovery_start","zmb_dj_vo",180,50,1,1);
|
||||
level thread scripts\cp\maps\cp_zmb\cp_zmb_dj::func_573B();
|
||||
level notify("jukebox_start");
|
||||
level thread func_B218(param_00);
|
||||
level thread func_101F3();
|
||||
func_F4A1();
|
||||
}
|
||||
|
||||
//Function Number: 2
|
||||
func_F4A1()
|
||||
{
|
||||
var_00 = getentarray("coaster_ice_monster","targetname");
|
||||
var_01 = getentarray("octonian","targetname");
|
||||
var_02 = scripts\common\utility::array_combine(var_00,var_01);
|
||||
foreach(var_04 in var_02)
|
||||
{
|
||||
var_04 method_8318(1);
|
||||
scripts\common\utility::func_136F7();
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 3
|
||||
func_12982()
|
||||
{
|
||||
var_00 = getentarray("global_light","targetname");
|
||||
foreach(var_02 in var_00)
|
||||
{
|
||||
var_02 setscriptablepartstate("root","on");
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 4
|
||||
func_13F05()
|
||||
{
|
||||
func_12989();
|
||||
}
|
||||
|
||||
//Function Number: 5
|
||||
func_12989()
|
||||
{
|
||||
var_00 = getentarray("main_gate","targetname");
|
||||
foreach(var_02 in var_00)
|
||||
{
|
||||
var_02 setscriptablepartstate("main_gate","gate_on");
|
||||
}
|
||||
|
||||
for(var_04 = 1;var_04 <= 5;var_04++)
|
||||
{
|
||||
var_05 = getent("gate_light_0" + var_04,"targetname");
|
||||
var_05 setscriptablepartstate("main_gate_light","turning_on");
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 6
|
||||
func_8E5F()
|
||||
{
|
||||
}
|
||||
|
||||
//Function Number: 7
|
||||
func_BB03()
|
||||
{
|
||||
}
|
||||
|
||||
//Function Number: 8
|
||||
func_BB29()
|
||||
{
|
||||
func_12990("sign_cosmiccinema");
|
||||
func_12990("sign_roverrampage");
|
||||
func_12990("sign_starmission");
|
||||
func_12990("sign_escapevelocity");
|
||||
func_12990("sign_lunarterrace");
|
||||
func_1298E("rocket_diorama");
|
||||
}
|
||||
|
||||
//Function Number: 9
|
||||
func_BB3D()
|
||||
{
|
||||
}
|
||||
|
||||
//Function Number: 10
|
||||
func_BB3E()
|
||||
{
|
||||
playsoundatpos((3548,938,275),"journey_power_on_build");
|
||||
wait(5.5);
|
||||
playsoundatpos((3850,438,328),"pa_speaker_power_on");
|
||||
wait(2);
|
||||
enablepaspeaker("journey");
|
||||
}
|
||||
|
||||
//Function Number: 11
|
||||
func_BB06()
|
||||
{
|
||||
}
|
||||
|
||||
//Function Number: 12
|
||||
func_210B()
|
||||
{
|
||||
func_12990("astrocade_signs");
|
||||
getent("bfp_cabinet","targetname") setmodel("zmb_game_bowling_for_planets_on");
|
||||
wait(1);
|
||||
getent("demon_group","targetname") setscriptablepartstate("group","all_on");
|
||||
level thread func_D747("arcade_demon");
|
||||
wait(1);
|
||||
getent("barnstorming_group","targetname") setscriptablepartstate("group","all_on");
|
||||
level thread func_D747("arcade_barnstorming");
|
||||
wait(1);
|
||||
getent("starmaster_group","targetname") setscriptablepartstate("group","all_on");
|
||||
level thread func_D747("arcade_starmaster");
|
||||
wait(1);
|
||||
getent("group_cosmicarc","targetname") setscriptablepartstate("group","all_on");
|
||||
level thread func_D747("arcade_cosmic");
|
||||
wait(1);
|
||||
getent("group_pitfall","targetname") setscriptablepartstate("group","all_on");
|
||||
level thread func_D747("arcade_pitfall");
|
||||
wait(1);
|
||||
getent("group_riverraid","targetname") setscriptablepartstate("group","all_on");
|
||||
level thread func_D747("arcade_riverraid");
|
||||
wait(1);
|
||||
getent("spider_arcade_group","targetname") setscriptablepartstate("group","all_on");
|
||||
level thread func_D747("arcade_spider");
|
||||
wait(1);
|
||||
getent("robottank_group","targetname") setscriptablepartstate("group","all_on");
|
||||
level thread func_D747("arcade_robottank");
|
||||
}
|
||||
|
||||
//Function Number: 13
|
||||
func_D747(param_00)
|
||||
{
|
||||
var_01 = scripts\common\utility::getstructarray(param_00,"script_noteworthy");
|
||||
foreach(var_03 in var_01)
|
||||
{
|
||||
scripts\common\utility::func_136F7();
|
||||
var_03.var_D776 = 1;
|
||||
if(isdefined(var_03.var_EDE8))
|
||||
{
|
||||
var_04 = getent(var_03.name,"targetname");
|
||||
var_05 = var_03.var_EDE8;
|
||||
var_04 setscriptablepartstate("cab" + var_05,"idle");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 14
|
||||
func_210C()
|
||||
{
|
||||
playsoundatpos((2873,-1083,357),"astrocade_power_on_build");
|
||||
wait(5.5);
|
||||
playsoundatpos((2794,-1428,318),"pa_speaker_power_on");
|
||||
wait(2);
|
||||
enablepaspeaker("astrocade");
|
||||
}
|
||||
|
||||
//Function Number: 15
|
||||
func_67C3()
|
||||
{
|
||||
func_101F4();
|
||||
}
|
||||
|
||||
//Function Number: 16
|
||||
func_E6D9()
|
||||
{
|
||||
}
|
||||
|
||||
//Function Number: 17
|
||||
func_67A8()
|
||||
{
|
||||
}
|
||||
|
||||
//Function Number: 18
|
||||
func_E67F()
|
||||
{
|
||||
playsoundatpos((-830,-3394,604),"triton_power_on_build");
|
||||
wait(5.5);
|
||||
playsoundatpos((-1103,-3168,601),"pa_speaker_power_on");
|
||||
wait(2);
|
||||
enablepaspeaker("triton");
|
||||
}
|
||||
|
||||
//Function Number: 19
|
||||
func_11303()
|
||||
{
|
||||
}
|
||||
|
||||
//Function Number: 20
|
||||
func_B385()
|
||||
{
|
||||
func_101F2();
|
||||
}
|
||||
|
||||
//Function Number: 21
|
||||
func_B384()
|
||||
{
|
||||
playsoundatpos((-2168,206,668),"kepler_power_on_build");
|
||||
wait(5.5);
|
||||
playsoundatpos((-2034,-340,534),"pa_speaker_power_on");
|
||||
playsoundatpos((-950,1510,428),"pa_speaker_power_on");
|
||||
wait(2);
|
||||
enablepaspeaker("kepler");
|
||||
}
|
||||
|
||||
//Function Number: 22
|
||||
init()
|
||||
{
|
||||
level thread func_D749();
|
||||
}
|
||||
|
||||
//Function Number: 23
|
||||
func_9B5F()
|
||||
{
|
||||
foreach(var_01 in level.var_773B)
|
||||
{
|
||||
if(!scripts\common\utility::istrue(var_01.var_D776))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
//Function Number: 24
|
||||
func_1BF3(param_00)
|
||||
{
|
||||
if(isdefined(param_00))
|
||||
{
|
||||
if(param_00.var_134FD == "p1_")
|
||||
{
|
||||
level thread scripts\cp\_vo::try_to_play_vo("poweron_final_valleygirl_1","zmb_dialogue_vo","highest",666,0,0,0,100);
|
||||
return;
|
||||
}
|
||||
|
||||
if(param_00.var_134FD == "p2_")
|
||||
{
|
||||
level thread scripts\cp\_vo::try_to_play_vo("poweron_final_nerd_1","zmb_dialogue_vo","highest",666,0,0,0,100);
|
||||
return;
|
||||
}
|
||||
|
||||
if(param_00.var_134FD == "p3_")
|
||||
{
|
||||
level thread scripts\cp\_vo::try_to_play_vo("poweron_final_rapper_1","zmb_dialogue_vo","highest",666,0,0,0,100);
|
||||
return;
|
||||
}
|
||||
|
||||
if(param_00.var_134FD == "p4_")
|
||||
{
|
||||
level thread scripts\cp\_vo::try_to_play_vo("poweron_final_jock_1","zmb_dialogue_vo","highest",666,0,0,0,100);
|
||||
return;
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 25
|
||||
func_D749()
|
||||
{
|
||||
level endon("game_ended");
|
||||
var_00 = getent("main_portal_sun","targetname");
|
||||
var_00 setmodel("zmb_center_portal_sun_off");
|
||||
for(;;)
|
||||
{
|
||||
level waittill("power_on_scriptable_and_light",var_01,var_02);
|
||||
var_03 = func_9B5F();
|
||||
if(var_03)
|
||||
{
|
||||
level thread func_1BF3(var_02);
|
||||
}
|
||||
|
||||
var_04 = strtok(var_01,",");
|
||||
foreach(var_06 in var_04)
|
||||
{
|
||||
switch(var_06)
|
||||
{
|
||||
case "front_gate":
|
||||
level thread func_7443(var_02);
|
||||
break;
|
||||
|
||||
case "hidden_room":
|
||||
level thread func_8E5F();
|
||||
break;
|
||||
|
||||
case "moon":
|
||||
level thread func_BB03();
|
||||
break;
|
||||
|
||||
case "moon_outside_begin":
|
||||
level thread func_BB29();
|
||||
break;
|
||||
|
||||
case "moon_rocket_space":
|
||||
level thread func_BB3D();
|
||||
break;
|
||||
|
||||
case "moon_second":
|
||||
level thread func_BB3E();
|
||||
break;
|
||||
|
||||
case "moon_bridge":
|
||||
level thread func_BB06();
|
||||
break;
|
||||
|
||||
case "arcade":
|
||||
level thread func_210B();
|
||||
break;
|
||||
|
||||
case "arcade_back":
|
||||
level thread func_210C();
|
||||
break;
|
||||
|
||||
case "europa_tunnel":
|
||||
level thread func_67C3();
|
||||
break;
|
||||
|
||||
case "room_europa":
|
||||
level thread func_E6D9();
|
||||
break;
|
||||
|
||||
case "europa_2":
|
||||
level thread func_67A8();
|
||||
break;
|
||||
|
||||
case "roller_coast_back":
|
||||
level thread func_E67F();
|
||||
break;
|
||||
|
||||
case "swamp_stage":
|
||||
level thread func_11303();
|
||||
break;
|
||||
|
||||
case "mars_3":
|
||||
level thread func_B385();
|
||||
break;
|
||||
|
||||
case "mars":
|
||||
level thread func_B384();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 26
|
||||
func_B218(param_00)
|
||||
{
|
||||
if(param_00.var_134FD == "p1_")
|
||||
{
|
||||
level thread scripts\cp\_vo::try_to_play_vo("poweron_first_valleygirl_1","zmb_dialogue_vo","highest",666,0,0,0,100);
|
||||
}
|
||||
else if(param_00.var_134FD == "p2_")
|
||||
{
|
||||
level thread scripts\cp\_vo::try_to_play_vo("poweron_first_nerd_1","zmb_dialogue_vo","highest",666,0,0,0,100);
|
||||
}
|
||||
else if(param_00.var_134FD == "p3_")
|
||||
{
|
||||
level thread scripts\cp\_vo::try_to_play_vo("poweron_first_rapper_1","zmb_dialogue_vo","highest",666,0,0,0,100);
|
||||
}
|
||||
else if(param_00.var_134FD == "p4_")
|
||||
{
|
||||
level thread scripts\cp\_vo::try_to_play_vo("poweron_first_jock_1","zmb_dialogue_vo","highest",666,0,0,0,100);
|
||||
}
|
||||
|
||||
level.var_D745 = 1;
|
||||
level scripts\cp\_vo::func_1769("dj_fateandfort_replenish_nag","zmb_dj_vo",180,30,20,1);
|
||||
level scripts\cp\_vo::func_1769("dj_ticketbooths_use_nag","zmb_dj_vo",180,60,20,1);
|
||||
level scripts\cp\_vo::func_1769("dj_pap_cosmicway_nag","zmb_dj_vo",180,25,20,1);
|
||||
level scripts\cp\_vo::func_1769("dj_polarpeaks_use_nag","zmb_dj_vo",180,90,20,1);
|
||||
}
|
||||
|
||||
//Function Number: 27
|
||||
func_12986(param_00)
|
||||
{
|
||||
var_01 = getentarray(param_00,"targetname");
|
||||
foreach(var_03 in var_01)
|
||||
{
|
||||
if(isdefined(var_03.var_EDED))
|
||||
{
|
||||
var_04 = var_03.var_EDED;
|
||||
var_03 setlightintensity(var_04);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 28
|
||||
func_101F3()
|
||||
{
|
||||
var_00 = getent("main_portal_sun","targetname");
|
||||
var_00.angles = (0,0,0);
|
||||
var_01 = getent("triton_skull_light","targetname");
|
||||
var_02 = getent("triton_sign_light","targetname");
|
||||
level thread func_E6F9();
|
||||
wait(3);
|
||||
var_01 setscriptablepartstate("light","on");
|
||||
var_02 setscriptablepartstate("light","on");
|
||||
func_1298E("main_street_ball_lights");
|
||||
func_1298E("space_depot_main_sign");
|
||||
func_1298E("spacedepot_neon_upper");
|
||||
func_1298E("spacedepot_neon_lower");
|
||||
func_1298E("pitstop_main_sign");
|
||||
func_1298E("pitstop_neon_upper");
|
||||
func_1298E("pitstop_neon_lower");
|
||||
func_1298E("saturn_sundaes_main_sign");
|
||||
func_1298E("saturn_sundaes_neon_upper");
|
||||
func_1298E("crater_cakes_main_sign");
|
||||
func_1298E("crater_cakes_neon_upper");
|
||||
level thread scripts\cp\maps\cp_zmb\cp_zmb_coaster::func_1297B();
|
||||
var_03 = getent("main_street_monster","targetname");
|
||||
var_03 setscriptablepartstate("main","idle2");
|
||||
}
|
||||
|
||||
//Function Number: 29
|
||||
func_E6F9()
|
||||
{
|
||||
var_00 = getent("main_portal_sun","targetname");
|
||||
var_00 setmodel("zmb_center_portal_sun");
|
||||
for(;;)
|
||||
{
|
||||
var_00 rotateyaw(360,10);
|
||||
wait(9.95);
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 30
|
||||
func_12990(param_00)
|
||||
{
|
||||
var_01 = getentarray(param_00,"targetname");
|
||||
foreach(var_03 in var_01)
|
||||
{
|
||||
wait(randomfloatrange(0.15,0.25));
|
||||
var_03 setscriptablepartstate("sign","powered_on");
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 31
|
||||
func_1298E(param_00)
|
||||
{
|
||||
var_01 = getentarray(param_00,"targetname");
|
||||
foreach(var_03 in var_01)
|
||||
{
|
||||
wait(randomfloatrange(0.25,0.5));
|
||||
var_03 setscriptablepartstate("neon_tube","on");
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 32
|
||||
func_101F4()
|
||||
{
|
||||
func_1298E("triton_ceiling_neon");
|
||||
}
|
||||
|
||||
//Function Number: 33
|
||||
func_101F2()
|
||||
{
|
||||
func_12990("moonlight_cafe_signs");
|
||||
func_12990("sign_hyperslopes");
|
||||
func_12990("sign_conelord");
|
||||
func_12990("chromosphere_sign");
|
||||
func_12990("shooting_gallery_sign");
|
||||
func_12990("sign_spaceshipsplash");
|
||||
getent("chromosphere_mike","targetname") setscriptablepartstate("main","on");
|
||||
var_00 = getentarray("octonian","targetname");
|
||||
foreach(var_02 in var_00)
|
||||
{
|
||||
var_02 setscriptablepartstate("body","on");
|
||||
}
|
||||
}
|
237
IW/PC/ALL/scripts/cp/maps/cp_zmb/cp_zmb_escape.gsc
Normal file
237
IW/PC/ALL/scripts/cp/maps/cp_zmb/cp_zmb_escape.gsc
Normal file
@ -0,0 +1,237 @@
|
||||
/*******************************************************************
|
||||
* Decompiled By: Bog
|
||||
* Decompiled File: scripts\cp\maps\cp_zmb\cp_zmb_escape.gsc
|
||||
* Game: Call of Duty: Infinite Warfare
|
||||
* Platform: PC
|
||||
* Function Count: 11
|
||||
* Decompile Time: 703 ms
|
||||
* Timestamp: 10/27/2023 12:08:13 AM
|
||||
*******************************************************************/
|
||||
|
||||
//Function Number: 1
|
||||
cp_zmb_escape_init()
|
||||
{
|
||||
level.var_9A45 = 1;
|
||||
scripts\cp\_utility::coop_mode_enable(["loot"]);
|
||||
level.initial_active_volumes = ["underground_route"];
|
||||
level.var_6728 = "scripts/cp/maps/cp_zmb/cp_zmb_escape.csv";
|
||||
level.var_672A = 90;
|
||||
level.var_79A0 = ::func_79A0;
|
||||
level thread scripts\cp\zombies\zombies_spawning::func_6714();
|
||||
}
|
||||
|
||||
//Function Number: 2
|
||||
func_95CC()
|
||||
{
|
||||
level thread func_5137();
|
||||
level thread func_106D7();
|
||||
level thread func_51A4();
|
||||
level thread func_E09A();
|
||||
var_00 = getentarray("escape_exit_path","targetname");
|
||||
foreach(var_02 in var_00)
|
||||
{
|
||||
var_02 hide();
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 3
|
||||
func_79A0()
|
||||
{
|
||||
return scripts\common\utility::getstructarray("escape_exit","script_noteworthy");
|
||||
}
|
||||
|
||||
//Function Number: 4
|
||||
func_51A4()
|
||||
{
|
||||
var_00 = getentarray("first_gate_bollard","targetname");
|
||||
foreach(var_02 in var_00)
|
||||
{
|
||||
var_02 delete();
|
||||
}
|
||||
|
||||
var_04 = getentarray("first_gate_bollard_clip","targetname");
|
||||
foreach(var_06 in var_04)
|
||||
{
|
||||
var_06 delete();
|
||||
}
|
||||
|
||||
var_08 = getentarray("bollard_trigger","targetname");
|
||||
foreach(var_0A in var_08)
|
||||
{
|
||||
var_0A delete();
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 5
|
||||
func_5137()
|
||||
{
|
||||
var_00 = scripts\common\utility::getstructarray("interaction","targetname");
|
||||
foreach(var_02 in var_00)
|
||||
{
|
||||
if(!isdefined(var_02.target))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
var_03 = scripts\common\utility::getstructarray(var_02.script_noteworthy,"script_noteworthy");
|
||||
foreach(var_05 in var_03)
|
||||
{
|
||||
if(!isdefined(var_05.target))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if(var_05.target == var_02.target && var_05 != var_02)
|
||||
{
|
||||
if(scripts\common\utility::func_2286(var_00,var_05))
|
||||
{
|
||||
var_00 = scripts\common\utility::func_22A9(var_00,var_05);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(scripts\cp\_interaction::func_9A18(var_02))
|
||||
{
|
||||
if(!isdefined(var_02.script_noteworthy))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
var_07 = strtok(var_02.script_noteworthy,"_");
|
||||
switch(var_07[0])
|
||||
{
|
||||
case "debris":
|
||||
func_5147(var_02);
|
||||
break;
|
||||
|
||||
case "team":
|
||||
func_5197(var_02);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
wait(0.05);
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 6
|
||||
func_5147(param_00)
|
||||
{
|
||||
scripts\cp\_interaction::func_554F(param_00);
|
||||
var_01 = getentarray(param_00.target,"targetname");
|
||||
foreach(var_03 in var_01)
|
||||
{
|
||||
if(var_03.classname == "script_brushmodel")
|
||||
{
|
||||
var_03 connectpaths();
|
||||
}
|
||||
|
||||
var_03 delete();
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 7
|
||||
func_5197(param_00)
|
||||
{
|
||||
scripts\cp\_interaction::func_554F(param_00);
|
||||
var_01 = scripts\cp\_interaction::func_7A90(param_00);
|
||||
var_02 = getentarray(var_01[0].target,"targetname");
|
||||
foreach(var_04 in var_02)
|
||||
{
|
||||
if(var_04.var_2AF == 1)
|
||||
{
|
||||
var_04 connectpaths();
|
||||
}
|
||||
|
||||
var_04 delete();
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 8
|
||||
func_106D7()
|
||||
{
|
||||
var_00 = getent("escape_1_blocker_brush","targetname");
|
||||
var_00 movez(-1024,0.1);
|
||||
var_00 waittill("movedone");
|
||||
var_00 disconnectpaths();
|
||||
var_01 = scripts\common\utility::getstructarray("escape_1_blocker","targetname");
|
||||
level.var_66C9 = [];
|
||||
foreach(var_05, var_03 in var_01)
|
||||
{
|
||||
var_04 = spawn("script_model",var_03.origin);
|
||||
if(isdefined(var_03.angles))
|
||||
{
|
||||
var_04.angles = var_03.angles;
|
||||
}
|
||||
|
||||
var_04 setmodel(var_03.script_noteworthy);
|
||||
level.var_66C9[level.var_66C9.size] = var_04;
|
||||
if(var_05 % 3 == 0)
|
||||
{
|
||||
wait(0.05);
|
||||
}
|
||||
}
|
||||
|
||||
var_06 = getentarray("escape_door","targetname");
|
||||
foreach(var_08 in var_06)
|
||||
{
|
||||
level thread func_F942(var_08);
|
||||
}
|
||||
|
||||
level thread func_66C7();
|
||||
}
|
||||
|
||||
//Function Number: 9
|
||||
func_66C7()
|
||||
{
|
||||
wait(5);
|
||||
level.var_B756 = 2;
|
||||
level.var_B46F = 5;
|
||||
level.var_5FCC = 1;
|
||||
level.var_2174 = 2;
|
||||
level.var_2175 = 0.25;
|
||||
for(;;)
|
||||
{
|
||||
level.players[0] scripts\cp\powers\coop_armageddon::func_2179();
|
||||
wait(randomintrange(3,10));
|
||||
level.var_5FCC = randomfloatrange(0.05,1);
|
||||
level.var_2174 = 2;
|
||||
level.var_2175 = randomfloatrange(0.15,0.25);
|
||||
}
|
||||
}
|
||||
|
||||
//Function Number: 10
|
||||
func_E09A()
|
||||
{
|
||||
setomnvarbit("zombie_doors_progress",4,1);
|
||||
scripts\common\utility::func_136F7();
|
||||
setomnvarbit("zombie_doors_progress",14,1);
|
||||
scripts\common\utility::func_136F7();
|
||||
setomnvarbit("zombie_doors_progress",9,1);
|
||||
}
|
||||
|
||||
//Function Number: 11
|
||||
func_F942(param_00)
|
||||
{
|
||||
param_00 movez(-1024,0.05);
|
||||
param_00 waittill("movedone");
|
||||
param_00 disconnectpaths();
|
||||
param_00.var_C898 = [];
|
||||
var_01 = scripts\common\utility::getstructarray(param_00.target,"targetname");
|
||||
foreach(var_03 in var_01)
|
||||
{
|
||||
if(var_03.script_noteworthy == "waypoint_spot")
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
var_04 = spawn("script_model",var_03.origin);
|
||||
if(isdefined(var_03.angles))
|
||||
{
|
||||
var_04.angles = var_03.angles;
|
||||
}
|
||||
|
||||
var_04 setmodel(var_03.script_noteworthy);
|
||||
param_00.var_C898[param_00.var_C898.size] = var_04;
|
||||
}
|
||||
}
|
187
IW/PC/ALL/scripts/cp/maps/cp_zmb/cp_zmb_fx.gsc
Normal file
187
IW/PC/ALL/scripts/cp/maps/cp_zmb/cp_zmb_fx.gsc
Normal file
@ -0,0 +1,187 @@
|
||||
/*******************************************************************
|
||||
* Decompiled By: Bog
|
||||
* Decompiled File: scripts\cp\maps\cp_zmb\cp_zmb_fx.gsc
|
||||
* Game: Call of Duty: Infinite Warfare
|
||||
* Platform: PC
|
||||
* Function Count: 1
|
||||
* Decompile Time: 50 ms
|
||||
* Timestamp: 10/27/2023 12:31:16 AM
|
||||
*******************************************************************/
|
||||
|
||||
//Function Number: 1
|
||||
main()
|
||||
{
|
||||
level._effect["vfx_blood_throw"] = loadfx("vfx/iw7/levels/cp_zmb/willard/vfx_blood_throw.vfx");
|
||||
level._effect["vfx_blood_cut"] = loadfx("vfx/iw7/levels/cp_zmb/willard/vfx_blood_cut.vfx");
|
||||
level._effect["vfx_zmb_gns_ghost_float_arms"] = loadfx("vfx/iw7/core/zombie/ghosts_n_skulls/vfx_zmb_ghost_arms.vfx");
|
||||
level._effect["vfx_zmb_gns_ghost_float_legs"] = loadfx("vfx/iw7/core/zombie/ghosts_n_skulls/vfx_zmb_ghost_legs.vfx");
|
||||
level._effect["vfx_zb_pack_grd_d"] = loadfx("vfx/iw7/core/zombie/pack_a_punch/vfx_zb_pack_grd_d.vfx");
|
||||
level._effect["vfx_zb_pack_grd_e"] = loadfx("vfx/iw7/core/zombie/pack_a_punch/vfx_zb_pack_grd_e.vfx");
|
||||
level._effect["vfx_zb_pack_grd_c"] = loadfx("vfx/iw7/core/zombie/pack_a_punch/vfx_zb_pack_grd_c.vfx");
|
||||
level._effect["vfx_zb_pack_grd_b"] = loadfx("vfx/iw7/core/zombie/pack_a_punch/vfx_zb_pack_grd_b.vfx");
|
||||
level._effect["vfx_zb_pack_grd_a"] = loadfx("vfx/iw7/core/zombie/pack_a_punch/vfx_zb_pack_grd_a.vfx");
|
||||
level._effect["vfx_zb_sj_smk"] = loadfx("vfx/iw7/core/zombie/pack_a_punch/vfx_zb_sj_smk.vfx");
|
||||
level._effect["vfx_zb_pack_glow_ground_b"] = loadfx("vfx/iw7/core/zombie/pack_a_punch/vfx_zb_pack_glow_ground_b.vfx");
|
||||
level._effect["vfx_zb_pack_glow"] = loadfx("vfx/iw7/core/zombie/pack_a_punch/vfx_zb_pack_glow.vfx");
|
||||
level._effect["vfx_zmb_candle_flame"] = loadfx("vfx/iw7/core/zombie/pack_a_punch/vfx_zmb_candle_flame.vfx");
|
||||
level._effect["vfx_ufo_snow"] = loadfx("vfx/iw7/core/zombie/ufo/vfx_ufo_snow.vfx");
|
||||
level._effect["vfx_ufo_p_beam"] = loadfx("vfx/iw7/core/zombie/ufo/vfx_ufo_p_beam.vfx");
|
||||
level._effect["vfx_ufo_elec_beam_impact"] = loadfx("vfx/iw7/_requests/coop/vfx_ufo_elec_beam_impact.vfx");
|
||||
level._effect["vfx_zmb_kr_head_panner_red"] = loadfx("vfx/iw7/_requests/coop/vfx_zmb_kr_head_panner_red.vfx");
|
||||
level._effect["vfx_gator_chomp_blood_shot"] = loadfx("vfx/iw7/_requests/coop/vfx_gator_chomp_blood_shot.vfx");
|
||||
level._effect["vfx_zmb_sd_lensf"] = loadfx("vfx/iw7/core/zombie/traps/steel_dragon/vfx_zmb_sd_lensf.vfx");
|
||||
level._effect["vfx_zmb_sd_g_wall"] = loadfx("vfx/iw7/core/zombie/traps/steel_dragon/vfx_zmb_sd_g_wall.vfx");
|
||||
level._effect["vfx_zmb_flume_whtwtr"] = loadfx("vfx/iw7/core/zombie/environment/vfx_zmb_flume_whtwtr.vfx");
|
||||
level._effect["vfx_zmb_flumefall"] = loadfx("vfx/iw7/core/zombie/environment/vfx_zmb_flumefall.vfx");
|
||||
level._effect["vfx_zmb_arcade_dance_floor_tiles"] = loadfx("vfx/iw7/_requests/coop/vfx_zmb_arcade_dance_floor_tiles.vfx");
|
||||
level._effect["vfx_zmb_drips_parent"] = loadfx("vfx/iw7/core/zombie/environment/vfx_zmb_drips_parent.vfx");
|
||||
level._effect["vfx_zmb_fntn_keplerbase"] = loadfx("vfx/iw7/core/zombie/environment/vfx_zmb_fntn_keplerbase.vfx");
|
||||
level._effect["vfx_zmb_fntn_sml_kepler"] = loadfx("vfx/iw7/core/zombie/environment/vfx_zmb_fntn_sml_kepler.vfx");
|
||||
level._effect["vfx_zmb_fntn_ufo"] = loadfx("vfx/iw7/core/zombie/environment/vfx_zmb_fntn_ufo.vfx");
|
||||
level._effect["vfx_zmb_fntn_sml_spray"] = loadfx("vfx/iw7/core/zombie/environment/vfx_zmb_fntn_sml_spray.vfx");
|
||||
level._effect["vfx_zmb_grd_fog_tunnel"] = loadfx("vfx/iw7/_requests/coop/vfx_zmb_grd_fog_tunnel.vfx");
|
||||
level._effect["vfx_gator_door_dust"] = loadfx("vfx/iw7/levels/sa_common/vfx_sa_falling_dust_rumble_ch.vfx");
|
||||
level._effect["vfx_gator_mouth_drop_sparks"] = loadfx("vfx/iw7/_requests/coop/vfx_gator_mouth_drop_sparks.vfx");
|
||||
level._effect["vfx_gator_mouth_dust_kickup"] = loadfx("vfx/iw7/_requests/coop/vfx_gator_mouth_dust_kickup.vfx");
|
||||
level._effect["vfx_zmb_life_link_beam"] = loadfx("vfx/iw7/core/zombie/vfx_zmb_life_link_beam.vfx");
|
||||
level._effect["vfx_zmb_spawn_ceiling"] = loadfx("vfx/iw7/core/zombie/spawn/vfx_zmb_spawn_ceiling.vfx");
|
||||
level._effect["vfx_zmb_spawn_ground"] = loadfx("vfx/iw7/core/zombie/spawn/vfx_zmb_spawn_ground.vfx");
|
||||
level._effect["vfx_zmb_waterfall"] = loadfx("vfx/iw7/core/zombie/environment/vfx_zmb_waterfall.vfx");
|
||||
level._effect["vfx_zmb_river_fog"] = loadfx("vfx/iw7/_requests/coop/vfx_zmb_river_fog.vfx");
|
||||
level._effect["vfx_zb_moth_c"] = loadfx("vfx/iw7/core/zombie/environment/vfx_zb_moth_c.vfx");
|
||||
level._effect["vfx_zb_moth_b"] = loadfx("vfx/iw7/core/zombie/environment/vfx_zb_moth_b.vfx");
|
||||
level._effect["vfx_zb_moth_a"] = loadfx("vfx/iw7/core/zombie/environment/vfx_zb_moth_a.vfx");
|
||||
level._effect["vfx_zb_mist_far"] = loadfx("vfx/iw7/core/zombie/environment/vfx_zb_mist_far.vfx");
|
||||
level._effect["vfx_zmb_grd_fog_bri"] = loadfx("vfx/iw7/_requests/coop/vfx_zmb_grd_fog_bri.vfx");
|
||||
level._effect["vfx_zmb_grd_fog_bri"] = loadfx("vfx/iw7/_requests/coop/vfx_zmb_grd_fog_bri.vfx");
|
||||
level._effect["vfx_zmb_grd_fog_dar"] = loadfx("vfx/iw7/_requests/coop/vfx_zmb_grd_fog_dar.vfx");
|
||||
level._effect["vfx_zb_thu_sparks"] = loadfx("vfx/iw7/_requests/coop/vfx_zb_thu_sparks.vfx");
|
||||
level._effect["vfx_zb_thu_big_side"] = loadfx("vfx/iw7/_requests/coop/vfx_zb_thu_big_side.vfx");
|
||||
level._effect["vfx_zb_thu_big"] = loadfx("vfx/iw7/_requests/coop/vfx_zb_thu_big.vfx");
|
||||
level._effect["vfx_zb_thu_smk_ground_fast"] = loadfx("vfx/iw7/_requests/coop/vfx_zb_thu_smk_ground_fast.vfx");
|
||||
level._effect["vfx_zb_linger_smk_af"] = loadfx("vfx/iw7/_requests/coop/vfx_zb_linger_smk_af.vfx");
|
||||
level._effect["vfx_zb_linger_smk_af"] = loadfx("vfx/iw7/_requests/coop/vfx_zb_linger_smk_af.vfx");
|
||||
level._effect["vfx_zb_thu_smk_ground"] = loadfx("vfx/iw7/_requests/coop/vfx_zb_thu_smk_ground.vfx");
|
||||
level._effect["vfx_zb_thu_ignite"] = loadfx("vfx/iw7/_requests/coop/vfx_zb_thu_ignite.vfx");
|
||||
level._effect["vfx_zb_linger_smk_bf"] = loadfx("vfx/iw7/_requests/coop/vfx_zb_linger_smk_bf.vfx");
|
||||
level._effect["vfx_nuke_explosion_01"] = loadfx("vfx/iw7/_requests/coop/vfx_nuke_explosion_01.vfx");
|
||||
level._effect["vfx_magicwheel_fire"] = loadfx("vfx/iw7/_requests/coop/vfx_magicwheel_fire.vfx");
|
||||
level._effect["vfx_magicwheel_beam"] = loadfx("vfx/iw7/_requests/coop/vfx_magicwheel_beam.vfx");
|
||||
level._effect["vfx_magicwheel_toy_pop"] = loadfx("vfx/iw7/core/zombie/magicwheel/vfx_magicwheel_toy_pop.vfx");
|
||||
level._effect["vfx_magicwheel_beam_firesale"] = loadfx("vfx/iw7/core/zombie/vfx_magicwheel_beam_upgrade.vfx");
|
||||
level._effect["vfx_zmb_window_smk"] = loadfx("vfx/iw7/core/zombie/environment/vfx_zmb_window_smk.vfx");
|
||||
level._effect["vfx_zb_fireflys_quick_b"] = loadfx("vfx/iw7/core/zombie/environment/vfx_zb_fireflys_quick_b.vfx");
|
||||
level._effect["vfx_zb_fireflys_quick"] = loadfx("vfx/iw7/core/zombie/environment/vfx_zb_fireflys_quick.vfx");
|
||||
level._effect["vfx_zmb_trash_dir_runner"] = loadfx("vfx/iw7/core/zombie/environment/vfx_zmb_trash_dir_runner.vfx");
|
||||
level._effect["vfx_cop_zmb_particle_dust"] = loadfx("vfx/iw7/core/zombie/environment/vfx_cop_zmb_particle_dust.vfx");
|
||||
level._effect["vfx_knee_high_fog_dark"] = loadfx("vfx/iw7/core/zombie/environment/vfx_knee_high_fog_dark.vfx");
|
||||
level._effect["vfx_knee_high_fog_bright"] = loadfx("vfx/iw7/core/zombie/environment/vfx_knee_high_fog_bright.vfx");
|
||||
level._effect["vfx_zmb_portal_centhub"] = loadfx("vfx/iw7/core/zombie/vfx_zmb_portal_centhub.vfx");
|
||||
level._effect["vfx_zmb_portal_exit_burst"] = loadfx("vfx/iw7/core/zombie/vfx_zmb_portal_exit_burst.vfx");
|
||||
level._effect["vfx_cp_z_portal_exit_burst"] = loadfx("vfx/iw7/core/zombie/vfx_cp_z_portal_exit_burst.vfx");
|
||||
level._effect["vfx_zmb_light_wedge_01"] = loadfx("vfx/iw7/core/zombie/vfx_zmb_light_wedge_01.vfx");
|
||||
level._effect["vfx_zmb_genbox_loop"] = loadfx("vfx/iw7/core/zombie/vfx_zmb_genbox_loop.vfx");
|
||||
level._effect["vfx_zmb_portal_base_01"] = loadfx("vfx/iw7/core/zombie/vfx_zmb_portal_base_01.vfx");
|
||||
level._effect["vfx_zmb_smk_amb_hang_med"] = loadfx("vfx/iw7/core/zombie/vfx_zmb_smk_amb_hang_med.vfx");
|
||||
level._effect["vfx_zmb_smk_ambient_hang_lrg"] = loadfx("vfx/iw7/core/zombie/vfx_zmb_smk_ambient_hang_lrg.vfx");
|
||||
level._effect["vfx_zmb_smk_ambient_hang_med"] = loadfx("vfx/iw7/core/zombie/vfx_zmb_smk_ambient_hang_med.vfx");
|
||||
level._effect["vfx_zmb_birds_01"] = loadfx("vfx/iw7/core/zombie/vfx_zmb_birds_01.vfx");
|
||||
level._effect["vfx_zmb_fireflys"] = loadfx("vfx/iw7/core/zombie/vfx_zmb_fireflys.vfx");
|
||||
level._effect["vfx_zmb_fire_trash_01"] = loadfx("vfx/iw7/core/zombie/vfx_zmb_fire_trash_01.vfx");
|
||||
level._effect["vfx_zmb_gatebuy_01"] = loadfx("vfx/iw7/core/zombie/vfx_zmb_gatebuy_01.vfx");
|
||||
level._effect["vfx_zmb_gatebuy_02"] = loadfx("vfx/iw7/core/zombie/vfx_zmb_gatebuy_02.vfx");
|
||||
level._effect["vfx_zmb_xtrash_drift_01_ch"] = loadfx("vfx/iw7/core/zombie/vfx_zmb_xtrash_drift_01_ch.vfx");
|
||||
level._effect["vfx_zmb_trash_swirl_fig_eight_01"] = loadfx("vfx/iw7/core/zombie/vfx_zmb_trash_swirl_fig_eight_01.vfx");
|
||||
level._effect["vfx_zmb_trash_swirl_circle_01"] = loadfx("vfx/iw7/core/zombie/vfx_zmb_trash_swirl_circle_01.vfx");
|
||||
level._effect["vfx_zmb_trash_flys"] = loadfx("vfx/iw7/core/zombie/vfx_zmb_trash_flys.vfx");
|
||||
level._effect["vfx_zmb_trash_flys"] = loadfx("vfx/iw7/core/zombie/vfx_zmb_trash_flys.vfx");
|
||||
level._effect["vfx_zmb_trash_drift_slow_01"] = loadfx("vfx/iw7/core/zombie/vfx_zmb_trash_drift_slow_01.vfx");
|
||||
level._effect["vfx_zmb_trash_drift_01"] = loadfx("vfx/iw7/core/zombie/vfx_zmb_trash_drift_01.vfx");
|
||||
level._effect["vfx_zmb_trash_swirl_fig_eight_01"] = loadfx("vfx/iw7/core/zombie/vfx_zmb_trash_swirl_fig_eight_01.vfx");
|
||||
level._effect["vfx_cp_z_portal_01"] = loadfx("vfx/iw7/levels/cp_zmb/vfx_cp_z_portal_01.vfx");
|
||||
level._effect["vfx_zom_light_cone_01"] = loadfx("vfx/iw7/core/zombie/vfx_zom_light_cone_01.vfx");
|
||||
level._effect["vfx_zmb_light_strobe_01"] = loadfx("vfx/iw7/core/zombie/vfx_zmb_light_strobe_01.vfx");
|
||||
level._effect["vfx_zmb_brute_warn_01"] = loadfx("vfx/iw7/core/zombie/vfx_zmb_brute_warn_01.vfx");
|
||||
level._effect["pillage_box"] = loadfx("vfx/iw7/_requests/coop/vfx_zmb_pillage_box.vfx");
|
||||
level._effect["coaster_smoke"] = loadfx("vfx/iw7/_requests/coop/zmb_coaster_smoke");
|
||||
level._effect["coaster_laser"] = loadfx("vfx/iw7/_requests/coop/zmb_coaster_laser");
|
||||
level._effect["coaster_laser_exp"] = loadfx("vfx/iw7/_requests/coop/zmb_coaster_laser_exp");
|
||||
level._effect["coaster_rocks"] = loadfx("vfx/iw7/_requests/coop/zmb_coaster_fallingice");
|
||||
level._effect["gator_tooth_break"] = loadfx("vfx/iw7/levels/jvan_test/vfx_falling_ice_shatter.vfx");
|
||||
level._effect["neil_light_on"] = loadfx("vfx/iw7/core/zombie/vfx_zmb_neil_light.vfx");
|
||||
level._effect["neil_light_on_red"] = loadfx("vfx/iw7/core/zombie/vfx_zmb_neil_light_red.vfx");
|
||||
level._effect["coaster_ice_frost"] = loadfx("vfx/iw7/core/zombie/vfx_zmb_mbreath.vfx");
|
||||
level._effect["coaster_full_screen"] = loadfx("vfx/iw7/_requests/mp/vfx_cryo_grenade_frost_scrn");
|
||||
level._effect["health_boost"] = loadfx("vfx/iw7/_requests/mp/vfx_adrenaline_drip_heal_scrn.vfx");
|
||||
level._effect["bumpercar_impact"] = loadfx("vfx/iw7/core/zombie/vfx_zmb_spark_bumpercar.vfx");
|
||||
level._effect["neil_repair_sparks"] = loadfx("vfx/iw7/core/zombie/vfx_zmb_spark_robot.vfx");
|
||||
level._effect["green_ark_effects"] = loadfx("vfx/iw7/core/zombie/vfx_zombie_ark_poison.vfx");
|
||||
level._effect["red_ark_effects"] = loadfx("vfx/iw7/core/zombie/vfx_zombie_ark_fire.vfx");
|
||||
level._effect["pink_ark_effects"] = loadfx("vfx/iw7/core/zombie/vfx_zombie_ark_ap.vfx");
|
||||
level._effect["yellow_ark_effects"] = loadfx("vfx/iw7/core/zombie/vfx_zombie_ark_explosive.vfx");
|
||||
level._effect["blue_ark_effects"] = loadfx("vfx/iw7/core/zombie/vfx_zombie_ark_shock.vfx");
|
||||
level._effect["blue_ark_beam"] = loadfx("vfx/iw7/core/zombie/vfx_zmb_shock_beam_blue.vfx");
|
||||
level._effect["geyser_splash_lg"] = loadfx("vfx/iw7/core/zombie/geyser/vfx_zmb_geyser_small.vfx");
|
||||
level._effect["geyser_blast"] = loadfx("vfx/iw7/core/zombie/geyser/vfx_zmb_geyser_burst.vfx");
|
||||
level._effect["geyser_blast_side"] = loadfx("vfx/iw7/core/zombie/geyser/vfx_zmb_geyser_side.vfx");
|
||||
level._effect["geyser_fullscreen_fx"] = loadfx("vfx/core/screen/vfx_scrnfx_zm_waterdrops.vfx");
|
||||
level._effect["police_lights"] = loadfx("vfx/iw7/core/zombie/vfx_zmb_police_lights.vfx");
|
||||
level._effect["vfx_zmb_water_drip"] = loadfx("vfx/iw7/core/zombie/vfx_zmb_water_drip.vfx");
|
||||
level._effect["vfx_zmb_dust_motes_md"] = loadfx("vfx/iw7/core/zombie/vfx_zmb_dust_motes_md.vfx");
|
||||
level._effect["rocket_feet"] = loadfx("vfx/iw7/core/zombie/vfx_zmb_facemelter_rocket_feet.vfx");
|
||||
level._effect["part_glow_red"] = loadfx("vfx/iw7/core/zombie/weapon/shredder/zmb_part_glow_red.vfx");
|
||||
level._effect["part_glow_green"] = loadfx("vfx/iw7/core/zombie/weapon/dischord/zmb_part_glow_green.vfx");
|
||||
level._effect["part_glow_yellow"] = loadfx("vfx/iw7/core/zombie/weapon/zmb_part_glow_yellow.vfx");
|
||||
level._effect["part_glow_blue"] = loadfx("vfx/iw7/core/zombie/weapon/zmb_part_glow_blue.vfx");
|
||||
level._effect["part_glow_red_complete"] = loadfx("vfx/iw7/core/zombie/weapon/zmb_part_glow_red_comp.vfx");
|
||||
level._effect["part_glow_green_complete"] = loadfx("vfx/iw7/core/zombie/weapon/dischord/zmb_p_glw_gc.vfx");
|
||||
level._effect["part_glow_blue_complete"] = loadfx("vfx/iw7/core/zombie/weapon/zmb_part_glow_blue_comp.vfx");
|
||||
level._effect["part_glow_yellow_complete"] = loadfx("vfx/iw7/core/zombie/weapon/zmb_part_glow_yellow_comp.vfx");
|
||||
level._effect["headcutter_ring"] = loadfx("vfx/iw7/core/ui/vfx_ui_ring_radius_marker.vfx");
|
||||
level._effect["fire_pool_wide"] = loadfx("vfx/iw7/core/zombie/weapon/facemelter/vfx_zb_fct_gfire.vfx");
|
||||
level._effect["neil_fire_pool"] = loadfx("vfx/iw7/core/zombie/robot/vfx_ground_fire_linger.vfx");
|
||||
level._effect["booth_respawn"] = loadfx("vfx/iw7/core/zombie/vfx_zmb_ticket_booth_zap_respawn.vfx");
|
||||
level._effect["shock_melee_impact"] = loadfx("vfx/iw7/core/zombie/vfx_zmb_elec_knife_impact.vfx");
|
||||
level._effect["melee_impact"] = loadfx("vfx/iw7/core/zombie/vfx_zmb_gore_melee_imp.vfx");
|
||||
level._effect["ufo_light_white"] = loadfx("vfx/iw7/core/zombie/vfx_zmb_ufo_light_white.vfx");
|
||||
level._effect["pink_ark_spawn"] = loadfx("vfx/iw7/core/zombie/vfx_zmb_ark_pink_create.vfx");
|
||||
level._effect["pink_essense"] = loadfx("vfx/iw7/core/zombie/weapon/ark/vfx_zmb_ark_pink_b.vfx");
|
||||
level._effect["life_link"] = loadfx("vfx/iw7/core/zombie/vfx_zmb_life_link_beam.vfx");
|
||||
level._effect["life_link_target"] = loadfx("vfx/iw7/core/zombie/cards/vfx_zmb_life_link_beam_send.vfx");
|
||||
level._effect["dischord_explosion"] = loadfx("vfx/iw7/core/zombie/weapon/dischord/vfx_zb_dc_exp.vfx");
|
||||
level._effect["neil_impact"] = loadfx("vfx/iw7/core/expl/weap/grenade/vfx_exp_frag_expl.vfx");
|
||||
level._effect["neil_trail"] = loadfx("vfx/iw7/core/smktrail/vfx_smktrail_mega_missile.vfx");
|
||||
level._effect["quest_glasses_drop"] = loadfx("vfx/iw7/_requests/coop/zmb_glasses_drop.vfx");
|
||||
level._effect["bumpercar_light"] = loadfx("vfx/iw7/core/zombie/vfx_zmb_headlight.vfx");
|
||||
level._effect["player_scr_fire"] = loadfx("vfx/iw7/_requests/coop/vfx_zb_player_burn_flames.vfx");
|
||||
level._effect["atomize_body"] = loadfx("vfx/iw7/_requests/mp/vfx_atomize_body.vfx");
|
||||
level._effect["atm_withdrawal"] = loadfx("vfx/iw7/prop/vfx_cash_eject_a.vfx");
|
||||
level._effect["console_spark"] = loadfx("vfx/iw7/core/zombie/vfx_zmb_console_sparks.vfx");
|
||||
level._effect["extra_cash_kill"] = loadfx("vfx/iw7/core/zombie/vfx_zmb_money_cash_imp_exp.vfx");
|
||||
level._effect["neil_flash"] = loadfx("vfx/iw7/core/zombie/vfx_zmb_neil_flash.vfx");
|
||||
level._effect["screen_blood"] = loadfx("vfx/iw7/core/zombie/weapon/axe/vfx_zmb_axe_screen_blood.vfx");
|
||||
level._effect["goon_spawn_bolt"] = loadfx("vfx/iw7/_requests/coop/vfx_clown_spawn.vfx");
|
||||
level._effect["goon_spawn_bolt_underground"] = loadfx("vfx/iw7/_requests/coop/vfx_clown_spawn_indoor.vfx");
|
||||
level._effect["exp_touch"] = loadfx("vfx/iw7/levels/cp_rave/vfx_explosive_touch.vfx");
|
||||
level._effect["lava_torrent"] = loadfx("vfx/iw7/levels/cp_rave/vfx_lava_erupt_fnf.vfx");
|
||||
level._effect["fire_chains"] = loadfx("vfx/iw7/core/zombie/cards/fire_chains/vfx_zmb_fire_chains_beam.vfx");
|
||||
level._effect["fire_chains_target"] = loadfx("vfx/iw7/core/zombie/cards/fire_chains/vfx_zmb_fire_chains_beam_imp_ch_a.vfx");
|
||||
level._effect["twister"] = loadfx("vfx/iw7/core/zombie/vfx_fnf_twister.vfx");
|
||||
level._effect["cone_expl_fx"] = loadfx("vfx/iw7/core/muzflash/rvn/vfx_rvn_defib_legend_cone.vfx");
|
||||
level._effect["powerup_additive_fx"] = loadfx("vfx/iw7/core/zombie/powerups/vfx_pwrup_additive.vfx");
|
||||
level._effect["dodge_ground_spark_fx"] = loadfx("vfx/core/mp/killstreaks/vfx_ims_sparks");
|
||||
level._effect["dodge_fwd_screen"] = loadfx("vfx/iw7/levels/cp_town/dodge/vfx_zb_fwd.vfx");
|
||||
level._effect["dodge_back_screen"] = loadfx("vfx/iw7/levels/cp_town/dodge/vfx_zb_back.vfx");
|
||||
level._effect["dodge_left_screen"] = loadfx("vfx/iw7/levels/cp_town/dodge/vfx_zb_left.vfx");
|
||||
level._effect["dodge_right_screen"] = loadfx("vfx/iw7/levels/cp_town/dodge/vfx_zb_right.vfx");
|
||||
level._effect["dodge_fwd_left_screen"] = loadfx("vfx/iw7/levels/cp_town/dodge/vfx_zb_fwd_left.vfx");
|
||||
level._effect["dodge_fwd_right_screen"] = loadfx("vfx/iw7/levels/cp_town/dodge/vfx_zb_fwd_right.vfx");
|
||||
level._effect["dodge_back_left_screen"] = loadfx("vfx/iw7/levels/cp_town/dodge/vfx_zb_back_left.vfx");
|
||||
level._effect["dodge_back_right_screen"] = loadfx("vfx/iw7/levels/cp_town/dodge/vfx_back_right.vfx");
|
||||
level._effect["dodge_touch"] = loadfx("vfx/iw7/levels/cp_town/dodge/vfx_zb_dodge_touch.vfx");
|
||||
level._effect["stimulus_shield"] = loadfx("vfx/iw7/levels/cp_town/fnf/vfx_stimulus_heal_scrn.vfx");
|
||||
level._effect["stimulus_glow_burst"] = loadfx("vfx/iw7/levels/cp_town/fnf/vfx_stimulus_burst.vfx");
|
||||
level._effect["ammo_crate_fx"] = loadfx("vfx/iw7/levels/cp_town/craft/vfx_cp_town_ammo_idle.vfx");
|
||||
level._effect["ammo_crate_ping"] = loadfx("vfx/iw7/levels/cp_town/vfx_cp_town_ammo_flash.vfx");
|
||||
lib_0A5A::main();
|
||||
}
|
1049
IW/PC/ALL/scripts/cp/maps/cp_zmb/cp_zmb_ghost_activation.gsc
Normal file
1049
IW/PC/ALL/scripts/cp/maps/cp_zmb/cp_zmb_ghost_activation.gsc
Normal file
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user