From 7fd77536e99f8f09f6fc62e2cc82719a44c8fe61 Mon Sep 17 00:00:00 2001 From: Jakob MG Date: Sun, 20 Mar 2011 22:49:35 +0100 Subject: [PATCH] Better defaults, fix aux xhair, add aux xhair to raptor. --- qcsrc/client/vehicles/vehicles.qc | 12 ++++++++++-- qcsrc/server/vehicles/raptor.qc | 25 ++++++++++++++++++++----- qcsrc/server/vehicles/spiderbot.qc | 7 ------- qcsrc/server/vehicles/vehicles.qc | 7 +++---- vehicle_racer.cfg | 10 +++++----- vehicle_raptor.cfg | 9 +++++---- vehicle_spiderbot.cfg | 4 +--- vehicles.cfg | 4 +++- 8 files changed, 47 insertions(+), 31 deletions(-) diff --git a/qcsrc/client/vehicles/vehicles.qc b/qcsrc/client/vehicles/vehicles.qc index 6420e89ff..577f23f36 100644 --- a/qcsrc/client/vehicles/vehicles.qc +++ b/qcsrc/client/vehicles/vehicles.qc @@ -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; diff --git a/qcsrc/server/vehicles/raptor.qc b/qcsrc/server/vehicles/raptor.qc index f55faac3c..0e215561c 100644 --- a/qcsrc/server/vehicles/raptor.qc +++ b/qcsrc/server/vehicles/raptor.qc @@ -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) diff --git a/qcsrc/server/vehicles/spiderbot.qc b/qcsrc/server/vehicles/spiderbot.qc index 3d42e71ac..a160c5c04 100644 --- a/qcsrc/server/vehicles/spiderbot.qc +++ b/qcsrc/server/vehicles/spiderbot.qc @@ -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; } diff --git a/qcsrc/server/vehicles/vehicles.qc b/qcsrc/server/vehicles/vehicles.qc index ef825fe55..008e8a0ff 100644 --- a/qcsrc/server/vehicles/vehicles.qc +++ b/qcsrc/server/vehicles/vehicles.qc @@ -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) \ diff --git a/vehicle_racer.cfg b/vehicle_racer.cfg index a95aee34a..9a08acbfd 100644 --- a/vehicle_racer.cfg +++ b/vehicle_racer.cfg @@ -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) diff --git a/vehicle_raptor.cfg b/vehicle_raptor.cfg index eae7b5e7a..9def388d5 100644 --- a/vehicle_raptor.cfg +++ b/vehicle_raptor.cfg @@ -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 diff --git a/vehicle_spiderbot.cfg b/vehicle_spiderbot.cfg index 9fca2f27a..958d51932 100644 --- a/vehicle_spiderbot.cfg +++ b/vehicle_spiderbot.cfg @@ -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 diff --git a/vehicles.cfg b/vehicles.cfg index 501c60ba8..840ed5122 100644 --- a/vehicles.cfg +++ b/vehicles.cfg @@ -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 -- 2.39.2