1 #using scripts\shared\clientfield_shared;
2 #using scripts\shared\math_shared;
3 #using scripts\shared\system_shared;
4 #using scripts\shared\util_shared;
5 #using scripts\shared\vehicle_shared;
7 #using scripts\mp\killstreaks\_ai_tank;
8 #using scripts\mp\killstreaks\_qrdrone;
9 #using scripts\mp\killstreaks\_rcbomb;
11 #insert scripts\shared\shared.gsh;
12 #insert scripts\mp\killstreaks\_killstreaks.gsh;
13 #insert scripts\shared\version.gsh;
21 if( !isdefined( level._effect ) )
25 level.vehicles_inited =
true;
32 self endon(
"entityshutdown" );
34 if(!isdefined(level.vehicle_rumble))
37 type =
self.vehicletype;
39 if( !isdefined( level.vehicle_rumble[ type ] ) )
42 rumblestruct = level.vehicle_rumble[ type ];
43 height = rumblestruct.radius * 2;
44 zoffset = -1 * rumblestruct.radius;
46 if( !isdefined(
self.rumbleon ) )
49 if( isdefined( rumblestruct.scale ) )
50 self.rumble_scale = rumblestruct.scale;
52 self.rumble_scale = 0.15;
54 if( isdefined( rumblestruct.duration ) )
55 self.rumble_duration = rumblestruct.duration;
57 self.rumble_duration = 4.5;
59 if( isdefined( rumblestruct.radius ) )
60 self.rumble_radius = rumblestruct.radius;
62 self.rumble_radius = 600;
63 if( isdefined( rumblestruct.basetime ) )
64 self.rumble_basetime = rumblestruct.basetime;
66 self.rumble_basetime = 1;
67 if( isdefined( rumblestruct.randomaditionaltime ) )
68 self.rumble_randomaditionaltime = rumblestruct.randomaditionaltime;
70 self.rumble_randomaditionaltime = 1;
72 self.player_touching = 0;
77 radius_squared = rumblestruct.radius * rumblestruct.radius;
81 if( (distancesquared(
self.origin, level.localPlayers[localClientNum].origin) > radius_squared) ||
self getspeed() < 35 )
87 if(isdefined(
self.rumbleon) && !
self.rumbleon)
93 self PlayRumbleLoopOnEntity( localClientNum, level.vehicle_rumble[ type ].rumble );
95 while((distancesquared(
self.origin, level.localPlayers[localClientNum].origin) < radius_squared) && (
self getspeed() > 5))
98 wait(
self.rumble_basetime + randomfloat(
self.rumble_randomaditionaltime ) );
101 self StopRumble( localClientNum, level.vehicle_rumble[ type ].rumble );
108 driverLocalClient =
self GetLocalClientDriver();
109 if ( isdefined( driverLocalClient ) )
111 driver = GetLocalPlayer( driverLocalClient );
112 if ( isdefined( driver ) )
114 setfilterpassconstant( driver.localClientNum, 4, 0, 1, staticAmount );
124 function timeout_beep( localClientNum, oldVal, newVal, bNewEnt, bInitialSnap, fieldName, bWasTimeJump )
126 self notify(
"timeout_beep" );
133 if ( isdefined(
self.killstreakBundle ) )
135 beepAlias =
self.killstreakBundle.ksTimeoutBeepAlias;
138 self endon(
"entityshutdown" );
139 self endon(
"timeout_beep" );
150 if ( isdefined( beepAlias ) )
152 self PlaySound( localClientNum, beepAlias );
155 if (
self.timeoutLightsOff ===
true )
158 self.timeoutLightsOff =
false;
163 self.timeoutLightsOff =
true;