From edc78b6656f184105d302e22cd6790c6b345a4ea Mon Sep 17 00:00:00 2001 From: Mario Date: Thu, 27 Nov 2014 14:35:44 +1100 Subject: [PATCH] Fix vaporizer secondary dealing damage in instagib --- qcsrc/server/mutators/mutator_instagib.qc | 57 +++++++++++------------ 1 file changed, 27 insertions(+), 30 deletions(-) diff --git a/qcsrc/server/mutators/mutator_instagib.qc b/qcsrc/server/mutators/mutator_instagib.qc index f70b1a648..4507e23c4 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); } } } -- 2.39.2