/******************************************************************* * Decompiled By: Bog * Decompiled File: 1363.gsc * Game: Call of Duty: WWII * Platform: PC * Function Count: 51 * Decompile Time: 55 ms * Timestamp: 10/27/2023 3:25:47 AM *******************************************************************/ //Function Number: 1 anchor(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08) { if(isdefined(level.zmb_player_last_stand_protection)) { if([[ level.zmb_player_last_stand_protection ]](self)) { self.var_BC = 1; return; } } self notify("enter_last_stand"); func_7BEA(param_00,param_01,param_02,param_03,param_04,param_05,param_06); var_09 = lib_0547::func_AC4B(self.var_116,"last_stand"); var_09 lib_0547::func_AC47(self); var_09 lib_0547::func_AC4D(); if(level.var_32CF < level.var_6082) { self.var_32CE = level.var_32CF; level.var_32CF = level.var_32CF + 1; setmatchdata("down_count",maps\mp\_utility::func_2315(level.var_32CF)); setmatchdata("downs",self.var_32CE,"round_downed",maps\mp\_utility::func_2315(level.var_A980)); setmatchdata("downs",self.var_32CE,"player_index",maps\mp\_utility::func_2314(self.var_2418)); var_0A = maps\mp\_utility::func_467B(); setmatchdata("downs",self.var_32CE,"down_time",maps\mp\_utility::func_2315(var_0A)); setmatchdata("downs",self.var_32CE,"down_pos",0,maps\mp\_utility::func_2315(int(self.var_116[0]))); setmatchdata("downs",self.var_32CE,"down_pos",1,maps\mp\_utility::func_2315(int(self.var_116[1]))); setmatchdata("downs",self.var_32CE,"down_pos",2,maps\mp\_utility::func_2315(int(self.var_116[2]))); if(!common_scripts\utility::func_562E(level.door_data_out_of_date)) { setmatchdata("downs",self.var_32CE,"down_zone_index",lib_0547::getplayerddlzonename()); } if(function_012A("MeansOfDeath",param_03)) { setmatchdata("downs",self.var_32CE,"means_of_death",param_03); } if(isdefined(param_01.var_A4B) && function_012A("ZombieType",param_01.var_A4B)) { setmatchdata("downs",self.var_32CE,"attacker",param_01.var_A4B); } } else { self.var_32CE = level.var_6082; } var_0B = self getcurrentprimaryweapon(); if(maps\mp\_utility::func_4431(var_0B) == self.var_76D8) { self.var_A9BA[self.var_76D9].var_32D0 = self.var_A9BA[self.var_76D9].var_32D0 + 1; } else { var_0C = lib_0547::func_4837(self,var_0B); if(var_0C == -1) { self.var_76D8 = ""; self.var_76D9 = -1; } else { self.var_A9BA[var_0C].var_32D0 = self.var_A9BA[var_0C].var_32D0 + 1; self.var_76D8 = maps\mp\_utility::func_4431(var_0B); self.var_76D9 = var_0C; } } if(laststandentergameshouldend(self,param_03,1)) { self.var_A219 = 1; if(self.var_32CE < level.var_6082) { setmatchdata("downs",self.var_32CE,"died",1); } self.var_6881++; maps\mp\_utility::func_728(); func_AC1F(undefined,param_03); return; } if(!func_60AD(self)) { self.var_A219 = 0; if(self.var_32CE < level.var_6082) { setmatchdata("downs",self.var_32CE,"died",1); } self.var_6881++; maps\mp\_utility::func_728(); if(level.var_744A.size < 2) { func_AC1F(undefined,param_03); } return; } self notify("begin_last_stand"); self.var_5378 = 1; self.var_E8 = 1; lib_0547::func_8623(1); self.var_BC = 1; self method_812A(0); self.var_6882++; if(lib_0586::func_72C3()) { lib_0586::func_790("blimp_battery_zm"); lib_0586::func_78E(self.var_6A54); self allowjump(1); } var_0D = self getweaponslist("combat_role"); var_0E = self rolegetpower(); foreach(var_10 in var_0D) { if(var_0E > 0) { self roleapplypowerchange(-1 * var_0E); } lib_0533::func_2F9E(var_10); } lib_0547::func_7ACD(); if(isdefined(level.var_5F20)) { [[ level.var_5F20 ]](); } self.var_479D = func_AC5F(); func_806A(); func_47AC(self.var_479D,1); setlaststandweaponammo(self.var_479D); thread lib_0547::func_AC16(0,"laststand"); common_scripts\utility::func_601(); self method_8326(); common_scripts\utility::func_600(); if(isdefined(param_03) && param_03 == "MOD_SUICIDE") { self method_8555(); } thread func_5BF1(param_00,param_01,param_04,param_07,param_03); if(!func_4B87()) { thread lib_0576::func_83C6(); } thread lib_056A::func_5BFE(); if(isdefined(level.var_5BEB)) { self thread [[ level.var_5BEB ]](); } if(maps/mp/agents/_agent_utility::func_45C7(self) > 0) { thread func_9E18(param_03); } level.var_400E[level.var_400E.size] = ["assassin_set 3 -1",self]; level.var_400E[level.var_400E.size] = ["survivalist_set 0 -1",self]; level.var_400E[level.var_400E.size] = ["mountain_man_set 1 -1",self]; level.var_400E[level.var_400E.size] = ["mountain_man_set 3 -1",self]; level.var_400E[level.var_400E.size] = ["bat_elite_set 3 -1",self]; } //Function Number: 2 func_9E18(param_00) { self endon("death"); self endon("disconnect"); self endon("revive"); level endon("game_ended"); while(maps/mp/agents/_agent_utility::func_45C7(self) > 0) { wait 0.05; } if(func_3FD3(self,1)) { thread func_5A4D(param_00); } } //Function Number: 3 func_5A4D(param_00) { level endon("game_ended"); self.var_A219 = 1; if(self.var_32CE < level.var_6082) { setmatchdata("downs",self.var_32CE,"died",1); } self.var_6881++; maps\mp\_utility::func_728(); func_AC1F(undefined,param_00); } //Function Number: 4 func_806A(param_00) { if(!isdefined(param_00)) { param_00 = 1; } if(lib_057A::func_A260()) { lib_057A::func_259D(); } self.var_5B98 = self getcurrentprimaryweapon(); var_01 = self getweaponslistprimaries(); if(!isdefined(self.var_5B98) || self.var_5B98 == "none" || lib_0547::func_585B(self.var_5B98) || !lib_0547::func_5836(self.var_5B98)) { self.var_5B98 = "none"; foreach(var_03 in var_01) { var_04 = getweapondisplayname(var_03); if(lib_0547::func_5836(var_04)) { self.var_5B98 = lib_0586::func_632(var_03); break; } } } self.var_7707 = []; foreach(var_03 in var_01) { var_07 = getweapondisplayname(var_03); if(lib_0547::func_5836(var_07)) { self.var_7707[self.var_7707.size] = lib_0586::func_632(var_03); } } if(self.var_5B98 == "search_dstry_bomb_defuse_mp" && isdefined(self.var_5BC5) && isdefined(common_scripts\utility::func_F7E(self.var_7707,self.var_5BC5))) { self.var_5B98 = self.var_5BC5; } if(issubstr(self.var_5B98,"killstreak")) { self.var_5B98 = self.var_7707[0]; } foreach(var_03 in self.var_7707) { self.var_7708[var_03]["ammoInfo"] = lib_0586::func_4129(var_03); } self.var_9A8A = self.var_5B98; self.var_9A8B = lib_0547::func_4747(self,self.var_9A8A); if(issubstr(self.var_9A8A,"titan")) { self.var_9A8B = 0; } foreach(var_0C in self.var_7707) { if(!issubstr(var_0C,"titan")) { if(param_00) { lib_0586::func_790(var_0C); } var_0D = lib_0547::func_4747(self,var_0C); if(var_0D > self.var_9A8B) { self.var_9A8A = var_0C; self.var_9A8B = var_0D; } } } } //Function Number: 5 func_7B86() { foreach(var_01 in self.var_7707) { self.var_7708[var_01]["fillMax"] = 1; } } //Function Number: 6 func_AC5F() { var_00 = self; var_01 = ["m1911_pap_zm","luger_pap_zm","m712_pap_zm","m712_zm","luger_auto_zm","m1911_zm","luger_zm"]; var_02 = undefined; foreach(var_04 in var_00 getweaponslistprimaries()) { var_05 = var_00 lib_0586::func_632(var_04); var_06 = lib_0547::func_AAF9(var_05); if(var_06 == "none" || function_01AA(var_06) != "pistol") { continue; } var_02 = var_05; if(lib_0547::func_5868(var_05)) { break; } } if(!isdefined(var_02)) { var_08 = var_01[var_01.size - 1]; var_02 = maps\mp\zombies\_zombies_magicbox::func_454B(self,var_08); } if(func_4B87()) { var_02 = maps\mp\zombies\_zombies_magicbox::func_454B(self,"m1911_zm"); var_09 = lib_0586::func_78B(var_02); if(isdefined(var_09)) { return var_09; } else { return "m1911_pap_zm"; } } for(var_0A = 0;var_0A < var_01.size;var_0A++) { if(lib_0547::func_73F9(self,var_01[var_0A],1,1,0)) { var_0B = lib_0586::func_78A(var_01[var_0A]); if(isdefined(var_0B)) { var_02 = lib_0586::func_632(var_0B); break; } } } return var_02; } //Function Number: 7 laststandentergameshouldend(param_00,param_01,param_02) { if(level.var_744A.size <= 1) { if(param_00 func_4B87()) { return 0; } if(param_00 lib_0547::func_73BF()) { return 0; } if(isdefined(param_01) && param_01 == "MOD_SUICIDE") { return 1; } } if(lib_0547::func_F51(param_00,1)) { return 0; } else { if(isdefined(param_02) && param_02 && func_0F50(param_00)) { return 0; } if(param_00 lib_0547::func_73BF()) { return 0; } } param_00.var_2AB8 = gettime(); return 1; } //Function Number: 8 func_3FD3(param_00,param_01,param_02) { if(level.var_744A.size <= 1) { if(lib_0547::func_577E(param_00) && param_00 func_4B87()) { return 0; } if(lib_0547::func_577A(param_00,1)) { return 0; } if(isdefined(param_01) && param_01 == "MOD_SUICIDE") { return 1; } } if(lib_0547::func_F51(param_00,1)) { return 0; } else if(isdefined(param_02) && param_02 && func_0F50(param_00)) { return 0; } param_00.var_2AB8 = gettime(); return 1; } //Function Number: 9 func_0F50(param_00) { var_01 = maps/mp/agents/_agent_utility::func_43FD("all"); foreach(var_03 in var_01) { if(!isalliedsentient(var_03,param_00)) { continue; } if(isalliedsentient(var_03,param_00) && common_scripts\utility::func_562E(var_03.shouldnotpreventlaststand)) { continue; } if(lib_0547::func_577E(var_03)) { continue; } return 1; } return 0; } //Function Number: 10 func_7B38() { foreach(var_01 in level.var_744A) { setmatchdata("players",var_01.var_2418,"end_total_xp",var_01.var_AB46["xp"]); setmatchdata("players",var_01.var_2418,"end_prestige",0); setmatchdata("players",var_01.var_2418,"end_rank",var_01.var_AB46["rank"]); setmatchdata("players",var_01.var_2418,"end_xp",var_01.var_AB46["xp"] - var_01.var_AB46["totalXP"]); var_02 = lib_0547::func_4745(var_01,"totalTimePlayed") + var_01.var_9A06["total"]; var_03 = lib_0547::func_4745(var_01,"totalGames"); setmatchdata("players",var_01.var_2418,"end_total_time_played",var_02); setmatchdata("players",var_01.var_2418,"end_zm_games_played",var_03 + 1); var_04 = lib_0547::func_4745(var_01,"totalHeadshots") + var_01.var_4BF7; var_05 = lib_0547::func_4745(var_01,"totalKills") + var_01.var_E3; var_06 = lib_0547::func_4745(var_01,"totalRevives") + var_01.var_21; var_07 = lib_0547::func_4745(var_01,"totalMoneyEarned") + var_01.var_62D7; var_08 = lib_0547::func_4745(var_01,"totalRounds") + level.var_A980; setmatchdata("players",var_01.var_2418,"end_lifetime_headshots",var_04); setmatchdata("players",var_01.var_2418,"end_lifetime_kills",var_05); setmatchdata("players",var_01.var_2418,"end_lifetime_revives",var_06); setmatchdata("players",var_01.var_2418,"end_lifetime_score",var_07); setmatchdata("players",var_01.var_2418,"end_lifetime_waves",var_08); setmatchdata("players",var_01.var_2418,"play_time",var_01.var_9A06["total"]); if(var_01.var_32CE < level.var_6082) { setmatchdata("downs",var_01.var_32CE,"died",1); } } } //Function Number: 11 func_AC1F(param_00,param_01,param_02) { if(!common_scripts\utility::func_562E(param_02) && !func_3FD3(self,param_01)) { return 0; } if(game["state"] == "postgame" || level.var_3F9D) { return; } func_7B38(); level.var_3B5C = level.var_3772; if(!isdefined(param_00)) { param_00 = "survivors_eliminated"; } if(common_scripts\utility::func_562E(level.iszombiesshotgun)) { var_03 = common_scripts\utility::func_562E(level.zmb_shotgun_game_won); } else { var_03 = isdefined(param_01) && param_01 == "zombies_completed"; } if(var_03) { level.finalkillcam_winnter = level.var_746E; if(!function_0371()) { function_03C1(); } } else if(!function_0371()) { function_03C2(); } level thread maps\mp\gametypes\_gamelogic::func_36B9(level.var_3B5C,game["end_reason"][param_00]); setnojipscore(0); setnojipzombieswave(0); maps\mp\_utility::func_2CED(0.05,::lib_0554::func_20CB,"game_over"); } //Function Number: 12 func_60AD(param_00) { if(param_00 maps\mp\_utility::func_9AC1()) { return 0; } return 1; } //Function Number: 13 func_7BEA(param_00,param_01,param_02,param_03,param_04,param_05,param_06) { var_07 = spawnstruct(); var_07.var_35A9 = param_00; var_07.var_1180 = param_01; var_07.var_502C = param_02; var_07.var_1192 = param_01.var_116; var_07.var_8CD7 = param_03; var_07.var_953E = param_04; var_07.var_A2B1 = param_05; var_07.var_8B0A = param_06; var_07.var_5BF4 = gettime(); if(isdefined(param_01) && isplayer(param_01) && param_01 getcurrentprimaryweapon() != "none") { var_07.var_912F = param_01 getcurrentprimaryweapon(); } else { var_07.var_912F = undefined; } self.var_5BEF = var_07; } //Function Number: 14 func_4B86() { return isdefined(self.var_6F66) && isdefined(self.var_6F66["quickrevive"]); } //Function Number: 15 func_4B87() { return level.var_744A.size <= 1 && func_4B86(); } //Function Number: 16 func_A233() { lib_0555::func_83DD("blitz_revive",self); thread func_5BF2(); level thread func_83CB(self); } //Function Number: 17 func_5BF1(param_00,param_01,param_02,param_03,param_04) { self endon("death"); self endon("disconnect"); self endon("revive"); level endon("game_ended"); level notify("player_last_stand"); self notify("force_cancel_placement"); var_05 = func_0634(self); lib_0555::func_83DD("down",self); thread lib_054E::func_741A(); thread func_5BFC(); thread func_5BED(); thread func_5BEE(); thread laststandmonitordeath(); var_06 = spawn("script_model",self.var_116); var_06 setmodel("tag_origin"); var_06 setcursorhint("HINT_NOICON"); var_06 sethintstring(&"PLATFORM_REVIVE"); var_06 makeusable(); var_06.var_54F5 = 0; var_06.var_28D5 = 0; var_06.var_A23F = level.var_5BFA; var_06.var_A22B = 1; var_06.var_502A = "last_stand"; var_06.var_1A5 = "revive_trigger"; var_06.var_117 = self; var_06 linkto(self,"tag_origin",(0,0,20),(0,0,0)); var_06 thread maps\mp\gametypes\_damage::func_2D44(); self.var_7E5D = func_2826("hint_health_zm",8,8,(0.5,1,0.99)); thread func_5BF7(var_06,var_05); thread func_5BF8(var_06); self hudoutlineenable(1,0); var_06 thread func_7E58(); var_06 thread func_7E65(); var_06 thread func_5BFD(); if(func_581E()) { func_A233(); thread func_5BE9(); } else { func_0F34(self); thread func_5BF6(var_05,var_06); } var_06 endon("death"); maps\mp\gametypes\_hostmigration::func_A6F5(var_05); while(isdefined(var_06.var_54F5) && var_06.var_54F5) { wait 0.05; } if(isdefined(self.laststandlastmomentcallback)) { self [[ self.laststandlastmomentcallback ]](); } if(isdefined(self.linkedbubblefx)) { playfx(common_scripts\utility::func_44F5("force_zombie_bubble_pop"),self.var_116); self.linkedbubblefx delete(); } self hudoutlinedisable(); self method_8322(); thread func_1788(); } //Function Number: 18 func_581E() { return func_4B87(); } //Function Number: 19 func_2826(param_00,param_01,param_02,param_03) { if(isdefined(self.var_7E5D)) { self.var_7E5D destroy(); } var_04 = newteamhudelem(self.var_1A7); var_04 setshader(param_00,param_01,param_02); var_04 setwaypoint(1,1); var_04 settargetent(self); var_04.var_56 = param_03; return var_04; } //Function Number: 20 func_0F34(param_00) { var_01 = maps/mp/gametypes/zombies::func_4480(param_00); var_02 = int(var_01 * 0.1); var_03 = int(common_scripts\utility::func_627D(var_02,10)); var_02 = var_02 - var_03; param_00 maps/mp/gametypes/zombies::func_90F5(var_02); param_00.var_7E5E = var_02; } //Function Number: 21 func_1788() { self notify("bleedout"); level notify("player_bleedout",self); var_00 = lib_0547::func_AC4B(self.var_116,"bleedout"); var_00 lib_0547::func_AC47(self); var_00 lib_0547::func_AC4D(); if(isdefined(self.var_7E5D)) { self.var_7E5D destroy(); } var_01 = "ui_zm_character_" + self.characterclientindex + "_alive"; setomnvar(var_01,0); var_01 = "ui_zm_character_" + self.characterclientindex + "_bleedout_endtime"; setomnvar(var_01,0); if(self.var_32CE < level.var_6082) { setmatchdata("downs",self.var_32CE,"died",1); } self.var_6881++; self suicide(); if(func_3FD3(self)) { func_AC1F(); return; } lib_0554::func_20CB("player_died",self); lib_0555::func_83DD("dead",self); } //Function Number: 22 func_5BF2() { self endon("disconnect"); self setclientomnvar("ui_use_bar_text",3); self setclientomnvar("ui_use_bar_start_time",int(gettime())); self.var_28D5 = 0; self.var_A22B = 1; self.var_A23F = 8000; var_00 = -1; while(maps\mp\_utility::func_57A0(self) && isdefined(self.var_E8) && !level.var_3F9D) { var_01 = int(gettime()); self setclientomnvar("ui_use_bar_current_time",var_01); if(var_00 != self.var_A22B) { if(self.var_28D5 > self.var_A23F) { self.var_28D5 = self.var_A23F; } if(self.var_A22B > 0) { var_02 = gettime(); var_03 = self.var_28D5 / self.var_A23F; var_04 = var_02 + 1 - var_03 * self.var_A23F / self.var_A22B; self setclientomnvar("ui_use_bar_end_time",int(var_04)); } var_00 = self.var_A22B; } wait 0.05; } self setclientomnvar("ui_use_bar_end_time",0); } //Function Number: 23 func_83CB(param_00) { while(!level.var_3F9D && maps\mp\_utility::func_57A0(param_00) && param_00.var_28D5 < param_00.var_A23F) { param_00.var_28D5 = param_00.var_28D5 + 50 * param_00.var_A22B; if(param_00.var_28D5 >= param_00.var_A23F) { param_00 notify("revive_trigger"); } wait 0.05; } } //Function Number: 24 func_7E65() { self endon("death"); level endon("game_ended"); for(;;) { self makeusable(); self waittill("trigger",var_00); if(should_ignore_revive_attempt(self.var_117,var_00)) { continue; } self makeunusable(); var_01 = getdvarint("scr_reviveTime",3000); var_02 = var_00 func_4B86(); var_03 = common_scripts\utility::func_562E(var_00.var_569F) && var_00 lib_0547::func_4BA7("specialty_class_recon_medic_zm"); if(var_02 && var_03) { var_01 = 0; } else if(var_02) { var_01 = var_01 * 0.5; } else if(var_03) { var_01 = var_01 * 0.5; } if(var_01 > 0) { self.var_28D5 = 0; self.var_54F5 = 1; self.var_117.var_172C = 1; self.var_117 lib_0547::func_7ACD(); var_00 freezecontrols(1); var_00 common_scripts\utility::func_603(); var_00 method_812B(0); var_00.var_57AB = 1; thread func_7E66(var_00); var_04 = maps\mp\gametypes\_damage::func_7E5A(var_00,var_01,0); self.var_54F5 = 0; if(isdefined(self.var_117)) { self.var_117.var_172C = 0; self.var_117 lib_0547::func_7ACD(); } if(isdefined(var_00) && maps\mp\_utility::func_57A0(var_00)) { self notify("reviveTriggerThinkZombies_cleanup"); if(!isdefined(var_04)) { var_00 maps\mp\gametypes\_gameobjects::func_A18A(self,0); } } } else { var_04 = 1; } if(isdefined(var_04) && var_04) { if(isdefined(self.var_117)) { self.var_117 notify("revive_trigger",var_00); } func_476A(self.var_117,var_00); break; } } } //Function Number: 25 should_ignore_revive_attempt(param_00,param_01) { if(!isdefined(level.additional_player_revive_rules)) { return 0; } foreach(var_03 in level.additional_player_revive_rules) { if([[ var_03 ]](param_00,param_01)) { return 1; } } return 0; } //Function Number: 26 func_476A(param_00,param_01) { var_02 = param_01; if(!isplayer(var_02) && isplayer(var_02.var_117)) { var_02 = var_02.var_117; } if(isdefined(param_00) && isdefined(param_00.var_7E5E)) { var_02 maps/mp/gametypes/zombies::func_4798(param_00.var_7E5E); } func_145A(var_02); if(isdefined(level.zmb_events_player_on_teammate_revived)) { [[ level.zmb_events_player_on_teammate_revived ]](param_00,param_01); } } //Function Number: 27 func_145A(param_00) { if(!isdefined(param_00.var_7E62) || !isdefined(param_00.var_A986) || param_00.var_A986 != level.var_A980) { param_00.var_7E62 = 0; } param_00.var_7E62 = param_00.var_7E62 + 1; param_00.var_A986 = level.var_A980; if(param_00.var_7E62 < 3) { param_00 maps\mp\zombies\_zombies_rank::func_AC23("revive"); } } //Function Number: 28 func_7E66(param_00) { common_scripts\utility::func_A70C(self,"death",self,"reviveTriggerThinkZombies_cleanup"); param_00 freezecontrols(0); param_00 method_812B(1); param_00 common_scripts\utility::func_617(); param_00.var_57AB = 0; } //Function Number: 29 func_5BFD() { level endon("game_ended"); var_00 = self.var_117; var_00 endon("becameSpectator"); var_00 endon("death"); var_00 endon("disconnect"); var_00 waittill("revive_trigger",var_01); var_02 = 0; if(var_00 func_581E()) { var_02 = 1; if(!isdefined(var_00.numselfrevivedowns)) { var_00.numselfrevivedowns = 0; } var_00.numselfrevivedowns++; setmatchdata("downs",var_00.var_32CE,"reviver_player_index",maps\mp\_utility::func_2314(var_00.var_2418)); var_00 lib_056A::func_95F0(); var_01 = var_00; } if(isdefined(var_01) && isplayer(var_01)) { var_01 maps\mp\_utility::func_50EA("assists",1); var_01 maps\mp\_utility::func_50E9("assists",1); var_01.var_21 = var_01 maps\mp\_utility::func_4607("assists"); if(var_01 != var_00) { var_00 thread lib_054E::func_7448(var_01); var_00 thread maps\mp\gametypes\_hud_message::func_73C2("revived",var_01); lib_0555::func_83DD("revived",var_01,var_00 getentitynumber()); setmatchdata("downs",var_00.var_32CE,"reviver_player_index",maps\mp\_utility::func_2314(var_01.var_2418)); var_01 maps\mp\gametypes\_persistence::func_933A("round","assists",var_01.var_21); if(lib_0547::func_577E(var_01)) { var_01.var_801C++; } } } var_03 = lib_0547::func_AC4B(var_00.var_116,"revived"); var_03 lib_0547::func_AC47(var_00); var_03 lib_0547::func_AC42("self_revive",var_02); var_03 lib_0547::func_AC4D(); var_04 = "ui_zm_character_" + var_00.characterclientindex + "_bleedout_endtime"; setomnvar(var_04,0); if(var_00 isreloading()) { while(var_00 isreloading()) { wait 0.05; } wait 0.05; } var_00 func_7DB4(1); var_00 thread lib_0537::func_6B7E(var_01); } //Function Number: 30 func_7E58() { self endon("death"); if(isdefined(self.var_117.var_7E5D)) { var_00 = self.var_117.var_7E5D; } else { var_00 = undefined; } self.var_117 common_scripts\utility::knock_off_battery("revive_trigger","disconnect","becameSpectator"); if(isdefined(self.var_117) && isdefined(self.var_117.var_7E5D)) { self.var_117.var_7E5D destroy(); } else if(isdefined(var_00)) { var_00 destroy(); } self delete(); } //Function Number: 31 func_4777() { self.var_7708[self.var_479D]["lastStandAmmoInfo"] = lib_0586::func_4129(self.var_479D); lib_0586::func_790(self.var_479D); self.var_479D = undefined; var_00 = undefined; if(issubstr(self.var_5B98,"turrethead")) { var_01 = -1; for(var_02 = 0;var_02 < self.var_7707.size;var_02++) { var_03 = maps\mp\zombies\_zombies_magicbox::func_454B(self,self.var_7707[var_02]); var_04 = lib_0547::func_4747(self,self.var_7707[var_02]); if(var_04 > var_01) { var_00 = var_03; var_01 = var_04; } } } if(!isdefined(var_00)) { var_00 = self.var_5B98; } foreach(var_06 in self.var_7707) { func_47BC(var_06,0); } lib_0586::func_78E(var_00,1); } //Function Number: 32 func_7DB4(param_00) { self notify("revive"); level notify("player_revived",self); self method_812A(1); self.var_E8 = undefined; self.var_5378 = 0; self.var_BA = ""; self.var_BC = self.var_FB; self.var_CE = 0; self.var_509C = undefined; self.var_AC5B = 0; self.var_AC5C = undefined; self.var_172C = 0; self.var_5BD7 = gettime(); if(self.var_32CE < level.var_6082) { var_01 = maps\mp\_utility::func_467B(); setmatchdata("downs",self.var_32CE,"spawn_time",maps\mp\_utility::func_2315(var_01)); var_02 = self.var_116; setmatchdata("downs",self.var_32CE,"spawn_pos",0,maps\mp\_utility::func_2315(int(var_02[0]))); setmatchdata("downs",self.var_32CE,"spawn_pos",1,maps\mp\_utility::func_2315(int(var_02[1]))); setmatchdata("downs",self.var_32CE,"spawn_pos",2,maps\mp\_utility::func_2315(int(var_02[2]))); setmatchdata("downs",self.var_32CE,"round_spawned",level.var_A980); self.var_32CE = level.var_32CF; } self hudoutlinedisable(); self laststandrevive(); if(isdefined(self.var_7E5D)) { self.var_7E5D destroy(); } if(common_scripts\utility::func_562E(param_00)) { self setstance("stand"); func_4777(); common_scripts\utility::func_614(); if(isdefined(level.var_5F1D)) { [[ level.var_5F1D ]](); } } else { self notify("spectator_revive"); } self method_8327(); thread lib_0547::func_AC16(1,"laststand"); self method_8323(); common_scripts\utility::func_615(); lib_0547::func_7ACD(); maps\mp\_utility::func_2401("last_stand"); maps\mp\_utility::func_47A2("specialty_pistoldeath"); self method_8308(1); checktemporaryperks(); if(!canspawn(self.var_116)) { maps\mp\_movers::func_A047(self,0); } } //Function Number: 33 func_1925() { return common_scripts\utility::func_562E(level.var_1CBA); } //Function Number: 34 func_1926() { var_00 = common_scripts\utility::func_7A33(level.var_1CBB); return var_00.var_116; } //Function Number: 35 checktemporaryperks() { if(lib_0547::func_4BA7("specialty_class_aftertaste_zm")) { self luinotifyeventextraplayer(&"trigger_mod_proc_and_remove",1,"specialty_class_aftertaste_zm"); } } //Function Number: 36 func_7E59() { self endon("disconnect"); if(common_scripts\utility::func_562E(self.is_reviving_from_spectate_mode)) { return; } if(common_scripts\utility::func_562E(self.var_A6F0)) { return; } if(common_scripts\utility::func_562E(self.var_A6F1)) { return; } if(common_scripts\utility::func_562E(self.var_5DED)) { return; } var_00 = self.var_178; self.is_reviving_from_spectate_mode = 1; wait(1); if(!common_scripts\utility::func_562E(self.var_CA4)) { maps\mp\gametypes\_playerlogic::func_50F8(self.var_1A7,"reviveFromSpectateMode"); } self.var_CA4 = 1; self.var_12C["lives"] = 1; thread maps\mp\gametypes\_playerlogic::func_9035(); thread lib_0547::func_865A(self.var_20D8,0); wait(0.1); func_7DB4(0); self.is_reviving_from_spectate_mode = 0; } //Function Number: 37 func_47BC(param_00,param_01) { func_47AC(param_00,param_01); if(isdefined(self.var_7708[param_00]["fillMax"])) { self givemaxammo(param_00); self.var_7708[param_00]["fillMax"] = undefined; return; } lib_0586::func_F21(param_00,self.var_7708[param_00]["ammoInfo"]); } //Function Number: 38 func_47AC(param_00,param_01) { lib_0586::func_78C(param_00); if(param_01) { lib_0586::func_78E(param_00,1); } } //Function Number: 39 setlaststandweaponammo(param_00) { if(!isdefined(self.givenlaststandammoround) || isdefined(self.givenlaststandammoround) && self.givenlaststandammoround < level.var_A980) { var_01 = weaponclipsize(param_00,self); self method_82FA(param_00,var_01,"right"); if(issubstr(param_00,"akimbo")) { self method_82FA(param_00,var_01,"left"); } self setweaponammostock(param_00,var_01 * 3); self.givenlaststandammoround = level.var_A980; return; } if(isdefined(self.givenlaststandammoround) && self.givenlaststandammoround >= level.var_A980 && isdefined(self.var_7708) && isdefined(self.var_7708[param_00]) && isdefined(self.var_7708[param_00]["lastStandAmmoInfo"])) { lib_0586::func_F21(param_00,self.var_7708[param_00]["lastStandAmmoInfo"]); } } //Function Number: 40 func_5BFC() { self endon("disconnect"); self endon("revive"); level endon("game_ended"); self waittill("death"); self.var_E8 = undefined; self.var_5378 = 0; self.var_CE = 0; self.var_509C = undefined; self.var_AC5B = 0; self.var_AC5C = undefined; } //Function Number: 41 func_5BED() { self endon("death"); self endon("disconnect"); self endon("revive"); level endon("game_ended"); for(;;) { self.var_BC = 2; wait 0.05; self.var_BC = 1; wait 0.05; } } //Function Number: 42 laststandmonitordeath() { self endon("disconnect"); self endon("revive"); self endon("player_bleedout"); level endon("game_ended"); self waittill("death"); var_00 = "ui_zm_character_" + self.characterclientindex + "_alive"; setomnvar(var_00,0); var_00 = "ui_zm_character_" + self.characterclientindex + "_bleedout_endtime"; setomnvar(var_00,0); } //Function Number: 43 func_5BEE() { level endon("game_ended"); self endon("disconnect"); self endon("revive_trigger"); self endon("horde_end_spectate"); self notify("monitor_abandonment"); for(;;) { level waittill("player_disconnected"); if(func_3FD3(self)) { self.var_A219 = 1; if(self.var_32CE < level.var_6082) { setmatchdata("downs",self.var_32CE,"died",1); } maps\mp\_utility::func_728(); func_AC1F(); return; } wait 0.05; } } //Function Number: 44 deathmonitorabandonment() { self notify("monitor_abandonment"); level endon("game_ended"); self endon("disconnect"); self endon("spawned_player"); self endon("monitor_abandonment"); for(;;) { level waittill("player_disconnected"); if(func_3FD3(self)) { func_AC1F(); return; } wait 0.05; } } //Function Number: 45 func_5BF8(param_00) { self endon("death"); self endon("disconnect"); self endon("revive"); level endon("game_ended"); param_00 endon("death"); var_01 = (1,1,1); for(;;) { while(!param_00.var_54F5) { wait 0.05; } var_02 = self.var_7E5D.var_56; self.var_7E5D = func_2826("hint_health_zm",8,8,var_01); while(param_00.var_54F5) { wait 0.05; } if(self.var_7E5D.var_56 != var_01) { var_02 = self.var_7E5D.var_56; } self.var_7E5D = func_2826("hint_health_zm",8,8,var_02); } } //Function Number: 46 func_5BF7(param_00,param_01) { self endon("death"); self endon("disconnect"); self endon("revive"); level endon("game_ended"); param_00 endon("death"); maps\mp\_utility::func_7210(); wait(param_01 / 3); while(param_00.var_54F5) { wait 0.05; } self.var_7E5D.var_56 = (1,0.5,0); maps\mp\_utility::func_7210(); wait(param_01 / 3); while(param_00.var_54F5) { wait 0.05; } self.var_7E5D.var_56 = (0.99,0.19,0.22); maps\mp\_utility::func_7210(); } //Function Number: 47 laststandwatchfordisconnectzombies(param_00,param_01) { param_00 endon("death"); param_00 endon("revive"); level endon("game_ended"); param_00 waittill("disconnect"); setomnvar(param_01,0); } //Function Number: 48 func_5BF6(param_00,param_01) { self endon("death"); self endon("disconnect"); self endon("revive"); level endon("game_ended"); var_02 = gettime() + param_00 * 1000; var_03 = undefined; var_03 = "ui_zm_character_" + self.characterclientindex + "_bleedout_endtime"; thread laststandwatchfordisconnectzombies(self,var_03); for(;;) { setomnvar(var_03,var_02); level waittill("host_migration_begin"); setomnvar(var_03,0); var_04 = maps\mp\gametypes\_hostmigration::func_A782(); var_02 = var_02 + var_04; } } //Function Number: 49 func_5BE9() { self endon("death"); self endon("disconnect"); self endon("revive"); level endon("game_ended"); var_00 = 1; for(;;) { wait(var_00); var_01 = self getcurrentweapon(); var_02 = self method_817F(var_01); if(var_02 == 0) { var_03 = weaponclipsize(var_01); self setweaponammostock(var_01,var_03); } } } //Function Number: 50 func_0634(param_00) { var_01 = 30; if(lib_0547::func_F0F("specialty_class_preventative_medicine_zm")) { var_01 = var_01 * 2; } if(isdefined(level.var_744A) && isdefined(param_00)) { foreach(var_03 in level.var_744A) { if(var_03 != param_00 && var_03 lib_0547::func_4BA7("specialty_class_preventative_medicine_zm")) { param_00 luinotifyeventextraplayer(&"add_teammate_mod_buffs",3,"specialty_class_preventative_medicine_zm",1,var_03); break; } } } return int(var_01); } //Function Number: 51 func_53E2(param_00) { if(maps\mp\_utility::func_57A0(self)) { self notify("revive_trigger",param_00); func_476A(self,param_00); } }