[nexuiz-commits] r6995 - in trunk/data: . qcsrc/server qcsrc/server/tturrets/include qcsrc/server/tturrets/system qcsrc/server/tturrets/units

DONOTREPLY at icculus.org DONOTREPLY at icculus.org
Fri Jun 12 04:05:51 EDT 2009


Author: tzork
Date: 2009-06-12 04:05:49 -0400 (Fri, 12 Jun 2009)
New Revision: 6995

Modified:
   trunk/data/qcsrc/server/movelib.qc
   trunk/data/qcsrc/server/tturrets/include/turrets.qh
   trunk/data/qcsrc/server/tturrets/include/turrets_early.qh
   trunk/data/qcsrc/server/tturrets/system/system_aimprocs.qc
   trunk/data/qcsrc/server/tturrets/system/system_damage.qc
   trunk/data/qcsrc/server/tturrets/system/system_main.qc
   trunk/data/qcsrc/server/tturrets/system/system_scoreprocs.qc
   trunk/data/qcsrc/server/tturrets/units/unit_ewheel.qc
   trunk/data/qcsrc/server/tturrets/units/unit_flac.qc
   trunk/data/qcsrc/server/tturrets/units/unit_fusionreactor.qc
   trunk/data/qcsrc/server/tturrets/units/unit_hellion.qc
   trunk/data/qcsrc/server/tturrets/units/unit_hk.qc
   trunk/data/qcsrc/server/tturrets/units/unit_machinegun.qc
   trunk/data/qcsrc/server/tturrets/units/unit_mlrs.qc
   trunk/data/qcsrc/server/tturrets/units/unit_phaser.qc
   trunk/data/qcsrc/server/tturrets/units/unit_plasma.qc
   trunk/data/qcsrc/server/tturrets/units/unit_tessla.qc
   trunk/data/qcsrc/server/tturrets/units/unit_walker.qc
   trunk/data/turrets.cfg
   trunk/data/unit_ewheel.cfg
   trunk/data/unit_flac.cfg
   trunk/data/unit_fusreac.cfg
   trunk/data/unit_hellion.cfg
   trunk/data/unit_hk.cfg
   trunk/data/unit_machinegun.cfg
   trunk/data/unit_mlrs.cfg
   trunk/data/unit_phaser.cfg
   trunk/data/unit_plasma.cfg
   trunk/data/unit_plasma2.cfg
   trunk/data/unit_tesla.cfg
   trunk/data/unit_walker.cfg
Log:
Get rid of g_turrets_unit_ewheel_std_target_range_fire, fix g_turrets_targetscan_mindelay add g_turrets_targetscan_maxdelay

Modified: trunk/data/qcsrc/server/movelib.qc
===================================================================
--- trunk/data/qcsrc/server/movelib.qc	2009-06-12 07:47:37 UTC (rev 6994)
+++ trunk/data/qcsrc/server/movelib.qc	2009-06-12 08:05:49 UTC (rev 6995)
@@ -169,14 +169,17 @@
 {
     float mspeed;
     vector mdir;
+    float vz;
 
     mspeed = max(0,vlen(self.velocity) - force);
     mdir   = normalize(self.velocity);
+    vz = self.velocity_z;
     self.velocity = mdir * mspeed;
+    self.velocity_z = vz;
 }
 
 
-void movelib_groundalign4point(float spring_length,float spring_up)
+void movelib_groundalign4point(float spring_length,float spring_up,float blendrate)
 {
     vector a,b,c,d,e,r,push_angle, ahead,side;
 
@@ -219,9 +222,13 @@
     push_angle_z = (b_z - a_z) * 45;
     push_angle_z += (d_z - c_z) * 45;
 
-    self.angles_x += push_angle_x * 0.95;
-    self.angles_z += push_angle_z * 0.95;
+    //self.angles_x += push_angle_x * 0.95;
+    //self.angles_z += push_angle_z * 0.95;
 
+    self.angles_x = ((1-blendrate) *  self.angles_x)  + (push_angle_x * blendrate);
+    self.angles_z = ((1-blendrate) *  self.angles_z)  + (push_angle_z * blendrate);
+
+    //a = self.origin;
     setorigin(self,r);
 }
 

Modified: trunk/data/qcsrc/server/tturrets/include/turrets.qh
===================================================================
--- trunk/data/qcsrc/server/tturrets/include/turrets.qh	2009-06-12 07:47:37 UTC (rev 6994)
+++ trunk/data/qcsrc/server/tturrets/include/turrets.qh	2009-06-12 08:05:49 UTC (rev 6995)
@@ -17,12 +17,13 @@
 #include "../units/unit_mlrs.qc"    /// Basic multibay RL
 #include "../units/unit_hellion.qc" /// Seeking missiles MLRS
 #include "../units/unit_flac.qc"    /// anti missile turret
-#include "../units/unit_phaser.qc"   /// ZzzapT
-#include "../units/unit_hk.qc"      /// Hunter killers
+#include "../units/unit_phaser.qc"     /// ZzzapT
+#include "../units/unit_hk.qc"         /// Hunter killers
 #include "../units/unit_machinegun.qc" /// whacka
-#include "../units/unit_tessla.qc"  /// Chain lightning capabale turret
-#include "../units/unit_walker.qc"
-#include "../units/unit_ewheel.qc"
+#include "../units/unit_tessla.qc"     /// Chain lightning capabale turret
+#include "../units/unit_walker.qc"     /// Moving minigun-rocket-meele err thing
+#include "../units/unit_ewheel.qc"     /// A evil wheel. with guns on.
+//#include "../units/unit_repulsor.qc"   /// Fires a wave that knocks foes back
 //#include "../units/unit_hive.qc"
 
 #endif // TTURRETS_ENABLED

Modified: trunk/data/qcsrc/server/tturrets/include/turrets_early.qh
===================================================================
--- trunk/data/qcsrc/server/tturrets/include/turrets_early.qh	2009-06-12 07:47:37 UTC (rev 6994)
+++ trunk/data/qcsrc/server/tturrets/include/turrets_early.qh	2009-06-12 08:05:49 UTC (rev 6995)
@@ -264,7 +264,7 @@
 // Aim from this point,
 //.vector     tur_aimorg;
 
-/// and shoot from here. (could be non constant, think MLRS)
+/// and shoot from here. (can be non constant, think MLRS)
 .vector     tur_shotorg;
 
 /// Aim at this spot
@@ -273,8 +273,8 @@
 /// Predicted time the round will impact
 .float      tur_impacttime;
 
-/// Predicted place the round will impact
-.vector     tur_impactpoint;
+// Predicted place the round will impact
+//.vector     tur_impactpoint; // unused
 
 /// What entity the aimtrace hit, if any.
 .entity     tur_impactent;
@@ -318,8 +318,8 @@
 .float target_range;
 /// Dont consider targets closer then
 .float target_range_min;
-/// Engage fire routine on targets within
-.float target_range_fire;
+// Engage fire routine on targets within
+//.float target_range_fire; // no practical use aymore, work with target_range insted.
 /// Targets closer to this are prefered
 .float target_range_optimal;
 
@@ -340,6 +340,8 @@
 .float target_select_playerbias;
 /// Field of view
 //.float target_select_fov;
+/// Last thimestamp this surret aquierd a valid target
+.float target_select_time;
 
 /*
 * Aim refers to real aiming, not gun pos (thats done by track)

Modified: trunk/data/qcsrc/server/tturrets/system/system_aimprocs.qc
===================================================================
--- trunk/data/qcsrc/server/tturrets/system/system_aimprocs.qc	2009-06-12 07:47:37 UTC (rev 6994)
+++ trunk/data/qcsrc/server/tturrets/system/system_aimprocs.qc	2009-06-12 08:05:49 UTC (rev 6995)
@@ -58,7 +58,7 @@
         }
 
 
-        // tnx and all credit to Rudolf "div0" Polzer for this solution.
+        // tnx to Rudolf "div0" Polzer for this solution.
         // hmm tobad it dont work.
         /*
         vector q;
@@ -69,7 +69,7 @@
             impact_time = q_y;
         */
 
-        prep = pre_pos + (self.enemy.velocity * (impact_time+mintime));
+        prep = pre_pos + (self.enemy.velocity * (impact_time + mintime));
 
         if(self.aim_flags & TFL_AIM_ZPREDICT)
         if not(self.enemy.flags & FL_ONGROUND)

Modified: trunk/data/qcsrc/server/tturrets/system/system_damage.qc
===================================================================
--- trunk/data/qcsrc/server/tturrets/system/system_damage.qc	2009-06-12 07:47:37 UTC (rev 6994)
+++ trunk/data/qcsrc/server/tturrets/system/system_damage.qc	2009-06-12 08:05:49 UTC (rev 6995)
@@ -144,6 +144,8 @@
 
     self.alpha             = -1;
     self.tur_head.alpha    = self.alpha;
+    self.customizeentityforclient = SUB_False;
+    self.tur_head.customizeentityforclient = SUB_False;
 
     self.event_damage           = SUB_Null;
     self.tur_head.event_damage  = SUB_Null;
@@ -246,8 +248,11 @@
     self.tur_head.solid     = self.solid;
 
     self.alpha = 1;
-    self.tur_head.alpha     = self.alpha;
+    self.tur_head.alpha     = self.alpha;
+    self.customizeentityforclient = SUB_True;
+    self.tur_head.customizeentityforclient = SUB_True;
 
+
     self.takedamage = DAMAGE_AIM;
     self.tur_head.takedamage    = self.takedamage;
 

Modified: trunk/data/qcsrc/server/tturrets/system/system_main.qc
===================================================================
--- trunk/data/qcsrc/server/tturrets/system/system_main.qc	2009-06-12 07:47:37 UTC (rev 6994)
+++ trunk/data/qcsrc/server/tturrets/system/system_main.qc	2009-06-12 08:05:49 UTC (rev 6995)
@@ -1,8 +1,26 @@
 #define cvar_base "g_turrets_unit_"
 
+/*
+float turret_customizeentityforclient()
+{
+}
+
+float Turret_SendEntity(entity to, float sf)
+{
+
+	WriteByte(MSG_ENTITY, ENT_CLIENT_TURRET);
+	WriteCoord(MSG_ENTITY, self.tur_head.angles_x);
+	WriteCoord(MSG_ENTITY, self.tur_head.angles_y);
+    WriteByte(MSG_ENTITY, self.tur_head.frame);
+
+	//WriteCoord(MSG_ENTITY, self.tur_head.angles_z);
+
+	return TRUE;
+}
+*/
+
 void load_unit_settings(entity ent,string unitname,float is_reload)
 {
-
     string sbase;
 
     // dprint("Reloading turret ",e_turret.netname,"\n");
@@ -44,7 +62,7 @@
 
     ent.target_range         = cvar(strcat(sbase,"_target_range")) * ent.turret_scale_range;
     ent.target_range_min     = cvar(strcat(sbase,"_target_range_min")) * ent.turret_scale_range;
-    ent.target_range_fire    = cvar(strcat(sbase,"_target_range_fire")) * ent.turret_scale_range;
+    //ent.target_range_fire    = cvar(strcat(sbase,"_target_range_fire")) * ent.turret_scale_range;
     ent.target_range_optimal = cvar(strcat(sbase,"_target_range_optimal")) * ent.turret_scale_range;
 
     ent.target_select_rangebias  = cvar(strcat(sbase,"_target_select_rangebias"));
@@ -96,7 +114,7 @@
 **/
 void turret_do_updates(entity t_turret)
 {
-    vector enemy_pos;
+    vector enemy_pos,oldpos;
     entity oldself;
 
     oldself = self;
@@ -106,7 +124,7 @@
 
     turret_tag_fire_update();
 
-    self.tur_shotdir_updated = v_forward;
+    self.tur_shotdir_updated = normalize(v_forward);
 
     self.tur_dist_enemy  = vlen(self.tur_shotorg - enemy_pos);
     self.tur_dist_aimpos = vlen(self.tur_shotorg - self.tur_aimpos);
@@ -114,7 +132,7 @@
     if(self.firecheck_flags & TFL_FIRECHECK_VERIFIED)
     if(self.enemy)
     {
-        enemy_pos = self.enemy.origin;
+        oldpos = self.enemy.origin;
         setorigin(self.enemy,self.tur_aimpos);
     }
 
@@ -124,11 +142,11 @@
 
     if(self.firecheck_flags & TFL_FIRECHECK_VERIFIED)
         if(self.enemy)
-            setorigin(self.enemy,enemy_pos);
+            setorigin(self.enemy,oldpos);
 
-    self.tur_impactpoint           = trace_endpos;
+    //self.tur_impactpoint           = trace_endpos;
     self.tur_impactent             = trace_ent;
-    self.tur_dist_impact_to_aimpos = vlen(trace_endpos - self.tur_aimpos);
+    self.tur_dist_impact_to_aimpos = vlen(trace_endpos - self.tur_aimpos) - (vlen(self.enemy.maxs - self.enemy.mins)*0.5);
     self.tur_impacttime            = vlen(self.tur_shotorg - trace_endpos) / self.shot_speed;
 
     self = oldself;
@@ -388,7 +406,7 @@
     if (self.firecheck_flags & TFL_FIRECHECK_DISTANCES)
     {
         // Not close enougth?
-        if (self.tur_dist_aimpos > self.target_range_fire) return 0;
+        //if (self.tur_dist_aimpos > self.target_range_fire) return 0;
 
         // To close?
         if (self.tur_dist_aimpos < self.target_range_min) return 0;
@@ -400,7 +418,9 @@
 
     // aim<->predicted impact
     if (self.firecheck_flags & TFL_FIRECHECK_AIMDIST)
-        if (self.tur_dist_impact_to_aimpos  > self.aim_firetolerance_dist) return 0;
+        if (self.tur_dist_impact_to_aimpos  > self.aim_firetolerance_dist)
+            if (self.tur_impactent != self.enemy)
+                return 0;
 
     // Volly status
     if (self.shot_volly > 1)
@@ -702,7 +722,7 @@
     }
     else if(self.shoot_flags & TFL_SHOOT_CUSTOM)
     {
-        // This one is doing something oddball. assume its handles what needs to be handled.
+        // This one is doing something.. oddball. assume its handles what needs to be handled.
 
         // Predict?
         if not((self.aim_flags & TFL_AIM_NO))
@@ -745,10 +765,14 @@
             }
 
         // Check if we have a vailid enemy, and try to find one if we dont.
-        if ((turret_validate_target(self,self.enemy,self.target_validate_flags) <= 0) && (self.cnt < time))
+        if( ((self.target_select_time + cvar("g_turrets_targetscan_maxdelay")) < time)
+          || (turret_validate_target(self,self.enemy,self.target_validate_flags) <= 0) )
+        if not (self.target_select_time + cvar("g_turrets_targetscan_mindelay") > time)
         {
             self.enemy = turret_select_target();
-            self.cnt = time + cvar("g_turrets_targetscan_mindelay");
+            //if(self.enemy)
+                self.target_select_time = time;
+
         }
 
 
@@ -824,7 +848,7 @@
 }
 
 /*
-    When .used a turret switched team to activator.team.
+    When .used a turret switch team to activator.team.
     If activator is world, the turrets goes inactive.
 */
 void turret_stdproc_use()
@@ -840,17 +864,28 @@
 
 }
 
+void turret_link()
+{
+    //Net_LinkEntity(self, FALSE, 0, Turret_SendEntity);
+    self.think      = turret_think;
+    self.nextthink  = time;
+}
+
 /*
 * Standard turret initialization. use this!
 * (unless you have a very good reason not to)
-* Any special stuff like multiple cannon models should be done
-* after this is proc called.
-* if the return value is 0, the turret _must_ be removed.
+* if the return value is 0, the turret should be removed.
 */
-float turret_stdproc_init (string cvar_base_name)
+float turret_stdproc_init (string cvar_base_name, float csqc_shared)
 {
 	entity e,ee;
 
+    if(csqc_shared)
+    {
+        dprint("turrets: csqc_shared requested but not implemented. expect strange things to happen.\n");
+        csqc_shared = 0;
+    }
+
     // Are turrets allowed atm?
     if (cvar("g_turrets") == 0)
         return 0;
@@ -975,12 +1010,12 @@
         self.target_range_min = self.shot_radius * 2;
     self.target_range_min = bound(0,self.target_range_min,MAX_SHOT_DISTANCE);
 
-    if (!self.target_range_fire)
-        self.target_range_fire = self.target_range * 0.8;
-    self.target_range_fire = bound(0,self.target_range_fire,MAX_SHOT_DISTANCE);
+    //if (!self.target_range_fire)
+    //    self.target_range_fire = self.target_range * 0.8;
+    //self.target_range_fire = bound(0,self.target_range_fire,MAX_SHOT_DISTANCE);
 
     if (!self.target_range_optimal)
-        self.target_range_optimal = self.target_range_fire * 0.5;
+        self.target_range_optimal = self.target_range * 0.5;
     self.target_range_optimal = bound(0,self.target_range_optimal,MAX_SHOT_DISTANCE);
 
 
@@ -1185,7 +1220,11 @@
     self.bot_attack = TRUE;
 
     // Initiate the main AI loop
-    self.think     = turret_think;
+    if(csqc_shared)
+        self.think     = turret_link;
+    else
+        self.think     = turret_think;
+
     self.nextthink = time + self.ticrate;
 
     self.tur_head.team = self.team;

Modified: trunk/data/qcsrc/server/tturrets/system/system_scoreprocs.qc
===================================================================
--- trunk/data/qcsrc/server/tturrets/system/system_scoreprocs.qc	2009-06-12 07:47:37 UTC (rev 6994)
+++ trunk/data/qcsrc/server/tturrets/system/system_scoreprocs.qc	2009-06-12 08:05:49 UTC (rev 6995)
@@ -36,11 +36,12 @@
     float d_dist;       // Defendmode Distance
 
     float score;        // Total score
+
     float d_score;      // Distance score
-    //float da_score;   // Distance from aimpoint score
     float a_score;      // Angular score
     float m_score;      // missile score
     float p_score;      // player score
+    //float da_score;   // Distance from aimpoint score
 
     float ikr;          // ideal kill range
 
@@ -92,12 +93,15 @@
             (m_score * e_turret.target_select_missilebias) +
             (p_score * e_turret.target_select_playerbias);
 
-    if(e_turret.target_range_fire < vlen(e_turret.tur_shotorg - real_origin(e_target)))
-        score *= 0.1;
+    if(e_turret.target_range < vlen(e_turret.tur_shotorg - real_origin(e_target)))
+    {
+        dprint("Wtf?\n");
+        score *= 0.001;
+    }
 
-#ifdef TURRET_DEBUG
-    string sd,sv,sa,sm,sp,ss;
-    string sdt,svt,sat,smt,spt;
+#ifndef TURRET_DEBUG
+    string sd,sa,sm,sp,ss;
+    string sdt,sat,smt,spt;
 
     sd = ftos(d_score);
     d_score *= e_turret.target_select_rangebias;
@@ -123,7 +127,6 @@
     ss = ftos(score);
     bprint("^3Target scores^7 \[  ",e_turret.netname, "  \] ^3for^7 \[  ", e_target.netname,"  \]\n");
     bprint("^5Range:\[  ",sd,  "  \]^2+bias:\[  ",sdt,"  \]\n");
-    //bprint("^5Volly:\[  ",sv,  "  \]^2+bias:\[  ",svt,"  \]\n");
     bprint("^5Angle:\[  ",sa,  "  \]^2+bias:\[  ",sat,"  \]\n");
     bprint("^5Missile:\[  ",sm,"  \]^2+bias:\[  ",smt,"  \]\n");
     bprint("^5Player:\[  ",sp, "  \]^2+bias:\[  ",spt,"  \]\n");

Modified: trunk/data/qcsrc/server/tturrets/units/unit_ewheel.qc
===================================================================
--- trunk/data/qcsrc/server/tturrets/units/unit_ewheel.qc	2009-06-12 07:47:37 UTC (rev 6994)
+++ trunk/data/qcsrc/server/tturrets/units/unit_ewheel.qc	2009-06-12 08:05:49 UTC (rev 6995)
@@ -439,7 +439,7 @@
     self.turret_respawnhook = ewheel_respawnhook;
     self.turret_diehook = ewheel_diehook;
 
-    if (turret_stdproc_init("ewheel_std") == 0)
+    if (turret_stdproc_init("ewheel_std",0) == 0)
     {
         remove(self);
         return;

Modified: trunk/data/qcsrc/server/tturrets/units/unit_flac.qc
===================================================================
--- trunk/data/qcsrc/server/tturrets/units/unit_flac.qc	2009-06-12 07:47:37 UTC (rev 6994)
+++ trunk/data/qcsrc/server/tturrets/units/unit_flac.qc	2009-06-12 08:05:49 UTC (rev 6995)
@@ -91,7 +91,7 @@
     self.ammo_flags     = TFL_AMMO_ROCKETS | TFL_AMMO_RECHARGE;
     self.aim_flags      = TFL_AIM_LEAD | TFL_AIM_SHOTTIMECOMPENSATE;
 
-    if (turret_stdproc_init("flac_std") == 0)
+    if (turret_stdproc_init("flac_std",0) == 0)
     {
         remove(self);
         return;

Modified: trunk/data/qcsrc/server/tturrets/units/unit_fusionreactor.qc
===================================================================
--- trunk/data/qcsrc/server/tturrets/units/unit_fusionreactor.qc	2009-06-12 07:47:37 UTC (rev 6994)
+++ trunk/data/qcsrc/server/tturrets/units/unit_fusionreactor.qc	2009-06-12 08:05:49 UTC (rev 6995)
@@ -11,7 +11,7 @@
 
     if (self.ammo < self.shot_dmg) return 0;
     if (self.enemy.ammo >= self.enemy.ammo_max) return 0;
-    if (self.tur_dist_aimpos > self.target_range_fire) return 0;
+    if (self.tur_dist_aimpos > self.target_range) return 0;
     if (self.tur_dist_aimpos < self.target_range_min) return 0;
 
     return 1;
@@ -49,7 +49,7 @@
     self.aim_flags = TFL_AIM_NO;
     self.track_flags = TFL_TRACK_NO;
     self.turret_respawnhook = turret_fusionreactor_respawnhook;
-    if (turret_stdproc_init("fusreac_std") == 0)
+    if (turret_stdproc_init("fusreac_std",0) == 0)
     {
         remove(self);
         return;

Modified: trunk/data/qcsrc/server/tturrets/units/unit_hellion.qc
===================================================================
--- trunk/data/qcsrc/server/tturrets/units/unit_hellion.qc	2009-06-12 07:47:37 UTC (rev 6994)
+++ trunk/data/qcsrc/server/tturrets/units/unit_hellion.qc	2009-06-12 08:05:49 UTC (rev 6995)
@@ -188,7 +188,7 @@
     self.firecheck_flags = TFL_FIRECHECK_WORLD | TFL_FIRECHECK_DEAD | TFL_FIRECHECK_DISTANCES | TFL_FIRECHECK_TEAMCECK | TFL_FIRECHECK_REFIRE | TFL_FIRECHECK_AFF | TFL_FIRECHECK_OWM_AMMO;
     self.ammo_flags = TFL_AMMO_ROCKETS | TFL_AMMO_RECHARGE;
 
-    if (turret_stdproc_init("hellion_std") == 0)
+    if (turret_stdproc_init("hellion_std",0) == 0)
     {
         remove(self);
         return;

Modified: trunk/data/qcsrc/server/tturrets/units/unit_hk.qc
===================================================================
--- trunk/data/qcsrc/server/tturrets/units/unit_hk.qc	2009-06-12 07:47:37 UTC (rev 6994)
+++ trunk/data/qcsrc/server/tturrets/units/unit_hk.qc	2009-06-12 08:05:49 UTC (rev 6995)
@@ -433,7 +433,7 @@
 
     self.shoot_flags = TFL_SHOOT_CLEARTARGET;
 
-    if (turret_stdproc_init("hk_std") == 0)
+    if (turret_stdproc_init("hk_std",0) == 0)
     {
         remove(self);
         return;

Modified: trunk/data/qcsrc/server/tturrets/units/unit_machinegun.qc
===================================================================
--- trunk/data/qcsrc/server/tturrets/units/unit_machinegun.qc	2009-06-12 07:47:37 UTC (rev 6994)
+++ trunk/data/qcsrc/server/tturrets/units/unit_machinegun.qc	2009-06-12 08:05:49 UTC (rev 6995)
@@ -42,7 +42,7 @@
     else
         self.aim_flags      |= TFL_AIM_SHOTTIMECOMPENSATE;
 
-    if (turret_stdproc_init("machinegun_std") == 0)
+    if (turret_stdproc_init("machinegun_std",0) == 0)
     {
         remove(self);
         return;

Modified: trunk/data/qcsrc/server/tturrets/units/unit_mlrs.qc
===================================================================
--- trunk/data/qcsrc/server/tturrets/units/unit_mlrs.qc	2009-06-12 07:47:37 UTC (rev 6994)
+++ trunk/data/qcsrc/server/tturrets/units/unit_mlrs.qc	2009-06-12 08:05:49 UTC (rev 6995)
@@ -103,7 +103,7 @@
     self.ammo_flags = TFL_AMMO_ROCKETS | TFL_AMMO_RECHARGE;
     self.aim_flags = TFL_AIM_LEAD | TFL_AIM_ZEASE | TFL_AIM_SHOTTIMECOMPENSATE | TFL_AIM_INFRONT;
 
-    if (turret_stdproc_init("mlrs_std") == 0)
+    if (turret_stdproc_init("mlrs_std",0) == 0)
     {
         remove(self);
         return;

Modified: trunk/data/qcsrc/server/tturrets/units/unit_phaser.qc
===================================================================
--- trunk/data/qcsrc/server/tturrets/units/unit_phaser.qc	2009-06-12 07:47:37 UTC (rev 6994)
+++ trunk/data/qcsrc/server/tturrets/units/unit_phaser.qc	2009-06-12 08:05:49 UTC (rev 6995)
@@ -62,7 +62,7 @@
     self = self.owner;
     //w_deathtypestring = "was phased out of existence";
     FireImoBeam (   self.tur_shotorg,
-                    self.tur_shotorg + self.tur_shotdir_updated * self.target_range_fire,
+                    self.tur_shotorg + self.tur_shotdir_updated * self.target_range,
                     '-1 -1 -1' * self.shot_radius,
                     '1 1 1' * self.shot_radius,
                     self.shot_force,
@@ -89,7 +89,7 @@
     beam.nextthink = time;
     beam.owner = self;
     beam.shot_dmg = self.shot_dmg / (self.shot_speed / beam.ticrate);
-    beam.scale = self.target_range_fire / 256;
+    beam.scale = self.target_range / 256;
     beam.movetype = MOVETYPE_NONE;
     beam.enemy = self.enemy;
     beam.bot_dodge = TRUE;
@@ -116,7 +116,7 @@
     self.ammo_flags = TFL_AMMO_ENERGY | TFL_AMMO_RECHARGE | TFL_AMMO_RECIVE;
     self.aim_flags = TFL_AIM_ZEASE | TFL_AIM_LEAD;
 
-    if (turret_stdproc_init("phaser_std") == 0)
+    if (turret_stdproc_init("phaser_std",0) == 0)
     {
         remove(self);
         return;

Modified: trunk/data/qcsrc/server/tturrets/units/unit_plasma.qc
===================================================================
--- trunk/data/qcsrc/server/tturrets/units/unit_plasma.qc	2009-06-12 07:47:37 UTC (rev 6994)
+++ trunk/data/qcsrc/server/tturrets/units/unit_plasma.qc	2009-06-12 08:05:49 UTC (rev 6995)
@@ -127,7 +127,7 @@
     self.aim_flags      = TFL_AIM_LEAD | TFL_AIM_SHOTTIMECOMPENSATE | TFL_AIM_GROUND2;
     self.turrcaps_flags = TFL_TURRCAPS_RADIUSDMG | TFL_TURRCAPS_MEDPROJ | TFL_TURRCAPS_PLAYERKILL | TFL_TURRCAPS_MISSILEKILL;
 
-    if (turret_stdproc_init("plasma_std") == 0)
+    if (turret_stdproc_init("plasma_std",FALSE) == 0)
     {
         remove(self);
         return;
@@ -143,6 +143,7 @@
 
     setmodel(self,"models/turrets/base.md3");
     setmodel(self.tur_head,"models/turrets/plasma.md3");
+    // self.tur_head.alpha = -1;
 
     if (!turret_tag_setup())
         dprint("Warning: Turret ",self.classname, " faild to initialize md3 tags\n");
@@ -167,7 +168,7 @@
     self.aim_flags      = TFL_AIM_LEAD | TFL_AIM_SHOTTIMECOMPENSATE  | TFL_AIM_GROUND2 ;
     self.turrcaps_flags = TFL_TURRCAPS_RADIUSDMG | TFL_TURRCAPS_MEDPROJ | TFL_TURRCAPS_PLAYERKILL;
 
-    if (turret_stdproc_init("plasma_dual") == 0)
+    if (turret_stdproc_init("plasma_dual",0) == 0)
     {
         remove(self);
         return;

Modified: trunk/data/qcsrc/server/tturrets/units/unit_tessla.qc
===================================================================
--- trunk/data/qcsrc/server/tturrets/units/unit_tessla.qc	2009-06-12 07:47:37 UTC (rev 6994)
+++ trunk/data/qcsrc/server/tturrets/units/unit_tessla.qc	2009-06-12 08:05:49 UTC (rev 6995)
@@ -144,7 +144,7 @@
     self.aim_flags           = TFL_AIM_NO;
     self.track_flags         = TFL_TRACK_NO;
 
-    if (turret_stdproc_init("tesla_std") == 0)
+    if (turret_stdproc_init("tesla_std",0) == 0)
     {
         remove(self);
         return;

Modified: trunk/data/qcsrc/server/tturrets/units/unit_walker.qc
===================================================================
--- trunk/data/qcsrc/server/tturrets/units/unit_walker.qc	2009-06-12 07:47:37 UTC (rev 6994)
+++ trunk/data/qcsrc/server/tturrets/units/unit_walker.qc	2009-06-12 08:05:49 UTC (rev 6995)
@@ -256,7 +256,7 @@
     self.velocity_z = vz;
 
     if (self.flags & FL_ONGROUND)
-        movelib_groundalign4point(300,100);
+        movelib_groundalign4point(300,100,0.25);
 
 }
 
@@ -939,7 +939,7 @@
     self.turret_diehook = walker_diehook;
 
     self.ticrate = 0.05;
-    if (turret_stdproc_init("walker_std") == 0)
+    if (turret_stdproc_init("walker_std",0) == 0)
     {
         remove(self);
         return;

Modified: trunk/data/turrets.cfg
===================================================================
--- trunk/data/turrets.cfg	2009-06-12 07:47:37 UTC (rev 6994)
+++ trunk/data/turrets.cfg	2009-06-12 08:05:49 UTC (rev 6995)
@@ -6,13 +6,16 @@
 // Dont let turrets look for new targets more frequently then this
 set g_turrets_targetscan_mindelay 0.1
 
+// Do a targetscan at least this often regarless.
+set g_turrets_targetscan_maxdelay 1
+
 // Turrets with no target returns to their idle aim after this much time.
 set g_turrets_aimidle_delay 5
 
 // --- Units ---
 
-// Machinegun on a stick. 
-exec unit_machinegun.cfg 
+// Machinegun on a stick.
+exec unit_machinegun.cfg
 
 // Hunter killer rocket turret. "smart rockets"
 exec unit_hk.cfg
@@ -27,7 +30,7 @@
 exec unit_flac.cfg
 
 // Support unit. Recharges friendly energy based turrets in range
-exec unit_fusreac.cfg	
+exec unit_fusreac.cfg
 
 // "Electro" turret.
 exec unit_plasma.cfg
@@ -41,14 +44,15 @@
 // Fires a constant beam that slows down and slowly damages its target.
 exec unit_phaser.cfg
 
-// The bastred son of a turret and a quake monster. 
+// The bastred son of a turret and a quake monster.
 // A walking minigun with longrage missiles and closerange meele attack.
 exec unit_walker.cfg
 
 // OMG! Its the Evil Wheel! :O
 exec unit_ewheel.cfg
-// not exec'd: gauss
 
+//
+exec unit_repulsor.cfg
 
 set g_turrets_reloadcvars 0 // reload when this cfg has been exec'd
 alias g_turrets_reload "set g_turrets_reloadcvars 1"

Modified: trunk/data/unit_ewheel.cfg
===================================================================
--- trunk/data/unit_ewheel.cfg	2009-06-12 07:47:37 UTC (rev 6994)
+++ trunk/data/unit_ewheel.cfg	2009-06-12 08:05:49 UTC (rev 6995)
@@ -1,4 +1,4 @@
-set g_turrets_unit_ewheel_std_health 200	
+set g_turrets_unit_ewheel_std_health 200
 set g_turrets_unit_ewheel_std_respawntime 30
 
 // dgr / sec
@@ -20,7 +20,6 @@
 set g_turrets_unit_ewheel_std_shot_volly_refire 1
 
 set g_turrets_unit_ewheel_std_target_range 5000
-set g_turrets_unit_ewheel_std_target_range_fire 3500
 set g_turrets_unit_ewheel_std_target_range_optimal 900
 set g_turrets_unit_ewheel_std_target_range_min 0.1
 
@@ -39,4 +38,4 @@
 set g_turrets_unit_ewheel_std_aim_maxrot 20
 set g_turrets_unit_ewheel_std_aim_maxpitch 45
 
-set g_turrets_unit_ewheel_std_track_type 1
\ No newline at end of file
+set g_turrets_unit_ewheel_std_track_type 1

Modified: trunk/data/unit_flac.cfg
===================================================================
--- trunk/data/unit_flac.cfg	2009-06-12 07:47:37 UTC (rev 6994)
+++ trunk/data/unit_flac.cfg	2009-06-12 08:05:49 UTC (rev 6995)
@@ -1,4 +1,4 @@
-set g_turrets_unit_flac_std_health 700	
+set g_turrets_unit_flac_std_health 700
 set g_turrets_unit_flac_std_respawntime 90
 
 set g_turrets_unit_flac_std_shot_dmg 25
@@ -12,7 +12,6 @@
 
 set g_turrets_unit_flac_std_target_range 4000
 set g_turrets_unit_flac_std_target_range_min 500
-set g_turrets_unit_flac_std_target_range_fire 3900
 set g_turrets_unit_flac_std_target_range_optimal 1250
 
 set g_turrets_unit_flac_std_target_select_rangebias 0.25

Modified: trunk/data/unit_fusreac.cfg
===================================================================
--- trunk/data/unit_fusreac.cfg	2009-06-12 07:47:37 UTC (rev 6994)
+++ trunk/data/unit_fusreac.cfg	2009-06-12 08:05:49 UTC (rev 6995)
@@ -7,7 +7,6 @@
 
 set g_turrets_unit_fusreac_std_target_range 1024
 set g_turrets_unit_fusreac_std_target_range_min 1
-set g_turrets_unit_fusreac_std_target_range_fire 1024
 
 set g_turrets_unit_fusreac_std_ammo_max 300
 set g_turrets_unit_fusreac_std_ammo 0

Modified: trunk/data/unit_hellion.cfg
===================================================================
--- trunk/data/unit_hellion.cfg	2009-06-12 07:47:37 UTC (rev 6994)
+++ trunk/data/unit_hellion.cfg	2009-06-12 08:05:49 UTC (rev 6995)
@@ -1,4 +1,4 @@
-set g_turrets_unit_hellion_std_health 500	
+set g_turrets_unit_hellion_std_health 500
 set g_turrets_unit_hellion_std_respawntime 90
 
 set g_turrets_unit_hellion_std_shot_dmg 50
@@ -16,7 +16,6 @@
 
 set g_turrets_unit_hellion_std_target_range 6000
 set g_turrets_unit_hellion_std_target_range_min 150
-set g_turrets_unit_hellion_std_target_range_fire 5000
 set g_turrets_unit_hellion_std_target_range_optimal 4500
 
 set g_turrets_unit_hellion_std_target_select_rangebias 0.7

Modified: trunk/data/unit_hk.cfg
===================================================================
--- trunk/data/unit_hk.cfg	2009-06-12 07:47:37 UTC (rev 6994)
+++ trunk/data/unit_hk.cfg	2009-06-12 08:05:49 UTC (rev 6995)
@@ -1,4 +1,4 @@
-set g_turrets_unit_hk_std_health 500	
+set g_turrets_unit_hk_std_health 500
 set g_turrets_unit_hk_std_respawntime 90
 
 set g_turrets_unit_hk_std_shot_dmg 120
@@ -19,7 +19,6 @@
 
 set g_turrets_unit_hk_std_target_range 6000
 set g_turrets_unit_hk_std_target_range_min 220
-set g_turrets_unit_hk_std_target_range_fire 5000
 set g_turrets_unit_hk_std_target_range_optimal 5000
 
 set g_turrets_unit_hk_std_target_select_rangebias 0.5
@@ -35,7 +34,7 @@
 set g_turrets_unit_hk_std_aim_firetolerance_dist 500
 set g_turrets_unit_hk_std_aim_speed 100
 set g_turrets_unit_hk_std_aim_maxrot 360
-set g_turrets_unit_hk_std_aim_maxpitch 20	
+set g_turrets_unit_hk_std_aim_maxpitch 20
 
 set g_turrets_unit_hk_std_track_type 3
 set g_turrets_unit_hk_std_track_accel_pitch 0.25

Modified: trunk/data/unit_machinegun.cfg
===================================================================
--- trunk/data/unit_machinegun.cfg	2009-06-12 07:47:37 UTC (rev 6994)
+++ trunk/data/unit_machinegun.cfg	2009-06-12 08:05:49 UTC (rev 6995)
@@ -1,4 +1,4 @@
-set g_turrets_unit_machinegun_std_health 256	
+set g_turrets_unit_machinegun_std_health 256
 set g_turrets_unit_machinegun_std_respawntime 60
 
 set g_turrets_unit_machinegun_std_shot_dmg 10
@@ -12,7 +12,6 @@
 
 set g_turrets_unit_machinegun_std_target_range 4500
 set g_turrets_unit_machinegun_std_target_range_min 2
-set g_turrets_unit_machinegun_std_target_range_fire 3000
 set g_turrets_unit_machinegun_std_target_range_optimal 1000
 
 set g_turrets_unit_machinegun_std_target_select_rangebias 0.25

Modified: trunk/data/unit_mlrs.cfg
===================================================================
--- trunk/data/unit_mlrs.cfg	2009-06-12 07:47:37 UTC (rev 6994)
+++ trunk/data/unit_mlrs.cfg	2009-06-12 08:05:49 UTC (rev 6995)
@@ -1,4 +1,4 @@
-set g_turrets_unit_mlrs_std_health 500	
+set g_turrets_unit_mlrs_std_health 500
 set g_turrets_unit_mlrs_std_respawntime 60
 
 set g_turrets_unit_mlrs_std_shot_dmg 70
@@ -13,7 +13,6 @@
 
 set g_turrets_unit_mlrs_std_target_range 3000
 set g_turrets_unit_mlrs_std_target_range_min 500
-set g_turrets_unit_mlrs_std_target_range_fire 2000
 set g_turrets_unit_mlrs_std_target_range_optimal 500
 
 set g_turrets_unit_mlrs_std_target_select_rangebias 0.25
@@ -34,4 +33,4 @@
 set g_turrets_unit_mlrs_std_track_type 3
 set g_turrets_unit_mlrs_std_track_accel_pitch 0.25
 set g_turrets_unit_mlrs_std_track_accel_rot 0.8
-set g_turrets_unit_mlrs_std_track_blendrate 0.3
\ No newline at end of file
+set g_turrets_unit_mlrs_std_track_blendrate 0.3

Modified: trunk/data/unit_phaser.cfg
===================================================================
--- trunk/data/unit_phaser.cfg	2009-06-12 07:47:37 UTC (rev 6994)
+++ trunk/data/unit_phaser.cfg	2009-06-12 08:05:49 UTC (rev 6995)
@@ -13,7 +13,6 @@
 
 set g_turrets_unit_phaser_std_target_range 3000
 set g_turrets_unit_phaser_std_target_range_min 0
-set g_turrets_unit_phaser_std_target_range_fire 3000
 set g_turrets_unit_phaser_std_target_range_optimal 1500
 
 set g_turrets_unit_phaser_std_target_select_rangebias 0.85

Modified: trunk/data/unit_plasma.cfg
===================================================================
--- trunk/data/unit_plasma.cfg	2009-06-12 07:47:37 UTC (rev 6994)
+++ trunk/data/unit_plasma.cfg	2009-06-12 08:05:49 UTC (rev 6995)
@@ -1,4 +1,4 @@
-set g_turrets_unit_plasma_std_health 500	
+set g_turrets_unit_plasma_std_health 500
 set g_turrets_unit_plasma_std_respawntime 60
 
 // Do this mutch damage
@@ -22,8 +22,6 @@
 set g_turrets_unit_plasma_std_target_range 3500
 // But no close then this
 set g_turrets_unit_plasma_std_target_range_min 200
-// If this or closer, fire
-set g_turrets_unit_plasma_std_target_range_fire 3000
 // If we have a choise, prefer the ones closer to this distance
 set g_turrets_unit_plasma_std_target_range_optimal 500
 
@@ -50,12 +48,12 @@
 // Aim how fast. for track_type 1 this is dgr/sec, for 2 & 3 its the maximum angle speed added each second
 set g_turrets_unit_plasma_std_aim_speed 200
 // Max rottation of head
-set g_turrets_unit_plasma_std_aim_maxrot 360	
+set g_turrets_unit_plasma_std_aim_maxrot 360
 // Max pitch  of head
 set g_turrets_unit_plasma_std_aim_maxpitch 30
 
-// How the head turns. 
-//   1 = hard steps, good for aiming preformace, bad for visuals. 
+// How the head turns.
+//   1 = hard steps, good for aiming preformace, bad for visuals.
 //   2 = smooth w/o inertia
 //   3 = smmoth with simulated inertia
 set g_turrets_unit_plasma_std_track_type 3

Modified: trunk/data/unit_plasma2.cfg
===================================================================
--- trunk/data/unit_plasma2.cfg	2009-06-12 07:47:37 UTC (rev 6994)
+++ trunk/data/unit_plasma2.cfg	2009-06-12 08:05:49 UTC (rev 6995)
@@ -1,4 +1,4 @@
-set g_turrets_unit_plasma_dual_health 500	
+set g_turrets_unit_plasma_dual_health 500
 set g_turrets_unit_plasma_dual_respawntime 60
 
 set g_turrets_unit_plasma_dual_shot_dmg 80
@@ -13,7 +13,6 @@
 
 set g_turrets_unit_plasma_dual_target_range 3000
 set g_turrets_unit_plasma_dual_target_range_min 80
-set g_turrets_unit_plasma_dual_target_range_fire 2500
 set g_turrets_unit_plasma_dual_target_range_optimal 1000
 
 set g_turrets_unit_plasma_dual_target_select_rangebias 0.2

Modified: trunk/data/unit_tesla.cfg
===================================================================
--- trunk/data/unit_tesla.cfg	2009-06-12 07:47:37 UTC (rev 6994)
+++ trunk/data/unit_tesla.cfg	2009-06-12 08:05:49 UTC (rev 6995)
@@ -1,4 +1,4 @@
-set g_turrets_unit_tesla_std_health 1000	
+set g_turrets_unit_tesla_std_health 1000
 set g_turrets_unit_tesla_std_respawntime 120
 
 set g_turrets_unit_tesla_std_shot_dmg 100
@@ -10,7 +10,6 @@
 
 set g_turrets_unit_tesla_std_target_range_min 0
 set g_turrets_unit_tesla_std_target_range      1000
-set g_turrets_unit_tesla_std_target_range_fire 1000
 
 set g_turrets_unit_tesla_std_target_select_playerbias 1
 set g_turrets_unit_tesla_std_target_select_missilebias 1

Modified: trunk/data/unit_walker.cfg
===================================================================
--- trunk/data/unit_walker.cfg	2009-06-12 07:47:37 UTC (rev 6994)
+++ trunk/data/unit_walker.cfg	2009-06-12 08:05:49 UTC (rev 6995)
@@ -1,4 +1,4 @@
-set g_turrets_unit_walker_std_health 500	
+set g_turrets_unit_walker_std_health 500
 set g_turrets_unit_walker_std_respawntime 60
 
 set g_turrets_unit_walker_speed_run  300
@@ -20,7 +20,6 @@
 set g_turrets_unit_walker_std_shot_volly_refire 1
 
 set g_turrets_unit_walker_std_target_range 5000
-set g_turrets_unit_walker_std_target_range_fire 2000
 set g_turrets_unit_walker_std_target_range_optimal 100
 set g_turrets_unit_walker_std_target_range_min 0
 
@@ -34,9 +33,9 @@
 set g_turrets_unit_walker_std_ammo          500
 set g_turrets_unit_walker_std_ammo_recharge 100
 
-set g_turrets_unit_walker_std_aim_firetolerance_dist  64
+set g_turrets_unit_walker_std_aim_firetolerance_dist  100
 set g_turrets_unit_walker_std_aim_speed               45
-set g_turrets_unit_walker_std_aim_maxrot              90	
+set g_turrets_unit_walker_std_aim_maxrot              90
 set g_turrets_unit_walker_std_aim_maxpitch            15
 
 // Head (minigun) is attached. must use tractype 1
@@ -52,7 +51,7 @@
 set g_turrets_unit_walker_std_rocket_tunrate    0.4
 set g_turrets_unit_walker_std_rocket_speed      900
 
-// Meele attack. Only happens when theres a target directly in front 
+// Meele attack. Only happens when theres a target directly in front
 set g_turrets_unit_walker_std_meele_range 150
 set g_turrets_unit_walker_std_meele_dmg   100
-set g_turrets_unit_walker_std_meele_force 600
\ No newline at end of file
+set g_turrets_unit_walker_std_meele_force 600



More information about the nexuiz-commits mailing list