[nexuiz-commits] r7243 - in trunk/data: . models models/weapons qcsrc/client qcsrc/common qcsrc/server sound/weapons textures
DONOTREPLY at icculus.org
DONOTREPLY at icculus.org
Mon Jul 20 06:33:24 EDT 2009
Author: div0
Date: 2009-07-20 06:33:23 -0400 (Mon, 20 Jul 2009)
New Revision: 7243
Removed:
trunk/data/models/tagrocket.md3
trunk/data/models/tagrocket.tga
trunk/data/models/weapons/g_seeker.md3
trunk/data/models/weapons/h_seeker.dpm
trunk/data/models/weapons/h_seeker.dpm.framegroups
trunk/data/models/weapons/v_seeker.md3
trunk/data/qcsrc/server/w_seeker.qc
trunk/data/sound/weapons/flac_fire.ogg
trunk/data/sound/weapons/flacexp1.ogg
trunk/data/sound/weapons/flacexp2.ogg
trunk/data/sound/weapons/flacexp3.ogg
trunk/data/sound/weapons/seeker_fire.ogg
trunk/data/sound/weapons/seekerexp1.ogg
trunk/data/sound/weapons/seekerexp2.ogg
trunk/data/sound/weapons/seekerexp3.ogg
trunk/data/sound/weapons/tag_fire.ogg
trunk/data/sound/weapons/tag_impact.ogg
trunk/data/sound/weapons/tag_rocket_fly.ogg
trunk/data/sound/weapons/tagexp1.ogg
trunk/data/sound/weapons/tagexp2.ogg
trunk/data/sound/weapons/tagexp3.ogg
trunk/data/textures/seeker.tga
trunk/data/textures/seeker_gloss.tga
trunk/data/textures/seeker_glow.tga
trunk/data/textures/seeker_norm.tga
trunk/data/textures/seeker_pants.tga
Modified:
trunk/data/qcsrc/client/View.qc
trunk/data/qcsrc/client/damage.qc
trunk/data/qcsrc/client/projectile.qc
trunk/data/qcsrc/common/constants.qh
trunk/data/qcsrc/common/items.qc
trunk/data/qcsrc/common/items.qh
trunk/data/qcsrc/server/havocbot_ons.qc
trunk/data/qcsrc/server/havocbot_roles.qc
trunk/data/qcsrc/server/progs.src
trunk/data/weapons.cfg
trunk/data/weaponsHavoc.cfg
Log:
[11:57:02] <@LordHavoc> div0: or just remove the seeker for me and say "LordHavoc told me to"
PLEASE TEST
Deleted: trunk/data/models/tagrocket.md3
===================================================================
(Binary files differ)
Deleted: trunk/data/models/tagrocket.tga
===================================================================
(Binary files differ)
Deleted: trunk/data/models/weapons/g_seeker.md3
===================================================================
(Binary files differ)
Deleted: trunk/data/models/weapons/h_seeker.dpm
===================================================================
(Binary files differ)
Deleted: trunk/data/models/weapons/h_seeker.dpm.framegroups
===================================================================
--- trunk/data/models/weapons/h_seeker.dpm.framegroups 2009-07-20 04:47:53 UTC (rev 7242)
+++ trunk/data/models/weapons/h_seeker.dpm.framegroups 2009-07-20 10:33:23 UTC (rev 7243)
@@ -1,4 +0,0 @@
-1 8 20 0 // fire
-9 5 20 0 // fire2
-15 200 20 1 // idle
-215 40 20 0 // reload
Deleted: trunk/data/models/weapons/v_seeker.md3
===================================================================
(Binary files differ)
Modified: trunk/data/qcsrc/client/View.qc
===================================================================
--- trunk/data/qcsrc/client/View.qc 2009-07-20 04:47:53 UTC (rev 7242)
+++ trunk/data/qcsrc/client/View.qc 2009-07-20 10:33:23 UTC (rev 7243)
@@ -261,10 +261,6 @@
mi = '-3 -3 -3';
ma = '3 3 3';
break;
- case WEP_SEEKER: // projectile has a size!
- mi = '-2 -2 -2';
- ma = '2 2 2';
- break;
case WEP_ELECTRO: // projectile has a size!
mi = '0 0 -3';
ma = '0 0 -3';
Modified: trunk/data/qcsrc/client/damage.qc
===================================================================
--- trunk/data/qcsrc/client/damage.qc 2009-07-20 04:47:53 UTC (rev 7242)
+++ trunk/data/qcsrc/client/damage.qc 2009-07-20 10:33:23 UTC (rev 7243)
@@ -215,56 +215,6 @@
if(!issilent)
sound(self, CHAN_PROJECTILE, "weapons/hookbomb_impact.wav", VOL_BASE, ATTN_NORM);
break;
- case WEP_SEEKER:
- org2 = org + backoff * 6;
- if(secondary)
- {
- pointparticles(particleeffectnum("flac_explode"), org2, '0 0 0', 1);
- if(!issilent)
- {
- if (r<0.15)
- sound(self, CHAN_PROJECTILE, "weapons/flacexp1.wav", 1, ATTN_NORM);
- else if (r<0.7)
- sound(self, CHAN_PROJECTILE, "weapons/flacexp2.wav", 1, ATTN_NORM);
- else
- sound(self, CHAN_PROJECTILE, "weapons/flacexp3.wav", 1, ATTN_NORM);
- }
- }
- else
- {
- if(bounce)
- {
- pointparticles(particleeffectnum("hagar_explode"), org2, '0 0 0', 1);
- if(!issilent)
- {
- if (r<0.15)
- sound(self, CHAN_PROJECTILE, "weapons/tagexp1.wav", 1, ATTN_NORM);
- else if (r<0.7)
- sound(self, CHAN_PROJECTILE, "weapons/tagexp2.wav", 1, ATTN_NORM);
- else
- sound(self, CHAN_PROJECTILE, "weapons/tagexp3.wav", 1, ATTN_NORM);
- }
- }
- else if(headshot)
- {
- if(!issilent)
- sound(self, CHAN_PROJECTILE, "weapons/tag_impact.wav", 1, ATTN_NORM);
- }
- else
- {
- pointparticles(particleeffectnum("hagar_explode"), org2, '0 0 0', 1);
- if(!issilent)
- {
- if (r<0.15)
- sound(self, CHAN_PROJECTILE, "weapons/seekerexp1.wav", 1, ATTN_NORM);
- else if (r<0.7)
- sound(self, CHAN_PROJECTILE, "weapons/seekerexp2.wav", 1, ATTN_NORM);
- else
- sound(self, CHAN_PROJECTILE, "weapons/seekerexp3.wav", 1, ATTN_NORM);
- }
- }
- }
- break;
case WEP_HLAC:
org2 = org + backoff * 6;
pointparticles(particleeffectnum("laser_impact"), org2, backoff * 1000, 1);
@@ -299,9 +249,6 @@
precache_sound("weapons/crylink_impact.wav");
precache_sound("weapons/electro_impact.wav");
precache_sound("weapons/electro_impact_combo.wav");
- precache_sound("weapons/flacexp1.wav");
- precache_sound("weapons/flacexp2.wav");
- precache_sound("weapons/flacexp3.wav");
precache_sound("weapons/grenade_impact.wav");
precache_sound("weapons/hagexp1.wav");
precache_sound("weapons/hagexp2.wav");
@@ -313,11 +260,4 @@
precache_sound("weapons/ric2.wav");
precache_sound("weapons/ric3.wav");
precache_sound("weapons/rocket_impact.wav");
- precache_sound("weapons/seekerexp1.wav");
- precache_sound("weapons/seekerexp2.wav");
- precache_sound("weapons/seekerexp3.wav");
- precache_sound("weapons/tagexp1.wav");
- precache_sound("weapons/tagexp2.wav");
- precache_sound("weapons/tagexp3.wav");
- precache_sound("weapons/tag_impact.wav");
}
Modified: trunk/data/qcsrc/client/projectile.qc
===================================================================
--- trunk/data/qcsrc/client/projectile.qc 2009-07-20 04:47:53 UTC (rev 7242)
+++ trunk/data/qcsrc/client/projectile.qc 2009-07-20 10:33:23 UTC (rev 7243)
@@ -27,9 +27,6 @@
case PROJECTILE_ROCKET:
trailparticles(self, particleeffectnum("TR_ROCKET"), from, to);
break;
- case PROJECTILE_TAG:
- trailparticles(self, particleeffectnum("TR_VORESPIKE"), from, to);
- break;
case PROJECTILE_CRYLINK:
trailparticles(self, particleeffectnum("TR_CRYLINKPLASMA"), from, to);
break;
@@ -51,12 +48,6 @@
case PROJECTILE_PORTO_BLUE:
trailparticles(self, particleeffectnum("TR_WIZSPIKE"), from, to);
break;
- case PROJECTILE_FLAC:
- trailparticles(self, particleeffectnum("TR_VORESPIKE"), from, to);
- break;
- case PROJECTILE_SEEKER:
- trailparticles(self, particleeffectnum("TR_ROCKET"), from, to);
- break;
case PROJECTILE_HOOKBOMB:
trailparticles(self, particleeffectnum("TR_KNIGHTSPIKE"), from, to);
break;
@@ -262,7 +253,6 @@
{
case PROJECTILE_ELECTRO: setmodel(self, "models/ebomb.mdl"); break;
case PROJECTILE_ROCKET: setmodel(self, "models/rocket.md3"); self.scale = 2; break;
- case PROJECTILE_TAG: setmodel(self, "models/laser.mdl"); break;
case PROJECTILE_BULLET: setmodel(self, "models/tracer.mdl"); break;
case PROJECTILE_BULLET_GLOWING: setmodel(self, "models/tracer.mdl"); break;
case PROJECTILE_CRYLINK: setmodel(self, "models/plasmatrail.mdl"); break;
@@ -272,8 +262,6 @@
case PROJECTILE_GRENADE_BOUNCING: setmodel(self, "models/grenademodel.md3"); break;
case PROJECTILE_LASER: setmodel(self, "models/laser.mdl"); break;
case PROJECTILE_HLAC: setmodel(self, "models/hlac_bullet.md3"); break;
- case PROJECTILE_SEEKER: setmodel(self, "models/tagrocket.md3"); self.scale = 2; break;
- case PROJECTILE_FLAC: setmodel(self, "models/hagarmissile.mdl"); self.scale = 0.4; break;
case PROJECTILE_PORTO_RED: setmodel(self, "models/grenademodel.md3"); self.scale = 4; break;
case PROJECTILE_PORTO_BLUE: setmodel(self, "models/grenademodel.md3"); self.scale = 4; break;
case PROJECTILE_HOOKBOMB: setmodel(self, "models/grenademodel.md3"); break;
@@ -305,11 +293,6 @@
self.mins = '-3 -3 -3';
self.maxs = '3 3 3';
break;
- case PROJECTILE_TAG:
- loopsound(self, CHAN_PROJECTILE, "weapons/tag_rocket_fly.wav", VOL_BASE, ATTN_NORM);
- self.mins = '-2 -2 -2';
- self.maxs = '2 2 2';
- break;
case PROJECTILE_GRENADE:
self.mins = '0 0 -3';
self.maxs = '0 0 -3';
@@ -320,14 +303,6 @@
self.move_movetype = MOVETYPE_BOUNCE;
self.move_touch = SUB_Null;
break;
- case PROJECTILE_FLAC:
- self.mins = '-2 -2 -2';
- self.maxs = '2 2 2';
- break;
- case PROJECTILE_SEEKER:
- self.mins = '-4 -4 -4';
- self.maxs = '4 4 4';
- break;
case PROJECTILE_PORTO_RED:
self.colormod = '2 1 1';
self.alpha = 0.5;
@@ -385,9 +360,7 @@
precache_model("models/laser.mdl");
precache_model("models/plasmatrail.mdl");
precache_model("models/rocket.md3");
- precache_model("models/tagrocket.md3");
precache_model("models/tracer.mdl");
precache_sound("weapons/electro_fly.wav");
precache_sound("weapons/rocket_fly.wav");
- precache_sound("weapons/tag_rocket_fly.wav");
}
Modified: trunk/data/qcsrc/common/constants.qh
===================================================================
--- trunk/data/qcsrc/common/constants.qh 2009-07-20 04:47:53 UTC (rev 7242)
+++ trunk/data/qcsrc/common/constants.qh 2009-07-20 10:33:23 UTC (rev 7243)
@@ -390,7 +390,6 @@
// this sets sounds and other properties of the projectiles in csqc
float PROJECTILE_ELECTRO = 1;
float PROJECTILE_ROCKET = 2;
-float PROJECTILE_TAG = 3;
float PROJECTILE_BULLET = 4;
float PROJECTILE_CRYLINK = 5;
float PROJECTILE_ELECTRO_BEAM = 6;
@@ -398,8 +397,6 @@
float PROJECTILE_GRENADE_BOUNCING = 8;
float PROJECTILE_LASER = 9;
float PROJECTILE_HLAC = 10;
-float PROJECTILE_SEEKER = 11;
-float PROJECTILE_FLAC = 12;
float PROJECTILE_PORTO_RED = 13;
float PROJECTILE_PORTO_BLUE = 14;
float PROJECTILE_HOOKBOMB = 15;
Modified: trunk/data/qcsrc/common/items.qc
===================================================================
--- trunk/data/qcsrc/common/items.qc 2009-07-20 04:47:53 UTC (rev 7242)
+++ trunk/data/qcsrc/common/items.qc 2009-07-20 10:33:23 UTC (rev 7243)
@@ -37,8 +37,8 @@
dummy_weapon_info = spawn();
dummy_weapon_info.classname = "weapon_info";
- dummy_weapon_info.weapon = 0;
- dummy_weapon_info.weapons = 0;
+ dummy_weapon_info.weapon = 0; // you can recognize dummies by this
+ dummy_weapon_info.weapons = 0; // you can recognize dummies by this too
dummy_weapon_info.netname = "@!#%'n Tuba";
dummy_weapon_info.items = 0;
dummy_weapon_info.weapon_func = w_null;
@@ -114,10 +114,9 @@
register_weapon(WEP_PORTO, w_porto, 0, 0, 0, 0, WEP_TYPE_OTHER, 0, "porto" , "porto", "Port-O-Launch");
register_weapon(WEP_MINSTANEX, w_minstanex, IT_CELLS, 7, -1, 1, WEP_TYPE_HITSCAN, BOT_PICKUP_RATING_HIGH, "minstanex", "minstanex", "MinstaNex");
register_weapon(WEP_HOOK, w_hook, IT_CELLS|IT_FUEL, 0, 0, 1, WEP_TYPE_SPLASH, 0, "hookgun", "hook", "Grappling Hook");
- register_weapon(WEP_SEEKER, w_seeker, IT_ROCKETS, 8, 0, 0, WEP_TYPE_SPLASH, BOT_PICKUP_RATING_HIGH, "seeker", "seeker", "T.A.G. Seeker");
register_weapon(WEP_HLAC, w_hlac, IT_CELLS, 6, 1, 0, WEP_TYPE_SPLASH, BOT_PICKUP_RATING_MID, "hlac", "hlac", "Heavy Laser Assault Cannon");
- register_weapon(WEP_CAMPINGRIFLE, w_campingrifle, IT_NAILS, 3, 1, 0, WEP_TYPE_HITSCAN, BOT_PICKUP_RATING_MID, "campingrifle", "campingrifle", "Rifle");
register_weapon(WEP_TUBA, w_tuba, 0, 1, -1, 0, WEP_TYPE_SPLASH, BOT_PICKUP_RATING_MID, "tuba", "tuba", "@!#%'n Tuba");
+ register_weapon(WEP_CAMPINGRIFLE, w_campingrifle, IT_NAILS, 3, 1, 0, WEP_TYPE_HITSCAN, BOT_PICKUP_RATING_MID, "campingrifle", "campingrifle", "Rifle");
register_weapons_done();
}
Modified: trunk/data/qcsrc/common/items.qh
===================================================================
--- trunk/data/qcsrc/common/items.qh 2009-07-20 04:47:53 UTC (rev 7242)
+++ trunk/data/qcsrc/common/items.qh 2009-07-20 10:33:23 UTC (rev 7243)
@@ -14,11 +14,10 @@
float WEP_MINSTANEX = 11; float WEPBIT_MINSTANEX = 1024;
float WEP_HOOK = 12; float WEPBIT_HOOK = 2048;
float WEP_HLAC = 13; float WEPBIT_HLAC = 4096;
-float WEP_SEEKER = 14; float WEPBIT_SEEKER = 8192;
+float WEP_TUBA = 14; float WEPBIT_TUBA = 8192;
float WEP_CAMPINGRIFLE = 15; float WEPBIT_CAMPINGRIFLE = 16384;
-float WEP_TUBA = 16; float WEPBIT_TUBA = 32768;
-float WEP_LAST = 16; float WEPBIT_ALL = 65535;
-float WEP_COUNT = 17;
+float WEP_LAST = 15; float WEPBIT_ALL = 32767;
+float WEP_COUNT = 16;
float BOT_PICKUP_RATING_LOW = 2500;
float BOT_PICKUP_RATING_MID = 5000;
Modified: trunk/data/qcsrc/server/havocbot_ons.qc
===================================================================
--- trunk/data/qcsrc/server/havocbot_ons.qc 2009-07-20 04:47:53 UTC (rev 7242)
+++ trunk/data/qcsrc/server/havocbot_ons.qc 2009-07-20 10:33:23 UTC (rev 7243)
@@ -38,7 +38,7 @@
for(i = WEP_FIRST; i < WEP_LAST ; ++i)
{
// Find weapon
- if(power2of(i-1) & self.weapons)
+ if((get_weaponinfo(i)).weapons & self.weapons)
if(++c>=4)
break;
}
Modified: trunk/data/qcsrc/server/havocbot_roles.qc
===================================================================
--- trunk/data/qcsrc/server/havocbot_roles.qc 2009-07-20 04:47:53 UTC (rev 7242)
+++ trunk/data/qcsrc/server/havocbot_roles.qc 2009-07-20 10:33:23 UTC (rev 7243)
@@ -12,10 +12,11 @@
base = item.bot_pickupbasevalue;
+#warning do not do this! This SUCKS! Use the weapon info data!
need_shells = self.weapons & WEPBIT_SHOTGUN;
need_nails = self.weapons & WEPBIT_UZI;
need_cells = self.weapons & ( WEPBIT_HOOK | WEPBIT_HLAC | WEPBIT_MINSTANEX | WEPBIT_NEX | WEPBIT_ELECTRO | WEPBIT_CRYLINK );
- need_rockets = self.weapons & ( WEPBIT_ROCKET_LAUNCHER | WEPBIT_GRENADE_LAUNCHER | WEPBIT_HAGAR | WEPBIT_SEEKER );
+ need_rockets = self.weapons & ( WEPBIT_ROCKET_LAUNCHER | WEPBIT_GRENADE_LAUNCHER | WEPBIT_HAGAR );
// Rate ammo items
if (item.ammo_shells)
@@ -69,7 +70,7 @@
for(i = WEP_FIRST; i < WEP_LAST ; ++i)
{
// Find weapon
- if( power2of(i-1) & item.weapons != item.weapons )
+ if( (get_weaponinfo(i)).weapons & item.weapons != item.weapons )
continue;
// Find the highest position on any range
Modified: trunk/data/qcsrc/server/progs.src
===================================================================
--- trunk/data/qcsrc/server/progs.src 2009-07-20 04:47:53 UTC (rev 7242)
+++ trunk/data/qcsrc/server/progs.src 2009-07-20 10:33:23 UTC (rev 7243)
@@ -104,7 +104,6 @@
w_porto.qc
w_hook.qc
w_hlac.qc
-w_seeker.qc
w_campingrifle.qc
w_tuba.qc
Deleted: trunk/data/qcsrc/server/w_seeker.qc
===================================================================
--- trunk/data/qcsrc/server/w_seeker.qc 2009-07-20 04:47:53 UTC (rev 7242)
+++ trunk/data/qcsrc/server/w_seeker.qc 2009-07-20 10:33:23 UTC (rev 7243)
@@ -1,481 +0,0 @@
-//.float speed; = switchweapon
-//.float proxytime; = autoswitch
-//.float tl; = wait
-
-void Seeker_Missile_Explode ()
-{
- self.event_damage = SUB_Null;
- RadiusDamage (self, self.owner, cvar("g_balance_seeker_missile_damage"), cvar("g_balance_seeker_missile_edgedamage"), cvar("g_balance_seeker_missile_radius"), world, cvar("g_balance_seeker_missile_force"), self.projectiledeathtype, other, WEP_SEEKER);
-
- remove (self);
-}
-
-void Seeker_Missile_Touch()
-{
- PROJECTILE_TOUCH;
-
- Seeker_Missile_Explode();
-}
-
-void Seeker_Missile_Think()
-{
- entity e;
- vector desireddir, olddir, newdir, eorg;
- float turnrate;
- float dist;
-
- if (time > self.cnt)
- Seeker_Missile_Explode();
-
- if (!self.switchweapon)
- self.switchweapon = cvar("g_balance_seeker_missile_speed");
-
- if ((self.switchweapon < cvar("g_balance_seeker_missile_speed_max")) && cvar("g_balance_seeker_missile_speed_accel"))
- self.switchweapon = self.switchweapon * cvar("g_balance_seeker_missile_accel");
-
- if (self.switchweapon > cvar("g_balance_seeker_missile_speed_max"))
- self.switchweapon = self.switchweapon * cvar("g_balance_seeker_missile_decel");
-
- if (self.enemy != world)
- if (self.enemy.takedamage != DAMAGE_AIM || self.enemy.deadflag != DEAD_NO)
- self.enemy = world;
-
- if (self.enemy != world)
- {
- e = self.enemy;
- eorg = 0.5 * (e.absmin + e.absmax);
- turnrate = cvar("g_balance_seeker_missile_turnrate"); // how fast to turn
- desireddir = normalize(eorg - self.origin);
- olddir = normalize(self.velocity); // get my current direction
- dist = vlen(eorg - self.origin);
-
- // Do evasive maneuvers for world objects? ( this should be a cpu hog. :P )
- if (cvar("g_balance_seeker_missile_smart") && (dist > cvar("g_balance_seeker_missile_smart_mindist")))
- {
- // Is it a better idea (shorter distance) to trace to the target itself?
- if ( vlen(self.origin + olddir * self.wait) < dist)
- traceline(self.origin, self.origin + olddir * self.wait, FALSE, self);
- else
- traceline(self.origin, eorg, FALSE, self);
-
- // Setup adaptive tracelength
- self.wait = vlen(self.origin - trace_endpos);
- if (self.wait < cvar("g_balance_seeker_missile_smart_trace_min")) self.wait = cvar("g_balance_seeker_missile_smart_trace_min");
- if (self.wait > cvar("g_balance_seeker_missile_smart_trace_max")) self.wait = cvar("g_balance_seeker_missile_smart_trace_max");
-
- // Calc how important it is that we turn and add this to the desierd (enemy) dir.
- desireddir = normalize(((trace_plane_normal * (1 - trace_fraction)) + (desireddir * trace_fraction)) * 0.5);
- }
-
- //newdir = normalize((olddir + desireddir * turnrate) * 0.5);// take the average of the 2 directions; not the best method but simple & easy
- newdir = normalize(olddir + desireddir * turnrate);// take the average of the 2 directions; not the best method but simple & easy
-
- self.velocity = newdir * self.switchweapon; // make me fly in the new direction at my flight speed
- }
-
- // Proxy
- if (cvar("g_balance_seeker_missile_proxy"))
- {
- if ( dist <= cvar("g_balance_seeker_missile_proxy_maxrange"))
- {
- if (self.autoswitch == 0)
- {
- self.autoswitch = time + cvar("g_balance_seeker_missile_proxy_delay");
- }
- else
- {
- if (self.autoswitch <= time)
- {
- Seeker_Missile_Explode();
- self.autoswitch = 0;
- }
- }
- }
- else
- {
- if (self.autoswitch != 0)
- self.autoswitch = 0;
- }
- }
- ///////////////
-
- if (self.enemy.deadflag != DEAD_NO)
- {
- self.enemy = world;
- self.cnt = time + 1 + (random() * 4);
- self.nextthink = self.cnt;
- return;
- }
-
- self.angles = vectoangles(self.velocity); // turn model in the new flight direction
- self.nextthink = time + 0.05;
-
- UpdateCSQCProjectile(self);
-}
-
-
-
-void Seeker_Missile_Damage (entity inflictor, entity attacker, float damage, float deathtype, vector hitloc, vector force)
-{
- float d;
- d = damage;
-
- if (self.health <= 0)
- return;
-
- if (self.owner == attacker)
- d = d * 0.25;
-
- self.health = self.health - d;
-
- if (self.health <= 0)
- W_PrepareExplosionByDamage(attacker, Seeker_Missile_Explode);
-}
-
-void Seeker_Missile_Animate()
-{
- self.frame = self.frame +1;
- self.nextthink = time + 0.05;
-
- if (self.enemy != world)
- if (self.enemy.takedamage != DAMAGE_AIM || self.enemy.deadflag != DEAD_NO)
- self.enemy = world;
-
- if(self.frame == 5)
- {
- self.think = Seeker_Missile_Think;
- self.nextthink = time;// + cvar("g_balance_seeker_missile_activate_delay"); // cant dealy with csqc projectiles
-
- if (cvar("g_balance_seeker_guided_proxy"))
- self.movetype = MOVETYPE_BOUNCEMISSILE;
- else
- self.movetype = MOVETYPE_FLYMISSILE;
- }
-
- UpdateCSQCProjectile(self);
-}
-
-void Seeker_Fire_Missile(vector f_diff)
-{
- local entity missile;
-
- if not(self.items & IT_UNLIMITED_WEAPON_AMMO)
- self.ammo_rockets = self.ammo_rockets - cvar("g_balance_seeker_missile_ammo");
-
- makevectors(self.v_angle);
- W_SetupShot_ProjectileSize (self, '-2 -2 -2', '2 2 2', FALSE, 2, "weapons/seeker_fire.wav", cvar("g_balance_seeker_missile_damage"));
- w_shotorg += f_diff;
- pointparticles(particleeffectnum("seeker_muzzleflash"), w_shotorg, w_shotdir * 1000, 1);
-
- //self.detornator = FALSE;
-
- missile = spawn();
- missile.owner = self;
- missile.classname = "seeker_missile";
- missile.bot_dodge = TRUE;
- missile.bot_dodgerating = cvar("g_balance_seeker_missile_damage");
-
- missile.think = Seeker_Missile_Animate;
-
- //if (!cvar("g_balance_seeker_missile_proxy"))
- missile.touch = Seeker_Missile_Touch;
-
- missile.event_damage = Seeker_Missile_Damage;
- missile.nextthink = time;// + 0.2;// + cvar("g_balance_seeker_missile_activate_delay");
- missile.cnt = time + cvar("g_balance_seeker_missile_lifetime");
- missile.enemy = self.enemy;
- missile.switchweapon = cvar("g_balance_seeker_missile_speed");
- missile.solid = SOLID_BBOX;
- missile.scale = 2;
- missile.takedamage = DAMAGE_YES;
- missile.health = cvar("g_balance_seeker_missile_health");
- missile.damageforcescale = cvar("g_balance_seeker_missile_damageforcescale");
- missile.projectiledeathtype = WEP_SEEKER;
-
- setorigin (missile, w_shotorg);
- setsize (missile, '-4 -4 -4', '4 4 4');
-
-
- missile.movetype = MOVETYPE_FLYMISSILE;// MOVETYPE_TOSS;
-
- missile.flags = FL_PROJECTILE;
-
- missile.velocity = (w_shotdir + '0 0 0.45') * missile.switchweapon;
- W_SetupProjectileVelocity(missile);
-
- missile.switchweapon = vlen(missile.velocity);
- missile.angles = vectoangles (missile.velocity);
-
- CSQCProjectile(missile, FALSE, PROJECTILE_SEEKER, TRUE);
-}
-
-void Seeker_Vollycontroler_Think()
-{
- float c;
- entity oldself,oldenemy;
- self.cnt = self.cnt - 1;
-
- if ((self.owner.ammo_rockets < cvar("g_balance_seeker_missile_ammo")) || (self.cnt <= -1) || (self.owner.deadflag != DEAD_NO))
- {
- remove(self);
- return;
- }
-
- self.nextthink = time + cvar("g_balance_seeker_missile_delay");
-
- oldself = self;
- self = self.owner;
-
- oldenemy = self.enemy;
- self.enemy = oldself.enemy;
-
- c = mod(oldself.cnt, 4);
- switch(c)
- {
- case 0:
- Seeker_Fire_Missile('-1.25 -3.75 0');
- break;
- case 1:
- Seeker_Fire_Missile('+1.25 -3.75 0');
- break;
- case 2:
- Seeker_Fire_Missile('-1.25 +3.75 0');
- break;
- case 3:
- default:
- Seeker_Fire_Missile('+1.25 +3.75 0');
- break;
- }
-
- self.enemy = oldenemy;
- self = oldself;
-}
-
-void Seeker_Tag_Explode ()
-{
- //if(other==self.owner)
- // return;
- Damage_DamageInfo(self.origin, 0, 0, 0, self.velocity, WEP_SEEKER | HITTYPE_BOUNCE, self);
-
- remove (self);
-}
-
-void Seeker_Tag_Damage (entity inflictor, entity attacker, float damage, float deathtype, vector hitloc, vector force)
-{
- if (self.health <= 0)
- return;
- self.health = self.health - damage;
- if (self.health <= 0)
- Seeker_Tag_Explode();
-}
-
-void Seeker_Tag_Think()
-{
- remove(self);
- return;
-}
-
-void Seeker_Tag_Touch()
-{
- vector dir;
- vector org2;
-
- dir = normalize (self.owner.origin - self.origin);
- org2 = findbetterlocation (self.origin, 8);
-
- te_knightspike(org2);
-
- self.event_damage = SUB_Null;
- Damage_DamageInfo(self.origin, 0, 0, 0, self.velocity, WEP_SEEKER | HITTYPE_HEADSHOT, self);
-
- if (other.takedamage == DAMAGE_AIM && other.deadflag == DEAD_NO)
- {
- entity e;
- e = spawn();
- e.cnt = cvar("g_balance_seeker_missile_count");
- e.owner = self.owner;
- e.enemy = other;
- e.think = Seeker_Vollycontroler_Think;
- e.nextthink = time;
-
- //sprint(self.owner, "^1Target lock ^3[^7 ",other.netname, " ^3]^1 acquired - autofire activated.\n");
- //sprint(other,"^1You are targeted!\n");
-
- // stuffcmd(other,"play2 weapons/zany-alarm4.ogg\n");
- // stuffcmd(self.owner, "play2 weapons/zany-lock4.ogg\n");
- }
-
- remove(self);
- return;
-}
-
-
-
-void Seeker_Fire_Tag()
-{
- local entity missile;
- if not(self.items & IT_UNLIMITED_WEAPON_AMMO)
- self.ammo_rockets = self.ammo_rockets - cvar("g_balance_seeker_tag_ammo");
-
- W_SetupShot_ProjectileSize (self, '-2 -2 -2', '2 2 2', FALSE, 2, "weapons/tag_fire.wav", 0);
-
- missile = spawn();
- missile.owner = self;
- missile.classname = "seeker_tag";
- missile.bot_dodge = TRUE;
- missile.bot_dodgerating = 50;
- missile.touch = Seeker_Tag_Touch;
- missile.think = Seeker_Tag_Think;
- missile.nextthink = time + cvar("g_balance_seeker_tag_lifetime");
- missile.movetype = MOVETYPE_FLY;
- missile.solid = SOLID_BBOX;
- missile.owner = self;
-
- missile.takedamage = DAMAGE_YES;
- missile.event_damage = Seeker_Tag_Explode;
- missile.health = cvar("g_balance_seeker_tag_health");
- missile.damageforcescale = cvar("g_balance_seeker_tag_damageforcescale");
-
- setorigin (missile, w_shotorg);
- setsize (missile, '-2 -2 -2', '2 2 2');
-
- missile.flags = FL_PROJECTILE;
-
- missile.velocity = w_shotdir * cvar("g_balance_seeker_tag_speed");
- missile.movetype = MOVETYPE_FLY;
- W_SetupProjectileVelocity(missile);
- missile.angles = vectoangles (missile.velocity);
-
- CSQCProjectile(missile, TRUE, PROJECTILE_TAG, FALSE); // has sound
-}
-
-
-void Seeker_Flac_Explode ()
-{
- self.event_damage = SUB_Null;
-
- RadiusDamage (self, self.owner, cvar("g_balance_seeker_flac_damage"), cvar("g_balance_seeker_flac_edgedamage"), cvar("g_balance_seeker_flac_radius"), world, cvar("g_balance_seeker_flac_force"), self.projectiledeathtype, other, WEP_SEEKER);
-
- remove (self);
-}
-
-void Seeker_Flac_Touch()
-{
- PROJECTILE_TOUCH;
-
- Seeker_Flac_Explode();
-}
-
-void Seeker_Fire_Flac()
-{
- local entity missile;
- vector f_diff;
- float c;
-
- if not(self.items & IT_UNLIMITED_WEAPON_AMMO)
- self.ammo_rockets = self.ammo_rockets - cvar("g_balance_seeker_flac_ammo");
-
- c = mod(self.bulletcounter, 4);
- switch(c)
- {
- case 0:
- f_diff = '-1.25 -3.75 0';
- break;
- case 1:
- f_diff = '+1.25 -3.75 0';
- break;
- case 2:
- f_diff = '-1.25 +3.75 0';
- break;
- case 3:
- default:
- f_diff = '+1.25 +3.75 0';
- break;
- }
- W_SetupShot_ProjectileSize (self, '-2 -2 -2', '2 2 2', FALSE, 2, "weapons/flac_fire.wav", cvar("g_balance_seeker_flac_damage"));
- w_shotorg += f_diff;
-
- pointparticles(particleeffectnum("hagar_muzzleflash"), w_shotorg, w_shotdir * 1000, 1);
-
- missile = spawn ();
- missile.owner = missile.realowner = self;
- missile.classname = "missile";
- missile.bot_dodge = TRUE;
- missile.bot_dodgerating = cvar("g_balance_seeker_flac_damage");
- missile.touch = Seeker_Flac_Explode;
- missile.use = Seeker_Flac_Explode;
- missile.think = Seeker_Flac_Explode;
- missile.nextthink = time + cvar("g_balance_seeker_flac_lifetime") + cvar("g_balance_seeker_flac_lifetime_rand");
- missile.solid = SOLID_BBOX;
- missile.scale = 0.4; // BUG: the model is too big
- missile.projectiledeathtype = WEP_SEEKER;
- setorigin (missile, w_shotorg);
- setsize (missile, '-2 -2 -2', '2 2 2');
- missile.projectiledeathtype = WEP_SEEKER | HITTYPE_SECONDARY;
-
- missile.movetype = MOVETYPE_FLY;
- w_shotdir = w_shotdir + '0 0 0.3';
- missile.velocity = (w_shotdir + randomvec() * cvar("g_balance_seeker_flac_spread")) * cvar("g_balance_seeker_flac_speed");
-
- W_SetupProjectileVelocity(missile);
-
- missile.angles = vectoangles (missile.velocity);
- missile.flags = FL_PROJECTILE;
-
- CSQCProjectile(missile, TRUE, PROJECTILE_FLAC, TRUE);
-}
-
-void spawnfunc_weapon_seeker (void)
-{
- weapon_defaultspawnfunc(WEP_SEEKER);
-}
-
-float w_seeker(float req)
-{
- if (req == WR_AIM)
- self.BUTTON_ATCK = bot_aim(cvar("g_balance_seeker_tag_speed"), 0, 20, FALSE);
-
- else if (req == WR_THINK)
- {
- if (self.BUTTON_ATCK)
- if (weapon_prepareattack(0, cvar("g_balance_seeker_tag_refire")))
- {
- Seeker_Fire_Tag();
- weapon_thinkf(WFRAME_FIRE1, cvar("g_balance_seeker_tag_animtime"), w_ready);
- }
-
- if (self.BUTTON_ATCK2)
- if (weapon_prepareattack(1, cvar("g_balance_seeker_flac_refire")))
- {
- Seeker_Fire_Flac();
- weapon_thinkf(WFRAME_FIRE2, cvar("g_balance_seeker_flac_animtime"), w_ready);
- }
-
- }
- else if (req == WR_PRECACHE)
- {
- precache_model ("models/weapons/g_seeker.md3");
- precache_model ("models/weapons/v_seeker.md3");
- precache_model ("models/weapons/h_seeker.dpm");
- precache_sound ("weapons/tag_fire.wav");
- precache_sound ("weapons/flac_fire.wav");
- precache_sound ("weapons/seeker_fire.wav");
- }
- else if (req == WR_SETUP)
- weapon_setup(WEP_SEEKER);
- else if (req == WR_CHECKAMMO1)
- return self.ammo_rockets >= cvar("g_balance_seeker_tag_ammo") + cvar("g_balance_seeker_missile_ammo");
- else if (req == WR_CHECKAMMO2)
- return self.ammo_rockets >= cvar("g_balance_seeker_flac_ammo");
- else if (req == WR_SUICIDEMESSAGE)
- w_deathtypestring = "played with tiny rockets";
- else if (req == WR_KILLMESSAGE)
- {
- if(w_deathtype & HITTYPE_SECONDARY)
- w_deathtypestring = "ran into #'s flac";
- else
- w_deathtypestring = "was tagged by";
- }
- return TRUE;
-};
-
Deleted: trunk/data/sound/weapons/flac_fire.ogg
===================================================================
(Binary files differ)
Deleted: trunk/data/sound/weapons/flacexp1.ogg
===================================================================
(Binary files differ)
Deleted: trunk/data/sound/weapons/flacexp2.ogg
===================================================================
(Binary files differ)
Deleted: trunk/data/sound/weapons/flacexp3.ogg
===================================================================
(Binary files differ)
Deleted: trunk/data/sound/weapons/seeker_fire.ogg
===================================================================
(Binary files differ)
Deleted: trunk/data/sound/weapons/seekerexp1.ogg
===================================================================
(Binary files differ)
Deleted: trunk/data/sound/weapons/seekerexp2.ogg
===================================================================
(Binary files differ)
Deleted: trunk/data/sound/weapons/seekerexp3.ogg
===================================================================
(Binary files differ)
Deleted: trunk/data/sound/weapons/tag_fire.ogg
===================================================================
(Binary files differ)
Deleted: trunk/data/sound/weapons/tag_impact.ogg
===================================================================
(Binary files differ)
Deleted: trunk/data/sound/weapons/tag_rocket_fly.ogg
===================================================================
(Binary files differ)
Deleted: trunk/data/sound/weapons/tagexp1.ogg
===================================================================
(Binary files differ)
Deleted: trunk/data/sound/weapons/tagexp2.ogg
===================================================================
(Binary files differ)
Deleted: trunk/data/sound/weapons/tagexp3.ogg
===================================================================
(Binary files differ)
Deleted: trunk/data/textures/seeker.tga
===================================================================
(Binary files differ)
Deleted: trunk/data/textures/seeker_gloss.tga
===================================================================
(Binary files differ)
Deleted: trunk/data/textures/seeker_glow.tga
===================================================================
(Binary files differ)
Deleted: trunk/data/textures/seeker_norm.tga
===================================================================
(Binary files differ)
Deleted: trunk/data/textures/seeker_pants.tga
===================================================================
(Binary files differ)
Modified: trunk/data/weapons.cfg
===================================================================
--- trunk/data/weapons.cfg 2009-07-20 04:47:53 UTC (rev 7242)
+++ trunk/data/weapons.cfg 2009-07-20 10:33:23 UTC (rev 7243)
@@ -21,7 +21,6 @@
set g_weaponreplace_porto ""
set g_weaponreplace_minstanex ""
set g_weaponreplace_hook ""
-set g_weaponreplace_seeker ""
set g_weaponreplace_hlac ""
set g_weaponreplace_campingrifle ""
set g_weaponreplace_tuba ""
@@ -40,7 +39,6 @@
set g_start_weapon_porto -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default"
set g_start_weapon_hook -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default"
set g_start_weapon_hlac -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default"
-set g_start_weapon_seeker -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default"
set g_start_weapon_campingrifle -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default"
set g_start_weapon_tuba -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default"
set g_start_ammo_shells 40
@@ -337,65 +335,6 @@
set g_balance_hlac_secondary_ammo 10
set g_balance_hlac_secondary_shots 6
-
-// TAG Seeker
-set g_balance_seeker_tag_speed 9000
-set g_balance_seeker_tag_ammo 1
-set g_balance_seeker_tag_animtime 0.3
-set g_balance_seeker_tag_refire 0.7
-set g_balance_seeker_tag_health 5
-set g_balance_seeker_tag_damageforcescale 4
-set g_balance_seeker_tag_lifetime 15
-
-set g_balance_seeker_missile_delay 0.25
-//set g_balance_seeker_missile_activate_delay 0.1
-
-set g_balance_seeker_missile_speed 700
-set g_balance_seeker_missile_accel 1.05
-set g_balance_seeker_missile_decel 0.9
-
-set g_balance_seeker_missile_speed_max 1250
-set g_balance_seeker_missile_turnrate 0.65
-
-set g_balance_seeker_missile_damage 40
-set g_balance_seeker_missile_edgedamage 10
-set g_balance_seeker_missile_radius 80
-set g_balance_seeker_missile_force 250
-
-set g_balance_seeker_missile_count 4
-set g_balance_seeker_missile_lifetime 15
-set g_balance_seeker_missile_refire 0.5
-set g_balance_seeker_missile_animtime 0.3
-set g_balance_seeker_missile_ammo 2
-set g_balance_seeker_missile_health 5
-set g_balance_seeker_missile_damageforcescale 4
-
-set g_balance_seeker_missile_proxy 0
-set g_balance_seeker_missile_proxy_maxrange 45
-set g_balance_seeker_missile_proxy_delay 0.2
-
-// World avoidance
-set g_balance_seeker_missile_smart 1
-set g_balance_seeker_missile_smart_mindist 800
-set g_balance_seeker_missile_smart_trace_max 2500
-set g_balance_seeker_missile_smart_trace_min 1000
-// End new seeker
-
-
-set g_balance_seeker_flac_lifetime 0.1
-set g_balance_seeker_flac_lifetime_rand 0.05
-set g_balance_seeker_flac_speed 3000
-set g_balance_seeker_flac_spread 0.4
-
-set g_balance_seeker_flac_damage 15
-set g_balance_seeker_flac_edgedamage 10
-set g_balance_seeker_flac_radius 100
-set g_balance_seeker_flac_force 50
-
-set g_balance_seeker_flac_refire 0.1
-set g_balance_seeker_flac_animtime 0.1
-set g_balance_seeker_flac_ammo 0.5
-
set g_balance_campingrifle_magazinecapacity 8
set g_balance_campingrifle_reloadtime 2 // matches reload anim
set g_balance_campingrifle_auto_reload_after_changing_weapons 0
Modified: trunk/data/weaponsHavoc.cfg
===================================================================
--- trunk/data/weaponsHavoc.cfg 2009-07-20 04:47:53 UTC (rev 7242)
+++ trunk/data/weaponsHavoc.cfg 2009-07-20 10:33:23 UTC (rev 7243)
@@ -16,7 +16,6 @@
set g_weaponreplace_porto ""
set g_weaponreplace_minstanex ""
set g_weaponreplace_hook ""
-set g_weaponreplace_seeker "hagar"
set g_weaponreplace_hlac ""
set g_weaponreplace_campingrifle ""
set g_weaponreplace_tuba ""
@@ -35,7 +34,6 @@
set g_start_weapon_porto -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default"
set g_start_weapon_hook -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default"
set g_start_weapon_hlac -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default"
-set g_start_weapon_seeker -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default"
set g_start_weapon_campingrifle -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default"
set g_start_weapon_tuba -1 "0 = never provide the weapon, 1 = always provide the weapon, -1 = game mode default"
set g_start_ammo_shells 60
@@ -332,65 +330,6 @@
set g_balance_hlac_secondary_ammo 10
set g_balance_hlac_secondary_shots 5
-
-// TAG Seeker
-set g_balance_seeker_tag_speed 9000
-set g_balance_seeker_tag_ammo 1
-set g_balance_seeker_tag_animtime 0.3
-set g_balance_seeker_tag_refire 0.7
-set g_balance_seeker_tag_health 5
-set g_balance_seeker_tag_damageforcescale 4
-set g_balance_seeker_tag_lifetime 15
-
-set g_balance_seeker_missile_delay 0.25
-//set g_balance_seeker_missile_activate_delay 0.1
-
-set g_balance_seeker_missile_speed 700
-set g_balance_seeker_missile_accel 1.05
-set g_balance_seeker_missile_decel 0.9
-
-set g_balance_seeker_missile_speed_max 1250
-set g_balance_seeker_missile_turnrate 0.65
-
-set g_balance_seeker_missile_damage 40
-set g_balance_seeker_missile_edgedamage 10
-set g_balance_seeker_missile_radius 80
-set g_balance_seeker_missile_force 250
-
-set g_balance_seeker_missile_count 4
-set g_balance_seeker_missile_lifetime 15
-set g_balance_seeker_missile_refire 0.5
-set g_balance_seeker_missile_animtime 0.3
-set g_balance_seeker_missile_ammo 2
-set g_balance_seeker_missile_health 5
-set g_balance_seeker_missile_damageforcescale 4
-
-set g_balance_seeker_missile_proxy 0
-set g_balance_seeker_missile_proxy_maxrange 45
-set g_balance_seeker_missile_proxy_delay 0.2
-
-// World avoidance
-set g_balance_seeker_missile_smart 1
-set g_balance_seeker_missile_smart_mindist 800
-set g_balance_seeker_missile_smart_trace_max 2500
-set g_balance_seeker_missile_smart_trace_min 1000
-// End new seeker
-
-
-set g_balance_seeker_flac_lifetime 0.1
-set g_balance_seeker_flac_lifetime_rand 0.05
-set g_balance_seeker_flac_speed 3000
-set g_balance_seeker_flac_spread 0.4
-
-set g_balance_seeker_flac_damage 15
-set g_balance_seeker_flac_edgedamage 10
-set g_balance_seeker_flac_radius 100
-set g_balance_seeker_flac_force 50
-
-set g_balance_seeker_flac_refire 0.1
-set g_balance_seeker_flac_animtime 0.1
-set g_balance_seeker_flac_ammo 0.5
-
set g_balance_campingrifle_magazinecapacity 5
set g_balance_campingrifle_reloadtime 1.5
set g_balance_campingrifle_auto_reload_after_changing_weapons 1
More information about the nexuiz-commits
mailing list