/******************************************************************* * 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; }