]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/server/w_minstanex.qc
Merge remote branch 'origin/master' into fruitiex/gamemode_freezetag
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / w_minstanex.qc
index 00e8fd890a0ea2f2a7bf22ac9328fc52daf9ac3c..ce97b02451210d7db63a342db4eb03254e98b2b8 100644 (file)
@@ -1,6 +1,7 @@
 #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)
@@ -8,7 +9,7 @@ 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", CHAN_WEAPON, 10000);
 
        yoda = 0;
        damage_goodhits = 0;
@@ -27,7 +28,6 @@ void W_MinstaNex_Attack (void)
                if(headshot)
                {
                        AnnounceTo(self, "headshot");
-                       print("h\n");
                }
                if(damage_goodhits && self.minstanex_lasthit)
                {
@@ -194,7 +194,7 @@ float w_minstanex(float req)
                {
                        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;
@@ -231,10 +231,6 @@ float w_minstanex(float req)
        }
        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;
@@ -242,3 +238,26 @@ float w_minstanex(float req)
        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