1 #using scripts\codescripts\struct;
3 #using scripts\shared\callbacks_shared;
4 #using scripts\shared\math_shared;
5 #using scripts\shared\system_shared;
6 #using scripts\shared\util_shared;
8 #insert scripts\shared\shared.gsh;
10 #using scripts\mp\_util;
12 #precache( "client_fx", "weapon/fx_equip_light_os" );
13 #namespace explosive_bolt;
19 level._effect[
"crossbow_light"] =
"weapon/fx_equip_light_os";
26 if (
self isGrenadeDud() )
34 self notify(
"light_disable" );
36 self endon(
"entityshutdown" );
37 self endon(
"light_disable" );
48 self PlaySound( localClientNum,
"wpn_semtex_alert" );
51 interval =
math::clamp( ( interval / 1.2 ), 0.08, 0.3 );
57 player = GetLocalPlayer( localClientNum );
59 self.fx = PlayFxOnTag( localClientNum, level._effect[
"crossbow_light"],
self,
"tag_origin" );
64 if ( isdefined(
self.fx ) &&
self.fx != 0 )
66 StopFx( localClientNum,
self.fx );
73 player = GetLocalPlayer( localClientNum );
75 if ( isdefined( player ) )
77 if ( player GetInKillcam( localClientNum ) )
92 parent =
self GetParentEntity();
94 if ( isdefined( parent ) && parent == player )
96 parent PlayRumbleOnEntity( localClientNum,
"buzz_high" );