‪Black Ops 3 Source Code Explorer  0.1
‪An script explorer for Black Ops 3 by ZeRoY
_zm_pack_a_punch.csc
Go to the documentation of this file.
1 #using scripts\codescripts\struct;
2 
3 #using scripts\shared\array_shared;
4 #using scripts\shared\callbacks_shared;
5 #using scripts\shared\clientfield_shared;
6 #using scripts\shared\system_shared;
7 #using scripts\shared\util_shared;
8 #using scripts\shared\scene_shared;
9 #using scripts\shared\flag_shared;
10 #using scripts\shared\ai\systems\gib;
11 #using scripts\shared\exploder_shared;
12 
13 #using scripts\zm\_filter;
14 
15 #insert scripts\shared\shared.gsh;
16 #insert scripts\shared\version.gsh;
17 #insert scripts\zm\_zm_perks.gsh;
18 
19 #precache( "client_fx", "dlc1/castle/fx_packapunch_castle" );
20 
21 ‪REGISTER_SYSTEM( "zm_pack_a_punch", &‪__init__, undefined )
22 
23 function ‪__init__()
24 {
25  level._effect["pap_working_fx"] = "dlc1/castle/fx_packapunch_castle";
26 
28 }
29 
30 function ‪pap_working_FX_handler( localClientNum, oldVal, newVal, bNewEnt, bInitialSnap, fieldName, bWasTimeJump ) // self = z_barrier
31 {
32 
33  //send piece index and get it in function
34  if ( newVal == 1 )
35  {
36  ‪pap_play_fx(localClientNum, 0, "base_jnt" );
37  }
38 
39  else
40  {
41  if ( isdefined( self.n_pap_fx ) )
42  {
43  StopFx( localClientNum, self.n_pap_fx );
44  self.n_pap_fx = undefined;
45  }
46 
47  wait 1; // wait long enough for fx to clear
48 
49  if ( isdefined( self.mdl_fx ) )
50  {
51  self.mdl_fx Delete();
52  }
53  }
54 }
55 
56 function private ‪pap_play_fx( localClientNum, n_piece_index, str_tag ) // self = z_barrier
57 {
58  mdl_piece = self ZBarrierGetPiece( n_piece_index );
59 
60  if ( isdefined( self.mdl_fx ) )
61  {
62  self.mdl_fx Delete();
63  }
64 
65  if ( isdefined( self.n_pap_fx ) )
66  {
67  DeleteFX( localClientNum, self.n_pap_fx );
68  self.n_pap_fx = undefined;
69  }
70 
71  self.mdl_fx = ‪util::spawn_model(localClientNum, "tag_origin", mdl_piece GetTagOrigin( str_tag ), mdl_piece GetTagAngles( str_tag ) );
72  self.mdl_fx LinkTo( mdl_piece, str_tag );
73 
74  self.n_pap_fx = PlayFXOnTag( localClientNum, level._effect["pap_working_fx"], self.mdl_fx, "tag_origin" );
75 }
76 
‪CF_CALLBACK_ZERO_ON_NEW_ENT
‪#define CF_CALLBACK_ZERO_ON_NEW_ENT
Definition: version.gsh:103
‪spawn_model
‪function spawn_model(n_client, str_model, origin=(0, 0, 0), angles=(0, 0, 0))
Definition: util_shared.csc:92
‪VERSION_DLC1
‪#define VERSION_DLC1
Definition: version.gsh:91
‪pap_working_FX_handler
‪function pap_working_FX_handler(localClientNum, oldVal, newVal, bNewEnt, bInitialSnap, fieldName, bWasTimeJump)
Definition: _zm_pack_a_punch.csc:30
‪CF_HOST_ONLY
‪#define CF_HOST_ONLY
Definition: version.gsh:102
‪REGISTER_SYSTEM
‪#define REGISTER_SYSTEM(__sys, __func_init_preload, __reqs)
Definition: shared.gsh:204
‪__init__
‪function __init__()
Definition: _zm_pack_a_punch.csc:23
‪pap_play_fx
‪function private pap_play_fx(localClientNum, n_piece_index, str_tag)
Definition: _zm_pack_a_punch.csc:56
‪register
‪function register()
Definition: _ai_tank.gsc:126