r3717 - in trunk/data: . qcsrc/server
DONOTREPLY at icculus.org
DONOTREPLY at icculus.org
Fri Jun 27 05:47:52 EDT 2008
Author: div0
Date: 2008-06-27 05:47:41 -0400 (Fri, 27 Jun 2008)
New Revision: 3717
Modified:
trunk/data/qcsrc/server/w_crylink.qc
trunk/data/weapons.cfg
Log:
make the "star" projectiles of the crylink range limited (after 1400 distance, they fade out, till they reach a distance of 3500, where they vanish); only the center projectile stays virtually unlimited (for sniping).
Modified: trunk/data/qcsrc/server/w_crylink.qc
===================================================================
--- trunk/data/qcsrc/server/w_crylink.qc 2008-06-22 17:43:59 UTC (rev 3716)
+++ trunk/data/qcsrc/server/w_crylink.qc 2008-06-27 09:47:41 UTC (rev 3717)
@@ -1,17 +1,8 @@
-
.float gravity;
const vector proj_color = '1 1 1';
.entity realowner;
-void W_Crylink_Think (void)
-{
- self.nextthink = self.count;
- self.angles = vectoangles(self.velocity);
- if (time >= self.count)
- remove(self);
-}
-
void W_Crylink_Touch (void)
{
float finalhit;
@@ -27,6 +18,8 @@
f = 1;
else
f = cvar("g_balance_crylink_primary_bouncedamagefactor");
+ if(self.alpha)
+ f *= self.alpha;
RadiusDamage (self, self.realowner, cvar("g_balance_crylink_primary_damage") * f, cvar("g_balance_crylink_primary_edgedamage") * f, cvar("g_balance_crylink_primary_radius"), world, cvar("g_balance_crylink_primary_force") * f, IT_CRYLINK);
if (finalhit)
{
@@ -35,7 +28,6 @@
}
self.cnt = self.cnt - 1;
self.angles = vectoangles(self.velocity);
- self.nextthink = time;
self.owner = world;
//self.scale = 1 + self.cnt;
}
@@ -55,6 +47,8 @@
f = 1;
else
f = cvar("g_balance_crylink_secondary_bouncedamagefactor");
+ if(self.alpha)
+ f *= self.alpha;
RadiusDamage (self, self.realowner, cvar("g_balance_crylink_secondary_damage") * f, cvar("g_balance_crylink_secondary_edgedamage") * f, cvar("g_balance_crylink_secondary_radius"), world, cvar("g_balance_crylink_secondary_force") * f, IT_CRYLINK);
if (finalhit)
{
@@ -63,7 +57,6 @@
}
self.cnt = self.cnt - 1;
self.angles = vectoangles(self.velocity);
- self.nextthink = time;
self.owner = world;
// self.scale = 1 + 1 * self.cnt;
}
@@ -113,9 +106,12 @@
// proj.velocity = (w_shotdir + randomvec() * cvar("g_balance_crylink_primary_spread")) * cvar("g_balance_crylink_primary_speed");
W_SetupProjectileVelocity(proj);
proj.touch = W_Crylink_Touch;
- proj.count = time + cvar("g_balance_crylink_primary_lifetime");
- proj.think = W_Crylink_Think;
- proj.nextthink = proj.count;
+ if(counter == 0)
+ SUB_SetFade(proj, time + cvar("g_balance_crylink_primary_middle_lifetime"), cvar("g_balance_crylink_primary_middle_fadetime"));
+ else if(counter <= 3)
+ SUB_SetFade(proj, time + cvar("g_balance_crylink_primary_star_lifetime"), cvar("g_balance_crylink_primary_star_fadetime"));
+ else
+ SUB_SetFade(proj, time + cvar("g_balance_crylink_primary_other_lifetime"), cvar("g_balance_crylink_primary_other_fadetime"));
proj.cnt = cvar("g_balance_crylink_primary_bounces");
proj.scale = 1 + 1 * proj.cnt;
@@ -161,9 +157,10 @@
proj.velocity = (w_shotdir + (((counter + 0.5) / shots) * 2 - 1) * v_right * cvar("g_balance_crylink_secondary_spread")) * cvar("g_balance_crylink_secondary_speed");
W_SetupProjectileVelocity(proj);
proj.touch = W_Crylink_Touch2;
- proj.count = time + cvar("g_balance_crylink_primary_lifetime");
- proj.think = W_Crylink_Think;
- proj.nextthink = proj.count;
+ if(counter == (shots - 1) / 2)
+ SUB_SetFade(proj, time + cvar("g_balance_crylink_secondary_middle_lifetime"), cvar("g_balance_crylink_secondary_middle_fadetime"));
+ else
+ SUB_SetFade(proj, time + cvar("g_balance_crylink_secondary_line_lifetime"), cvar("g_balance_crylink_secondary_line_fadetime"));
proj.cnt = cvar("g_balance_crylink_secondary_bounces");
proj.scale = 1 + 1 * proj.cnt;
@@ -203,9 +200,9 @@
if (req == WR_AIM)
{
if (random() > 0.15)
- self.button0 = bot_aim(cvar("g_balance_crylink_primary_speed"), 0, cvar("g_balance_crylink_primary_lifetime"), FALSE);
+ self.button0 = bot_aim(cvar("g_balance_crylink_primary_speed"), 0, cvar("g_balance_crylink_primary_middle_lifetime"), FALSE);
else
- self.button3 = bot_aim(cvar("g_balance_crylink_secondary_speed"), 0, cvar("g_balance_crylink_secondary_lifetime"), FALSE);
+ self.button3 = bot_aim(cvar("g_balance_crylink_secondary_speed"), 0, cvar("g_balance_crylink_secondary_middle_lifetime"), FALSE);
}
else if (req == WR_THINK)
{
Modified: trunk/data/weapons.cfg
===================================================================
--- trunk/data/weapons.cfg 2008-06-22 17:43:59 UTC (rev 3716)
+++ trunk/data/weapons.cfg 2008-06-27 09:47:41 UTC (rev 3717)
@@ -131,12 +131,19 @@
set g_balance_crylink_primary_speed 7000
set g_balance_crylink_primary_spread 0.03
set g_balance_crylink_primary_shots 4
-set g_balance_crylink_primary_lifetime 30
set g_balance_crylink_primary_bounces 1
set g_balance_crylink_primary_refire 0.4
set g_balance_crylink_primary_animtime 0.3
set g_balance_crylink_primary_ammo 2
set g_balance_crylink_primary_bouncedamagefactor 0.5
+
+set g_balance_crylink_primary_middle_lifetime 5 // range: 35000 full, fades to 70000
+set g_balance_crylink_primary_middle_fadetime 5
+set g_balance_crylink_primary_star_lifetime 0.2 // range: 1400 full, fades to 3500
+set g_balance_crylink_primary_star_fadetime 0.3
+set g_balance_crylink_primary_other_lifetime 0.2 // range: 1400 full, fades to 3500
+set g_balance_crylink_primary_other_fadetime 0.3
+
set g_balance_crylink_secondary_damage 20
set g_balance_crylink_secondary_edgedamage 0
set g_balance_crylink_secondary_force -55
@@ -144,13 +151,17 @@
set g_balance_crylink_secondary_speed 7000
set g_balance_crylink_secondary_spread 0.08
set g_balance_crylink_secondary_shots 7
-set g_balance_crylink_secondary_lifetime 30
set g_balance_crylink_secondary_bounces 0
set g_balance_crylink_secondary_refire 0.5
set g_balance_crylink_secondary_animtime 0.3
set g_balance_crylink_secondary_ammo 2
set g_balance_crylink_secondary_bouncedamagefactor 0.5
+set g_balance_crylink_secondary_middle_lifetime 5 // range: 35000 full, fades to 70000
+set g_balance_crylink_secondary_middle_fadetime 5
+set g_balance_crylink_secondary_line_lifetime 2 // range: 35000 full, fades to 70000
+set g_balance_crylink_secondary_line_fadetime 2
+
set g_balance_nex_damage 140
set g_balance_nex_force 600
set g_balance_nex_refire 1.5
More information about the nexuiz-commits
mailing list