‪Black Ops 3 Source Code Explorer  0.1
‪An script explorer for Black Ops 3 by ZeRoY
_flak_drone.csc
Go to the documentation of this file.
1 #using scripts\codescripts\struct;
2 
3 #using scripts\shared\clientfield_shared;
4 #using scripts\shared\math_shared;
5 #using scripts\shared\system_shared;
6 #using scripts\shared\util_shared;
7 #using scripts\shared\vehicle_shared;
8 
9 #insert scripts\shared\shared.gsh;
10 #insert scripts\shared\version.gsh;
11 
12 #using scripts\mp\_helicopter_sounds;
13 #using scripts\mp\_util;
14 
15 #insert scripts\mp\killstreaks\_killstreaks.gsh;
16 
17 #using scripts\shared\duplicaterender_mgr;
18 #insert scripts\shared\duplicaterender.gsh;
19 
20 #namespace flak_drone;
21 
22 #define CAMO_REVEAL_TIME 0.5
23 
24 ‪REGISTER_SYSTEM( "flak_drone", &‪__init__, undefined )
25 
26 function ‪__init__()
27 {
29 }
30 
31 function ‪active_camo_changed( localClientNum, oldVal, newVal, bNewEnt, bInitialSnap, fieldName, bWasTimeJump )
32 {
33  flags_changed = self ‪duplicate_render::set_dr_flag( "active_camo_flicker", newVal == ‪HELICOPTER_CAMO_STATE_FLICKER );
34  flags_changed = self ‪duplicate_render::set_dr_flag( "active_camo_on", false ) || flags_changed;
35  flags_changed = self ‪duplicate_render::set_dr_flag( "active_camo_reveal", true ) || flags_changed;
36  if ( flags_changed )
37  {
38  self ‪duplicate_render::update_dr_filters(localClientNum);
39  }
40 
41  self notify( "endtest" );
42 
43  self thread ‪doReveal( localClientNum, newVal != ‪HELICOPTER_CAMO_STATE_OFF );
44 }
45 
46 function ‪doReveal( localClientNum, direction )
47 {
48  self notify( "endtest" );
49  self endon( "endtest" );
50 
51  self endon( "entityshutdown" );
52 
53  if( direction )
54  {
55  startVal = 1;
56  }
57  else
58  {
59  startVal = 0;
60  }
61 
62  while( ( startVal >= 0 ) && ( startVal <= 1 ) )
63  {
64  self MapShaderConstant( localClientNum, 0, "scriptVector0", startVal, 0, 0, 0 );
65  if( direction )
66  {
68  }
69  else
70  {
72  }
73  wait( ‪CLIENT_FRAME );
74  }
75 
76  flags_changed = self ‪duplicate_render::set_dr_flag( "active_camo_reveal", false );
77  flags_changed = self ‪duplicate_render::set_dr_flag( "active_camo_on", direction ) || flags_changed;
78  if ( flags_changed )
79  {
80  self ‪duplicate_render::update_dr_filters(localClientNum);
81  }
82 }
‪HELICOPTER_CAMO_STATE_FLICKER
‪#define HELICOPTER_CAMO_STATE_FLICKER
Definition: _killstreaks.gsh:222
‪active_camo_changed
‪function active_camo_changed(localClientNum, oldVal, newVal, bNewEnt, bInitialSnap, fieldName, bWasTimeJump)
Definition: _flak_drone.csc:31
‪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
‪update_dr_filters
‪function update_dr_filters(localClientNum)
Definition: duplicaterender_mgr.csc:329
‪HELICOPTER_CAMO_STATE_OFF
‪#define HELICOPTER_CAMO_STATE_OFF
Definition: _killstreaks.gsh:220
‪CLIENT_FRAME
‪#define CLIENT_FRAME
Definition: shared.gsh:263
‪CF_HOST_ONLY
‪#define CF_HOST_ONLY
Definition: version.gsh:102
‪CAMO_REVEAL_TIME
‪#define CAMO_REVEAL_TIME
Definition: _flak_drone.csc:22
‪REGISTER_SYSTEM
‪#define REGISTER_SYSTEM(__sys, __func_init_preload, __reqs)
Definition: shared.gsh:204
‪register
‪function register()
Definition: _ai_tank.gsc:126
‪__init__
‪function __init__()
Definition: _flak_drone.csc:26
‪doReveal
‪function doReveal(localClientNum, direction)
Definition: _flak_drone.csc:46
‪set_dr_flag
‪function set_dr_flag(toset, setto=true)
Definition: duplicaterender_mgr.csc:251