‪Black Ops 3 Source Code Explorer  0.1
‪An script explorer for Black Ops 3 by ZeRoY
_gadget_camo.csc
Go to the documentation of this file.
1 #using scripts\codescripts\struct;
2 #using scripts\shared\callbacks_shared;
3 #using scripts\shared\clientfield_shared;
4 #using scripts\shared\duplicaterender_mgr;
5 #using scripts\shared\filter_shared;
6 #using scripts\shared\util_shared;
7 
8 #using scripts\shared\abilities\_ability_player;
9 #using scripts\shared\abilities\_ability_power;
10 #using scripts\shared\abilities\_ability_util;
11 #using scripts\shared\abilities\gadgets\_gadget_camo_render;
12 
13 #insert scripts\shared\duplicaterender.gsh;
14 #insert scripts\shared\shared.gsh;
15 #insert scripts\shared\version.gsh;
16 #insert scripts\shared\abilities\_ability_util.gsh;
17 
18 #using scripts\shared\system_shared;
19 
20 ‪REGISTER_SYSTEM( "gadget_camo", &‪__init__, undefined )
21 
22 function ‪__init__()
23 {
25 }
26 
27 function ‪ent_camo_material_callback( local_client_num, oldVal, newVal, bNewEnt, bInitialSnap, fieldName, bWasTimeJump )
28 {
29  if ( oldVal == newVal && oldVal == 0 && !bWasTimeJump )
30  {
31  return;
32  }
33 
34  flags_changed = self ‪duplicate_render::set_dr_flag_not_array( "gadget_camo_friend", ‪util::friend_not_foe( local_client_num, true ) );
35  flags_changed |= self ‪duplicate_render::set_dr_flag_not_array( "gadget_camo_flicker", newVal == ‪GADGET_CAMO_SHADER_FLICKER );
36  flags_changed |= self ‪duplicate_render::set_dr_flag_not_array( "gadget_camo_break", newVal == ‪GADGET_CAMO_SHADER_BREAK );
37  flags_changed |= self ‪duplicate_render::set_dr_flag_not_array( "gadget_camo_reveal", newVal != oldVal );
38  flags_changed |= self ‪duplicate_render::set_dr_flag_not_array( "gadget_camo_on", newVal != ‪GADGET_CAMO_SHADER_OFF );
39  flags_changed |= self ‪duplicate_render::set_dr_flag_not_array( "hide_model", newVal == ‪GADGET_CAMO_SHADER_OFF );
40  flags_changed |= bNewEnt;
41 
42  if ( flags_changed )
43  {
44  self ‪duplicate_render::update_dr_filters(local_client_num);
45  }
46 
47  self notify( "endtest" );
48 
49  if ( newVal && ( bWasTimeJump || bNewEnt ) )
50  {
51  self thread ‪gadget_camo_render::forceOn( local_client_num );
52  }
53  else if ( newVal != oldVal )
54  {
55  self thread ‪gadget_camo_render::doReveal( local_client_num, newVal != ‪GADGET_CAMO_SHADER_OFF );
56  }
57 
58  if ( newVal && !oldVal || ( newVal && ( bWasTimeJump || bNewEnt ) ) )
59  {
60  self GadgetPulseResetReveal();
61  }
62 }
‪GADGET_CAMO_SHADER_OFF
‪#define GADGET_CAMO_SHADER_OFF
Definition: _ability_util.gsh:54
‪GADGET_CAMO_SHADER_BREAK
‪#define GADGET_CAMO_SHADER_BREAK
Definition: _ability_util.gsh:57
‪GADGET_CAMO_SHADER_FLICKER
‪#define GADGET_CAMO_SHADER_FLICKER
Definition: _ability_util.gsh:56
‪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
‪friend_not_foe
‪function friend_not_foe(localClientIndex, predicted)
Definition: util_shared.csc:1164
‪update_dr_filters
‪function update_dr_filters(localClientNum)
Definition: duplicaterender_mgr.csc:329
‪set_dr_flag_not_array
‪function set_dr_flag_not_array(toset, setto=true)
Definition: duplicaterender_mgr.csc:230
‪forceOn
‪function forceOn(local_client_num)
Definition: _gadget_camo_render.csc:57
‪ent_camo_material_callback
‪function ent_camo_material_callback(local_client_num, oldVal, newVal, bNewEnt, bInitialSnap, fieldName, bWasTimeJump)
Definition: _gadget_camo.csc:27
‪__init__
‪function __init__()
Definition: _gadget_camo.csc:22
‪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
‪register
‪function register()
Definition: _ai_tank.gsc:126
‪doReveal
‪function doReveal(localClientNum, direction)
Definition: _flak_drone.csc:46