]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/common/vehicles/vehicle/racer.qc
Sort most common includes alphabetically
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / vehicles / vehicle / racer.qc
index ff124d0b496bf42effdc92c167d0a052716b6ad6..606d11505a74da5d05e2f19e185a12ad342bcb9d 100644 (file)
@@ -1,10 +1,13 @@
 #include "racer.qh"
 
+#if defined(SVQC)
+       #include <common/gamemodes/gamemode/ctf/sv_ctf.qh>
+       #include <common/mapobjects/trigger/impulse.qh>
+#endif
+
 #ifdef GAMEQC
 
 #ifdef SVQC
-#include <common/mapobjects/trigger/impulse.qh>
-
 bool autocvar_g_vehicle_racer = true;
 
 float autocvar_g_vehicle_racer_thinkrate = 0.05; // TODO: any higher causes it to sink in liquids
@@ -78,6 +81,7 @@ float autocvar_g_vehicle_racer_bouncestop = 0;
 vector autocvar_g_vehicle_racer_bouncepain = '200 0.15 150';
 
 .float racer_watertime;
+.float racer_air_finished; // TODO: use a standard air meter for entities
 
 var .vector(entity this, string tag_name, float spring_length, float max_power) racer_force_from_tag;
 
@@ -111,7 +115,7 @@ void racer_align4point(entity this, entity player, float _delta)
        {
                uforce = autocvar_g_vehicle_racer_water_upforcedamper;
 
-               if(PHYS_INPUT_BUTTON_CROUCH(player) && time < this.air_finished)
+               if(PHYS_INPUT_BUTTON_CROUCH(player) && time < this.racer_air_finished)
                        this.velocity_z += 30;
                else
                        this.velocity_z += 200;
@@ -142,7 +146,7 @@ void racer_align4point(entity this, entity player, float _delta)
 void racer_fire_rocket_aim(entity this, entity player, string tagname, entity trg)
 {
        vector v = gettaginfo(this, gettagindex(this, tagname));
-       racer_fire_rocket(player, v, v_forward, trg);
+       racer_fire_rocket(this, player, v, v_forward, trg);
 }
 
 bool racer_frame(entity this, float dt)
@@ -163,9 +167,9 @@ bool racer_frame(entity this, float dt)
 
        int cont = Mod_Q1BSP_SuperContentsFromNativeContents(pointcontents(vehic.origin));
        if(!(cont & DPCONTENTS_WATER))
-               vehic.air_finished = 0;
-       else if (!vehic.air_finished)
-               vehic.air_finished = time + autocvar_g_vehicle_racer_water_time;
+               vehic.racer_air_finished = 0;
+       else if (!vehic.racer_air_finished)
+               vehic.racer_air_finished = time + autocvar_g_vehicle_racer_water_time;
 
        if(IS_DEAD(vehic))
        {
@@ -324,7 +328,7 @@ bool racer_frame(entity this, float dt)
                }
        }
 
-       if(!weaponLocked(player))
+       if (!weaponLocked(player) && !weaponUseForbidden(player))
        if(time > vehic.delay)
        if(PHYS_INPUT_BUTTON_ATCK2(player))
        {