mirror of
https://github.com/InfinityLoader/IL-GSC.git
synced 2025-06-10 02:17:56 -05:00
2790 lines
60 KiB
Plaintext
2790 lines
60 KiB
Plaintext
/*******************************************************************
|
|
* Decompiled By: Bog
|
|
* Decompiled File: scripts\cp\cp_interaction.gsc
|
|
* Game: Call of Duty: Infinite Warfare
|
|
* Platform: PC
|
|
* Function Count: 104
|
|
* Decompile Time: 5119 ms
|
|
* Timestamp: 10/27/2023 12:09:29 AM
|
|
*******************************************************************/
|
|
|
|
//Function Number: 1
|
|
func_4627()
|
|
{
|
|
func_96E3();
|
|
level thread func_23D8();
|
|
if(scripts\cp\_utility::func_462B("guided_interaction"))
|
|
{
|
|
level thread func_23CB();
|
|
}
|
|
}
|
|
|
|
//Function Number: 2
|
|
init()
|
|
{
|
|
scripts\common\utility::flag_init("init_interaction_done");
|
|
if(!scripts\common\utility::flag("init_spawn_volumes_done"))
|
|
{
|
|
scripts\common\utility::flag_wait("init_spawn_volumes_done");
|
|
}
|
|
|
|
level.interactions = [];
|
|
level.interaction_hintstrings = [];
|
|
level.var_1BEC = scripts\common\utility::getstructarray("interaction","targetname");
|
|
level.current_interaction_structs = level.var_1BEC;
|
|
level.var_9A46 = 0;
|
|
level.var_13C1B = ::func_502F;
|
|
level.var_13C63 = ::func_5030;
|
|
level thread func_9A3D();
|
|
foreach(var_01 in level.current_interaction_structs)
|
|
{
|
|
if(!isdefined(var_01.name))
|
|
{
|
|
var_01.name = var_01.script_noteworthy;
|
|
}
|
|
|
|
if(!isdefined(var_01.var_EE79))
|
|
{
|
|
var_01.var_EE79 = "default";
|
|
}
|
|
|
|
if(var_01.var_EE79 == "requires_power")
|
|
{
|
|
var_01.var_E1B9 = 1;
|
|
var_01.var_D776 = 0;
|
|
var_01.var_D71C = func_7829(var_01);
|
|
continue;
|
|
}
|
|
|
|
var_01.var_E1B9 = 0;
|
|
var_01.var_D776 = 0;
|
|
}
|
|
|
|
level thread func_5CF3();
|
|
if(isdefined(level.var_768C))
|
|
{
|
|
[[ level.var_768C ]]();
|
|
}
|
|
|
|
if(isdefined(level.map_interaction_func))
|
|
{
|
|
[[ level.map_interaction_func ]]();
|
|
}
|
|
|
|
var_03 = getarraykeys(level.interactions);
|
|
for(var_04 = 0;var_04 < var_03.size;var_04++)
|
|
{
|
|
if(isdefined(level.interactions[var_03[var_04]].var_95F2))
|
|
{
|
|
level thread [[ level.interactions[var_03[var_04]].var_95F2 ]]();
|
|
}
|
|
|
|
scripts\common\utility::func_136F7();
|
|
}
|
|
|
|
scripts\common\utility::flag_set("init_interaction_done");
|
|
foreach(var_06 in level.players)
|
|
{
|
|
var_07 = var_06 getcurrentweapon();
|
|
if(isdefined(level.wave_num) && isdefined(var_07))
|
|
{
|
|
self.var_13BE8 = [level.wave_num][var_07];
|
|
}
|
|
}
|
|
|
|
level thread func_C00C();
|
|
level thread func_4616();
|
|
}
|
|
|
|
//Function Number: 3
|
|
func_5CF3()
|
|
{
|
|
if(!scripts\common\utility::func_6E34("wall_buy_setup_done"))
|
|
{
|
|
scripts\common\utility::flag_init("wall_buy_setup_done");
|
|
}
|
|
|
|
if(!scripts\common\utility::flag("wall_buy_setup_done"))
|
|
{
|
|
scripts\common\utility::flag_wait("wall_buy_setup_done");
|
|
}
|
|
|
|
foreach(var_01 in level.var_1BEC)
|
|
{
|
|
if(isdefined(var_01.var_86A2) && var_01.var_86A2 == "locOverride")
|
|
{
|
|
continue;
|
|
}
|
|
|
|
var_02 = scripts\common\utility::func_5D14(var_01.origin,10,-200);
|
|
var_01.origin = var_02 + (0,0,1);
|
|
wait(0.05);
|
|
}
|
|
}
|
|
|
|
//Function Number: 4
|
|
func_7829(param_00)
|
|
{
|
|
var_01 = getentarray("spawn_volume","targetname");
|
|
foreach(var_03 in var_01)
|
|
{
|
|
if(function_010F(param_00.origin,var_03))
|
|
{
|
|
if(isdefined(var_03.var_28AB))
|
|
{
|
|
return var_03.var_28AB;
|
|
}
|
|
}
|
|
}
|
|
|
|
return undefined;
|
|
}
|
|
|
|
//Function Number: 5
|
|
func_96E3()
|
|
{
|
|
var_00 = getentarray("player_use_trigger","targetname");
|
|
foreach(var_02 in var_00)
|
|
{
|
|
var_02.var_93A8 = 0;
|
|
var_02 scripts\common\utility::trigger_off();
|
|
}
|
|
}
|
|
|
|
//Function Number: 6
|
|
func_23CB()
|
|
{
|
|
level endon("game_ended");
|
|
wait(5);
|
|
for(;;)
|
|
{
|
|
var_00 = getentarray("interactionEnt","targetname");
|
|
foreach(var_02 in level.players)
|
|
{
|
|
if(!scripts\common\utility::istrue(var_02.var_23DE))
|
|
{
|
|
var_02.var_23DE = 1;
|
|
var_03 = spawn("script_model",var_02.origin);
|
|
var_02.guidedinteractionent = var_03;
|
|
var_03 thread func_DF3C(var_02);
|
|
var_03 thread func_BC88(var_02);
|
|
var_02 setclientomnvar("zm_interaction_cost",-1);
|
|
var_02 setclientomnvar("zm_interaction_ent",var_03);
|
|
if(scripts\cp\_utility::isplayingsolo() || level.only_one_player)
|
|
{
|
|
var_02 thread scripts\cp\zombies\interaction_magicwheel::magic_wheel_tutorial();
|
|
var_02 thread lib_0D4C::func_59FA();
|
|
}
|
|
}
|
|
}
|
|
|
|
level waittill("player_spawned",var_02);
|
|
}
|
|
}
|
|
|
|
//Function Number: 7
|
|
func_BC88(param_00)
|
|
{
|
|
level endon("game_ended");
|
|
param_00 endon("disconnect");
|
|
var_01 = undefined;
|
|
var_02 = undefined;
|
|
var_03 = -1;
|
|
var_04 = 0;
|
|
var_05 = squared(75);
|
|
for(;;)
|
|
{
|
|
if(scripts\common\utility::istrue(param_00.inlaststand) || scripts\common\utility::istrue(param_00.var_101BF) || scripts\common\utility::istrue(param_00.flung))
|
|
{
|
|
var_01 = undefined;
|
|
func_12E34(param_00,-1,undefined,undefined);
|
|
}
|
|
else if(!param_00 scripts\cp\_utility::func_213E())
|
|
{
|
|
var_01 = undefined;
|
|
func_12E34(param_00,-1,undefined,undefined);
|
|
}
|
|
else
|
|
{
|
|
var_06 = [];
|
|
level.current_interaction_structs = scripts\common\utility::func_22BC(level.current_interaction_structs);
|
|
var_07 = scripts\common\utility::func_782F(param_00.origin,level.current_interaction_structs,undefined,10,750,1);
|
|
foreach(var_09 in param_00.var_55BB)
|
|
{
|
|
var_07 = scripts\common\utility::func_22A9(var_07,var_09);
|
|
}
|
|
|
|
foreach(var_09 in var_07)
|
|
{
|
|
if(func_9C64(param_00,var_09,var_01))
|
|
{
|
|
var_06[var_06.size] = var_09;
|
|
}
|
|
}
|
|
|
|
if(scripts\common\utility::istrue(param_00.resetguidedinteraction))
|
|
{
|
|
var_01 = undefined;
|
|
func_12E34(param_00,-1,undefined,undefined);
|
|
param_00.resetguidedinteraction = undefined;
|
|
wait(0.05);
|
|
continue;
|
|
}
|
|
|
|
var_06 = scripts\common\utility::func_22BC(var_06);
|
|
var_06 = scripts\common\utility::func_22AF(var_06);
|
|
if(var_06.size < 1)
|
|
{
|
|
var_01 = undefined;
|
|
func_12E34(param_00,-1,undefined,undefined);
|
|
wait(0.05);
|
|
continue;
|
|
}
|
|
|
|
var_06 = sortbydistance(var_06,param_00.origin);
|
|
foreach(var_0E in var_06)
|
|
{
|
|
var_04 = 0;
|
|
if(param_00 adsbuttonpressed())
|
|
{
|
|
func_12E34(param_00,-1,undefined,undefined);
|
|
var_01 = undefined;
|
|
while(param_00 adsbuttonpressed())
|
|
{
|
|
wait(0.05);
|
|
}
|
|
}
|
|
|
|
if(distancesquared(param_00.origin,var_0E.origin) <= var_05)
|
|
{
|
|
func_12E34(param_00,-1,undefined,undefined);
|
|
var_01 = undefined;
|
|
continue;
|
|
}
|
|
else if(isdefined(var_01) && var_0E == var_01)
|
|
{
|
|
break;
|
|
}
|
|
else
|
|
{
|
|
var_02 = func_7A4A(var_0E,param_00);
|
|
var_03 = func_7A48(var_0E,param_00);
|
|
var_01 = var_0E;
|
|
var_04 = 1;
|
|
break;
|
|
}
|
|
}
|
|
|
|
if(var_04)
|
|
{
|
|
func_12E34(param_00,var_03,var_02,var_01);
|
|
}
|
|
}
|
|
|
|
wait(0.1);
|
|
}
|
|
}
|
|
|
|
//Function Number: 8
|
|
func_7A4A(param_00,param_01)
|
|
{
|
|
var_02 = (0,0,68);
|
|
var_03 = param_00.origin;
|
|
if(func_9A28(param_00))
|
|
{
|
|
if(isdefined(param_00.target))
|
|
{
|
|
var_04 = scripts\common\utility::getstruct(param_00.target,"targetname");
|
|
if(isdefined(var_04))
|
|
{
|
|
var_03 = var_04.origin;
|
|
}
|
|
else
|
|
{
|
|
var_03 = param_00.origin;
|
|
}
|
|
}
|
|
}
|
|
else if(!isdefined(var_03))
|
|
{
|
|
var_03 = param_00.origin;
|
|
}
|
|
|
|
if(isdefined(level.guided_interaction_offset_func))
|
|
{
|
|
var_02 = [[ level.guided_interaction_offset_func ]](param_00,param_01);
|
|
}
|
|
else
|
|
{
|
|
var_05 = func_7829(param_00);
|
|
if(isdefined(param_00.name))
|
|
{
|
|
var_06 = param_00.script_noteworthy;
|
|
switch(var_06)
|
|
{
|
|
case "iw7_ripper_zm+ripperscope_zm":
|
|
case "iw7_ripper_zmr":
|
|
case "shooting_gallery":
|
|
var_02 = (0,0,12);
|
|
break;
|
|
|
|
case "iw7_ake_zm":
|
|
case "iw7_ake_zml":
|
|
if(var_05 == "swamp_stage")
|
|
{
|
|
var_02 = (0,0,12);
|
|
}
|
|
break;
|
|
|
|
case "zfreeze_semtex_mp":
|
|
var_02 = (0,0,20);
|
|
break;
|
|
|
|
case "iw7_sonic_zmr":
|
|
case "iw7_sonic_zm":
|
|
if(var_05 == "moon")
|
|
{
|
|
var_02 = (0,0,30);
|
|
}
|
|
else
|
|
{
|
|
var_02 = (0,0,56);
|
|
}
|
|
break;
|
|
|
|
default:
|
|
var_02 = (0,0,56);
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
var_07 = scripts\common\utility::func_5D14(var_03,12) + var_02;
|
|
return var_07;
|
|
}
|
|
|
|
//Function Number: 9
|
|
func_7A48(param_00,param_01)
|
|
{
|
|
var_02 = 1;
|
|
var_03 = int(level.interactions[param_00.script_noteworthy].cost);
|
|
if(func_9A28(param_00))
|
|
{
|
|
if(param_01 scripts\cp\_weapon::func_8BBB(param_00.script_noteworthy))
|
|
{
|
|
var_04 = scripts\cp\_utility::func_80D8(param_00.script_noteworthy);
|
|
var_05 = param_01 scripts\cp\_weapon::func_7D62(var_04);
|
|
if(var_05 > 1)
|
|
{
|
|
var_03 = 4500;
|
|
}
|
|
else
|
|
{
|
|
var_02 = 0.5;
|
|
var_03 = int(var_03 * var_02);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
var_03 = int(var_03 * var_02);
|
|
}
|
|
}
|
|
else if(func_9A29(param_00))
|
|
{
|
|
var_06 = param_01 getcurrentweapon();
|
|
if(param_01 scripts\cp\_weapon::func_385F(var_06))
|
|
{
|
|
var_05 = param_01 scripts\cp\_weapon::func_7D62(var_06);
|
|
var_03 = scripts\common\utility::func_116D7(var_05 > 1,10000,5000);
|
|
}
|
|
else
|
|
{
|
|
var_03 = 0;
|
|
}
|
|
|
|
if(scripts\common\utility::istrue(level.has_picked_up_fuses) && !isdefined(level.placed_alien_fuses))
|
|
{
|
|
var_03 = 0;
|
|
}
|
|
}
|
|
else if(func_9CDB(param_00))
|
|
{
|
|
if(isdefined(param_00.name) && !param_01 func_3867(param_00))
|
|
{
|
|
var_03 = 0;
|
|
}
|
|
else if((scripts\cp\_utility::isplayingsolo() || level.only_one_player) && isdefined(param_00.name) && param_00.name == "perk_machine_revive")
|
|
{
|
|
var_03 = 500;
|
|
}
|
|
else
|
|
{
|
|
var_03 = func_7B78(param_00);
|
|
}
|
|
}
|
|
else if(func_9A1A(param_00))
|
|
{
|
|
if(param_01.var_3A52 >= 1)
|
|
{
|
|
var_03 = level.var_732D;
|
|
}
|
|
else
|
|
{
|
|
var_03 = level.var_732C;
|
|
}
|
|
}
|
|
|
|
if(param_01 scripts\cp\_utility::func_9BA0("next_purchase_free"))
|
|
{
|
|
var_03 = 0;
|
|
}
|
|
|
|
return var_03;
|
|
}
|
|
|
|
//Function Number: 10
|
|
func_9CDB(param_00)
|
|
{
|
|
if(!isdefined(param_00.name))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(param_00.name == "perk_machine_more" || param_00.name == "perk_machine_rat_a_tat" || param_00.name == "perk_machine_revive" || param_00.name == "perk_machine_run" || param_00.name == "perk_machine_smack" || param_00.name == "perk_machine_tough" || param_00.name == "perk_machine_flash" || param_00.name == "perk_machine_boom" || param_00.name == "perk_machine_fwoosh" || param_00.name == "perk_machine_deadeye" || param_00.name == "perk_machine_change" || param_00.name == "perk_machine_zap")
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
//Function Number: 11
|
|
func_7B78(param_00)
|
|
{
|
|
switch(param_00.var_CA4C)
|
|
{
|
|
case "perk_machine_deadeye":
|
|
case "perk_machine_zap":
|
|
case "perk_machine_fwoosh":
|
|
case "perk_machine_boom":
|
|
case "perk_machine_change":
|
|
case "perk_machine_revive":
|
|
return 1500;
|
|
|
|
case "perk_machine_flash":
|
|
return 3000;
|
|
|
|
case "perk_machine_tough":
|
|
return 2500;
|
|
|
|
case "perk_machine_run":
|
|
case "perk_machine_more":
|
|
case "perk_machine_rat_a_tat":
|
|
case "perk_machine_smack":
|
|
return 2000;
|
|
}
|
|
}
|
|
|
|
//Function Number: 12
|
|
func_9C64(param_00,param_01,param_02)
|
|
{
|
|
level endon("game_ended");
|
|
param_00 endon("disconnect");
|
|
if(!isdefined(param_01))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
var_03 = undefined;
|
|
if(isdefined(param_01.name))
|
|
{
|
|
var_03 = param_01.name;
|
|
}
|
|
else
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(scripts\common\utility::istrue(param_01.out_of_order) || isdefined(param_01.var_4622))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(isdefined(param_01.var_CA4C) && param_01.var_CA4C == "perk_machine_revive" && param_00.var_F1E7 >= param_00.max_self_revive_machine_use)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(!scripts\cp\_utility::func_462B("wall_buys"))
|
|
{
|
|
if(func_9A28(param_01) || func_9A1B(param_01) || func_9A24(param_01) || interaction_is_chi_door(param_01) || isdefined(param_01.var_EE79) && param_01.var_EE79 == "tickets")
|
|
{
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
if(func_9A1A(param_01))
|
|
{
|
|
if(!scripts\common\utility::istrue(level.unlimited_fnf))
|
|
{
|
|
if(param_00.var_3A52 >= 2)
|
|
{
|
|
return 0;
|
|
}
|
|
}
|
|
}
|
|
|
|
if(var_03 == "secure_window" || var_03 == "white_ark" || var_03 == "wor_standee" || var_03 == "generator" || var_03 == "center_speaker_locs" || var_03 == "fourth_speaker" || var_03 == "ark_quest_station" || var_03 == "dj_quest_part_1" || var_03 == "dj_quest_part_2" || var_03 == "dj_quest_part_3" || var_03 == "dj_quest_door" || var_03 == "dj_quest_speaker" || var_03 == "lost_and_found" || var_03 == "fast_travel" || var_03 == "crafting_pickup" || var_03 == "pap_quest" || var_03 == "team_door" || var_03 == "neil_head" || var_03 == "neil_battery" || var_03 == "neil_repair" || var_03 == "neil_firmware" || var_03 == "barnstorming_group" || var_03 == "demon_group" || var_03 == "starmaster_group" || var_03 == "group_cosmicarc" || var_03 == "group_pitfall" || var_03 == "group_riverraid" || var_03 == "spider_arcade_group" || var_03 == "robottank_group" || var_03 == "gator_teeth_placement" || var_03 == "atm_withdrawal" && isdefined(level.var_2416) && level.var_2416 < 1000 || var_03 == "crafting_station" && !isdefined(param_00.var_4B5E))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(isdefined(level.guidedinteractionexclusion))
|
|
{
|
|
if(![[ level.guidedinteractionexclusion ]](param_01,param_00,var_03))
|
|
{
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
if(scripts\common\utility::istrue(param_01.var_E1B9) && !scripts\common\utility::istrue(param_01.var_D776))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(var_03 == "boss_fight_activation")
|
|
{
|
|
if(scripts\common\utility::func_6E34("boss_fight_ready_soon") && scripts\common\utility::flag("boss_fight_ready_soon"))
|
|
{
|
|
return 0;
|
|
}
|
|
else
|
|
{
|
|
return 1;
|
|
}
|
|
}
|
|
|
|
if(isdefined(level.var_164B))
|
|
{
|
|
if(var_03 == "weapon_upgrade")
|
|
{
|
|
return 1;
|
|
}
|
|
else if(!self [[ level.var_164B ]](param_01.origin))
|
|
{
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
var_04 = param_01.origin;
|
|
if(isdefined(level.guidedinteractionendposoverride))
|
|
{
|
|
var_04 = [[ level.guidedinteractionendposoverride ]](param_00,param_01);
|
|
}
|
|
|
|
if(!scripts\common\utility::func_13D90(param_00.origin,param_00 getplayerangles(),var_04,cos(25)))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(func_9A18(param_01) || interaction_is_chi_door(param_01))
|
|
{
|
|
var_05 = func_7C82(0,undefined,param_00);
|
|
foreach(var_07 in var_05)
|
|
{
|
|
var_08 = var_07 func_77D3();
|
|
foreach(var_0A in var_08)
|
|
{
|
|
if(function_010F(param_01.origin,var_0A))
|
|
{
|
|
return 0;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
var_0D = physics_createcontents(["physicscontents_clipshot","physicscontents_corpseclipshot","physicscontents_missileclip","physicscontents_solid"]);
|
|
if(param_01.script_noteworthy == "trap_hydrant")
|
|
{
|
|
var_04 = param_01.origin + (0,0,50);
|
|
}
|
|
|
|
if(scripts\common\trace::func_DCF1(param_00 geteye(),var_04,[param_00],var_0D))
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
//Function Number: 13
|
|
func_77D3()
|
|
{
|
|
if(isdefined(level.var_186E[self.var_28AB]))
|
|
{
|
|
var_00 = [];
|
|
foreach(var_02 in level.var_186E[self.var_28AB])
|
|
{
|
|
var_00[var_00.size] = level.var_10817[var_02];
|
|
}
|
|
|
|
return var_00;
|
|
}
|
|
|
|
return [];
|
|
}
|
|
|
|
//Function Number: 14
|
|
func_9C0F(param_00)
|
|
{
|
|
if(!isdefined(param_00))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(!isdefined(param_00.var_186E))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
foreach(var_02 in param_00.var_186E)
|
|
{
|
|
if(!var_02.var_19)
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(self istouching(var_02))
|
|
{
|
|
return 1;
|
|
}
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
//Function Number: 15
|
|
func_7C82(param_00,param_01,param_02)
|
|
{
|
|
if(isdefined(level.var_7C80))
|
|
{
|
|
return [[ level.var_7C80 ]]();
|
|
}
|
|
|
|
var_03 = [];
|
|
var_04 = level.var_10816;
|
|
foreach(var_06 in var_04)
|
|
{
|
|
if(!var_06.var_19)
|
|
{
|
|
continue;
|
|
}
|
|
|
|
var_07 = 0;
|
|
if(isdefined(param_01) && !param_02 scripts\cp\_utility::is_valid_player())
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(param_02 istouching(var_06))
|
|
{
|
|
var_07 = 1;
|
|
}
|
|
else if(scripts\common\utility::istrue(param_00) && param_02 func_9C0F(var_06))
|
|
{
|
|
var_07 = 1;
|
|
}
|
|
|
|
if(var_07)
|
|
{
|
|
var_03[var_03.size] = var_06;
|
|
}
|
|
}
|
|
|
|
return var_03;
|
|
}
|
|
|
|
//Function Number: 16
|
|
func_12E34(param_00,param_01,param_02,param_03)
|
|
{
|
|
if(!isdefined(param_01))
|
|
{
|
|
param_01 = -1;
|
|
}
|
|
|
|
if(isdefined(param_02) && param_02 != self.origin)
|
|
{
|
|
param_00 setclientomnvar("zm_interaction_cost",-1);
|
|
wait(0.1);
|
|
self dontinterpolate();
|
|
self.origin = param_02;
|
|
wait(0.1);
|
|
}
|
|
|
|
if(isdefined(param_03) && param_03.var_EE79 == "tickets")
|
|
{
|
|
param_01 = 2;
|
|
}
|
|
|
|
if(isdefined(param_03) && interaction_is_sliding_door(param_03) && scripts\common\utility::istrue(param_03.player_opened))
|
|
{
|
|
param_01 = 0;
|
|
}
|
|
|
|
param_00 setclientomnvar("zm_interaction_cost",param_01);
|
|
}
|
|
|
|
//Function Number: 17
|
|
func_79D0(param_00)
|
|
{
|
|
foreach(var_02 in param_00)
|
|
{
|
|
if(!scripts\common\utility::istrue(var_02.var_93A8))
|
|
{
|
|
var_02.var_93A8 = 1;
|
|
var_02 setmodel("tag_origin");
|
|
return var_02;
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 18
|
|
func_DF3C(param_00)
|
|
{
|
|
param_00 waittill("disconnect");
|
|
self.var_93A8 = 0;
|
|
self notify("interaction_ent_released");
|
|
}
|
|
|
|
//Function Number: 19
|
|
func_23D8()
|
|
{
|
|
level endon("game_ended");
|
|
for(;;)
|
|
{
|
|
level waittill("player_spawned",var_00);
|
|
var_00.var_9A3F = func_7B99();
|
|
if(!isdefined(var_00.var_9A3F))
|
|
{
|
|
break;
|
|
}
|
|
|
|
func_E1F8();
|
|
if(!isdefined(var_00.var_9A3F))
|
|
{
|
|
iprintlnbold("NO TRIGGER FOUND!");
|
|
}
|
|
|
|
var_00.var_A8D3 = undefined;
|
|
var_00.var_9A3F makeunusable();
|
|
var_00 thread func_DF3F();
|
|
var_00 thread player_interaction_monitor();
|
|
var_00 thread func_D104();
|
|
}
|
|
}
|
|
|
|
//Function Number: 20
|
|
func_D104()
|
|
{
|
|
self endon("disconnect");
|
|
self endon("death");
|
|
for(;;)
|
|
{
|
|
scripts\common\utility::waittill_any_3("weapon_switch_started","weapon_change","weaponchange");
|
|
self.var_A8D3 = undefined;
|
|
self.resetguidedinteraction = 1;
|
|
self notify("stop_interaction_logic");
|
|
}
|
|
}
|
|
|
|
//Function Number: 21
|
|
func_7B99()
|
|
{
|
|
var_00 = getentarray("player_use_trigger","targetname");
|
|
var_01 = undefined;
|
|
foreach(var_03 in var_00)
|
|
{
|
|
if(!var_03.var_93A8)
|
|
{
|
|
var_03.var_93A8 = 1;
|
|
var_03 scripts\common\utility::trigger_on();
|
|
return var_03;
|
|
}
|
|
}
|
|
|
|
return undefined;
|
|
}
|
|
|
|
//Function Number: 22
|
|
func_DF3F()
|
|
{
|
|
var_00 = self.var_9A3F;
|
|
scripts\common\utility::waittill_any_3("death","disconnect");
|
|
var_00.var_93A8 = 0;
|
|
}
|
|
|
|
//Function Number: 23
|
|
func_DEBB(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08)
|
|
{
|
|
var_09 = spawnstruct();
|
|
var_09.name = param_00;
|
|
var_09.var_8FFA = param_03;
|
|
var_09.var_109DA = param_01;
|
|
var_09.var_12AA2 = param_02;
|
|
var_09.var_161A = param_04;
|
|
var_09.var_6261 = 1;
|
|
if(!isdefined(param_05))
|
|
{
|
|
param_05 = 0;
|
|
}
|
|
|
|
var_09.cost = param_05;
|
|
if(isdefined(param_06))
|
|
{
|
|
var_09.var_E1B9 = param_06;
|
|
}
|
|
else
|
|
{
|
|
var_09.var_E1B9 = 0;
|
|
}
|
|
|
|
var_09.var_95F2 = param_07;
|
|
var_09.var_3865 = param_08;
|
|
level.interactions[param_00] = var_09;
|
|
}
|
|
|
|
//Function Number: 24
|
|
func_15BC(param_00,param_01)
|
|
{
|
|
level thread [[ level.interactions[param_00].var_161A ]](param_01);
|
|
}
|
|
|
|
//Function Number: 25
|
|
func_E1F8()
|
|
{
|
|
foreach(var_01 in level.players)
|
|
{
|
|
if(isdefined(var_01.var_9A3F))
|
|
{
|
|
func_8E90(var_01);
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 26
|
|
func_8E90(param_00)
|
|
{
|
|
foreach(var_02 in level.players)
|
|
{
|
|
if(var_02 == param_00)
|
|
{
|
|
param_00.var_9A3F enableplayeruse(param_00);
|
|
continue;
|
|
}
|
|
|
|
param_00.var_9A3F disableplayeruse(var_02);
|
|
}
|
|
}
|
|
|
|
//Function Number: 27
|
|
func_13D07(param_00,param_01)
|
|
{
|
|
for(;;)
|
|
{
|
|
thread scripts\common\utility::func_5B44(param_01,0.1,(1,0,0),1,0.1);
|
|
wait(0.1);
|
|
}
|
|
}
|
|
|
|
//Function Number: 28
|
|
player_interaction_monitor()
|
|
{
|
|
self notify("player_interaction_monitor");
|
|
self endon("player_interaction_monitor");
|
|
self endon("disconnect");
|
|
self endon("death");
|
|
while(!isdefined(level.current_interaction_structs))
|
|
{
|
|
wait(1);
|
|
}
|
|
|
|
if(isdefined(level.player_interaction_monitor))
|
|
{
|
|
self thread [[ level.player_interaction_monitor ]]();
|
|
}
|
|
}
|
|
|
|
//Function Number: 29
|
|
func_6EB9()
|
|
{
|
|
self endon("window_trap_placed");
|
|
self endon("death");
|
|
if(!isdefined(self.var_BF46))
|
|
{
|
|
self.var_BF46 = gettime() + 2500;
|
|
}
|
|
else if(gettime() < self.var_BF46)
|
|
{
|
|
return;
|
|
}
|
|
|
|
self.var_BF46 = gettime() + 2500;
|
|
self setclientomnvar("zom_crafted_weapon",0);
|
|
wait(0.5);
|
|
self setclientomnvar("zom_crafted_weapon",8);
|
|
wait(1.5);
|
|
}
|
|
|
|
//Function Number: 30
|
|
func_3863(param_00)
|
|
{
|
|
if(!isdefined(param_00))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(scripts\common\utility::istrue(self.var_9D81))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(scripts\common\utility::istrue(param_00.var_55BA) || !scripts\cp\_utility::func_213E() || self method_84D9())
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(self secondaryoffhandbuttonpressed() || self method_81C6() || self fragbuttonpressed())
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(!self isonground())
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(param_00.script_noteworthy == "game_race" && distancesquared(self.origin,param_00.origin) > 576)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(param_00.script_noteworthy == "ritual_stone" && scripts\common\utility::istrue(self.var_DCEB))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
return 1;
|
|
}
|
|
|
|
//Function Number: 31
|
|
func_E1F6()
|
|
{
|
|
if(isdefined(self.var_9A3F.name))
|
|
{
|
|
scripts\cp\zombies\zombie_analytics::func_AF74(self.var_9A3F.name,0);
|
|
}
|
|
|
|
wait(0.2);
|
|
self notify("stop_interaction_logic");
|
|
self.var_9A3F makeunusable();
|
|
self.var_A8D3 = undefined;
|
|
self setclientomnvar("zm_tutorial_num",0);
|
|
}
|
|
|
|
//Function Number: 32
|
|
func_F421(param_00,param_01)
|
|
{
|
|
if(scripts\common\utility::istrue(self.var_9A3F.var_55F3))
|
|
{
|
|
return;
|
|
}
|
|
|
|
self.var_9A3F dontinterpolate();
|
|
self.var_A8D3 = param_00;
|
|
var_02 = self geteye();
|
|
self.var_9A3F.origin = (param_00.origin[0],param_00.origin[1],var_02[2]);
|
|
if(!isdefined(level.interactions[param_00.script_noteworthy].var_109DA))
|
|
{
|
|
level.interactions[param_00.script_noteworthy].var_109DA = "null";
|
|
}
|
|
|
|
var_03 = level.interactions[param_00.script_noteworthy].var_109DA;
|
|
var_04 = undefined;
|
|
if(scripts\cp\_utility::isplayingsolo() || level.only_one_player)
|
|
{
|
|
if(var_03 == "wall_buy")
|
|
{
|
|
var_04 = scripts\cp\_hud_message::func_79FC("wall_buy");
|
|
}
|
|
|
|
if(!scripts\common\utility::istrue(var_04))
|
|
{
|
|
if(isdefined(level.interactions[param_00.script_noteworthy].var_12AA2))
|
|
{
|
|
thread scripts\cp\_hud_message::func_12AAE(var_03);
|
|
}
|
|
}
|
|
}
|
|
|
|
if(func_9A28(param_00))
|
|
{
|
|
if(!scripts\cp\_weapon::func_8BBB(param_00.script_noteworthy))
|
|
{
|
|
var_05 = func_8228(param_00.script_noteworthy);
|
|
var_06 = func_8220(param_00.script_noteworthy);
|
|
self.var_9A3F method_852E(var_05,var_06);
|
|
}
|
|
}
|
|
else if(func_9A29(param_00))
|
|
{
|
|
var_07 = self getcurrentweapon();
|
|
var_05 = func_8228(var_07);
|
|
if(scripts\cp\_weapon::func_385F(var_07))
|
|
{
|
|
if(isdefined(var_05))
|
|
{
|
|
var_08 = scripts\cp\_weapon::func_7D62(var_07);
|
|
var_06 = scripts\common\utility::func_116D7(var_08 > 1,int(10000),int(5000));
|
|
self.var_9A3F method_852E(var_05,var_06);
|
|
}
|
|
}
|
|
else if(isdefined(var_05))
|
|
{
|
|
self.var_9A3F method_852E(var_05);
|
|
}
|
|
}
|
|
else if(func_9A16(param_00))
|
|
{
|
|
if(!isdefined(self.var_4B5E))
|
|
{
|
|
level thread [[ level.interactions[param_00.script_noteworthy].var_161A ]](param_00,self);
|
|
func_9A34(param_00);
|
|
self notify("new_power","souvenir_pickup");
|
|
if(scripts\cp\_utility::map_check(0))
|
|
{
|
|
thread scripts\cp\_vo::func_1769("nag_use_souvenircoin","zmb_comment_vo",60,180,6,1);
|
|
}
|
|
|
|
return;
|
|
}
|
|
|
|
self.var_9A3F.origin = param_00.origin;
|
|
}
|
|
else if(func_9A26(param_00))
|
|
{
|
|
self.var_9A3F.origin = (param_00.origin[0],param_00.origin[1],var_02[2] - 15);
|
|
}
|
|
else if(func_9A15(param_00) && param_00.script_noteworthy == "atm_withdrawal")
|
|
{
|
|
self.var_9A3F method_852E(level.var_2416);
|
|
}
|
|
else if(func_9A1A(param_00))
|
|
{
|
|
if(self.var_3A52 >= 1)
|
|
{
|
|
self.var_9A3F method_852E(level.var_732D);
|
|
}
|
|
else
|
|
{
|
|
self.var_9A3F method_852E(level.var_732C);
|
|
}
|
|
}
|
|
else if(param_00.script_noteworthy == "spawned_essence")
|
|
{
|
|
self.var_9A3F.origin = param_00.origin;
|
|
}
|
|
|
|
func_F422(self.var_9A3F,param_00);
|
|
if(!isdefined(param_01))
|
|
{
|
|
thread func_135DF(param_00);
|
|
}
|
|
|
|
self.var_9A3F makeusable();
|
|
}
|
|
|
|
//Function Number: 33
|
|
func_8228(param_00)
|
|
{
|
|
if(!isdefined(param_00))
|
|
{
|
|
return undefined;
|
|
}
|
|
|
|
var_01 = scripts\cp\_utility::func_7DF7(param_00);
|
|
if(!isdefined(var_01))
|
|
{
|
|
return undefined;
|
|
}
|
|
|
|
switch(var_01)
|
|
{
|
|
case "iw7_wylerdagger":
|
|
return &"CP_QUEST_WOR_PURCHASE_SPEAKER";
|
|
|
|
case "iw7_udm45":
|
|
return &"CP_ZMB_WEAPONS_UDM45";
|
|
|
|
case "iw7_rvn":
|
|
return &"CP_ZMB_WEAPONS_RVN";
|
|
|
|
case "iw7_ake":
|
|
return &"CP_ZMB_WEAPONS_AKE";
|
|
|
|
case "iw7_lmg03":
|
|
return &"CP_ZMB_WEAPONS_LMG03";
|
|
|
|
case "iw7_ar57":
|
|
return &"CP_ZMB_WEAPONS_AR57";
|
|
|
|
case "iw7_arclassic":
|
|
return &"CP_ZMB_WEAPONS_ARCLASSIC";
|
|
|
|
case "iw7_axe":
|
|
return &"CP_ZMB_WEAPONS_AXE";
|
|
|
|
case "iw7_lockon":
|
|
return &"CP_ZMB_WEAPONS_LOCKON";
|
|
|
|
case "iw7_chargeshot":
|
|
return &"CP_ZMB_WEAPONS_CHARGESHOT";
|
|
|
|
case "iw7_cheytacc":
|
|
return &"CP_ZMB_WEAPONS_CHEYTACC";
|
|
|
|
case "iw7_cheytac":
|
|
return &"CP_ZMB_WEAPONS_CHEYTAC";
|
|
|
|
case "iw7_crb":
|
|
return &"CP_ZMB_WEAPONS_CRB";
|
|
|
|
case "iw7_devastator":
|
|
return &"CP_ZMB_WEAPONS_DEVASTATOR";
|
|
|
|
case "iw7_dischord":
|
|
return &"CP_ZMB_WEAPONS_DISCHORD";
|
|
|
|
case "iw7_emc":
|
|
return &"CP_ZMB_WEAPONS_EMC";
|
|
|
|
case "iw7_erad":
|
|
return &"CP_ZMB_WEAPONS_ERAD";
|
|
|
|
case "iw7_facemelter":
|
|
return &"CP_ZMB_WEAPONS_FACE_MELTER";
|
|
|
|
case "iw7_fhr":
|
|
return &"CP_ZMB_WEAPONS_FHR";
|
|
|
|
case "iw7_fmg":
|
|
return &"CP_ZMB_WEAPONS_FMG";
|
|
|
|
case "iw7_forgefreeze":
|
|
return &"CP_ZMB_WEAPONS_FORGE_FREEZE";
|
|
|
|
case "iw7_g18c":
|
|
return &"CP_ZMB_WEAPONS_G18C";
|
|
|
|
case "iw7_g18":
|
|
return &"CP_ZMB_WEAPONS_G18";
|
|
|
|
case "iw7_glprox":
|
|
return &"CP_ZMB_WEAPONS_GLPROX";
|
|
|
|
case "iw7_headcutter":
|
|
return &"CP_ZMB_WEAPONS_HEAD_CUTTER";
|
|
|
|
case "iw7_kbs":
|
|
return &"CP_ZMB_WEAPONS_KBS";
|
|
|
|
case "iw7_m1":
|
|
return &"CP_ZMB_WEAPONS_M1";
|
|
|
|
case "iw7_m1c":
|
|
return &"CP_ZMB_WEAPONS_M1C";
|
|
|
|
case "iw7_m4":
|
|
return &"CP_ZMB_WEAPONS_M4";
|
|
|
|
case "iw7_m8":
|
|
return &"CP_ZMB_WEAPONS_M8";
|
|
|
|
case "iw7_mauler":
|
|
return &"CP_ZMB_WEAPONS_MAULER";
|
|
|
|
case "iw7_nrg":
|
|
return &"CP_ZMB_WEAPONS_NRG";
|
|
|
|
case "iw7_revolver":
|
|
return &"CP_ZMB_WEAPONS_REVOLVER";
|
|
|
|
case "iw7_ripper":
|
|
return &"CP_ZMB_WEAPONS_RIPPER";
|
|
|
|
case "iw7_sdfar":
|
|
return &"CP_ZMB_WEAPONS_SDFAR";
|
|
|
|
case "iw7_sdflmg":
|
|
return &"CP_ZMB_WEAPONS_SDFLMG";
|
|
|
|
case "iw7_sdfshotty":
|
|
return &"CP_ZMB_WEAPONS_SDFSHOTTY";
|
|
|
|
case "iw7_shredder":
|
|
return &"CP_ZMB_WEAPONS_SHREDDER";
|
|
|
|
case "iw7_sonic":
|
|
return &"CP_ZMB_WEAPONS_SONIC";
|
|
|
|
case "iw7_spasc":
|
|
return &"CP_ZMB_WEAPONS_SPASC";
|
|
|
|
case "iw7_spas":
|
|
return &"CP_ZMB_WEAPONS_SPAS";
|
|
|
|
case "iw7_steeldragon":
|
|
return &"CP_ZMB_WEAPONS_STEEL_DRAGON";
|
|
|
|
case "iw7_ump45c":
|
|
return &"CP_ZMB_WEAPONS_UMP45C";
|
|
|
|
case "iw7_ump45":
|
|
return &"CP_ZMB_WEAPONS_UMP45";
|
|
|
|
case "iw7_vr":
|
|
return &"CP_ZMB_WEAPONS_VR";
|
|
|
|
case "iw7_crdb":
|
|
return &"CP_ZMB_WEAPONS_CRDB";
|
|
|
|
case "iw7_minilmg":
|
|
return &"CP_ZMB_WEAPONS_MINILMG";
|
|
|
|
case "iw7_mp28":
|
|
return &"CP_ZMB_WEAPONS_MP28";
|
|
|
|
case "iw7_mod2187":
|
|
return &"CP_ZMB_WEAPONS_MOD2187";
|
|
|
|
case "iw7_ba50cal":
|
|
return &"CP_ZMB_WEAPONS_BA50CAL";
|
|
|
|
case "iw7_longshot":
|
|
return &"CP_ZMB_WEAPONS_LONGSHOT";
|
|
|
|
case "iw7_gauss":
|
|
return &"CP_ZMB_WEAPONS_GAUSS";
|
|
|
|
case "iw7_tacburst":
|
|
return &"CP_ZMB_WEAPONS_TACBURST";
|
|
|
|
case "iw7_unsalmg":
|
|
return &"CP_ZMB_WEAPONS_UNSALMG";
|
|
|
|
case "iw7_mag":
|
|
return &"CP_ZMB_WEAPONS_MAG";
|
|
|
|
case "iw7_cutie":
|
|
case "iw7_cutier_zm":
|
|
case "iw7_cutie_zm":
|
|
return &"CP_ZMB_WEAPONS_MAD";
|
|
|
|
case "iw7_venomx":
|
|
case "iw7_venomx_zm_pap2":
|
|
case "iw7_venomx_zm_pap1":
|
|
case "iw7_venomx_zm":
|
|
return &"CP_FINAL_VENOMX";
|
|
|
|
default:
|
|
if(isdefined(level.custom_weaponnamestring_func))
|
|
{
|
|
return [[ level.custom_weaponnamestring_func ]](var_01,param_00);
|
|
}
|
|
return &"CP_ZMB_WEAPONS_GENERIC";
|
|
}
|
|
}
|
|
|
|
//Function Number: 34
|
|
func_8220(param_00)
|
|
{
|
|
return int(level.interactions[param_00].cost);
|
|
}
|
|
|
|
//Function Number: 35
|
|
func_F422(param_00,param_01)
|
|
{
|
|
var_02 = func_7A49(param_01,self);
|
|
if(isdefined(var_02))
|
|
{
|
|
self.var_9A3F sethintstring(var_02);
|
|
}
|
|
|
|
if(param_01.script_noteworthy == "weapon_purchase" && isdefined(self.weapon_purchase_looking_at))
|
|
{
|
|
if(scripts\cp\zombies\direct_boss_fight::is_kung_fu(self.weapon_purchase_looking_at.var_39C))
|
|
{
|
|
self.var_9A3F method_852E(scripts\cp\zombies\direct_boss_fight::get_kung_fu_string(self.weapon_purchase_looking_at.var_39C));
|
|
}
|
|
else
|
|
{
|
|
var_03 = func_8228(self.weapon_purchase_looking_at.var_39C);
|
|
self.var_9A3F method_852E(var_03,int(scripts\cp\zombies\direct_boss_fight::get_weapon_cost(self.weapon_purchase_looking_at.var_39C)));
|
|
}
|
|
}
|
|
else if(func_9A28(param_01))
|
|
{
|
|
if(isdefined(var_02) && !isstring(var_02) && var_02 == &"COOP_INTERACTIONS_PURCHASE_AMMO")
|
|
{
|
|
var_04 = scripts\cp\_utility::func_80D8(param_01.script_noteworthy);
|
|
var_05 = scripts\cp\_weapon::func_7D62(var_04);
|
|
var_03 = func_8228(param_01.script_noteworthy);
|
|
if(var_05 > 1)
|
|
{
|
|
self.var_9A3F method_852E(int(4500),var_03);
|
|
}
|
|
else
|
|
{
|
|
self.var_9A3F method_852E(int(0.5 * level.interactions[param_01.script_noteworthy].cost),var_03);
|
|
}
|
|
}
|
|
}
|
|
else if(interactionislostandfound(param_01) && scripts\common\utility::istrue(self.var_8C46))
|
|
{
|
|
if(isdefined(self.var_B0A2) && self.var_B0A2 == param_01)
|
|
{
|
|
func_F474(self);
|
|
}
|
|
}
|
|
else if(func_9A2B(param_01) || func_9A19(param_01) || func_9A1C(param_01) || func_9A1E(param_01) || func_9A29(param_01) || func_9A16(param_01))
|
|
{
|
|
self.var_9A3F method_83D6(0);
|
|
self.var_9A3F method_84A5(360);
|
|
}
|
|
else if(param_01.script_noteworthy == "coaster")
|
|
{
|
|
self.var_9A3F method_83D6(1);
|
|
self.var_9A3F method_84A5(245);
|
|
}
|
|
else if(param_01.script_noteworthy == "dj_quest_speaker_mid" || param_01.script_noteworthy == "dj_quest_speaker" || param_01.script_noteworthy == "weapon_purchase" || param_01.script_noteworthy == "boss_fight_activation")
|
|
{
|
|
self.var_9A3F method_83D6(0);
|
|
self.var_9A3F method_84A5(360);
|
|
}
|
|
else if(param_01.script_noteworthy == "spawned_essence")
|
|
{
|
|
self.var_9A3F method_83D6(1);
|
|
self.var_9A3F method_84A5(360);
|
|
}
|
|
else if(param_01.script_noteworthy == "dj_quest_part_1" || param_01.script_noteworthy == "dj_quest_part_2" || param_01.script_noteworthy == "dj_quest_part_3")
|
|
{
|
|
self.var_9A3F method_83D6(0);
|
|
self.var_9A3F method_84A5(245);
|
|
}
|
|
else
|
|
{
|
|
self.var_9A3F method_83D6(1);
|
|
self.var_9A3F method_84A5(160);
|
|
}
|
|
|
|
if(isdefined(level.interaction_trigger_properties_func))
|
|
{
|
|
[[ level.interaction_trigger_properties_func ]](param_00,param_01,var_02);
|
|
}
|
|
}
|
|
|
|
//Function Number: 36
|
|
func_F474(param_00)
|
|
{
|
|
if(isdefined(param_00.var_B0A1))
|
|
{
|
|
var_01 = [];
|
|
foreach(var_03 in param_00.var_B0A1)
|
|
{
|
|
if(scripts\cp\_utility::isstrstart(var_03,"alt_"))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(!scripts\common\utility::func_2286(var_01,var_03))
|
|
{
|
|
var_01 = scripts\common\utility::array_add(var_01,var_03);
|
|
}
|
|
}
|
|
|
|
if(var_01.size > 2)
|
|
{
|
|
var_05 = func_8228(var_01[1]);
|
|
var_06 = func_8228(var_01[2]);
|
|
param_00.var_9A3F method_852E(var_05,var_06);
|
|
return;
|
|
}
|
|
|
|
var_05 = func_8228(var_02[1]);
|
|
param_00.var_9A3F method_852E(var_05);
|
|
}
|
|
}
|
|
|
|
//Function Number: 37
|
|
func_7A49(param_00,param_01)
|
|
{
|
|
if(isdefined(level.interactions[param_00.script_noteworthy].var_8FFA))
|
|
{
|
|
return [[ level.interactions[param_00.script_noteworthy].var_8FFA ]](param_00,param_01);
|
|
}
|
|
|
|
if(isdefined(param_00.var_4622))
|
|
{
|
|
return &"COOP_INTERACTIONS_COOLDOWN";
|
|
}
|
|
|
|
if(param_00.var_E1B9 && !param_00.var_D776)
|
|
{
|
|
if(isdefined(level.needspowerstring))
|
|
{
|
|
return level.needspowerstring;
|
|
}
|
|
else
|
|
{
|
|
return &"COOP_INTERACTIONS_REQUIRES_POWER";
|
|
}
|
|
}
|
|
|
|
if(func_9A28(param_00))
|
|
{
|
|
if(!scripts\cp\_utility::func_462B("wall_buys"))
|
|
{
|
|
return undefined;
|
|
}
|
|
}
|
|
|
|
if(func_9A17(param_00))
|
|
{
|
|
if(!isdefined(param_01.var_4B5E) && param_00.var_269F > 0)
|
|
{
|
|
return level.interaction_hintstrings["crafting_nopiece"];
|
|
}
|
|
}
|
|
|
|
if(func_9A16(param_00))
|
|
{
|
|
return level.interaction_hintstrings["crafting_item_swap"];
|
|
}
|
|
|
|
return level.interaction_hintstrings[param_00.script_noteworthy];
|
|
}
|
|
|
|
//Function Number: 38
|
|
func_C00C()
|
|
{
|
|
self endon("game_ended");
|
|
for(;;)
|
|
{
|
|
level waittill("player_accessed_nonpowered_interaction",var_00,var_01);
|
|
if(scripts\cp\_utility::map_check(4))
|
|
{
|
|
if(issubstr(var_01.script_noteworthy,"_trap"))
|
|
{
|
|
var_00 thread scripts\cp\_vo::try_to_play_vo("trap_not_avail","zmb_comment_vo");
|
|
}
|
|
else
|
|
{
|
|
var_00 thread scripts\cp\_vo::try_to_play_vo("no_power","zmb_comment_vo","high",30,0,0,1,50);
|
|
}
|
|
|
|
continue;
|
|
}
|
|
|
|
var_00 thread scripts\cp\_vo::try_to_play_vo("no_power","zmb_comment_vo","high",30,0,0,1,50);
|
|
}
|
|
}
|
|
|
|
//Function Number: 39
|
|
func_4616()
|
|
{
|
|
self endon("game_ended");
|
|
for(;;)
|
|
{
|
|
level waittill("player_accessed_interaction_on_cooldown",var_00,var_01);
|
|
if(scripts\cp\_utility::map_check(4))
|
|
{
|
|
if(issubstr(var_01.script_noteworthy,"_trap"))
|
|
{
|
|
var_00 thread scripts\cp\_vo::try_to_play_vo("trap_cooldown","zmb_comment_vo");
|
|
}
|
|
else
|
|
{
|
|
var_00 thread scripts\cp\_vo::try_to_play_vo("round_cooldown","zmb_comment_vo","high",30,0,0,1,50);
|
|
}
|
|
|
|
continue;
|
|
}
|
|
|
|
var_00 thread scripts\cp\_vo::try_to_play_vo("round_cooldown","zmb_comment_vo","high",30,0,0,1,50);
|
|
}
|
|
}
|
|
|
|
//Function Number: 40
|
|
func_135DF(param_00)
|
|
{
|
|
if(isdefined(level.wait_for_interaction_func))
|
|
{
|
|
self thread [[ level.wait_for_interaction_func ]](param_00);
|
|
}
|
|
}
|
|
|
|
//Function Number: 41
|
|
func_CE96(param_00,param_01)
|
|
{
|
|
var_02 = param_00.script_noteworthy;
|
|
var_03 = getweaponbasename(var_02);
|
|
switch(var_03)
|
|
{
|
|
case "iw7_cutier_zm":
|
|
case "iw7_cutie_zm":
|
|
param_01 thread scripts\cp\_vo::try_to_play_vo("player_purchase_wonder","zmb_comment_vo","low",10,0,1,0,40);
|
|
break;
|
|
|
|
case "iw7_nunchucks_zm":
|
|
param_01 thread scripts\cp\_vo::try_to_play_vo("magicwheel_nunchucks","zmb_comment_vo","low",10,0,1,0,40);
|
|
break;
|
|
|
|
case "iw7_katana_zm":
|
|
if(randomint(100) > 50)
|
|
{
|
|
param_01 thread scripts\cp\_vo::try_to_play_vo("player_purchase_wonder","zmb_comment_vo","low",10,0,1,0,40);
|
|
}
|
|
else
|
|
{
|
|
param_01 thread scripts\cp\_vo::try_to_play_vo("magicwheel_katana","zmb_comment_vo","low",10,0,1,0,40);
|
|
}
|
|
break;
|
|
|
|
case "iw7_harpoon3_zm":
|
|
case "iw7_harpoon_zm":
|
|
case "iw7_harpoon4_zm":
|
|
case "iw7_harpoon2_zm":
|
|
case "iw7_harpoon1_zm":
|
|
param_01 thread scripts\cp\_vo::try_to_play_vo("player_purchase_wonder","zmb_comment_vo","low",10,0,1,0,40);
|
|
break;
|
|
|
|
case "iw7_ake_zm":
|
|
case "iw7_ake_zml":
|
|
param_01 thread scripts\cp\_vo::try_to_play_vo("player_purchase_assault","zmb_comment_vo","low",10,0,1,0,40);
|
|
break;
|
|
|
|
case "iw7_ameli_zm":
|
|
case "iw7_lmg03_zm":
|
|
param_01 thread scripts\cp\_vo::try_to_play_vo("purchase_weapon","zmb_comment_vo","low",10,0,1,0,40);
|
|
break;
|
|
|
|
case "iw7_ar57_zm":
|
|
param_01 thread scripts\cp\_vo::try_to_play_vo("player_purchase_assault","zmb_comment_vo","low",10,0,1,0,40);
|
|
break;
|
|
|
|
case "iw7_axe_zm_pap2":
|
|
case "iw7_axe_zm_pap1":
|
|
case "iw7_axe_zm":
|
|
param_01 thread scripts\cp\_vo::try_to_play_vo("purchase_weapon","zmb_comment_vo","low",10,0,1,0,40);
|
|
break;
|
|
|
|
case "iw7_chargeshot_zm":
|
|
param_01 thread scripts\cp\_vo::try_to_play_vo("player_purchase_launcher","zmb_comment_vo","low",10,0,1,0,40);
|
|
break;
|
|
|
|
case "iw7_cheytac_zm":
|
|
param_01 thread scripts\cp\_vo::try_to_play_vo("player_purchase_sniper","zmb_comment_vo","low",10,0,1,0,40);
|
|
break;
|
|
|
|
case "iw7_crb_zml":
|
|
case "iw7_crb_zm":
|
|
param_01 thread scripts\cp\_vo::try_to_play_vo("player_purchase_smg","zmb_comment_vo","low",10,0,1,0,40);
|
|
break;
|
|
|
|
case "iw7_devastator_zm":
|
|
param_01 thread scripts\cp\_vo::try_to_play_vo("player_purchase_shotgun","zmb_comment_vo","low",10,0,1,0,40);
|
|
break;
|
|
|
|
case "iw7_dischord_zm_pap1":
|
|
case "iw7_dischord_zm":
|
|
param_01 thread scripts\cp\_vo::try_to_play_vo("player_purchase_wonder","zmb_comment_vo","low",10,0,1,0,40);
|
|
break;
|
|
|
|
case "iw7_emc_zm":
|
|
param_01 thread scripts\cp\_vo::try_to_play_vo("player_purchase_pistol","zmb_comment_vo","low",10,0,1,0,40);
|
|
break;
|
|
|
|
case "iw7_erad_zm":
|
|
param_01 thread scripts\cp\_vo::try_to_play_vo("player_purchase_smg","zmb_comment_vo","low",10,0,1,0,40);
|
|
break;
|
|
|
|
case "iw7_facemelter_zm_pap1":
|
|
case "iw7_facemelter_zm":
|
|
param_01 thread scripts\cp\_vo::try_to_play_vo("player_purchase_wonder","zmb_comment_vo","low",10,0,1,0,40);
|
|
break;
|
|
|
|
case "iw7_fhr_zm":
|
|
param_01 thread scripts\cp\_vo::try_to_play_vo("player_purchase_smg","zmb_comment_vo","low",10,0,1,0,40);
|
|
break;
|
|
|
|
case "iw7_fmg_zm":
|
|
param_01 thread scripts\cp\_vo::try_to_play_vo("player_purchase_smg","zmb_comment_vo","low",10,0,1,0,40);
|
|
break;
|
|
|
|
case "iw7_forgefreeze_zm_pap2":
|
|
case "iw7_forgefreeze_zm_pap1":
|
|
case "iw7_forgefreeze_zm":
|
|
param_01 thread scripts\cp\_vo::try_to_play_vo("player_purchase_wonder","zmb_comment_vo","low",10,0,1,0,40);
|
|
break;
|
|
|
|
case "iw7_g18_zm":
|
|
case "iw7_g18_zmr":
|
|
param_01 thread scripts\cp\_vo::try_to_play_vo("player_purchase_pistol","zmb_comment_vo","low",10,0,1,0,40);
|
|
break;
|
|
|
|
case "iw7_lockon_zm":
|
|
param_01 thread scripts\cp\_vo::try_to_play_vo("player_purchase_launcher","zmb_comment_vo","low",10,0,1,0,40);
|
|
break;
|
|
|
|
case "iw7_glprox_zm":
|
|
param_01 thread scripts\cp\_vo::try_to_play_vo("player_purchase_launcher","zmb_comment_vo","low",10,0,1,0,40);
|
|
break;
|
|
|
|
case "iw7_headcutter_zm_pap1":
|
|
case "iw7_headcutter_zm":
|
|
param_01 thread scripts\cp\_vo::try_to_play_vo("player_purchase_wonder","zmb_comment_vo","low",10,0,1,0,40);
|
|
break;
|
|
|
|
case "iw7_kbs_zm":
|
|
param_01 thread scripts\cp\_vo::try_to_play_vo("player_purchase_sniper","zmb_comment_vo","low",10,0,1,0,40);
|
|
break;
|
|
|
|
case "iw7_m1c_zm":
|
|
case "iw7_m1_zm":
|
|
param_01 thread scripts\cp\_vo::try_to_play_vo("player_purchase_sniper","zmb_comment_vo","low",10,0,1,0,40);
|
|
break;
|
|
|
|
case "iw7_m4_zm":
|
|
param_01 thread scripts\cp\_vo::try_to_play_vo("player_purchase_assault","zmb_comment_vo","low",10,0,1,0,40);
|
|
break;
|
|
|
|
case "iw7_m8_zm":
|
|
param_01 thread scripts\cp\_vo::try_to_play_vo("player_purchase_assault","zmb_comment_vo","low",10,0,1,0,40);
|
|
break;
|
|
|
|
case "iw7_mauler_zm":
|
|
param_01 thread scripts\cp\_vo::try_to_play_vo("purchase_weapon","zmb_comment_vo","low",10,0,1,0,40);
|
|
break;
|
|
|
|
case "iw7_nrg_zm":
|
|
param_01 thread scripts\cp\_vo::try_to_play_vo("player_purchase_pistol","zmb_comment_vo","low",10,0,1,0,40);
|
|
break;
|
|
|
|
case "iw7_revolver_zm":
|
|
param_01 thread scripts\cp\_vo::try_to_play_vo("player_purchase_pistol","zmb_comment_vo","low",10,0,1,0,40);
|
|
break;
|
|
|
|
case "iw7_ripper_zm":
|
|
case "iw7_ripper_zmr":
|
|
param_01 thread scripts\cp\_vo::try_to_play_vo("player_purchase_smg","zmb_comment_vo","low",10,0,1,0,40);
|
|
break;
|
|
|
|
case "iw7_sdfar_zm":
|
|
param_01 thread scripts\cp\_vo::try_to_play_vo("player_purchase_assault","zmb_comment_vo","low",10,0,1,0,40);
|
|
break;
|
|
|
|
case "iw7_sdflmg_zm":
|
|
param_01 thread scripts\cp\_vo::try_to_play_vo("purchase_weapon","zmb_comment_vo","low",10,0,1,0,40);
|
|
break;
|
|
|
|
case "iw7_sdfshotty_zm":
|
|
param_01 thread scripts\cp\_vo::try_to_play_vo("player_purchase_shotgun","zmb_comment_vo","low",10,0,1,0,40);
|
|
break;
|
|
|
|
case "iw7_shredder_zm_pap1":
|
|
case "iw7_shredder_zm":
|
|
param_01 thread scripts\cp\_vo::try_to_play_vo("player_purchase_wonder","zmb_comment_vo","low",10,0,1,0,40);
|
|
break;
|
|
|
|
case "iw7_sonic_zmr":
|
|
case "iw7_sonic_zm":
|
|
param_01 thread scripts\cp\_vo::try_to_play_vo("player_purchase_shotgun","zmb_comment_vo","low",10,0,1,0,40);
|
|
break;
|
|
|
|
case "iw7_spas_zm":
|
|
param_01 thread scripts\cp\_vo::try_to_play_vo("player_purchase_shotgun","zmb_comment_vo","low",10,0,1,0,40);
|
|
break;
|
|
|
|
case "iw7_steeldragon_zm":
|
|
param_01 thread scripts\cp\_vo::try_to_play_vo("player_purchase_wonder","zmb_comment_vo","low",10,0,1,0,40);
|
|
break;
|
|
|
|
case "iw7_ump45_zml":
|
|
param_01 thread scripts\cp\_vo::try_to_play_vo("player_purchase_smg","zmb_comment_vo","low",10,0,1,0,40);
|
|
break;
|
|
|
|
case "iw7_spasc_zm":
|
|
param_01 thread scripts\cp\_vo::try_to_play_vo("player_purchase_shotgun","zmb_comment_vo","low",10,0,1,0,40);
|
|
break;
|
|
|
|
default:
|
|
param_01 thread scripts\cp\_vo::try_to_play_vo("purchase_weapon","zmb_comment_vo","low",10,0,1,0,40);
|
|
break;
|
|
}
|
|
}
|
|
|
|
//Function Number: 42
|
|
func_383D(param_00)
|
|
{
|
|
var_01 = self getweaponslistall();
|
|
var_02 = undefined;
|
|
var_03 = undefined;
|
|
var_04 = scripts\cp\_utility::func_80D8(param_00);
|
|
foreach(var_06 in var_01)
|
|
{
|
|
var_03 = scripts\cp\_utility::func_80D8(var_06);
|
|
if(var_03 == var_04)
|
|
{
|
|
var_02 = var_06;
|
|
break;
|
|
}
|
|
}
|
|
|
|
if(isdefined(var_02))
|
|
{
|
|
var_08 = self getweaponammostock(var_02);
|
|
var_09 = function_0249(var_02);
|
|
var_0A = lib_0CFF::func_D876();
|
|
var_0B = int(var_0A * var_09);
|
|
if(var_08 < var_0B)
|
|
{
|
|
return 1;
|
|
}
|
|
else if(function_0249(var_02) == weaponclipsize(var_02) && self getweaponammoclip(var_02) < weaponclipsize(var_02))
|
|
{
|
|
return 1;
|
|
}
|
|
else
|
|
{
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
return 1;
|
|
}
|
|
|
|
//Function Number: 43
|
|
func_9A33(param_00)
|
|
{
|
|
self endon("disconnect");
|
|
if(isdefined(level.should_post_activate_delay_func))
|
|
{
|
|
if(![[ level.should_post_activate_delay_func ]](param_00))
|
|
{
|
|
return;
|
|
}
|
|
}
|
|
|
|
if(func_9A18(param_00))
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(func_9A15(param_00))
|
|
{
|
|
return;
|
|
}
|
|
|
|
scripts\cp\_utility::func_1C5D(0);
|
|
wait(1.5);
|
|
if(!scripts\cp\_utility::func_213E())
|
|
{
|
|
scripts\cp\_utility::func_1C5D(1);
|
|
}
|
|
}
|
|
|
|
//Function Number: 44
|
|
func_50FA()
|
|
{
|
|
wait(0.25);
|
|
self.var_127BA = undefined;
|
|
}
|
|
|
|
//Function Number: 45
|
|
remove_from_current_interaction_list(param_00)
|
|
{
|
|
if(scripts\common\utility::func_2286(level.current_interaction_structs,param_00))
|
|
{
|
|
level.current_interaction_structs = scripts\common\utility::func_22A9(level.current_interaction_structs,param_00);
|
|
}
|
|
}
|
|
|
|
//Function Number: 46
|
|
add_to_current_interaction_list(param_00)
|
|
{
|
|
if(!scripts\common\utility::func_2286(level.current_interaction_structs,param_00))
|
|
{
|
|
level.current_interaction_structs = scripts\common\utility::array_add(level.current_interaction_structs,param_00);
|
|
}
|
|
}
|
|
|
|
//Function Number: 47
|
|
func_E01A(param_00,param_01)
|
|
{
|
|
param_01.var_55BB = scripts\common\utility::array_add(param_01.var_55BB,param_00);
|
|
}
|
|
|
|
//Function Number: 48
|
|
func_175D(param_00,param_01)
|
|
{
|
|
param_01.var_55BB = scripts\common\utility::func_22A9(param_01.var_55BB,param_00);
|
|
}
|
|
|
|
//Function Number: 49
|
|
func_383E(param_00,param_01,param_02,param_03)
|
|
{
|
|
if(isdefined(param_00.var_EE04) && param_00.var_EE04 == "afterlife")
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
if(lib_0D12::func_9DDF(self))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(isdefined(param_01))
|
|
{
|
|
var_04 = param_01;
|
|
}
|
|
else if(interaction_is_sliding_door(param_01))
|
|
{
|
|
var_04 = 0;
|
|
}
|
|
else
|
|
{
|
|
var_04 = level.interactions[param_01.script_noteworthy].cost;
|
|
}
|
|
|
|
if(func_9A1A(param_00))
|
|
{
|
|
switch(self.var_3A52)
|
|
{
|
|
case 0:
|
|
var_04 = level.var_732C;
|
|
break;
|
|
|
|
default:
|
|
var_04 = level.var_732D;
|
|
break;
|
|
}
|
|
}
|
|
else if(func_9A29(param_00) && !scripts\cp\_weapon::func_385F(self getcurrentweapon()))
|
|
{
|
|
if(scripts\common\utility::istrue(level.has_picked_up_fuses) && !isdefined(level.placed_alien_fuses))
|
|
{
|
|
return 1;
|
|
}
|
|
else
|
|
{
|
|
return 0;
|
|
}
|
|
}
|
|
else if(func_9A1D(param_00))
|
|
{
|
|
if((scripts\cp\_utility::isplayingsolo() || level.only_one_player) && param_00.var_CA4C == "perk_machine_revive" && !scripts\cp\_utility::has_zombie_perk("perk_machine_revive") && self.var_F1E7 >= self.max_self_revive_machine_use)
|
|
{
|
|
return 0;
|
|
}
|
|
}
|
|
else if(func_9A22(param_00))
|
|
{
|
|
var_05 = 0;
|
|
switch(param_00.script_side)
|
|
{
|
|
case "moon":
|
|
if(!isdefined(level.moon_donations) || level.moon_donations < 3)
|
|
{
|
|
var_05 = 1;
|
|
}
|
|
break;
|
|
|
|
case "kepler":
|
|
if(!isdefined(level.kepler_donations) || level.kepler_donations < 3)
|
|
{
|
|
var_05 = 1;
|
|
}
|
|
break;
|
|
|
|
case "triton":
|
|
if(!isdefined(level.triton_donations) || level.triton_donations < 3)
|
|
{
|
|
var_05 = 1;
|
|
}
|
|
break;
|
|
}
|
|
|
|
if(!var_05)
|
|
{
|
|
return 0;
|
|
}
|
|
}
|
|
else if(interaction_is_chi_door(param_00))
|
|
{
|
|
switch(param_00.script_noteworthy)
|
|
{
|
|
case "chi_0":
|
|
if(param_01 != 0)
|
|
{
|
|
break;
|
|
}
|
|
|
|
if(!isdefined(level.kungfu_weapons) || !isdefined(scripts\common\utility::func_2291(level.kungfu_weapons[0],param_03)))
|
|
{
|
|
break;
|
|
}
|
|
return 1;
|
|
|
|
case "chi_1":
|
|
if(param_01 != 1)
|
|
{
|
|
break;
|
|
}
|
|
|
|
if(!isdefined(level.kungfu_weapons) || !isdefined(scripts\common\utility::func_2291(level.kungfu_weapons[1],param_03)))
|
|
{
|
|
break;
|
|
}
|
|
return 1;
|
|
|
|
case "chi_2":
|
|
if(param_01 != 2)
|
|
{
|
|
break;
|
|
}
|
|
|
|
if(!isdefined(level.kungfu_weapons) || !isdefined(scripts\common\utility::func_2291(level.kungfu_weapons[2],param_03)))
|
|
{
|
|
break;
|
|
}
|
|
return 1;
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
else if(func_9A28(param_00))
|
|
{
|
|
var_06 = param_00.script_noteworthy;
|
|
if(param_00.var_EE79 == "tickets")
|
|
{
|
|
if(self hasweapon(var_06))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
self.var_A035 = param_00.script_noteworthy;
|
|
level.var_12631 = randomint(100);
|
|
scripts\cp\zombies\zombie_analytics::func_AF75(level.wave_num,self.var_A035,level.var_12631);
|
|
}
|
|
|
|
var_07 = function_0249(param_00.script_noteworthy);
|
|
var_08 = lib_0CFF::func_D876();
|
|
var_09 = int(var_08 * var_07);
|
|
var_0A = self getweaponammostock(var_06);
|
|
if(var_0A >= var_09)
|
|
{
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
if(param_00.var_EE79 == "tickets")
|
|
{
|
|
if(self.num_tickets >= var_04)
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
if(scripts\cp\_persistence::func_D0BB(var_04,param_02))
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
//Function Number: 50
|
|
func_11449(param_00,param_01)
|
|
{
|
|
scripts\cp\_persistence::func_11445(param_00,1,param_01);
|
|
}
|
|
|
|
//Function Number: 51
|
|
func_FF5A(param_00)
|
|
{
|
|
if(!isdefined(param_00))
|
|
{
|
|
}
|
|
|
|
switch(param_00)
|
|
{
|
|
case "wondercard_machine":
|
|
case "atm":
|
|
case "bleedoutPenalty":
|
|
return 0;
|
|
|
|
default:
|
|
return 1;
|
|
}
|
|
}
|
|
|
|
//Function Number: 52
|
|
func_5030(param_00,param_01)
|
|
{
|
|
}
|
|
|
|
//Function Number: 53
|
|
func_7DBA(param_00,param_01)
|
|
{
|
|
var_02 = level.interactions[param_00.script_noteworthy].cost;
|
|
var_03 = scripts\cp\_utility::func_80D8(param_00.script_noteworthy);
|
|
var_04 = param_01 getcurrentweapon();
|
|
var_05 = scripts\cp\_utility::func_7DF7(var_04);
|
|
var_06 = function_0249(var_04);
|
|
var_07 = param_01 lib_0CFF::func_D876();
|
|
var_08 = int(var_07 * var_06);
|
|
var_09 = param_01 getweaponammostock(var_04);
|
|
var_0A = self getweaponslistall();
|
|
foreach(var_0C in var_0A)
|
|
{
|
|
var_0D = scripts\cp\_utility::func_80D8(var_0C);
|
|
if(var_0D == scripts\cp\_utility::func_80D8(param_00.script_noteworthy))
|
|
{
|
|
var_0E = var_0C;
|
|
var_09 = self getweaponammostock(var_0E);
|
|
var_06 = function_0249(var_0E);
|
|
var_08 = int(var_07 * var_06);
|
|
}
|
|
}
|
|
|
|
if(param_00.var_EE79 == "tickets")
|
|
{
|
|
return level.interaction_hintstrings[param_00.script_noteworthy];
|
|
}
|
|
|
|
switch(var_02)
|
|
{
|
|
case 250:
|
|
return &"CP_ZMB_INTERACTIONS_TICKETS_AMMO";
|
|
|
|
case 1500:
|
|
case 1250:
|
|
case 1000:
|
|
case 500:
|
|
return &"COOP_INTERACTIONS_PURCHASE_AMMO";
|
|
|
|
default:
|
|
return &"COOP_INTERACTIONS_PURCHASE_AMMO";
|
|
}
|
|
}
|
|
|
|
//Function Number: 54
|
|
func_502F(param_00,param_01)
|
|
{
|
|
if(param_01 scripts\cp\_weapon::func_8BBB(param_00.script_noteworthy))
|
|
{
|
|
return func_7DBA(param_00,param_01);
|
|
}
|
|
|
|
return undefined;
|
|
}
|
|
|
|
//Function Number: 55
|
|
func_9A3D()
|
|
{
|
|
level endon("game_ended");
|
|
for(;;)
|
|
{
|
|
level waittill("interaction",var_00,var_01,var_02);
|
|
switch(var_00)
|
|
{
|
|
case "wall_buy":
|
|
if(isdefined(var_02.var_DB02))
|
|
{
|
|
if(soundexists("purchase_ammo"))
|
|
{
|
|
var_02 playlocalsound("purchase_ammo");
|
|
}
|
|
}
|
|
else if(isdefined(var_01))
|
|
{
|
|
if(isdefined(var_01.script_noteworthy) && var_01.script_noteworthy == "iw7_venomx_zm")
|
|
{
|
|
if(scripts\common\utility::func_6E34("completepuzzles_step4") && scripts\common\utility::flag("completepuzzles_step4"))
|
|
{
|
|
if(soundexists("purchase_weapon"))
|
|
{
|
|
var_02 playlocalsound("purchase_weapon");
|
|
}
|
|
}
|
|
}
|
|
else if(soundexists("purchase_weapon"))
|
|
{
|
|
var_02 playlocalsound("purchase_weapon");
|
|
}
|
|
}
|
|
else if(soundexists("purchase_weapon"))
|
|
{
|
|
var_02 playlocalsound("purchase_weapon");
|
|
}
|
|
break;
|
|
|
|
case "purchase":
|
|
var_03 = func_7A4B(var_01,var_02);
|
|
if(isdefined(var_03) && soundexists(var_03))
|
|
{
|
|
var_02 playlocalsound(var_03);
|
|
}
|
|
break;
|
|
|
|
case "purchase_denied":
|
|
if(var_01.name == "jaroslav_machine" && soundexists("ui_consumable_purchase_deny"))
|
|
{
|
|
var_02 playlocalsound("ui_consumable_purchase_deny");
|
|
}
|
|
else if(var_01.name == "lost_and_found" && soundexists("lost_and_found_deny"))
|
|
{
|
|
var_02 playlocalsound("lost_and_found_deny");
|
|
}
|
|
else if((soundexists("trap_control_panel_deny") && var_01.name == "beamtrap") || var_01.name == "interaction_discoballtrap" || var_01.name == "scrambler" || var_01.name == "blackhole_trap" || var_01.name == "rockettrap")
|
|
{
|
|
var_02 playlocalsound("trap_control_panel_deny");
|
|
}
|
|
else if(soundexists("purchase_deny"))
|
|
{
|
|
var_02 playlocalsound("purchase_deny");
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 56
|
|
func_7A4B(param_00,param_01)
|
|
{
|
|
var_02 = [];
|
|
switch(param_00.name)
|
|
{
|
|
case "secure_window":
|
|
return undefined;
|
|
|
|
case "lost_and_found":
|
|
var_02 = ["lost_and_found_purchase"];
|
|
break;
|
|
|
|
case "rockettrap":
|
|
case "blackhole_trap":
|
|
case "scrambler":
|
|
case "interaction_discoballtrap":
|
|
case "beamtrap":
|
|
var_02 = ["trap_control_panel_purchase"];
|
|
break;
|
|
|
|
case "sliding_door":
|
|
case "facility_sliding_door_2000":
|
|
case "facility_sliding_door_1500":
|
|
case "facility_sliding_door_1250":
|
|
case "facility_sliding_door_1000":
|
|
case "facility_sliding_door_750":
|
|
case "debris":
|
|
var_02 = ["purchase_door"];
|
|
break;
|
|
|
|
case "team_door_switch":
|
|
var_02 = ["purchase_door"];
|
|
break;
|
|
|
|
case "atm_deposit":
|
|
var_02 = ["atm_deposit"];
|
|
break;
|
|
|
|
case "atm_withdrawal":
|
|
var_02 = ["atm_withdrawal"];
|
|
break;
|
|
|
|
case "repair_kevin":
|
|
case "kevin_battery":
|
|
case "kevin_head":
|
|
case "souvenir_pickup":
|
|
var_02 = ["zmb_item_pickup"];
|
|
break;
|
|
|
|
case "medium_ticket_prize":
|
|
case "small_ticket_prize":
|
|
case "iw7_forgefreeze_zm+forgefreezealtfire":
|
|
case "zfreeze_semtex_mp":
|
|
var_02 = ["purchase_ticket"];
|
|
break;
|
|
|
|
case "large_ticket_prize":
|
|
var_02 = ["ark_purchase"];
|
|
break;
|
|
|
|
case "ark_quest_station":
|
|
var_02 = ["ark_turn_in"];
|
|
break;
|
|
}
|
|
|
|
if(!var_02.size)
|
|
{
|
|
return undefined;
|
|
}
|
|
|
|
return scripts\common\utility::random(var_02);
|
|
}
|
|
|
|
//Function Number: 57
|
|
func_9A34(param_00)
|
|
{
|
|
if(!isdefined(param_00.var_D6B3))
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(isdefined(level.interaction_post_activate_update_func))
|
|
{
|
|
level thread [[ level.interaction_post_activate_update_func ]](param_00,self);
|
|
return;
|
|
}
|
|
|
|
if(isdefined(param_00.var_10485))
|
|
{
|
|
param_00.var_1048E delete();
|
|
param_00.var_1048E = spawn("script_model",param_00.var_1048A);
|
|
param_00.var_1048E setmodel(param_00.var_10489);
|
|
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();
|
|
}
|
|
|
|
if(scripts\cp\_utility::is_valid_player())
|
|
{
|
|
self playlocalsound("zmb_item_pickup");
|
|
}
|
|
|
|
param_00.var_10485 = undefined;
|
|
param_00.var_D6B3 = undefined;
|
|
param_00.var_D742 = undefined;
|
|
param_00.var_47B2 = undefined;
|
|
}
|
|
}
|
|
|
|
//Function Number: 58
|
|
func_9A26(param_00)
|
|
{
|
|
return param_00.script_noteworthy == "trap_electric" || param_00.script_noteworthy == "trap_firebarrel";
|
|
}
|
|
|
|
//Function Number: 59
|
|
func_9A2A(param_00)
|
|
{
|
|
return param_00.script_noteworthy == "white_ark";
|
|
}
|
|
|
|
//Function Number: 60
|
|
func_9A14(param_00)
|
|
{
|
|
return param_00.script_noteworthy == "ark_quest_station";
|
|
}
|
|
|
|
//Function Number: 61
|
|
func_9A15(param_00)
|
|
{
|
|
return param_00.script_noteworthy == "atm_withdrawal" || param_00.script_noteworthy == "atm_deposit";
|
|
}
|
|
|
|
//Function Number: 62
|
|
func_9A1C(param_00)
|
|
{
|
|
return param_00.script_noteworthy == "neil_head";
|
|
}
|
|
|
|
//Function Number: 63
|
|
interactionislostandfound(param_00)
|
|
{
|
|
if(isdefined(param_00.script_noteworthy) && param_00.script_noteworthy == "lost_and_found")
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
if(isdefined(param_00.name) && param_00.name == "lost_and_found")
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
//Function Number: 64
|
|
func_9A2B(param_00)
|
|
{
|
|
return param_00.script_noteworthy == "secure_window";
|
|
}
|
|
|
|
//Function Number: 65
|
|
func_9A1E(param_00)
|
|
{
|
|
return param_00.script_noteworthy == "pillage_item";
|
|
}
|
|
|
|
//Function Number: 66
|
|
func_9A19(param_00)
|
|
{
|
|
return param_00.script_noteworthy == "fast_travel";
|
|
}
|
|
|
|
//Function Number: 67
|
|
func_9A17(param_00)
|
|
{
|
|
return param_00.script_noteworthy == "crafting_station";
|
|
}
|
|
|
|
//Function Number: 68
|
|
func_9A1B(param_00)
|
|
{
|
|
return param_00.script_noteworthy == "power_bioSpike" || param_00.script_noteworthy == "power_c4";
|
|
}
|
|
|
|
//Function Number: 69
|
|
func_9A16(param_00)
|
|
{
|
|
return param_00.script_noteworthy == "crafting_pickup";
|
|
}
|
|
|
|
//Function Number: 70
|
|
func_9A1A(param_00)
|
|
{
|
|
return param_00.script_noteworthy == "jaroslav_machine";
|
|
}
|
|
|
|
//Function Number: 71
|
|
func_9A1D(param_00)
|
|
{
|
|
return isdefined(param_00.var_CA4C);
|
|
}
|
|
|
|
//Function Number: 72
|
|
func_9A42(param_00)
|
|
{
|
|
return param_00.var_E1B9 && !param_00.var_D776;
|
|
}
|
|
|
|
//Function Number: 73
|
|
func_9A21(param_00)
|
|
{
|
|
return isdefined(param_00.var_47B2);
|
|
}
|
|
|
|
//Function Number: 74
|
|
func_D0C5(param_00,param_01)
|
|
{
|
|
if(isdefined(param_01.var_4B5C))
|
|
{
|
|
return param_01.var_4B5C.var_195 == param_00.script_noteworthy;
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
//Function Number: 75
|
|
func_9A2C(param_00)
|
|
{
|
|
return param_00.script_noteworthy == "crafted_windowtrap";
|
|
}
|
|
|
|
//Function Number: 76
|
|
interaction_is_challenge_station(param_00)
|
|
{
|
|
return isdefined(param_00.var_86A2) && param_00.var_86A2 == "challenge";
|
|
}
|
|
|
|
//Function Number: 77
|
|
func_9A27(param_00,param_01)
|
|
{
|
|
if(param_01 method_84D9())
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(isdefined(param_00.var_127BA))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(!scripts\common\utility::func_2286(level.current_interaction_structs,param_00))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(scripts\common\utility::istrue(param_00.out_of_order))
|
|
{
|
|
level notify("player_accessed_interaction_on_cooldown",param_01);
|
|
return 0;
|
|
}
|
|
|
|
if(scripts\common\utility::istrue(param_00.var_93A8))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(func_9A42(param_00))
|
|
{
|
|
level notify("player_accessed_nonpowered_interaction",param_01,param_00);
|
|
if(isdefined(param_00.var_CA4C) && soundexists("perk_machine_deny"))
|
|
{
|
|
param_01 playlocalsound("perk_machine_deny");
|
|
}
|
|
else
|
|
{
|
|
param_01 playlocalsound("purchase_deny");
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
if(isdefined(param_00.var_4622))
|
|
{
|
|
level notify("player_accessed_interaction_on_cooldown",param_01,param_00);
|
|
return 0;
|
|
}
|
|
|
|
if(scripts\common\utility::func_2286(param_01.var_55BB,param_00))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
return 1;
|
|
}
|
|
|
|
//Function Number: 78
|
|
func_9A29(param_00)
|
|
{
|
|
return param_00.script_noteworthy == "weapon_upgrade";
|
|
}
|
|
|
|
//Function Number: 79
|
|
interaction_is_sliding_door(param_00)
|
|
{
|
|
return isdefined(param_00.script_noteworthy) && param_00.script_noteworthy == "facility_sliding_door_750" || param_00.script_noteworthy == "facility_sliding_door_1000" || param_00.script_noteworthy == "facility_sliding_door_1250" || param_00.script_noteworthy == "facility_sliding_door_1500" || param_00.script_noteworthy == "facility_sliding_door_2000";
|
|
}
|
|
|
|
//Function Number: 80
|
|
func_9A28(param_00)
|
|
{
|
|
if(isdefined(param_00.name))
|
|
{
|
|
return param_00.name == "wall_buy";
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
//Function Number: 81
|
|
func_9A18(param_00)
|
|
{
|
|
return param_00.script_noteworthy == "debris_350" || param_00.script_noteworthy == "debris_750" || param_00.script_noteworthy == "debris_1000" || param_00.script_noteworthy == "debris_1250" || param_00.script_noteworthy == "debris_1500" || param_00.script_noteworthy == "debris_2000" || param_00.script_noteworthy == "team_door_switch" || param_00.script_noteworthy == "team_door";
|
|
}
|
|
|
|
//Function Number: 82
|
|
func_9A22(param_00)
|
|
{
|
|
return param_00.script_noteworthy == "power_door_sliding" || param_00.script_noteworthy == "team_door_switch" || param_00.script_noteworthy == "team_door";
|
|
}
|
|
|
|
//Function Number: 83
|
|
interaction_is_chi_door(param_00)
|
|
{
|
|
return param_00.script_noteworthy == "chi_0" || param_00.script_noteworthy == "chi_1" || param_00.script_noteworthy == "chi_2";
|
|
}
|
|
|
|
//Function Number: 84
|
|
func_9A24(param_00)
|
|
{
|
|
return param_00.script_noteworthy == "small_ticket_prize" || param_00.script_noteworthy == "medium_ticket_prize" || param_00.script_noteworthy == "arcade_counter_grenade" || param_00.script_noteworthy == "arcade_counter_ammo" || param_00.script_noteworthy == "large_ticket_prize" || param_00.script_noteworthy == "zfreeze_semtex_mp" || param_00.script_noteworthy == "iw7_forgefreeze_zm+forgefreezealtfire" || param_00.script_noteworthy == "gold_teeth";
|
|
}
|
|
|
|
//Function Number: 85
|
|
func_9A1F(param_00)
|
|
{
|
|
return isdefined(param_00.var_D742);
|
|
}
|
|
|
|
//Function Number: 86
|
|
func_D0C3(param_00)
|
|
{
|
|
return scripts\cp\powers\coop_powers::func_8C17(param_00.var_D742);
|
|
}
|
|
|
|
//Function Number: 87
|
|
func_3867(param_00)
|
|
{
|
|
if(scripts\cp\_utility::has_zombie_perk(param_00.var_CA4C))
|
|
{
|
|
return 0;
|
|
}
|
|
else if(self.var_F1E7 >= self.max_self_revive_machine_use && param_00.var_CA4C == "perk_machine_revive")
|
|
{
|
|
return 0;
|
|
}
|
|
else if(isdefined(self.var_13FA4) && self.var_13FA4.size > 4 && !scripts\common\utility::istrue(self.have_permanent_perks))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
return 1;
|
|
}
|
|
|
|
//Function Number: 88
|
|
func_9A3C(param_00,param_01,param_02,param_03)
|
|
{
|
|
thread interaction_fail_internal(param_00,param_01,param_02,param_03);
|
|
}
|
|
|
|
//Function Number: 89
|
|
interaction_fail_internal(param_00,param_01,param_02,param_03)
|
|
{
|
|
self endon("disconnect");
|
|
level notify("interaction","purchase_denied",level.interactions[param_00.script_noteworthy],self);
|
|
self.var_50BC = 1;
|
|
self.var_9A3F sethintstring(param_01);
|
|
wait(1);
|
|
self.var_50BC = undefined;
|
|
func_F422(self.var_9A3F,param_00);
|
|
}
|
|
|
|
//Function Number: 90
|
|
func_554F(param_00)
|
|
{
|
|
var_01 = scripts\common\utility::getstructarray(param_00.script_noteworthy,"script_noteworthy");
|
|
foreach(var_03 in var_01)
|
|
{
|
|
if(var_03.target == param_00.target)
|
|
{
|
|
scripts\cp\zombies\zombie_analytics::func_AF74(var_03.name,0);
|
|
remove_from_current_interaction_list(var_03);
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 91
|
|
func_6214(param_00)
|
|
{
|
|
var_01 = scripts\common\utility::getstructarray(param_00.script_noteworthy,"script_noteworthy");
|
|
foreach(var_03 in var_01)
|
|
{
|
|
if(var_03.target == param_00.target)
|
|
{
|
|
scripts\cp\zombies\zombie_analytics::func_AF74(var_03.name,1);
|
|
add_to_current_interaction_list(var_03);
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 92
|
|
disable_like_interactions(param_00)
|
|
{
|
|
var_01 = scripts\common\utility::getstructarray(param_00.script_noteworthy,"script_noteworthy");
|
|
foreach(var_03 in var_01)
|
|
{
|
|
scripts\cp\zombies\zombie_analytics::func_AF74(var_03.name,0);
|
|
remove_from_current_interaction_list(var_03);
|
|
}
|
|
}
|
|
|
|
//Function Number: 93
|
|
enable_like_interactions(param_00)
|
|
{
|
|
var_01 = scripts\common\utility::getstructarray(param_00.script_noteworthy,"script_noteworthy");
|
|
foreach(var_03 in var_01)
|
|
{
|
|
scripts\cp\zombies\zombie_analytics::func_AF74(var_03.name,1);
|
|
add_to_current_interaction_list(var_03);
|
|
}
|
|
}
|
|
|
|
//Function Number: 94
|
|
func_9A0D(param_00,param_01)
|
|
{
|
|
var_02 = scripts\common\utility::getstructarray(param_00.script_noteworthy,"script_noteworthy");
|
|
foreach(var_04 in var_02)
|
|
{
|
|
if(var_04.target == param_00.target)
|
|
{
|
|
var_04.var_4622 = 1;
|
|
}
|
|
}
|
|
|
|
if(scripts\common\utility::istrue(level.var_4614))
|
|
{
|
|
wait(1);
|
|
}
|
|
else
|
|
{
|
|
level scripts\common\utility::waittill_any_timeout_1(param_01,"override_cooldowns");
|
|
}
|
|
|
|
foreach(var_04 in var_02)
|
|
{
|
|
if(var_04.target == param_00.target)
|
|
{
|
|
var_04.var_4622 = undefined;
|
|
}
|
|
}
|
|
|
|
var_08 = 5184;
|
|
foreach(var_0A in level.players)
|
|
{
|
|
foreach(var_04 in var_02)
|
|
{
|
|
if(distancesquared(var_0A.origin,var_04.origin) >= var_08)
|
|
{
|
|
continue;
|
|
}
|
|
|
|
var_0A func_DE6E();
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 95
|
|
func_7A90(param_00)
|
|
{
|
|
var_01 = [];
|
|
var_02 = scripts\common\utility::getstructarray(param_00.script_noteworthy,"script_noteworthy");
|
|
foreach(var_04 in var_02)
|
|
{
|
|
if(var_04.target == param_00.target)
|
|
{
|
|
var_01[var_01.size] = var_04;
|
|
}
|
|
}
|
|
|
|
return var_01;
|
|
}
|
|
|
|
//Function Number: 96
|
|
func_DE6E()
|
|
{
|
|
if(isdefined(self.var_9A3F.name))
|
|
{
|
|
scripts\cp\zombies\zombie_analytics::func_AF74(self.var_9A3F.name,0);
|
|
}
|
|
|
|
self notify("stop_interaction_logic");
|
|
self.var_A8D3 = undefined;
|
|
self.var_9A3F method_852E();
|
|
self setclientomnvar("zm_interaction_cost",-1);
|
|
}
|
|
|
|
//Function Number: 97
|
|
func_9A3A(param_00)
|
|
{
|
|
return scripts\common\utility::istrue(param_00.var_E1B9) && isdefined(param_00.var_D71C);
|
|
}
|
|
|
|
//Function Number: 98
|
|
func_55A2()
|
|
{
|
|
var_00 = scripts\common\utility::getstructarray("interaction","targetname");
|
|
foreach(var_02 in var_00)
|
|
{
|
|
if(func_9A28(var_02) || func_9A1B(var_02) || func_9A24(var_02) || isdefined(var_02.var_EE79) && var_02.var_EE79 == "tickets")
|
|
{
|
|
var_02.var_55BA = 1;
|
|
scripts\cp\zombies\zombie_analytics::func_AF74(var_02.name,0);
|
|
continue;
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 99
|
|
func_55A3(param_00)
|
|
{
|
|
var_01 = scripts\common\utility::getstructarray("interaction","targetname");
|
|
foreach(var_03 in var_01)
|
|
{
|
|
if(func_9A28(var_03) || func_9A1B(var_03) || func_9A24(var_03) || isdefined(var_03.var_EE79) && var_03.var_EE79 == "tickets")
|
|
{
|
|
scripts\cp\zombies\zombie_analytics::func_AF74(var_03.name,0);
|
|
func_E01A(var_03,param_00);
|
|
continue;
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 100
|
|
func_6255(param_00)
|
|
{
|
|
var_01 = scripts\common\utility::getstructarray("interaction","targetname");
|
|
foreach(var_03 in var_01)
|
|
{
|
|
if(func_9A28(var_03) || func_9A1B(var_03) || func_9A24(var_03) || isdefined(var_03.var_EE79) && var_03.var_EE79 == "tickets")
|
|
{
|
|
scripts\cp\zombies\zombie_analytics::func_AF74(var_03.name,1);
|
|
func_175D(var_03,param_00);
|
|
continue;
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 101
|
|
func_1048D(param_00,param_01)
|
|
{
|
|
foreach(var_03 in level.players)
|
|
{
|
|
var_03 thread scripts\cp\_hud_message::func_10151(param_00,undefined,param_01);
|
|
wait(0.1);
|
|
}
|
|
}
|
|
|
|
//Function Number: 102
|
|
atm_deposit_hint(param_00,param_01)
|
|
{
|
|
if(exceed_deposit_limit(param_01))
|
|
{
|
|
return "";
|
|
}
|
|
|
|
return level.interaction_hintstrings[param_00.script_noteworthy];
|
|
}
|
|
|
|
//Function Number: 103
|
|
exceed_deposit_limit(param_00)
|
|
{
|
|
var_01 = -15536;
|
|
if(!isdefined(level.atm_total_deposit_amount))
|
|
{
|
|
level.atm_total_deposit_amount = [];
|
|
}
|
|
|
|
var_02 = param_00.name;
|
|
if(!isdefined(level.atm_total_deposit_amount[var_02]))
|
|
{
|
|
level.atm_total_deposit_amount[var_02] = 0;
|
|
}
|
|
|
|
return level.atm_total_deposit_amount[var_02] >= var_01;
|
|
}
|
|
|
|
//Function Number: 104
|
|
increase_total_deposit_amount(param_00,param_01)
|
|
{
|
|
var_02 = param_00.name;
|
|
level.atm_total_deposit_amount[var_02] = level.atm_total_deposit_amount[var_02] + param_01;
|
|
} |