From a4eb198466373b84161e0fa4acec82fb3f990430 Mon Sep 17 00:00:00 2001 From: Jakob MG Date: Fri, 1 Apr 2011 20:56:39 +0200 Subject: [PATCH] Fix racer rockets, reset lock on spawn, zero avelocity on exit --- qcsrc/server/vehicles/racer.qc | 4 +--- qcsrc/server/vehicles/vehicles.qc | 14 +++++++++++++- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/qcsrc/server/vehicles/racer.qc b/qcsrc/server/vehicles/racer.qc index d0a416586..69177137e 100644 --- a/qcsrc/server/vehicles/racer.qc +++ b/qcsrc/server/vehicles/racer.qc @@ -464,16 +464,14 @@ float racer_frame() if(self.misc_bulletcounter == 1) racer_fire_rocket("tag_rocket_r", (self.lock_strength == 1 && self.lock_target) ? self.lock_target : world); else if(self.misc_bulletcounter == 2) - racer_fire_rocket("tag_rocket_l", (self.lock_strength == 1 && self.lock_target) ? self.lock_target : world); - else { + racer_fire_rocket("tag_rocket_l", (self.lock_strength == 1 && self.lock_target) ? self.lock_target : world); self.lock_strength = 0; self.lock_target = world; self.misc_bulletcounter = 0; racer.delay = time + autocvar_g_vehicle_racer_rocket_refire; racer.lip = time; - } } diff --git a/qcsrc/server/vehicles/vehicles.qc b/qcsrc/server/vehicles/vehicles.qc index 14957cf93..1ec83dabb 100644 --- a/qcsrc/server/vehicles/vehicles.qc +++ b/qcsrc/server/vehicles/vehicles.qc @@ -181,6 +181,7 @@ void vehicles_spawn() { dprint("Spawning vehicle: ", self.netname, "\n"); + // De-own & reset self.vehicle_hudmodel.viewmodelforclient = self; self.owner = world; self.touch = vehicles_touch; @@ -192,9 +193,17 @@ void vehicles_spawn() self.deadflag = DEAD_NO; self.bot_attack = TRUE; self.flags = FL_NOTARGET; - self.angles = self.pos2; + self.avelocity = '0 0 0'; + + // Reset locking + self.lock_strength = 0; + self.lock_target = world; + self.misc_bulletcounter = 0; + // Return to spawn + self.angles = self.pos2; setorigin(self, self.pos1 + '0 0 128'); + // Show it pointparticles(particleeffectnum("teleport"), self.origin + '0 0 64', '0 0 0', 1); vehicles_reset_colors(); @@ -363,6 +372,9 @@ void vehicles_exit(float eject) self.owner.switchweapon = self.switchweapon; } + if(self.deadflag == DEAD_NO) + self.avelocity = '0 0 0'; + self.vehicle_hudmodel.viewmodelforclient = self; self.tur_head.nodrawtoclient = self; vehicles_setreturn(); -- 2.39.2