]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/server/w_minelayer.qc
Correct weapon slot
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / w_minelayer.qc
index 8709bd19510a0b7044ec80f48d1470ea9bf88546..79c29341289eca7b53efc3bd34d62297234b0284 100644 (file)
@@ -1,9 +1,9 @@
 #ifdef REGISTER_WEAPON
-REGISTER_WEAPON(MINE_LAYER, w_minelayer, IT_ROCKETS, 9, WEP_FLAG_NORMAL | WEP_TYPE_SPLASH, BOT_PICKUP_RATING_HIGH, "minelayer", "minelayer", "Mine Layer");
+REGISTER_WEAPON(MINE_LAYER, w_minelayer, IT_ROCKETS, 4, WEP_FLAG_NORMAL | WEP_TYPE_SPLASH, BOT_PICKUP_RATING_HIGH, "minelayer", "minelayer", "Mine Layer");
 #else
 #ifdef SVQC
 .float minelayer_detonate;
-.float mine_number;
+.float mine_number, mine_time;
 
 void spawnfunc_weapon_minelayer (void)
 {
@@ -99,10 +99,21 @@ void W_Mine_Think (void)
                if(head.classname == "player" && head.deadflag == DEAD_NO)
                if(head != self.owner)
                if(IsDifferentTeam(head, self.owner)) // don't detonate for team mates
-                       W_Mine_Explode();
+               if(!self.mine_time)
+               {
+                       spamsound (self, CHAN_PROJECTILE, "weapons/mine_trigger.wav", VOL_BASE, ATTN_NORM);
+                       self.mine_time = time + cvar("g_balance_minelayer_time");
+               }
                head = head.chain;
        }
 
+       // explode if it's time
+       if(self.mine_time && time >= self.mine_time)
+       {
+               self.mine_time = 0;
+               W_Mine_Explode();
+       }
+
        // remote detonation
        if (self.owner.weapon == WEP_MINE_LAYER)
        if (self.owner.deadflag == DEAD_NO)
@@ -338,6 +349,7 @@ float w_minelayer(float req)
                precache_sound ("weapons/mine_det.wav");
                precache_sound ("weapons/mine_fire.wav");
                precache_sound ("weapons/mine_stick.wav");
+               precache_sound ("weapons/mine_trigger.wav");
        }
        else if (req == WR_SETUP)
        {