1 #using scripts\codescripts\struct;
3 #using scripts\shared\audio_shared;
4 #using scripts\shared\callbacks_shared;
5 #using scripts\shared\clientfield_shared;
6 #using scripts\shared\system_shared;
7 #using scripts\shared\util_shared;
8 #using scripts\shared\visionset_mgr_shared;
9 #using scripts\shared\weapons\_flashgrenades;
10 #using scripts\shared\filter_shared;
11 #using scripts\shared\math_shared;
13 #insert scripts\shared\shared.gsh;
14 #insert scripts\shared\version.gsh;
16 #namespace empgrenade;
28 function onEmpChanged( localClientNum, oldVal, newVal, bNewEnt, bInitialSnap, fieldName, bWasTimeJump )
30 localPlayer = GetLocalPlayer( localClientNum );
39 if ( !already_distance_monitored )
54 playsound( 0,
"mpl_plr_emp_activate", (0,0,0) );
65 if( oldVal != 0 && !bWasTimeJump )
66 playsound( 0,
"mpl_plr_emp_deactivate", (0,0,0) );
74 self endon(
"disconnect" );
76 localPlayer = GetLocalPlayer( localClientNum );
78 if ( localPlayer !=
self )
82 inKillCam = GetInKillcam( localClientNum );
84 if ( curVal > 0 && localPlayer IsEMPJammed() )
92 localPlayer notify(
"end_emp_monitor_distance" );
98 localPlayer = GetLocalPlayer( localClientNum );
108 localPlayer notify(
"end_emp_monitor_distance" );
116 localPlayer endon(
"entityshutdown" );
117 localPlayer endon(
"end_emp_monitor_distance" );
118 localPlayer endon(
"team_changed" );
120 if ( localPlayer IsEMPJammed() ==
false )
123 distance_to_closest_enemy_emp_ui_model = GetUIModel( GetUIModelForController( localClientNum ),
"distanceToClosestEnemyEmpKillstreak" );
127 max_static_value = GetDvarFloat(
"ks_emp_fullscreen_maxStaticValue" );
128 min_static_value = GetDvarFloat(
"ks_emp_fullscreen_minStaticValue" );
129 min_radius_max_static = GetDvarFloat(
"ks_emp_fullscreen_minRadiusMaxStatic" );
130 max_radius_min_static = GetDvarFloat(
"ks_emp_fullscreen_maxRadiusMinStatic" );
132 if ( isdefined( distance_to_closest_enemy_emp_ui_model ) )
138 new_distance = GetUIModelValue( distance_to_closest_enemy_emp_ui_model );
139 range = max_radius_min_static - min_radius_max_static;
140 current_static_value = max_static_value - ( ( range <= 0.0 ) ? max_static_value : ( ( new_distance - min_radius_max_static ) / range ) );
141 current_static_value =
math::clamp( current_static_value, min_static_value, max_static_value );
145 if ( emp_grenaded && current_static_value < 1.0 )
147 current_static_value = 1.0;