‪Black Ops 3 Source Code Explorer  0.1
‪An script explorer for Black Ops 3 by ZeRoY
_zm_perk_widows_wine.csc
Go to the documentation of this file.
1 #using scripts\codescripts\struct;
2 
3 #using scripts\shared\clientfield_shared;
4 #using scripts\shared\system_shared;
5 #using scripts\shared\visionset_mgr_shared;
6 
7 #insert scripts\shared\shared.gsh;
8 #insert scripts\shared\version.gsh;
9 
10 #using scripts\zm\_zm_perks;
11 
12 #insert scripts\zm\_zm_perks.gsh;
13 #insert scripts\zm\_zm_utility.gsh;
14 #insert scripts\zm\_zm_perk_widows_wine.gsh;
15 
16 #using scripts\zm\_zm_powerup_ww_grenade;
17 
18 #precache( "client_fx", WIDOWS_WINE_FX_FILE_MACHINE_LIGHT );
19 #precache( "client_fx", WIDOWS_WINE_FX_FILE_WRAP );
20 #precache( "client_fx", WIDOWS_WINE_1P_EXPLOSION );
21 
22 #namespace zm_perk_widows_wine;
23 
24 ‪REGISTER_SYSTEM( "zm_perk_widows_wine", &‪__init__, undefined )
25 
26 // WIDOW'S WINE
27 
28 function ‪__init__()
29 {
30  // register custom functions for hud/lua
34 
35  // 1st Person Effects on Contact Explosion
36  ‪clientfield::register( "toplayer", "widows_wine_1p_contact_explosion", ‪VERSION_SHIP, 1, "counter", &‪widows_wine_1p_contact_explosion, !‪CF_HOST_ONLY, !‪CF_CALLBACK_ZERO_ON_NEW_ENT );
37 }
38 
39 
41 {
42  if( ‪IS_TRUE(level.enable_magic) )
43  {
46  }
47 }
48 
49 
51 {
53 
55 
57 }
58 
60 {
61 }
62 
63 // self == zombie target
64 function ‪widows_wine_wrap_cb( localClientNum, oldVal, newVal, bNewEnt, bInitialSnap, fieldName, bWasTimeJump )
65 {
66  if( newVal )
67  {
68  if ( IsDefined( self ) && IsAlive( self ) )
69  {
70  if ( !isdefined( self.fx_widows_wine_wrap ) )
71  {
72  self.fx_widows_wine_wrap = PlayFxOnTag( localClientNum, level._effect[‪WIDOWS_WINE_FX_WRAP], self, "j_spineupper" );
73  }
74 
75  if( !isdefined( self.sndWidowsWine ) )
76  {
77  self playsound( 0, "wpn_wwgrenade_cocoon_imp" );
78  self.sndWidowsWine = self playloopsound( "wpn_wwgrenade_cocoon_lp", .1 );
79  }
80  }
81  }
82  else
83  {
84  if ( isdefined( self.fx_widows_wine_wrap ) )
85  {
86  StopFX( localClientNum, self.fx_widows_wine_wrap );
87  self.fx_widows_wine_wrap = undefined;
88  }
89 
90  if( isdefined( self.sndWidowsWine ) )
91  {
92  self playsound( 0, "wpn_wwgrenade_cocoon_stop" );
93  self stoploopsound( self.sndWidowsWine, .1 );
94  }
95  }
96 }
97 
98 // self == player
99 function ‪widows_wine_1p_contact_explosion( localClientNum, oldVal, newVal, bNewEnt, bInitialSnap, fieldName, bWasTimeJump )
100 {
101  owner = self GetOwner( localClientNum );
102  if ( IsDefined(owner) && owner == GetLocalPlayer(localClientNum) )
103  {
104  thread ‪widows_wine_1p_contact_explosion_play( localClientNum );
105  }
106 }
107 
109 {
110  tag = "tag_flash";
111 
112  if ( !ViewmodelHasTag( localClientNum, tag ) )
113  {
114  tag = "tag_weapon";
115  if ( !ViewmodelHasTag( localClientNum, tag ) )
116  {
117  return;
118  }
119  }
120 
121  fx_contact_explosion = PlayViewmodelFx( localClientNum, ‪WIDOWS_WINE_1P_EXPLOSION, tag );
122  wait 2.0;
123  DeleteFx( localClientNum, fx_contact_explosion, true );
124 }
125 
‪init_widows_wine
‪function init_widows_wine()
Definition: _zm_perk_widows_wine.csc:40
‪WIDOWS_WINE_1P_EXPLOSION
‪#define WIDOWS_WINE_1P_EXPLOSION
Definition: _zm_perk_widows_wine.gsh:32
‪WIDOWS_WINE_FX_FILE_MACHINE_LIGHT
‪#define WIDOWS_WINE_FX_FILE_MACHINE_LIGHT
Definition: _zm_perk_widows_wine.gsh:30
‪register_perk_clientfields
‪function register_perk_clientfields(str_perk, func_clientfield_register, func_code_callback)
Definition: _zm_perks.csc:96
‪register_perk_init_thread
‪function register_perk_init_thread(str_perk, func_init_thread)
Definition: _zm_perks.csc:142
‪__init__
‪function __init__()
Definition: _zm_perk_widows_wine.csc:28
‪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
‪IS_TRUE
‪#define IS_TRUE(__a)
Definition: shared.gsh:251
‪widows_wine_code_callback_func
‪function widows_wine_code_callback_func()
Definition: _zm_perk_widows_wine.csc:59
‪WIDOWS_WINE_FX_MACHINE_LIGHT
‪#define WIDOWS_WINE_FX_MACHINE_LIGHT
Definition: _zm_perk_widows_wine.gsh:27
‪PERK_CLIENTFIELD_WIDOWS_WINE
‪#define PERK_CLIENTFIELD_WIDOWS_WINE
Definition: _zm_perks.gsh:20
‪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
‪widows_wine_client_field_func
‪function widows_wine_client_field_func()
Definition: _zm_perk_widows_wine.csc:50
‪CF_WIDOWS_WINE_WRAP
‪#define CF_WIDOWS_WINE_WRAP
Definition: _zm_perk_widows_wine.gsh:34
‪widows_wine_wrap_cb
‪function widows_wine_wrap_cb(localClientNum, oldVal, newVal, bNewEnt, bInitialSnap, fieldName, bWasTimeJump)
Definition: _zm_perk_widows_wine.csc:64
‪WIDOWS_WINE_FX_FILE_WRAP
‪#define WIDOWS_WINE_FX_FILE_WRAP
Definition: _zm_perk_widows_wine.gsh:31
‪PERK_WIDOWS_WINE
‪#define PERK_WIDOWS_WINE
Definition: _zm_perks.gsh:35
‪widows_wine_1p_contact_explosion_play
‪function widows_wine_1p_contact_explosion_play(localClientNum)
Definition: _zm_perk_widows_wine.csc:108
‪widows_wine_1p_contact_explosion
‪function widows_wine_1p_contact_explosion(localClientNum, oldVal, newVal, bNewEnt, bInitialSnap, fieldName, bWasTimeJump)
Definition: _zm_perk_widows_wine.csc:99
‪WIDOWS_WINE_FX_WRAP
‪#define WIDOWS_WINE_FX_WRAP
Definition: _zm_perk_widows_wine.gsh:28
‪register
‪function register()
Definition: _ai_tank.gsc:126
‪register_perk_effects
‪function register_perk_effects(str_perk, str_light_effect)
Definition: _zm_perks.csc:122