From d8f8332fb2f614ff7f105b5b14fdc6487d61c668 Mon Sep 17 00:00:00 2001 From: Mircea Kitsune Date: Sun, 26 Sep 2010 02:08:30 +0300 Subject: [PATCH] Proper projectile, and temporary mine model. --- models/mine.md3 | Bin 0 -> 11172 bytes qcsrc/client/projectile.qc | 6 ++++++ qcsrc/common/constants.qh | 29 +++++++++++++++-------------- qcsrc/server/w_minelayer.qc | 5 +++-- 4 files changed, 24 insertions(+), 16 deletions(-) create mode 100644 models/mine.md3 diff --git a/models/mine.md3 b/models/mine.md3 new file mode 100644 index 0000000000000000000000000000000000000000..7758e3e0f3e134e34a90504bc862604a393faf88 GIT binary patch literal 11172 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 literal 0 HcmV?d00001 diff --git a/qcsrc/client/projectile.qc b/qcsrc/client/projectile.qc index 9a773379b..f45a52aa1 100644 --- a/qcsrc/client/projectile.qc +++ b/qcsrc/client/projectile.qc @@ -279,6 +279,7 @@ void Ent_Projectile() case PROJECTILE_ELECTRO_BEAM: setmodel(self, "models/elaser.mdl");self.traileffect = particleeffectnum("TR_NEXUIZPLASMA"); break; case PROJECTILE_GRENADE: setmodel(self, "models/grenademodel.md3");self.traileffect = particleeffectnum("TR_GRENADE"); break; case PROJECTILE_GRENADE_BOUNCING: setmodel(self, "models/grenademodel.md3");self.traileffect = particleeffectnum("TR_GRENADE"); break; + case PROJECTILE_MINE: setmodel(self, "models/mine.md3");self.traileffect = particleeffectnum(""); break; case PROJECTILE_LASER: setmodel(self, "models/laser.mdl");self.traileffect = particleeffectnum(""); break; case PROJECTILE_HLAC: setmodel(self, "models/hlac_bullet.md3");self.traileffect = particleeffectnum(""); break; case PROJECTILE_PORTO_RED: setmodel(self, "models/grenademodel.md3");self.traileffect = particleeffectnum("TR_WIZSPIKE"); self.scale = 4; break; @@ -330,6 +331,10 @@ void Ent_Projectile() self.move_bounce_factor = g_balance_grenadelauncher_secondary_bouncefactor; self.move_bounce_stopspeed = g_balance_grenadelauncher_secondary_bouncestop; break; + case PROJECTILE_MINE: + self.mins = '-6 -6 -6'; + self.maxs = '6 6 6'; + break; case PROJECTILE_PORTO_RED: self.colormod = '2 1 1'; self.alphamod = 0.5; @@ -407,6 +412,7 @@ void Projectile_Precache() precache_model("models/ebomb.mdl"); precache_model("models/elaser.mdl"); precache_model("models/grenademodel.md3"); + precache_model("models/mine.md3"); precache_model("models/hagarmissile.mdl"); precache_model("models/hlac_bullet.md3"); precache_model("models/laser.mdl"); diff --git a/qcsrc/common/constants.qh b/qcsrc/common/constants.qh index 5ebeb5465..f03875bfc 100644 --- a/qcsrc/common/constants.qh +++ b/qcsrc/common/constants.qh @@ -454,20 +454,21 @@ float PROJECTILE_CRYLINK = 5; float PROJECTILE_ELECTRO_BEAM = 6; float PROJECTILE_GRENADE = 7; 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; -float PROJECTILE_HAGAR = 16; -float PROJECTILE_HAGAR_BOUNCING = 17; -float PROJECTILE_BULLET_GLOWING = 18; -float PROJECTILE_CRYLINK_BOUNCING = 19; -float PROJECTILE_FIREBALL = 20; -float PROJECTILE_FIREMINE = 21; -float PROJECTILE_BULLET_GLOWING_TRACER = 22; +float PROJECTILE_MINE = 9; +float PROJECTILE_LASER = 10; +float PROJECTILE_HLAC = 11; +float PROJECTILE_SEEKER = 12; +float PROJECTILE_FLAC = 13; +float PROJECTILE_PORTO_RED = 14; +float PROJECTILE_PORTO_BLUE = 15; +float PROJECTILE_HOOKBOMB = 16; +float PROJECTILE_HAGAR = 17; +float PROJECTILE_HAGAR_BOUNCING = 18; +float PROJECTILE_BULLET_GLOWING = 19; +float PROJECTILE_CRYLINK_BOUNCING = 20; +float PROJECTILE_FIREBALL = 21; +float PROJECTILE_FIREMINE = 22; +float PROJECTILE_BULLET_GLOWING_TRACER = 23; float SPECIES_HUMAN = 0; float SPECIES_ROBOT_SOLID = 1; diff --git a/qcsrc/server/w_minelayer.qc b/qcsrc/server/w_minelayer.qc index 80bbd44cb..6940a57cf 100644 --- a/qcsrc/server/w_minelayer.qc +++ b/qcsrc/server/w_minelayer.qc @@ -118,7 +118,8 @@ void W_Mine_Think (void) void W_Mine_Touch (void) { PROJECTILE_TOUCH; - self.movetype = MOVETYPE_NONE; // locked in place. + spamsound (self, CHAN_PROJECTILE, "weapons/grenade_stick.wav", VOL_BASE, ATTN_NORM); + self.movetype = MOVETYPE_NONE; // lock the mine in place // TODO: make sure this doesn't cause the mine to get stuck in the air if it falls over a team mate (doesn't explode) and the team mate leaves } @@ -174,7 +175,7 @@ void W_Mine_Attack (void) mine.cnt = time + cvar("g_balance_minelayer_lifetime"); mine.flags = FL_PROJECTILE; - CSQCProjectile(mine, FALSE, PROJECTILE_ROCKET, FALSE); + CSQCProjectile(mine, FALSE, PROJECTILE_MINE, FALSE); // muzzle flash for 1st person view flash = spawn (); -- 2.39.2