From da898419bc5fba3264aab0ef347c51558467e296 Mon Sep 17 00:00:00 2001 From: tzork Date: Wed, 4 Nov 2009 13:17:39 +0000 Subject: [PATCH] Minor turret tweaks. git-svn-id: svn://svn.icculus.org/nexuiz/trunk@8206 f962a42d-fe04-0410-a3ab-8c8b0445ebaa --- data/qcsrc/server/tturrets/include/turrets_early.qh | 2 ++ data/qcsrc/server/tturrets/system/system_main.qc | 6 +++--- data/qcsrc/server/tturrets/system/system_misc.qc | 7 +++++-- data/qcsrc/server/tturrets/units/unit_ewheel.qc | 2 +- data/qcsrc/server/tturrets/units/unit_walker.qc | 3 ++- 5 files changed, 13 insertions(+), 7 deletions(-) diff --git a/data/qcsrc/server/tturrets/include/turrets_early.qh b/data/qcsrc/server/tturrets/include/turrets_early.qh index f891f62a1..186a2735a 100644 --- a/data/qcsrc/server/tturrets/include/turrets_early.qh +++ b/data/qcsrc/server/tturrets/include/turrets_early.qh @@ -5,6 +5,8 @@ #message "with tZork turrets" +float turret_count; + vector real_origin(entity ent); /// Map time control over pain inflicted diff --git a/data/qcsrc/server/tturrets/system/system_main.qc b/data/qcsrc/server/tturrets/system/system_main.qc index fe95f9941..3c7820224 100644 --- a/data/qcsrc/server/tturrets/system/system_main.qc +++ b/data/qcsrc/server/tturrets/system/system_main.qc @@ -927,11 +927,11 @@ void turrets_manager_think() * (unless you have a very good reason not to) * if the return value is 0, the turret should be removed. */ -float turret_count; float turret_stdproc_init (string cvar_base_name, float csqc_shared, string base, string head) { entity e,ee; + e = find(world, classname, "turret_manager"); if not (e) { @@ -960,7 +960,6 @@ float turret_stdproc_init (string cvar_base_name, float csqc_shared, string base if (self.spawnflags & TSF_TERRAINBASE) { entity tb; - //precache_model("models/turrets/terrainbase.md3"); tb = spawn(); setmodel(tb,"models/turrets/terrainbase.md3"); setorigin(tb,self.origin); @@ -1295,7 +1294,8 @@ float turret_stdproc_init (string cvar_base_name, float csqc_shared, string base self.think = turret_think; ++turret_count; - self.nextthink = time + self.ticrate + (turret_count * sys_ticrate); + self.nextthink = time + 1; + self.nextthink += turret_count * sys_ticrate; self.tur_head.team = self.team; self.view_ofs = '0 0 0'; diff --git a/data/qcsrc/server/tturrets/system/system_misc.qc b/data/qcsrc/server/tturrets/system/system_misc.qc index 93e859383..822b24e54 100644 --- a/data/qcsrc/server/tturrets/system/system_misc.qc +++ b/data/qcsrc/server/tturrets/system/system_misc.qc @@ -1,16 +1,19 @@ //--// Some support routines //--// #define anglemodss(a) (a - floor(a / 360) * 360) + float(float v) anglemods = { v = v - 360 * floor(v / 360); return v; -}; +} + float safeangle(float a) { - if((a > -361) && (a < 361)) + if((a >= -360) && (a <= 360)) return a; + a -= (360 * floor(a / 360)); return a; diff --git a/data/qcsrc/server/tturrets/units/unit_ewheel.qc b/data/qcsrc/server/tturrets/units/unit_ewheel.qc index 94fb80ed1..1025c58e1 100644 --- a/data/qcsrc/server/tturrets/units/unit_ewheel.qc +++ b/data/qcsrc/server/tturrets/units/unit_ewheel.qc @@ -168,7 +168,7 @@ void ewheel_move_enemy() movelib_move_simple(v_forward,cvar("g_turrets_unit_ewheel_speed_slower"),0.4); } } - else if (self.tur_dist_enemy < self.target_range_optimal - 10) + else if (self.tur_dist_enemy < self.target_range_optimal * 0.5) { self.frame = ewheel_amin_bck_slow; movelib_move_simple(v_forward * -1,cvar("g_turrets_unit_ewheel_speed_slow"),0.4); diff --git a/data/qcsrc/server/tturrets/units/unit_walker.qc b/data/qcsrc/server/tturrets/units/unit_walker.qc index d4e3b917f..4866a5bab 100644 --- a/data/qcsrc/server/tturrets/units/unit_walker.qc +++ b/data/qcsrc/server/tturrets/units/unit_walker.qc @@ -866,7 +866,7 @@ void walker_respawnhook() vector vtmp; entity e; - self.origin = self.wkr_spawn.origin; + setorigin(self,self.wkr_spawn.origin); self.angles = self.wkr_spawn.angles; vtmp = self.wkr_spawn.origin; @@ -891,6 +891,7 @@ void walker_respawnhook() } } } + void walker_diehook() { turret_trowgib2(self.origin,self.velocity + v_up * 200,'-0.6 -0.2 -02',self,time + random() * 1); -- 2.39.2