‪Black Ops 3 Source Code Explorer  0.1
‪An script explorer for Black Ops 3 by ZeRoY
_gadget_heat_wave.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\weapons\_weaponobjects;
10 #using scripts\shared\visionset_mgr_shared;
11 
12 #using scripts\shared\abilities\_ability_gadgets;
13 #using scripts\shared\abilities\_ability_player;
14 #using scripts\shared\abilities\_ability_power;
15 #using scripts\shared\abilities\_ability_util;
16 
17 #using scripts\shared\_burnplayer;
18 
19 #insert scripts\shared\shared.gsh;
20 #insert scripts\shared\version.gsh;
21 #insert scripts\shared\abilities\_ability_util.gsh;
22 #insert scripts\shared\abilities\gadgets\_gadget_heat_wave.gsh;
23 
24 #define HEATWAVE_DAMAGE_RATIO .2
25 #define HEATWAVE_EFFECT_DURATION 2.5
26 #define HEATWAVE_GRACE_PERIOD 0
27 #define HEATWAVE_TRACE_Z_OFFSET 50
28 #define HEATWAVE_FX_HEIGHT -30
29 #define HEATWAVE_DURATION 250
30 #define HEATWAVE_SPEED 2000
31 #define HEATWAVE_GLASS_DAMAGE 400
32 #define HEATWAVE_PROJECTILE_TRACE_Z 29
33 
34 #namespace heat_wave;
35 
36 ‪REGISTER_SYSTEM( "gadget_heat_wave", &‪__init__, undefined )
37 
38 function ‪__init__()
39 {
45 
48 
49  ‪clientfield::register( "scriptmover", "heatwave_fx", ‪VERSION_SHIP, 1, "int" );
50  ‪clientfield::register( "allplayers", "heatwave_victim", ‪VERSION_SHIP, 1, "int" );
51  ‪clientfield::register( "toplayer", "heatwave_activate", ‪VERSION_SHIP, 1, "int" );
52 
53  if ( !IsDefined( level.vsmgr_prio_visionset_heatwave_activate ) )
54  {
55  level.vsmgr_prio_visionset_heatwave_activate = ‪HEATWAVE_ACTIVATE_VISIONSET_PRIORITY;
56  }
57 
58  if ( !IsDefined( level.vsmgr_prio_visionset_heatwave_charred ) )
59  {
60  level.vsmgr_prio_visionset_heatwave_charred = ‪HEATWAVE_CHARRED_VISIONSET_PRIORITY;
61  }
62 
65 
66 }
67 
68 function ‪updateDvars()
69 {
70  while(1)
71  {
72  wait(1.0);
73  }
74 }
75 
77 {
78  // returns true when local script gadget state is on
79  return self GadgetIsActive( slot );
80 }
81 
83 {
84  // returns true when local script gadget state is flickering
85  return self GadgetFlickering( slot );
86 }
87 
88 function ‪gadget_heat_wave_on_flicker( slot, weapon )
89 {
90  // excuted when the gadget flickers
91  self thread ‪gadget_heat_wave_flicker( slot, weapon );
92 }
93 
94 function ‪gadget_heat_wave_on_give( slot, weapon )
95 {
96  // executed when gadget is added to the players inventory
97 }
98 
99 function ‪gadget_heat_wave_on_take( slot, weapon )
100 {
101  // executed when gadget is removed from the players inventory
102  self ‪clientfield::set_to_player( "heatwave_activate", 0 );
103 }
104 
105 //self is the player
107 {
108  // setup up stuff on player connec
109 }
110 
112 {
113  // setup up stuff on player spawned
114  self ‪clientfield::set( "heatwave_victim", 0 );
115  self._heat_wave_stuned_end = 0;
116  self._heat_wave_stunned_by = undefined;
117  self thread ‪watch_entity_shutdown();
118 }
119 
121 {
122  self endon ( "disconnect" );
123  self waittill( "death" );
124 
125  if ( self IsRemoteControlling() == false )
126  {
129  }
130 }
131 
132 function ‪gadget_heat_wave_on_activate( slot, weapon )
133 {
134  self PlayRumbleOnEntity( "heat_wave_activate" );
135  self thread ‪toggle_activate_clientfields();
137  self thread ‪heat_wave_think( slot, weapon );
138 }
139 
141 {
142  self endon ( "death" );
143  self endon ( "disconnect" );
144 
145  self ‪clientfield::set_to_player( "heatwave_activate", 1 );
146 
148 
149  self ‪clientfield::set_to_player( "heatwave_activate", 0 );
150 }
151 
152 function ‪gadget_heat_wave_on_deactivate( slot, weapon )
153 {
154 }
155 
156 function ‪gadget_heat_wave_flicker( slot, weapon )
157 {
158 }
159 
160 function ‪set_gadget_status( status, time )
161 {
162  timeStr = "";
163 
164  if ( IsDefined( time ) )
165  {
166  timeStr = "^3" + ", time: " + time;
167  }
168 
169  if ( GetDvarInt( "scr_cpower_debug_prints" ) > 0 )
170  self IPrintlnBold( "Gadget Heat Wave: " + status + timeStr );
171 }
172 
173 function ‪is_entity_valid( entity, heatwave )
174 {
175  if( !IsPlayer( entity ) )
176  {
177  return false;
178  }
179 
180  if( self GetEntityNumber() == entity GetEntityNumber() )
181  {
182  return false;
183  }
184 
185  if ( !IsAlive( entity ) )
186  {
187  return false;
188  }
189 
190  if ( !( entity ‪util::mayApplyScreenEffect() ) )
191  {
192  return false;
193  }
194 
195  if( !‪heat_wave_trace_entity( entity, heatwave ) )
196  {
197  return false;
198  }
199 
200  return true;
201 }
202 
203 function ‪heat_wave_trace_entity( entity, heatwave )
204 {
205  entityPoint = entity.origin + ( 0, 0, ‪HEATWAVE_TRACE_Z_OFFSET );
206  if ( !BulletTracePassed( heatwave.origin, entityPoint, true, self, undefined, false, true ) )
207  {
208  return false;
209  }
210 
211  return true;
212 }
213 
214 function ‪heat_wave_fx_cleanup( fxOrg, direction )
215 {
216  self ‪util::waittill_any( "heat_wave_think", "heat_wave_think_finished" );
217  if( isDefined( fxOrg ) )
218  {
219  fxOrg StopLoopSound();
220  fxOrg PlaySound( "gdt_heatwave_dissipate" );
221  fxOrg ‪clientfield::set( "heatwave_fx", 0 );
222  fxOrg delete();
223  }
224 }
225 
226 function ‪heat_wave_fx( origin, direction )
227 {
228  if ( direction == (0,0,0) )
229  {
230  direction = (0,0,1);
231  }
232  dirVec = VectorNormalize( direction );
233  angles = VectorToAngles( dirVec );
234  fxOrg = ‪spawn( "script_model", origin+(0,0,‪HEATWAVE_FX_HEIGHT), 0, angles );
235  fxOrg.angles = angles;
236  fxOrg setowner( self );
237  fxOrg SetModel( "tag_origin" );
238  fxOrg ‪clientfield::set( "heatwave_fx", 1 );
239  fxOrg PlayLoopSound( "gdt_heatwave_3p_loop" );
240  fxOrg.soundMod = "heatwave";
241  fxOrg.hitsomething = false;
242  self thread ‪heat_wave_fx_cleanup( fxOrg, direction );
243  return fxOrg;
244 }
245 
246 function ‪heat_wave_setup( weapon )
247 {
248  heatwave = spawnStruct();
249  heatwave.radius = weapon.gadget_shockfield_radius;
250  heatwave.origin = self geteye();
251  heatwave.direction = AnglesToForward( self GetPlayerAngles() );
252  heatwave.up = AnglesToUp( self GetPlayerAngles() );
253  heatwave.fxOrg = ‪heat_wave_fx( heatwave.origin, heatwave.direction );
254 
255  return heatwave;
256 }
257 
258 function ‪heat_wave_think( slot, weapon )
259 {
260  self endon( "disconnect" );
261 
262  self notify ( "heat_wave_think" );
263  self endon( "heat_wave_think" );
264  self.heroAbilityActive = true;
265  heatwave = ‪heat_wave_setup( weapon );
266 
267  GlassRadiusDamage( heatwave.origin, heatwave.radius, ‪HEATWAVE_GLASS_DAMAGE, ‪HEATWAVE_GLASS_DAMAGE, "MOD_BURNED" );
268 
269  self thread ‪heat_wave_damage_entities( weapon, heatwave );
270  self thread ‪heat_wave_damage_projectiles( weapon, heatwave );
271 
272  wait( ‪HEATWAVE_DURATION / 1000 );
273 
274  self.heroAbilityActive = false;
275 
276  self notify( "heat_wave_think_finished" );
277 }
278 
279 function ‪heat_wave_damage_entities( weapon, heatwave )
280 {
281  self endon( "disconnect" );
282  self endon( "heat_wave_think" );
283 
284  ‪startTime = getTime();
285 
286  burnedEnemy = false;
287  while( ‪HEATWAVE_DURATION + ‪startTime > getTime() )
288  {
289  entities = GetDamageableEntArray( heatwave.origin, heatwave.radius, true );
290  foreach( entity in entities )
291  {
292  if( isDefined( entity._heat_wave_damaged_time ) && ( entity._heat_wave_damaged_time + ‪HEATWAVE_DURATION + 1 > getTime() ) )
293  {
294  continue;
295  }
296 
297  if( ‪is_entity_valid( entity, heatwave ) )
298  {
299  burnedEnemy |= ‪heat_wave_burn_entities( weapon, entity, heatwave );
300  }
301  else if( !isPlayer( entity ) )
302  {
303  entity DoDamage( 1, heatwave.origin, self, self, "none", "MOD_BURNED", 0, weapon );
304  entity thread ‪update_last_burned_by( heatwave );
305  }
306  }
307 
309  }
310 
311  if ( IsAlive( self ) && ‪IS_TRUE( burnedEnemy ) && isdefined( level.playGadgetSuccess ) )
312  {
313  self [[ level.playGadgetSuccess ]]( weapon, "heatwaveSuccessDelay" );
314  }
315 }
316 
317 function ‪heat_wave_burn_entities( weapon, entity, heatwave )
318 {
319  burn_self = false;
320  burn_entity = true;
321  burned_enemy = true;
322  if( ( self.team == entity.team ) )
323  {
324  burned_enemy = false;
325  switch ( level.friendlyfire )
326  {
327  case 0: // no FF
328  burn_entity = false;
329  break;
330  case 1: // FF
331  // burns ally
332  break;
333  case 2: // reflect
334  burn_entity = false;
335  burn_self = true;
336  break;
337  case 3: // share (both)
338  burn_self = true;
339  break;
340 
341  }
342  }
343 
344  if( burn_entity )
345  {
346  ‪apply_burn( weapon, entity, heatwave );
347  entity thread ‪update_last_burned_by( heatwave );
348  }
349 
350  if( burn_self )
351  {
352  ‪apply_burn( weapon, self, heatwave );
353  self thread ‪update_last_burned_by( heatwave );
354  }
355 
356  return burned_enemy;
357 }
358 
359 function ‪heat_wave_damage_projectiles( weapon, heatwave )
360 {
361  self endon( "disconnect" );
362  self endon( "heat_wave_think" );
363 
364  owner = self;
365  ‪startTime = getTime();
366  while( ‪HEATWAVE_DURATION + ‪startTime > getTime() )
367  {
368  if ( level.missileEntities.size < 1 )
369  {
371  continue;
372  }
373 
374  for ( index=0; index < level.missileEntities.size; index++ )
375  {
377 
378  grenade = level.missileEntities[index];
379 
380  if ( !isdefined (grenade ) )
381  continue;
382 
383  if ( grenade.weapon.isTacticalInsertion )
384  {
385  // tagTMR<NOTE>: trophy systems will attack the scriptmover not the invisible ET_MISSILE for tac inserts
386  continue;
387  }
388 
389  switch( grenade.model )
390  {
391  case "t6_wpn_grenade_supply_projectile":
392  continue;
393  }
394 
395  if ( !isdefined( grenade.owner ) )
396  {
397  grenade.owner = GetMissileOwner( grenade );
398  }
399 
400  if ( isdefined( grenade.owner ))
401  {
402  if ( level.teamBased )
403  {
404  if ( grenade.owner.team == owner.team )
405  {
406  continue;
407  }
408  }
409  else
410  {
411  if ( grenade.owner == owner )
412  {
413  continue;
414  }
415  }
416 
417  grenadeDistanceSquared = DistanceSquared( grenade.origin, heatwave.origin );
418 
419  if ( grenadeDistanceSquared < ( heatwave.radius * heatwave.radius ))
420  {
421  if ( BulletTracePassed( grenade.origin, heatwave.origin + ( 0, 0, ‪HEATWAVE_PROJECTILE_TRACE_Z ), false, owner, grenade, false, true ) )
422  {
423  owner ‪projectileExplode( grenade, heatwave, weapon );
424  index--;
425  }
426  }
427  }
428  }
429  }
430 }
431 
432 function ‪projectileExplode( projectile, heatwave, weapon ) // self == trophy owning player
433 {
434  projPosition = projectile.origin;
435  playFX( level.trophyDetonationFX, projPosition );
436  projectile notify ( "trophy_destroyed" );
437  self RadiusDamage( projPosition, 128, 105, 10, self, "MOD_BURNED", weapon );
438  projectile delete();
439 }
440 
441 
442 function ‪apply_burn( weapon, entity, heatwave )
443 {
444  ‪damage = floor( entity.health * ‪HEATWAVE_DAMAGE_RATIO );
445  entity DoDamage( ‪damage, self.origin + ( 0, 0, 30 ), self, heatwave.fxOrg, 0, "MOD_BURNED", 0, weapon );
446  entity setdoublejumpenergy( 0 );
447  entity ‪clientfield::set( "heatwave_victim", 1 );
449  entity thread ‪watch_burn_clear();
450  entity resetdoublejumprechargetime();
451  shellshock_duration = ‪HEATWAVE_EFFECT_DURATION;
452  entity._heat_wave_stuned_end = getTime() + ( shellshock_duration * 1000 );
453  ‪DEFAULT( entity._heat_wave_stunned_by, [] );
454  entity._heat_wave_stunned_by[self.clientid] = entity._heat_wave_stuned_end;
455  entity shellshock( "heat_wave", shellshock_duration, true );
456  entity thread ‪heat_wave_burn_sound(shellshock_duration);
457  burned = true;
458 }
459 
461 {
462  self endon ("disconnect");
463  self endon ("death");
464 
466 
467  self ‪clientfield::set( "heatwave_victim", 0 );
468 }
469 
470 function ‪update_last_burned_by( heatwave )
471 {
472  self endon ( "disconnect" );
473  self endon ( "death" );
474 
475  self._heat_wave_damaged_time = getTime();
476 
477  wait( ‪HEATWAVE_DURATION );
478 }
479 
480 function ‪heat_wave_burn_sound(shellshock_duration)
481 {
482  fire_sound_ent = ‪spawn( "script_origin", self.origin );
483  fire_sound_ent linkto( self, "tag_origin", (0,0,0), (0,0,0) );
484  fire_sound_ent playloopsound ("mpl_heatwave_burn_loop");
485  wait( shellshock_duration );
486 
487  if ( isdefined( fire_sound_ent ) )
488  {
489  fire_sound_ent StopLoopSound( .5 );
491  fire_sound_ent delete();
492  }
493 }
‪gadget_heat_wave_on_take
‪function gadget_heat_wave_on_take(slot, weapon)
Definition: _gadget_heat_wave.gsc:99
‪gadget_heat_wave_on_give
‪function gadget_heat_wave_on_give(slot, weapon)
Definition: _gadget_heat_wave.gsc:94
‪gadget_heat_wave_on_activate
‪function gadget_heat_wave_on_activate(slot, weapon)
Definition: _gadget_heat_wave.gsc:132
‪register_gadget_is_flickering_callbacks
‪function register_gadget_is_flickering_callbacks(type, flickering_func)
Definition: _ability_player.gsc:299
‪startTime
‪class AnimationAdjustmentInfoZ startTime
‪activate
‪function activate()
Definition: traps_shared.gsc:655
‪GADGET_TYPE_HEAT_WAVE
‪#define GADGET_TYPE_HEAT_WAVE
Definition: _ability_util.gsh:47
‪heat_wave_trace_entity
‪function heat_wave_trace_entity(entity, heatwave)
Definition: _gadget_heat_wave.gsc:203
‪heat_wave_burn_sound
‪function heat_wave_burn_sound(shellshock_duration)
Definition: _gadget_heat_wave.gsc:480
‪register_gadget_possession_callbacks
‪function register_gadget_possession_callbacks(type, on_give, on_take)
Definition: _ability_player.gsc:221
‪toggle_activate_clientfields
‪function toggle_activate_clientfields()
Definition: _gadget_heat_wave.gsc:140
‪updateDvars
‪function updateDvars()
Definition: _gadget_heat_wave.gsc:68
‪heat_wave_fx
‪function heat_wave_fx(origin, direction)
Definition: _gadget_heat_wave.gsc:226
‪set_to_player
‪function set_to_player(str_field_name, n_value)
Definition: clientfield_shared.gsc:58
‪heat_wave_damage_projectiles
‪function heat_wave_damage_projectiles(weapon, heatwave)
Definition: _gadget_heat_wave.gsc:359
‪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
‪HEATWAVE_GLASS_DAMAGE
‪#define HEATWAVE_GLASS_DAMAGE
Definition: _gadget_heat_wave.gsc:31
‪HEATWAVE_ACTIVATE_VISIONSET_ALIAS
‪#define HEATWAVE_ACTIVATE_VISIONSET_ALIAS
Definition: _gadget_heat_wave.gsh:2
‪VERSION_SHIP
‪#define VERSION_SHIP
Definition: version.gsh:36
‪projectileExplode
‪function projectileExplode(projectile, heatwave, weapon)
Definition: _gadget_heat_wave.gsc:432
‪HEATWAVE_FX_HEIGHT
‪#define HEATWAVE_FX_HEIGHT
Definition: _gadget_heat_wave.gsc:28
‪HEATWAVE_PROJECTILE_TRACE_Z
‪#define HEATWAVE_PROJECTILE_TRACE_Z
Definition: _gadget_heat_wave.gsc:32
‪heat_wave_think
‪function heat_wave_think(slot, weapon)
Definition: _gadget_heat_wave.gsc:258
‪is_entity_valid
‪function is_entity_valid(entity, heatwave)
Definition: _gadget_heat_wave.gsc:173
‪HEATWAVE_EFFECT_DURATION
‪#define HEATWAVE_EFFECT_DURATION
Definition: _gadget_heat_wave.gsc:25
‪spawn
‪function spawn(v_origin=(0, 0, 0), v_angles=(0, 0, 0))
Definition: struct.csc:23
‪IS_TRUE
‪#define IS_TRUE(__a)
Definition: shared.gsh:251
‪watch_burn_clear
‪function watch_burn_clear()
Definition: _gadget_heat_wave.gsc:460
‪register_gadget_flicker_callbacks
‪function register_gadget_flicker_callbacks(type, on_flicker)
Definition: _ability_player.gsc:253
‪damage
‪function damage(trap)
Definition: _zm_trap_electric.gsc:116
‪HEATWAVE_ACTIVATE_VISIONSET_RAMP_OUT
‪#define HEATWAVE_ACTIVATE_VISIONSET_RAMP_OUT
Definition: _gadget_heat_wave.gsh:7
‪gadget_heat_wave_on_deactivate
‪function gadget_heat_wave_on_deactivate(slot, weapon)
Definition: _gadget_heat_wave.gsc:152
‪DEFAULT
‪#define DEFAULT(__var, __default)
Definition: shared.gsh:270
‪on_spawned
‪function on_spawned(func, obj)
Definition: callbacks_shared.csc:245
‪HEATWAVE_ACTIVATE_VISIONSET_RAMP_IN
‪#define HEATWAVE_ACTIVATE_VISIONSET_RAMP_IN
Definition: _gadget_heat_wave.gsh:5
‪HEATWAVE_DAMAGE_RATIO
‪#define HEATWAVE_DAMAGE_RATIO
Definition: _gadget_heat_wave.gsc:24
‪gadget_heat_wave_on_flicker
‪function gadget_heat_wave_on_flicker(slot, weapon)
Definition: _gadget_heat_wave.gsc:88
‪wait_network_frame
‪function wait_network_frame(n_count=1)
Definition: util_shared.gsc:64
‪HEATWAVE_ACTIVATE_VISIONSET_RAMP_HOLD
‪#define HEATWAVE_ACTIVATE_VISIONSET_RAMP_HOLD
Definition: _gadget_heat_wave.gsh:6
‪__init__
‪function __init__()
Definition: _gadget_heat_wave.gsc:38
‪register_gadget_activation_callbacks
‪function register_gadget_activation_callbacks(type, turn_on, turn_off)
Definition: _ability_player.gsc:237
‪HEATWAVE_CHARRED_VISIONSET_RAMP_IN
‪#define HEATWAVE_CHARRED_VISIONSET_RAMP_IN
Definition: _gadget_heat_wave.gsh:13
‪waittill_any
‪function waittill_any(str_notify1, str_notify2, str_notify3, str_notify4, str_notify5)
Definition: util_shared.csc:375
‪deactivate
‪function deactivate()
Definition: traps_shared.gsc:649
‪HEATWAVE_DURATION
‪#define HEATWAVE_DURATION
Definition: _gadget_heat_wave.gsc:29
‪HEATWAVE_TRACE_Z_OFFSET
‪#define HEATWAVE_TRACE_Z_OFFSET
Definition: _gadget_heat_wave.gsc:27
‪HEATWAVE_ACTIVATE_VISIONSET_PRIORITY
‪#define HEATWAVE_ACTIVATE_VISIONSET_PRIORITY
Definition: _gadget_heat_wave.gsh:3
‪REGISTER_SYSTEM
‪#define REGISTER_SYSTEM(__sys, __func_init_preload, __reqs)
Definition: shared.gsh:204
‪gadget_heat_wave_on_connect
‪function gadget_heat_wave_on_connect()
Definition: _gadget_heat_wave.gsc:106
‪HEATWAVE_CHARRED_VISIONSET_PRIORITY
‪#define HEATWAVE_CHARRED_VISIONSET_PRIORITY
Definition: _gadget_heat_wave.gsh:11
‪apply_burn
‪function apply_burn(weapon, entity, heatwave)
Definition: _gadget_heat_wave.gsc:442
‪register_info
‪function register_info(type, name, version, lerp_step_count)
Definition: visionset_mgr_shared.csc:334
‪HEATWAVE_CHARRED_VISIONSET_STEPS
‪#define HEATWAVE_CHARRED_VISIONSET_STEPS
Definition: _gadget_heat_wave.gsh:12
‪heat_wave_damage_entities
‪function heat_wave_damage_entities(weapon, heatwave)
Definition: _gadget_heat_wave.gsc:279
‪set
‪function set(str_field_name, n_value)
Definition: clientfield_shared.gsc:34
‪gadget_heat_wave_is_flickering
‪function gadget_heat_wave_is_flickering(slot)
Definition: _gadget_heat_wave.gsc:82
‪update_last_burned_by
‪function update_last_burned_by(heatwave)
Definition: _gadget_heat_wave.gsc:470
‪HEATWAVE_CHARRED_VISIONSET_RAMP_HOLD
‪#define HEATWAVE_CHARRED_VISIONSET_RAMP_HOLD
Definition: _gadget_heat_wave.gsh:14
‪watch_entity_shutdown
‪function watch_entity_shutdown()
Definition: _gadget_heat_wave.gsc:120
‪heat_wave_fx_cleanup
‪function heat_wave_fx_cleanup(fxOrg, direction)
Definition: _gadget_heat_wave.gsc:214
‪gadget_heat_wave_flicker
‪function gadget_heat_wave_flicker(slot, weapon)
Definition: _gadget_heat_wave.gsc:156
‪register
‪function register()
Definition: _ai_tank.gsc:126
‪gadget_heat_wave_on_player_spawn
‪function gadget_heat_wave_on_player_spawn()
Definition: _gadget_heat_wave.gsc:111
‪on_connect
‪function on_connect()
Definition: _arena.gsc:20
‪heat_wave_setup
‪function heat_wave_setup(weapon)
Definition: _gadget_heat_wave.gsc:246
‪set_gadget_status
‪function set_gadget_status(status, time)
Definition: _gadget_heat_wave.gsc:160
‪mayApplyScreenEffect
‪function mayApplyScreenEffect()
Definition: util_shared.gsc:2613
‪heat_wave_burn_entities
‪function heat_wave_burn_entities(weapon, entity, heatwave)
Definition: _gadget_heat_wave.gsc:317
‪HEATWAVE_ACTIVATE_VISIONSET_STEPS
‪#define HEATWAVE_ACTIVATE_VISIONSET_STEPS
Definition: _gadget_heat_wave.gsh:4
‪gadget_heat_wave_is_inuse
‪function gadget_heat_wave_is_inuse(slot)
Definition: _gadget_heat_wave.gsc:76
‪WAIT_SERVER_FRAME
‪#define WAIT_SERVER_FRAME
Definition: shared.gsh:265
‪HEATWAVE_CHARRED_VISIONSET_ALIAS
‪#define HEATWAVE_CHARRED_VISIONSET_ALIAS
Definition: _gadget_heat_wave.gsh:10