From: Rudolf Polzer Date: Thu, 4 Feb 2010 12:54:17 +0000 (+0100) Subject: more seeker fixes X-Git-Tag: xonotic-v0.1.0preview~638^2~3^2~5 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=0b3efdab332718e1dc717a53a4330a44ce9fc55c;p=xonotic%2Fxonotic-data.pk3dir.git more seeker fixes --- diff --git a/balance.cfg b/balance.cfg index f76f4e08b..36a260a38 100644 --- a/balance.cfg +++ b/balance.cfg @@ -603,6 +603,7 @@ 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_spread 0.4 set g_balance_seeker_missile_accel 1.05 set g_balance_seeker_missile_ammo 2 @@ -626,6 +627,7 @@ 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_max 1250 set g_balance_seeker_missile_turnrate 0.65 set g_balance_seeker_tag_ammo 1 diff --git a/balance25.cfg b/balance25.cfg index 5459dcf16..3a758f123 100644 --- a/balance25.cfg +++ b/balance25.cfg @@ -602,6 +602,7 @@ 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_spread 0.4 set g_balance_seeker_missile_accel 1.05 set g_balance_seeker_missile_ammo 2 @@ -625,6 +626,7 @@ 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_max 1250 set g_balance_seeker_missile_turnrate 0.65 set g_balance_seeker_tag_ammo 1 diff --git a/balanceNexrun.cfg b/balanceNexrun.cfg index 537b47bab..7992e7bc6 100644 --- a/balanceNexrun.cfg +++ b/balanceNexrun.cfg @@ -603,6 +603,7 @@ 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_spread 0.4 set g_balance_seeker_missile_accel 1.05 set g_balance_seeker_missile_ammo 2 @@ -626,6 +627,7 @@ 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_max 1250 set g_balance_seeker_missile_turnrate 0.65 set g_balance_seeker_tag_ammo 1 diff --git a/balanceSamual.cfg b/balanceSamual.cfg index c23691a8d..862ff0b03 100644 --- a/balanceSamual.cfg +++ b/balanceSamual.cfg @@ -20,6 +20,7 @@ set g_weaponreplace_hlac 0 // I don't particularly like this weapon. set g_weaponreplace_campingrifle "" set g_weaponreplace_tuba "" set g_weaponreplace_fireball 0 // Don't kill me div0, just for now until I figure out a good balance for it. +set g_weaponreplace_seeker "" set sv_q3acompat_machineshotgunswap 0 "shorthand for swapping uzi and shotgun (for Q3A map compatibility)" // }}} @@ -602,6 +603,7 @@ 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_spread 0.4 set g_balance_seeker_missile_accel 1.05 set g_balance_seeker_missile_ammo 2 @@ -625,6 +627,7 @@ 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_max 1250 set g_balance_seeker_missile_turnrate 0.65 set g_balance_seeker_tag_ammo 1 diff --git a/qcsrc/client/projectile.qc b/qcsrc/client/projectile.qc index 4c057929d..d77e03c09 100644 --- a/qcsrc/client/projectile.qc +++ b/qcsrc/client/projectile.qc @@ -269,7 +269,7 @@ void Ent_Projectile() case PROJECTILE_FIREBALL: self.model = ""; self.modelindex = 0; self.traileffect = particleeffectnum("fireball"); break; // particle effect is good enough 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.md3"); self.scale = 0.4; 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; default: error("Received invalid CSQC projectile, can't work with this!"); diff --git a/qcsrc/server/t_items.qc b/qcsrc/server/t_items.qc index 9d32f3234..df762dbe3 100644 --- a/qcsrc/server/t_items.qc +++ b/qcsrc/server/t_items.qc @@ -1487,12 +1487,6 @@ void spawnfunc_item_jetpack(void) StartItem ("models/items/g_jetpack.md3", "misc/itempickup.wav", g_pickup_respawntime_powerup, g_pickup_respawntimejitter_powerup, "Jet pack", IT_JETPACK, 0, FL_POWERUP, commodity_pickupevalfunc, BOT_PICKUP_RATING_LOW); } -// we no longer have the seeker -void spawnfunc_weapon_seeker() -{ - spawnfunc_weapon_fireball(); -} - #define OP_SET 0 #define OP_MIN 1 diff --git a/qcsrc/server/w_all.qc b/qcsrc/server/w_all.qc index fdb02cf6b..9a9b38302 100644 --- a/qcsrc/server/w_all.qc +++ b/qcsrc/server/w_all.qc @@ -14,3 +14,4 @@ #include "w_tuba.qc" #include "w_campingrifle.qc" #include "w_fireball.qc" +#include "w_seeker.qc" diff --git a/qcsrc/server/w_seeker.qc b/qcsrc/server/w_seeker.qc index b863875d4..c50e13c77 100644 --- a/qcsrc/server/w_seeker.qc +++ b/qcsrc/server/w_seeker.qc @@ -1,5 +1,5 @@ #ifdef REGISTER_WEAPON -REGISTER_WEAPON(SEEKER, w_seeker, IT_ROCKETS, 9, WEP_FLAG_NORMAL | WEP_TYPE_SPLASH, BOT_PICKUP_RATING_MEDIUM, "seeker", "seeker", "T.A.G. Seeker"); +REGISTER_WEAPON(SEEKER, w_seeker, IT_ROCKETS, 9, WEP_FLAG_NORMAL | WEP_TYPE_SPLASH, BOT_PICKUP_RATING_MID, "seeker", "seeker", "T.A.G. Seeker"); #else //.float speed; = switchweapon //.float proxytime; = autoswitch @@ -8,7 +8,7 @@ REGISTER_WEAPON(SEEKER, w_seeker, IT_ROCKETS, 9, WEP_FLAG_NORMAL | WEP_TYPE_SPLA 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); + 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); remove (self); } @@ -187,7 +187,6 @@ void Seeker_Fire_Missile(vector f_diff) 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; @@ -203,8 +202,7 @@ void Seeker_Fire_Missile(vector f_diff) missile.flags = FL_PROJECTILE; - missile.velocity = (w_shotdir + '0 0 0.45') * missile.switchweapon; - W_SetupProjectileVelocity(missile); + W_SETUPPROJECTILEVELOCITY_UP(missile, g_balance_seeker_missile); missile.switchweapon = vlen(missile.velocity); missile.angles = vectoangles (missile.velocity); @@ -344,9 +342,8 @@ void Seeker_Fire_Tag() missile.flags = FL_PROJECTILE; - missile.velocity = w_shotdir * cvar("g_balance_seeker_tag_speed"); missile.movetype = MOVETYPE_FLY; - W_SetupProjectileVelocity(missile); + W_SETUPPROJECTILEVELOCITY(missile, g_balance_seeker_tag); missile.angles = vectoangles (missile.velocity); CSQCProjectile(missile, TRUE, PROJECTILE_TAG, FALSE); // has sound @@ -357,7 +354,7 @@ 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); + 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); remove (self); } @@ -417,10 +414,7 @@ void Seeker_Fire_Flac() 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); + W_SETUPPROJECTILEVELOCITY_UP(missile, g_balance_seeker_flac); missile.angles = vectoangles (missile.velocity); missile.flags = FL_PROJECTILE;