mirror of
https://github.com/InfinityLoader/IL-GSC.git
synced 2025-06-07 17:17:50 -05:00
4847 lines
113 KiB
Plaintext
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);
|
|
} |