]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/server/w_minelayer.qc
update the spec comment
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / w_minelayer.qc
index dabec9ba52aa2d48c7ac4a60eef95557d84603e0..14c6506faa0d13111f35402e3a8f109ac8384f63 100644 (file)
@@ -1,5 +1,5 @@
 #ifdef REGISTER_WEAPON
-REGISTER_WEAPON(MINE_LAYER, w_minelayer, IT_ROCKETS, 4, WEP_FLAG_NORMAL | WEP_FLAG_RELOADABLE | WEP_TYPE_SPLASH, BOT_PICKUP_RATING_HIGH, "minelayer", "minelayer", _("Mine Layer"))
+REGISTER_WEAPON(MINE_LAYER, w_minelayer, IT_ROCKETS, 4, WEP_FLAG_RELOADABLE | WEP_TYPE_SPLASH, BOT_PICKUP_RATING_HIGH, "minelayer", "minelayer", _("Mine Layer"))
 #else
 #ifdef SVQC
 void W_Mine_Think (void);
@@ -64,16 +64,19 @@ void W_Mine_Explode ()
 
        RadiusDamage (self, self.owner, autocvar_g_balance_minelayer_damage, autocvar_g_balance_minelayer_edgedamage, autocvar_g_balance_minelayer_radius, world, autocvar_g_balance_minelayer_force, self.projectiledeathtype, other);
 
-       // this code causes some problems, and is not really needed since another check switches weapons when we're out of ammo
-       /*if (self.owner.weapon == WEP_MINE_LAYER)
+       if (self.owner.weapon == WEP_MINE_LAYER)
        {
+               entity oldself;
+               oldself = self;
+               self = self.owner;
                if (!weapon_action(WEP_MINE_LAYER, WR_CHECKAMMO1))
                {
-                       self.owner.cnt = WEP_MINE_LAYER;
-                       ATTACK_FINISHED(self.owner) = time;
-                       self.owner.switchweapon = w_getbestweapon(self.owner);
+                       self.cnt = WEP_MINE_LAYER;
+                       ATTACK_FINISHED(self) = time;
+                       self.switchweapon = w_getbestweapon(self);
                }
-       }*/
+               self = oldself;
+       }
        self.owner.minelayer_mines -= 1;
        remove (self);
 }
@@ -85,16 +88,19 @@ void W_Mine_DoRemoteExplode ()
 
        RadiusDamage (self, self.owner, autocvar_g_balance_minelayer_remote_damage, autocvar_g_balance_minelayer_remote_edgedamage, autocvar_g_balance_minelayer_remote_radius, world, autocvar_g_balance_minelayer_remote_force, self.projectiledeathtype | HITTYPE_BOUNCE, world);
 
-       // this code causes some problems, and is not really needed since another check switches weapons when we're out of ammo
-       /*if (self.owner.weapon == WEP_MINE_LAYER)
+       if (self.owner.weapon == WEP_MINE_LAYER)
        {
+               entity oldself;
+               oldself = self;
+               self = self.owner;
                if (!weapon_action(WEP_MINE_LAYER, WR_CHECKAMMO1))
                {
-                       self.owner.cnt = WEP_MINE_LAYER;
-                       ATTACK_FINISHED(self.owner) = time;
-                       self.owner.switchweapon = w_getbestweapon(self.owner);
+                       self.cnt = WEP_MINE_LAYER;
+                       ATTACK_FINISHED(self) = time;
+                       self.switchweapon = w_getbestweapon(self);
                }
-       }*/
+               self = oldself;
+       }
        self.owner.minelayer_mines -= 1;
        remove (self);
 }