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 #precache( "client_fx", "weapon/fx_equip_light_os" );
12 #namespace sticky_grenade;
18 level._effect[
"grenade_light"] =
"weapon/fx_equip_light_os";
25 if (
self isGrenadeDud() )
33 self waittill(
"entityshutdown" );
40 self notify(
"light_disable" );
41 self endon(
"light_disable" );
43 self endon(
"entityshutdown" );
47 handle =
self PlaySound( localClientNum,
"wpn_semtex_countdown" );
56 localPlayer = GetLocalPlayer( localClientNum );
58 if ( !( localPlayer isEntityLinkedToTag(
self,
"j_head" ) )
59 && !( localPlayer isEntityLinkedToTag(
self,
"j_elbow_le" ) )
60 && !( localPlayer isEntityLinkedToTag(
self,
"j_spineupper" ) ) )
71 interval =
math::clamp( ( interval / 1.2 ), 0.08, 0.3 );
77 player = GetLocalPlayer( localClientNum );
79 self.fx = PlayFxOnTag( localClientNum, level._effect[
"grenade_light"],
self,
"tag_fx" );
84 if ( isdefined(
self.fx ) &&
self.fx != 0 )
86 StopFx( localClientNum,
self.fx );
93 controllerModel = GetUIModelForController( localClientNum );
94 stickyImageModel = CreateUIModel( controllerModel,
"hudItems.stickyImage" );
96 SetUIModelValue( stickyImageModel,
"hud_icon_stuck_semtex" );
102 while( IsDefined(
self ) )
107 SetUIModelValue( stickyImageModel,
"blacktransparent" );
108 player notify (
"sticky_shutdown");
113 self endon (
"sticky_shutdown" );
114 self endon (
"entityshutdown" );
116 self waittill (
"player_flashback" );
118 SetUIModelValue( stickyImageModel,
"blacktransparent" );
123 player = GetLocalPlayer( localClientNum );
125 if ( isdefined( player ) )
127 if ( player GetInKillcam( localClientNum ) )
137 if (
self isfriendly( localClientNum ) )
142 parent =
self GetParentEntity();
144 if ( isdefined( parent ) && parent == player )
146 parent PlayRumbleOnEntity( localClientNum,
"buzz_high" );
148 if ( GetDvarint(
"ui_hud_hardcore" ) == 0 )