From 45db5478d2638074619c0661c4539e90c87dd6e8 Mon Sep 17 00:00:00 2001 From: Samual Date: Mon, 21 Mar 2011 03:57:11 -0400 Subject: [PATCH] Change the effect slightly for the seeker, and swap primary with secondary --- models/sprites/make-sprites.sh | 2 ++ qcsrc/client/projectile.qc | 4 ++-- qcsrc/server/w_seeker.qc | 34 ++++++++++++++++++---------------- 3 files changed, 22 insertions(+), 18 deletions(-) diff --git a/models/sprites/make-sprites.sh b/models/sprites/make-sprites.sh index 87f24a6d0..9f08c21f9 100644 --- a/models/sprites/make-sprites.sh +++ b/models/sprites/make-sprites.sh @@ -206,3 +206,5 @@ sprite item-fuelregen "Fuel regen" ff8000 000000 0.5 ff8000 ffff00 0.5 sprite item-jetpack "Jet Pack" 808080 000000 0.5 808080 ffff00 0.5 sprite freezetag_frozen "Frozen!" 40e6ff 000000 0.0 # bright cyan + +sprite tagged-target "Tagged" 80ff0f 000000 0.25 80ff0f ffff80 0.25 diff --git a/qcsrc/client/projectile.qc b/qcsrc/client/projectile.qc index cede03c5a..319c36b9a 100644 --- a/qcsrc/client/projectile.qc +++ b/qcsrc/client/projectile.qc @@ -293,7 +293,7 @@ void Ent_Projectile() case PROJECTILE_FIREMINE: self.model = ""; self.modelindex = 0; self.traileffect = particleeffectnum("firemine"); break; // particle effect is good enough case PROJECTILE_TAG: setmodel(self, "models/laser.mdl"); self.traileffect = particleeffectnum("TR_ROCKET"); break; case PROJECTILE_FLAC: setmodel(self, "models/hagarmissile.mdl"); self.scale = 0.4; self.traileffect = particleeffectnum("TR_ROCKET"); break; - case PROJECTILE_SEEKER: setmodel(self, "models/tagrocket.md3"); self.scale = 2; self.traileffect = particleeffectnum("TR_ROCKET"); break; + case PROJECTILE_SEEKER: setmodel(self, "models/tagrocket.md3"); self.traileffect = particleeffectnum("TR_ROCKET"); break; default: error("Received invalid CSQC projectile, can't work with this!"); break; @@ -372,7 +372,6 @@ void Ent_Projectile() self.maxs = '4 4 4'; 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; @@ -381,6 +380,7 @@ void Ent_Projectile() self.maxs = '2 2 2'; break; case PROJECTILE_SEEKER: + loopsound(self, CHAN_PROJECTILE, "weapons/tag_rocket_fly.wav", VOL_BASE, ATTN_NORM); self.mins = '-4 -4 -4'; self.maxs = '4 4 4'; break; diff --git a/qcsrc/server/w_seeker.qc b/qcsrc/server/w_seeker.qc index 76709cf1e..205196069 100644 --- a/qcsrc/server/w_seeker.qc +++ b/qcsrc/server/w_seeker.qc @@ -235,8 +235,9 @@ void Seeker_Attack() traceline(self.origin + self.view_ofs, closest_target.origin, MOVE_NOMONSTERS, self); if ((!closest_target) || ((trace_fraction < 1) && (trace_ent != closest_target))) closest_target = world; - - Seeker_Fire_Missile('0 0 0', closest_target); + + // we don't need to do this because the model is going to be changed anyway. + // CLEAN THIS UP IN THE FUTURE !!!!!!!!!!! /* switch(mod(self.bulletcounter, 4)) { @@ -255,7 +256,8 @@ void Seeker_Attack() break; } */ - + + Seeker_Fire_Missile('0 0 0', closest_target); } void Seeker_Tracker_Think() @@ -332,7 +334,7 @@ void Seeker_Tag_Touch() e.tag_time = time; } - 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_Spawn("tagged-target", 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); } @@ -390,9 +392,9 @@ float w_seeker(float req) if (req == WR_AIM) { if (Seeker_Tagged_Info(self, self.enemy) != world) - self.BUTTON_ATCK2 = bot_aim(autocvar_g_balance_seeker_missile_speed_max, 0, autocvar_g_balance_seeker_missile_lifetime, FALSE); + self.BUTTON_ATCK = bot_aim(autocvar_g_balance_seeker_missile_speed_max, 0, autocvar_g_balance_seeker_missile_lifetime, FALSE); else - self.BUTTON_ATCK = bot_aim(autocvar_g_balance_seeker_tag_speed, 0, autocvar_g_balance_seeker_tag_lifetime, FALSE); + self.BUTTON_ATCK2 = bot_aim(autocvar_g_balance_seeker_tag_speed, 0, autocvar_g_balance_seeker_tag_lifetime, FALSE); } else if (req == WR_THINK) { @@ -401,19 +403,19 @@ float w_seeker(float req) else if (self.BUTTON_ATCK) { - if (weapon_prepareattack(0, autocvar_g_balance_seeker_tag_refire)) + if (weapon_prepareattack(0, autocvar_g_balance_seeker_missile_refire)) { - Seeker_Fire_Tag(); - weapon_thinkf(WFRAME_FIRE1, autocvar_g_balance_seeker_tag_animtime, w_ready); + Seeker_Attack(); + weapon_thinkf(WFRAME_FIRE2, autocvar_g_balance_seeker_missile_animtime, w_ready); } } else if (self.BUTTON_ATCK2) { - if (weapon_prepareattack(1, autocvar_g_balance_seeker_missile_refire)) + if (weapon_prepareattack(1, autocvar_g_balance_seeker_tag_refire)) { - Seeker_Attack(); - weapon_thinkf(WFRAME_FIRE2, autocvar_g_balance_seeker_missile_animtime, w_ready); + Seeker_Fire_Tag(); + weapon_thinkf(WFRAME_FIRE1, autocvar_g_balance_seeker_tag_animtime, w_ready); } } } @@ -434,14 +436,14 @@ float w_seeker(float req) } else if (req == WR_CHECKAMMO1) { - ammo_amount = self.ammo_rockets >= autocvar_g_balance_seeker_tag_ammo; - ammo_amount += self.weapon_load[WEP_SEEKER] >= autocvar_g_balance_seeker_tag_ammo; + ammo_amount = self.ammo_rockets >= autocvar_g_balance_seeker_missile_ammo; + ammo_amount += self.weapon_load[WEP_SEEKER] >= autocvar_g_balance_seeker_missile_ammo; return ammo_amount; } else if (req == WR_CHECKAMMO2) { - ammo_amount = self.ammo_rockets >= autocvar_g_balance_seeker_missile_ammo; - ammo_amount += self.weapon_load[WEP_SEEKER] >= autocvar_g_balance_seeker_missile_ammo; + ammo_amount = self.ammo_rockets >= autocvar_g_balance_seeker_tag_ammo; + ammo_amount += self.weapon_load[WEP_SEEKER] >= autocvar_g_balance_seeker_tag_ammo; return ammo_amount; } else if (req == WR_RELOAD) -- 2.39.2