‪Black Ops 3 Source Code Explorer  0.1
‪An script explorer for Black Ops 3 by ZeRoY
_gadget_resurrect.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 #using scripts\shared\weapons\_smokegrenade;
11 #using scripts\shared\_oob;
12 
13 #using scripts\shared\abilities\_ability_player;
14 #using scripts\shared\abilities\_ability_power;
15 #using scripts\shared\abilities\_ability_util;
16 
17 #insert scripts\shared\shared.gsh;
18 #insert scripts\shared\version.gsh;
19 #insert scripts\shared\abilities\_ability_util.gsh;
20 #insert scripts\shared\abilities\gadgets\_gadget_resurrect.gsh;
21 
22 #namespace resurrect;
23 
24 ‪REGISTER_SYSTEM( "gadget_resurrect", &‪__init__, undefined )
25 
26 #precache( "fx", RESURRECT_WORLD_HINT_FX );
27 #precache( "fx", RESURRECT_BODY_DISSAPPEAR_FX );
28 #precache( "fx", RESURRECT_SPAWN_FX );
29 #precache( "fx", RESURRECT_SMOKE_FX );
30 
31 #precache( "eventstring", "create_rejack_timer" );
32 
33 function ‪__init__()
34 {
35  ‪clientfield::register( "allplayers", "resurrecting" , ‪VERSION_SHIP, 1, "int" );
36  ‪clientfield::register( "toplayer", "resurrect_state" , ‪VERSION_SHIP, RESURRECT_STATE_BITS, "int" );
37  ‪clientfield::register( "clientuimodel", "hudItems.rejack.activationWindowEntered", ‪VERSION_SHIP, 1, "int" );
38  ‪clientfield::register( "clientuimodel", "hudItems.rejack.rejackActivated", ‪VERSION_SHIP, 1, "int" );
39 
47 
50 
51  if ( !IsDefined( level.vsmgr_prio_visionset_resurrect ) )
52  {
53  level.vsmgr_prio_visionset_resurrect = ‪RESURRECT_VISIONSET_PRIORITY;
54  }
55 
56  if ( !IsDefined( level.vsmgr_prio_visionset_resurrect_up ) )
57  {
58  level.vsmgr_prio_visionset_resurrect_up = ‪RESURRECT_VISIONSET_UP_PRIORITY;
59  }
60 
63 }
64 
66 {
67  return self GadgetIsActive( slot );
68 }
69 
71 {
72  return self GadgetFlickering( slot );
73 }
74 
75 function ‪gadget_resurrect_on_flicker( slot, weapon )
76 {
77 }
78 
79 function ‪gadget_resurrect_on_give( slot, weapon )
80 {
81  self.usedResurrect = false;
82  self.resurrect_weapon = weapon;
83  //self.overridePlayerDeadStatus = &gadget_resurrect_is_player_predead;
84  //self.secondaryDeathCamTime = &gadget_resurrect_secondary_deathcam_time;
85 }
86 
87 function ‪gadget_resurrect_on_take( slot, weapon )
88 {
89  // executed when gadget is removed from the players inventory
90 
91  self.overridePlayerDeadStatus = undefined;
92  self.resurrect_weapon = undefined;
93  self.secondaryDeathCamTime = undefined;
94 
95  self notify("resurrect_taken");
96 }
97 
98 //self is the player
100 {
101  self ‪clientfield::set_player_uimodel( "hudItems.rejack.activationWindowEntered", 0 );
102  self ‪util::show_hud( 1 );
103  self._disable_proximity_alarms = false;
104  // executed when gadget is added to the players inventory
105  self ‪flagsys::clear( "gadget_resurrect_ready" );
106  self ‪flagsys::clear( "gadget_resurrect_pending" );
107 
108  if ( self ‪flagsys::get( "gadget_resurrect_activated" ) )
109  {
111 
112  self thread ‪resurrect_drain_power();
113 
114  self ‪flagsys::clear( "gadget_resurrect_activated" );
115  }
116 }
117 
118 function ‪resurrect_drain_power( amount )
119 {
120  if ( isdefined( self.resurrect_weapon ) )
121  {
122  slot = self GadgetGetSlot( self.resurrect_weapon );
123  if ( slot >= ‪GADGET_HELD_0 && slot < ‪GADGET_HELD_COUNT )
124  {
125  if ( IsDefined( amount ))
126  {
127  self GadgetPowerChange( slot, amount );
128  }
129  else
130  {
131  self GadgetStateChange( slot, self.resurrect_weapon, ‪GADGET_ACTION_ON );
132  }
133  }
134  }
135 }
136 
137 //self is the player
139 {
140  // setup up stuff on player connect
141 }
142 
143 function ‪gadget_resurrect_on( slot, weapon )
144 {
145  // excecutes when the gadget is turned on
146 }
147 
149 {
150  self endon( "player_input_suicide" );
151  self endon( "player_input_revive" );
152  self endon( "disconnect" );
153  self endon( "death" );
154  level endon("game_ended");
155 
156  while( 1 )
157  {
158  if( ( ( self IsPlayerSwimming() ) || ( self isOnGround() ) ) && !( self iswallrunning() ) && !( self istraversing() ) )
159  {
160  smoke_weapon = GetWeapon( ‪RESURRECT_SMOKE_WEAPON_NAME );
161  stat_weapon = GetWeapon( ‪RESURRECT_WEAPON_NAME );
163  smokeEffect thread ‪watch_smoke_effect_watch_suicide( self );
164  smokeEffect thread ‪watch_smoke_effect_watch_resurrect( self );
165  smokeEffect thread ‪watch_smoke_death( self );
166  return;
167  }
168 
170  }
171 }
172 
173 function ‪watch_smoke_death( player ) // self is effect
174 {
175  self endon( "death" );
176 
178 
179  self delete();
180 }
181 
182 function ‪watch_smoke_effect_watch_suicide( player ) // self is effect
183 {
184  self endon( "death" );
185 
186  player waittill ( "player_input_suicide" );
187 
188  self delete();
189 }
190 
191 function ‪watch_smoke_effect_watch_resurrect( player ) // self is effect
192 {
193  self endon( "death" );
194 
195  player waittill ( "player_input_revive" );
196 
198 
199  self delete();
200 }
201 
202 function ‪gadget_resurrect_is_primed( slot, weapon ) // self == player
203 {
204  if ( isdefined( self.resurrect_not_allowed_by ) )
205  return;
206 
207  self StartResurrectViewAngleTransition();
208  self.lastWaterDamageTime = GetTime();
209  self._disable_proximity_alarms = true;
210  self thread ‪watch_smoke_detonate();
211  self ‪util::show_hud( 0 );
213  self ‪clientfield::set_to_player( "resurrect_state", ‪RESURRECT_STATE_DOWN );
215 }
216 
217 function ‪gadget_resurrect_is_ready( slot, weapon )
218 {
219  return;
220 
221  self ‪flagsys::set( "gadget_resurrect_ready" );
222  self thread ‪resurrect_breadcrumbs( slot );
223  self thread ‪resurrect_watch_for_death( slot,weapon );
224 }
225 
226 function ‪gadget_resurrect_start( slot, weapon )
227 {
228  wait 0.1;
229  self GadgetSetActivateTime( slot, GetTime() );
230  self thread ‪resurrect_delay( weapon );
231 }
232 
233 function ‪gadget_resurrect_off( slot, weapon )
234 {
235  self notify( "gadget_resurrect_off" );
236 
237  // excecutes when the gadget is turned off
238 }
239 
240 function ‪resurrect_delay( weapon )
241 {
242  self endon ( "disconnect" );
243  self endon("game_ended");
244  self endon ( "death" );
245 
246  self notify( "resurrect_delay" );
247  self endon( "resurrect_delay" );
248 
249 }
250 
251 function ‪overrideSpawn(isPredictedSpawn)
252 {
253  if ( !self ‪flagsys::get( "gadget_resurrect_ready" ) )
254  return false;
255  if ( !self ‪flagsys::get( "gadget_resurrect_activated" ) )
256  return false;
257 
258  if (!IsDefined( self.resurrect_origin ))
259  {
260  self.resurrect_origin = self.origin;
261  self.resurrect_angles = self.angles;
262  }
263 
264  return true;
265 }
266 
267 
268 function ‪is_jumping()
269 {
270  // checking PMF_JUMPING in code would give more accurate results
271  ground_ent = self GetGroundEnt();
272  return (!isdefined(ground_ent));
273 }
274 
275 
277 {
278  //if ( self IsWallRunning() || self is_jumping() )
279  //return false;
280  if ( self ‪clientfield::get_to_player( "out_of_bounds" ) )
281  return false;
282 
283  return true;
284 }
285 
286 
288 {
289  self endon("disconnect");
290  self endon("game_ended");
291  self endon("resurrect_taken");
292  self.resurrect_slot = slot;
293 
294  while(1)
295  {
296  if (IsAlive(self) && self ‪player_position_valid() )
297  {
298  self.resurrect_origin = self.origin;
299  self.resurrect_angles = self.angles;
300  }
301  wait 1;
302  }
303 
304 }
305 
306 
307 function ‪glow_for_time( time )
308 {
309  self endon("disconnect");
310  self ‪clientfield::set( "resurrecting", 1 );
311  wait time;
312  self ‪clientfield::set( "resurrecting", 0 );
313 }
314 
315 function ‪wait_for_time( time, msg )
316 {
317  self endon("disconnect");
318  self endon("game_ended");
319 
320  self endon(msg);
321  wait time;
322  self notify(msg);
323 }
324 
325 function ‪wait_for_activate( msg )
326 {
327  self endon("disconnect");
328  self endon("game_ended");
329 
330  self endon(msg);
331  while(1)
332  {
333  if ( self OffhandSpecialButtonPressed() )
334  {
335  self ‪flagsys::set( "gadget_resurrect_activated" );
336  self notify(msg);
337  }
339  }
340 }
341 
342 function ‪bot_wait_for_activate( msg, time )
343 {
344  self endon("disconnect");
345  self endon("game_ended");
346 
347  self endon(msg);
348 
349  if ( !self ‪util::is_bot() )
350  {
351  return;
352  }
353 
354  time = int( time + 1 );
355 
356  randWait = RandomInt( time );
357 
358  wait randWait;
359 
360  self ‪flagsys::set( "gadget_resurrect_activated" );
361  self notify(msg);
362 }
363 
365 {
366  offset = (0,0,40);
367  fxOrg = ‪spawn( "script_model", self.resurrect_origin + offset );
368  fxOrg SetModel( "tag_origin" );
369 
370  fx = PlayFxOnTag( ‪RESURRECT_WORLD_HINT_FX, fxOrg, "tag_origin" );
371 
372  self waittill("resurrect_time_or_activate");
373 
374  fxOrg delete();
375 }
376 
378 {
379  if ( isdefined( self.body ) )
380  {
381  fx = ‪PlayFx( ‪RESURRECT_BODY_DISSAPPEAR_FX, self.body.origin );
382 
383  self.body NotSolid();
384  self.body Ghost();
385  }
386 }
387 
389 {
390  playsoundatposition( ‪RESURRECT_SPAWN_SOUND, self.origin );
391 
392  fx = ‪PlayFx( ‪RESURRECT_SPAWN_FX, self.origin );
393 }
394 
395 function ‪resurrect_watch_for_death( slot, weapon )
396 {
397  self endon("disconnect");
398  self endon("game_ended");
399 
400  self waittill("death");
401 
402  resurrect_time = 3;
403 
404  if ( IsDefined( weapon.gadget_resurrect_duration) )
405  {
406  resurrect_time = weapon.gadget_resurrect_duration / 1000.0;
407  }
408 
409  self.usedResurrect = false;
410 
411  self ‪flagsys::clear( "gadget_resurrect_activated" );
412  self ‪flagsys::set( "gadget_resurrect_pending" );
413  self.resurrect_available_time = GetTime();
414 
415  self thread ‪wait_for_time(resurrect_time,"resurrect_time_or_activate");
416 
417  self thread ‪wait_for_activate("resurrect_time_or_activate");
418  self thread ‪bot_wait_for_activate("resurrect_time_or_activate", resurrect_time );
419 
420  self thread ‪do_resurrect_hint_fx();
421 
422  self waittill("resurrect_time_or_activate");
423 
424  self ‪flagsys::clear( "gadget_resurrect_pending" );
425 
426  if ( self ‪flagsys::get( "gadget_resurrect_activated" ) )
427  {
428  self thread ‪do_resurrected_on_dead_body_fx();
429 
430  self notify ( "end_death_delay" );
431  self notify ( "end_killcam" );
432 
433  self.cancelKillcam = true;
434  self.usedResurrect = true;
435 
436  self notify ( "end_death_delay" );
437  self notify( "force_spawn" );
438 
440  {
441  self.pers["resetMomentumOnSpawn"] = false;
442  }
443 
444  if ( isdefined( level.playGadgetSuccess ) )
445  {
446  self [[ level.playGadgetSuccess ]]( weapon, "resurrectSuccessDelay" );
447  }
448 
449  //self thread glow_for_time( 7 );
450  }
451 }
452 
453 
454 
456 {
457  if ( self ‪flagsys::get( "gadget_resurrect_ready" ) )
458  {
459  return true;
460  }
461 
462  return false;
463 }
464 
466 {
467  should_not_be_dead = false;
468  if ( self.sessionstate == "playing" && isAlive( self ) )
469  should_not_be_dead = true;
470 
471  if ( self ‪flagsys::get( "gadget_resurrect_pending" ) )
472  {
473  return true;
474  }
475 
476  return should_not_be_dead;
477 }
478 
480 {
481  if ( self ‪flagsys::get( "gadget_resurrect_pending" ) && IsDefined(self.resurrect_available_time) )
482  {
483  resurrect_time = 3000;
484 
485  weapon = self.resurrect_weapon;
486  if ( IsDefined(weapon.gadget_resurrect_duration) )
487  resurrect_time = weapon.gadget_resurrect_duration;
488 
489  time_left = resurrect_time - ( GetTime() - self.resurrect_available_time );
490 
491  if ( time_left > 0 )
492  {
493  return time_left / 1000.0;
494  }
495  }
496 
497  return 0.0;
498 }
499 
500 function ‪enter_rejack_standby() // self == player
501 {
502  self endon( "disconnect" );
503  self endon( "death" );
504  level endon("game_ended");
505 
506  self.rejack_activate_requested = false;
507 
508  if( isDefined( level.resetPlayerScorestreaks ) )
509  {
510  [[level.resetPlayerScorestreaks]]( self );
511  }
512 
513  self ‪init_rejack_ui();
515  self thread ‪watch_rejack_suicide();
517  self thread ‪watch_rejack_activate();
518  self thread ‪watch_rejack_timeout();
519  self thread ‪watch_bad_trigger_touch();
520 }
521 
523 {
524  self notify( "heroAbility_off" );
526  self thread ‪remove_rejack_ui();
527  self ‪util::show_hud( 1 );
529 }
530 
532 {
533  self endon( "player_input_revive" );
534  self endon( "player_input_suicide" );
535  self endon( "disconnect" );
536  self endon( "death" );
537  level endon("game_ended");
538 
539  a_killbrushes = GetEntArray( "trigger_hurt","classname" );
540 
541  while( 1 )
542  {
543  a_killbrushes = GetEntArray( "trigger_hurt","classname" );
544 
545  for ( i = 0; i < a_killbrushes.size; i++)
546  {
547  if ( self IsTouching( a_killbrushes[ i ] ) )
548  {
549  if ( !a_killbrushes[ i ] IsTriggerEnabled() )
550  {
551  continue;
552  }
553 
554  self ‪rejack_suicide();
555  }
556  }
557 
559  {
560  self ‪rejack_suicide();
561  }
562 
564  }
565 }
566 
567 function ‪watch_rejack_timeout() // self == player
568 {
569  self endon( "player_input_revive" );
570  self endon( "player_input_suicide" );
571  self endon( "disconnect" );
572  self endon( "death" );
573  level endon("game_ended");
574 
576 
577  self playsound ("mpl_rejack_suicide_timeout");
579  self ‪rejack_suicide();
580 }
581 
582 function ‪watch_rejack_suicide() // self == player
583 {
584  self endon( "player_input_revive" );
585  self endon( "disconnect" );
586  self endon( "death" );
587  level endon("game_ended");
588 
589  while ( self UseButtonPressed())
590  {
591  wait 1;
592  }
593 
594  if ( ‪IS_TRUE( self.laststand ))
595  {
596  ‪startTime = GetTime();
597  while ( true )
598  {
599  if( !( self usebuttonpressed() ) )
600  {
601  ‪startTime = GetTime();
602  }
603 
604  if( ‪startTime + ‪RESURRECT_HELD_DURATION < GetTime() )
605  {
606  self ‪rejack_suicide();
607  self playsound ("mpl_rejack_suicide");
608  return;
609  }
610 
611  wait .01;
612  }
613  }
614 }
615 
617 {
618  weapons = self GetWeaponsListPrimaries();
619  for ( i = 0; i < weapons.size; i++ )
620  {
621  self ReloadWeaponAmmo( weapons[i] );
622  }
623 }
624 
626 {
627  self endon( "player_input_suicide" );
628  self endon( "player_input_revive" );
629  self endon( "disconnect" );
630  self endon( "death" );
631  level endon("game_ended");
632 
633  while ( self OffhandSpecialButtonPressed())
634  {
636  }
637 
638  self.rejack_activate_requested = false;
639  while( !self.rejack_activate_requested )
640  {
641  if( self OffhandSpecialButtonPressed() )
642  {
643  self.rejack_activate_requested = true;
644  }
646  }
647 }
648 
649 function ‪watch_rejack_activate() // self == player
650 {
651  self endon( "player_input_suicide" );
652  self endon( "disconnect" );
653  self endon( "death" );
654  level endon("game_ended");
655 
656  if ( ‪IS_TRUE( self.laststand ))
657  {
658  while ( true )
659  {
661 
662  if( ‪IS_TRUE( self.rejack_activate_requested ) )
663  {
664  self notify( "player_input_revive" );
665  if( isDefined( level.start_player_health_regen ) )
666  {
667  self thread [[level.start_player_health_regen]](); // Manually restart the health regen as it gets ended because of the player killed
668  }
669  self._disable_proximity_alarms = false;
671  self thread ‪resurrect_drain_power();
672  self thread ‪rejack_ui_activate();
675  self ‪clientfield::set_to_player( "resurrect_state", ‪RESURRECT_STATE_UP );
676  self stopshellshock();
677  //self SetEverHadWeaponAll( false );
679  level notify( "hero_gadget_activated", self );
680  self notify( "hero_gadget_activated" );
681  return;
682  }
683  }
684  }
685 }
686 
688 {
689  self ‪clientfield::set_player_uimodel( "hudItems.rejack.activationWindowEntered", 1 );
690  self LUINotifyEvent( &"create_rejack_timer", 1, GetTime() + ( int( ‪REJACK_ACTIVATION_WINDOW_SECONDS * 1000 ) ) );
691  self ‪clientfield::set_player_uimodel( "hudItems.rejack.rejackActivated", 0 );
692 }
693 
695 {
696  self endon( "disconnect" );
697 
698  wait 1.5;
699  self ‪clientfield::set_player_uimodel( "hudItems.rejack.activationWindowEntered", 0 );
700  self ‪util::show_hud( 1 );
701 }
702 
704 {
705  self ‪clientfield::set_player_uimodel( "hudItems.rejack.rejackActivated", 1 );
706  self thread ‪remove_rejack_ui();
707 }
708 
709 function ‪player_suicide() // self == player
710 {
711  self._disable_proximity_alarms = false;
712  self notify( "player_input_suicide" );
713  self ‪clientfield::set_to_player( "resurrect_state", ‪RESURRECT_STATE_NONE );
715 }
‪RESURRECT_VISIONSET_UP_PRIORITY
‪#define RESURRECT_VISIONSET_UP_PRIORITY
Definition: _gadget_resurrect.gsh:33
‪gadget_resurrect_on_flicker
‪function gadget_resurrect_on_flicker(slot, weapon)
Definition: _gadget_resurrect.gsc:75
‪wait_for_time
‪function wait_for_time(time, msg)
Definition: _gadget_resurrect.gsc:315
‪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
‪RESURRECT_SPAWN_SOUND
‪#define RESURRECT_SPAWN_SOUND
Definition: _gadget_resurrect.gsh:6
‪remove_rejack_ui
‪function remove_rejack_ui()
Definition: _gadget_resurrect.gsc:694
‪watch_rejack_activate_requested
‪function watch_rejack_activate_requested()
Definition: _gadget_resurrect.gsc:625
‪RESURRECT_WORLD_HINT_FX
‪#define RESURRECT_WORLD_HINT_FX
Definition: _gadget_resurrect.gsh:2
‪get_to_player
‪function get_to_player(field_name)
Definition: clientfield_shared.csc:38
‪is_bot
‪function is_bot()
Definition: util_shared.gsc:2488
‪IsTouchingAnyOOBTrigger
‪function IsTouchingAnyOOBTrigger()
Definition: _oob.gsc:84
‪RESURRECT_VISIONSET_STEPS
‪#define RESURRECT_VISIONSET_STEPS
Definition: _gadget_resurrect.gsh:26
‪register_gadget_possession_callbacks
‪function register_gadget_possession_callbacks(type, on_give, on_take)
Definition: _ability_player.gsc:221
‪REJACK_SMOKE_FX_LIFETIME_AFTER_REJACK
‪#define REJACK_SMOKE_FX_LIFETIME_AFTER_REJACK
Definition: _gadget_resurrect.gsh:21
‪smokeDetonate
‪function smokeDetonate(owner, statWeapon, smokeWeapon, position, radius, effectLifetime, smokeBlockDuration)
Definition: _smokegrenade.gsc:54
‪player_suicide
‪function player_suicide()
Definition: _gadget_resurrect.gsc:709
‪set_to_player
‪function set_to_player(str_field_name, n_value)
Definition: clientfield_shared.gsc:58
‪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
‪REJACK_RESET_SCORESTREAK
‪#define REJACK_RESET_SCORESTREAK
Definition: _gadget_resurrect.gsh:15
‪is_jumping
‪function is_jumping()
Definition: _gadget_resurrect.gsc:268
‪resurrect_breadcrumbs
‪function resurrect_breadcrumbs(slot)
Definition: _gadget_resurrect.gsc:287
‪register_gadget_is_inuse_callbacks
‪function register_gadget_is_inuse_callbacks(type, inuse_func)
Definition: _ability_player.gsc:289
‪RESURRECT_VISIONSET_UP_RAMP_OUT
‪#define RESURRECT_VISIONSET_UP_RAMP_OUT
Definition: _gadget_resurrect.gsh:37
‪VERSION_SHIP
‪#define VERSION_SHIP
Definition: version.gsh:36
‪gadget_resurrect_delay_updateTeamStatus
‪function gadget_resurrect_delay_updateTeamStatus()
Definition: _gadget_resurrect.gsc:455
‪watch_smoke_death
‪function watch_smoke_death(player)
Definition: _gadget_resurrect.gsc:173
‪REJACK_ENTER_POWER_PENALTY
‪#define REJACK_ENTER_POWER_PENALTY
Definition: _gadget_resurrect.gsh:14
‪rejack_ui_activate
‪function rejack_ui_activate()
Definition: _gadget_resurrect.gsc:703
‪RESURRECT_VISIONSET_UP_STEPS
‪#define RESURRECT_VISIONSET_UP_STEPS
Definition: _gadget_resurrect.gsh:34
‪RESURRECT_HELD_DURATION
‪#define RESURRECT_HELD_DURATION
Definition: _gadget_resurrect.gsh:8
‪show_hud
‪function show_hud(b_show)
Definition: util_shared.gsc:4025
‪GADGET_HELD_0
‪#define GADGET_HELD_0
Definition: _ability_util.gsh:59
‪REJACK_SMOKE_FX_LIFETIME_SECONDS
‪#define REJACK_SMOKE_FX_LIFETIME_SECONDS
Definition: _gadget_resurrect.gsh:19
‪watch_bad_trigger_touch
‪function watch_bad_trigger_touch()
Definition: _gadget_resurrect.gsc:531
‪enter_rejack_standby
‪function enter_rejack_standby()
Definition: _gadget_resurrect.gsc:500
‪gadget_resurrect_is_primed
‪function gadget_resurrect_is_primed(slot, weapon)
Definition: _gadget_resurrect.gsc:202
‪REJACK_ACTIVATION_DELAY_SECONDS
‪#define REJACK_ACTIVATION_DELAY_SECONDS
Definition: _gadget_resurrect.gsh:12
‪RESURRECT_SHELLSHOCK
‪#define RESURRECT_SHELLSHOCK
Definition: _gadget_resurrect.gsh:10
‪RESURRECT_VISIONSET_RAMP_IN
‪#define RESURRECT_VISIONSET_RAMP_IN
Definition: _gadget_resurrect.gsh:27
‪watch_smoke_detonate
‪function watch_smoke_detonate()
Definition: _gadget_resurrect.gsc:148
‪watch_smoke_effect_watch_suicide
‪function watch_smoke_effect_watch_suicide(player)
Definition: _gadget_resurrect.gsc:182
‪spawn
‪function spawn(v_origin=(0, 0, 0), v_angles=(0, 0, 0))
Definition: struct.csc:23
‪RESURRECT_VISIONSET_PRIORITY
‪#define RESURRECT_VISIONSET_PRIORITY
Definition: _gadget_resurrect.gsh:25
‪waittill_any_timeout
‪function waittill_any_timeout(n_timeout, string1, string2, string3, string4, string5)
Definition: util_shared.csc:423
‪IS_TRUE
‪#define IS_TRUE(__a)
Definition: shared.gsh:251
‪rejack_suicide
‪function rejack_suicide()
Definition: _gadget_resurrect.gsc:522
‪REJACK_SMOKE_SIGHT_BLOCK_RADIUS
‪#define REJACK_SMOKE_SIGHT_BLOCK_RADIUS
Definition: _gadget_resurrect.gsh:18
‪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_resurrect_start
‪function gadget_resurrect_start(slot, weapon)
Definition: _gadget_resurrect.gsc:226
‪player_position_valid
‪function player_position_valid()
Definition: _gadget_resurrect.gsc:276
‪RESURRECT_WEAPON_NAME
‪#define RESURRECT_WEAPON_NAME
Definition: _gadget_resurrect.gsh:16
‪register_gadget_ready_callbacks
‪function register_gadget_ready_callbacks(type, ready_func)
Definition: _ability_player.gsc:265
‪do_resurrected_on_spawned_player_fx
‪function do_resurrected_on_spawned_player_fx()
Definition: _gadget_resurrect.gsc:388
‪do_resurrect_hint_fx
‪function do_resurrect_hint_fx()
Definition: _gadget_resurrect.gsc:364
‪gadget_resurrect_off
‪function gadget_resurrect_off(slot, weapon)
Definition: _gadget_resurrect.gsc:233
‪init_rejack_ui
‪function init_rejack_ui()
Definition: _gadget_resurrect.gsc:687
‪GADGET_TYPE_RESURRECT
‪#define GADGET_TYPE_RESURRECT
Definition: _ability_util.gsh:46
‪RESURRECT_STATE_DOWN
‪#define RESURRECT_STATE_DOWN
Definition: _gadget_resurrect.gsh:45
‪do_resurrected_on_dead_body_fx
‪function do_resurrected_on_dead_body_fx()
Definition: _gadget_resurrect.gsc:377
‪resurrect_watch_for_death
‪function resurrect_watch_for_death(slot, weapon)
Definition: _gadget_resurrect.gsc:395
‪on_spawned
‪function on_spawned(func, obj)
Definition: callbacks_shared.csc:245
‪gadget_resurrect_secondary_deathcam_time
‪function gadget_resurrect_secondary_deathcam_time()
Definition: _gadget_resurrect.gsc:479
‪GADGET_HELD_COUNT
‪#define GADGET_HELD_COUNT
Definition: _ability_util.gsh:62
‪RESURRECT_VISIONSET_ALIAS
‪#define RESURRECT_VISIONSET_ALIAS
Definition: _gadget_resurrect.gsh:24
‪overrideSpawn
‪function overrideSpawn(isPredictedSpawn)
Definition: _gadget_resurrect.gsc:251
‪RESURRECT_VISIONSET_RAMP_OUT
‪#define RESURRECT_VISIONSET_RAMP_OUT
Definition: _gadget_resurrect.gsh:29
‪gadget_resurrect_is_ready
‪function gadget_resurrect_is_ready(slot, weapon)
Definition: _gadget_resurrect.gsc:217
‪register_gadget_activation_callbacks
‪function register_gadget_activation_callbacks(type, turn_on, turn_off)
Definition: _ability_player.gsc:237
‪RESURRECT_BODY_DISSAPPEAR_FX
‪#define RESURRECT_BODY_DISSAPPEAR_FX
Definition: _gadget_resurrect.gsh:3
‪gadget_resurrect_on
‪function gadget_resurrect_on(slot, weapon)
Definition: _gadget_resurrect.gsc:143
‪watch_rejack_suicide
‪function watch_rejack_suicide()
Definition: _gadget_resurrect.gsc:582
‪RESURRECT_STATE_NONE
‪#define RESURRECT_STATE_NONE
Definition: _gadget_resurrect.gsh:44
‪deactivate
‪function deactivate()
Definition: traps_shared.gsc:649
‪RESURRECT_VISIONSET_RAMP_HOLD
‪#define RESURRECT_VISIONSET_RAMP_HOLD
Definition: _gadget_resurrect.gsh:28
‪bot_wait_for_activate
‪function bot_wait_for_activate(msg, time)
Definition: _gadget_resurrect.gsc:342
‪RESURRECT_VISIONSET_UP_RAMP_IN
‪#define RESURRECT_VISIONSET_UP_RAMP_IN
Definition: _gadget_resurrect.gsh:35
‪RESURRECT_VISIONSET_UP_RAMP_HOLD
‪#define RESURRECT_VISIONSET_UP_RAMP_HOLD
Definition: _gadget_resurrect.gsh:36
‪__init__
‪function __init__()
Definition: _gadget_resurrect.gsc:33
‪reload_clip_on_stand
‪function reload_clip_on_stand()
Definition: _gadget_resurrect.gsc:616
‪REGISTER_SYSTEM
‪#define REGISTER_SYSTEM(__sys, __func_init_preload, __reqs)
Definition: shared.gsh:204
‪wait_for_activate
‪function wait_for_activate(msg)
Definition: _gadget_resurrect.gsc:325
‪GADGET_ACTION_ON
‪#define GADGET_ACTION_ON
Definition: _ability_util.gsh:88
‪RESURRECT_SMOKE_WEAPON_NAME
‪#define RESURRECT_SMOKE_WEAPON_NAME
Definition: _gadget_resurrect.gsh:17
‪gadget_resurrect_on_take
‪function gadget_resurrect_on_take(slot, weapon)
Definition: _gadget_resurrect.gsc:87
‪watch_rejack_timeout
‪function watch_rejack_timeout()
Definition: _gadget_resurrect.gsc:567
‪register_info
‪function register_info(type, name, version, lerp_step_count)
Definition: visionset_mgr_shared.csc:334
‪gadget_resurrect_is_inuse
‪function gadget_resurrect_is_inuse(slot)
Definition: _gadget_resurrect.gsc:65
‪gadget_resurrect_on_spawned
‪function gadget_resurrect_on_spawned()
Definition: _gadget_resurrect.gsc:99
‪watch_smoke_effect_watch_resurrect
‪function watch_smoke_effect_watch_resurrect(player)
Definition: _gadget_resurrect.gsc:191
‪set
‪function set(str_field_name, n_value)
Definition: clientfield_shared.gsc:34
‪gadget_resurrect_is_player_predead
‪function gadget_resurrect_is_player_predead()
Definition: _gadget_resurrect.gsc:465
‪register_gadget_primed_callbacks
‪function register_gadget_primed_callbacks(type, primed_func)
Definition: _ability_player.gsc:277
‪REJACK_SMOKE_SIGHT_BLOCK_TIME
‪#define REJACK_SMOKE_SIGHT_BLOCK_TIME
Definition: _gadget_resurrect.gsh:20
‪glow_for_time
‪function glow_for_time(time)
Definition: _gadget_resurrect.gsc:307
‪resurrect_drain_power
‪function resurrect_drain_power(amount)
Definition: _gadget_resurrect.gsc:118
‪set_player_uimodel
‪function set_player_uimodel(str_field_name, n_value)
Definition: clientfield_shared.gsc:75
‪gadget_resurrect_on_connect
‪function gadget_resurrect_on_connect()
Definition: _gadget_resurrect.gsc:138
‪register
‪function register()
Definition: _ai_tank.gsc:126
‪RESURRECT_SPAWN_FX
‪#define RESURRECT_SPAWN_FX
Definition: _gadget_resurrect.gsh:4
‪on_connect
‪function on_connect()
Definition: _arena.gsc:20
‪RESURRECT_VISIONSET_UP_ALIAS
‪#define RESURRECT_VISIONSET_UP_ALIAS
Definition: _gadget_resurrect.gsh:32
‪REJACK_ACTIVATION_WINDOW_SECONDS
‪#define REJACK_ACTIVATION_WINDOW_SECONDS
Definition: _gadget_resurrect.gsh:13
‪resurrect_delay
‪function resurrect_delay(weapon)
Definition: _gadget_resurrect.gsc:240
‪gadget_resurrect_is_flickering
‪function gadget_resurrect_is_flickering(slot)
Definition: _gadget_resurrect.gsc:70
‪watch_rejack_activate
‪function watch_rejack_activate()
Definition: _gadget_resurrect.gsc:649
‪WAIT_SERVER_FRAME
‪#define WAIT_SERVER_FRAME
Definition: shared.gsh:265
‪gadget_resurrect_on_give
‪function gadget_resurrect_on_give(slot, weapon)
Definition: _gadget_resurrect.gsc:79
‪RESURRECT_STATE_UP
‪#define RESURRECT_STATE_UP
Definition: _gadget_resurrect.gsh:46
‪PlayFx
‪function PlayFx(name)
Definition: _counteruav.gsc:390