]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Better defaults, fix aux xhair, add aux xhair to raptor.
authorJakob MG <jakob_mg@hotmail.com>
Sun, 20 Mar 2011 21:49:35 +0000 (22:49 +0100)
committerJakob MG <jakob_mg@hotmail.com>
Sun, 20 Mar 2011 21:49:35 +0000 (22:49 +0100)
qcsrc/client/vehicles/vehicles.qc
qcsrc/server/vehicles/raptor.qc
qcsrc/server/vehicles/spiderbot.qc
qcsrc/server/vehicles/vehicles.qc
vehicle_racer.cfg
vehicle_raptor.cfg
vehicle_spiderbot.cfg
vehicles.cfg

index 6420e89ff465e20651fc7d52fb2199d85476bacc..577f23f36c76fa6eb33a229bbd694226eabe515c 100644 (file)
@@ -40,24 +40,32 @@ void AuxiliaryXhair_Draw2D()
     psize_z = 0;
     drawpic(loc, SPIDER_CROSS2, psize, '0 1 1', 1, DRAWFLAG_ADDITIVE);
 
+    if(time - self.cnt > 0.1)
+        remove(self);
 }
 
 void Ent_AuxiliaryXhair(float isNew)
 {
-       entity ax;
+       //entity AuxiliaryXhair;
 
     if(isNew)
     {
+        if(AuxiliaryXhair)
+            remove(AuxiliaryXhair);
+
         AuxiliaryXhair = spawn();
                AuxiliaryXhair.draw2d = AuxiliaryXhair_Draw2D;
         setmodel(AuxiliaryXhair, "null");
                setsize(AuxiliaryXhair, '0 0 -1', '0 0 -1');
+
     }
 
        AuxiliaryXhair.origin_x = ReadCoord();
        AuxiliaryXhair.origin_y = ReadCoord();
        AuxiliaryXhair.origin_z = ReadCoord();
     AuxiliaryXhair.drawmask = MASK_NORMAL;
+
+    AuxiliaryXhair.cnt = time;
     //AuxiliaryXhair.solid = SOLID_NOT;
 }
 
@@ -248,7 +256,7 @@ void CSQC_RAPTOR_HUD()
         tracetoss(dropmark, self);
 
         // Blend old with new predicted impact to smooth out jumpyness
-        where = project_3d_to_2d(trace_endpos * 0.2 + where * 0.8);
+        where = project_3d_to_2d(trace_endpos * 0.5 + where * 0.5);
 
         setorigin(dropmark, trace_endpos);
         picsize = drawgetimagesize(raptor_d) * 0.2;
index f55faac3c5928defa0a7fa0ab7dc83e59926204e..0e215561c1dbc994a042003e57a9266e0e05fe80 100644 (file)
@@ -25,7 +25,8 @@ float autocvar_g_vehicle_raptor_bombs_refire;
 
 float autocvar_g_vehicle_raptor_guns_turnspeed;
 float autocvar_g_vehicle_raptor_guns_turnlimit;
-float autocvar_g_vehicle_raptor_guns_pitchlimit;
+float autocvar_g_vehicle_raptor_guns_pitchlimit_up;
+float autocvar_g_vehicle_raptor_guns_pitchlimit_down;
 
 float autocvar_g_vehicle_raptor_cannon_cost;
 float autocvar_g_vehicle_raptor_cannon_damage;
@@ -260,6 +261,7 @@ void raptor_exit(float eject)
     if not (self.owner)
         return;
 
+    Release_AuxiliaryXhair(self.owner);
        makevectors(self.angles);
        if(eject)
        {
@@ -375,27 +377,40 @@ float raptor_frame()
     ftmp2 = autocvar_g_vehicle_raptor_guns_turnspeed * frametime;
     ftmp = -ftmp2;
 
+    vector vf, ad;
     // Gun1
-    df = vectoangles(normalize(trace_endpos - gettaginfo(raptor.gun1, gettagindex(raptor.gun1, "fire1")))); // Find the direction & angle
+    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 - (raptor.angles + raptor.gun1.angles), raptor.angles + raptor.gun1.angles);     // Find aim offset
     // Bind to aimspeed
     df_x = bound(ftmp, df_x, ftmp2);
     df_y = bound(ftmp, df_y, ftmp2);
     // Bind to limts
-    raptor.gun1.angles_x = bound(-(autocvar_g_vehicle_raptor_guns_pitchlimit + 8), df_x + raptor.gun1.angles_x, autocvar_g_vehicle_raptor_guns_pitchlimit);
+    raptor.gun1.angles_x = bound(-autocvar_g_vehicle_raptor_guns_pitchlimit_down, df_x + raptor.gun1.angles_x, autocvar_g_vehicle_raptor_guns_pitchlimit_up);
     raptor.gun1.angles_y = bound(-autocvar_g_vehicle_raptor_guns_turnlimit,  df_y + raptor.gun1.angles_y, autocvar_g_vehicle_raptor_guns_turnlimit);
 
     //Gun 2
-    df = vectoangles(normalize(trace_endpos - gettaginfo(raptor.gun2, gettagindex(raptor.gun2, "fire1")))); // Find the direction & angle
+    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 - (raptor.angles + raptor.gun2.angles), raptor.angles + raptor.gun2.angles);     // Find aim offset
     // Bind to aimspeed
     df_x = bound(ftmp, df_x, ftmp2);
     df_y = bound(ftmp, df_y, ftmp2);
     // Bind to limts
-    raptor.gun2.angles_x = bound(-(autocvar_g_vehicle_raptor_guns_pitchlimit + 8), df_x + raptor.gun2.angles_x, autocvar_g_vehicle_raptor_guns_pitchlimit);
+    raptor.gun2.angles_x = bound(-autocvar_g_vehicle_raptor_guns_pitchlimit_down, df_x + raptor.gun2.angles_x, autocvar_g_vehicle_raptor_guns_pitchlimit_up);
     raptor.gun2.angles_y = bound(-autocvar_g_vehicle_raptor_guns_turnlimit,  df_y + raptor.gun2.angles_y, autocvar_g_vehicle_raptor_guns_turnlimit);
 
 
+    ad = ad * 0.5;
+    v_forward = vf * 0.5;
+    traceline(ad, ad + v_forward * MAX_SHOT_DISTANCE, MOVE_NORMAL, raptor);
+    SpawnOrUpdateAuxiliaryXhair(player, trace_endpos);
+
+
     if(player.BUTTON_ATCK)
     if(raptor.attack_finished_single <= time)
     if(raptor.vehicle_energy > autocvar_g_vehicle_raptor_cannon_cost)
index 3d42e71ac7bf0668c355f700fb476a91752ab071..a160c5c046fde5ed3eb2e7a02fd93206b4842877 100644 (file)
@@ -477,13 +477,6 @@ float spiderbot_frame()
     traceline(ad, ad + v_forward * MAX_SHOT_DISTANCE, MOVE_NORMAL, spider);
     SpawnOrUpdateAuxiliaryXhair(player, trace_endpos);
 
-    //player.angles_x = 0.01 * spider.angles_x + 0.99 * player.v_angle_x;
-    //player.angles_y = 0.01 * spider.angles_y + 0.99 * player.v_angle_y;
-    player.v_angle_y = spider.angles_y;
-    //player.angles_x = player.v_angle_x;
-    //player.angles_y = player.v_angle_y;
-    //player.fixangle = TRUE;
-
     self = player;
     return 1;
 }
index ef825fe55fb440643cc01b1f10c412acba700f4f..008e8a0ff99e2c02989716cb4fc88cfa64058319 100644 (file)
@@ -39,12 +39,11 @@ void SpawnOrUpdateAuxiliaryXhair(entity own, vector loc)
 
 void Release_AuxiliaryXhair(entity from)
 {
+    // from.AuxiliaryXhair.drawonlytoclient = from.AuxiliaryXhair;
+    if not (from.AuxiliaryXhair == world || wasfreed(from.AuxiliaryXhair))
+        remove(from.AuxiliaryXhair);
 
-    from.AuxiliaryXhair.drawonlytoclient = from.AuxiliaryXhair;
     from.AuxiliaryXhair = world;
-
-    //if not (from.AuxiliaryXhair == world || wasfreed(from.AuxiliaryXhair))
-        remove(from.AuxiliaryXhair);
 }
 
 #define VEHICLE_UPDATE_PLAYER(fld,vhname) \
index a95aee34a4185c10ba907b22b3bd7fa72b56d636..9a08acbfd7f38e025694963cfcc56e1574dacc20 100644 (file)
@@ -1,4 +1,4 @@
-set g_vehicle_racer_respawntime                    60
+set g_vehicle_racer_respawntime                    30
 
 set g_vehicle_racer_health              300
 set g_vehicle_racer_health_regen        0
@@ -14,10 +14,10 @@ set g_vehicle_racer_energy_regen        50
 set g_vehicle_racer_energy_regen_pause  1
 
 set g_vehicle_racer_speed_stop          2000
-set g_vehicle_racer_speed_forward       1500
-set g_vehicle_racer_speed_strafe        1000
-set g_vehicle_racer_speed_afterburn     3500
-set g_vehicle_racer_afterburn_cost      50      // energy consumed per second
+set g_vehicle_racer_speed_forward       1000
+set g_vehicle_racer_speed_strafe        750
+set g_vehicle_racer_speed_afterburn     2000
+set g_vehicle_racer_afterburn_cost      75      // energy consumed per second
 
 set g_vehicle_racer_hovertype           0 // 0 = hover, != 0 = maglev
 set g_vehicle_racer_hoverpower          3600 // NOTE!! x 4 (4 engines)
index eae7b5e7aebb4a99cd3110565b63e6655d7e5a72..9def388d5c36f74428ed3b30cdd307211efd9437 100644 (file)
@@ -1,4 +1,4 @@
-set g_vehicle_raptor_respawntime 60
+set g_vehicle_raptor_respawntime 30
 
 // 0: go where player aims, +forward etc relative to aim angles
 // 1: ignore aim for up/down movement. +forward always moved forward, +jump always moves up
@@ -27,7 +27,8 @@ set g_vehicle_raptor_bombs_refire       5
 
 set g_vehicle_raptor_guns_turnspeed 32
 set g_vehicle_raptor_guns_turnlimit 10
-set g_vehicle_raptor_guns_pitchlimit 8
+set g_vehicle_raptor_guns_pitchlimit_up   8
+set g_vehicle_raptor_guns_pitchlimit_down 32
 
 set g_vehicle_raptor_cannon_cost     1
 set g_vehicle_raptor_cannon_damage   10
@@ -37,13 +38,13 @@ set g_vehicle_raptor_cannon_speed    9000
 set g_vehicle_raptor_cannon_spread   0.05
 
 set g_vehicle_raptor_energy             200
-set g_vehicle_raptor_energy_regen       50
+set g_vehicle_raptor_energy_regen       25
 set g_vehicle_raptor_energy_regen_pause 1
 
 set g_vehicle_raptor_health             250
 set g_vehicle_raptor_health_regen       0
 set g_vehicle_raptor_health_regen_pause 0
 
-set g_vehicle_raptor_shield             250
+set g_vehicle_raptor_shield             200
 set g_vehicle_raptor_shield_regen       50
 set g_vehicle_raptor_shield_regen_pause 1.5
index 9fca2f27acc486bc5cb7534ff60fa388ebd8ff4c..958d51932559772e22fa7515ae06f2f2b88c4afb 100644 (file)
@@ -1,5 +1,3 @@
-set g_vehicle_spiderbot_isloaded              1
-
 set g_vehicle_spiderbot_respawntime                      30
 
 set g_vehicle_spiderbot_health                875
@@ -27,7 +25,7 @@ set g_vehicle_spiderbot_speed_walk         400
 set g_vehicle_spiderbot_speed_strafe       300
 set g_vehicle_spiderbot_movement_inertia   0.25
 
-set g_vehicle_spiderbot_minigun_damage         25
+set g_vehicle_spiderbot_minigun_damage         10
 set g_vehicle_spiderbot_minigun_spread         0.015
 set g_vehicle_spiderbot_minigun_speed          50000
 set g_vehicle_spiderbot_minigun_refire         0.05
index 501c60ba87c1c08f248f83a95f8bdbd36a90ad83..840ed51226a8e60a00c97ad366a76cbef9f73a77 100644 (file)
@@ -4,4 +4,6 @@ exec vehicle_racer.cfg
 exec vehicle_raptor.cfg
 exec vehicle_spiderbot.cfg
 
-
+set g_vehicle_racer_respawntime     10
+set g_vehicle_spiderbot_respawntime 10
+set g_vehicle_raptor_respawntime    10