From a5f8cbe456bed48c2c7b5d666e30cbaa344e6e33 Mon Sep 17 00:00:00 2001
From: Mircea Kitsune <sonichedgehog_hyperblast00@yahoo.com>
Date: Sun, 13 Mar 2011 02:19:34 +0200
Subject: [PATCH] Fix an issue with my last change

---
 qcsrc/server/w_minelayer.qc | 30 ++++++++++++++++++------------
 1 file changed, 18 insertions(+), 12 deletions(-)

diff --git a/qcsrc/server/w_minelayer.qc b/qcsrc/server/w_minelayer.qc
index dabec9ba5..8a6b421b5 100644
--- a/qcsrc/server/w_minelayer.qc
+++ b/qcsrc/server/w_minelayer.qc
@@ -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);
 }
-- 
2.39.5