‪Black Ops 3 Source Code Explorer  0.1
‪An script explorer for Black Ops 3 by ZeRoY
_zm_powerup_insta_kill.gsc
Go to the documentation of this file.
1 #using scripts\codescripts\struct;
2 
3 #using scripts\shared\system_shared;
4 #using scripts\shared\util_shared;
5 
6 #insert scripts\shared\shared.gsh;
7 #insert scripts\shared\version.gsh;
8 
9 #using scripts\shared\ai\zombie_death;
10 
11 #using scripts\zm\_zm_bgb;
12 #using scripts\zm\_zm_pers_upgrades_functions;
13 #using scripts\zm\_zm_powerups;
14 #using scripts\zm\_zm_score;
15 #using scripts\zm\_zm_spawner;
16 #using scripts\zm\_zm_utility;
17 
18 #insert scripts\zm\_zm_powerups.gsh;
19 #insert scripts\zm\_zm_utility.gsh;
20 
21 #precache( "material", "specialty_instakill_zombies" );
22 #precache( "string", "ZOMBIE_POWERUP_INSTA_KILL" );
23 
24 #namespace zm_powerup_insta_kill;
25 
26 ‪REGISTER_SYSTEM( "zm_powerup_insta_kill", &‪__init__, undefined )
27 
28 
29 //-----------------------------------------------------------------------------------
30 // setup
31 //-----------------------------------------------------------------------------------
32 function ‪__init__()
33 {
35  if( ToLower( GetDvarString( "g_gametype" ) ) != "zcleansed" )
36  {
37  ‪zm_powerups::add_zombie_powerup( "insta_kill", "p7_zm_power_up_insta_kill", &"ZOMBIE_POWERUP_INSTA_KILL", &‪zm_powerups::func_should_always_drop, !‪POWERUP_ONLY_AFFECTS_GRABBER, !‪POWERUP_ANY_TEAM, !‪POWERUP_ZOMBIE_GRABBABLE, undefined, ‪CLIENTFIELD_POWERUP_INSTANT_KILL, "zombie_powerup_insta_kill_time", "zombie_powerup_insta_kill_on" );
38  }
39 }
40 
41 function ‪grab_insta_kill( player )
42 {
43  level thread ‪insta_kill_powerup( self,player );
44  player thread ‪zm_powerups::powerup_vo("insta_kill");
45 }
46 
47 function ‪insta_kill_powerup( drop_item, player )
48 {
49  level notify( "powerup instakill_" + player.team );
50  level endon( "powerup instakill_" + player.team );
51 
52  if(isDefined(level.insta_kill_powerup_override )) //race
53  {
54  level thread [[level.insta_kill_powerup_override]](drop_item,player);
55  return;
56  }
57 
58  // Only in classic mode - Update the "insta kill" persistent unlock
60  {
62  }
63 
64  team = player.team;
65 
66  level thread ‪zm_powerups::show_on_hud( team, "insta_kill" );
67 
68  level.zombie_vars[team]["zombie_insta_kill"] = 1;
69  n_wait_time = ‪N_POWERUP_DEFAULT_TIME;
70  if( ‪bgb::is_team_enabled( "zm_bgb_temporal_gift" ) )
71  {
72  n_wait_time += ‪N_POWERUP_DEFAULT_TIME;//Doubles the amount of time
73  }
74  wait n_wait_time;
75  level.zombie_vars[team]["zombie_insta_kill"] = 0;
76 
77  players = GetPlayers( team );
78  for( i=0; i<players.size; i++ )
79  {
80  if( isdefined(players[i]) )
81  {
82  players[i] notify( "insta_kill_over" );
83  }
84  }
85 }
‪register_powerup
‪function register_powerup(str_powerup, func_grab_powerup, func_setup)
Definition: _zm_powerups.gsc:1956
‪is_Classic
‪function is_Classic()
Definition: _zm_utility.gsc:42
‪pers_upgrade_insta_kill_upgrade_check
‪function pers_upgrade_insta_kill_upgrade_check()
Definition: _zm_pers_upgrades_functions.gsc:7
‪show_on_hud
‪function show_on_hud(player_team, str_powerup)
Definition: _zm_powerups.gsc:1726
‪POWERUP_ONLY_AFFECTS_GRABBER
‪#define POWERUP_ONLY_AFFECTS_GRABBER
Definition: _zm_powerups.gsh:31
‪insta_kill_powerup
‪function insta_kill_powerup(drop_item, player)
Definition: _zm_powerup_insta_kill.gsc:47
‪POWERUP_ZOMBIE_GRABBABLE
‪#define POWERUP_ZOMBIE_GRABBABLE
Definition: _zm_powerups.gsh:33
‪powerup_vo
‪function powerup_vo(type)
Definition: _zm_powerups.gsc:1216
‪is_team_enabled
‪function is_team_enabled(str_name)
Definition: _zm_bgb.gsc:13
‪REGISTER_SYSTEM
‪#define REGISTER_SYSTEM(__sys, __func_init_preload, __reqs)
Definition: shared.gsh:204
‪N_POWERUP_DEFAULT_TIME
‪#define N_POWERUP_DEFAULT_TIME
Definition: _zm_powerups.gsh:36
‪func_should_always_drop
‪function func_should_always_drop()
Definition: _zm_powerups.gsc:1644
‪CLIENTFIELD_POWERUP_INSTANT_KILL
‪#define CLIENTFIELD_POWERUP_INSTANT_KILL
Definition: _zm_powerups.gsh:13
‪__init__
‪function __init__()
Definition: _zm_powerup_insta_kill.gsc:32
‪add_zombie_powerup
‪function add_zombie_powerup(powerup_name, client_field_name, clientfield_version=VERSION_SHIP)
Definition: _zm_powerups.csc:40
‪POWERUP_ANY_TEAM
‪#define POWERUP_ANY_TEAM
Definition: _zm_powerups.gsh:32
‪grab_insta_kill
‪function grab_insta_kill(player)
Definition: _zm_powerup_insta_kill.gsc:41