[nexuiz-commits] r7692 - in branches/nexuiz-2.0: . data data/qcsrc/client data/qcsrc/server data/qcsrc/server/tturrets/include data/qcsrc/server/tturrets/system data/qcsrc/server/tturrets/units
DONOTREPLY at icculus.org
DONOTREPLY at icculus.org
Tue Sep 8 09:10:40 EDT 2009
Author: div0
Date: 2009-09-08 09:10:40 -0400 (Tue, 08 Sep 2009)
New Revision: 7692
Modified:
branches/nexuiz-2.0/.patchsets
branches/nexuiz-2.0/data/qcsrc/client/damage.qc
branches/nexuiz-2.0/data/qcsrc/server/t_items.qc
branches/nexuiz-2.0/data/qcsrc/server/tturrets/include/turrets_early.qh
branches/nexuiz-2.0/data/qcsrc/server/tturrets/system/system_aimprocs.qc
branches/nexuiz-2.0/data/qcsrc/server/tturrets/system/system_main.qc
branches/nexuiz-2.0/data/qcsrc/server/tturrets/units/unit_ewheel.qc
branches/nexuiz-2.0/data/qcsrc/server/tturrets/units/unit_flac.qc
branches/nexuiz-2.0/data/qcsrc/server/tturrets/units/unit_fusionreactor.qc
branches/nexuiz-2.0/data/qcsrc/server/tturrets/units/unit_hellion.qc
branches/nexuiz-2.0/data/qcsrc/server/tturrets/units/unit_hk.qc
branches/nexuiz-2.0/data/qcsrc/server/tturrets/units/unit_machinegun.qc
branches/nexuiz-2.0/data/qcsrc/server/tturrets/units/unit_mlrs.qc
branches/nexuiz-2.0/data/qcsrc/server/tturrets/units/unit_plasma.qc
branches/nexuiz-2.0/data/qcsrc/server/tturrets/units/unit_tessla.qc
branches/nexuiz-2.0/data/qcsrc/server/tturrets/units/unit_walker.qc
branches/nexuiz-2.0/data/unit_flac.cfg
branches/nexuiz-2.0/data/unit_machinegun.cfg
branches/nexuiz-2.0/data/unit_mlrs.cfg
branches/nexuiz-2.0/data/unit_phaser.cfg
branches/nexuiz-2.0/data/unit_plasma.cfg
branches/nexuiz-2.0/data/unit_plasma2.cfg
branches/nexuiz-2.0/data/vehicle_spiderbot.cfg
Log:
r7686 | tzork | 2009-09-08 06:48:35 -0400 (Tue, 08 Sep 2009) | 10 lines
Turrets update:
* slight adjustments to turret_stdproc_aim_generic
* make TFL_FIRECHECK_VERIFIED work a lil better
* fix borked TFL_FIRECHECK_AIMDIST
* add TFL_TARGETSELECT_MISSILESONLY (for flac turret)
* handle g_turrets_targetscan_maxdelay / g_turrets_targetscan_mindelay better
* various optimizations (removed / moved unlikely stuff from the code path)
* cleaned up most the code a bit
* reworked most units configs
* Make tessla work against vehicles
r7689 | div0 | 2009-09-08 08:59:16 -0400 (Tue, 08 Sep 2009) | 2 lines
fix #523 (items being too bright)
r7690 | div0 | 2009-09-08 09:06:03 -0400 (Tue, 08 Sep 2009) | 2 lines
hopefully fix sound origins for explosions (#521)
Modified: branches/nexuiz-2.0/.patchsets
===================================================================
--- branches/nexuiz-2.0/.patchsets 2009-09-08 13:08:36 UTC (rev 7691)
+++ branches/nexuiz-2.0/.patchsets 2009-09-08 13:10:40 UTC (rev 7692)
@@ -1,2 +1,2 @@
master = svn://svn.icculus.org/nexuiz/trunk
-revisions_applied = 1-7563,7565-7586,7589-7589,7592-7592,7595-7595,7597-7597,7601-7602,7605-7610,7612-7615,7619-7620,7623-7623,7626-7628,7644-7651,7658-7660,7663-7665,7670-7670,7672-7676,7678-7678
+revisions_applied = 1-7563,7565-7586,7589-7589,7592-7592,7595-7595,7597-7597,7601-7602,7605-7610,7612-7615,7619-7620,7623-7623,7626-7628,7644-7651,7658-7660,7663-7665,7670-7670,7672-7676,7678-7678,7686-7686,7689-7690
Modified: branches/nexuiz-2.0/data/qcsrc/client/damage.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/client/damage.qc 2009-09-08 13:08:36 UTC (rev 7691)
+++ branches/nexuiz-2.0/data/qcsrc/client/damage.qc 2009-09-08 13:10:40 UTC (rev 7692)
@@ -75,8 +75,6 @@
self = oldself;
- setorigin(self, org); // for sound() calls
-
// TODO spawn particle effects and sounds based on hittype
if(!DEATH_ISSPECIAL(hittype))
@@ -97,6 +95,8 @@
else
backoff = -1 * normalize(force);
+ setorigin(self, org + backoff * 2); // for sound() calls
+
switch(hitwep)
{
case WEP_LASER:
Modified: branches/nexuiz-2.0/data/qcsrc/server/t_items.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/t_items.qc 2009-09-08 13:08:36 UTC (rev 7691)
+++ branches/nexuiz-2.0/data/qcsrc/server/t_items.qc 2009-09-08 13:10:40 UTC (rev 7692)
@@ -48,7 +48,7 @@
// make the item look normal, and be touchable
e.model = e.mdl;
e.solid = SOLID_TRIGGER;
- e.effects = e.effects - (e.effects & (EF_ADDITIVE | EF_FULLBRIGHT));
+ e.effects &~= EF_ADDITIVE;
//e.colormod = '0 0 0';
e.alpha = 0;
@@ -63,7 +63,7 @@
// hide the item completely
e.model = string_null;
e.solid = SOLID_NOT;
- e.effects = e.effects - (e.effects & (EF_ADDITIVE | EF_FULLBRIGHT));
+ e.effects &~= EF_ADDITIVE;
//e.colormod = '0 0 0';
e.alpha = 0;
}
@@ -72,7 +72,7 @@
// make the item translucent green and not touchable
e.model = e.mdl;
e.solid = SOLID_NOT;
- e.effects = e.effects | EF_ADDITIVE | EF_FULLBRIGHT;
+ e.effects |= EF_ADDITIVE;
//e.colormod = '0.2 1 0.2';
e.alpha = 0.1;
}
Modified: branches/nexuiz-2.0/data/qcsrc/server/tturrets/include/turrets_early.qh
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/tturrets/include/turrets_early.qh 2009-09-08 13:08:36 UTC (rev 7691)
+++ branches/nexuiz-2.0/data/qcsrc/server/tturrets/include/turrets_early.qh 2009-09-08 13:10:40 UTC (rev 7692)
@@ -64,6 +64,8 @@
/// Use feild of view
#define TFL_TARGETSELECT_FOV 4096
+#define TFL_TARGETSELECT_MISSILESONLY 8192
+
/// aim flags
.float aim_flags;
/// Dont aim.
Modified: branches/nexuiz-2.0/data/qcsrc/server/tturrets/system/system_aimprocs.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/tturrets/system/system_aimprocs.qc 2009-09-08 13:08:36 UTC (rev 7691)
+++ branches/nexuiz-2.0/data/qcsrc/server/tturrets/system/system_aimprocs.qc 2009-09-08 13:10:40 UTC (rev 7692)
@@ -26,15 +26,16 @@
// Keep track of when we can shoot the next time and
// try to predict where the target will be then, so we can put our aimpoint there.
- // + sys_ticrate for non hitscan, becouse spawned
+ // + sys_ticrate, becouse spawned REMOVE THIS IF sv_gameplayfix_delayprojectiles are 0!
// projectiles dont move during the first tic of their life.
- if (self.turrcaps_flags & TFL_TURRCAPS_HITSCAN)
- mintime = max(self.attack_finished_single - time,0);
- else
- mintime = max(self.attack_finished_single - time,0) + sys_ticrate;
+ //if (self.turrcaps_flags & TFL_TURRCAPS_HITSCAN)
+ // mintime = max(self.attack_finished_single - time,0) + sys_ticrate;
+ //else
+ mintime = max(self.attack_finished_single - time,0) + sys_ticrate;
+
// Baseline
- pre_pos = real_origin(self.enemy);// + (self.enemy.velocity * mintime);
+ pre_pos = real_origin(self.enemy);
if (self.aim_flags & TFL_AIM_INFRONT) // Aim a bit in front of the target
pre_pos = pre_pos + (normalize(self.enemy.velocity) * 64);
@@ -47,8 +48,6 @@
if (self.aim_flags & TFL_AIM_SHOTTIMECOMPENSATE) // Need to conpensate for shot traveltime
{
// FIXME: this cant be the best way to do this..
-
-
prep = pre_pos;
for(i = 0; i < 4; ++i)
{
@@ -84,8 +83,6 @@
prep_z = prep_z + vz * sys_ticrate;
}
}
-
-
pre_pos = prep;
}
else
@@ -104,7 +101,8 @@
if(self.aim_flags & TFL_AIM_GROUND2)
{
- tracebox(pre_pos + '0 0 32',self.enemy.mins,self.enemy.maxs,pre_pos -'0 0 64',MOVE_WORLDONLY,self.enemy);
+ //tracebox(pre_pos + '0 0 32',self.enemy.mins,self.enemy.maxs,pre_pos -'0 0 64',MOVE_WORLDONLY,self.enemy);
+ traceline(pre_pos + '0 0 32',pre_pos -'0 0 64',MOVE_WORLDONLY,self.enemy);
if(trace_fraction != 1.0)
pre_pos = trace_endpos;
}
Modified: branches/nexuiz-2.0/data/qcsrc/server/tturrets/system/system_main.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/tturrets/system/system_main.qc 2009-09-08 13:08:36 UTC (rev 7691)
+++ branches/nexuiz-2.0/data/qcsrc/server/tturrets/system/system_main.qc 2009-09-08 13:10:40 UTC (rev 7692)
@@ -129,21 +129,31 @@
self.tur_dist_enemy = vlen(self.tur_shotorg - enemy_pos);
self.tur_dist_aimpos = vlen(self.tur_shotorg - self.tur_aimpos);
- if(self.firecheck_flags & TFL_FIRECHECK_VERIFIED)
- if(self.enemy)
+ if((self.firecheck_flags & TFL_FIRECHECK_VERIFIED) && (self.enemy))
{
oldpos = self.enemy.origin;
setorigin(self.enemy,self.tur_aimpos);
tracebox(self.tur_shotorg, '-1 -1 -1','1 1 1',self.tur_shotorg + (self.tur_shotdir_updated * self.tur_dist_aimpos),MOVE_NORMAL,self);
setorigin(self.enemy,oldpos);
+
+ if(trace_ent == self.enemy)
+ self.tur_dist_impact_to_aimpos = 0;
+ else
+ self.tur_dist_impact_to_aimpos = vlen(trace_endpos - self.tur_aimpos);// - (vlen(self.enemy.maxs - self.enemy.mins)*0.5);
+
+ self.tur_impactent = trace_ent;
+ self.tur_impacttime = vlen(self.tur_shotorg - trace_endpos) / self.shot_speed;
+
}
else
tracebox(self.tur_shotorg, '-1 -1 -1','1 1 1',self.tur_shotorg + (self.tur_shotdir_updated * self.tur_dist_aimpos),MOVE_NORMAL,self);
+ //traceline(self.tur_shotorg, self.tur_shotorg + (self.tur_shotdir_updated * self.tur_dist_aimpos),MOVE_NORMAL,self);
- self.tur_impactent = trace_ent;
- 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.tur_dist_impact_to_aimpos = vlen(trace_endpos - self.tur_aimpos) - (vlen(self.enemy.maxs - self.enemy.mins)*0.5);
+ self.tur_impactent = trace_ent;
+ self.tur_impacttime = vlen(self.tur_shotorg - trace_endpos) / self.shot_speed;
+
self = oldself;
}
@@ -418,10 +428,11 @@
// aim<->predicted impact
if (self.firecheck_flags & TFL_FIRECHECK_AIMDIST)
- if (self.tur_dist_impact_to_aimpos > self.aim_firetolerance_dist)
- if (self.tur_impactent != self.enemy)
- return 0;
+ if (self.tur_dist_impact_to_aimpos > self.aim_firetolerance_dist)
+ return 0;
+ //if (self.tur_impactent != self.enemy)
+
// Volly status
if (self.shot_volly > 1)
if (self.volly_counter == self.shot_volly)
@@ -465,7 +476,7 @@
if not(checkpvs(e_target.origin, e_turret))
return -1;
- if (!e_target)// == world)
+ if not (e_target)
return -2;
if(g_onslaught)
@@ -504,6 +515,10 @@
if not (validate_flags & TFL_TARGETSELECT_MISSILES)
return -10;
+ if (validate_flags & TFL_TARGETSELECT_MISSILESONLY)
+ if not (e_target.flags & FL_PROJECTILE)
+ return -10.5;
+
// Team check
if (validate_flags & TFL_TARGETSELECT_TEAMCHECK)
{
@@ -609,6 +624,8 @@
e_enemy = self.enemy;
m_score = self.turret_score_target(self,e_enemy) * self.target_select_samebias;
}
+ else
+ self.enemy = world;
e = findradius(self.origin,self.target_range);
@@ -657,26 +674,6 @@
turret_stdproc_respawn();
}
-
- if (cvar("g_turrets_reloadcvars") == 1)
- {
- e = nextent(world);
- while (e)
- {
- if (e.tur_head != world)
- {
-
- load_unit_settings(e,e.cvar_basename,1);
- if(e.turret_postthink)
- e.turret_postthink();
- }
-
- e = nextent(e);
- }
-
- cvar_set("g_turrets_reloadcvars","0");
- }
-
#ifdef TURRET_DEBUG
if (self.tur_dbg_tmr1 < time)
{
@@ -700,12 +697,14 @@
return;
}
- //This is just wrong :|
+ //This is just wrong :| and unlikely to ever happen.
+ /*
if(self.deadflag != DEAD_NO)
{
dprint("WARNING: dead turret running the think function!\n");
return;
}
+ */
// This is typicaly used for zaping every target in range
// turret_fusionreactor uses this to recharge friendlys.
@@ -732,8 +731,6 @@
}
self.enemy = world;
}
- /*
- // not used
else if(self.shoot_flags & TFL_SHOOT_CUSTOM)
{
// This one is doing something.. oddball. assume its handles what needs to be handled.
@@ -752,7 +749,6 @@
if (self.turret_firecheckfunc())
turret_fire();
}
- */
else
{
// Special case for volly always. if it fired once it must compleate the volly.
@@ -780,15 +776,24 @@
}
// Check if we have a vailid enemy, and try to find one if we dont.
- if( ((self.target_select_time + cvar("g_turrets_targetscan_maxdelay")) < time)
- || !self.enemy.takedamage
- || (turret_validate_target(self,self.enemy,self.target_validate_flags) <= 0) )
- if not (self.target_select_time + cvar("g_turrets_targetscan_mindelay") > time)
+
+ // g_turrets_targetscan_maxdelay forces a target re-scan this often
+ float do_target_scan;
+ if((self.target_select_time + cvar("g_turrets_targetscan_maxdelay")) < time)
+ do_target_scan = 1;
+
+ // Old target (if any) invalid?
+ if (turret_validate_target(self,self.enemy,self.target_validate_flags) <= 0)
+ do_target_scan = 1;
+
+ // But never more often then g_turrets_targetscan_mindelay!
+ if (self.target_select_time + cvar("g_turrets_targetscan_mindelay") > time)
+ do_target_scan = 0;
+
+ if(do_target_scan)
{
self.enemy = turret_select_target();
- //if(self.enemy)
- self.target_select_time = time;
-
+ self.target_select_time = time;
}
// No target, just go to idle, do any custom stuff and bail.
@@ -817,6 +822,7 @@
turret_stdproc_track();
turret_do_updates(self);
+
// Fire?
if (self.turret_firecheckfunc())
turret_fire();
@@ -832,14 +838,21 @@
if (cvar("g_turrets_nofire") != 0)
return;
- if ((!self.tur_active) || (self.deadflag != DEAD_NO))
+ /*
+ // unlikely to ever happen.
+ if (self.deadflag != DEAD_NO)
return;
+ if not (self.tur_active)
+ return;
+ */
+
self.turret_firefunc();
self.attack_finished_single = time + self.shot_refire;
- self.ammo = self.ammo - self.shot_dmg;
- self.volly_counter = self.volly_counter - 1;
+ self.ammo -= self.shot_dmg;
+ self.volly_counter = self.volly_counter - 1;
+
if (self.volly_counter <= 0)
{
self.volly_counter = self.shot_volly;
@@ -885,7 +898,30 @@
self.think = turret_think;
self.nextthink = time;
}
+void turrets_manager_think()
+{
+ self.nextthink = time + 1;
+ entity e;
+ if (cvar("g_turrets_reloadcvars") == 1)
+ {
+ e = nextent(world);
+ while (e)
+ {
+ if (e.tur_head != world)
+ {
+
+ load_unit_settings(e,e.cvar_basename,1);
+ if(e.turret_postthink)
+ e.turret_postthink();
+ }
+
+ e = nextent(e);
+ }
+ cvar_set("g_turrets_reloadcvars","0");
+ }
+}
+
/*
* Standard turret initialization. use this!
* (unless you have a very good reason not to)
@@ -895,6 +931,16 @@
{
entity e,ee;
+ e = find(world, classname, "turret_manager");
+ if not (e)
+ {
+ e = spawn();
+ e.classname = "turret_manager";
+ e.think = turrets_manager_think;
+ e.nextthink = time + 2;
+ }
+
+
if(csqc_shared)
{
dprint("turrets: csqc_shared requested but not implemented. expect strange things to happen.\n");
@@ -930,7 +976,7 @@
if (!self.team)
self.team = 14; // Assume turrets are on the defending side if not explicitly set otehrwize
}
- else if (!teamplay)
+ else if not (teamplay)
self.team = MAX_SHOT_DISTANCE; // Group all turrets into the same team iso they dont kill eachother.
else if(g_onslaught && self.targetname)
{
Modified: branches/nexuiz-2.0/data/qcsrc/server/tturrets/units/unit_ewheel.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/tturrets/units/unit_ewheel.qc 2009-09-08 13:08:36 UTC (rev 7691)
+++ branches/nexuiz-2.0/data/qcsrc/server/tturrets/units/unit_ewheel.qc 2009-09-08 13:10:40 UTC (rev 7692)
@@ -25,7 +25,7 @@
entity proj;
float i;
- for (i=0;i<1;++i)
+ for (i = 0; i < 1; ++i)
{
turret_do_updates(self);
@@ -34,8 +34,6 @@
proj = spawn ();
setorigin(proj, self.tur_shotorg);
- //setsize(proj, '-0.5 -0.5 -0.5', '0.5 0.5 0.5');
- //setmodel(proj, "models/laser.mdl"); // precision set above
proj.classname = "ewheel bolt";
proj.owner = self;
proj.bot_dodge = FALSE;
@@ -45,9 +43,8 @@
proj.solid = SOLID_BBOX;
proj.movetype = MOVETYPE_FLYMISSILE;
proj.velocity = normalize(self.tur_shotdir_updated + randomvec() * self.shot_spread) * self.shot_speed;
- proj.angles = vectoangles(proj.velocity);
+ //proj.angles = vectoangles(proj.velocity);
proj.touch = turret_ewheel_projectile_explode;
- //proj.effects = EF_LOWPRECISION | EF_BRIGHTFIELD;
proj.enemy = self.enemy;
proj.flags = FL_PROJECTILE | FL_NOTARGET;
@@ -135,6 +132,7 @@
if (self.pathcurrent)
{
+ /*
switch (self.waterlevel)
{
case 0:
@@ -142,6 +140,7 @@
case 2:
case 3:
}
+ */
self.moveto = self.pathcurrent.origin;
self.steerto = steerlib_attract2(self.moveto,0.5,500,0.95);
@@ -358,59 +357,6 @@
}
-/*
-float test_stack_1(float eval)
-{
- switch (eval)
- {
- case VCM_EVAL:
- return verb.verb_static_value;
-
- case VCM_DO:
- dprint("test_stack_1\n");
- return VS_CALL_REMOVE;
- }
-
- return VS_CALL_REMOVE;
-}
-
-float test_stack_2(float eval)
-{
- switch (eval)
- {
- case VCM_EVAL:
- return verb.verb_static_value;
-
- case VCM_DO:
- dprint("test_stack_2\n");
- return VS_CALL_REMOVE;
- }
-
- return VS_CALL_REMOVE;
-}
-
-float ccnntt;
-float test_stack_3(float eval)
-{
- switch (eval)
- {
- case VCM_EVAL:
- return verb.verb_static_value;
-
- case VCM_DO:
- dprint("test_stack_3\n");
- ++ccnntt;
- if(ccnntt > 3)
- return VS_CALL_REMOVE;
- else
- return VS_CALL_YES_DONE;
- }
-
- return VS_CALL_YES_DONE;
-}
-
-.entity test_stack;
-*/
void turret_ewheel_dinit()
{
entity e;
@@ -434,7 +380,6 @@
self.ammo_flags = TFL_AMMO_ENERGY | TFL_AMMO_RECHARGE | TFL_AMMO_RECIVE;
self.turrcaps_flags = TFL_TURRCAPS_PLAYERKILL | TFL_TURRCAPS_MOVE | TFL_TURRCAPS_ROAM | TFL_TURRCAPS_HEADATTACHED;
- //self.aim_flags = TFL_AIM_SIMPLE;// TFL_AIM_LEAD | TFL_AIM_ZEASE;
self.turret_respawnhook = ewheel_respawnhook;
self.turret_diehook = ewheel_diehook;
@@ -475,16 +420,6 @@
verbstack_push(self.verbs_move, ewheel_moveverb_path, WVM_PATH, 0, self);
//verbstack_push(self.verbs_move, ewheel_moveverb_runaway,WVM_PANIC, 0, self);
- /*
- self.test_stack = spawn();
- verbstack_push(self.test_stack, test_stack_1,1, 0, self);
- verbstack_push(self.test_stack, test_stack_2,2, 0, self);
- verbstack_push(self.test_stack, test_stack_3,100,0, self);
- while(verbstack_popfifo(self.test_stack) != 0)
- */
-
-
-
// Convert from dgr / sec to dgr / tic
self.tur_head.aim_speed = cvar("g_turrets_unit_ewheel_turnrate");
self.tur_head.aim_speed = self.tur_head.aim_speed / (1 / self.ticrate);
Modified: branches/nexuiz-2.0/data/qcsrc/server/tturrets/units/unit_flac.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/tturrets/units/unit_flac.qc 2009-09-08 13:08:36 UTC (rev 7691)
+++ branches/nexuiz-2.0/data/qcsrc/server/tturrets/units/unit_flac.qc 2009-09-08 13:10:40 UTC (rev 7692)
@@ -12,7 +12,6 @@
sound (self, CHAN_WEAPON, "weapons/hagar_fire.wav", VOL_BASE, ATTN_NORM);
proj = spawn ();
setorigin(proj, self.tur_shotorg);
- // setmodel(proj, "models/turrets/pd_proj.md3");
setsize(proj, '0 0 0', '0 0 0');
proj.classname = "flac_projectile";
proj.owner = self;
@@ -21,14 +20,11 @@
proj.solid = SOLID_BBOX;
proj.movetype = MOVETYPE_FLYMISSILE;
proj.flags = FL_PROJECTILE;
- // proj.effects = EF_LOWPRECISION;
proj.takedamage = DAMAGE_NO;
- //proj.health = 100;
proj.velocity = normalize(self.tur_shotdir_updated + randomvec() * self.shot_spread) * self.shot_speed;
proj.angles = vectoangles(proj.velocity);
proj.touch = turret_flac_projectile_explode;
proj.think = turret_flac_projectile_explode;
- //proj.nextthink = time + vlen(self.tur_shotorg - self.enemy.origin) / self.shot_speed;
proj.nextthink = time + max(self.tur_impacttime,(self.shot_radius * 3) / self.shot_speed);
proj.enemy = self.enemy;
proj.cnt = time + 5;
@@ -89,7 +85,6 @@
{
if (self.netname == "") self.netname = "FLAC Cannon";
-
self.turrcaps_flags = TFL_TURRCAPS_RADIUSDMG | TFL_TURRCAPS_FASTPROJ | TFL_TURRCAPS_MISSILEKILL;
self.ammo_flags = TFL_AMMO_ROCKETS | TFL_AMMO_RECHARGE;
self.aim_flags = TFL_AIM_LEAD | TFL_AIM_SHOTTIMECOMPENSATE;
@@ -102,7 +97,7 @@
setsize(self.tur_head,'-32 -32 0','32 32 64');
self.damage_flags |= TFL_DMG_HEADSHAKE;
- self.target_select_flags |= TFL_TARGETSELECT_NOTURRETS;
+ self.target_select_flags |= TFL_TARGETSELECT_NOTURRETS | TFL_TARGETSELECT_MISSILESONLY;
if (!turret_tag_setup())
dprint("Warning: Turret ",self.classname, " faild to initialize md3 tags\n");
@@ -118,7 +113,6 @@
{
precache_model ("models/turrets/base.md3");
precache_model ("models/turrets/flac.md3");
- //precache_model("models/turrets/pd_proj.md3");
self.think = turret_flac_dinit;
self.nextthink = time + 0.5;
Modified: branches/nexuiz-2.0/data/qcsrc/server/tturrets/units/unit_fusionreactor.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/tturrets/units/unit_fusionreactor.qc 2009-09-08 13:08:36 UTC (rev 7691)
+++ branches/nexuiz-2.0/data/qcsrc/server/tturrets/units/unit_fusionreactor.qc 2009-09-08 13:10:40 UTC (rev 7692)
@@ -17,7 +17,6 @@
return 1;
}
-
void turret_fusionreactor_fire()
{
self.enemy.ammo = min(self.enemy.ammo + self.shot_dmg,self.enemy.ammo_max);
Modified: branches/nexuiz-2.0/data/qcsrc/server/tturrets/units/unit_hellion.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/tturrets/units/unit_hellion.qc 2009-09-08 13:08:36 UTC (rev 7691)
+++ branches/nexuiz-2.0/data/qcsrc/server/tturrets/units/unit_hellion.qc 2009-09-08 13:10:40 UTC (rev 7692)
@@ -29,6 +29,9 @@
sound (self, CHAN_WEAPON, "weapons/hagar_fire.wav", VOL_BASE, ATTN_NORM);
+ // switch tubes
+ //self.tur_shotorg_y = self.tur_shotorg_y * -1;
+
missile = spawn ();
setorigin(missile, self.tur_shotorg);
setsize (missile, '-3 -3 -3', '3 3 3'); // give it some size so it can be shot
@@ -57,9 +60,6 @@
CSQCProjectile(missile, FALSE, PROJECTILE_ROCKET, FALSE); // no culling, has fly sound
- // switch tubes
- self.tur_shotorg_y = self.tur_shotorg_y * -1;
-
if (self.tur_head.frame == 0)
self.tur_head.frame = self.tur_head.frame + 1;
@@ -116,8 +116,6 @@
pre_pos = (pre_pos + self.enemy.origin) * 0.5;
- //pre_pos += randomvec() * 128; //self.tur_aimpos * (sin(32) * time) ;
-
// Find out the direction to that place
newdir = normalize(pre_pos - self.origin);
@@ -179,12 +177,15 @@
{
if (self.netname == "") self.netname = "Hellion Missile Turret";
- if (!self.shot_speed_max) self.shot_speed_max = cvar("g_turrets_unit_hellion_std_shot_speed_max");
- if (!self.shot_speed_gain) self.shot_speed_gain = cvar("g_turrets_unit_hellion_std_shot_speed_gain");
+ if not (self.shot_speed_max)
+ self.shot_speed_max = cvar("g_turrets_unit_hellion_std_shot_speed_max");
+ if not (self.shot_speed_gain)
+ self.shot_speed_gain = cvar("g_turrets_unit_hellion_std_shot_speed_gain");
+
self.turrcaps_flags = TFL_TURRCAPS_RADIUSDMG | TFL_TURRCAPS_FASTPROJ | TFL_TURRCAPS_PLAYERKILL | TFL_TURRCAPS_MISSILEKILL;
self.aim_flags = TFL_AIM_SIMPLE;
- self.target_select_flags = TFL_TARGETSELECT_LOS | TFL_TARGETSELECT_PLAYERS | TFL_TARGETSELECT_TRIGGERTARGET | TFL_TARGETSELECT_RANGELIMTS | TFL_TARGETSELECT_TEAMCHECK ;
+ self.target_select_flags = TFL_TARGETSELECT_LOS | TFL_TARGETSELECT_PLAYERS | TFL_TARGETSELECT_RANGELIMTS | TFL_TARGETSELECT_TEAMCHECK ;
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;
@@ -197,10 +198,7 @@
if (!turret_tag_setup())
dprint("Warning: Turret ",self.classname, " faild to initialize md3 tags\n");
- // Our fire routine
self.turret_firefunc = turret_hellion_attack;
-
- // Custom animations and sutch
self.turret_postthink = turret_hellion_postthink;
}
@@ -208,7 +206,6 @@
*/
void spawnfunc_turret_hellion()
{
- //precache_model ( "models/turrets/mlrs_rocket.md3");
precache_model ("models/turrets/hellion.md3");
precache_model ("models/turrets/base.md3");
Modified: branches/nexuiz-2.0/data/qcsrc/server/tturrets/units/unit_hk.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/tturrets/units/unit_hk.qc 2009-09-08 13:08:36 UTC (rev 7691)
+++ branches/nexuiz-2.0/data/qcsrc/server/tturrets/units/unit_hk.qc 2009-09-08 13:10:40 UTC (rev 7692)
@@ -122,25 +122,6 @@
}
-/*
-void turret_hk_missile_touch()
-{
- if(other == self.enemy)
- turret_hk_missile_explode();
- else
- {
- if(self.cnt < time)
- {
- self.cnt = time + 0.25;
- self.health = self.health - 5;
- if(self.health <= 0)
- turret_hk_missile_explode();
-
- }
- }
-}
-*/
-
void turret_hk_missile_think()
{
vector vu, vd, vf, vl, vr, ve; // Vector (direction)
@@ -291,7 +272,6 @@
myspeed = min(myspeed * hk_accel2,hk_maxspeed);
wishdir = ve;
- //wishdir = normalize(self.enemy.origin - (self.enemy.origin + self.enemy.velocity));
}
if ((myspeed > hk_minspeed) && (self.cnt > time))
@@ -309,13 +289,8 @@
// Calculate new heading
olddir = normalize(self.velocity);
-
newdir = normalize(olddir + wishdir * cvar("g_turrets_unit_hk_std_shot_speed_turnrate"));
- //fu = (1 / hk_maxspeed) * myspeed;
- //fd = fu - (0.75 - 0.25);
- //newdir = normalize(olddir + wishdir * fd);
-
// Set heading & speed
self.velocity = newdir * myspeed;
@@ -455,19 +430,15 @@
self.turret_addtarget = turret_hk_addtarget;
}
-/*
+
+/*QUAKED turret_hk (0 .5 .8) ?
* Turret that fires Hunter-killer missiles.
* Missiles seek their target and try to avoid obstacles. If target dies early, they
* pick a new one on their own.
*/
-/*QUAKED turret_hk (0 .5 .8) ?
-hunter-killer missiles.
-*/
-
void spawnfunc_turret_hk()
{
- //precache_model ( "models/turrets/hunter2.md3");
precache_model ("models/turrets/base.md3");
precache_model ("models/turrets/hk.md3");
Modified: branches/nexuiz-2.0/data/qcsrc/server/tturrets/units/unit_machinegun.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/tturrets/units/unit_machinegun.qc 2009-09-08 13:08:36 UTC (rev 7691)
+++ branches/nexuiz-2.0/data/qcsrc/server/tturrets/units/unit_machinegun.qc 2009-09-08 13:10:40 UTC (rev 7692)
@@ -13,11 +13,9 @@
//w_deathtypestring = "had an alergic reaction due to 10 kilos of led";
te_smallflash(self.tur_shotorg);
- // trailparticles(self,particleeffectnum("EF_MGTURRETTRAIL"),self.tur_shotorg_updated,trace_endpos);
// muzzle flash for 3rd person view
flash = spawn();
- //setorigin(flash, '43 1 8');
setmodel(flash, "models/uziflash.md3"); // precision set below
setattachment(flash, self.tur_head, "tag_fire");
flash.think = W_Uzi_Flash_Go;
@@ -34,7 +32,7 @@
if (self.netname == "") self.netname = "Machinegun Turret";
self.ammo_flags = TFL_AMMO_BULLETS | TFL_AMMO_RECHARGE | TFL_AMMO_RECIVE;
- self.turrcaps_flags = TFL_TURRCAPS_PLAYERKILL;// | TFL_TURRCAPS_MISSILEKILL;
+ self.turrcaps_flags = TFL_TURRCAPS_PLAYERKILL;
self.aim_flags = TFL_AIM_LEAD;
if(cvar("g_antilag_bullets"))
@@ -59,13 +57,9 @@
}
-
-/*
+/*QUAKED turret_machinegun (0 .5 .8) ?
* machinegun turret. does what you'd expect
*/
-
-/*QUAKED turret_machinegun (0 .5 .8) ?
-*/
void spawnfunc_turret_machinegun()
{
precache_model ("models/turrets/machinegun.md3");
Modified: branches/nexuiz-2.0/data/qcsrc/server/tturrets/units/unit_mlrs.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/tturrets/units/unit_mlrs.qc 2009-09-08 13:08:36 UTC (rev 7691)
+++ branches/nexuiz-2.0/data/qcsrc/server/tturrets/units/unit_mlrs.qc 2009-09-08 13:10:40 UTC (rev 7692)
@@ -20,7 +20,6 @@
sound (self, CHAN_WEAPON, "weapons/rocket_fire.wav", VOL_BASE, ATTN_NORM);
missile = spawn ();
- //setsize (missile, '0 0 0', '0 0 0'); // give it some size so it can be shot
setsize (missile, '-3 -3 -3', '3 3 3'); // give it some size so it can be shot
setorigin(missile, self.tur_shotorg);
missile.classname = "mlrs_missile";
@@ -29,12 +28,8 @@
missile.bot_dodgerating = self.shot_dmg;
missile.takedamage = DAMAGE_NO;
missile.damageforcescale = 4;
- //missile.health = 25;
missile.think = turret_mlrs_rocket_explode;
-
missile.nextthink = time + max(self.tur_impacttime,(self.shot_radius * 2) / self.shot_speed);
- //missile.nextthink = missile.nextthink + random() * self.shot_spread;
-
missile.solid = SOLID_BBOX;
missile.movetype = MOVETYPE_FLYMISSILE;
missile.velocity = normalize(self.tur_shotdir_updated + randomvec() * self.shot_spread) * self.shot_speed;
@@ -47,8 +42,6 @@
CSQCProjectile(missile, TRUE, PROJECTILE_ROCKET, FALSE); // no cull, fly sound
te_explosion (missile.origin);
-
- //self.tur_head.frame = 7 - self.volly_counter;
}
void turret_mlrs_rocket_touch()
@@ -101,7 +94,7 @@
self.turrcaps_flags = TFL_TURRCAPS_RADIUSDMG | TFL_TURRCAPS_MEDPROJ | TFL_TURRCAPS_PLAYERKILL;
self.ammo_flags = TFL_AMMO_ROCKETS | TFL_AMMO_RECHARGE;
- self.aim_flags = TFL_AIM_LEAD | TFL_AIM_ZEASE | TFL_AIM_SHOTTIMECOMPENSATE | TFL_AIM_INFRONT;
+ self.aim_flags = TFL_AIM_LEAD | TFL_AIM_SHOTTIMECOMPENSATE;// | TFL_AIM_GROUND2;
if (turret_stdproc_init("mlrs_std",0,"models/turrets/base.md3","models/turrets/mlrs.md3") == 0)
{
@@ -110,8 +103,7 @@
}
self.damage_flags |= TFL_DMG_HEADSHAKE;
-
- self.shoot_flags |= TFL_SHOOT_VOLLYALWAYS;
+ self.shoot_flags |= TFL_SHOOT_VOLLYALWAYS;
self.volly_counter = self.shot_volly;
if (!turret_tag_setup())
@@ -128,7 +120,6 @@
void spawnfunc_turret_mlrs()
{
- //precache_model ( "models/turrets/rocket.md3");
precache_model ("models/turrets/mlrs.md3");
precache_model ("models/turrets/base.md3");
Modified: branches/nexuiz-2.0/data/qcsrc/server/tturrets/units/unit_plasma.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/tturrets/units/unit_plasma.qc 2009-09-08 13:08:36 UTC (rev 7691)
+++ branches/nexuiz-2.0/data/qcsrc/server/tturrets/units/unit_plasma.qc 2009-09-08 13:10:40 UTC (rev 7692)
@@ -44,7 +44,6 @@
proj.solid = SOLID_BBOX;
proj.movetype = MOVETYPE_FLYMISSILE;
proj.velocity = normalize(self.tur_shotdir_updated + randomvec() * self.shot_spread) * self.shot_speed;
- //proj.velocity = self.tur_shotdir_updated * self.shot_speed;
proj.touch = turret_plasma_projectile_explode;
proj.flags = FL_PROJECTILE;
proj.enemy = self.enemy;
@@ -73,7 +72,6 @@
proj.solid = SOLID_BBOX;
proj.movetype = MOVETYPE_FLYMISSILE;
proj.velocity = normalize(self.tur_shotdir_updated + randomvec() * self.shot_spread) * self.shot_speed;
- //proj.velocity = self.tur_shotdir_updated * self.shot_speed;
proj.touch = turret_plasma_projectile_explode;
proj.flags = FL_PROJECTILE;
proj.enemy = self.enemy;
@@ -123,7 +121,6 @@
self.ammo_flags = TFL_AMMO_ENERGY | TFL_AMMO_RECHARGE | TFL_AMMO_RECIVE;
// How to aim
- //self.aim_flags = TFL_AIM_LEAD | TFL_AIM_SHOTTIMECOMPENSATE | TFL_AIM_ZPREDICT | TFL_AIM_GROUND2;
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;
@@ -134,17 +131,8 @@
}
self.damage_flags |= TFL_DMG_HEADSHAKE;
-
- //self.firecheck_flags |= (TFL_FIRECHECK_AFF | TFL_FIRECHECK_VERIFIED);
self.firecheck_flags |= TFL_FIRECHECK_AFF;
- //self.target_select_flags |= TFL_TARGETSELECT_FOV;
- //self.target_select_fov = 45;
-
- //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");
@@ -175,13 +163,8 @@
}
self.damage_flags |= TFL_DMG_HEADSHAKE;
- //self.firecheck_flags |= (TFL_FIRECHECK_AFF | TFL_FIRECHECK_VERIFIED);
- //self.firecheck_flags |= TFL_FIRECHECK_AFF;
+ self.firecheck_flags |= TFL_FIRECHECK_AFF;
- //setmodel(self,"models/turrets/base.md3");
- //setmodel(self.tur_head,"models/turrets/plasmad.md3");
-
-
if (!turret_tag_setup())
dprint("Warning: Turret ",self.classname, " faild to initialize md3 tags\n");
Modified: branches/nexuiz-2.0/data/qcsrc/server/tturrets/units/unit_tessla.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/tturrets/units/unit_tessla.qc 2009-09-08 13:08:36 UTC (rev 7691)
+++ branches/nexuiz-2.0/data/qcsrc/server/tturrets/units/unit_tessla.qc 2009-09-08 13:10:40 UTC (rev 7692)
@@ -8,6 +8,7 @@
entity e;
entity etarget;
float d,dd;
+ float r;
dd = range + 1;
@@ -15,9 +16,11 @@
while (e)
{
if ((e.toasted != 1) && (e != from))
- if (turret_validate_target(self,e,self.target_validate_flags) > 0)
+ {
+ r = turret_validate_target(self,e,self.target_validate_flags);
+ if (r > 0)
{
- traceline(from.origin,e.origin,MOVE_WORLDONLY,from);
+ traceline(from.origin,0.5 * (e.absmin + e.absmax),MOVE_WORLDONLY,from);
if (trace_fraction == 1.0)
{
d = vlen(e.origin - from.origin);
@@ -28,6 +31,8 @@
}
}
}
+ }
+
e = e.chain;
}
@@ -83,6 +88,8 @@
self.target_validate_flags = TFL_TARGETSELECT_PLAYERS | TFL_TARGETSELECT_MISSILES |
TFL_TARGETSELECT_TEAMCHECK;
+
+
self.attack_finished_single = time + self.shot_refire;
for (i = 0; i < 10; ++i)
{
@@ -150,8 +157,6 @@
return;
}
setsize(self,'-48 -48 0','48 48 96');
- //setmodel(self,"models/turrets/tesla_base.md3");
- //setmodel(self.tur_head,"models/turrets/tesla_head.md3");
self.target_validate_flags = TFL_TARGETSELECT_PLAYERS | TFL_TARGETSELECT_MISSILES |
TFL_TARGETSELECT_RANGELIMTS | TFL_TARGETSELECT_TEAMCHECK;
Modified: branches/nexuiz-2.0/data/qcsrc/server/tturrets/units/unit_walker.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/tturrets/units/unit_walker.qc 2009-09-08 13:08:36 UTC (rev 7691)
+++ branches/nexuiz-2.0/data/qcsrc/server/tturrets/units/unit_walker.qc 2009-09-08 13:10:40 UTC (rev 7692)
@@ -866,8 +866,6 @@
entity e;
self.origin = self.wkr_spawn.origin;
- //self.wkr_props.solid = SOLID_BBOX;
- //self.wkr_props.alpha = 1;
self.angles = self.wkr_spawn.angles;
vtmp = self.wkr_spawn.origin;
@@ -967,8 +965,6 @@
self.solid = SOLID_SLIDEBOX;
self.takedamage = DAMAGE_AIM;
- //setmodel(self,"models/turrets/walker_body.md3");
- //setmodel(self.tur_head,"models/turrets/walker_head_minigun.md3");
setmodel(self.wkr_spawn,"models/turrets/walker_spawn.md3");
setattachment(self.tur_head,self,"tag_head");
Modified: branches/nexuiz-2.0/data/unit_flac.cfg
===================================================================
--- branches/nexuiz-2.0/data/unit_flac.cfg 2009-09-08 13:08:36 UTC (rev 7691)
+++ branches/nexuiz-2.0/data/unit_flac.cfg 2009-09-08 13:10:40 UTC (rev 7692)
@@ -4,11 +4,9 @@
set g_turrets_unit_flac_std_shot_dmg 20
set g_turrets_unit_flac_std_shot_refire 0.1
set g_turrets_unit_flac_std_shot_radius 100
-set g_turrets_unit_flac_std_shot_speed 2000
+set g_turrets_unit_flac_std_shot_speed 9000
set g_turrets_unit_flac_std_shot_spread 0.02
set g_turrets_unit_flac_std_shot_force 25
-set g_turrets_unit_flac_std_shot_volly 0
-set g_turrets_unit_flac_std_shot_volly_refire 0
set g_turrets_unit_flac_std_target_range 4000
set g_turrets_unit_flac_std_target_range_min 500
Modified: branches/nexuiz-2.0/data/unit_machinegun.cfg
===================================================================
--- branches/nexuiz-2.0/data/unit_machinegun.cfg 2009-09-08 13:08:36 UTC (rev 7691)
+++ branches/nexuiz-2.0/data/unit_machinegun.cfg 2009-09-08 13:10:40 UTC (rev 7692)
@@ -7,9 +7,10 @@
set g_turrets_unit_machinegun_std_shot_force 20
set g_turrets_unit_machinegun_std_shot_radius 0
set g_turrets_unit_machinegun_std_shot_speed 34920
-set g_turrets_unit_machinegun_std_shot_volly 6
-set g_turrets_unit_machinegun_std_shot_volly_refire 1
+set g_turrets_unit_machinegun_std_shot_volly 5
+set g_turrets_unit_machinegun_std_shot_volly_refire 0.5
+
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_optimal 1000
@@ -24,14 +25,14 @@
set g_turrets_unit_machinegun_std_ammo 300
set g_turrets_unit_machinegun_std_ammo_recharge 75
-set g_turrets_unit_machinegun_std_aim_firetolerance_dist 70
-set g_turrets_unit_machinegun_std_aim_speed 200
+set g_turrets_unit_machinegun_std_aim_firetolerance_dist 25
+set g_turrets_unit_machinegun_std_aim_speed 720
set g_turrets_unit_machinegun_std_aim_maxrot 360
set g_turrets_unit_machinegun_std_aim_maxpitch 25
set g_turrets_unit_machinegun_std_track_type 3
-set g_turrets_unit_machinegun_std_track_accel_pitch 0.25
-set g_turrets_unit_machinegun_std_track_accel_rot 0.8
-set g_turrets_unit_machinegun_std_track_blendrate 0.3
+set g_turrets_unit_machinegun_std_track_accel_pitch 0.5
+set g_turrets_unit_machinegun_std_track_accel_rot 0.75
+set g_turrets_unit_machinegun_std_track_blendrate 0.5
Modified: branches/nexuiz-2.0/data/unit_mlrs.cfg
===================================================================
--- branches/nexuiz-2.0/data/unit_mlrs.cfg 2009-09-08 13:08:36 UTC (rev 7691)
+++ branches/nexuiz-2.0/data/unit_mlrs.cfg 2009-09-08 13:10:40 UTC (rev 7692)
@@ -1,36 +1,36 @@
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
-set g_turrets_unit_mlrs_std_shot_refire 0.2
+set g_turrets_unit_mlrs_std_shot_dmg 50
+set g_turrets_unit_mlrs_std_shot_refire 0.1
set g_turrets_unit_mlrs_std_shot_radius 125
set g_turrets_unit_mlrs_std_shot_speed 2000
-set g_turrets_unit_mlrs_std_shot_spread 0.025
+set g_turrets_unit_mlrs_std_shot_spread 0.05
set g_turrets_unit_mlrs_std_shot_force 25
-set g_turrets_unit_mlrs_std_shot_volly 3
-set g_turrets_unit_mlrs_std_shot_volly_refire 2.5
+set g_turrets_unit_mlrs_std_shot_volly 6
+set g_turrets_unit_mlrs_std_shot_volly_refire 1
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_optimal 500
set g_turrets_unit_mlrs_std_target_select_rangebias 0.25
-set g_turrets_unit_mlrs_std_target_select_samebias 0.25
+set g_turrets_unit_mlrs_std_target_select_samebias 0.5
set g_turrets_unit_mlrs_std_target_select_anglebias 0.5
set g_turrets_unit_mlrs_std_target_select_playerbias 1
set g_turrets_unit_mlrs_std_target_select_missilebias 0
set g_turrets_unit_mlrs_std_ammo_max 420
set g_turrets_unit_mlrs_std_ammo 420
-set g_turrets_unit_mlrs_std_ammo_recharge 35
+set g_turrets_unit_mlrs_std_ammo_recharge 70
-set g_turrets_unit_mlrs_std_aim_firetolerance_dist 125
-set g_turrets_unit_mlrs_std_aim_speed 125
+set g_turrets_unit_mlrs_std_aim_firetolerance_dist 120
+set g_turrets_unit_mlrs_std_aim_speed 270
set g_turrets_unit_mlrs_std_aim_maxrot 360
-set g_turrets_unit_mlrs_std_aim_maxpitch 15
+set g_turrets_unit_mlrs_std_aim_maxpitch 20
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_pitch 0.5
set g_turrets_unit_mlrs_std_track_accel_rot 0.8
-set g_turrets_unit_mlrs_std_track_blendrate 0.3
+set g_turrets_unit_mlrs_std_track_blendrate 0.2
Modified: branches/nexuiz-2.0/data/unit_phaser.cfg
===================================================================
--- branches/nexuiz-2.0/data/unit_phaser.cfg 2009-09-08 13:08:36 UTC (rev 7691)
+++ branches/nexuiz-2.0/data/unit_phaser.cfg 2009-09-08 13:10:40 UTC (rev 7692)
@@ -27,12 +27,12 @@
set g_turrets_unit_phaser_std_aim_firetolerance_dist 100
-set g_turrets_unit_phaser_std_aim_speed 150
+set g_turrets_unit_phaser_std_aim_speed 540
set g_turrets_unit_phaser_std_aim_maxrot 360
set g_turrets_unit_phaser_std_aim_maxpitch 30
set g_turrets_unit_phaser_std_track_type 3
set g_turrets_unit_phaser_std_track_accel_pitch 0.5
-set g_turrets_unit_phaser_std_track_accel_rot 0.9
-set g_turrets_unit_phaser_std_track_blendrate 0.1
+set g_turrets_unit_phaser_std_track_accel_rot 0.65
+set g_turrets_unit_phaser_std_track_blendrate 0.5
Modified: branches/nexuiz-2.0/data/unit_plasma.cfg
===================================================================
--- branches/nexuiz-2.0/data/unit_plasma.cfg 2009-09-08 13:08:36 UTC (rev 7691)
+++ branches/nexuiz-2.0/data/unit_plasma.cfg 2009-09-08 13:10:40 UTC (rev 7692)
@@ -44,9 +44,9 @@
set g_turrets_unit_plasma_std_ammo_recharge 40
// If predicted emeypos is this or closer to predicted impact, fire is ok
-set g_turrets_unit_plasma_std_aim_firetolerance_dist 100
+set g_turrets_unit_plasma_std_aim_firetolerance_dist 120
// 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
+set g_turrets_unit_plasma_std_aim_speed 270
// Max rottation of head
set g_turrets_unit_plasma_std_aim_maxrot 360
// Max pitch of head
@@ -58,7 +58,7 @@
// 3 = smmoth with simulated inertia
set g_turrets_unit_plasma_std_track_type 3
// Following controls how _track_type = 3 works.
-set g_turrets_unit_plasma_std_track_accel_pitch 0.25
+set g_turrets_unit_plasma_std_track_accel_pitch 0.5
set g_turrets_unit_plasma_std_track_accel_rot 0.8
-set g_turrets_unit_plasma_std_track_blendrate 0.4
+set g_turrets_unit_plasma_std_track_blendrate 0.2
Modified: branches/nexuiz-2.0/data/unit_plasma2.cfg
===================================================================
--- branches/nexuiz-2.0/data/unit_plasma2.cfg 2009-09-08 13:08:36 UTC (rev 7691)
+++ branches/nexuiz-2.0/data/unit_plasma2.cfg 2009-09-08 13:10:40 UTC (rev 7692)
@@ -25,14 +25,14 @@
set g_turrets_unit_plasma_dual_ammo 320
set g_turrets_unit_plasma_dual_ammo_recharge 40
-set g_turrets_unit_plasma_dual_aim_firetolerance_dist 300
+set g_turrets_unit_plasma_dual_aim_firetolerance_dist 200
-set g_turrets_unit_plasma_dual_aim_speed 150
+set g_turrets_unit_plasma_dual_aim_speed 270
set g_turrets_unit_plasma_dual_aim_maxrot 360
set g_turrets_unit_plasma_dual_aim_maxpitch 30
set g_turrets_unit_plasma_dual_track_type 3
-set g_turrets_unit_plasma_dual_track_accel_pitch 0.25
-set g_turrets_unit_plasma_dual_track_accel_rot 0.8
-set g_turrets_unit_plasma_dual_track_blendrate 0.4
+set g_turrets_unit_plasma_dual_track_accel_pitch 0.5
+set g_turrets_unit_plasma_dual_track_accel_rot 0.75
+set g_turrets_unit_plasma_dual_track_blendrate 0.75
Modified: branches/nexuiz-2.0/data/vehicle_spiderbot.cfg
===================================================================
--- branches/nexuiz-2.0/data/vehicle_spiderbot.cfg 2009-09-08 13:08:36 UTC (rev 7691)
+++ branches/nexuiz-2.0/data/vehicle_spiderbot.cfg 2009-09-08 13:10:40 UTC (rev 7692)
@@ -1,6 +1,7 @@
-set g_vehicle_spiderbot_health 875
-set g_vehicle_spiderbot_health_regen 10
-set g_vehicle_spiderbot_health_regen_dmgpause 10
+set g_vehicle_spiderbot_respawntime 30
+set g_vehicle_spiderbot_health 875
+set g_vehicle_spiderbot_health_regen 10
+set g_vehicle_spiderbot_health_regen_dmgpause 10
set g_vehicle_spiderbot_shield 125
set g_vehicle_spiderbot_shield_block 1
@@ -27,6 +28,7 @@
set g_vehicle_spiderbot_minigun_heat 0.015
set g_vehicle_spiderbot_minigun_cooldown 0.015
+set g_vehicle_spiderbot_rocket_health 100
set g_vehicle_spiderbot_rocket_damage 75
set g_vehicle_spiderbot_rocket_edgedamage 15
set g_vehicle_spiderbot_rocket_force 150
@@ -36,10 +38,10 @@
set g_vehicle_spiderbot_rocket_speed 900
set g_vehicle_spiderbot_rocket_turnrate 0.25
set g_vehicle_spiderbot_rocket_noise 0.25
+set g_vehicle_spiderbot_rocket_lifetime 30
set g_vehicle_spiderbot_crush_dmg 50
set g_vehicle_spiderbot_crush_force 50
-
set cl_vehicle_spiderbot_cross_alpha 0.4
set cl_vehicle_spiderbot_cross_size 1
More information about the nexuiz-commits
mailing list