From c42c4d167bd736775cb10c74333bc63b44df2106 Mon Sep 17 00:00:00 2001 From: Samual Date: Sat, 19 Mar 2011 15:40:48 -0400 Subject: [PATCH] More cleanups and fixes, add waypointsprite stuff (slightly), and add the rest of the cvars --- balance25.cfg | 58 +++++++---------- balanceLeeStricklin.cfg | 58 +++++++---------- balanceSamual.cfg | 58 +++++++---------- balanceXonotic.cfg | 6 +- balancetZork.cfg | 58 +++++++---------- qcsrc/server/w_seeker.qc | 131 +++++++++++++++++++++------------------ 6 files changed, 165 insertions(+), 204 deletions(-) diff --git a/balance25.cfg b/balance25.cfg index 665dda5c9..0ae42877a 100644 --- a/balance25.cfg +++ b/balance25.cfg @@ -726,54 +726,42 @@ set g_balance_fireball_reload_ammo 0 //default: 60 set g_balance_fireball_reload_time 2 // }}} // {{{ seeker -set g_balance_seeker_flac_ammo 0.5 -set g_balance_seeker_flac_animtime 0.1 -set g_balance_seeker_flac_damage 15 -set g_balance_seeker_flac_edgedamage 10 -set g_balance_seeker_flac_force 50 -set g_balance_seeker_flac_lifetime 0.1 -set g_balance_seeker_flac_lifetime_rand 0.05 -set g_balance_seeker_flac_radius 100 -set g_balance_seeker_flac_refire 0.1 -set g_balance_seeker_flac_speed 3000 -set g_balance_seeker_flac_speed_up 1000 -set g_balance_seeker_flac_speed_z 0 -set g_balance_seeker_flac_spread 0.4 -set g_balance_seeker_missile_accel 3000 +set g_balance_seeker_tag_ammo 1 +set g_balance_seeker_tag_animtime 0.2 +set g_balance_seeker_tag_damageforcescale 4 +set g_balance_seeker_tag_health 5 +set g_balance_seeker_tag_lifetime 15 +set g_balance_seeker_tag_refire 0.75 // LOG: 0.7 -> 0.75 +set g_balance_seeker_tag_speed 5000 +set g_balance_seeker_tag_spread 0 +set g_balance_seeker_tag_tracker_lifetime 10 +set g_balance_seeker_missile_accel 1500 set g_balance_seeker_missile_ammo 2 -set g_balance_seeker_missile_animtime 0.3 -set g_balance_seeker_missile_count 4 -set g_balance_seeker_missile_damage 40 +set g_balance_seeker_missile_animtime 0.2 +set g_balance_seeker_missile_count 3 // LOG: 8 -> 3 +set g_balance_seeker_missile_damage 16 // LOG: 15 -> 30 set g_balance_seeker_missile_damageforcescale 4 -set g_balance_seeker_missile_decel 6000 +set g_balance_seeker_missile_decel 1400 set g_balance_seeker_missile_delay 0.25 -set g_balance_seeker_missile_edgedamage 10 -set g_balance_seeker_missile_force 250 +set g_balance_seeker_missile_edgedamage 8 +set g_balance_seeker_missile_force 50 // LOG: 100 -> 150 set g_balance_seeker_missile_health 5 set g_balance_seeker_missile_lifetime 15 set g_balance_seeker_missile_proxy 0 set g_balance_seeker_missile_proxy_delay 0.2 set g_balance_seeker_missile_proxy_maxrange 45 -set g_balance_seeker_missile_radius 80 -set g_balance_seeker_missile_refire 0.5 -set g_balance_seeker_missile_smart 1 +set g_balance_seeker_missile_radius 70 +set g_balance_seeker_missile_refire 0.25 +set g_balance_seeker_missile_smart 0 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 -set g_balance_seeker_missile_speed 700 -set g_balance_seeker_missile_speed_up 300 +set g_balance_seeker_missile_speed 1500 +set g_balance_seeker_missile_speed_up 0 set g_balance_seeker_missile_speed_z 0 -set g_balance_seeker_missile_speed_max 1250 +set g_balance_seeker_missile_speed_max 2000 // LOG: 1400 -> 1300 set g_balance_seeker_missile_spread 0 -set g_balance_seeker_missile_turnrate 0.65 -set g_balance_seeker_tag_ammo 1 -set g_balance_seeker_tag_animtime 0.3 -set g_balance_seeker_tag_damageforcescale 4 -set g_balance_seeker_tag_health 5 -set g_balance_seeker_tag_lifetime 15 -set g_balance_seeker_tag_refire 0.7 -set g_balance_seeker_tag_speed 9000 -set g_balance_seeker_tag_spread 0 +set g_balance_seeker_missile_turnrate 0.2 set g_balance_seeker_reload_ammo 0 //default: 15 set g_balance_seeker_reload_time 2 // End new seeker diff --git a/balanceLeeStricklin.cfg b/balanceLeeStricklin.cfg index 77aac858a..67cc26dde 100644 --- a/balanceLeeStricklin.cfg +++ b/balanceLeeStricklin.cfg @@ -726,54 +726,42 @@ set g_balance_fireball_reload_ammo 0 //default: 60 set g_balance_fireball_reload_time 2 // }}} // {{{ seeker -set g_balance_seeker_flac_ammo 0.5 -set g_balance_seeker_flac_animtime 0.1 -set g_balance_seeker_flac_damage 15 -set g_balance_seeker_flac_edgedamage 10 -set g_balance_seeker_flac_force 50 -set g_balance_seeker_flac_lifetime 0.1 -set g_balance_seeker_flac_lifetime_rand 0.05 -set g_balance_seeker_flac_radius 100 -set g_balance_seeker_flac_refire 0.1 -set g_balance_seeker_flac_speed 3000 -set g_balance_seeker_flac_speed_up 1000 -set g_balance_seeker_flac_speed_z 0 -set g_balance_seeker_flac_spread 0.4 -set g_balance_seeker_missile_accel 3000 +set g_balance_seeker_tag_ammo 1 +set g_balance_seeker_tag_animtime 0.2 +set g_balance_seeker_tag_damageforcescale 4 +set g_balance_seeker_tag_health 5 +set g_balance_seeker_tag_lifetime 15 +set g_balance_seeker_tag_refire 0.75 // LOG: 0.7 -> 0.75 +set g_balance_seeker_tag_speed 5000 +set g_balance_seeker_tag_spread 0 +set g_balance_seeker_tag_tracker_lifetime 10 +set g_balance_seeker_missile_accel 1500 set g_balance_seeker_missile_ammo 2 -set g_balance_seeker_missile_animtime 0.3 -set g_balance_seeker_missile_count 8 -set g_balance_seeker_missile_damage 25 +set g_balance_seeker_missile_animtime 0.2 +set g_balance_seeker_missile_count 3 // LOG: 8 -> 3 +set g_balance_seeker_missile_damage 16 // LOG: 15 -> 30 set g_balance_seeker_missile_damageforcescale 4 -set g_balance_seeker_missile_decel 6000 +set g_balance_seeker_missile_decel 1400 set g_balance_seeker_missile_delay 0.25 -set g_balance_seeker_missile_edgedamage 10 -set g_balance_seeker_missile_force 250 +set g_balance_seeker_missile_edgedamage 8 +set g_balance_seeker_missile_force 50 // LOG: 100 -> 150 set g_balance_seeker_missile_health 5 set g_balance_seeker_missile_lifetime 15 set g_balance_seeker_missile_proxy 0 set g_balance_seeker_missile_proxy_delay 0.2 set g_balance_seeker_missile_proxy_maxrange 45 -set g_balance_seeker_missile_radius 80 -set g_balance_seeker_missile_refire 0.5 -set g_balance_seeker_missile_smart 1 +set g_balance_seeker_missile_radius 70 +set g_balance_seeker_missile_refire 0.25 +set g_balance_seeker_missile_smart 0 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 -set g_balance_seeker_missile_speed 700 -set g_balance_seeker_missile_speed_up 300 +set g_balance_seeker_missile_speed 1500 +set g_balance_seeker_missile_speed_up 0 set g_balance_seeker_missile_speed_z 0 -set g_balance_seeker_missile_speed_max 1250 +set g_balance_seeker_missile_speed_max 2000 // LOG: 1400 -> 1300 set g_balance_seeker_missile_spread 0 -set g_balance_seeker_missile_turnrate 0.65 -set g_balance_seeker_tag_ammo 1 -set g_balance_seeker_tag_animtime 0.3 -set g_balance_seeker_tag_damageforcescale 4 -set g_balance_seeker_tag_health 5 -set g_balance_seeker_tag_lifetime 15 -set g_balance_seeker_tag_refire 0.7 -set g_balance_seeker_tag_speed 9000 -set g_balance_seeker_tag_spread 0 +set g_balance_seeker_missile_turnrate 0.2 set g_balance_seeker_reload_ammo 0 //default: 15 set g_balance_seeker_reload_time 2 // End new seeker diff --git a/balanceSamual.cfg b/balanceSamual.cfg index a117a44a9..8a8ed6755 100644 --- a/balanceSamual.cfg +++ b/balanceSamual.cfg @@ -726,54 +726,42 @@ set g_balance_fireball_reload_ammo 0 //default: 60 set g_balance_fireball_reload_time 2 // }}} // {{{ seeker -set g_balance_seeker_flac_ammo 0.5 -set g_balance_seeker_flac_animtime 0.1 -set g_balance_seeker_flac_damage 16 -set g_balance_seeker_flac_edgedamage 8 -set g_balance_seeker_flac_force 50 -set g_balance_seeker_flac_lifetime 0.05 -set g_balance_seeker_flac_lifetime_rand 0.01 -set g_balance_seeker_flac_radius 70 -set g_balance_seeker_flac_refire 0.15 -set g_balance_seeker_flac_speed 3000 -set g_balance_seeker_flac_speed_up 0 -set g_balance_seeker_flac_speed_z 0 -set g_balance_seeker_flac_spread 0.05 -set g_balance_seeker_missile_accel 3000 +set g_balance_seeker_tag_ammo 1 +set g_balance_seeker_tag_animtime 0.2 +set g_balance_seeker_tag_damageforcescale 4 +set g_balance_seeker_tag_health 5 +set g_balance_seeker_tag_lifetime 15 +set g_balance_seeker_tag_refire 0.75 // LOG: 0.7 -> 0.75 +set g_balance_seeker_tag_speed 5000 +set g_balance_seeker_tag_spread 0 +set g_balance_seeker_tag_tracker_lifetime 10 +set g_balance_seeker_missile_accel 1500 set g_balance_seeker_missile_ammo 2 -set g_balance_seeker_missile_animtime 0.3 -set g_balance_seeker_missile_count 4 -set g_balance_seeker_missile_damage 40 +set g_balance_seeker_missile_animtime 0.2 +set g_balance_seeker_missile_count 3 // LOG: 8 -> 3 +set g_balance_seeker_missile_damage 16 // LOG: 15 -> 30 set g_balance_seeker_missile_damageforcescale 4 -set g_balance_seeker_missile_decel 6000 +set g_balance_seeker_missile_decel 1400 set g_balance_seeker_missile_delay 0.25 -set g_balance_seeker_missile_edgedamage 10 -set g_balance_seeker_missile_force 250 +set g_balance_seeker_missile_edgedamage 8 +set g_balance_seeker_missile_force 50 // LOG: 100 -> 150 set g_balance_seeker_missile_health 5 set g_balance_seeker_missile_lifetime 15 set g_balance_seeker_missile_proxy 0 set g_balance_seeker_missile_proxy_delay 0.2 set g_balance_seeker_missile_proxy_maxrange 45 -set g_balance_seeker_missile_radius 80 -set g_balance_seeker_missile_refire 0.5 -set g_balance_seeker_missile_smart 1 +set g_balance_seeker_missile_radius 70 +set g_balance_seeker_missile_refire 0.25 +set g_balance_seeker_missile_smart 0 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 -set g_balance_seeker_missile_speed 700 -set g_balance_seeker_missile_speed_up 300 +set g_balance_seeker_missile_speed 1500 +set g_balance_seeker_missile_speed_up 0 set g_balance_seeker_missile_speed_z 0 -set g_balance_seeker_missile_speed_max 1250 +set g_balance_seeker_missile_speed_max 2000 // LOG: 1400 -> 1300 set g_balance_seeker_missile_spread 0 -set g_balance_seeker_missile_turnrate 0.65 -set g_balance_seeker_tag_ammo 1 -set g_balance_seeker_tag_animtime 0.3 -set g_balance_seeker_tag_damageforcescale 4 -set g_balance_seeker_tag_health 5 -set g_balance_seeker_tag_lifetime 15 -set g_balance_seeker_tag_refire 0.7 -set g_balance_seeker_tag_speed 9000 -set g_balance_seeker_tag_spread 0 +set g_balance_seeker_missile_turnrate 0.2 set g_balance_seeker_reload_ammo 0 //default: 15 set g_balance_seeker_reload_time 2 // End new seeker diff --git a/balanceXonotic.cfg b/balanceXonotic.cfg index 016578837..f35036880 100644 --- a/balanceXonotic.cfg +++ b/balanceXonotic.cfg @@ -734,7 +734,7 @@ set g_balance_seeker_tag_lifetime 15 set g_balance_seeker_tag_refire 0.75 // LOG: 0.7 -> 0.75 set g_balance_seeker_tag_speed 5000 set g_balance_seeker_tag_spread 0 -set g_balance_seeker_tag_tracker_lifetime 10 +set g_balance_seeker_tag_tracker_lifetime 10 set g_balance_seeker_missile_accel 1500 set g_balance_seeker_missile_ammo 2 set g_balance_seeker_missile_animtime 0.2 @@ -751,7 +751,7 @@ set g_balance_seeker_missile_proxy 0 set g_balance_seeker_missile_proxy_delay 0.2 set g_balance_seeker_missile_proxy_maxrange 45 set g_balance_seeker_missile_radius 70 -set g_balance_seeker_missile_refire 0.2 +set g_balance_seeker_missile_refire 0.25 set g_balance_seeker_missile_smart 0 set g_balance_seeker_missile_smart_mindist 800 set g_balance_seeker_missile_smart_trace_max 2500 @@ -761,7 +761,7 @@ set g_balance_seeker_missile_speed_up 0 set g_balance_seeker_missile_speed_z 0 set g_balance_seeker_missile_speed_max 2000 // LOG: 1400 -> 1300 set g_balance_seeker_missile_spread 0 -set g_balance_seeker_missile_turnrate 0.25 +set g_balance_seeker_missile_turnrate 0.2 set g_balance_seeker_reload_ammo 0 //default: 15 set g_balance_seeker_reload_time 2 // End new seeker diff --git a/balancetZork.cfg b/balancetZork.cfg index 2fb726764..5b1b0c564 100644 --- a/balancetZork.cfg +++ b/balancetZork.cfg @@ -725,54 +725,42 @@ set g_balance_fireball_reload_ammo 0 //default: 60 set g_balance_fireball_reload_time 2 // }}} // {{{ seeker -set g_balance_seeker_flac_ammo 0.5 -set g_balance_seeker_flac_animtime 0.1 -set g_balance_seeker_flac_damage 15 -set g_balance_seeker_flac_edgedamage 10 -set g_balance_seeker_flac_force 50 -set g_balance_seeker_flac_lifetime 0.05 -set g_balance_seeker_flac_lifetime_rand 0.02 -set g_balance_seeker_flac_radius 100 -set g_balance_seeker_flac_refire 0.1 -set g_balance_seeker_flac_speed 5000 -set g_balance_seeker_flac_speed_up 500 -set g_balance_seeker_flac_speed_z 0 -set g_balance_seeker_flac_spread 0.25 -set g_balance_seeker_missile_accel 1400 +set g_balance_seeker_tag_ammo 1 +set g_balance_seeker_tag_animtime 0.2 +set g_balance_seeker_tag_damageforcescale 4 +set g_balance_seeker_tag_health 5 +set g_balance_seeker_tag_lifetime 15 +set g_balance_seeker_tag_refire 0.75 // LOG: 0.7 -> 0.75 +set g_balance_seeker_tag_speed 5000 +set g_balance_seeker_tag_spread 0 +set g_balance_seeker_tag_tracker_lifetime 10 +set g_balance_seeker_missile_accel 1500 set g_balance_seeker_missile_ammo 2 -set g_balance_seeker_missile_animtime 0.3 -set g_balance_seeker_missile_count 4 -set g_balance_seeker_missile_damage 50 -set g_balance_seeker_missile_damageforcescale 2 +set g_balance_seeker_missile_animtime 0.2 +set g_balance_seeker_missile_count 3 // LOG: 8 -> 3 +set g_balance_seeker_missile_damage 16 // LOG: 15 -> 30 +set g_balance_seeker_missile_damageforcescale 4 set g_balance_seeker_missile_decel 1400 set g_balance_seeker_missile_delay 0.25 -set g_balance_seeker_missile_edgedamage 10 -set g_balance_seeker_missile_force 250 +set g_balance_seeker_missile_edgedamage 8 +set g_balance_seeker_missile_force 50 // LOG: 100 -> 150 set g_balance_seeker_missile_health 5 set g_balance_seeker_missile_lifetime 15 set g_balance_seeker_missile_proxy 0 set g_balance_seeker_missile_proxy_delay 0.2 set g_balance_seeker_missile_proxy_maxrange 45 -set g_balance_seeker_missile_radius 80 -set g_balance_seeker_missile_refire 0.5 -set g_balance_seeker_missile_smart 1 +set g_balance_seeker_missile_radius 70 +set g_balance_seeker_missile_refire 0.25 +set g_balance_seeker_missile_smart 0 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 -set g_balance_seeker_missile_speed 700 -set g_balance_seeker_missile_speed_up 300 +set g_balance_seeker_missile_speed 1500 +set g_balance_seeker_missile_speed_up 0 set g_balance_seeker_missile_speed_z 0 -set g_balance_seeker_missile_speed_max 1400 +set g_balance_seeker_missile_speed_max 2000 // LOG: 1400 -> 1300 set g_balance_seeker_missile_spread 0 -set g_balance_seeker_missile_turnrate 0.65 -set g_balance_seeker_tag_ammo 1 -set g_balance_seeker_tag_animtime 0.3 -set g_balance_seeker_tag_damageforcescale 4 -set g_balance_seeker_tag_health 5 -set g_balance_seeker_tag_lifetime 15 -set g_balance_seeker_tag_refire 1 -set g_balance_seeker_tag_speed 9000 -set g_balance_seeker_tag_spread 0 +set g_balance_seeker_missile_turnrate 0.2 set g_balance_seeker_reload_ammo 0 //default: 15 set g_balance_seeker_reload_time 2 // End new seeker diff --git a/qcsrc/server/w_seeker.qc b/qcsrc/server/w_seeker.qc index a5d8a61a2..76709cf1e 100644 --- a/qcsrc/server/w_seeker.qc +++ b/qcsrc/server/w_seeker.qc @@ -4,7 +4,7 @@ REGISTER_WEAPON(SEEKER, w_seeker, IT_ROCKETS, 8, WEP_FLAG_NORMAL | WEP_FLAG_RELO #ifdef SVQC //.float proxytime; = autoswitch //.float tl; = wait -.entity tag_target; +.entity tag_target, wps_tag_tracker; .float tag_time; void Seeker_Missile_Explode () @@ -186,8 +186,12 @@ void Seeker_Fire_Missile(vector f_diff, entity m_target) missile.takedamage = DAMAGE_YES; missile.health = autocvar_g_balance_seeker_missile_health; missile.damageforcescale = autocvar_g_balance_seeker_missile_damageforcescale; - missile.projectiledeathtype = WEP_SEEKER; //missile.think = Seeker_Missile_Animate; // csqc projectiles. + + if (missile.enemy != world) + missile.projectiledeathtype = WEP_SEEKER | HITTYPE_SECONDARY; + else + missile.projectiledeathtype = WEP_SEEKER; setorigin (missile, w_shotorg); @@ -216,33 +220,53 @@ entity Seeker_Tagged_Info(entity isowner, entity istarget) void Seeker_Attack() { entity tracker, closest_target; - for(tracker = world; (tracker = find(tracker, classname, "tag_tracker")); ) - if (tracker.owner == self) - if (closest_target) - { - if (vlen(self.origin - tracker.tag_target.origin) < vlen(self.origin - closest_target.origin)) - closest_target = tracker.tag_target; - } - else + + for(tracker = world; (tracker = find(tracker, classname, "tag_tracker")); ) if (tracker.owner == self) + { + if (closest_target) + { + if (vlen(self.origin - tracker.tag_target.origin) < vlen(self.origin - closest_target.origin)) closest_target = tracker.tag_target; + } + else + closest_target = tracker.tag_target; + } traceline(self.origin + self.view_ofs, closest_target.origin, MOVE_NOMONSTERS, self); - if ((!closest_target) || (trace_fraction < 1 && trace_ent != closest_target)) + if ((!closest_target) || ((trace_fraction < 1) && (trace_ent != closest_target))) closest_target = world; Seeker_Fire_Missile('0 0 0', closest_target); + /* + switch(mod(self.bulletcounter, 4)) + { + case 0: + Seeker_Fire_Missile('-1.25 -3.75 0', closest_target); + break; + case 1: + Seeker_Fire_Missile('+1.25 -3.75 0', closest_target); + break; + case 2: + Seeker_Fire_Missile('-1.25 +3.75 0', closest_target); + break; + case 3: + default: + Seeker_Fire_Missile('+1.25 +3.75 0', closest_target); + break; + } + */ } -void Seeker_Tracker_Think() // this think method keeps track of the tag entity created to follow/tag down a player. +void Seeker_Tracker_Think() { // commit suicide if: You die OR target dies OR you switch away from the seeker OR commit suicide if lifetime is up if ((self.owner.deadflag != DEAD_NO) || (self.tag_target.deadflag != DEAD_NO) || (self.owner.switchweapon != WEP_SEEKER) - || (time > self.tag_time + autocvar_g_balance_seeker_tag_lifetime)) + || (time > self.tag_time + autocvar_g_balance_seeker_tag_tracker_lifetime)) { if (self) { - WaypointSprite_Kill(self.tag_target.waypointsprite_attachedforcarrier); + WaypointSprite_Kill(self.tag_target.wps_tag_tracker); remove(self); } return; @@ -289,10 +313,16 @@ void Seeker_Tag_Touch() // check to see if this person is already tagged by me entity tag = Seeker_Tagged_Info(self.owner, other); - if (tag != world) // if so, just update the time at which the player was last tagged. + if (tag != world) + { + if (other.wps_tag_tracker) // don't attach another waypointsprite without killing the old one first + WaypointSprite_Kill(other.wps_tag_tracker); + tag.tag_time = time; - else // if not, create a new tracker just for this person. + } + else { + sprint(self.owner, strcat("You just tagged ^2", other.netname, "^7 with a tracking device!\n")); e = spawn(); e.classname = "tag_tracker"; e.owner = self.owner; @@ -300,12 +330,10 @@ void Seeker_Tag_Touch() e.nextthink = time; e.tag_target = other; e.tag_time = time; - - WaypointSprite_Spawn("ka-ball", autocvar_g_balance_seeker_tag_tracker_lifetime, 0, other, '0 0 64', self.owner, 0, other, waypointsprite_attachedforcarrier, TRUE); - WaypointSprite_UpdateRule(other.waypointsprite_attachedforcarrier, 0, SPRITERULE_DEFAULT); - - print("hit: ", self.owner.netname, " -> ", other.netname, ". \n"); } + + WaypointSprite_Spawn("nb-ball", autocvar_g_balance_seeker_tag_tracker_lifetime, 0, other, '0 0 64', self.owner, 0, other, wps_tag_tracker, TRUE); + WaypointSprite_UpdateRule(other.wps_tag_tracker, 0, SPRITERULE_DEFAULT); } remove(self); @@ -395,7 +423,7 @@ float w_seeker(float req) precache_model ("models/weapons/v_seeker.md3"); precache_model ("models/weapons/h_seeker.iqm"); precache_sound ("weapons/tag_fire.wav"); - precache_sound ("weapons/flac_fire.wav"); + //precache_sound ("weapons/flac_fire.wav"); precache_sound ("weapons/seeker_fire.wav"); //precache_sound ("weapons/reload.wav"); // until weapons have individual reload sounds, precache the reload sound somewhere else } @@ -430,59 +458,40 @@ float w_seeker(float req) { vector org2; org2 = w_org + w_backoff * 6; - if(w_deathtype & HITTYPE_SECONDARY) + if(w_deathtype & HITTYPE_BOUNCE) { - pointparticles(particleeffectnum("flac_explode"), org2, '0 0 0', 1); + pointparticles(particleeffectnum("hagar_explode"), org2, '0 0 0', 1); if(!w_issilent) { if (w_random<0.15) - sound(self, CHAN_PROJECTILE, "weapons/flacexp1.wav", 1, ATTN_NORM); + sound(self, CHAN_PROJECTILE, "weapons/tagexp1.wav", 1, ATTN_NORM); else if (w_random<0.7) - sound(self, CHAN_PROJECTILE, "weapons/flacexp2.wav", 1, ATTN_NORM); + sound(self, CHAN_PROJECTILE, "weapons/tagexp2.wav", 1, ATTN_NORM); else - sound(self, CHAN_PROJECTILE, "weapons/flacexp3.wav", 1, ATTN_NORM); + sound(self, CHAN_PROJECTILE, "weapons/tagexp3.wav", 1, ATTN_NORM); } } + else if(w_deathtype & HITTYPE_HEADSHOT) + { + if(!w_issilent) + sound(self, CHAN_PROJECTILE, "weapons/tag_impact.wav", 1, ATTN_NORM); + } else { - if(w_deathtype & HITTYPE_BOUNCE) - { - pointparticles(particleeffectnum("hagar_explode"), org2, '0 0 0', 1); - if(!w_issilent) - { - if (w_random<0.15) - sound(self, CHAN_PROJECTILE, "weapons/tagexp1.wav", 1, ATTN_NORM); - else if (w_random<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(w_deathtype & HITTYPE_HEADSHOT) - { - if(!w_issilent) - sound(self, CHAN_PROJECTILE, "weapons/tag_impact.wav", 1, ATTN_NORM); - } - else + pointparticles(particleeffectnum("hagar_explode"), org2, '0 0 0', 1); + if(!w_issilent) { - pointparticles(particleeffectnum("hagar_explode"), org2, '0 0 0', 1); - if(!w_issilent) - { - if (w_random<0.15) - sound(self, CHAN_PROJECTILE, "weapons/seekerexp1.wav", 1, ATTN_NORM); - else if (w_random<0.7) - sound(self, CHAN_PROJECTILE, "weapons/seekerexp2.wav", 1, ATTN_NORM); - else - sound(self, CHAN_PROJECTILE, "weapons/seekerexp3.wav", 1, ATTN_NORM); - } + if (w_random<0.15) + sound(self, CHAN_PROJECTILE, "weapons/seekerexp1.wav", 1, ATTN_NORM); + else if (w_random<0.7) + sound(self, CHAN_PROJECTILE, "weapons/seekerexp2.wav", 1, ATTN_NORM); + else + sound(self, CHAN_PROJECTILE, "weapons/seekerexp3.wav", 1, ATTN_NORM); } } } else if(req == WR_PRECACHE) { - precache_sound("weapons/flacexp1.wav"); - precache_sound("weapons/flacexp2.wav"); - precache_sound("weapons/flacexp3.wav"); precache_sound("weapons/seekerexp1.wav"); precache_sound("weapons/seekerexp2.wav"); precache_sound("weapons/seekerexp3.wav"); @@ -496,9 +505,9 @@ float w_seeker(float req) else if (req == WR_KILLMESSAGE) { if(w_deathtype & HITTYPE_SECONDARY) - w_deathtypestring = _("%s ran into %s's flac"); - else w_deathtypestring = _("%s was tagged by %s"); + else + w_deathtypestring = _("%s was pummeled by %s"); } return TRUE; } -- 2.39.2