-float racer_power_air;
-float racer_power_solid;
-float racer_power_min;
-float racer_anglestabilizer;
-float racer_springlength;
-
-float racer_healthmax;
-float racer_shieldmax;
-float racer_energymax;
-
-float racer_pitchspeed;
-float racer_turnspeed;
-float racer_turnroll;
-float racer_speed_forward;
-float racer_speed_strafe;
-
-float racer_afterburn_cost;
-
-float jetfromtag_power;
-float jetfromtag_normpower;
-vector jetfromtag_origin;
-float jetfromtag_groundcontact;
-
-void racer_loadsettings()
-{
- racer_power_min = autocvar_g_vehicle_racer_power_min * 0.25;
- racer_power_air = autocvar_g_vehicle_racer_power_air * 0.25;
- racer_power_solid = autocvar_g_vehicle_racer_power_solid * 0.25;
-
- racer_springlength = autocvar_g_vehicle_racer_springlength;
- racer_anglestabilizer = autocvar_g_vehicle_racer_anglestabilizer;
- racer_pitchspeed = autocvar_g_vehicle_racer_pitchspeed;
- racer_turnspeed = autocvar_g_vehicle_racer_turnspeed;
- racer_turnroll = autocvar_g_vehicle_racer_turnroll;
- racer_speed_forward = autocvar_g_vehicle_racer_speed_forward;
- racer_speed_strafe = autocvar_g_vehicle_racer_speed_strafe;
-
- racer_afterburn_cost = autocvar_g_vehicle_racer_afterburn_cost;
-
- racer_healthmax = autocvar_g_vehicle_racer_health;
- racer_shieldmax = autocvar_g_vehicle_racer_shield;
- racer_energymax = autocvar_g_vehicle_racer_energy;
-
-}
-
-vector racer_jetfromtag(string tagname)
-{
- vector force_dir;
- float air_frac, solid_frac, air_pwr, solid_pwr;
-
- jetfromtag_origin = gettaginfo(self,gettagindex(self,tagname));
- v_forward = normalize(v_forward) * -1;
-
- force_dir = jetfromtag_origin - (v_forward * racer_springlength);
- traceline(jetfromtag_origin, force_dir, MOVE_NORMAL, self);
- //te_lightning1(world,jetfromtag_origin, force_dir);
-
- //trace_fraction *= trace_fraction;
-
- solid_frac = 1 - trace_fraction;
- air_frac = trace_fraction;
-
- if (trace_fraction != 1.0)
- jetfromtag_groundcontact = 1;
-
- solid_pwr = solid_frac * racer_power_solid;
- air_pwr = air_frac * racer_power_air;
-
- jetfromtag_power = solid_pwr + air_pwr;
- jetfromtag_normpower = jetfromtag_power / (racer_power_air + racer_power_solid);
-
- //te_lightning1(world,jetfromtag_origin,jetfromtag_origin + normalize(self.origin - force_dir) * max(jetfromtag_power, racer_power_min));
- //return normalize(self.origin - force_dir) * max(jetfromtag_power, racer_power_min);
- return v_forward * max(jetfromtag_power, racer_power_min);
-}
+// Auto cvars
+float autocvar_g_vehicle_racer_speed_afterburn;
+float autocvar_g_vehicle_racer_afterburn_cost;
+
+float autocvar_g_vehicle_racer_anglestabilizer;
+float autocvar_g_vehicle_racer_downforce;
+
+float autocvar_g_vehicle_racer_speed_forward;
+float autocvar_g_vehicle_racer_speed_strafe;
+float autocvar_g_vehicle_racer_springlength;
+float autocvar_g_vehicle_racer_upforcedamper;
+float autocvar_g_vehicle_racer_friction;
+
+float autocvar_g_vehicle_racer_hovertype;
+float autocvar_g_vehicle_racer_hoverpower;
+
+float autocvar_g_vehicle_racer_turnroll;
+float autocvar_g_vehicle_racer_turnspeed;
+float autocvar_g_vehicle_racer_pitchspeed;
+
+float autocvar_g_vehicle_racer_energy;
+float autocvar_g_vehicle_racer_energy_regen;
+float autocvar_g_vehicle_racer_energy_regen_pause;
+
+float autocvar_g_vehicle_racer_health;
+float autocvar_g_vehicle_racer_health_regen;
+float autocvar_g_vehicle_racer_health_regen_pause;
+
+float autocvar_g_vehicle_racer_shield;
+float autocvar_g_vehicle_racer_shield_regen;
+float autocvar_g_vehicle_racer_shield_regen_pause;
+
+float autocvar_g_vehicle_racer_cannon_cost;
+float autocvar_g_vehicle_racer_cannon_damage;
+float autocvar_g_vehicle_racer_cannon_radius;
+float autocvar_g_vehicle_racer_cannon_refire;
+float autocvar_g_vehicle_racer_cannon_speed;
+float autocvar_g_vehicle_racer_cannon_spread;
+float autocvar_g_vehicle_racer_cannon_force;
+
+float autocvar_g_vehicle_racer_rocket_accel;
+float autocvar_g_vehicle_racer_rocket_damage;
+float autocvar_g_vehicle_racer_rocket_radius;
+float autocvar_g_vehicle_racer_rocket_force;
+float autocvar_g_vehicle_racer_rocket_refire;
+float autocvar_g_vehicle_racer_rocket_speed;
+float autocvar_g_vehicle_racer_rocket_turnrate;
+
+float autocvar_g_vehicle_racer_rocket_locktarget;
+float autocvar_g_vehicle_racer_rocket_locking_time;
+float autocvar_g_vehicle_racer_rocket_locking_releasetime;
+float autocvar_g_vehicle_racer_rocket_locked_time;
+float autocvar_g_vehicle_racer_rocket_locked_maxangle;
+
+float autocvar_g_vehicle_racer_respawntime;
+
+float autocvar_g_vehicle_racer_blowup_radius;
+float autocvar_g_vehicle_racer_blowup_coredamage;
+float autocvar_g_vehicle_racer_blowup_edgedamage;
+float autocvar_g_vehicle_racer_blowup_forceintensity;
+
+var vector racer_force_from_tag(string tag_name, float spring_length, float max_power);