self.delay = time + autocvar_g_vehicle_raptor_bombs_refire;
self.lip = time;
+ if(self.owner.flagcarried)
+ setorigin(self.owner.flagcarried, '-20 0 96');
+
}
void raptor_land()
{
- float hgt;
+ float hgt;
+
hgt = raptor_altitude(512);
self.velocity = (self.velocity * 0.9) + ('0 0 -1800' * (hgt / 256) * sys_frametime);
self.angles_x *= 0.95;
entity player, raptor;
float ftmp, ftmp2;
vector df, ra;
+
+ if(intermission_running)
+ return;
player = self;
raptor = self.vehicle;
self = raptor;
+ vehicles_painframe();
/*
ftmp = vlen(self.velocity);
if(ftmp > autocvar_g_vehicle_raptor_speed_forward)
ftmp = 1;
else
ftmp = ftmp / autocvar_g_vehicle_raptor_speed_forward;
- */
+ */
+
if(self.sound_nexttime < time)
{
self.sound_nexttime = time + 7.955812;
- //dprint("LEN:", ftos(soundlength("vehicles/raptor_fly.wav")), "\n");
- //sound (self, CHAN_VOICE, "vehicles/raptor_fly.wav", 1 - ftmp, ATTN_NORM );
- sound (self, CHAN_TRIGGER, "vehicles/raptor_speed.wav", VOL_VEHICLEENGINE, ATTN_NORM);
- //self.wait = ftmp;
- }
+ //sound (self.tur_head, CHAN_TRIGGER, "vehicles/raptor_fly.wav", 1 - ftmp, ATTN_NORM );
+ sound (self, CHAN_TRIGGER, "vehicles/raptor_speed.wav", 1, ATTN_NORM);
+ self.wait = ftmp;
+ }
/*
else if(fabs(ftmp - self.wait) > 0.2)
{
- sound (self, CHAN_VOICE, "", 1 - ftmp, ATTN_NORM );
- sound (self, CHAN_PLAYER, "", ftmp, ATTN_NORM);
+ sound (self.tur_head, CHAN_TRIGGER, "", 1 - ftmp, ATTN_NORM );
+ sound (self, CHAN_TRIGGER, "", ftmp, ATTN_NORM);
self.wait = ftmp;
- }*/
-
- if(player.BUTTON_USE && raptor.deadflag == DEAD_NO)
- {
- self = raptor;
- vehicles_exit(VHEF_NORMAL);
- self = player;
- return 0;
}
+ */
+
if(raptor.deadflag != DEAD_NO)
{
self = player;
df += v_up * autocvar_g_vehicle_raptor_speed_up;
raptor.velocity += df * frametime;
- //player.velocity = player.movement = raptor.velocity;
- player.velocity = raptor.velocity;
- //setorigin(player,raptor.origin + '0 0 32');
+ //player.velocity = raptor.velocity;
+ player.velocity = player.movement = raptor.velocity;
+ setorigin(player, raptor.origin + '0 0 32');
vector vf, ad;
// Target lock & predict
// Gun1
df = gettaginfo(raptor.gun1, gettagindex(raptor.gun1, "fire1"));
- //ad = df;
- //vf = v_forward;
- df = vectoangles(normalize(trace_endpos - df)); // Find the direction & angle
- df = shortangle_vxy(df - (ra + raptor.gun1.angles), ra + raptor.gun1.angles); // Find aim offset
+ ad = df;
+ vf = v_forward;
+ //if(self.lock_strength == 1)
+ //{
+ df = vectoangles(normalize(trace_endpos - df)); // Find the direction & angle
+ df = shortangle_vxy(df - (ra + raptor.gun1.angles), ra + raptor.gun1.angles); // Find aim offset
+ //}
+ //else
+ // df = '0 0 0';
+
// Bind to aimspeed
df_x = bound(ftmp, df_x, ftmp2);
df_y = bound(ftmp, df_y, ftmp2);
raptor.gun1.angles_x = bound(-autocvar_g_vehicle_raptor_cannon_pitchlimit_down, df_x + raptor.gun1.angles_x, autocvar_g_vehicle_raptor_cannon_pitchlimit_up);
raptor.gun1.angles_y = bound(-autocvar_g_vehicle_raptor_cannon_turnlimit, df_y + raptor.gun1.angles_y, autocvar_g_vehicle_raptor_cannon_turnlimit);
- //df = vectoangles(normalize(trace_endpos - df));
-
- //Gun 2
+ // Gun2
df = gettaginfo(raptor.gun2, gettagindex(raptor.gun2, "fire1"));
- //ad += df;
- //vf += v_forward;
- df = vectoangles(normalize(trace_endpos - df)); // Find the direction & angle
- df = shortangle_vxy(df - (ra + raptor.gun2.angles), ra + raptor.gun2.angles); // Find aim offset
+ ad += df;
+ vf += v_forward;
+ //if(self.lock_strength == 1)
+ //{
+ df = vectoangles(normalize(trace_endpos - df)); // Find the direction & angle
+ df = shortangle_vxy(df - (ra + raptor.gun2.angles), ra + raptor.gun2.angles); // Find aim offset
+ //}
+ //else
+ // df = '0 0 0';
+
// Bind to aimspeed
df_x = bound(ftmp, df_x, ftmp2);
df_y = bound(ftmp, df_y, ftmp2);
traceline(ad, ad + v_forward * MAX_SHOT_DISTANCE, MOVE_NORMAL, raptor);
UpdateAuxiliaryXhair(player, trace_endpos, '0 1 0', 0);
*/
-
+
if(player.BUTTON_ATCK)
if(raptor.attack_finished_single <= time)
if(raptor.vehicle_energy > autocvar_g_vehicle_raptor_cannon_cost)
void spawnfunc_vehicle_raptor()
{
vehicles_configcheck("vehicle_raptor.cfg", autocvar_g_vehicle_raptor_health);
-
-
+ self.vehicle_flags |= VHF_DMGSHAKE;
+ self.vehicle_flags |= VHF_DMGROLL;
+
if(autocvar_g_vehicle_raptor_shield)
self.vehicle_flags |= VHF_HASSHIELD;
precache_model ("models/vehicles/clusterbomb.md3");
precache_model ("models/vehicles/clusterbomb_folded.md3");
precache_model ("models/vehicles/raptor_body.dpm");
+
precache_sound ("vehicles/raptor_fly.wav");
precache_sound ("vehicles/raptor_speed.wav");
+ precache_sound ("");
self.think = raptor_dinit;
self.nextthink = time + (autocvar_g_vehicles_delayspawn ? autocvar_g_vehicle_raptor_respawntime + (random() * autocvar_g_vehicles_delayspawn_jitter) : 0.5);