IL-GSC/IW/PC/ALL/3417.gsc
2023-10-27 03:49:01 -04:00

4847 lines
113 KiB
Plaintext

/*******************************************************************
* Decompiled By: Bog
* Decompiled File: 3417.gsc
* Game: Call of Duty: Infinite Warfare
* Platform: PC
* Function Count: 168
* Decompile Time: 153 ms
* Timestamp: 10/27/2023 12:27:09 AM
*******************************************************************/
//Function Number: 1
func_9589()
{
level.var_456B = [];
setup_irish_luck_consumables();
func_C8FE();
}
//Function Number: 2
setup_irish_luck_consumables()
{
level.irish_luck_consumables = [];
level.irish_luck_consumables["grenade_cooldown"] = [];
level.irish_luck_consumables["spawn_reboard_windows"] = [];
level.irish_luck_consumables["burned_out"] = [];
level.irish_luck_consumables["faster_health_regen_upgrade"] = [];
level.irish_luck_consumables["sniper_soft_upgrade"] = [];
level.irish_luck_consumables["extra_sniping_points"] = [];
level.irish_luck_consumables["shock_melee_upgrade"] = [];
level.irish_luck_consumables["penetration_gun"] = [];
level.irish_luck_consumables["bonus_damage_on_last_bullets"] = [];
level.irish_luck_consumables["reload_damage_increase"] = [];
level.irish_luck_consumables["door_buy_refund"] = [];
level.irish_luck_consumables["faster_window_reboard"] = [];
level.irish_luck_consumables["headshot_explosion"] = [];
level.irish_luck_consumables["increased_melee_damage"] = [];
level.irish_luck_consumables["sharp_shooter_upgrade"] = [];
level.irish_luck_consumables["spawn_double_money"] = [];
level.irish_luck_consumables["anywhere_but_here"] = [];
level.irish_luck_consumables["atomizer_gun"] = [];
level.irish_luck_consumables["bh_gun"] = [];
level.irish_luck_consumables["claw_gun"] = [];
level.irish_luck_consumables["damage_booster_upgrade"] = [];
level.irish_luck_consumables["headshot_reload"] = [];
level.irish_luck_consumables["hit_reward_upgrade"] = [];
level.irish_luck_consumables["killing_time"] = [];
level.irish_luck_consumables["slow_enemy_movement"] = [];
level.irish_luck_consumables["spawn_infinite_ammo"] = [];
level.irish_luck_consumables["spawn_instakill"] = [];
level.irish_luck_consumables["spawn_max_ammo"] = [];
level.irish_luck_consumables["spawn_nuke"] = [];
level.irish_luck_consumables["wall_power"] = [];
level.irish_luck_consumables["ephemeral_enhancement"] = [];
level.irish_luck_consumables["secret_service"] = [];
level.irish_luck_consumables["cant_miss"] = [];
level.irish_luck_consumables["spawn_fire_sale"] = [];
level.irish_luck_consumables["self_revive"] = [];
level.irish_luck_consumables["just_a_flesh_wound"] = [];
level.irish_luck_consumables["force_push_near_death"] = [];
level.irish_luck_consumables["next_purchase_free"] = [];
level.irish_luck_consumables["masochist"] = [];
level.irish_luck_consumables["magic_wheel_upgrade"] = [];
level.irish_luck_consumables["steel_dragon"] = [];
level.irish_luck_consumables["timely_torrent"] = [];
level.irish_luck_consumables["purify"] = [];
level.irish_luck_consumables["explosive_touch"] = [];
level.irish_luck_consumables["shared_fate"] = [];
level.irish_luck_consumables["fire_chains"] = [];
level.irish_luck_consumables["temporal_increase"] = [];
level.irish_luck_consumables["twist_of_fate"] = [];
level.irish_luck_consumables["dodge_mode"] = [];
level.irish_luck_consumables["ammo_crate"] = [];
level.irish_luck_consumables["stimulus"] = [];
level.irish_luck_consumables_gotten = [];
}
//Function Number: 3
func_C8FE()
{
if(isdefined(level.var_4569))
{
var_00 = level.var_4569;
}
else
{
var_00 = "cp/loot/iw7_zombiefatefortune_loot_master.csv";
}
var_01 = 0;
for(;;)
{
var_02 = tablelookupbyrow(var_00,var_01,1);
if(var_02 == "")
{
break;
}
var_03 = tablelookupbyrow(var_00,var_01,6);
var_04 = int(tablelookupbyrow(var_00,var_01,7));
var_05 = int(tablelookupbyrow(var_00,var_01,8));
var_06 = int(tablelookupbyrow(var_00,var_01,9));
func_DEA4(var_02,var_03,var_04,var_05,var_06,::func_82B2,::func_DFDD);
var_01++;
}
func_4565("ephemeral_enhancement",::func_12FEA,undefined,undefined,1);
func_4565("grenade_cooldown",::func_12FF1,undefined,::func_12955,undefined);
func_4565("reload_damage_increase",::func_13006,undefined,undefined,undefined);
func_4565("headshot_reload",::func_12FF2,undefined,undefined,undefined);
func_4565("anywhere_but_here",::func_12FA2,undefined,undefined,undefined);
func_4565("now_you_see_me",::func_12FFF,undefined,undefined,undefined);
func_4565("killing_time",::func_12FF6,undefined,undefined,undefined);
func_4565("phoenix_up",::func_13002,undefined,undefined,1);
func_4565("spawn_instakill",::func_1301A,undefined,undefined,1);
func_4565("spawn_fire_sale",::func_13018,undefined,undefined,1);
func_4565("spawn_nuke",::func_1301C,undefined,undefined,1);
func_4565("spawn_double_money",::func_13017,undefined,undefined,1);
func_4565("spawn_max_ammo",::func_1301B,undefined,undefined,1);
func_4565("spawn_reboard_windows",::func_1301D,undefined,undefined,1);
func_4565("spawn_infinite_ammo",::func_13019,undefined,undefined,1);
func_4565("bh_gun",::func_12FAC,undefined,undefined,1);
func_4565("atomizer_gun",::func_12FA6,undefined,undefined,1);
func_4565("claw_gun",::func_12FBB,undefined,undefined,1);
func_4565("steel_dragon",::func_1302A,undefined,undefined,1);
func_4565("penetration_gun",::func_13001,undefined,undefined,1);
func_4565("life_link",::func_12FF8,undefined,undefined,undefined);
func_4565("slow_enemy_movement",::func_13012,undefined,undefined,undefined);
func_4565("increased_team_efficiency",::func_12FF5,undefined,undefined,undefined);
func_4565("welfare",::func_13038,undefined,undefined,undefined);
func_4565("cant_miss",::func_12FB4,undefined,undefined,undefined);
func_4565("self_revive",::func_1300E,undefined,undefined,undefined);
func_4565("force_push_near_death",::func_12FED,undefined,undefined,undefined);
func_4565("masochist",::func_12FFB,undefined,undefined,undefined);
func_4565("timely_torrent",::use_timely_torrent,undefined,undefined,1);
func_4565("purify",::use_purify,undefined,undefined,undefined);
func_4565("explosive_touch",::use_explosive_touch,undefined,undefined,undefined);
func_4565("shared_fate",::use_shared_fate,undefined,undefined,undefined);
func_4565("fire_chains",::use_fire_chains,undefined,undefined,undefined);
func_4565("irish_luck",::use_irish_luck,undefined,undefined,undefined);
func_4565("temporal_increase",::use_temporal_increase,undefined,undefined,undefined);
func_4565("twist_of_fate",::use_twister,undefined,undefined,undefined);
func_4565("dodge_mode",::use_dodge_mode,undefined,undefined,undefined);
func_4565("ammo_crate",::use_ammo_crate,undefined,undefined,undefined);
func_4565("stimulus",::use_stimulus,undefined,undefined,undefined);
func_4565("activate_gns_machine",::use_activate_gns_machine,undefined,undefined,undefined);
func_4565("double_pap_weap",::use_get_pap2_gun,undefined,undefined,undefined);
}
//Function Number: 4
func_DEA4(param_00,param_01,param_02,param_03,param_04,param_05,param_06)
{
var_07 = spawnstruct();
var_07.type = param_01;
var_07.var_130D1 = param_02;
var_07.var_12F9A = param_03;
var_07.var_C948 = param_04;
var_07.var_F286 = param_05;
var_07.var_12BF4 = param_06;
var_07.var_1193C = param_00 + "_timeup";
level.var_456B[param_00] = var_07;
foreach(var_0A, var_09 in level.irish_luck_consumables)
{
if(var_0A == param_00)
{
level.irish_luck_consumables[param_00] = level.var_456B[param_00];
level.irish_luck_consumables[param_00].name = param_00;
}
}
}
//Function Number: 5
func_4565(param_00,param_01,param_02,param_03,param_04)
{
var_05 = level.var_456B[param_00];
if(isdefined(param_01))
{
var_05.var_13089 = param_01;
}
if(isdefined(param_02))
{
var_05.var_F286 = param_02;
}
if(isdefined(param_03))
{
var_05.var_12BF4 = param_03;
}
if(isdefined(param_04))
{
var_05.var_1174E = param_04;
}
}
//Function Number: 6
func_96DB()
{
func_F949();
func_F524();
func_1297A(1);
func_9588();
func_958C();
}
//Function Number: 7
func_9588()
{
thread func_B69D();
}
//Function Number: 8
func_958C()
{
self.var_4572 = [];
self setplayerdata("common","numConsumables",0);
for(var_00 = 0;var_00 < 32;var_00++)
{
self setplayerdata("common","consumablesUsed",var_00,0);
}
}
//Function Number: 9
func_F524()
{
self.var_456B = [];
for(var_00 = 0;var_00 < 5;var_00++)
{
var_01 = self getplayerdata("cp","zombiePlayerLoadout","zombie_consumables",var_00);
self.var_456B[var_01] = spawnstruct();
self.var_456B[var_01].var_130D1 = level.var_456B[var_01].var_130D1;
self.var_456B[var_01].var_C4A4 = 0;
self.var_456B[var_01].var_11925 = 0;
}
self.consumables_pre_irish_luck_usage = self.var_456B;
}
//Function Number: 10
func_1297A(param_00)
{
var_01 = func_788C(self);
self setclientomnvar("zm_consumables_remaining",var_01);
self setclientomnvar("zm_dpad_up_activated",4);
self.var_1030B = [];
self playlocalsound("zmb_fnf_replenish");
for(var_02 = 0;var_02 < var_01;var_02++)
{
self.var_1030B[self.var_1030B.size] = var_02;
self setclientomnvarbit("zm_card_selection_count",var_02,1);
}
func_12DE5(0);
}
//Function Number: 11
reset_meter()
{
self notify("give_new_deck");
self.var_4560 = 0;
func_9588();
thread func_ACAF();
self setclientomnvar("zm_dpad_up_activated",5);
self setclientomnvar("zm_consumable_selection_ready",0);
}
//Function Number: 12
func_788C(param_00)
{
var_01 = param_00 isitemunlocked("fate_card_slot_4","fatedecksize",1);
var_02 = param_00 isitemunlocked("fate_card_slot_5","fatedecksize",1);
var_03 = 3;
if(var_01 && var_02)
{
var_03 = 5;
}
else if(var_01 && !var_02)
{
var_03 = 4;
}
else if(!var_01 && !var_02)
{
var_03 = 3;
}
return var_03;
}
//Function Number: 13
func_F949()
{
self method_8299(1,"");
self method_8299(2,"");
self method_8299(3,"");
self method_8299(4,"");
self notifyonplayercommand("D_pad_up","+actionslot 1");
self notifyonplayercommand("D_pad_down","+actionslot 2");
thread func_13950("super_default_zm");
}
//Function Number: 14
func_13950(param_00)
{
level endon("game_ended");
self endon("disconnect");
for(;;)
{
self waittill("offhand_fired",var_01);
if(var_01 == param_00)
{
if(scripts\common\utility::istrue(self.inlaststand))
{
self setweaponammoclip(param_00,1);
continue;
}
self notify("fired_super");
self setweaponammoclip(param_00,1);
}
}
}
//Function Number: 15
func_5B00()
{
level endon("game_ended");
self endon("disconnect");
self endon("consumable_selected");
self endon("give_new_deck");
var_00 = 0;
self setclientomnvar("zm_consumable_selection_ready",1);
func_12DE5(var_00);
self.deck_select_ready = 1;
for(;;)
{
var_01 = scripts\common\utility::func_13734("D_pad_up","D_pad_down","fired_super");
if(self.var_1030B.size <= 0 || scripts\common\utility::istrue(level.disable_consumables) || scripts\common\utility::istrue(self.disable_consumables) || scripts\common\utility::istrue(self.var_1097A) || scripts\common\utility::istrue(self.inlaststand))
{
self playlocalsound("ui_consumable_deny");
wait(0.25);
continue;
}
if(var_01 == "fired_super")
{
self.deck_select_ready = undefined;
thread func_4557(self.var_1030B[var_00],var_00);
}
else if(var_01 == "D_pad_up" && self.var_1030B.size > 1)
{
self setclientomnvar("zm_dpad_pressed",1);
var_00 = func_7C52(var_00 + 1,0,self.var_1030B.size - 1);
func_12DE5(var_00);
self playlocalsound("ui_consumable_scroll");
}
else if(var_01 == "D_pad_down" && self.var_1030B.size > 1)
{
self setclientomnvar("zm_dpad_pressed",1);
var_00 = func_7C52(var_00 - 1,0,self.var_1030B.size - 1);
func_12DE5(var_00);
self playlocalsound("ui_consumable_scroll");
}
scripts\common\utility::func_136F7();
self setclientomnvar("zm_dpad_pressed",0);
}
}
//Function Number: 16
func_12DE5(param_00)
{
wait(0.1);
self setclientomnvar("zm_consumable_deck_slot_on",self.var_1030B[param_00]);
self setclientomnvar("zm_consumables_slot_count",param_00 + 1);
}
//Function Number: 17
func_7C52(param_00,param_01,param_02)
{
if(param_00 > param_02)
{
return param_01;
}
if(param_00 < param_01)
{
return param_02;
}
return param_00;
}
//Function Number: 18
func_DFD4(param_00)
{
self.var_1030B = scripts\common\utility::func_22A9(self.var_1030B,self.var_1030B[param_00]);
self setclientomnvar("zm_consumables_remaining",self.var_1030B.size);
if(isdefined(self.var_1030B[0]))
{
self setclientomnvar("zm_consumable_deck_slot_on",self.var_1030B[0]);
}
}
//Function Number: 19
func_4557(param_00,param_01)
{
var_02 = self getplayerdata("cp","zombiePlayerLoadout","zombie_consumables",param_00);
var_03 = "zm_card" + param_00 + 1 + "_drain";
var_04 = "slot_" + param_00 + 1 + "_used";
self.var_456B[var_02].var_1307B = var_04;
if(var_02 == "irish_luck")
{
thread consumable_activate_internal_irish(var_02,var_03,"zm_dpad_up_uses","zm_dpad_up_activated",var_04,param_00,param_01);
return;
}
thread func_4558(var_02,var_03,"zm_dpad_up_uses","zm_dpad_up_activated",var_04,param_00,param_01);
}
//Function Number: 20
func_4558(param_00,param_01,param_02,param_03,param_04,param_05,param_06)
{
self endon("disconnect");
level endon("game_ended");
self endon("dpad_end_" + param_00);
self endon("give_new_deck");
if(self.var_456B[param_00].var_130D1 > 0 && self.var_456B[param_00].var_C4A4 == 0 && !scripts\cp\_laststand::player_in_laststand(self))
{
self setclientomnvar("zm_fate_card_used",param_05);
self.var_456B[param_00].var_D9A1 = 1;
var_07 = undefined;
var_08 = "fired_super";
thread func_F306(param_00);
if(isdefined(level.var_456B[param_00].var_13089))
{
if(isdefined(level.var_456B[param_00].var_1174E))
{
var_07 = self [[ level.var_456B[param_00].var_13089 ]](param_00);
}
else
{
var_07 = self thread [[ level.var_456B[param_00].var_13089 ]](param_00);
}
}
if(!isdefined(var_07) || isdefined(var_07) && var_07)
{
func_4574(self,param_00);
self.var_456B[param_00].var_11925++;
scripts\cp\zombies\zombie_analytics::func_AF6C(1,param_00,level.wave_num,self);
scripts\cp\_merits::func_D9AD("mt_faf_uses");
thread scripts\cp\_vo::try_to_play_vo("wonder_consume","zmb_comment_vo","low",10,0,1,0,40);
if(self.var_456B[param_00].var_11925 == 1)
{
thread decrement_counter_of_consumables(param_00);
}
self setclientomnvar(param_01,1);
thread func_ACAF();
self setclientomnvar("zm_dpad_up_activated",5);
self setclientomnvarbit("zm_card_fill_display",param_05,1);
self setclientomnvar("zm_consumable_selection_ready",0);
func_DFD4(param_06);
thread func_B69D();
self playlocalsound("ui_consumable_select");
func_CCCC(self);
self notify("consumable_selected");
thread scripts\cp\_utility::firegesturegrenade(self,self.var_6BA3);
self.var_4561 = undefined;
thread scripts\cp\_vo::func_E01F("nag_use_fateandfort");
var_09 = level.var_456B[param_00].type;
if(var_09 == "timedactivations")
{
thread func_5B02(param_00,level.var_456B[param_00].var_12F9A,param_01,var_08,param_02,param_03,param_04,param_05);
}
else if(var_09 == "wave")
{
thread func_5B04(param_00,level.var_456B[param_00].var_12F9A,param_01,var_08,param_02,param_03,param_04,param_05);
}
else if(var_09 == "triggernow" || level.var_456B[param_00].type == "triggerwait")
{
thread func_5B01(param_00,level.var_456B[param_00].type,self.var_456B[param_00].var_130D1,param_01,var_08,param_02,param_03,param_04,param_05);
}
else if(var_09 == "triggerpassive")
{
thread func_5B03(param_00,level.var_456B[param_00].var_C948,param_01,var_08,param_02,param_03,param_04,param_05);
}
if(isdefined(var_07))
{
scripts\cp\_utility::func_C151(param_00);
return;
}
return;
}
self playlocalsound("ui_consumable_deny");
self.var_456B[param_00].var_D9A1 = undefined;
}
}
//Function Number: 21
decrement_counter_of_consumables(param_00)
{
var_01 = get_consumable_index_in_player_data(self,param_00);
if(isdefined(var_01))
{
var_02 = self getplayerdata("cp","zombiePlayerLoadout","consumables_counter",var_01);
var_03 = var_02 - 1;
self setplayerdata("cp","zombiePlayerLoadout","consumables_counter",var_01,var_03);
}
}
//Function Number: 22
func_CCCC(param_00)
{
switch(param_00.var_6BA3)
{
case "iw7_jockcard_zm":
param_00 playlocalsound("wondercard_jock_use_gesture");
break;
case "iw7_nerdcard_zm":
param_00 playlocalsound("wondercard_nerd_use_gesture");
break;
case "iw7_valleygirlcard_zm":
param_00 playlocalsound("wondercard_valleygirl_use_gesture");
break;
case "iw7_rappercard_zm":
param_00 playlocalsound("wondercard_rapper_use_gesture");
break;
case "iw7_grungecard_zm":
param_00 playlocalsound("wondercard_gesture_grunge");
break;
case "iw7_cholacard_zm":
param_00 playlocalsound("wondercard_gesture_chola");
break;
case "iw7_ravercard_zm":
param_00 playlocalsound("wondercard_gesture_raver");
break;
case "iw7_hiphopcard_zm":
param_00 playlocalsound("wondercard_gesture_hiphop");
break;
case "iw7_survivorcard_zm":
param_00 playlocalsound("wondercard_gesture_survivor");
break;
case "iw7_wylercard_zm":
param_00 playlocalsound("vm_gest_zmb_willard_wondercard");
break;
default:
param_00 playlocalsound("wondercard_jock_use_gesture");
break;
}
}
//Function Number: 23
func_4574(param_00,param_01)
{
var_02 = func_78DE(param_01);
if(scripts\common\utility::func_2286(param_00.var_4572,var_02))
{
return;
}
var_03 = param_00.var_4572.size;
if(isdefined(level.var_4569))
{
var_04 = level.var_4569;
}
else
{
var_04 = "cp/loot/iw7_zombiefatefortune_loot_master.csv";
}
var_05 = tablelookup(var_04,1,param_01,3);
if(isdefined(var_05))
{
if(var_05 == "Fortune")
{
param_00 setplayerdata("common","consumablesUsed",var_03,int(var_02));
var_06 = param_00 getplayerdata("common","numConsumables");
param_00 setplayerdata("common","numConsumables",var_06 + 1);
param_00.var_4572 = scripts\common\utility::array_add(param_00.var_4572,var_02);
}
}
}
//Function Number: 24
get_consumable_index_in_player_data(param_00,param_01)
{
for(var_02 = 0;var_02 < 5;var_02++)
{
var_03 = param_00 getplayerdata("cp","zombiePlayerLoadout","zombie_consumables",var_02);
if(param_01 == var_03)
{
return var_02;
}
}
return undefined;
}
//Function Number: 25
func_ACB0()
{
self setclientomnvar("lb_gsc_controlled",1);
self setclientomnvar("lb_color",0);
self setclientomnvar("lb_pulse_time",1);
}
//Function Number: 26
func_ACAF()
{
self setclientomnvar("lb_gsc_controlled",0);
}
//Function Number: 27
func_5B02(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07)
{
self endon("disconnect");
self endon(param_00 + "_exited_early");
level endon("game_ended");
thread func_13A3A(param_00,param_04,param_02,param_05,param_06,param_07);
var_08 = 1;
var_09 = var_08 / param_01;
wait(func_7E25());
for(;;)
{
if(!scripts\common\utility::istrue(self.var_1097A) && !scripts\common\utility::istrue(self.inlaststand))
{
self setclientomnvar(param_02,var_08);
var_08 = var_08 - var_09;
if(var_08 <= 0)
{
self setclientomnvar(param_02,0);
func_5510(param_00,param_04,param_02,param_05,param_06,param_07);
break;
}
}
wait(1);
}
}
//Function Number: 28
func_5B04(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07)
{
level endon("game_ended");
self endon("disconnect");
self endon(param_00 + "_exited_early");
thread func_13A3A(param_00,param_04,param_02,param_05,param_06,param_07);
var_08 = 1;
var_09 = var_08 / param_01;
for(;;)
{
self setclientomnvar(param_02,var_08);
level waittill("spawn_wave_done");
var_08 = var_08 - var_09;
if(var_08 <= 0)
{
self setclientomnvar(param_02,0);
func_5510(param_00,param_04,param_02,param_05,param_06,param_07);
break;
}
wait(1);
}
}
//Function Number: 29
func_5B01(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08)
{
level endon("game_ended");
self endon("disconnect");
self endon(param_00 + "_exited_early");
thread func_13A3A(param_00,param_05,param_03,param_06,param_07,param_08);
var_09 = self.var_456B[param_00].var_1307B;
var_0A = 1;
if(param_01 == "triggerwait")
{
self waittill(var_09);
}
wait(1);
for(;;)
{
if(!scripts\common\utility::istrue(self.var_1097A) && !scripts\common\utility::istrue(self.inlaststand))
{
var_0A = var_0A - 0.05;
self setclientomnvar(param_03,var_0A);
if(var_0A <= 0)
{
self setclientomnvar(param_03,0);
func_5510(param_00,param_05,param_03,param_06,param_07,param_08);
break;
}
}
wait(0.05);
}
}
//Function Number: 30
func_5B03(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07)
{
level endon("game_ended");
self endon("disconnect");
self endon(param_00 + "_exited_early");
thread func_13A3A(param_00,param_04,param_02,param_05,param_06,param_07);
var_08 = 1 / param_01;
var_09 = self.var_456B[param_00].var_1307B;
var_0A = 1;
for(;;)
{
self waittill(var_09);
if((!scripts\common\utility::istrue(self.var_1097A) && !scripts\common\utility::istrue(self.inlaststand)) || param_00 == "coagulant")
{
var_0A = var_0A - var_08;
self setclientomnvar(param_02,var_0A);
if(var_0A < 0.0001)
{
self setclientomnvar(param_02,0);
func_5510(param_00,param_04,param_02,param_05,param_06,param_07);
break;
}
}
}
}
//Function Number: 31
func_7E25()
{
if(scripts\cp\_utility::map_check(0))
{
switch(self.var_134FD)
{
case "p3_":
case "p2_":
case "p1_":
return 2;
case "p4_":
return self method_8443("ges_wondercard_jock");
default:
return 2;
}
return;
}
if(scripts\cp\_utility::map_check(1))
{
switch(self.var_134FD)
{
case "p4_":
case "p3_":
case "p2_":
case "p1_":
return 2;
default:
return 2;
}
return;
}
switch(self.var_134FD)
{
case "p4_":
case "p3_":
case "p2_":
case "p1_":
return 2;
default:
return 2;
}
}
//Function Number: 32
func_13A3A(param_00,param_01,param_02,param_03,param_04,param_05)
{
self endon("dpad_end_" + param_00);
self waittill(param_00 + "_exited_early");
self setclientomnvar(param_02,0);
thread func_5510(param_00,param_01,param_02,param_03,param_04,param_05);
}
//Function Number: 33
func_B69D()
{
self notify("starting_meter_fill");
self endon("starting_meter_fill");
self endon("disconnect");
level endon("game_ended");
if(self.var_1030B.size == 0)
{
self setclientomnvar("zm_consumables_remaining",0);
self setclientomnvar("zm_dpad_up_fill",0);
thread scripts\cp\_vo::func_1769("nag_need_fateandfort","zmb_comment_vo",60,300,6,1);
thread scripts\cp\_vo::func_E01F("nag_use_fateandfort");
return;
}
self.var_4560 = 0;
self.var_4563 = func_7AC6();
self setclientomnvar("zm_dpad_up_fill",0);
while(self.var_4560 < self.var_4563)
{
self waittill("consumable_charge",var_00);
if(scripts\common\utility::istrue(self.disable_consumables))
{
continue;
}
if(scripts\cp\_laststand::player_in_laststand(self))
{
continue;
}
if(isdefined(self.consumable_meter_scalar))
{
var_00 = var_00 * self.consumable_meter_scalar;
}
var_01 = self.var_4563 - self.var_4560;
if(var_00 > var_01)
{
var_00 = var_01;
}
self.var_4560 = self.var_4560 + var_00;
self setclientomnvar("zm_dpad_up_fill",self.var_4560 / self.var_4563);
}
self notify("meter_full");
thread scripts\cp\_vo::func_1769("nag_use_fateandfort","zmb_comment_vo",60,180,6,1);
self playlocalsound("ui_consumable_meter_full");
self setclientomnvar("zm_dpad_up_activated",1);
self setweaponammoclip("super_default_zm",1);
thread func_ACB0();
self.var_4561 = 1;
thread func_5B00();
if(scripts\cp\_utility::isplayingsolo() || level.only_one_player)
{
thread scripts\cp\_hud_message::wait_and_play_tutorial_message("cards",5);
}
}
//Function Number: 34
func_7AC6()
{
var_00 = 1250;
if(self.var_3A52 == 1)
{
var_00 = 3000;
}
else if(self.var_3A52 >= 2)
{
var_00 = 5000;
}
return var_00;
}
//Function Number: 35
func_5510(param_00,param_01,param_02,param_03,param_04,param_05)
{
func_1294C(param_00,param_03);
self.var_456B[param_00].var_130D1 = self.var_456B[param_00].var_130D1 - 1;
self.var_456B[param_00].var_D9A1 = undefined;
self setclientomnvar(param_01,self.var_456B[param_00].var_130D1);
if(self.var_456B[param_00].var_130D1 == 0)
{
self.var_456B[param_00].var_130D1 = level.var_456B[param_00].var_130D1;
self notify("dpad_end_" + param_00);
self setclientomnvarbit("zm_card_selection_count",param_05,0);
self setclientomnvarbit("zm_card_fill_display",param_05,0);
return;
}
self setclientomnvar(param_02,1);
}
//Function Number: 36
func_1294C(param_00,param_01)
{
self.var_456B[param_00].var_C4A4 = 0;
scripts\cp\_utility::func_C150(param_00);
thread func_12BF6(param_00);
}
//Function Number: 37
func_82B2(param_00,param_01)
{
var_02 = level.var_456B[param_00];
if(isdefined(var_02.var_1307B))
{
self notify(var_02.var_1307B);
}
else
{
self notify(param_00 + " activated");
}
if(isdefined(level.random_consumable_chosen) && level.random_consumable_chosen.name == param_00)
{
return;
}
self.var_456B[param_00].var_C4A4 = 1;
}
//Function Number: 38
func_DFDD(param_00)
{
if(isdefined(self.var_456B[param_00]))
{
self.var_456B[param_00].var_C4A4 = 0;
}
}
//Function Number: 39
func_13006(param_00)
{
level endon("game_ended");
self endon("disconnect");
self.var_DF50 = undefined;
for(;;)
{
self waittill("reload");
self.var_DF50 = 1;
wait(5);
self.var_DF50 = undefined;
}
}
//Function Number: 40
func_12FEA(param_00)
{
if(scripts\common\utility::istrue(self.var_9FCB))
{
self.var_456B[param_00].var_C4A4 = 0;
return 0;
}
var_01 = self getcurrentweapon();
var_02 = scripts\cp\_utility::func_80D8(var_01);
if(isdefined(self.var_C8A2[var_02]) && scripts\cp\_weapon::func_385F(var_01,1))
{
thread fnf_upgrade_weapon(self,param_00,var_02,var_01);
return 1;
}
self.var_456B["ephemeral_enhancement"].var_C4A4 = 0;
return 0;
}
//Function Number: 41
fnf_upgrade_weapon(param_00,param_01,param_02,param_03)
{
level endon("game_ended");
param_00 endon("disconnect");
var_04 = undefined;
param_00.var_9FCB = 1;
var_05 = "pap" + param_00.var_C8A2[param_02].var_B111;
var_06 = function_00E3(param_03);
var_07 = 0;
var_08 = param_03;
if(issubstr(param_03,"g18_z"))
{
foreach(var_0A in var_06)
{
if(issubstr(var_0A,"akimbo"))
{
var_07 = 1;
var_06 = scripts\common\utility::func_22A9(var_06,var_0A);
}
}
}
if(isdefined(level.custom_epehermal_attachment_func))
{
var_0C = [[ level.custom_epehermal_attachment_func ]](param_00,param_02,param_03);
if(isdefined(var_0C))
{
if(var_0C == "replace_me")
{
var_05 = undefined;
}
else
{
var_05 = var_0C;
}
}
}
if(isdefined(level.weapon_upgrade_path) && isdefined(level.weapon_upgrade_path[getweaponbasename(param_03)]))
{
param_03 = level.weapon_upgrade_path[getweaponbasename(param_03)];
}
else if(isdefined(level.custom_epehermal_weapon_func))
{
param_03 = [[ level.custom_epehermal_weapon_func ]](param_00,param_02,param_03);
}
if(isdefined(level.custom_ephermal_camo_func))
{
var_04 = [[ level.custom_ephermal_camo_func ]](param_00,param_02,param_03);
}
else
{
if(isdefined(param_02))
{
if(isdefined(level.no_pap_camos) && scripts\common\utility::func_2286(level.no_pap_camos,param_02))
{
var_04 = undefined;
}
else if(isdefined(level.pap_1_camo) && param_00.var_C8A2[param_02].var_B111 == 1)
{
var_04 = level.pap_1_camo;
}
else if(isdefined(level.pap_2_camo) && param_00.var_C8A2[param_02].var_B111 == 2)
{
var_04 = level.pap_2_camo;
}
var_0D = param_00 scripts\cp\_weapon::func_7D62(param_03);
switch(param_02)
{
case "dischord":
var_0E = "iw7_dischord_zm_pap1";
var_04 = "camo20";
break;
case "facemelter":
var_0E = "iw7_facemelter_zm_pap1";
var_04 = "camo22";
break;
case "headcutter":
var_0E = "iw7_headcutter_zm_pap1";
var_04 = "camo21";
break;
case "forgefreeze":
if(var_0D == 2)
{
var_0E = "iw7_forgefreeze_zm_pap1";
}
else if(var_0D == 3)
{
var_0E = "iw7_forgefreeze_zm_pap2";
}
var_0F = 1;
break;
case "axe":
if(var_0D == 2)
{
var_0E = "iw7_axe_zm_pap1";
}
else if(var_0D == 3)
{
var_0E = "iw7_axe_zm_pap2";
}
break;
case "shredder":
var_0E = "iw7_shredder_zm_pap1";
var_04 = "camo23";
break;
case "katana":
case "nunchucks":
var_04 = "camo222";
break;
}
}
var_0F = 0;
if(isdefined(param_02))
{
switch(param_02)
{
case "spiked":
case "golf":
case "two":
case "axe":
case "machete":
var_0F = 1;
break;
default:
var_0F = 0;
break;
}
}
else
{
var_0F = 0;
}
var_05 = undefined;
if(isdefined(param_02))
{
switch(param_02)
{
case "spiked":
case "golf":
case "two":
case "machete":
case "katana":
case "nunchucks":
var_05 = "replace_me";
break;
default:
if(isdefined(param_00.var_C8A2[param_02]))
{
var_05 = "pap" + param_00.var_C8A2[param_02].var_B111;
}
else
{
var_05 = "pap1";
}
break;
}
}
if(isdefined(var_05) && var_05 == "replace_me")
{
var_05 = undefined;
}
var_10 = function_00E3(param_03);
if(issubstr(param_03,"g18_z"))
{
foreach(var_0A in var_10)
{
if(issubstr(var_0A,"akimbo"))
{
var_10 = scripts\common\utility::func_22A9(var_10,var_0A);
}
}
}
}
var_13 = param_00 scripts\cp\_weapon::func_E469(param_03,var_05,var_06,undefined,var_04);
if(isdefined(var_13))
{
param_00.var_C8A2[param_02].var_B111++;
param_00 notify("weapon_level_changed");
param_00.var_6670 = getweaponbasename(var_13);
param_00 thread func_5AFA(param_01,param_00,var_13,var_07);
param_00 endon("last_stand");
wait(func_7E25());
var_13 = param_00 scripts\cp\_utility::func_12C6(var_13,undefined,undefined,1);
if(isdefined(var_08))
{
param_00 takeweapon(var_08);
}
else
{
param_00 takeweapon(param_03);
}
param_00 switchtoweapon(var_13);
}
}
//Function Number: 42
func_5AFA(param_00,param_01,param_02,param_03)
{
level endon("game_ended");
param_01 endon("disconnect");
var_04 = param_01.var_6670;
var_05 = 0;
var_06 = scripts\cp\_utility::func_80D8(param_02);
var_07 = "pap" + param_01.var_C8A2[var_06].var_B111 - 1;
var_08 = param_01.var_C8A2[var_06].var_B111 - 2;
switch(var_06)
{
case "venomx":
param_01.var_C8A2[var_06].var_B111--;
if(param_01.var_C8A2[var_06].var_B111 == 1)
{
param_01.base_weapon = 1;
param_02 = "iw7_venomx_zm";
}
else
{
param_01.ephemeral_downgrade = 1;
param_02 = "iw7_venomx_zm_pap1";
}
break;
case "katana":
param_01.var_C8A2[var_06].var_B111--;
if(param_01.var_C8A2[var_06].var_B111 == 1)
{
param_01.base_weapon = 1;
param_02 = "iw7_katana_zm";
}
else
{
param_01.ephemeral_downgrade = 1;
param_02 = "iw7_katana_zm_pap1";
}
break;
case "nunchucks":
param_01.var_C8A2[var_06].var_B111--;
if(param_01.var_C8A2[var_06].var_B111 == 1)
{
param_01.base_weapon = 1;
param_02 = "iw7_nunchucks_zm";
}
else
{
param_01.ephemeral_downgrade = 1;
param_02 = "iw7_nunchucks_zm_pap1";
}
break;
case "two":
param_01.var_C8A2[var_06].var_B111--;
if(param_01.var_C8A2[var_06].var_B111 == 1)
{
param_01.base_weapon = 1;
param_02 = "iw7_two_headed_axe_mp";
}
else
{
param_01.ephemeral_downgrade = 1;
param_02 = "iw7_two_headed_axe_mp_pap1";
}
break;
case "machete":
param_01.var_C8A2[var_06].var_B111--;
if(param_01.var_C8A2[var_06].var_B111 == 1)
{
param_01.base_weapon = 1;
param_02 = "iw7_machete_mp";
}
else
{
param_01.ephemeral_downgrade = 1;
param_02 = "iw7_machete_mp_pap1";
}
break;
case "golf":
param_01.var_C8A2[var_06].var_B111--;
if(param_01.var_C8A2[var_06].var_B111 == 1)
{
param_01.base_weapon = 1;
param_02 = "iw7_golf_club_mp";
}
else
{
param_01.ephemeral_downgrade = 1;
param_02 = "iw7_golf_club_mp_pap1";
}
break;
case "spiked":
param_01.var_C8A2[var_06].var_B111--;
if(param_01.var_C8A2[var_06].var_B111 == 1)
{
param_01.base_weapon = 1;
param_02 = "iw7_spiked_bat_mp";
}
else
{
param_01.ephemeral_downgrade = 1;
param_02 = "iw7_spiked_bat_mp_pap1";
}
break;
}
param_02 = func_5AF9(param_01,param_02,var_06,var_07,var_08,param_03);
param_01.base_weapon = undefined;
param_01.ephemeral_downgrade = undefined;
var_09 = param_01 scripts\common\utility::func_13734("ephemeral_enhancement_timeup","last_stand");
if(var_09 != "ephemeral_enhancement_timeup")
{
param_01 notify(param_00 + "_exited_early");
}
param_01.var_9FCB = undefined;
var_0A = scripts\cp\_utility::func_80D8(param_01 scripts\cp\_utility::getvalidtakeweapon());
if(param_01 scripts\cp\_weapon::func_8BBB(var_04))
{
var_0B = param_01 getweaponslistall();
foreach(var_0D in var_0B)
{
var_0E = scripts\cp\_utility::func_80D8(var_0D);
if(var_0E == scripts\cp\_utility::func_80D8(var_04))
{
param_01 takeweapon(var_0D);
var_05 = 1;
param_02 = param_01 scripts\cp\_utility::func_12C6(param_02,undefined,undefined,1);
if(scripts\cp\_utility::func_80D8(param_02) == var_0A)
{
param_01 method_83B6(param_02);
}
param_01.var_C8A2[var_06].var_B111 = int(max(param_01.var_C8A2[var_06].var_B111 - 1,1));
param_01 notify("weapon_level_changed");
break;
}
}
}
if(isdefined(param_01.var_4643))
{
var_10 = param_01.var_4643;
foreach(var_12 in var_10)
{
var_0E = getweaponbasename(var_12);
if(var_0E == var_04)
{
var_13 = param_01.var_4648[var_12];
var_14 = param_01.var_464A[var_12];
param_01.var_4643 = scripts\common\utility::func_22A9(param_01.var_4643,var_12);
if(var_0E == getweaponbasename(param_01.var_464B))
{
param_01.var_464B = param_02;
}
param_01.var_4643 = scripts\common\utility::array_add(param_01.var_4643,param_02);
param_01.var_4648[param_02] = var_13;
param_01.var_464A[param_02] = var_14;
break;
}
}
}
if(isdefined(param_01.var_A913))
{
if(getweaponbasename(param_01.var_A913) == param_01.var_6670)
{
param_01.var_A913 = param_02;
}
}
if(isdefined(param_01.saved_last_stand_pistol))
{
if(getweaponbasename(param_01.saved_last_stand_pistol) == param_01.var_6670)
{
param_01.saved_last_stand_pistol = param_02;
}
}
if(isdefined(param_01.var_B0A0))
{
var_10 = param_01.var_B0A0.var_4643;
foreach(var_12 in var_10)
{
var_0E = getweaponbasename(var_12);
if(var_0E == var_04)
{
var_13 = param_01.var_4648[var_12];
var_14 = param_01.var_464A[var_12];
param_01.var_B0A0.var_4643 = scripts\common\utility::func_22A9(param_01.var_B0A0.var_4643,var_12);
if(var_0E == getweaponbasename(param_01.var_B0A0.var_464B))
{
param_01.var_B0A0.var_464B = param_02;
}
param_01.var_B0A0.var_4643 = scripts\common\utility::array_add(param_01.var_B0A0.var_4643,param_02);
param_01.var_4648[param_02] = var_13;
param_01.var_464A[param_02] = var_14;
break;
}
}
}
param_01.var_6670 = undefined;
}
//Function Number: 43
func_5AF9(param_00,param_01,param_02,param_03,param_04,param_05)
{
var_06 = undefined;
if(param_04 >= 1)
{
if(isdefined(level.no_pap_camos) && scripts\common\utility::func_2286(level.no_pap_camos,param_02))
{
var_06 = undefined;
}
else if(isdefined(level.pap_1_camo))
{
var_06 = level.pap_1_camo;
}
var_07 = "pap" + param_04;
switch(param_02)
{
case "dischord":
var_06 = "camo20";
break;
case "facemelter":
var_06 = "camo22";
break;
case "headcutter":
var_06 = "camo21";
break;
case "shredder":
var_06 = "camo23";
break;
case "katana":
case "nunchucks":
var_06 = "camo222";
break;
}
}
else
{
var_07 = undefined;
}
switch(param_02)
{
case "katana":
case "nunchucks":
var_07 = undefined;
break;
case "two":
var_07 = undefined;
break;
case "golf":
var_07 = undefined;
break;
case "machete":
var_07 = undefined;
break;
case "spiked":
var_07 = undefined;
break;
}
var_08 = function_00E3(param_01);
if(scripts\common\utility::istrue(param_05))
{
var_08 = scripts\common\utility::array_add(var_08,"akimbo");
}
foreach(var_0A in var_08)
{
if(issubstr(var_0A,param_03))
{
var_08 = scripts\common\utility::func_22A9(var_08,var_0A);
}
}
var_0C = param_00 scripts\cp\_weapon::func_E469(param_01,var_07,var_08,undefined,var_06);
return var_0C;
}
//Function Number: 44
func_1301A(param_00)
{
var_01 = self;
if(func_107AA(var_01,"instakill_30",param_00))
{
return 1;
}
self.var_456B["spawn_instakill"].var_C4A4 = 0;
return 0;
}
//Function Number: 45
func_13018(param_00)
{
var_01 = self;
if(func_107AA(var_01,"fire_30",param_00))
{
return 1;
}
self.var_456B["fire_30"].var_C4A4 = 0;
return 0;
}
//Function Number: 46
func_1301C(param_00)
{
var_01 = self;
if(func_107AA(var_01,"kill_50",param_00))
{
return 1;
}
self.var_456B["spawn_nuke"].var_C4A4 = 0;
return 0;
}
//Function Number: 47
func_13017(param_00)
{
var_01 = self;
if(func_107AA(var_01,"cash_2",param_00))
{
return 1;
}
self.var_456B["spawn_double_money"].var_C4A4 = 0;
return 0;
}
//Function Number: 48
func_1301B(param_00)
{
var_01 = self;
if(func_107AA(var_01,"ammo_max",param_00))
{
return 1;
}
self.var_456B["spawn_max_ammo"].var_C4A4 = 0;
return 0;
}
//Function Number: 49
func_1301D(param_00)
{
var_01 = self;
if(func_107AA(var_01,"board_windows",param_00))
{
return 1;
}
self.var_456B["spawn_reboard_windows"].var_C4A4 = 0;
return 0;
}
//Function Number: 50
func_13019(param_00)
{
var_01 = self;
if(func_107AA(var_01,"infinite_20",param_00))
{
return 1;
}
self.var_456B["spawn_infinite_ammo"].var_C4A4 = 0;
return 0;
}
//Function Number: 51
func_107AA(param_00,param_01,param_02)
{
var_03 = param_00.origin;
var_04 = (0,40,0);
var_05 = self getplayerangles();
var_06 = 7;
var_03 = var_03 + var_04[0] * anglestoright(var_05);
var_03 = var_03 + var_04[1] * anglestoforward(var_05);
var_03 = var_03 + var_04[2] * anglestoup(var_05);
var_07 = rotatepointaroundvector(anglestoup(var_05),anglestoforward(var_05),var_06);
var_08 = physics_createcontents(["physicscontents_solid","physicscontents_glass","physicscontents_vehicleclip","physicscontents_item","physicscontents_detail","physicscontents_vehicleclip","physicscontents_vehicle","physicscontents_canshootclip","physicscontents_missileclip","physicscontents_clipshot"]);
var_09 = scripts\common\trace::func_DCED(param_00 geteye(),var_03 + var_07,self,var_08);
var_03 = scripts\common\utility::func_5D14(var_09["position"] + var_07 * -18,32,-2000);
if(!scripts\cp\_weapon::func_9E54(var_03,level.var_9B0B,undefined,undefined,1))
{
var_03 = param_00.origin;
}
if(level scripts\cp\zombies\_powerups::drop_loot(var_03,param_00,param_01,undefined,undefined,1))
{
wait(0.25);
param_00 scripts\cp\_utility::func_C151(param_02);
return 1;
}
return 0;
}
//Function Number: 52
func_1302A(param_00)
{
if(scripts\common\utility::istrue(self.var_9FCB))
{
self.var_456B[param_00].var_C4A4 = 0;
return 0;
}
if(self method_81C2())
{
self.var_456B[param_00].var_C4A4 = 0;
return 0;
}
thread func_82EF(param_00,"iw7_steeldragon_mp");
return 1;
}
//Function Number: 53
func_12FBB(param_00)
{
if(scripts\common\utility::istrue(self.var_9FCB))
{
self.var_456B[param_00].var_C4A4 = 0;
return 0;
}
if(self method_81C2())
{
self.var_456B[param_00].var_C4A4 = 0;
return 0;
}
thread func_82EF(param_00,"iw7_claw_mp");
return 1;
}
//Function Number: 54
func_12FA6(param_00)
{
if(scripts\common\utility::istrue(self.var_9FCB))
{
self.var_456B[param_00].var_C4A4 = 0;
return 0;
}
if(self method_81C2())
{
self.var_456B[param_00].var_C4A4 = 0;
return 0;
}
thread func_82EF(param_00,"iw7_atomizer_mp+atomizerscope");
return 1;
}
//Function Number: 55
func_13001(param_00)
{
if(scripts\common\utility::istrue(self.var_9FCB))
{
self.var_456B[param_00].var_C4A4 = 0;
return 0;
}
if(self method_81C2())
{
self.var_456B[param_00].var_C4A4 = 0;
return 0;
}
thread func_82EF(param_00,"iw7_penetrationrail_mp+penetrationrailscope");
return 1;
}
//Function Number: 56
func_12FAC(param_00)
{
if(scripts\common\utility::istrue(self.var_9FCB))
{
self.var_456B[param_00].var_C4A4 = 0;
return 0;
}
if(self method_81C2())
{
self.var_456B[param_00].var_C4A4 = 0;
return 0;
}
thread func_82EF(param_00,"iw7_blackholegun_mp+blackholegunscope");
return 1;
}
//Function Number: 57
func_82EF(param_00,param_01)
{
level endon("game_ended");
self endon("disconnect");
var_02 = self getcurrentweapon();
var_03 = 0;
if(var_02 == "none")
{
var_03 = 1;
}
else if(scripts\common\utility::func_2286(level.additional_laststand_weapon_exclusion,var_02))
{
var_03 = 1;
}
else if(scripts\common\utility::func_2286(level.additional_laststand_weapon_exclusion,getweaponbasename(var_02)))
{
var_03 = 1;
}
else if(scripts\cp\_utility::func_9C42(var_02,1))
{
var_03 = 1;
}
if(var_03)
{
self.var_4643 = self getweaponslistall();
var_02 = scripts\cp\_laststand::func_3E88(level.additional_laststand_weapon_exclusion,1,1);
}
self.var_A92C = var_02;
self.var_4643 = undefined;
thread func_E18A(param_00,param_01,var_02);
self endon(param_00 + "_exited_early");
self endon("last_stand");
wait(func_7E25());
param_01 = scripts\cp\_utility::func_12C6(param_01,undefined,undefined,0);
self method_83B6(param_01);
var_04 = func_1E39(param_01);
while(self getcurrentweapon() != param_01)
{
wait(0.05);
}
self notify("super_weapon_given");
thread func_12BA6(var_04,param_01);
}
//Function Number: 58
func_E18A(param_00,param_01,param_02)
{
level endon("game_ended");
self endon("disconnect");
self.var_9FCB = 1;
self.var_BD6C = param_02;
scripts\common\utility::func_1C62(0);
scripts\common\utility::waittill_any_timeout_1(func_7E25() + 1,"super_weapon_given");
self allowmelee(0);
while(self method_81C2())
{
wait(0.05);
}
self allowmelee(1);
if(self getcurrentweapon() == param_01 && scripts\cp\_utility::func_9BA0(param_00))
{
var_03 = scripts\common\utility::func_13734(param_00 + "_timeup","last_stand","weapon_switch_started","weapon_purchased","coaster_ride_beginning","cards_replenished");
}
else
{
var_03 = undefined;
}
scripts\common\utility::func_1C62(1);
if(!isdefined(var_03) || var_03 != param_00 + "_timeup")
{
self notify(param_00 + "_exited_early");
}
self.var_9FCB = undefined;
if(!isdefined(var_03) || isdefined(var_03) && var_03 != "last_stand")
{
if(self hasweapon(param_02))
{
self switchtoweapon(param_02);
}
else
{
self switchtoweapon(self getweaponslistprimaries()[1]);
}
}
if(self hasweapon(param_01))
{
self takeweapon(param_01);
}
thread func_4DB9();
self.var_BD6C = undefined;
self.var_A92C = undefined;
}
//Function Number: 59
func_1E39(param_00)
{
self endon("death");
self endon("disconnect");
var_01 = [];
if(isdefined(param_00))
{
var_01[param_00] = self method_80FB(param_00);
}
else
{
foreach(param_00 in self.var_13CA0)
{
var_01[param_00] = self method_80FB(param_00);
}
}
return var_01;
}
//Function Number: 60
func_12BA6(param_00,param_01)
{
self endon("death");
self endon("disconnect");
if(!isdefined(self.var_13CA0))
{
self.var_13CA0 = self getweaponslistprimaries();
}
var_02 = self.var_13CA0;
if(isdefined(param_01))
{
var_02[var_02.size] = param_01;
}
self.var_8B7D = 1;
scripts\cp\_utility::enable_infinite_ammo(1);
while(scripts\common\utility::istrue(self.var_8B7D))
{
var_03 = 0;
foreach(var_05 in var_02)
{
if(var_05 == self getcurrentweapon() && func_13C30(var_05))
{
var_03 = 1;
self setweaponammoclip(var_05,weaponclipsize(var_05),"left");
}
if(var_05 == self getcurrentweapon() && func_13C30(var_05))
{
var_03 = 1;
self setweaponammoclip(var_05,weaponclipsize(var_05),"right");
}
if(var_03 == 0)
{
func_1E39(param_01);
}
}
wait(0.05);
}
}
//Function Number: 61
func_13C30(param_00)
{
var_01 = 1;
foreach(var_03 in level.var_C6C1)
{
if(param_00 == var_03)
{
var_01 = 0;
}
}
return var_01;
}
//Function Number: 62
func_4DB9()
{
level endon("disconnect");
level endon("game_ended");
self.var_8B7D = undefined;
wait(0.2);
scripts\cp\_utility::enable_infinite_ammo(0);
}
//Function Number: 63
func_12FB4(param_00)
{
self endon("disconnect");
self endon(param_00 + "_timeup");
level endon("game_ended");
for(;;)
{
self waittill("shot_missed",var_01);
if(!scripts\cp\_weapon::func_9D75(var_01))
{
continue;
}
if(scripts\cp\_weapon::func_8BD1(var_01,"g18pap1") || scripts\cp\_weapon::func_8BD1(var_01,"g18pap2"))
{
continue;
}
var_02 = self getweaponammoclip(var_01);
self setweaponammoclip(var_01,var_02 + 1);
}
}
//Function Number: 64
func_12FED(param_00)
{
self endon("disconnect");
self endon(param_00 + "_timeup");
level endon("game_ended");
for(;;)
{
self waittill("player_damaged");
if(self.health <= 45)
{
thread func_F63F();
thread func_A66A();
scripts\cp\_utility::func_C151(param_00);
}
}
}
//Function Number: 65
func_F63F()
{
self notify("setAndRemoveInvulnerability");
self endon("setAndRemoveInvulnerability");
self endon("disconnect");
level endon("game_ended");
scripts\cp\_utility::func_17C0("near_death_consumable",0,0);
scripts\common\utility::waittill_any_timeout_no_endon_death_2(1,"death","last_stand");
scripts\cp\_utility::func_E0E6("near_death_consumable",0);
}
//Function Number: 66
func_A66A(param_00)
{
var_01 = 128;
var_02 = vectornormalize(anglestoforward(self.angles));
var_03 = var_02 * var_01;
var_04 = self.origin + var_03;
physicsexplosionsphere(var_04,var_01,1,2.5);
var_05 = scripts\cp\_agent_utils::func_7DB0("axis");
var_06 = scripts\common\utility::func_782F(self.origin,var_05,undefined,24,256);
foreach(var_08 in var_06)
{
if(isdefined(var_08.agent_type) && var_08.agent_type == "zombie_sasquatch" || var_08.agent_type == "slasher" || var_08.agent_type == "superslasher" || var_08.agent_type == "zombie_brute" || var_08.agent_type == "zombie_grey" || var_08.agent_type == "zombie_clown" || var_08.agent_type == "alien_rhino")
{
continue;
}
if(scripts\common\utility::istrue(var_08.var_9342))
{
var_08 func_A672(self,var_08.maxhealth,var_08.origin,self.origin);
continue;
}
var_08 playsound("zmb_fnf_second_wind_push");
var_09 = 0;
var_0A = var_08.origin;
var_0B = var_08.maxhealth;
var_02 = anglestoforward(self.angles);
var_0C = vectornormalize(var_02) * -100;
var_08 setvelocity(vectornormalize(var_08.origin - self.origin + var_0C) * 800 + (0,0,300));
var_08 func_A672(self,var_0B,var_0A,self.origin);
}
}
//Function Number: 67
func_A672(param_00,param_01,param_02,param_03)
{
self.do_immediate_ragdoll = 1;
if(param_01 >= self.health)
{
self.var_4C87 = 1;
}
self dodamage(param_01,param_02,param_00,param_00,"MOD_IMPACT","zom_repulsor_mp");
}
//Function Number: 68
torrent_start(param_00,param_01,param_02,param_03,param_04)
{
self endon("death");
level endon("game_ended");
if(param_03 == 0 || param_03 == 3 || param_03 == 6)
{
playsoundatpos(param_01,"zmb_fnf_timely_torrent_lava");
}
playfx(level._effect["lava_torrent"],self.origin,undefined,anglestoup((0,0,90)));
foreach(var_06 in param_02)
{
var_07 = (var_06.origin[0],var_06.origin[1],90);
if(var_06 scripts\cp\_utility::agentisfnfimmune())
{
continue;
}
if(isdefined(var_06.flung) || isdefined(var_06.agent_type) && var_06.agent_type == "zombie_brute" || var_06.agent_type == "zombie_ghost" || var_06.agent_type == "zombie_grey" || var_06.agent_type == "slasher" || var_06.agent_type == "superslasher")
{
continue;
}
if(distancesquared(var_06.origin,param_01) < 5184)
{
var_06.flung = 1;
var_06.do_immediate_ragdoll = 1;
var_06.disable_armor = 1;
var_06 setsolid(0);
var_06 setvelocity((0,0,600));
wait(0.1);
if(isdefined(var_06))
{
var_06 dodamage(10000,param_01,param_04,param_04,"MOD_EXPLOSIVE");
}
}
}
self delete();
}
//Function Number: 69
use_timely_torrent(param_00)
{
self endon("disconnect");
self endon(param_00 + "_timeup");
level endon("game_ended");
thread run_timely_torrent(param_00);
}
//Function Number: 70
select_spot_array(param_00,param_01)
{
if(!isdefined(param_00.array_of_torrent_points))
{
param_00.array_of_torrent_points = [];
}
var_02 = param_00.origin;
var_03 = (0,128,0);
var_04 = param_00 getplayerangles();
var_05 = 7;
var_06 = 0;
var_02 = var_02 + var_03[0] * anglestoright(var_04);
var_02 = var_02 + var_03[1] * anglestoforward(var_04);
var_02 = var_02 + var_03[2] * anglestoup(var_04);
var_07 = rotatepointaroundvector(anglestoup(var_04),anglestoforward(var_04),0);
var_08 = physics_createcontents(["physicscontents_solid","physicscontents_glass","physicscontents_vehicleclip","physicscontents_item","physicscontents_detail","physicscontents_vehicleclip","physicscontents_vehicle","physicscontents_canshootclip","physicscontents_missileclip","physicscontents_clipshot"]);
var_09 = scripts\common\trace::func_DCED(param_00 geteye(),var_02 + var_07,param_00,var_08);
var_02 = var_09["position"] + var_07;
if(param_01 == 0)
{
param_00.array_of_torrent_points[param_01] = var_02 + anglestoforward(var_04) * 60;
}
else
{
param_00.array_of_torrent_points[param_01] = var_02 + anglestoforward(var_04) * param_01 + 1 * 60;
}
return param_00.array_of_torrent_points;
}
//Function Number: 71
run_timely_torrent(param_00)
{
self endon(param_00 + "_timeup");
self endon("disconnect");
level endon("game_ended");
var_01 = [];
var_02 = 0;
for(;;)
{
self waittill("melee_fired");
for(var_03 = 0;var_03 <= 5;var_03++)
{
var_01 = select_spot_array(self,var_03);
}
var_04 = 1200;
self.closestenemies_array = [];
var_05 = scripts\cp\_agent_utils::get_alive_enemies();
foreach(var_08, var_07 in var_01)
{
var_01[var_08] = spawn("script_origin",var_07);
}
foreach(var_08, var_07 in var_01)
{
if(!isdefined(var_07))
{
continue;
}
var_07 thread torrent_start(param_00,var_07.origin,var_05,var_08,self);
}
scripts\cp\_utility::func_C151("timely_torrent");
}
}
//Function Number: 72
use_purify(param_00)
{
self endon("disconnect");
self endon(param_00 + "_timeup");
self endon(param_00 + "_exited_early");
level endon("game_ended");
if(!isdefined(level.purify_active))
{
level.purify_active = 1;
}
else
{
level.purify_active++;
}
foreach(var_02 in level.players)
{
if(var_02 scripts\cp\_utility::is_valid_player())
{
thread purify_activate(var_02);
}
}
var_04 = scripts\common\utility::func_782F(self.origin,level.players,undefined,24,99999,0);
foreach(var_06 in var_04)
{
var_06 thread dealaoedamage(param_00);
wait(0.1);
}
scripts\cp\_utility::func_C151("purify");
return 1;
}
//Function Number: 73
purify_activate(param_00)
{
param_00 notify("force_regeneration");
thread disablepurifyregenafterdelay();
}
//Function Number: 74
disablepurifyregenafterdelay()
{
level endon("game_ended");
wait(2);
level.purify_active--;
if(level.purify_active <= 0)
{
level.purify_active = 0;
}
}
//Function Number: 75
dealaoedamage(param_00)
{
self endon("disconnect");
level endon("game_ended");
var_01 = scripts\cp\_agent_utils::get_alive_enemies();
var_02 = scripts\common\utility::func_782F(self.origin,var_01,undefined,24,128,0);
if(var_02.size > 0)
{
self notify("force_regeneration");
foreach(var_04 in var_02)
{
if(isdefined(var_04.agent_type) && var_04.agent_type == "zombie_brute" || var_04.agent_type == "zombie_ghost" || var_04.agent_type == "zombie_grey" || var_04.agent_type == "slasher" || var_04.agent_type == "alien_rhino" || var_04.agent_type == "superslasher")
{
continue;
}
else
{
playfx(level._effect["penetration_railgun_explosion"],self.origin);
var_04 dodamage(var_04.health + 100,var_04.origin,self,self,"MOD_EXPLOSIVE","iw7_explosive_touch_zm");
}
}
self playsound("zmb_fnf_purify_explo");
}
}
//Function Number: 76
func_6220(param_00,param_01,param_02,param_03,param_04,param_05)
{
param_00 hudoutlineenableforclient(param_01,param_02,param_03,param_04);
}
//Function Number: 77
func_5561(param_00,param_01)
{
param_00 hudoutlinedisableforclient(param_01);
}
//Function Number: 78
func_1309(param_00,param_01,param_02,param_03,param_04)
{
var_05 = magicbullet(param_00,param_01,param_02,param_03,param_04);
if(isdefined(var_05) && isdefined(param_03))
{
var_05 method_831F(param_03);
}
return var_05;
}
//Function Number: 79
func_12FFB(param_00)
{
self endon("disconnect");
self endon(param_00 + "_timeup");
self endon(param_00 + "_exited_early");
level endon("game_ended");
thread func_E16D(param_00);
for(;;)
{
self waittill("player_damaged");
scripts\cp\_persistence::func_82F9(100,undefined,undefined,1,"bonus");
}
}
//Function Number: 80
use_explosive_touch(param_00)
{
level endon("game_ended");
self endon("disconnect");
self endon(param_00 + "_exited_early");
self endon(param_00 + "_timeup");
thread func_E00B(param_00);
for(;;)
{
if(!scripts\common\utility::istrue(self.has_explosive_touch))
{
self.has_explosive_touch = 1;
thread watch_for_zombie_touch(param_00);
scripts\cp\_utility::func_17C0("health_boost",0.1,0);
self notify("force_regeneration");
self playlocalsound("breathing_heartbeat_alt");
}
scripts\common\utility::func_136F7();
}
}
//Function Number: 81
watch_for_zombie_touch(param_00)
{
level endon("game_ended");
self endon("disconnect");
self endon(param_00 + "_exited_early");
self endon(param_00 + "_timeup");
while(scripts\common\utility::istrue(self.has_explosive_touch))
{
var_01 = scripts\cp\_agent_utils::get_alive_enemies();
foreach(var_03 in var_01)
{
if(scripts\common\utility::func_56F4(var_03.origin,self.origin) <= 5184)
{
if(var_03 scripts\cp\_utility::agentisfnfimmune())
{
continue;
}
if(var_03 scripts\cp\_utility::func_9D20() && var_03.agent_type != "slasher" && var_03.agent_type != "superslasher" && var_03.agent_type != "zombie_brute" && var_03.agent_type != "zombie_grey")
{
var_03.exp_touch = 1;
var_03.nocorpse = 1;
var_03.full_gib = 1;
playsoundatpos(var_03 gettagorigin("j_spineupper"),"zmb_fnf_explosive_touch_explo");
wait(0.1);
playfx(scripts\common\utility::getfx("exp_touch"),var_03 gettagorigin("j_spineupper"));
self radiusdamage(self.origin,100,var_03.health + 1000,var_03.health,self,"MOD_EXPLOSIVE","iw7_explosive_touch_zm");
wait(0.3);
}
}
}
scripts\common\utility::func_136F7();
}
}
//Function Number: 82
func_E00B(param_00)
{
level endon("game_ended");
self endon("disconnect");
scripts\common\utility::waittill_any_3(param_00 + "_timeup",param_00 + "_exited_early");
self.has_explosive_touch = 0;
scripts\cp\_utility::func_E0E6("health_boost",0);
if(isdefined(self.var_6A08))
{
self.var_6A08 delete();
}
}
//Function Number: 83
use_shared_fate(param_00)
{
level endon("game_ended");
self endon("disconnect");
self endon(param_00 + "_exited_early");
self endon(param_00 + "_timeup");
self.marked_ents = [];
thread look_at_and_outline_enemies(param_00);
thread damage_on_marked_enemies(param_00);
}
//Function Number: 84
damage_on_marked_enemies(param_00)
{
level endon("game_ended");
self endon("disconnect");
self endon(param_00 + "_exited_early");
self endon(param_00 + "_timeup");
for(;;)
{
self waittill("weapon_hit_marked_target",var_01,var_02,var_03,var_04,var_05);
self.marked_ents = scripts\common\utility::func_22BC(self.marked_ents);
self.marked_ents = scripts\common\utility::func_22A9(self.marked_ents,var_05);
foreach(var_07 in self.marked_ents)
{
if(var_05 == var_07)
{
continue;
}
if(var_07 scripts\cp\_utility::agentisfnfimmune())
{
continue;
}
if(var_07.health - var_02 <= 0)
{
var_07 setscriptablepartstate("shared_fate_fx","inactive",1);
}
self.marked_ents = scripts\common\utility::func_22A9(self.marked_ents,var_07);
var_07 dodamage(var_02,var_07.origin,var_01,var_01,var_03,"iw7_shared_fate_weapon");
}
}
}
//Function Number: 85
outline_enemeies(param_00)
{
level endon("game_ended");
self endon("disconnect");
self endon(param_00 + "_exited_early");
self endon(param_00 + "_timeup");
for(;;)
{
foreach(var_02 in self.marked_ents)
{
if(var_02 scripts\cp\_utility::agentisfnfimmune())
{
continue;
}
if(isdefined(var_02.agent_type) && var_02.agent_type == "zombie_sasquatch" || var_02.agent_type == "slasher" || var_02.agent_type == "superslasher" || var_02.agent_type == "zombie_brute" || var_02.agent_type == "zombie_grey" || var_02.agent_type == "zombie_clown" || var_02.agent_type == "skater")
{
continue;
}
if(scripts\cp\_utility::func_9C42(self getcurrentweapon()) || scripts\cp\_utility::weapon_is_dlc_melee(self getcurrentweapon()) || scripts\cp\_utility::weapon_is_dlc2_melee(self getcurrentweapon()))
{
scripts\common\utility::func_136F7();
continue;
}
if(scripts\common\utility::istrue(var_02.marked_shared_fate_fnf))
{
var_02 setscriptablepartstate("shared_fate_fx","active",1);
continue;
}
if(isdefined(var_02))
{
var_02 setscriptablepartstate("shared_fate_fx","inactive",1);
}
}
scripts\common\utility::func_136F7();
}
}
//Function Number: 86
look_at_and_outline_enemies(param_00)
{
level endon("game_ended");
self endon("disconnect");
self endon(param_00 + "_exited_early");
self endon(param_00 + "_timeup");
var_01 = 0;
for(;;)
{
if(self adsbuttonpressed() && !var_01)
{
if(scripts\cp\_utility::func_9C42(self getcurrentweapon()) || scripts\cp\_utility::weapon_is_dlc_melee(self getcurrentweapon()))
{
scripts\common\utility::func_136F7();
continue;
}
var_01 = 1;
var_02 = self getplayerangles();
var_03 = self geteye();
var_04 = anglestoforward(var_02);
var_05 = var_03 + var_04 * 500;
var_06 = scripts\common\trace::func_48BC(1,0,0,0,0,0,0);
var_07 = function_0287(var_03,var_05,var_06,self,0,"physicsquery_closest");
if(var_07.size <= 0)
{
scripts\common\utility::func_136F7();
continue;
}
var_08 = var_07[0]["entity"];
if(isdefined(var_08))
{
if(var_08 scripts\cp\_utility::agentisfnfimmune())
{
continue;
}
if(isdefined(var_08.agent_type) && var_08.agent_type == "zombie_sasquatch" || var_08.agent_type == "slasher" || var_08.agent_type == "superslasher" || var_08.agent_type == "zombie_brute" || var_08.agent_type == "zombie_grey" || var_08.agent_type == "zombie_clown")
{
continue;
}
if(var_08 scripts\cp\_utility::func_9D20())
{
if(!scripts\common\utility::func_2286(self.marked_ents,var_08))
{
self playlocalsound("zmb_fnf_shared_fate_highlight");
var_08.marked_shared_fate_fnf = 1;
self.marked_ents = scripts\common\utility::array_add(self.marked_ents,var_08);
var_08 setscriptablepartstate("shared_fate_fx","active",1);
}
}
}
var_01 = 0;
}
else
{
var_01 = 0;
}
scripts\common\utility::func_136F7();
}
}
//Function Number: 87
use_fire_chains(param_00)
{
self endon(param_00 + "_timeup");
self endon("last_stand");
self endon("disconnect");
level endon("game_ended");
self.life_link_active = undefined;
self.var_AC4B = 1;
var_01 = "j_spine4";
var_02 = ["j_spine4","j_spineupper","j_spinelower","j_head","j_knee_ri","j_knee_le","j_elbow_ri","j_elbow_le","j_ankle_le","j_ankle_ri","j_wrist_le","j_wrist_ri"];
thread removefirechainsdamagemodifierontimeout(param_00);
thread removefirechainsdamagemodifieronlaststand(param_00);
var_03 = self;
for(;;)
{
var_04 = getfirechainstarget(self);
if(isdefined(var_04))
{
self.var_2A9A = var_04;
self.var_AD2D = 1;
thread playfirechainsfx(var_04,var_01,param_00);
var_03.life_link_active = 1;
linktoplayer_fire_chains(self,var_04,var_02);
}
else
{
var_03.life_link_active = undefined;
wait(0.5);
}
scripts\common\utility::func_136F7();
}
}
//Function Number: 88
getfirechainstarget(param_00)
{
var_01 = scripts\common\utility::func_782F(param_00.origin,level.players,[param_00],4,512);
var_02 = sortbydistance(var_01,param_00.origin);
var_03 = undefined;
foreach(var_05 in var_02)
{
var_06 = sighttracepassed(param_00 geteye(),var_05 geteye(),0,param_00);
if(!var_06)
{
continue;
}
if(scripts\common\utility::istrue(var_05.inlaststand))
{
continue;
}
var_03 = var_05;
break;
}
return var_03;
}
//Function Number: 89
linktoplayer_fire_chains(param_00,param_01,param_02)
{
param_01 endon("disconnect");
param_00 endon("disconnect");
while(scripts\common\utility::istrue(param_00.var_AD2D))
{
thread deal_damage_to_zombies_entering_the_link(self,param_02);
if(scripts\common\utility::istrue(param_01.inlaststand))
{
param_00.var_AD2D = undefined;
param_00 notify("lost_target_fire_chains");
break;
}
else if(distance(param_00.origin,param_01.origin) > 512)
{
param_00.var_AD2D = undefined;
param_00 notify("lost_target_fire_chains");
break;
}
scripts\common\utility::func_136F7();
}
}
//Function Number: 90
deal_damage_to_zombies_entering_the_link(param_00,param_01)
{
param_00 endon("disconnect");
var_02 = [];
var_03 = scripts\common\trace::func_48B1();
var_02 = [param_00,param_00.var_2A9A];
if(!isdefined(param_00.var_2A9A))
{
return;
}
foreach(var_05 in param_01)
{
var_06 = scripts\common\trace::func_DCED(param_00 gettagorigin(var_05),param_00.var_2A9A gettagorigin(var_05),var_02,var_03);
if(isdefined(var_06["entity"]))
{
if(var_06["entity"] scripts\cp\_utility::agentisfnfimmune())
{
continue;
}
var_07 = scripts\common\utility::istrue(var_06["entity"].is_skeleton);
if(level.script == "cp_final")
{
var_07 = 0;
}
if(var_06["entity"] scripts\cp\_utility::func_9D20() && var_06["entity"].agent_type != "slasher" && var_06["entity"].agent_type != "superslasher" && var_06["entity"].agent_type != "zombie_brute" && var_06["entity"].agent_type != "zombie_grey")
{
scripts\common\utility::array_add(var_02,var_06["entity"]);
var_06["entity"].nocorpse = 1;
var_06["entity"].full_gib = 1;
var_06["entity"] dodamage(1000000,var_06["entity"].origin,param_00,param_00);
}
}
}
}
//Function Number: 91
playfirechainsfx(param_00,param_01,param_02)
{
var_03 = [];
foreach(var_05 in level.players)
{
var_03[var_03.size] = function_02DF(level._effect["fire_chains"],self,param_01,param_00,param_01,var_05);
}
self.fx_array_fire_chains = var_03;
self playloopsound("zmb_fnf_fire_chains_lp");
param_00 playloopsound("zmb_fnf_fire_chains_lp");
var_07 = scripts\cp\_utility::func_1372D(self,"disconnect",self,"lost_target_fire_chains",self,"last_stand",self,param_02 + "_timeup",param_00,"disconnect",param_00,"last_stand",level,"game_ended");
if(isdefined(self))
{
self stoploopsound();
}
if(isdefined(param_00))
{
param_00 stoploopsound();
}
foreach(var_09 in var_03)
{
if(isdefined(var_09))
{
var_09 delete();
}
}
}
//Function Number: 92
removefirechainsdamagemodifieronlaststand(param_00)
{
self endon(param_00 + "_timeup");
self waittill("last_stand");
self.var_AC4B = undefined;
self.life_link_active = undefined;
if(isdefined(self.var_AD2D))
{
self.var_AD2D = undefined;
}
self notify(param_00 + "_exited_early");
}
//Function Number: 93
removefirechainsdamagemodifierontimeout(param_00)
{
self endon("last_stand");
self waittill(param_00 + "_timeup");
self.var_AC4B = undefined;
self.life_link_active = undefined;
if(isdefined(self.var_AD2D))
{
self.var_AD2D = undefined;
}
}
//Function Number: 94
use_irish_luck(param_00)
{
self endon(param_00 + "_timeup");
self endon("last_stand");
self endon("disconnect");
level endon("game_ended");
}
//Function Number: 95
irish_luck_choose_random_consumable(param_00)
{
self endon("disconnect");
level endon("game_ended");
if(!isdefined(param_00.stored_fnf))
{
param_00.stored_fnf = [];
}
foreach(var_03, var_02 in param_00.var_456B)
{
param_00.stored_fnf[var_03] = var_03;
}
for(;;)
{
var_04 = scripts\common\utility::random(level.irish_luck_consumables);
if(getdvar("irish_luck_debug","") != "")
{
param_00.stored_fnf = [];
var_05 = getdvar("irish_luck_debug","");
foreach(var_08, var_07 in level.irish_luck_consumables)
{
if(var_08 == var_05)
{
var_04 = level.irish_luck_consumables[var_08];
}
}
}
if(scripts\common\utility::func_2286(param_00.stored_fnf,var_04.name))
{
scripts\common\utility::func_136F7();
continue;
}
else
{
scripts\common\utility::func_136F7();
return var_04;
}
scripts\common\utility::func_136F7();
}
}
//Function Number: 96
clear_omnvar(param_00)
{
self endon("disconnect");
wait(5);
self setclientomnvar(param_00,0);
}
//Function Number: 97
consumable_activate_internal_irish(param_00,param_01,param_02,param_03,param_04,param_05,param_06)
{
self endon("disconnect");
level endon("game_ended");
self endon("dpad_end_" + param_00);
self endon("give_new_deck");
self endon("last_stand");
level.random_consumable_chosen = irish_luck_choose_random_consumable(self);
if(self.var_456B[param_00].var_130D1 > 0 && self.var_456B[param_00].var_C4A4 == 0 && !scripts\cp\_laststand::player_in_laststand(self))
{
self.var_456B[level.random_consumable_chosen.name] = spawnstruct();
self.var_456B[level.random_consumable_chosen.name].var_130D1 = level.var_456B[level.random_consumable_chosen.name].var_130D1;
self.var_456B[level.random_consumable_chosen.name].var_C4A4 = 1;
self.var_456B[level.random_consumable_chosen.name].var_11925 = 0;
self.var_456B[level.random_consumable_chosen.name].var_1307B = param_04;
level.random_consumable_chosen.var_DE3F = int(tablelookup("cp/loot/iw7_zombiefatefortune_loot_master.csv",1,level.random_consumable_chosen.name,0));
self setclientomnvar("zm_ui_irish_luck",level.random_consumable_chosen.var_DE3F);
thread clear_omnvar("zm_ui_irish_luck");
self setclientomnvar("zm_fate_card_used",param_05);
self.var_456B[param_00].var_D9A1 = 1;
var_07 = undefined;
var_08 = "fired_super";
thread func_F306(param_00);
if(isdefined(level.var_456B[level.random_consumable_chosen.name].var_13089))
{
if(isdefined(level.var_456B[level.random_consumable_chosen.name].var_1174E))
{
var_07 = self [[ level.var_456B[level.random_consumable_chosen.name].var_13089 ]](level.random_consumable_chosen.name);
}
else
{
var_07 = self thread [[ level.var_456B[level.random_consumable_chosen.name].var_13089 ]](level.random_consumable_chosen.name);
}
}
self.var_456B[param_00].var_C4A4 = 0;
if(!isdefined(var_07) || isdefined(var_07) && var_07)
{
func_4574(self,param_00);
self.var_456B[param_00].var_11925++;
scripts\cp\zombies\zombie_analytics::func_AF6C(1,param_00,level.wave_num,self);
scripts\cp\_merits::func_D9AD("mt_faf_uses");
thread scripts\cp\_vo::try_to_play_vo("wonder_consume","zmb_comment_vo","low",10,0,1,0,40);
if(self.var_456B[param_00].var_11925 == 1)
{
thread decrement_counter_of_consumables(param_00);
}
thread func_ACAF();
self setclientomnvar("zm_dpad_up_activated",5);
self setclientomnvarbit("zm_card_fill_display",param_05,1);
self setclientomnvar("zm_consumable_selection_ready",0);
func_DFD4(param_06);
thread func_B69D();
self playlocalsound("ui_consumable_select");
func_CCCC(self);
self notify("consumable_selected");
self setweaponammostock(self.var_6BA3,1);
self giveandfireoffhand(self.var_6BA3);
self.var_4561 = undefined;
thread scripts\cp\_vo::func_E01F("nag_use_fateandfort");
var_09 = level.var_456B[level.random_consumable_chosen.name].type;
if(var_09 == "timedactivations")
{
thread func_5B02(level.random_consumable_chosen.name,level.var_456B[level.random_consumable_chosen.name].var_12F9A,param_01,var_08,param_02,param_03,param_04,param_05);
}
else if(var_09 == "wave")
{
thread func_5B04(level.random_consumable_chosen.name,level.var_456B[level.random_consumable_chosen.name].var_12F9A,param_01,var_08,param_02,param_03,param_04,param_05);
}
else if(var_09 == "triggernow" || level.var_456B[level.random_consumable_chosen.name].type == "triggerwait")
{
thread func_5B01(level.random_consumable_chosen.name,level.var_456B[level.random_consumable_chosen.name].type,self.var_456B[level.random_consumable_chosen.name].var_130D1,param_01,var_08,param_02,param_03,param_04,param_05);
}
else if(var_09 == "triggerpassive")
{
thread func_5B03(level.random_consumable_chosen.name,level.var_456B[level.random_consumable_chosen.name].var_C948,param_01,var_08,param_02,param_03,param_04,param_05);
}
if(isdefined(var_07))
{
scripts\cp\_utility::func_C151(param_00);
return;
}
return;
}
self playlocalsound("ui_consumable_deny");
self.var_456B[param_00].var_D9A1 = undefined;
}
}
//Function Number: 98
use_temporal_increase(param_00)
{
level endon("game_ended");
self endon("disconnect");
self endon(param_00 + "_exited_early");
self endon(param_00 + "_timeup");
self endon("last_stand");
if(isdefined(level.temporal_increase))
{
return 0;
}
level.temporal_increase = 2;
thread remove_temporal_increase(param_00);
}
//Function Number: 99
remove_temporal_increase(param_00)
{
level endon("game_ended");
self endon("disconnect");
scripts\common\utility::waittill_any_3(param_00 + "_timeup","disconnect","death",param_00 + "_exited_early");
level.temporal_increase = undefined;
return 1;
}
//Function Number: 100
use_twister(param_00)
{
self endon("disconnect");
self endon(param_00 + "_timeup");
self endon(param_00 + "_exited_early");
self endon("death");
self endon("last_stand");
level endon("game_ended");
var_01 = self getplayerangles();
var_02 = self geteye();
var_03 = (0,0,0);
var_04 = anglestoforward(var_01);
var_05 = var_02 + var_04 * 100;
thread remove_twister(param_00,self);
thread activate_twister_homing(self.origin,param_00);
}
//Function Number: 101
remove_twister(param_00,param_01)
{
level endon("game_ended");
param_01 scripts\common\utility::waittill_any_3(param_00 + "_timeup",param_00 + "_exited_early","disconnect");
level notify("stop_twister_sfx");
if(isdefined(param_01.var_757B))
{
param_01.var_757B delete();
}
if(isdefined(param_01.trigger_move_ent))
{
param_01.trigger_move_ent delete();
}
}
//Function Number: 102
activate_twister_homing(param_00,param_01)
{
self endon("disconnect");
self endon(param_01 + "_timeup");
self endon(param_01 + "_exited_early");
level endon("game_ended");
if(!isdefined(self.twister_array_zombie))
{
self.twister_array_zombie = [];
}
self.trigger_move_ent = spawn("script_model",param_00,0,512,128);
self.trigger_move_ent setmodel("tag_origin");
level.trigger_move_ent_sfx = spawn("script_model",param_00,0,512,128);
level.trigger_move_ent_sfx linkto(self.trigger_move_ent);
wait(0.5);
level.trigger_move_ent_sfx thread twister_sfx();
playfxontag(level._effect["twister"],self.trigger_move_ent,"tag_origin");
self.trigger_move_ent method_831F(self);
self.trigger_move_ent thread deal_damage_to_enemies(self,param_01);
thread move_ent_function(self.trigger_move_ent,param_01);
}
//Function Number: 103
twister_sfx()
{
self playsound("fnf_tornado_start_lr");
wait(0.4);
self playloopsound("fnf_tornado_lr_lp");
level waittill("stop_twister_sfx");
level thread scripts\common\utility::play_sound_in_space("fnf_tornado_stop_lr",self.origin);
wait(0.15);
self stoploopsound();
self delete();
}
//Function Number: 104
get_zombie_targets(param_00,param_01)
{
param_00 endon("disconnect");
param_00 endon(param_01 + "_timeup");
param_00 endon(param_01 + "_exited_early");
level endon("game_ended");
for(;;)
{
var_02 = scripts\cp\_agent_utils::get_alive_enemies();
var_03 = scripts\common\utility::func_782F(param_00.origin,var_02,undefined,24,2048);
if(isdefined(level.dlc4_boss))
{
if(scripts\common\utility::func_2286(var_03,level.dlc4_boss))
{
var_03 = scripts\common\utility::func_22A9(var_03,level.dlc4_boss);
}
}
if(var_03.size <= 0)
{
scripts\common\utility::func_136F7();
param_00.twister_array_zombie = [];
param_00.twister_array_zombie[param_00.twister_array_zombie.size] = getclosestpointonnavmesh(self.origin) + (0,10,0);
continue;
}
else
{
foreach(var_05 in var_03)
{
if(var_05 scripts\cp\_utility::agentisfnfimmune() && var_05.agent_type != "alien_rhino")
{
scripts\common\utility::func_136F7();
continue;
}
if(scripts\common\utility::istrue(level.meph_fight_started))
{
if(var_05 scripts\cp\_utility::agentisfnfimmune())
{
scripts\common\utility::func_136F7();
continue;
}
else
{
param_00.twister_array_zombie = param_00 method_8428(param_00.origin,scripts\common\utility::func_5D14(var_03[var_03.size - 1].origin,1,1));
}
continue;
}
if(isdefined(level.rhino_array) && level.rhino_array.size > 0)
{
param_00.twister_array_zombie = param_00 method_8428(param_00.origin,scripts\common\utility::func_5D14(var_03[var_03.size - 1].origin,1,1));
continue;
}
if(scripts\common\utility::istrue(var_05.entered_playspace))
{
param_00.twister_array_zombie = param_00 method_8428(param_00.origin,scripts\common\utility::func_5D14(var_03[var_03.size - 1].origin,1,1));
}
}
}
wait(2.5);
}
}
//Function Number: 105
deal_damage_to_enemies(param_00,param_01)
{
self endon("death");
param_00 endon("disconnect");
param_00 endon(param_01 + "_timeup");
param_00 endon(param_01 + "_exited_early");
level endon("game_ended");
for(;;)
{
var_02 = scripts\cp\_agent_utils::get_alive_enemies();
foreach(var_04 in var_02)
{
if(!isdefined(var_04))
{
continue;
}
if(!var_04 scripts\cp\_utility::func_9D20())
{
continue;
}
if(distance2dsquared(self.origin,var_04.origin) < 22500)
{
if(var_04 scripts\cp\_utility::agentisfnfimmune())
{
var_04 dodamage(5,var_04.origin,param_00,param_00,"MOD_UNKNOWN");
continue;
}
if(isdefined(var_04.agent_type) && var_04.agent_type == "slasher" || var_04.agent_type == "superslasher")
{
var_04 dodamage(1000,var_04.origin,param_00,param_00,"MOD_UNKNOWN");
continue;
}
var_04 thread fling_zombie_thundergun_harpoon(var_04.health + 1000,var_04,param_00,self);
}
}
wait(1);
}
}
//Function Number: 106
fling_zombie_thundergun_harpoon(param_00,param_01,param_02,param_03)
{
self endon("death");
param_03 endon("death");
if(!isdefined(param_03))
{
return;
}
var_04 = param_01.origin - param_03.origin;
var_05 = anglestoup(self.angles);
self setvelocity(vectornormalize(param_03.origin - self.origin * 400) + (0,0,800));
wait(0.16);
if(isdefined(param_02))
{
param_01.do_immediate_ragdoll = 1;
param_01.disable_armor = 1;
param_01.var_4C87 = 1;
wait(0.1);
param_01.nocorpse = 1;
param_01.full_gib = 1;
self dodamage(self.health + 1000,param_01.origin,param_02,param_02,"MOD_UNKNOWN","iw7_twister_zm");
return;
}
self.nocorpse = 1;
self.full_gib = 1;
self dodamage(self.health + 1000,param_01.origin,param_01,param_01,"MOD_UNKNOWN","iw7_twister_zm");
}
//Function Number: 107
move_ent_function(param_00,param_01)
{
self endon("disconnect");
self endon(param_01 + "_timeup");
self endon(param_01 + "_exited_early");
var_02 = 0;
thread get_zombie_targets(self,param_01);
for(;;)
{
if(!isdefined(self.twister_array_zombie[var_02]) && var_02 >= self.twister_array_zombie.size)
{
if(self.twister_array_zombie.size > 0)
{
if(isdefined(self.twister_array_zombie[0]))
{
if([[ level.var_164B ]](self.twister_array_zombie[0]))
{
param_00 moveto(self.twister_array_zombie[0],0.5,0.25,0);
}
else
{
var_03 = getclosestpointonnavmesh(self.twister_array_zombie[0]) + (0,10,0);
param_00 moveto(var_03,0.5);
}
var_02--;
}
}
else
{
var_02 = 0;
}
scripts\common\utility::func_136F7();
continue;
}
else
{
param_00 moveto(self.twister_array_zombie[var_02],0.5,0,0);
}
var_02 = var_02 + 1;
scripts\common\utility::func_136F7();
}
}
//Function Number: 108
use_dodge_mode(param_00)
{
self endon("disconnect");
self endon(param_00 + "_timeup");
self endon(param_00 + "_exited_early");
self endon("last_stand");
self endon("death");
level endon("game_ended");
self method_842E(1,50);
self method_842C(1,50);
self method_8434(1,25);
self method_8430(1,0);
self method_8412(1);
self method_8454(5);
thread func_139F9(param_00);
thread remove_dodge_mode(param_00);
}
//Function Number: 109
remove_dodge_mode(param_00)
{
self endon("disconnect");
level endon("game_ended");
scripts\common\utility::waittill_any_3(param_00 + "_timeup",param_00 + "_exited_early","death","last_stand");
self method_8412(0);
self notify(param_00 + "_timeup");
self notify(param_00 + "_exited_early");
}
//Function Number: 110
watchforzombiecollisions(param_00)
{
self endon("death");
self endon("disconnect");
self notify("setDodge");
self endon("setDodge");
self endon(param_00 + "_timeup");
self endon(param_00 + "_exited_early");
level endon("game_ended");
self endon("last_stand");
while(scripts\common\utility::istrue(self.var_5812))
{
var_01 = scripts\cp\_agent_utils::get_alive_enemies();
foreach(var_03 in var_01)
{
if(scripts\common\utility::func_56F4(var_03.origin,self.origin) <= 5184)
{
if(var_03 scripts\cp\_utility::agentisfnfimmune())
{
continue;
}
if(var_03 scripts\cp\_utility::func_9D20() && var_03.agent_type != "slasher" && var_03.agent_type != "superslasher" && var_03.agent_type != "zombie_brute" && var_03.agent_type != "zombie_grey")
{
var_03.exp_touch = 1;
var_03.nocorpse = 1;
var_03.full_gib = 1;
var_03.hit_by_dodging_player = 1;
playsoundatpos(var_03 gettagorigin("j_spineupper"),"zmb_fnf_explosive_touch_explo");
wait(0.1);
playfx(scripts\common\utility::getfx("dodge_touch"),var_03 gettagorigin("j_spineupper"));
var_03 dodamage(var_03.health + 100,var_03.origin,self,self,"MOD_EXPLOSIVE","iw7_pickup_zm");
}
}
}
scripts\common\utility::func_136F7();
}
}
//Function Number: 111
func_139F9(param_00)
{
self endon("disconnect");
self endon(param_00 + "_timeup");
self endon(param_00 + "_exited_early");
level endon("game_ended");
self endon("last_stand");
self endon("death");
for(;;)
{
self waittill("dodgeBegin");
if(isdefined(self.var_45D6) && self.var_45D6 == 1)
{
continue;
}
self.var_5812 = 1;
thread func_139FB(param_00);
thread watchforzombiecollisions(param_00);
var_01 = self getnormalizedmovement();
for(;;)
{
if(var_01[0] > 0)
{
if(var_01[1] <= 0.7 && var_01[1] >= -0.7)
{
playfx(scripts\common\utility::getfx("dodge_fwd_screen"),self gettagorigin("tag_eye"),anglestoforward(self.angles),anglestoup(self.angles),self);
break;
}
if(var_01[0] > 0.5 && var_01[1] > 0.7)
{
playfx(scripts\common\utility::getfx("dodge_fwd_right_screen"),self gettagorigin("tag_eye"),anglestoforward(self.angles),anglestoup(self.angles),self);
break;
}
if(var_01[0] > 0.5 && var_01[1] < -0.7)
{
playfx(scripts\common\utility::getfx("dodge_fwd_left_screen"),self gettagorigin("tag_eye"),anglestoforward(self.angles),anglestoup(self.angles),self);
break;
}
}
if(var_01[0] < 0)
{
if(var_01[1] < 0.4 && var_01[1] > -0.4)
{
playfx(scripts\common\utility::getfx("dodge_back_screen"),self gettagorigin("tag_eye"),anglestoforward(self.angles),anglestoup(self.angles),self);
break;
}
if(var_01[0] < -0.5 && var_01[1] > 0.5)
{
playfx(scripts\common\utility::getfx("dodge_back_right_screen"),self gettagorigin("tag_eye"),anglestoforward(self.angles),anglestoup(self.angles),self);
break;
}
if(var_01[0] < -0.5 && var_01[1] < -0.5)
{
playfx(scripts\common\utility::getfx("dodge_back_left_screen"),self gettagorigin("tag_eye"),anglestoforward(self.angles),anglestoup(self.angles),self);
break;
}
}
if(var_01[1] > 0.4)
{
playfx(scripts\common\utility::getfx("dodge_right_screen"),self gettagorigin("tag_eye"),anglestoforward(self.angles),anglestoup(self.angles),self);
break;
}
if(var_01[1] < -0.4)
{
playfx(scripts\common\utility::getfx("dodge_left_screen"),self gettagorigin("tag_eye"),anglestoforward(self.angles),anglestoup(self.angles),self);
break;
}
else
{
break;
}
}
self playlocalsound("zmb_fnf_evade");
self playsound("zmb_fnf_evade_npc");
}
}
//Function Number: 112
func_139FB(param_00)
{
level endon("game_ended");
scripts\common\utility::waittill_any_3("dodgeEnd","death","disconnect","last_stand");
self.var_5812 = 0;
if(isdefined(self.var_5809))
{
self.var_5809 delete();
}
}
//Function Number: 113
use_ammo_crate(param_00)
{
if(isdefined(level.ammo_crate))
{
self.var_456B[param_00].var_C4A4 = 0;
return 0;
}
create_ammo_crate_interaction(param_00);
}
//Function Number: 114
create_ammo_crate_interaction(param_00)
{
self endon("disconnect");
self endon(param_00 + "_timeup");
self endon(param_00 + "_exited_early");
self endon("death");
self endon("last_stand");
level endon("game_ended");
var_01 = scripts\common\utility::func_5D14(self.origin,0,-2000);
var_02 = spawn("script_model",var_01);
var_02 setmodel("tag_origin_ammo_crate");
level.ammo_crate = var_02;
level.ammo_crate thread give_ammo_to_players_standing_nearby(self,param_00);
thread remove_ammo_crate(param_00);
}
//Function Number: 115
give_ammo_to_players_standing_nearby(param_00,param_01)
{
param_00 endon("death");
param_00 endon("last_stand");
self endon("death");
param_00 endon("disconnect");
param_00 endon(param_01 + "_timeup");
param_00 endon(param_01 + "_exited_early");
level endon("game_ended");
for(;;)
{
foreach(param_00 in level.players)
{
if(!isdefined(param_00))
{
continue;
}
if(distance2dsquared(self.origin,param_00.origin) < 22500)
{
if(param_00 cangive_ammo())
{
playfx(level._effect["ammo_crate_ping"],self.origin,anglestoforward(self.angles),anglestoup(self.angles));
param_00 give_ammo_to_player_through_crate();
param_00 notify("consumable_charge",150);
param_00 thread scripts\cp\_vo::try_to_play_vo("pillage_ammo","zmb_comment_vo","low",10,0,1,0,50);
scripts\common\utility::func_136F7();
continue;
}
param_00 scripts\cp\_utility::setlowermessage("max_ammo",&"COOP_GAME_PLAY_AMMO_MAX",3);
}
}
wait(5);
}
}
//Function Number: 116
cangive_ammo()
{
var_00 = scripts\cp\_utility::getvalidtakeweapon();
var_01 = self getweaponammoclip(var_00);
var_02 = weaponclipsize(var_00);
var_03 = function_0249(var_00);
var_04 = self getweaponammostock(var_00);
if(var_04 < var_03 || var_01 < var_02)
{
return 1;
}
return 0;
}
//Function Number: 117
give_ammo_to_player_through_crate()
{
var_00 = self getweaponslistprimaries();
foreach(var_02 in var_00)
{
if(!scripts\cp\_utility::is_valid_player())
{
continue;
}
if(function_024C(var_02) == "riotshield")
{
continue;
}
if(scripts\cp\_weapon::func_9C22(var_02))
{
continue;
}
var_03 = weaponclipsize(var_02);
adjust_clip_ammo_from_stock(self,var_02,"right",var_03,0);
if(self method_819C())
{
adjust_clip_ammo_from_stock(self,var_02,"left",var_03,1);
}
}
self playlocalsound("weap_ammo_pickup");
}
//Function Number: 118
adjust_clip_ammo_from_stock(param_00,param_01,param_02,param_03,param_04)
{
if(!scripts\common\utility::istrue(param_04))
{
var_05 = function_0249(param_01);
var_06 = param_00 getweaponammostock(param_01);
var_07 = var_05 - var_06;
var_08 = scripts\common\utility::func_116D7(var_07 >= param_03,var_06 + param_03,var_05);
param_00 setweaponammostock(param_01,var_08);
}
var_09 = param_00 getweaponammoclip(param_01,param_02);
var_0A = param_03 - var_09;
var_0B = min(var_09 + var_0A,param_03);
param_00 setweaponammoclip(param_01,int(var_0B),param_02);
}
//Function Number: 119
remove_ammo_crate(param_00)
{
self endon("disconnect");
level endon("game_ended");
scripts\common\utility::waittill_any_3(param_00 + "_timeup",param_00 + "_exited_early","last_stand","death");
scripts\cp\_utility::func_C151("ammo_crate");
if(isdefined(level.ammo_crate))
{
level.ammo_crate delete();
}
}
//Function Number: 120
use_stimulus(param_00)
{
self endon("disconnect");
self endon(param_00 + "_timeup");
self endon(param_00 + "_exited_early");
self endon("death");
self endon("last_stand");
level endon("game_ended");
self.stimulus_active = 1;
thread remove_stimulus(param_00);
}
//Function Number: 121
revive_downed_entities(param_00)
{
param_00 scripts\cp\zombies\zombie_afterlife_arcade::func_1794();
scripts\cp\_laststand::func_992F(param_00);
param_00 thread scripts\cp\zombies\zombie_afterlife_arcade::func_E0AE(0.1);
}
//Function Number: 122
remove_stimulus(param_00)
{
self endon("disconnect");
level endon("game_ended");
scripts\common\utility::waittill_any_3(param_00 + "_timeup",param_00 + "_exited_early","last_stand","death");
if(scripts\common\utility::istrue(self.stimulus_active))
{
self.stimulus_active = undefined;
}
}
//Function Number: 123
applyvisionsettoallplayers(param_00)
{
level.current_vision_set = param_00;
level.var_13445 = level.current_vision_set;
foreach(var_02 in level.players)
{
if(!var_02 scripts\cp\_utility::is_valid_player())
{
continue;
}
if(!isalive(var_02))
{
continue;
}
var_02 visionsetnakedforplayer(param_00,1);
}
switch(param_00)
{
case "cp_town_bw_r":
param_00 = "cp_town_bw_r";
if(level.bomb_compound.color == "red")
{
setomnvar("zm_chem_value_choice",level.bomb_compound.choice);
setomnvar("zm_chem_bvalue_choice",0);
}
else
{
setomnvar("zm_chem_bvalue_choice",level.bad_choice_index_color_red);
setomnvar("zm_chem_value_choice",0);
}
setomnvar("zm_chem_current_color",1);
break;
case "cp_town_bw_g":
param_00 = "cp_town_bw_g";
if(level.bomb_compound.color == "green")
{
setomnvar("zm_chem_value_choice",level.bomb_compound.choice);
setomnvar("zm_chem_bvalue_choice",0);
}
else
{
setomnvar("zm_chem_bvalue_choice",level.bad_choice_index_color_green);
setomnvar("zm_chem_value_choice",0);
}
setomnvar("zm_chem_current_color",2);
break;
case "cp_town_bw_b":
param_00 = "cp_town_bw_b";
if(level.bomb_compound.color == "blue")
{
setomnvar("zm_chem_value_choice",level.bomb_compound.choice);
setomnvar("zm_chem_bvalue_choice",0);
}
else
{
setomnvar("zm_chem_bvalue_choice",level.bad_choice_index_color_blue);
setomnvar("zm_chem_value_choice",0);
}
setomnvar("zm_chem_current_color",3);
break;
case "cp_town_color":
param_00 = "cp_town_color";
setomnvar("zm_chem_current_color",0);
setomnvar("zm_chem_bvalue_choice",level.bad_choice_index_default);
setomnvar("zm_chem_value_choice",0);
break;
}
}
//Function Number: 124
use_activate_gns_machine(param_00)
{
self endon("disconnect");
level endon("game_ended");
foreach(var_02 in level.players)
{
if(self != var_02)
{
if(var_02 scripts\cp\_utility::func_9BA0(param_00))
{
self playlocalsound("ui_consumable_deny");
return 0;
}
}
}
level.skulls_before_activation = getomnvar("zm_num_ghost_n_skull_coin");
if(level.skulls_before_activation == 6 || level.skulls_before_activation == -1)
{
return 0;
}
self.activate_gns_machine = 1;
level thread func_135F6(self);
thread remove_activate_gns_machine(param_00);
self waittill("end_this_gns_fnf_card");
if(isdefined(level.gns_game_console_vfx))
{
level.gns_game_console_vfx delete();
}
if(isdefined(level.entered_thru_card))
{
level.entered_thru_card = undefined;
}
scripts\cp\_utility::func_C151(param_00);
self notify(param_00 + "_timeup");
self notify(param_00 + "_exited_early");
}
//Function Number: 125
remove_activate_gns_machine(param_00)
{
self endon("disconnect");
level endon("game_ended");
self endon("end_this_gns_fnf_card");
for(;;)
{
var_01 = scripts\cp\_utility::func_1372D(self,"last_stand",self,param_00 + "_timeup",self,param_00 + "_exited_early",level,"end_this_thread_of_gns_fnf_card");
if(isdefined(var_01))
{
if(var_01 == "last_stand")
{
if(!scripts\common\utility::istrue(level.entered_thru_card))
{
cleanup_gns_scriptstuff();
}
continue;
}
cleanup_gns_scriptstuff();
}
}
}
//Function Number: 126
cleanup_gns_scriptstuff()
{
if(scripts\common\utility::istrue(self.activate_gns_machine))
{
self.activate_gns_machine = undefined;
}
scripts\cp\maps\cp_zmb\cp_zmb_ghost_wave::func_12DF8(level.skulls_before_activation);
if(level.script == "cp_town")
{
if(!isdefined(level.film_grain_off))
{
level thread applyvisionsettoallplayers("cp_town_bw");
}
else
{
level thread applyvisionsettoallplayers(level.current_vision_set);
}
}
self notify("end_this_gns_fnf_card");
}
//Function Number: 127
get_activated_vfx_postion_based_on_map(param_00)
{
switch(param_00)
{
case "cp_zmb":
return (5459,-4767,29);
case "cp_rave":
return (-282,-1483,437);
case "cp_disco":
return (-713,2609,943);
case "cp_town":
return (5459,-4767,29);
case "cp_final":
return (5638,-6260,103);
}
}
//Function Number: 128
get_corner_position_based_on_map(param_00)
{
switch(param_00)
{
case "cp_zmb":
return (2874,-542,242);
case "cp_rave":
return (-294,-1469,396);
case "cp_disco":
return (-731,2611,898);
case "cp_town":
return (5444,-4760,-14);
case "cp_final":
return (5652,-6231,71);
}
}
//Function Number: 129
get_activation_radius_square_based_on_map(param_00)
{
switch(param_00)
{
case "cp_zmb":
return 2500;
case "cp_rave":
return 2500;
case "cp_disco":
return 2500;
case "cp_town":
return 10000;
case "cp_final":
return 10000;
}
}
//Function Number: 130
func_135F6(param_00)
{
self endon("last_stand");
self endon("end_this_gns_fnf_card");
level endon("player_debug_activate_cabinet");
level endon("end_this_thread_of_gns_fnf_card");
var_01 = get_activated_vfx_postion_based_on_map(level.script);
var_02 = undefined;
if(level.script == "cp_zmb")
{
var_02 = disable_arcade_cabinet_next_to_ghost_n_skull();
var_03 = getent("ghost_arcade_activation_area","targetname");
}
level.gns_game_console_vfx = spawnfx(level._effect["GnS_activation"],var_01);
triggerfx(level.gns_game_console_vfx);
var_04 = get_corner_position_based_on_map(level.script);
var_05 = get_activation_radius_square_based_on_map(level.script);
for(;;)
{
var_06 = 1;
foreach(var_08 in level.players)
{
if(scripts\common\utility::istrue(var_08.inlaststand))
{
var_06 = 0;
break;
}
if(scripts\common\utility::istrue(var_08.var_9D81))
{
var_06 = 0;
break;
}
if(scripts\common\utility::istrue(var_08.var_9FCB))
{
var_06 = 0;
break;
}
if(distancesquared(var_08.origin,var_04) > var_05)
{
var_06 = 0;
break;
}
if(!var_08 usebuttonpressed())
{
var_06 = 0;
break;
}
if(!scripts\common\utility::istrue(param_00.activate_gns_machine))
{
var_06 = 0;
break;
}
}
wait(0.25);
if(var_06)
{
var_06 = 1;
foreach(var_08 in level.players)
{
if(scripts\common\utility::istrue(var_08.inlaststand))
{
var_06 = 0;
break;
}
if(scripts\common\utility::istrue(var_08.var_9D81))
{
var_06 = 0;
break;
}
if(scripts\common\utility::istrue(var_08.var_9FCB))
{
var_06 = 0;
break;
}
if(distancesquared(var_08.origin,var_04) > var_05)
{
var_06 = 0;
break;
}
if(!var_08 usebuttonpressed())
{
var_06 = 0;
break;
}
if(!scripts\common\utility::istrue(param_00.activate_gns_machine))
{
var_06 = 0;
break;
}
if(level.script == "cp_disco")
{
if(isdefined(level.clock_interaction) && isdefined(level.clock_interaction.clock_owner) && level.clock_interaction.clock_owner == var_08)
{
var_06 = 0;
}
if(isdefined(level.clock_interaction_q2) && isdefined(level.clock_interaction_q2.clock_owner) && level.clock_interaction_q2.clock_owner == var_08)
{
var_06 = 0;
}
if(isdefined(level.clock_interaction_q3) && isdefined(level.clock_interaction_q3.clock_owner) && level.clock_interaction_q3.clock_owner == var_08)
{
var_06 = 0;
}
if(scripts\common\utility::istrue(var_08.start_breaking_clock))
{
var_06 = 0;
}
if(scripts\common\utility::istrue(var_08.is_using_gourd))
{
var_06 = 0;
}
if(scripts\common\utility::istrue(var_08.kung_fu_mode))
{
var_06 = 0;
}
}
}
}
if(var_06)
{
if(isdefined(level.gns_game_console_vfx))
{
level.gns_game_console_vfx delete();
if(level.script == "cp_zmb")
{
enable_arcade_cabinet_next_to_ghost_n_skull(var_02);
}
level thread func_447F();
return;
}
}
scripts\common\utility::func_136F7();
}
}
//Function Number: 131
func_447F()
{
level.entered_thru_card = 1;
scripts\cp\maps\cp_zmb\cp_zmb_ghost_wave::func_C127(level.skulls_before_activation,0.5);
scripts\cp\maps\cp_zmb\cp_zmb_ghost_wave::func_10C61();
}
//Function Number: 132
disable_arcade_cabinet_next_to_ghost_n_skull()
{
var_00 = get_arcade_interaction_next_to_ghost_n_skull();
scripts\cp\_interaction::remove_from_current_interaction_list(var_00);
return var_00;
}
//Function Number: 133
enable_arcade_cabinet_next_to_ghost_n_skull(param_00)
{
scripts\cp\_interaction::add_to_current_interaction_list(param_00);
}
//Function Number: 134
get_arcade_interaction_next_to_ghost_n_skull()
{
var_00 = (2829,-538,241);
foreach(var_02 in level.current_interaction_structs)
{
if(distancesquared(var_02.origin,var_00) < 100)
{
return var_02;
}
}
}
//Function Number: 135
use_get_pap2_gun(param_00)
{
level endon("game_ended");
self endon("disconnect");
self endon(param_00 + "_exited_early");
if(self method_81B5())
{
self.var_456B[param_00].var_C4A4 = 0;
self playlocalsound("perk_machine_deny");
return 0;
}
if(scripts\common\utility::istrue(self.is_in_pap))
{
return 0;
}
if(scripts\common\utility::istrue(level.gns_active))
{
return 0;
}
if(scripts\common\utility::istrue(self.var_9FCB))
{
self.var_456B[param_00].var_C4A4 = 0;
return 0;
}
var_01 = choose_random_weapon_from_list(param_00);
scripts\cp\_utility::func_C151(param_00);
return var_01;
}
//Function Number: 136
choose_random_weapon_from_list(param_00)
{
level endon("game_ended");
self endon("disconnect");
self endon(param_00 + "_exited_early");
self endon(param_00 + "_timeup");
for(;;)
{
var_01 = scripts\common\utility::random(level.var_C8A2);
var_02 = self getcurrentweapon();
var_03 = scripts\cp\_utility::func_80D8(var_01);
if(can_upgrade_via_pap2fnfcard(var_01,1))
{
thread func_834A(self,param_00,var_03,var_01);
self.var_9FCB = 0;
return 1;
}
else
{
scripts\common\utility::func_136F7();
continue;
}
}
}
//Function Number: 137
func_834A(param_00,param_01,param_02,param_03)
{
var_04 = 0;
var_05 = undefined;
var_06 = undefined;
var_07 = undefined;
var_08 = undefined;
var_09 = self getweaponslistprimaries();
var_0A = self getweaponslistprimaries().size;
var_0B = 3;
var_0C = param_02;
var_0D = spawnstruct();
var_0D.var_B111 = 2;
param_00.var_C8A2[var_0C] = var_0D;
if(!param_00 scripts\cp\_weapon::func_8BBB(param_03))
{
var_0E = param_00 scripts\cp\_utility::getvalidtakeweapon();
param_00.var_4B32 = var_0E;
if(isdefined(var_0E))
{
var_05 = 1;
var_0F = scripts\cp\_utility::func_80D8(var_0E);
if(param_00 scripts\cp\_utility::func_8BAE() && var_0A < var_0B + 1)
{
var_05 = 0;
}
foreach(var_11 in var_09)
{
if(scripts\cp\_utility::isstrstart(var_11,"alt_"))
{
var_0B++;
}
}
if(scripts\cp\_utility::has_zombie_perk("perk_machine_more"))
{
var_0B++;
}
if(var_09.size < var_0B)
{
var_05 = 0;
}
if(var_05)
{
if(isdefined(param_00.var_C8A2[var_0F]))
{
param_00.var_C8A2[var_0F] = undefined;
param_00 notify("weapon_level_changed");
}
param_00 takeweapon(var_0E);
}
}
if(isdefined(param_00.var_13C00[var_0C]))
{
var_06 = param_00.var_13C00[var_0C];
}
else
{
var_06 = param_03;
}
if(isdefined(param_02))
{
if(isdefined(level.no_pap_camos) && scripts\common\utility::func_2286(level.no_pap_camos,param_02))
{
var_08 = undefined;
}
else if(isdefined(level.pap_1_camo) && param_00.var_C8A2[param_02].var_B111 == 1)
{
var_08 = level.pap_1_camo;
}
else if(isdefined(level.pap_2_camo) && param_00.var_C8A2[param_02].var_B111 == 2)
{
var_08 = level.pap_2_camo;
}
var_13 = param_00 scripts\cp\_weapon::func_7D62(param_03);
}
var_14 = 0;
var_15 = undefined;
if(isdefined(param_02))
{
if(isdefined(param_00.var_C8A2[param_02]))
{
var_15 = "pap" + param_00.var_C8A2[param_02].var_B111;
}
else
{
var_15 = "pap1";
}
}
if(isdefined(var_15) && var_15 == "replace_me")
{
var_15 = undefined;
}
var_16 = function_00E3(var_06);
var_17 = scripts\cp\_weapon::func_E469(var_06,var_15,var_16,undefined,var_08);
var_17 = scripts\cp\_utility::func_12C6(var_17,undefined,undefined,1);
self.pap2_card_weapon = var_17;
param_00.var_A035 = var_17;
param_00 scripts\cp\_utility::take_fists_weapon(self);
param_00 notify("weapon_purchased");
param_00.var_C8A2[param_02].var_B111 = 3;
param_00 givemaxammo(var_17);
param_00 notify("weapon_level_changed");
param_00 switchtoweapon(var_17);
while(param_00 method_81C2())
{
wait(0.05);
}
}
else
{
param_00.var_DB02 = 1;
var_0C = undefined;
var_18 = param_00 getweaponslistall();
var_19 = param_00 getcurrentweapon();
var_1A = scripts\cp\_utility::func_80D8(param_03);
var_1B = undefined;
foreach(param_03 in var_18)
{
var_0C = scripts\cp\_utility::func_80D8(param_03);
if(var_0C == var_1A)
{
var_1B = param_03;
break;
}
}
var_1E = function_0249(var_1B);
var_1F = param_00 lib_0CFF::func_D876();
var_20 = int(var_1F * var_1E);
var_21 = param_00 getweaponammostock(var_1B);
if(var_21 < var_20)
{
param_00 setweaponammostock(var_1B,var_20);
}
}
wait(0.05);
param_00 notify("weapon_purchased");
param_00.var_DB02 = undefined;
}
//Function Number: 138
can_upgrade_via_pap2fnfcard(param_00,param_01)
{
var_02 = self getweaponslistall();
foreach(var_04 in var_02)
{
var_05 = scripts\cp\_utility::func_80D8(param_00);
var_06 = scripts\cp\_utility::func_80D8(var_04);
if(var_05 == var_06)
{
return 0;
}
}
if(scripts\cp\_utility::weapon_is_dlc_melee(param_00) || scripts\cp\_utility::weapon_is_dlc2_melee(param_00) || issubstr(param_00,"knife") || issubstr(param_00,"slasher") || issubstr(param_00,"axe") || issubstr(param_00,"lawnmower") || issubstr(param_00,"harpoon"))
{
return 0;
}
if(isdefined(level.weapon_upgrade_path) && isdefined(level.weapon_upgrade_path[getweaponbasename(param_00)]))
{
return 0;
}
if(issubstr(param_00,"forgefreeze") || issubstr(param_00,"cutie") || issubstr(param_00,"nunchucks") || issubstr(param_00,"katana") || issubstr(param_00,"headcutter") || issubstr(param_00,"dischord") || issubstr(param_00,"facemelter") || issubstr(param_00,"shredder"))
{
return 0;
}
if(!isdefined(level.var_C8A2))
{
return 0;
}
if(isdefined(param_00))
{
var_05 = scripts\cp\_utility::func_80D8(param_00);
}
else
{
return 0;
}
if(!isdefined(var_05))
{
return 0;
}
if(!isdefined(level.var_C8A2[var_05]))
{
var_04 = getsubstr(var_05,0,var_05.size - 1);
if(!isdefined(level.var_C8A2[var_04]))
{
return 0;
}
}
if(isdefined(self.var_C8A2[var_05]) && self.var_C8A2[var_05].var_B111 >= 3)
{
return 0;
}
else
{
return 1;
}
if(scripts\common\utility::istrue(param_01) && isdefined(self.var_C8A2[var_05]) && self.var_C8A2[var_05].var_B111 <= min(level.var_C8A4 + 1,2))
{
return 1;
}
return 1;
}
//Function Number: 139
func_1300E(param_00)
{
level endon("game_ended");
self endon("disconnect");
self endon(param_00 + "_exited_early");
scripts\cp\_laststand::func_6235(self);
thread func_E167(param_00);
for(;;)
{
self waittill("player_has_self_revive",var_01);
if(var_01)
{
continue;
}
self waittill("revive");
self stoplocalsound("zmb_laststand_music");
scripts\cp\_laststand::func_557F(self);
if(scripts\cp\_utility::has_zombie_perk("perk_machine_tough"))
{
self.maxhealth = 200;
self.health = self.maxhealth;
}
scripts\cp\_utility::func_C151(param_00);
break;
}
}
//Function Number: 140
func_E167(param_00)
{
self endon(param_00 + " activated");
self endon("disconnect");
level endon("game_ended");
self waittill(param_00 + "_exited_early");
scripts\cp\_laststand::func_557F(self);
}
//Function Number: 141
func_13038(param_00)
{
self endon("disconnect");
level endon("game_ended");
var_01 = scripts\cp\_persistence::func_7B8B();
var_02 = int(var_01 / level.players.size);
scripts\cp\_persistence::func_F525(var_02);
foreach(var_04 in level.players)
{
if(var_04 == self)
{
continue;
}
var_04 scripts\cp\_persistence::func_82F9(var_02,undefined,undefined,1,"bonus");
}
scripts\cp\_utility::func_C151(param_00);
return 1;
}
//Function Number: 142
func_12FF5(param_00)
{
self endon(param_00 + "_timeup");
self endon("disconnect");
if(!isdefined(level.var_455C))
{
level.var_455C = 0;
}
thread func_12E39(param_00);
thread func_40E2(param_00);
setomnvar("zom_escape_combo_multiplier",1);
for(;;)
{
var_01 = scripts\common\utility::func_13734("shot_missed","weapon_hit_enemy");
if(var_01 == "shot_missed")
{
level.var_455C = level.var_455C - 0.02;
}
else
{
level.var_455C = level.var_455C + 0.02;
}
if(level.var_455C < 0)
{
level.var_455C = 0;
}
self notify("update_team_efficiency");
}
}
//Function Number: 143
func_12E39(param_00)
{
self endon(param_00 + "_timeup");
self endon("disconnect");
while(isdefined(level.var_455C))
{
self waittill("update_team_efficiency");
var_01 = 1 + level.var_455C;
setomnvar("zom_escape_combo_multiplier",var_01);
}
setomnvar("zom_escape_combo_multiplier",-1);
}
//Function Number: 144
func_40E2(param_00)
{
var_01 = scripts\common\utility::func_13734(param_00 + "_timeup",param_00 + "_exited_early","disconnect");
level.var_455C = undefined;
}
//Function Number: 145
func_13012(param_00)
{
self endon(param_00 + "_timeup");
self endon("disconnect");
thread func_E16D(param_00);
foreach(var_02 in scripts\cp\_agent_utils::func_7DB0("axis"))
{
var_02 thread func_1887(var_02,param_00,self);
}
for(;;)
{
level waittill("agent_spawned",var_04);
var_04 thread func_1887(var_04,param_00,self,1);
}
}
//Function Number: 146
func_1887(param_00,param_01,param_02,param_03)
{
param_00 endon("death");
if(isdefined(param_00.agent_type) && param_00.agent_type == "zombie_brute" || param_00.agent_type == "zombie_grey" || param_00.agent_type == "zombie_ghost")
{
return;
}
if(isdefined(param_00.agent_type) && param_00.agent_type == "crab_brute" || param_00.agent_type == "crab_mini")
{
return;
}
if(param_00 scripts\cp\_utility::agentisfnfimmune())
{
return;
}
if(scripts\common\utility::istrue(param_00.var_9CDD))
{
return;
}
if(scripts\common\utility::istrue(param_03))
{
wait(0.5);
}
if(!isdefined(param_00.var_2303.var_4B12))
{
var_04 = param_00.var_1F5;
}
else
{
var_04 = param_01.var_2303.var_4B12;
}
switch(var_04)
{
case "slow_walk":
break;
case "walk":
case "sprint":
case "run":
param_00 lib_0A1B::func_2968("slow_walk");
break;
}
param_02 scripts\common\utility::waittill_any_3(param_01 + "_timeup","last_stand","disconnect");
param_00 lib_0A1B::func_2968(var_04);
}
//Function Number: 147
func_E16D(param_00)
{
self endon(param_00 + "_timeup");
self waittill("last_stand");
self notify(param_00 + "_exited_early");
}
//Function Number: 148
func_12FF8(param_00)
{
self endon(param_00 + "_timeup");
self endon("last_stand");
self endon("disconnect");
level endon("game_ended");
self.life_link_active = undefined;
self.var_AC4B = 1;
var_01 = "j_spine4";
thread func_E0E8(param_00);
thread func_E0E7(param_00);
var_02 = self;
for(;;)
{
var_03 = func_7F72(self);
if(isdefined(var_03))
{
self notify("lost_target",var_03);
self.var_AD2D = 1;
thread func_D4BC(var_03,var_01,param_00);
var_02.life_link_active = 1;
func_AD4A(self,var_03);
continue;
}
var_02.life_link_active = undefined;
wait(0.5);
}
}
//Function Number: 149
func_7F72(param_00)
{
var_01 = scripts\common\utility::func_782F(param_00.origin,level.players,[param_00],4,512);
var_02 = sortbydistance(var_01,param_00.origin);
var_03 = undefined;
foreach(var_05 in var_02)
{
var_06 = sighttracepassed(param_00 geteye(),var_05 geteye(),0,param_00);
if(!var_06)
{
continue;
}
if(scripts\common\utility::istrue(var_05.inlaststand))
{
continue;
}
var_03 = var_05;
break;
}
return var_03;
}
//Function Number: 150
func_AD4A(param_00,param_01)
{
param_00 endon("disconnect");
while(scripts\common\utility::istrue(param_00.var_AD2D))
{
if(scripts\common\utility::istrue(param_01.inlaststand))
{
param_00.var_AD2D = undefined;
param_00 notify("lost_target");
break;
}
else if(distance(param_00.origin,param_01.origin) > 512)
{
param_00.var_AD2D = undefined;
param_00 notify("lost_target");
break;
}
else
{
var_02 = sighttracepassed(param_00 geteye(),param_01 geteye(),0,param_00);
if(!var_02)
{
param_00.var_AD2D = undefined;
param_00 notify("lost_target");
}
}
wait(0.25);
}
}
//Function Number: 151
func_D4BC(param_00,param_01,param_02)
{
param_00 endon("disconnect");
self endon("disconnect");
var_03 = [];
playfxontag(level._effect["life_link_target"],param_00,param_01);
foreach(var_05 in level.players)
{
var_03[var_03.size] = function_02DF(level._effect["life_link"],self,param_01,param_00,param_01,var_05);
}
self playloopsound("zmb_fnf_lifelink_heal_lp");
param_00 playloopsound("zmb_fnf_lifelink_heal_lp");
var_07 = scripts\cp\_utility::func_1372D(self,"disconnect",self,"lost_target",self,"last_stand",self,param_02 + "_timeup",param_00,"disconnect",param_00,"last_stand",level,"game_ended");
if(isdefined(self))
{
self stoploopsound();
}
if(isdefined(param_00))
{
param_00 stoploopsound();
}
foreach(var_09 in var_03)
{
if(isdefined(var_09))
{
var_09 delete();
}
}
if(isdefined(param_00))
{
killfxontag(level._effect["life_link_target"],param_00,param_01);
}
}
//Function Number: 152
func_E0E7(param_00)
{
self endon(param_00 + "_timeup");
self waittill("last_stand");
self.var_AC4B = undefined;
self.life_link_active = undefined;
if(isdefined(self.var_AD2D))
{
self.var_AD2D = undefined;
}
self notify(param_00 + "_exited_early");
}
//Function Number: 153
func_E0E8(param_00)
{
self endon("last_stand");
self waittill(param_00 + "_timeup");
self.var_AC4B = undefined;
self.life_link_active = undefined;
if(isdefined(self.var_AD2D))
{
self.var_AD2D = undefined;
}
}
//Function Number: 154
func_13002(param_00)
{
var_01 = level.players;
var_02 = 0;
foreach(var_04 in var_01)
{
var_05 = var_04;
if(isdefined(var_04.var_222))
{
var_05 = var_04.var_222;
}
if(scripts\cp\_laststand::player_in_laststand(var_05))
{
var_02 = 1;
if(scripts\common\utility::istrue(var_05.var_A623))
{
thread delayed_instant_revive(var_05);
continue;
}
scripts\cp\_laststand::func_992F(var_05);
scripts\cp\_laststand::func_DDEA(self,var_05);
}
}
if(!var_02)
{
self.var_456B["phoenix_up"].var_C4A4 = 0;
scripts\common\utility::func_136F7();
return 0;
}
wait(0.25);
scripts\cp\_utility::func_C151("phoenix_up");
return 1;
}
//Function Number: 155
delayed_instant_revive(param_00)
{
param_00 endon("disconnect");
param_00 endon("revive");
wait(4);
scripts\cp\_laststand::func_992F(param_00);
scripts\cp\_laststand::func_DDEA(self,param_00);
}
//Function Number: 156
func_12FF6(param_00)
{
level endon("game_ended");
if(isdefined(level.meph_fight_started))
{
return 0;
}
foreach(var_02 in level.players)
{
if(!isdefined(var_02.killing_time))
{
var_02.killing_time = 0;
}
var_02.killing_time++;
}
scripts\common\utility::func_136F7();
scripts\cp\_utility::func_C151("killing_time");
scripts\common\utility::waittill_any_timeout_1(20,"death","last_stand","disconnect");
foreach(var_02 in level.players)
{
if(isdefined(var_02.killing_time))
{
var_02.killing_time--;
if(var_02.killing_time <= 0)
{
var_02.killing_time = undefined;
}
}
}
}
//Function Number: 157
func_12FFF(param_00)
{
level endon("game_ended");
self endon("last_stand");
self endon("disconnect");
thread func_E141(param_00);
foreach(var_02 in level.players)
{
if(var_02 == self)
{
if(var_02 scripts\cp\_utility::func_9E3A())
{
var_02 scripts\cp\_utility::func_1C5C(0);
}
continue;
}
var_02 scripts\cp\_utility::func_1C5C(1);
}
wait(10);
foreach(var_02 in level.players)
{
if(var_02 scripts\cp\_utility::func_9E3A())
{
var_02 scripts\cp\_utility::func_1C5C(0);
}
}
}
//Function Number: 158
func_E141(param_00)
{
var_01 = scripts\common\utility::func_13734("last_stand","disconnect",param_00 + "_timeup",param_00 + "_exited_early");
foreach(var_03 in level.players)
{
if(var_03 scripts\cp\_utility::func_9E3A())
{
var_03 scripts\cp\_utility::func_1C5C(0);
}
}
if(isdefined(var_01) && var_01 == "last_stand")
{
self notify(param_00 + "_exited_early");
}
}
//Function Number: 159
func_12FA2(param_00)
{
if(!scripts\cp\_utility::isteleportenabled() || scripts\common\utility::istrue(self.is_in_pap))
{
self.var_456B["anywhere_but_here"].var_C4A4 = 0;
return 0;
}
if(scripts\cp\zombies\direct_boss_fight::should_directly_go_to_boss_fight())
{
self.var_456B["anywhere_but_here"].var_C4A4 = 0;
return 0;
}
var_01 = level.active_player_respawn_locs;
var_01 = scripts\common\utility::func_22AF(var_01);
foreach(var_03 in level.active_player_respawn_locs)
{
var_04 = scripts\cp\zombies\zombies_spawning::func_7C82(0,1,self);
foreach(var_06 in var_04)
{
if(function_010F(var_03.origin,var_06))
{
var_01 = scripts\common\utility::func_22A9(var_01,var_03);
}
}
}
if(var_01.size < 1)
{
var_01 = level.active_player_respawn_locs;
}
var_09 = scripts\cp\gametypes\zombie::func_7C0B(level.players,var_01);
if(!isdefined(var_09))
{
self.var_456B["anywhere_but_here"].var_C4A4 = 0;
return 0;
}
if(scripts\cp\_utility::map_check(4))
{
var_0A = scripts\cp\zombies\zombies_spawning::func_7C82(0,1,self);
foreach(var_0C in var_0A)
{
if(isdefined(level.facilityvolumes) && scripts\common\utility::func_2286(level.facilityvolumes,var_0C.var_28AB))
{
self.currentlocation = "facility";
continue;
}
self.currentlocation = "theater";
}
}
lib_0D12::func_5AA3();
scripts\cp\_interaction::func_DE6E();
scripts\cp\powers\coop_powers::func_D72E();
self method_80F3();
self setorigin(var_09.origin);
self setplayerangles(var_09.angles);
self notify("left_hidden_room_early");
scripts\cp\_utility::func_C151("anywhere_but_here");
self.abh_used = gettime();
return 1;
}
//Function Number: 160
func_A4F5(param_00)
{
level endon("game_ended");
level.players[0] endon("death");
level.players[0] endon("last_stand");
foreach(var_02 in level.active_player_respawn_locs)
{
level.players[0] lib_0D12::func_5AA3();
level.players[0] scripts\cp\_interaction::func_DE6E();
level.players[0] scripts\cp\powers\coop_powers::func_D72E();
level.players[0] method_80F3();
level.players[0] setorigin(var_02.origin);
level.players[0] setplayerangles(var_02.angles);
wait(2);
}
}
//Function Number: 161
func_12FF2(param_00)
{
level endon("game_ended");
self endon("disconnect");
self endon(param_00 + "_timeup");
self.var_8C9E = gettime();
}
//Function Number: 162
func_8C9D(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09)
{
if(!scripts\cp\_utility::func_9BA0("headshot_reload"))
{
return 0;
}
if(!scripts\common\utility::func_9D74(param_03))
{
return 0;
}
if(!scripts\cp\_utility::func_9E27(param_04,param_06,param_03,param_01))
{
return 0;
}
if(isdefined(param_09) && param_09 scripts\cp\_utility::agentisfnfimmune())
{
return 0;
}
param_04 = self getcurrentweapon();
var_0A = self getweaponammostock(param_04);
var_0B = weaponclipsize(param_04);
var_0C = self getweaponammoclip(param_04);
var_0D = var_0B - var_0C;
if(var_0A >= var_0D)
{
self setweaponammostock(param_04,var_0A - var_0D);
}
else
{
var_0B = var_0A;
self setweaponammostock(param_04,0);
}
var_0E = var_0B;
var_0F = min(var_0C + var_0E,var_0B);
self setweaponammoclip(param_04,int(var_0F));
if(self method_819C())
{
var_0C = self getweaponammoclip(param_04,"left");
var_0F = min(var_0C + var_0E,var_0B);
self setweaponammoclip(param_04,int(var_0F),"left");
}
}
//Function Number: 163
func_12FF1(param_00)
{
self.var_D721 = 1;
scripts\cp\powers\coop_powers::func_D71A(1,"primary");
var_01 = getarraykeys(self.var_D782);
foreach(var_03 in var_01)
{
self.var_D782[var_03].var_461B = 1;
}
}
//Function Number: 164
func_12955(param_00)
{
self.var_D721 = 0;
}
//Function Number: 165
func_13DFE(param_00,param_01)
{
if(!isdefined(param_00.var_456B))
{
return;
}
var_02 = 0;
foreach(var_06, var_04 in param_00.consumables_pre_irish_luck_usage)
{
var_05 = func_78DE(var_06);
setclientmatchdata("player",param_01,"cardsUsed",var_02,"loot_ID",int(var_05));
setclientmatchdata("player",param_01,"cardsUsed",var_02,"num_of_times_used",var_04.var_11925);
var_02++;
}
}
//Function Number: 166
func_78DE(param_00)
{
return tablelookup("cp/loot/iw7_zombiefatefortune_loot_master.csv",1,param_00,0);
}
//Function Number: 167
func_F306(param_00)
{
return self [[ level.var_456B[param_00].var_F286 ]](param_00);
}
//Function Number: 168
func_12BF6(param_00)
{
self [[ level.var_456B[param_00].var_12BF4 ]](param_00);
}