]> git.rm.cloudns.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Fix slime not disappearing when it explodes & ultra slow monster revive times
authorMario <mario.mario@y7mail.com>
Mon, 30 Sep 2013 12:18:06 +0000 (05:18 -0700)
committerMario <mario.mario@y7mail.com>
Mon, 30 Sep 2013 12:18:06 +0000 (05:18 -0700)
qcsrc/common/monsters/monster/mage.qc
qcsrc/common/monsters/monster/slime.qc
qcsrc/common/monsters/sv_monsters.qc

index 2ddfe22cbc8b2e229bd413cbec2d81a244e632b9..597d2752546e9de86e095abf24ca34b354167fe7 100644 (file)
@@ -291,6 +291,7 @@ void mage_heal()
                {
                        pointparticles(particleeffectnum("healing_fx"), head.origin, '0 0 0', 1);
                        head.health = bound(0, head.health + MON_CVAR(mage, heal_allies), head.max_health);
+                       WaypointSprite_UpdateHealth(head.sprite, head.health);
                }
        }
        
index 0c27ae246a0472181b6e94f934a65cee6657eb18..cebaf340acf866a9a61e630fc4ed6ce35ab253e4 100644 (file)
@@ -68,7 +68,7 @@ void slime_explode()
        pointparticles(particleeffectnum("explosion_medium"), self.origin, '0 0 0', 1);
        sound(self, CH_SHOTS, "weapons/rocket_impact.wav", VOL_BASE, ATTEN_NORM);
        
-       setmodel(self, "");
+       setmodel(self, "null");
 }
 
 void slime_dead()
@@ -79,6 +79,8 @@ void slime_dead()
        self.deadflag = DEAD_DEAD;
        self.think = Monster_Fade;
        self.nextthink = time + 0.1;
+       
+       CSQCMODEL_AUTOUPDATE(); // called now to update model
 }
 
 void spawnfunc_monster_slime()
index ef2a7a0ff7f631ccbe79122e3041d16811175f6f..43fc151c88cb31da0e8d23efcc31633e9ef63e13 100644 (file)
@@ -529,7 +529,7 @@ void monster_move(float runspeed, float walkspeed, float stopspeed, float manim_
 
        if(self.frozen)
        {
-               self.revive_progress = bound(0, self.revive_progress + frametime * self.revive_speed, 1);
+               self.revive_progress = bound(0, self.revive_progress + self.ticrate * self.revive_speed, 1);
                self.health = max(1, self.max_health * self.revive_progress);
                
                WaypointSprite_UpdateHealth(self.sprite, self.health);