float autocvar_g_vehicle_bumblebee_healgun_aps;
float autocvar_g_vehicle_bumblebee_healgun_amax;
float autocvar_g_vehicle_bumblebee_healgun_sps;
+float autocvar_g_vehicle_bumblebee_healgun_locktime;
float autocvar_g_vehicle_bumblebee_respawntime;
entity gunner = self;
self = vehic;
+
+
+
vehic.solid = SOLID_NOT;
- setorigin(gunner, vehic.origin);
+ //setorigin(gunner, vehic.origin);
gunner.velocity = vehic.velocity;
+
+ float _in, _out;
+ vehic.angles_x *= -1;
+ makevectors(vehic.angles);
+ vehic.angles_x *= -1;
+ if((gun == vehic.gun1))
+ {
+ _in = autocvar_g_vehicle_bumblebee_cannon_turnlimit_in;
+ _out = autocvar_g_vehicle_bumblebee_cannon_turnlimit_out;
+ setorigin(gunner, vehic.origin + v_up * -16 + v_forward * -16 + v_right * 128);
+ }
+ else
+ {
+ _in = autocvar_g_vehicle_bumblebee_cannon_turnlimit_out;
+ _out = autocvar_g_vehicle_bumblebee_cannon_turnlimit_in;
+ setorigin(gunner, vehic.origin + v_up * -16 + v_forward * -16 + v_right * -128);
+ }
+
crosshair_trace(gunner);
vector _ct = trace_endpos;
vector ad;
- float _in = ((gun == vehic.gun1) ? autocvar_g_vehicle_bumblebee_cannon_turnlimit_in : autocvar_g_vehicle_bumblebee_cannon_turnlimit_out);
- float _out = ((gun == vehic.gun1) ? autocvar_g_vehicle_bumblebee_cannon_turnlimit_out : autocvar_g_vehicle_bumblebee_cannon_turnlimit_in);
-
if(autocvar_g_vehicle_bumblebee_cannon_lock)
{
if(gun.lock_time < time)
vehic.velocity += newvel * frametime;
pilot.velocity = pilot.movement = vehic.velocity;
- setorigin(pilot, vehic.origin + '0 0 32');
+
- if(vehic.tur_head.lock_time < time || vehic.tur_head.enemy.deadflag)
- vehic.tur_head.enemy = world;
+ if(autocvar_g_vehicle_bumblebee_healgun_locktime)
+ {
+ if(vehic.tur_head.lock_time < time || vehic.tur_head.enemy.deadflag)
+ vehic.tur_head.enemy = world;
- if(trace_ent)
- if(trace_ent.movetype)
- if(trace_ent.takedamage)
- if(!trace_ent.deadflag)
- {
- if(teamplay)
+ if(trace_ent)
+ if(trace_ent.movetype)
+ if(trace_ent.takedamage)
+ if(!trace_ent.deadflag)
{
- if(trace_ent.team == pilot.team)
+ if(teamplay)
{
+ if(trace_ent.team == pilot.team)
+ {
+ vehic.tur_head.enemy = trace_ent;
+ vehic.tur_head.lock_time = time + autocvar_g_vehicle_bumblebee_healgun_locktime;
+ }
+ }
+ else
+ {
vehic.tur_head.enemy = trace_ent;
- vehic.tur_head.lock_time = time + 1;
+ vehic.tur_head.lock_time = time + 0.5;
}
}
- else
- {
- vehic.tur_head.enemy = trace_ent;
- vehic.tur_head.lock_time = time + 0.5;
+
+ if(vehic.tur_head.enemy)
+ {
+ trace_endpos = real_origin(vehic.tur_head.enemy);
+ UpdateAuxiliaryXhair(pilot, trace_endpos, '0 0.75 0', 0);
}
}
-
- if(vehic.tur_head.enemy)
- {
- trace_endpos = real_origin(vehic.tur_head.enemy);
- UpdateAuxiliaryXhair(pilot, trace_endpos, '0 0.5 0', 0);
- }
-
+
vang = vehicle_aimturret(vehic, trace_endpos, self.gun3, "fire",
autocvar_g_vehicle_bumblebee_raygun_pitchlimit_down * -1, autocvar_g_vehicle_bumblebee_raygun_pitchlimit_up,
autocvar_g_vehicle_bumblebee_raygun_turnlimit_sides * -1, autocvar_g_vehicle_bumblebee_raygun_turnlimit_sides, autocvar_g_vehicle_bumblebee_raygun_turnspeed);
if(vehic.vehicle_flags & VHF_HASSHIELD)
VEHICLE_UPDATE_PLAYER(pilot, shield, bumblebee);
-
+
+ vehic.angles_x *= -1;
+ makevectors(vehic.angles);
+ vehic.angles_x *= -1;
+ setorigin(pilot, vehic.origin + v_up * 64 + v_forward * 128);
pilot.BUTTON_ATCK = pilot.BUTTON_ATCK2 = pilot.BUTTON_CROUCH = 0;
self = pilot;
{
self.touch = bumb_touch;
self.nextthink = 0;
+ //setattachment(self.owner, self.vehicle_viewport, "");
}
void bumb_exit(float eject)
void bumb_die()
{
entity oldself = self;
+
+ // Hide beam
+ self.gun3.enemy.effects |= EF_NODRAW;
+
if(self.gunner1)
{
self = self.gunner1;
set g_vehicle_bumblebee_respawntime 60
-set g_vehicle_bumblebee_speed_forward 250
-set g_vehicle_bumblebee_speed_strafe 250
-set g_vehicle_bumblebee_speed_up 250
-set g_vehicle_bumblebee_speed_down 250
-set g_vehicle_bumblebee_turnspeed 90
+set g_vehicle_bumblebee_speed_forward 350
+set g_vehicle_bumblebee_speed_strafe 350
+set g_vehicle_bumblebee_speed_up 350
+set g_vehicle_bumblebee_speed_down 350
+set g_vehicle_bumblebee_turnspeed 120
set g_vehicle_bumblebee_pitchspeed 60
set g_vehicle_bumblebee_pitchlimit 60
-set g_vehicle_bumblebee_friction 0.45
+set g_vehicle_bumblebee_friction 0.5
set g_vehicle_bumblebee_energy 500
set g_vehicle_bumblebee_energy_regen 50
set g_vehicle_bumblebee_energy_regen_pause 1
set g_vehicle_bumblebee_health 1000
-set g_vehicle_bumblebee_health_regen 50
+set g_vehicle_bumblebee_health_regen 65
set g_vehicle_bumblebee_health_regen_pause 10
-set g_vehicle_bumblebee_shield 300
-set g_vehicle_bumblebee_shield_regen 100
-set g_vehicle_bumblebee_shield_regen_pause 1
+set g_vehicle_bumblebee_shield 400
+set g_vehicle_bumblebee_shield_regen 150
+set g_vehicle_bumblebee_shield_regen_pause 0.75
set g_vehicle_bumblebee_cannon_lock 0
set g_vehicle_bumblebee_cannon_cost 2
set g_vehicle_bumblebee_cannon_damage 60
set g_vehicle_bumblebee_cannon_radius 225
set g_vehicle_bumblebee_cannon_refire 0.2
-set g_vehicle_bumblebee_cannon_speed 9000
+set g_vehicle_bumblebee_cannon_speed 20000
set g_vehicle_bumblebee_cannon_spread 0.02
set g_vehicle_bumblebee_cannon_force -35
set g_vehicle_bumblebee_cannon_turnspeed 160
set g_vehicle_bumblebee_cannon_ammo_regen 100
set g_vehicle_bumblebee_cannon_ammo_regen_pause 1
-set g_vehicle_bumblebee_raygun_turnspeed 160
+set g_vehicle_bumblebee_raygun_turnspeed 180
set g_vehicle_bumblebee_raygun_pitchlimit_down 20
set g_vehicle_bumblebee_raygun_pitchlimit_up 5
set g_vehicle_bumblebee_raygun_turnlimit_sides 35
set g_vehicle_bumblebee_raygun_aps 100
set g_vehicle_bumblebee_raygun_fps 100
-set g_vehicle_bumblebee_healgun_hps 60
+set g_vehicle_bumblebee_healgun_hps 150
set g_vehicle_bumblebee_healgun_hmax 100
-set g_vehicle_bumblebee_healgun_aps 45
+set g_vehicle_bumblebee_healgun_aps 75
set g_vehicle_bumblebee_healgun_amax 100
-set g_vehicle_bumblebee_healgun_sps 55
+set g_vehicle_bumblebee_healgun_sps 100
set g_vehicle_bumblebee_healgun_smax 100
+set g_vehicle_bumblebee_healgun_locktime 2.5
set g_vehicle_bumblebee_blowup_radius 500
set g_vehicle_bumblebee_blowup_coredamage 500