From: Mario <zacjardine@y7mail.com>
Date: Thu, 27 Nov 2014 03:35:44 +0000 (+1100)
Subject: Fix vaporizer secondary dealing damage in instagib
X-Git-Tag: xonotic-v0.8.0~122^2~44
X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=edc78b6656f184105d302e22cd6790c6b345a4ea;p=xonotic%2Fxonotic-data.pk3dir.git

Fix vaporizer secondary dealing damage in instagib
---

diff --git a/qcsrc/server/mutators/mutator_instagib.qc b/qcsrc/server/mutators/mutator_instagib.qc
index f70b1a6483..4507e23c42 100644
--- a/qcsrc/server/mutators/mutator_instagib.qc
+++ b/qcsrc/server/mutators/mutator_instagib.qc
@@ -40,58 +40,58 @@ void instagib_ammocheck()
 	else
 	{
 		self.instagib_needammo = TRUE;
-		if (self.health == 5)
+		if (self.health <= 5)
 		{
 			Damage(self, self, self, 5, DEATH_NOAMMO, self.origin, '0 0 0');
 			Send_Notification(NOTIF_ONE, self, MSG_ANNCE, ANNCE_INSTAGIB_TERMINATED);
 		}
-		else if (self.health == 10)
+		else if (self.health <= 10)
 		{
 			Damage(self, self, self, 5, DEATH_NOAMMO, self.origin, '0 0 0');
 			Send_Notification(NOTIF_ONE, self, MSG_ANNCE, ANNCE_NUM_1);
 		}
-		else if (self.health == 20)
+		else if (self.health <= 20)
 		{
 			Damage(self, self, self, 10, DEATH_NOAMMO, self.origin, '0 0 0');
 			Send_Notification(NOTIF_ONE, self, MSG_ANNCE, ANNCE_NUM_2);
 		}
-		else if (self.health == 30)
+		else if (self.health <= 30)
 		{
 			Damage(self, self, self, 10, DEATH_NOAMMO, self.origin, '0 0 0');
 			Send_Notification(NOTIF_ONE, self, MSG_ANNCE, ANNCE_NUM_3);
 		}
-		else if (self.health == 40)
+		else if (self.health <= 40)
 		{
 			Damage(self, self, self, 10, DEATH_NOAMMO, self.origin, '0 0 0');
 			Send_Notification(NOTIF_ONE, self, MSG_ANNCE, ANNCE_NUM_4);
 		}
-		else if (self.health == 50)
+		else if (self.health <= 50)
 		{
 			Damage(self, self, self, 10, DEATH_NOAMMO, self.origin, '0 0 0');
 			Send_Notification(NOTIF_ONE, self, MSG_ANNCE, ANNCE_NUM_5);
 		}
-		else if (self.health == 60)
+		else if (self.health <= 60)
 		{
 			Damage(self, self, self, 10, DEATH_NOAMMO, self.origin, '0 0 0');
 			Send_Notification(NOTIF_ONE, self, MSG_ANNCE, ANNCE_NUM_6);
 		}
-		else if (self.health == 70)
+		else if (self.health <= 70)
 		{
 			Damage(self, self, self, 10, DEATH_NOAMMO, self.origin, '0 0 0');
 			Send_Notification(NOTIF_ONE, self, MSG_ANNCE, ANNCE_NUM_7);
 		}
-		else if (self.health == 80)
+		else if (self.health <= 80)
 		{
 			Damage(self, self, self, 10, DEATH_NOAMMO, self.origin, '0 0 0');
 			Send_Notification(NOTIF_ONE, self, MSG_ANNCE, ANNCE_NUM_8);
 		}
-		else if (self.health == 90)
+		else if (self.health <= 90)
 		{
 			Send_Notification(NOTIF_ONE_ONLY, self, MSG_CENTER, CENTER_MINSTA_FINDAMMO);
 			Damage(self, self, self, 10, DEATH_NOAMMO, self.origin, '0 0 0');
 			Send_Notification(NOTIF_ONE, self, MSG_ANNCE, ANNCE_NUM_9);
 		}
-		else if (self.health == 100)
+		else
 		{
 			Send_Notification(NOTIF_ONE_ONLY, self, MSG_MULTI, MULTI_MINSTA_FINDAMMO);
 			Damage(self, self, self, 10, DEATH_NOAMMO, self.origin, '0 0 0');
@@ -246,27 +246,24 @@ MUTATOR_HOOKFUNCTION(instagib_PlayerDamage)
 
 		if(IS_PLAYER(frag_attacker))
 		if(DEATH_ISWEAPON(frag_deathtype, WEP_VAPORIZER))
-		if(frag_target.armorvalue)
 		{
-			frag_target.armorvalue -= 1;
-			Send_Notification(NOTIF_ONE, frag_target, MSG_CENTER, CENTER_MINSTA_LIVES_REMAINING, frag_target.armorvalue);
-			frag_damage = 0;
-			frag_target.hitsound += 1;
-			frag_attacker.hitsound += 1; // TODO change this to a future specific hitsound for armor hit
-		}
-
-		if(IS_PLAYER(frag_attacker))
-		if(DEATH_ISWEAPON(frag_deathtype, WEP_BLASTER))
-		{
-			frag_damage = 0;
-			frag_mirrordamage = 0;
-			if (frag_target != frag_attacker)
+			if(frag_deathtype & HITTYPE_SECONDARY)
+			{
+				frag_damage = frag_mirrordamage = 0;
+				
+				if(frag_target != frag_attacker)
+				{
+					if(frag_target.health > 0) { Send_Notification(NOTIF_ONE, frag_attacker, MSG_CENTER, CENTER_MINSTA_SECONDARY); }
+					frag_force = '0 0 0';
+				}
+			}
+			else if(frag_target.armorvalue)
 			{
-				if (frag_target.health >= 1)
-					Send_Notification(NOTIF_ONE, frag_attacker, MSG_CENTER, CENTER_MINSTA_SECONDARY);
-				frag_force = '0 0 0';
-				// keep mirrorfrag_force
-				//frag_attacker = frag_target;
+				frag_target.armorvalue -= 1;
+				frag_damage = 0;
+				frag_target.hitsound += 1;
+				frag_attacker.hitsound += 1; // TODO: change this to a specific hitsound for armor hit
+				Send_Notification(NOTIF_ONE, frag_target, MSG_CENTER, CENTER_MINSTA_LIVES_REMAINING, frag_target.armorvalue);
 			}
 		}
 	}