‪Black Ops 3 Source Code Explorer  0.1
‪An script explorer for Black Ops 3 by ZeRoY
_zm_trap_electric.csc
Go to the documentation of this file.
1 #using scripts\codescripts\struct;
2 
3 #using scripts\shared\clientfield_shared;
4 #using scripts\shared\exploder_shared;
5 #using scripts\shared\system_shared;
6 #using scripts\shared\visionset_mgr_shared;
7 
8 #insert scripts\shared\shared.gsh;
9 #insert scripts\shared\version.gsh;
10 
11 #insert scripts\zm\_zm_traps.gsh;
12 
13 #namespace zm_trap_electric;
14 
15 ‪REGISTER_SYSTEM( "zm_trap_electric", &‪__init__, undefined )
16 
17 function ‪__init__()
18 {
20 
21  a_traps = ‪struct::get_array( "trap_electric", "targetname" );
22  foreach( trap in a_traps )
23  {
25  }
26 }
27 
28 function ‪trap_fx_monitor( localClientNum, oldVal, newVal, bNewEnt, bInitialSnap, fieldName, bWasTimeJump )
29 {
30  exploder_name = "trap_electric_" + fieldName;
31  if ( newVal )
32  {
33  ‪exploder::exploder( exploder_name );
34  }
35  else
36  {
37  ‪exploder::stop_exploder( exploder_name );
38  }
39 
40  fire_points = ‪struct::get_array( fieldName,"targetname" );
41 
42  foreach( point in fire_points )
43  {
44  if( !isdefined( point.script_noteworthy ) )
45  {
46  if( newVal )
47  {
48  point thread ‪electric_trap_fx();
49  }
50  else
51  {
52  point thread ‪stop_trap_fx();
53  }
54  }
55  }
56 }
57 
58 function ‪electric_trap_fx() // self == a single fire point of an electric trap
59 {
60  ang = self.angles;
61  forward = AnglesToForward(ang);
62  up = AnglesToUp(ang);
63 
64  if ( isdefined( self.loopFX ) && self.loopFX.size )
65  {
67  }
68 
69  if(!isdefined(self.loopFX))
70  {
71  self.loopFX = [];
72  }
73 
74  players = getlocalplayers();
75 
76  for(i = 0; i < players.size; i++)
77  {
78  self.loopFX[i] = ‪PlayFx( i, level._effect["zapper"], self.origin, forward, up, 0);
79  }
80 }
81 
82 function ‪stop_trap_fx() // self == a single fire point of an electric trap
83 {
84  players = getlocalplayers();
85 
86  for(i = 0; i < players.size; i++)
87  {
88  if ( isdefined( self.loopFX[i] ) )
89  {
90  StopFx( i, self.loopFX[i] );
91  }
92  }
93 
94  self.loopFX = [];
95 }
‪exploder
‪function exploder(exploder_id, n_localclientnumber)
Definition: exploder_shared.csc:297
‪register_overlay_info_style_electrified
‪function register_overlay_info_style_electrified(name, version, lerp_step_count, duration)
Definition: visionset_mgr_shared.csc:104
‪stop_exploder
‪function stop_exploder(exploder_id, n_localclientnumber)
Definition: exploder_shared.csc:368
‪CF_CALLBACK_ZERO_ON_NEW_ENT
‪#define CF_CALLBACK_ZERO_ON_NEW_ENT
Definition: version.gsh:103
‪VERSION_SHIP
‪#define VERSION_SHIP
Definition: version.gsh:36
‪get_array
‪function get_array(kvp_value, kvp_key="targetname")
Definition: struct.csc:34
‪stop_trap_fx
‪function stop_trap_fx()
Definition: _zm_trap_electric.csc:82
‪electric_trap_fx
‪function electric_trap_fx()
Definition: _zm_trap_electric.csc:58
‪CF_HOST_ONLY
‪#define CF_HOST_ONLY
Definition: version.gsh:102
‪__init__
‪function __init__()
Definition: _zm_trap_electric.csc:17
‪REGISTER_SYSTEM
‪#define REGISTER_SYSTEM(__sys, __func_init_preload, __reqs)
Definition: shared.gsh:204
‪trap_fx_monitor
‪function trap_fx_monitor(localClientNum, oldVal, newVal, bNewEnt, bInitialSnap, fieldName, bWasTimeJump)
Definition: _zm_trap_electric.csc:28
‪register
‪function register()
Definition: _ai_tank.gsc:126
‪ZM_TRAP_ELECTRIC_MAX
‪#define ZM_TRAP_ELECTRIC_MAX
Definition: _zm_traps.gsh:4
‪PlayFx
‪function PlayFx(name)
Definition: _counteruav.gsc:390