[nexuiz-commits] r8666 - in trunk/data: . qcsrc/server/tturrets/units
DONOTREPLY at icculus.org
DONOTREPLY at icculus.org
Wed Feb 24 15:18:25 EST 2010
Author: tzork
Date: 2010-02-24 15:18:22 -0500 (Wed, 24 Feb 2010)
New Revision: 8666
Modified:
trunk/data/qcsrc/server/tturrets/units/unit_fusionreactor.qc
trunk/data/qcsrc/server/tturrets/units/unit_tessla.qc
trunk/data/unit_fusreac.cfg
trunk/data/unit_tesla.cfg
Log:
Turret fusionreactor:
Fix top location
Add a small flash effect to target when it recharges a unit
Fix bbox
Top part variable spin speed depending on stored energy.
Tweak config
Turret tessa:
Tweak top animation, get rid of unnecessary field define.
Tweak config
Fix bbox
Modified: trunk/data/qcsrc/server/tturrets/units/unit_fusionreactor.qc
===================================================================
--- trunk/data/qcsrc/server/tturrets/units/unit_fusionreactor.qc 2010-02-24 18:44:16 UTC (rev 8665)
+++ trunk/data/qcsrc/server/tturrets/units/unit_fusionreactor.qc 2010-02-24 20:18:22 UTC (rev 8666)
@@ -5,10 +5,8 @@
float turret_fusionreactor_firecheck()
{
if (self.enemy == world) return 0;
-
- if (!(self.enemy.ammo_flags & TFL_AMMO_RECIVE)) return 0;
- if (!(self.enemy.ammo_flags & TFL_AMMO_ENERGY)) return 0;
-
+ if not (self.enemy.ammo_flags & TFL_AMMO_RECIVE) return 0;
+ if not (self.enemy.ammo_flags & TFL_AMMO_ENERGY) return 0;
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) return 0;
@@ -19,12 +17,20 @@
void turret_fusionreactor_fire()
{
+ vector fl_org;
+
self.enemy.ammo = min(self.enemy.ammo + self.shot_dmg,self.enemy.ammo_max);
+ fl_org = 0.5 * (self.enemy.absmin + self.enemy.absmax);
+ te_smallflash(fl_org);
//te_lightning1(world,self.origin,self.enemy.origin);
}
void turret_fusionreactor_postthink()
{
+ float v
+ v = self.ammo / self.ammo_max;
+
+ self.tur_head.avelocity = '0 250 0' * v;
}
void turret_fusionreactor_respawnhook()
@@ -36,33 +42,27 @@
{
if (self.netname == "") self.netname = "Fusionreactor";
- self.turrcaps_flags = TFL_TURRCAPS_SUPPORT | TFL_TURRCAPS_AMMOSOURCE;
-
- self.ammo_flags = TFL_AMMO_ENERGY | TFL_AMMO_RECHARGE;
-
+ self.turrcaps_flags = TFL_TURRCAPS_SUPPORT | TFL_TURRCAPS_AMMOSOURCE;
+ self.ammo_flags = TFL_AMMO_ENERGY | TFL_AMMO_RECHARGE;
self.target_select_flags = TFL_TARGETSELECT_TEAMCHECK | TFL_TARGETSELECT_OWNTEAM | TFL_TARGETSELECT_RANGELIMTS;
+ self.firecheck_flags = TFL_FIRECHECK_OWM_AMMO | TFL_FIRECHECK_OTHER_AMMO | TFL_FIRECHECK_DISTANCES | TFL_FIRECHECK_DEAD | TFL_FIRECHECK_WORLD;
+ self.shoot_flags = TFL_SHOOT_HITALLVALID;
+ self.aim_flags = TFL_AIM_NO;
+ self.track_flags = TFL_TRACK_NO;
+ self.turret_respawnhook = turret_fusionreactor_respawnhook;
- self.firecheck_flags = TFL_FIRECHECK_OWM_AMMO | TFL_FIRECHECK_OTHER_AMMO | TFL_FIRECHECK_DISTANCES | TFL_FIRECHECK_DEAD | TFL_FIRECHECK_WORLD;
-
- self.shoot_flags = TFL_SHOOT_HITALLVALID;
- 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,"models/turrets/base.md3","models/turrets/reactor.md3") == 0)
{
remove(self);
return;
}
- setsize(self.tur_head,'-32 -32 0','32 32 64');
-
self.tur_head.scale = 0.75;
- setorigin(self.tur_head,self.origin + '0 0 25');
self.tur_head.avelocity = '0 50 0';
+ setsize(self,'-34 -34 0','34 34 90');
- self.turret_firecheckfunc = turret_fusionreactor_firecheck;
- self.turret_firefunc = turret_fusionreactor_fire;
-
- self.turret_postthink = turret_fusionreactor_postthink;
+ self.turret_firecheckfunc = turret_fusionreactor_firecheck;
+ self.turret_firefunc = turret_fusionreactor_fire;
+ self.turret_postthink = turret_fusionreactor_postthink;
}
/*QUAKED turret_fusionreactor (0 .5 .8) ?
Modified: trunk/data/qcsrc/server/tturrets/units/unit_tessla.qc
===================================================================
--- trunk/data/qcsrc/server/tturrets/units/unit_tessla.qc 2010-02-24 18:44:16 UTC (rev 8665)
+++ trunk/data/qcsrc/server/tturrets/units/unit_tessla.qc 2010-02-24 20:18:22 UTC (rev 8666)
@@ -2,7 +2,6 @@
void turret_tesla_dinit();
void turret_tesla_fire();
-.float toasted;
entity toast(entity from, float range, float damage)
{
entity e;
@@ -15,7 +14,7 @@
e = findradius(from.origin,range);
while (e)
{
- if ((e.toasted != 1) && (e != from))
+ if ((e.railgunhit != 1) && (e != from))
{
r = turret_validate_target(self,e,self.target_validate_flags);
if (r > 0)
@@ -32,7 +31,6 @@
}
}
}
-
e = e.chain;
}
@@ -40,8 +38,9 @@
{
te_smallflash(etarget.origin);
te_csqc_lightningarc(from.origin,etarget.origin);
- Damage(etarget,self,self,damage,DEATH_TURRET,etarget.origin,'0 0 0');
- etarget.toasted = 1;
+ dprint("DMG:",ftos(damage),"\n");
+ Damage(etarget, self, self, damage, DEATH_TURRET, etarget.origin, '0 0 0');
+ etarget.railgunhit = 1;
}
return etarget;
@@ -52,8 +51,7 @@
if not (turret_stdproc_firecheck())
return 0;
- self.target_select_flags = TFL_TARGETSELECT_PLAYERS | TFL_TARGETSELECT_MISSILES |
- TFL_TARGETSELECT_RANGELIMTS | TFL_TARGETSELECT_TEAMCHECK;
+ self.target_select_flags = TFL_TARGETSELECT_PLAYERS | TFL_TARGETSELECT_MISSILES | TFL_TARGETSELECT_RANGELIMTS | TFL_TARGETSELECT_TEAMCHECK;
self.enemy = turret_select_target();
@@ -76,33 +74,29 @@
e = spawn();
setorigin(e,self.tur_shotorg);
+ self.target_validate_flags = TFL_TARGETSELECT_PLAYERS | TFL_TARGETSELECT_MISSILES | TFL_TARGETSELECT_RANGELIMTS | TFL_TARGETSELECT_TEAMCHECK;
- self.target_validate_flags = TFL_TARGETSELECT_PLAYERS | TFL_TARGETSELECT_MISSILES |
- TFL_TARGETSELECT_RANGELIMTS | TFL_TARGETSELECT_TEAMCHECK;
-
t = toast(e,r,d);
remove(e);
if (t == world) return;
- self.target_validate_flags = TFL_TARGETSELECT_PLAYERS | TFL_TARGETSELECT_MISSILES |
- TFL_TARGETSELECT_TEAMCHECK;
+ 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)
{
- d *= 0.5;
+ d *= 0.75;
r *= 0.85;
- t = toast(t,r,d);
+ t = toast(t, r, d);
if (t == world) break;
+
}
- e = findchainfloat(toasted, 1);
+ e = findchainfloat(railgunhit, 1);
while (e)
{
- e.toasted = 0;
+ e.railgunhit = 0;
e = e.chain;
}
}
@@ -117,18 +111,18 @@
if(self.ammo < self.shot_dmg)
{
- self.tur_head.avelocity = '0 9 0' * (self.ammo / self.shot_dmg);
+ self.tur_head.avelocity = '0 45 0' * (self.ammo / self.shot_dmg);
}
else
{
- self.tur_head.avelocity = '0 90 0' * (self.ammo / self.shot_dmg);
+ self.tur_head.avelocity = '0 180 0' * (self.ammo / self.shot_dmg);
if(self.attack_finished_single > time)
return;
float f;
f = (self.ammo / self.ammo_max);
- f = f*f;
+ f = f * f;
if(f > random())
if(random() < 0.1)
te_csqc_lightningarc(self.tur_shotorg,self.tur_shotorg + (randomvec() * 350));
@@ -156,7 +150,7 @@
remove(self);
return;
}
- setsize(self,'-48 -48 0','48 48 96');
+ setsize(self,'-60 -60 0','60 60 128');
self.target_validate_flags = TFL_TARGETSELECT_PLAYERS | TFL_TARGETSELECT_MISSILES |
TFL_TARGETSELECT_RANGELIMTS | TFL_TARGETSELECT_TEAMCHECK;
Modified: trunk/data/unit_fusreac.cfg
===================================================================
--- trunk/data/unit_fusreac.cfg 2010-02-24 18:44:16 UTC (rev 8665)
+++ trunk/data/unit_fusreac.cfg 2010-02-24 20:18:22 UTC (rev 8666)
@@ -2,12 +2,12 @@
set g_turrets_unit_fusreac_std_respawntime 90
set g_turrets_unit_fusreac_std_shot_speed 1
-set g_turrets_unit_fusreac_std_shot_dmg 25
-set g_turrets_unit_fusreac_std_shot_refire 0.1
+set g_turrets_unit_fusreac_std_shot_dmg 20
+set g_turrets_unit_fusreac_std_shot_refire 0.2
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_ammo_max 300
+set g_turrets_unit_fusreac_std_ammo_max 100
set g_turrets_unit_fusreac_std_ammo 0
-set g_turrets_unit_fusreac_std_ammo_recharge 150
+set g_turrets_unit_fusreac_std_ammo_recharge 100
Modified: trunk/data/unit_tesla.cfg
===================================================================
--- trunk/data/unit_tesla.cfg 2010-02-24 18:44:16 UTC (rev 8665)
+++ trunk/data/unit_tesla.cfg 2010-02-24 20:18:22 UTC (rev 8666)
@@ -1,8 +1,8 @@
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
-set g_turrets_unit_tesla_std_shot_refire 1
+set g_turrets_unit_tesla_std_shot_dmg 200
+set g_turrets_unit_tesla_std_shot_refire 1.5
set g_turrets_unit_tesla_std_shot_force 400
set g_turrets_unit_tesla_std_shot_volly 1
More information about the nexuiz-commits
mailing list