[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