‪Black Ops 3 Source Code Explorer  0.1
‪An script explorer for Black Ops 3 by ZeRoY
_gadget_speed_burst.gsc
Go to the documentation of this file.
1 #using scripts\codescripts\struct;
2 
3 #using scripts\shared\callbacks_shared;
4 #using scripts\shared\clientfield_shared;
5 #using scripts\shared\flag_shared;
6 #using scripts\shared\flagsys_shared;
7 #using scripts\shared\system_shared;
8 #using scripts\shared\util_shared;
9 #using scripts\shared\visionset_mgr_shared;
10 
11 #using scripts\shared\abilities\_ability_player;
12 #using scripts\shared\abilities\_ability_power;
13 #using scripts\shared\abilities\_ability_util;
14 
15 #insert scripts\shared\shared.gsh;
16 #insert scripts\shared\version.gsh;
17 #insert scripts\shared\abilities\_ability_util.gsh;
18 #insert scripts\shared\abilities\gadgets\_gadget_speed_burst.gsh;
19 
20 #define FLAG_NAME "speed_burst_on"
21 
22 #namespace speedburst;
23 
24 ‪REGISTER_SYSTEM( "gadget_speed_burst", &‪__init__, undefined )
25 
26 function ‪__init__()
27 {
28  ‪clientfield::register( "toplayer", "speed_burst" , ‪VERSION_SHIP, 1, "int" );
29 
35 
36  if ( !IsDefined( level.vsmgr_prio_visionset_speedburst ) )
37  {
38  level.vsmgr_prio_visionset_speedburst = ‪SPEED_BURST_VISIONSET_PRIORITY;
39  }
40 
42 
44 }
45 
47 {
48  // returns true when local script gadget state is on
49  return self ‪flagsys::get( "gadget_speed_burst_on" );
50 }
51 
53 {
54  // returns true when local script gadget state is flickering
55  return self GadgetFlickering( slot );
56 }
57 
58 function ‪gadget_speed_burst_on_flicker( slot, weapon )
59 {
60  // excuted when the gadget flickers
61  self thread ‪gadget_speed_burst_flicker( slot, weapon );
62 }
63 
64 function ‪gadget_speed_burst_on_give( slot, weapon )
65 {
66  // executed when gadget is added to the players inventory
68  self ‪clientfield::set_to_player( "speed_burst", 0 );
69 }
70 
71 function ‪gadget_speed_burst_on_take( slot, weapon )
72 {
73  // executed when gadget is removed from the players inventory
75  self ‪clientfield::set_to_player( "speed_burst", 0 );
76 }
77 
78 //self is the player
80 {
81  // setup up stuff on player connec
82 }
83 
84 function ‪gadget_speed_burst_on( slot, weapon )
85 {
86  // excecutes when the gadget is turned on
87  self ‪flagsys::set( "gadget_speed_burst_on" );
88  self GadgetSetActivateTime( slot, GetTime() );
89  self ‪clientfield::set_to_player( "speed_burst", 1 );
91  self.speedburstLastOnTime = getTime();
92  self.speedburstOn = true;
93  self.speedburstKill = false;
94 }
95 
96 function ‪gadget_speed_burst_off( slot, weapon )
97 {
98  self notify( "gadget_speed_burst_off" );
99 
100  // excecutes when the gadget is turned off
101  self ‪flagsys::clear( "gadget_speed_burst_on" );
102  self ‪clientfield::set_to_player( "speed_burst", 0 );
103  self.speedburstLastOnTime = getTime();
104 
105  self.speedburstOn = false;
106 
107  if ( IsAlive( self ) && ‪IS_TRUE( self.speedburstKill ) && isdefined( level.playGadgetSuccess ) )
108  {
109  self [[ level.playGadgetSuccess ]]( weapon );
110  }
111 
112  self.speedburstKill = false; // _off is getting called before _on when activated
113 }
114 
115 function ‪gadget_speed_burst_flicker( slot, weapon )
116 {
117  self endon( "disconnect" );
118 
119  if ( !self ‪gadget_speed_burst_is_inuse( slot ) )
120  {
121  return;
122  }
123 
124  eventTime = self._gadgets_player[slot].gadget_flickertime;
125 
126  self ‪set_gadget_status( "Flickering", eventTime );
127 
128  while( 1 )
129  {
130  if ( !self GadgetFlickering( slot ) )
131  {
132  self ‪set_gadget_status( "Normal" );
133  return;
134  }
135 
136  wait( 0.5 );
137  }
138 }
139 
140 function ‪set_gadget_status( status, time )
141 {
142  timeStr = "";
143 
144  if ( IsDefined( time ) )
145  {
146  timeStr = "^3" + ", time: " + time;
147  }
148 
149  if ( GetDvarInt( "scr_cpower_debug_prints" ) > 0 )
150  self IPrintlnBold( "Vision Speed burst: " + status + timeStr );
151 }
‪register_gadget_is_flickering_callbacks
‪function register_gadget_is_flickering_callbacks(type, flickering_func)
Definition: _ability_player.gsc:299
‪activate
‪function activate()
Definition: traps_shared.gsc:655
‪register_gadget_possession_callbacks
‪function register_gadget_possession_callbacks(type, on_give, on_take)
Definition: _ability_player.gsc:221
‪SPEED_BURST_VISIONSET_RAMP_OUT
‪#define SPEED_BURST_VISIONSET_RAMP_OUT
Definition: _gadget_speed_burst.gsh:7
‪set_to_player
‪function set_to_player(str_field_name, n_value)
Definition: clientfield_shared.gsc:58
‪gadget_speed_burst_on_connect
‪function gadget_speed_burst_on_connect()
Definition: _gadget_speed_burst.gsc:79
‪clear
‪function clear(str_flag)
Definition: flag_shared.csc:130
‪ramp_in_out_thread_per_player_death_shutdown
‪function ramp_in_out_thread_per_player_death_shutdown(player, ramp_in, full_period, ramp_out)
Definition: visionset_mgr_shared.gsc:385
‪register_gadget_is_inuse_callbacks
‪function register_gadget_is_inuse_callbacks(type, inuse_func)
Definition: _ability_player.gsc:289
‪VERSION_SHIP
‪#define VERSION_SHIP
Definition: version.gsh:36
‪SPEED_BURST_VISIONSET_STEPS
‪#define SPEED_BURST_VISIONSET_STEPS
Definition: _gadget_speed_burst.gsh:4
‪GADGET_TYPE_SPEED_BURST
‪#define GADGET_TYPE_SPEED_BURST
Definition: _ability_util.gsh:17
‪SPEED_BURST_VISIONSET_RAMP_HOLD
‪#define SPEED_BURST_VISIONSET_RAMP_HOLD
Definition: _gadget_speed_burst.gsh:6
‪gadget_speed_burst_is_flickering
‪function gadget_speed_burst_is_flickering(slot)
Definition: _gadget_speed_burst.gsc:52
‪IS_TRUE
‪#define IS_TRUE(__a)
Definition: shared.gsh:251
‪get
‪function get(kvp_value, kvp_key="targetname")
Definition: struct.csc:13
‪register_gadget_flicker_callbacks
‪function register_gadget_flicker_callbacks(type, on_flicker)
Definition: _ability_player.gsc:253
‪gadget_speed_burst_on_take
‪function gadget_speed_burst_on_take(slot, weapon)
Definition: _gadget_speed_burst.gsc:71
‪set_gadget_status
‪function set_gadget_status(status, time)
Definition: _gadget_speed_burst.gsc:140
‪gadget_speed_burst_off
‪function gadget_speed_burst_off(slot, weapon)
Definition: _gadget_speed_burst.gsc:96
‪SPEED_BURST_VISIONSET_RAMP_IN
‪#define SPEED_BURST_VISIONSET_RAMP_IN
Definition: _gadget_speed_burst.gsh:5
‪gadget_speed_burst_on_flicker
‪function gadget_speed_burst_on_flicker(slot, weapon)
Definition: _gadget_speed_burst.gsc:58
‪register_gadget_activation_callbacks
‪function register_gadget_activation_callbacks(type, turn_on, turn_off)
Definition: _ability_player.gsc:237
‪gadget_speed_burst_on
‪function gadget_speed_burst_on(slot, weapon)
Definition: _gadget_speed_burst.gsc:84
‪REGISTER_SYSTEM
‪#define REGISTER_SYSTEM(__sys, __func_init_preload, __reqs)
Definition: shared.gsh:204
‪register_info
‪function register_info(type, name, version, lerp_step_count)
Definition: visionset_mgr_shared.csc:334
‪set
‪function set(str_field_name, n_value)
Definition: clientfield_shared.gsc:34
‪SPEED_BURST_VISIONSET_PRIORITY
‪#define SPEED_BURST_VISIONSET_PRIORITY
Definition: _gadget_speed_burst.gsh:3
‪__init__
‪function __init__()
Definition: _gadget_speed_burst.gsc:26
‪FLAG_NAME
‪#define FLAG_NAME
Definition: _gadget_speed_burst.gsc:20
‪SPEED_BURST_VISIONSET_ALIAS
‪#define SPEED_BURST_VISIONSET_ALIAS
Definition: _gadget_speed_burst.gsh:2
‪register
‪function register()
Definition: _ai_tank.gsc:126
‪gadget_speed_burst_flicker
‪function gadget_speed_burst_flicker(slot, weapon)
Definition: _gadget_speed_burst.gsc:115
‪on_connect
‪function on_connect()
Definition: _arena.gsc:20
‪gadget_speed_burst_is_inuse
‪function gadget_speed_burst_is_inuse(slot)
Definition: _gadget_speed_burst.gsc:46
‪gadget_speed_burst_on_give
‪function gadget_speed_burst_on_give(slot, weapon)
Definition: _gadget_speed_burst.gsc:64