‪Black Ops 3 Source Code Explorer  0.1
‪An script explorer for Black Ops 3 by ZeRoY
_gadget_flashback.csc
Go to the documentation of this file.
1 #using scripts\codescripts\struct;
2 
3 #using scripts\shared\callbacks_shared;
4 #using scripts\shared\clientfield_shared;
5 #using scripts\shared\system_shared;
6 #using scripts\shared\visionset_mgr_shared;
7 #using scripts\shared\duplicaterender_mgr;
8 #using scripts\shared\util_shared;
9 
10 #using scripts\shared\abilities\_ability_player;
11 #using scripts\shared\abilities\_ability_power;
12 #using scripts\shared\abilities\_ability_util;
13 
14 #insert scripts\shared\duplicaterender.gsh;
15 #insert scripts\shared\shared.gsh;
16 #insert scripts\shared\version.gsh;
17 #insert scripts\shared\abilities\_ability_util.gsh;
18 #insert scripts\shared\abilities\gadgets\_gadget_flashback.gsh;
19 
20 ‪REGISTER_SYSTEM( "gadget_flashback", &‪__init__, undefined )
21 
22 #define FLASHBACK_TRAIL_FX "player/fx_plyr_flashback_trail"
23 #define FLASHBACK_DISAPPEAR_FX "player/fx_plyr_flashback_demat"
24 #define FLASHBACK_MATERIAL_GHOST "mc/mtl_glitch"
25 #define FLASHBACK_SHADER_X_UNUSED 1
26 #define FLASHBACK_SHADER_Y_HDR_BRIGHTNESS 1
27 #define FLASHBACK_SHADER_Z_TINT_INDEX 0
28 #define FLASHBACK_SHADER_CONST "scriptVector3"
29 
30 #define FLASHBACK_REAPPEAR_TAGFX "gadget_flashback_3p_off"
31 
32 #define FLASHBACK_DISAPPEAR_SOUND_1P "mpl_flashback_disappear_plr"
33 #define FLASHBACK_DISAPPEAR_SOUND_3P "mpl_flashback_disappear_npc"
34 #define FLASHBACK_REAPPEAR_SOUND_1P "mpl_flashback_reappear_plr"
35 #define FLASHBACK_REAPPEAR_SOUND_3P "mpl_flashback_reappear_npc"
36 
37 
38 #precache( "client_fx", FLASHBACK_TRAIL_FX );
39 #precache( "client_tagfxset", FLASHBACK_REAPPEAR_TAGFX );
40 
41 function ‪__init__()
42 {
46 
49 }
50 
51 function ‪flashback_activated( localClientNum, oldVal, newVal, bNewEnt, bInitialSnap, fieldName, bWasTimeJump )
52 {
53  self notify ( "player_flashback" );
54  player = GetLocalPlayer( localclientnum );
55  isFirstPerson = !IsThirdPerson( localclientnum ) && ( player == self );
56  if( newVal )
57  {
58  if( isFirstPerson )
59  {
60  self PlaySound( localclientnum, ‪FLASHBACK_REAPPEAR_SOUND_1P );
61  }
62  else
63  {
64  self endon( "entityshutdown" );
65  self ‪util::waittill_dobj( localClientNum );
66 
67  self PlaySound( localclientnum, ‪FLASHBACK_REAPPEAR_SOUND_3P );
68  PlayTagFXSet( localClientNum, ‪FLASHBACK_REAPPEAR_TAGFX, self );
69  }
70  }
71 }
72 
73 function ‪set_flashback_trail_fx( localClientNum, oldVal, newVal, bNewEnt, bInitialSnap, fieldName, bWasTimeJump )
74 {
75  player = GetLocalPlayer( localclientnum );
76  isFirstPerson = !IsThirdPerson( localclientnum ) && isDefined( self.owner ) && isDefined( player ) && ( self.owner == player );
77  if( newVal )
78  {
79  if( isFirstPerson )
80  {
81  player PlaySound( localclientnum, ‪FLASHBACK_DISAPPEAR_SOUND_1P );
82  }
83  else
84  {
85  self endon( "entityshutdown" );
86  self ‪util::waittill_dobj( localClientNum );
87 
88  self PlaySound( localclientnum, ‪FLASHBACK_DISAPPEAR_SOUND_3P );
89  PlayFxOnTag( localclientnum, ‪FLASHBACK_DISAPPEAR_FX, self, "tag_origin" );
90  PlayFxOnTag( localclientnum, ‪FLASHBACK_TRAIL_FX, self, "tag_origin" );
91  }
92  }
93 }
94 
95 function ‪clone_flashback_changed( localClientNum, oldVal, newVal, bNewEnt, bInitialSnap, fieldName, bWasTimeJump )
96 {
97  if ( newVal )
98  {
99  self ‪clone_flashback_changed_event( localClientNum, newVal);
100  }
101 }
102 
103 function ‪clone_fade( localClientNum )
104 {
105  self endon ( "entityshutdown" );
106 
107  ‪startTime = GetServerTime( localClientnum );
108  while( true )
109  {
110  currentTime = GetServerTime( localClientnum );
111  elapsedTime = currentTime - ‪startTime;
112  elapsedtime = float( elapsedtime / 1000 );
113  if( elapsedTime < FLASHBACK_CLONE_DURATION )
114  {
115  amount = 1.0 - elapsedTime / FLASHBACK_CLONE_DURATION;
117  }
118  else
119  {
121  break;
122  }
123 
125  }
126 }
127 
128 function ‪clone_flashback_changed_event( localClientNum, armorStatusNew )
129 {
130  if ( armorStatusNew )
131  {
132  self ‪duplicate_render::set_dr_flag( "flashback_on", true );
133  self ‪duplicate_render::update_dr_filters(localClientNum);
134  self ‪clone_fade( localClientNum );
135  }
136 }
137 
‪FLASHBACK_DISAPPEAR_SOUND_1P
‪#define FLASHBACK_DISAPPEAR_SOUND_1P
Definition: _gadget_flashback.csc:32
‪startTime
‪class AnimationAdjustmentInfoZ startTime
‪FLASHBACK_REAPPEAR_SOUND_3P
‪#define FLASHBACK_REAPPEAR_SOUND_3P
Definition: _gadget_flashback.csc:35
‪FLASHBACK_WARP_LENGTH
‪#define FLASHBACK_WARP_LENGTH
Definition: _ability_util.gsh:82
‪FLASHBACK_MATERIAL_GHOST
‪#define FLASHBACK_MATERIAL_GHOST
Definition: _gadget_flashback.csc:24
‪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
‪DR_CULL_ALWAYS
‪#define DR_CULL_ALWAYS
Definition: duplicaterender.gsh:14
‪update_dr_filters
‪function update_dr_filters(localClientNum)
Definition: duplicaterender_mgr.csc:329
‪flashback_activated
‪function flashback_activated(localClientNum, oldVal, newVal, bNewEnt, bInitialSnap, fieldName, bWasTimeJump)
Definition: _gadget_flashback.csc:51
‪FLASHBACK_SHADER_X_UNUSED
‪#define FLASHBACK_SHADER_X_UNUSED
Definition: _gadget_flashback.csc:25
‪FLASHBACK_SHADER_Y_HDR_BRIGHTNESS
‪#define FLASHBACK_SHADER_Y_HDR_BRIGHTNESS
Definition: _gadget_flashback.csc:26
‪FLASHBACK_DISAPPEAR_SOUND_3P
‪#define FLASHBACK_DISAPPEAR_SOUND_3P
Definition: _gadget_flashback.csc:33
‪set_flashback_trail_fx
‪function set_flashback_trail_fx(localClientNum, oldVal, newVal, bNewEnt, bInitialSnap, fieldName, bWasTimeJump)
Definition: _gadget_flashback.csc:73
‪FLASHBACK_TRAIL_FX
‪#define FLASHBACK_TRAIL_FX
Definition: _gadget_flashback.csc:22
‪CF_HOST_ONLY
‪#define CF_HOST_ONLY
Definition: version.gsh:102
‪FLASHBACK_SHADER_CONST
‪#define FLASHBACK_SHADER_CONST
Definition: _gadget_flashback.csc:28
‪REGISTER_SYSTEM
‪#define REGISTER_SYSTEM(__sys, __func_init_preload, __reqs)
Definition: shared.gsh:204
‪DR_TYPE_FRAMEBUFFER
‪#define DR_TYPE_FRAMEBUFFER
Definition: duplicaterender.gsh:4
‪__init__
‪function __init__()
Definition: _gadget_flashback.csc:41
‪clone_flashback_changed_event
‪function clone_flashback_changed_event(localClientNum, armorStatusNew)
Definition: _gadget_flashback.csc:128
‪FLASHBACK_REAPPEAR_TAGFX
‪#define FLASHBACK_REAPPEAR_TAGFX
Definition: _gadget_flashback.csc:30
‪waittill_dobj
‪function waittill_dobj(localClientNum)
Definition: util_shared.csc:1117
‪clone_flashback_changed
‪function clone_flashback_changed(localClientNum, oldVal, newVal, bNewEnt, bInitialSnap, fieldName, bWasTimeJump)
Definition: _gadget_flashback.csc:95
‪register_overlay_info_style_postfx_bundle
‪function register_overlay_info_style_postfx_bundle(name, version, lerp_step_count, bundle, duration)
Definition: visionset_mgr_shared.csc:175
‪FLASHBACK_REAPPEAR_SOUND_1P
‪#define FLASHBACK_REAPPEAR_SOUND_1P
Definition: _gadget_flashback.csc:34
‪register
‪function register()
Definition: _ai_tank.gsc:126
‪FLASHBACK_DISAPPEAR_FX
‪#define FLASHBACK_DISAPPEAR_FX
Definition: _gadget_flashback.csc:23
‪FLASHBACK_SHADER_Z_TINT_INDEX
‪#define FLASHBACK_SHADER_Z_TINT_INDEX
Definition: _gadget_flashback.csc:27
‪set_dr_flag
‪function set_dr_flag(toset, setto=true)
Definition: duplicaterender_mgr.csc:251
‪WAIT_CLIENT_FRAME
‪#define WAIT_CLIENT_FRAME
Definition: shared.gsh:266
‪clone_fade
‪function clone_fade(localClientNum)
Definition: _gadget_flashback.csc:103
‪set_dr_filter_framebuffer
‪function set_dr_filter_framebuffer(name, priority, require_flags, refuse_flags, drtype1, drval1, drcull1, drtype2, drval2, drcull2, drtype3, drval3, drcull3)
Definition: duplicaterender_mgr.csc:167