#ifdef REGISTER_WEAPON
REGISTER_WEAPON(MINSTANEX, w_minstanex, IT_CELLS, 7, WEP_FLAG_HIDDEN | WEP_FLAG_CANCLIMB | WEP_TYPE_HITSCAN, BOT_PICKUP_RATING_HIGH, "minstanex", "minstanex", "MinstaNex");
#else
+#ifdef SVQC
.float minstanex_lasthit;
void W_MinstaNex_Attack (void)
float flying;
flying = IsFlying(self); // do this BEFORE to make the trace values from FireRailgunBullet last
- W_SetupShot (self, TRUE, 0, "weapons/minstanexfire.wav", 0);
+ W_SetupShot (self, TRUE, 0, "weapons/minstanexfire.wav", 10000);
yoda = 0;
damage_goodhits = 0;
if(headshot)
{
AnnounceTo(self, "headshot");
- print("h\n");
}
if(damage_goodhits && self.minstanex_lasthit)
{
{
if (self.jump_interval <= time)
{
- self.jump_interval = time + 0.9 * W_WeaponRateFactor();
+ self.jump_interval = time + cvar("g_balance_laser_primary_refire") * W_WeaponRateFactor();
// ugly minstagib hack to reuse the fire mode of the laser
float w;
}
else if (req == WR_CHECKAMMO2)
return TRUE;
- else if (req == WR_SUICIDEMESSAGE)
- w_deathtypestring = "did the impossible";
- else if (req == WR_KILLMESSAGE)
- w_deathtypestring = "has been vaporized by";
else if (req == WR_RESETPLAYER)
{
self.minstanex_lasthit = 0;
return TRUE;
};
#endif
+#ifdef CSQC
+float w_minstanex(float req)
+{
+ if(req == WR_IMPACTEFFECT)
+ {
+ vector org2;
+ org2 = w_org + w_backoff * 6;
+ pointparticles(particleeffectnum("nex_impact"), org2, '0 0 0', 1);
+ if(!w_issilent)
+ sound(self, CHAN_PROJECTILE, "weapons/neximpact.wav", VOL_BASE, ATTN_NORM);
+ }
+ else if(req == WR_PRECACHE)
+ {
+ precache_sound("weapons/neximpact.wav");
+ }
+ else if (req == WR_SUICIDEMESSAGE)
+ w_deathtypestring = "%s did the impossible";
+ else if (req == WR_KILLMESSAGE)
+ w_deathtypestring = "%s has been vaporized by %s";
+ return TRUE;
+}
+#endif
+#endif