Minor turret tweaks.
authortzork <tzork@f962a42d-fe04-0410-a3ab-8c8b0445ebaa>
Wed, 4 Nov 2009 13:17:39 +0000 (13:17 +0000)
committertzork <tzork@f962a42d-fe04-0410-a3ab-8c8b0445ebaa>
Wed, 4 Nov 2009 13:17:39 +0000 (13:17 +0000)
git-svn-id: svn://svn.icculus.org/nexuiz/trunk@8206 f962a42d-fe04-0410-a3ab-8c8b0445ebaa

data/qcsrc/server/tturrets/include/turrets_early.qh
data/qcsrc/server/tturrets/system/system_main.qc
data/qcsrc/server/tturrets/system/system_misc.qc
data/qcsrc/server/tturrets/units/unit_ewheel.qc
data/qcsrc/server/tturrets/units/unit_walker.qc

index f891f62..186a273 100644 (file)
@@ -5,6 +5,8 @@
 
 #message "with tZork turrets"
 
+float turret_count;
+
 vector real_origin(entity ent);
 
 /// Map time control over pain inflicted
index fe95f99..3c78202 100644 (file)
@@ -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';
index 93e8593..822b24e 100644 (file)
@@ -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;
index 94fb80e..1025c58 100644 (file)
@@ -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);
index d4e3b91..4866a5b 100644 (file)
@@ -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);