]> git.rm.cloudns.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Add some extra checks to event_damage, to prevent possible crashes
authorMario <zacjardine@y7mail.com>
Sun, 8 Feb 2015 07:01:22 +0000 (18:01 +1100)
committerMario <zacjardine@y7mail.com>
Sun, 8 Feb 2015 07:01:22 +0000 (18:01 +1100)
qcsrc/common/monsters/sv_monsters.qc
qcsrc/server/cl_client.qc
qcsrc/server/mutators/mutator_bloodloss.qc

index a0089eead458912ae317fedbb66984379fd7dc81..923a6ad5ed4b11cab659010fe931e41c693b462d 100644 (file)
@@ -721,7 +721,8 @@ void Monster_Move(float runspeed, float walkspeed, float stpspeed, float manim_r
                {
                        Unfreeze(self);
                        self.health = 0;
-                       self.event_damage(self, self.frozen_by, 1, DEATH_NADE_ICE_FREEZE, self.origin, '0 0 0');
+                       if(self.event_damage)
+                               self.event_damage(self, self.frozen_by, 1, DEATH_NADE_ICE_FREEZE, self.origin, '0 0 0');
                }
 
                else if ( self.revive_progress <= 0 )
index 072aca61240921cbb5b00934fa3cc68a39b31351..24df73bd4ab588ac89da77a60e2451b392440a0b 100644 (file)
@@ -2530,7 +2530,8 @@ void PlayerPreThink (void)
                {
                        if(self.vehicle)
                                vehicles_exit(VHEF_RELEASE);
-                       self.event_damage(self, self.frozen_by, 1, DEATH_NADE_ICE_FREEZE, self.origin, '0 0 0');
+                       if(self.event_damage)
+                               self.event_damage(self, self.frozen_by, 1, DEATH_NADE_ICE_FREEZE, self.origin, '0 0 0');
                }
                else if ( self.revive_progress <= 0 )
                        Unfreeze(self);
index c4cd8cf0ac3c4af1cbb8dc272f952ac1be56d8e5..9b2750049d768042c825c2fddc8dae089a0fb2fb 100644 (file)
@@ -13,7 +13,8 @@ MUTATOR_HOOKFUNCTION(bloodloss_PlayerThink)
                {
                        if(self.vehicle)
                                vehicles_exit(VHEF_RELEASE);
-                       self.event_damage(self, self, 1, DEATH_ROT, self.origin, '0 0 0');
+                       if(self.event_damage)
+                               self.event_damage(self, self, 1, DEATH_ROT, self.origin, '0 0 0');
                        self.bloodloss_timer = time + 0.5 + random() * 0.5;
                }
        }