]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Update bumble balance, fix healray stuck midair, set pilot/gunner to individual offse...
authorJakob MG <jakob_mg@hotmail.com>
Thu, 16 Aug 2012 15:26:45 +0000 (17:26 +0200)
committerJakob MG <jakob_mg@hotmail.com>
Thu, 16 Aug 2012 15:26:45 +0000 (17:26 +0200)
qcsrc/server/vehicles/bumblebee.qc
vehicle_bumblebee.cfg

index 0d2538d77bdaf44b7337bb3c2deeebd313f7c47d..c8f8da2e74027cde45e47ae804fbe03d963fccf5 100644 (file)
@@ -62,6 +62,7 @@ float autocvar_g_vehicle_bumblebee_healgun_hmax;
 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;
 
@@ -95,16 +96,34 @@ float bumb_gunner_frame()
        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)
@@ -462,37 +481,40 @@ float bumb_pilot_frame()
 
        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);
@@ -571,7 +593,11 @@ float bumb_pilot_frame()
 
        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;
@@ -619,6 +645,7 @@ void bumb_enter()
 {
        self.touch = bumb_touch;
        self.nextthink = 0;
+       //setattachment(self.owner, self.vehicle_viewport, "");
 }
 
 void bumb_exit(float eject)
@@ -677,6 +704,10 @@ void bumb_diethink()
 void bumb_die()
 {
        entity oldself = self;
+       
+       // Hide beam
+       self.gun3.enemy.effects |= EF_NODRAW;
+       
        if(self.gunner1)
        {
                self = self.gunner1;
index f50c2d70211bd26e4d38b369a8e06dc597b8b84f..705d2a9883341ab2a5904fb1461d16973f6f8af9 100644 (file)
@@ -1,32 +1,32 @@
 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
@@ -38,7 +38,7 @@ set g_vehicle_bumblebee_cannon_ammo                           100
 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
@@ -49,12 +49,13 @@ set g_vehicle_bumblebee_raygun_dps 250
 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