]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
more seeker fixes
authorRudolf Polzer <rpolzer@nb-04.(none)>
Thu, 4 Feb 2010 12:54:17 +0000 (13:54 +0100)
committerRudolf Polzer <divverent@alientrap.org>
Tue, 13 Apr 2010 07:56:39 +0000 (09:56 +0200)
balance.cfg
balance25.cfg
balanceNexrun.cfg
balanceSamual.cfg
qcsrc/client/projectile.qc
qcsrc/server/t_items.qc
qcsrc/server/w_all.qc
qcsrc/server/w_seeker.qc

index f76f4e08b9a6d8803ac96bffd33a82caab0744db..36a260a3814bfa0f82d6b64000464a8d46047c9e 100644 (file)
@@ -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_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
 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_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
 set g_balance_seeker_missile_speed_max 1250
 set g_balance_seeker_missile_turnrate 0.65
 set g_balance_seeker_tag_ammo 1
index 5459dcf160324368cc9125578609f146db60fe39..3a758f1236f931b681c50d64c8251414c4264306 100644 (file)
@@ -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_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
 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_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
 set g_balance_seeker_missile_speed_max 1250
 set g_balance_seeker_missile_turnrate 0.65
 set g_balance_seeker_tag_ammo 1
index 537b47bab39b3f670e2743a790eab5c34333b7f7..7992e7bc64d504de04b057e7ebf6c3de8a2c02af 100644 (file)
@@ -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_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
 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_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
 set g_balance_seeker_missile_speed_max 1250
 set g_balance_seeker_missile_turnrate 0.65
 set g_balance_seeker_tag_ammo 1
index c23691a8dd9ddf1c2f3d590f38a49e1fd24db570..862ff0b03866bea1565e35f7ad480cca7d9e73c1 100644 (file)
@@ -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_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)"
 // }}}
 
 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_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
 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_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
 set g_balance_seeker_missile_speed_max 1250
 set g_balance_seeker_missile_turnrate 0.65
 set g_balance_seeker_tag_ammo 1
index 4c057929d54a94db936f2b95cc181e6e1c02be43..d77e03c09ae42e600ed136174a7d0eeb52be2396 100644 (file)
@@ -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_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!");
                        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!");
index 9d32f3234bf7ae2f429f4c4038f84e1666cc67df..df762dbe3204fd7e356f8ddd8e8922b5bd5189b3 100644 (file)
@@ -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);
 }
 
        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
 
 #define OP_SET 0
 #define OP_MIN 1
index fdb02cf6bff7e3815c781741a68a2d0343c1e038..9a9b3830244602e00861704efe6716a2229f6304 100644 (file)
@@ -14,3 +14,4 @@
 #include "w_tuba.qc"
 #include "w_campingrifle.qc"
 #include "w_fireball.qc"
 #include "w_tuba.qc"
 #include "w_campingrifle.qc"
 #include "w_fireball.qc"
+#include "w_seeker.qc"
index b863875d4cb12aa139a0a8e4457930ff87d68150..c50e13c773659e48bfec788167199f6ed1640f4d 100644 (file)
@@ -1,5 +1,5 @@
 #ifdef REGISTER_WEAPON
 #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
 #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;
 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);
 }
 
        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.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.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.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);
 
        missile.switchweapon = vlen(missile.velocity);
        missile.angles = vectoangles (missile.velocity);
@@ -344,9 +342,8 @@ void Seeker_Fire_Tag()
 
        missile.flags       = FL_PROJECTILE;
 
 
        missile.flags       = FL_PROJECTILE;
 
-       missile.velocity    = w_shotdir  * cvar("g_balance_seeker_tag_speed");
        missile.movetype    = MOVETYPE_FLY;
        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
        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;
 
 {
        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);
 }
 
        remove (self);
 }
@@ -417,10 +414,7 @@ void Seeker_Fire_Flac()
        missile.projectiledeathtype = WEP_SEEKER | HITTYPE_SECONDARY;
 
        missile.movetype = MOVETYPE_FLY;
        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;
 
        missile.angles = vectoangles (missile.velocity);
        missile.flags = FL_PROJECTILE;