]> git.rm.cloudns.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Add support for pain_finished
authorMario <mario.mario@y7mail.com>
Mon, 4 Mar 2013 08:02:06 +0000 (19:02 +1100)
committerMario <mario.mario@y7mail.com>
Mon, 4 Mar 2013 08:02:06 +0000 (19:02 +1100)
qcsrc/server/monsters/lib/monsters.qc
qcsrc/server/monsters/monster/dog.qc
qcsrc/server/monsters/monster/zombie.qc

index dc7ea6fa2db0513994310fe4e075031fb5d25a55..a5651c25e32bc635aedaacd8d0c32d3d8ecfa440 100644 (file)
@@ -580,6 +580,9 @@ void monsters_damage (entity inflictor, entity attacker, float damage, float dea
        if(self.frozen)
                return;
                
+       if(time < self.pain_finished)
+               return;
+               
        if((ignore_turrets && !(attacker.turrcaps_flags & TFL_TURRCAPS_ISTURRET)) || !ignore_turrets)
        if(monster_isvalidtarget(attacker, self, FALSE))
                self.enemy = attacker;
@@ -654,6 +657,7 @@ void monster_hook_spawn()
        Monster_CheckMinibossFlag();
 
        self.max_health = self.health;
+       self.pain_finished = self.nextthink;
        
        if(teamplay && self.team)
        {
index c8cbc6160acea61c1171d19b14216b569232c988..33f449a609f4a545252e2c51f113b064fc62d81e 100644 (file)
@@ -71,7 +71,6 @@ void dog_die ()
        self.enemy                      = world;
        self.nextthink          = time + 2.1;
        self.think                      = Monster_Fade;
-       self.pain_finished  = self.nextthink;
        self.movetype           = MOVETYPE_TOSS;
        self.frame                      = dog_anim_die;
        
index dee874b674a5d5be6ed5c283df50961d833f907f..566d36f73b8770a8b0cab13fce603c00229adcf6 100644 (file)
@@ -68,7 +68,6 @@ void zombie_die ()
        self.movetype           = MOVETYPE_TOSS;
        self.think                      = Monster_Fade;
        self.nextthink          = time + 2.1;
-       self.pain_finished  = self.nextthink;
        
        if (random() > 0.5)
                self.frame = zombie_anim_deathback1;
@@ -163,16 +162,13 @@ void zombie_spawn()
        
        self.classname                  = "monster_zombie";
        self.nextthink                  = time + 2.1;
-       self.pain_finished      = self.nextthink;
        self.frame                              = zombie_anim_spawn;
        self.think                              = zombie_think;
        self.sprite_height      = 50 * self.scale;
        self.checkattack                = GenericCheckAttack;
        self.attack_melee               = zombie_attack_standing;
        self.attack_ranged              = zombie_attack_ranged;
-       
-       if not(self.skin)
-               self.skin = rint(random() * 4);
+       self.skin                               = rint(random() * 4);
        
        monster_hook_spawn(); // for post-spawn mods
 }