From: Mario Date: Mon, 30 Sep 2013 10:48:08 +0000 (-0700) Subject: Update health while frozen & fix monster count not reducing if the monster was gibbed X-Git-Tag: xonotic-v0.8.0~241^2^2~71 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=bae87513eb555d92cf026925b7f7c405bc2f9e34;p=xonotic%2Fxonotic-data.pk3dir.git Update health while frozen & fix monster count not reducing if the monster was gibbed --- diff --git a/qcsrc/common/monsters/sv_monsters.qc b/qcsrc/common/monsters/sv_monsters.qc index f64489606..ef2a7a0ff 100644 --- a/qcsrc/common/monsters/sv_monsters.qc +++ b/qcsrc/common/monsters/sv_monsters.qc @@ -532,6 +532,8 @@ void monster_move(float runspeed, float walkspeed, float stopspeed, float manim_ self.revive_progress = bound(0, self.revive_progress + frametime * self.revive_speed, 1); self.health = max(1, self.max_health * self.revive_progress); + WaypointSprite_UpdateHealth(self.sprite, self.health); + movelib_beak_simple(stopspeed); self.frame = manim_idle; @@ -771,6 +773,10 @@ void monsters_corpse_damage (entity inflictor, entity attacker, float damage, fl if(self.health <= -100) // 100 health until gone? { Violence_GibSplash_At(hitloc, force, 2, bound(0, damage, 200) / 16, self, attacker); + + if(IS_CLIENT(self.realowner)) + if not(self.monster_respawned) + self.realowner.monstercount -= 1; self.think = SUB_Remove; self.nextthink = time + 0.1; @@ -882,6 +888,10 @@ void monsters_damage (entity inflictor, entity attacker, float damage, float dea if(self.health <= -100 || deathtype == DEATH_KILL) // check if we're already gibbed { Violence_GibSplash(self, 1, 0.5, attacker); + + if(IS_CLIENT(self.realowner)) + if not(self.monster_respawned) + self.realowner.monstercount -= 1; self.think = SUB_Remove; self.nextthink = time + 0.1;