‪Black Ops 3 Source Code Explorer  0.1
‪An script explorer for Black Ops 3 by ZeRoY
_zm_powerup_shield_charge.gsc
Go to the documentation of this file.
1 #using scripts\codescripts\struct;
2 
3 #using scripts\shared\clientfield_shared;
4 #using scripts\shared\flag_shared;
5 #using scripts\shared\flagsys_shared;
6 #using scripts\shared\hud_util_shared;
7 #using scripts\shared\laststand_shared;
8 #using scripts\shared\system_shared;
9 #using scripts\shared\util_shared;
10 
11 #insert scripts\shared\shared.gsh;
12 #insert scripts\shared\version.gsh;
13 
14 #using scripts\shared\ai\zombie_death;
15 
16 #using scripts\zm\_zm_blockers;
17 #using scripts\zm\_zm_devgui;
18 #using scripts\zm\_zm_melee_weapon;
19 #using scripts\zm\_zm_pers_upgrades;
20 #using scripts\zm\_zm_pers_upgrades_functions;
21 #using scripts\zm\_zm_powerups;
22 #using scripts\zm\_zm_score;
23 #using scripts\zm\_zm_spawner;
24 #using scripts\zm\_zm_utility;
25 #using scripts\zm\_zm_weapons;
26 
27 #insert scripts\zm\_zm_powerups.gsh;
28 #insert scripts\zm\_zm_utility.gsh;
29 
30 #precache( "string", "ZOMBIE_POWERUP_SHIELD_CHARGE" );
31 
32 #define MODEL_SHIELD_RECHARGE "p7_zm_zod_nitrous_tank"
33 #precache( "model", MODEL_SHIELD_RECHARGE );
34 
35 #namespace zm_powerup_shield_charge;
36 
37 ‪REGISTER_SYSTEM( "zm_powerup_shield_charge", &‪__init__, undefined )
38 
39 //-----------------------------------------------------------------------------------
40 // setup
41 //-----------------------------------------------------------------------------------
42 function ‪__init__()
43 {
45  if( ToLower( GetDvarString( "g_gametype" ) ) != "zcleansed" )
46  {
49  }
50 }
51 
53 {
54  /*
55  // only drop from pods
56  players = GetPlayers();
57  for ( i = 0; i < players.size; i++ )
58  {
59  if ( !players[i] laststand::player_is_in_laststand() && !(players[i].sessionstate == "spectator") )
60  {
61  if ( IS_TRUE(players[i].hasRiotShield) )
62  {
63  return true;
64  }
65  }
66  }
67  */
68  return false;
69 }
70 
71 function ‪grab_shield_charge( player )
72 {
73  level thread ‪shield_charge_powerup( self, player );
74  player thread ‪zm_powerups::powerup_vo( "bonus_points_solo" ); // TODO: Audio should uncomment this once the sounds have been set up
75 }
76 
77 function ‪shield_charge_powerup( item, player )
78 {
79  /*
80  players = GetPlayers();
81  for ( i = 0; i < players.size; i++ )
82  {
83  if ( !players[i] laststand::player_is_in_laststand() && !(players[i].sessionstate == "spectator") )
84  {
85  if ( IS_TRUE(players[i].hasRiotShield) )
86  {
87  players[i] GiveStartAmmo( players[i].weaponRiotshield );
88  }
89  }
90  }
91  */
92  if ( ‪IS_TRUE(player.hasRiotShield) )
93  {
94  player GiveStartAmmo( player.weaponRiotshield );
95  }
96  level thread ‪shield_on_hud( item, player.team );
97 }
98 
99 function ‪shield_on_hud( drop_item, player_team )
100 {
101  self endon ("disconnect");
102 
103  // set up the hudelem
104  hudelem = ‪hud::createServerFontString( "objective", 2, player_team );
105  hudelem ‪hud::setPoint( "TOP", undefined, 0, level.zombie_vars["zombie_timer_offset"] - (level.zombie_vars["zombie_timer_offset_interval"] * 2));
106  hudelem.sort = 0.5;
107  hudelem.alpha = 0;
108  hudelem fadeovertime(0.5);
109  hudelem.alpha = 1;
110  if (isdefined(drop_item))
111  hudelem.label = drop_item.hint;
112 
113  // set time remaining for insta kill
114  hudelem thread ‪full_ammo_move_hud( player_team );
115 }
116 
117 function ‪full_ammo_move_hud( player_team )
118 {
119  players = GetPlayers( player_team );
120 
121  players[0] playsoundToTeam ("zmb_full_ammo", player_team);
122 
123  wait 0.5;
124  move_fade_time = 1.5;
125 
126  self FadeOverTime( move_fade_time );
127  self MoveOverTime( move_fade_time );
128  self.y = 270;
129  self.alpha = 0;
130 
131  wait move_fade_time;
132 
133  self ‪destroy();
134 }
135 
‪MODEL_SHIELD_RECHARGE
‪#define MODEL_SHIELD_RECHARGE
Definition: _zm_powerup_shield_charge.gsc:32
‪powerup_set_statless_powerup
‪function powerup_set_statless_powerup(powerup_name)
Definition: _zm_powerups.gsc:544
‪setPoint
‪function setPoint(point, relativePoint, xOffset, yOffset, moveTime)
Definition: hud_util_shared.gsc:53
‪register_powerup
‪function register_powerup(str_powerup, func_grab_powerup, func_setup)
Definition: _zm_powerups.gsc:1956
‪__init__
‪function __init__()
Definition: _zm_powerup_shield_charge.gsc:42
‪IS_TRUE
‪#define IS_TRUE(__a)
Definition: shared.gsh:251
‪POWERUP_ONLY_AFFECTS_GRABBER
‪#define POWERUP_ONLY_AFFECTS_GRABBER
Definition: _zm_powerups.gsh:31
‪grab_shield_charge
‪function grab_shield_charge(player)
Definition: _zm_powerup_shield_charge.gsc:71
‪POWERUP_ZOMBIE_GRABBABLE
‪#define POWERUP_ZOMBIE_GRABBABLE
Definition: _zm_powerups.gsh:33
‪powerup_vo
‪function powerup_vo(type)
Definition: _zm_powerups.gsc:1216
‪shield_on_hud
‪function shield_on_hud(drop_item, player_team)
Definition: _zm_powerup_shield_charge.gsc:99
‪func_drop_when_players_own
‪function func_drop_when_players_own()
Definition: _zm_powerup_shield_charge.gsc:52
‪REGISTER_SYSTEM
‪#define REGISTER_SYSTEM(__sys, __func_init_preload, __reqs)
Definition: shared.gsh:204
‪createServerFontString
‪function createServerFontString(font, fontScale, team)
Definition: hud_util_shared.gsc:353
‪shield_charge_powerup
‪function shield_charge_powerup(item, player)
Definition: _zm_powerup_shield_charge.gsc:77
‪destroy
‪function destroy(watcher, owner)
Definition: _decoy.gsc:108
‪full_ammo_move_hud
‪function full_ammo_move_hud(player_team)
Definition: _zm_powerup_shield_charge.gsc:117
‪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