From: Mario Date: Mon, 4 Mar 2013 08:02:06 +0000 (+1100) Subject: Add support for pain_finished X-Git-Tag: xonotic-v0.8.0~241^2^2~487 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=4156c283a9ce3192b7512e2d07d7db01345ce92e;p=xonotic%2Fxonotic-data.pk3dir.git Add support for pain_finished --- diff --git a/qcsrc/server/monsters/lib/monsters.qc b/qcsrc/server/monsters/lib/monsters.qc index dc7ea6fa2..a5651c25e 100644 --- a/qcsrc/server/monsters/lib/monsters.qc +++ b/qcsrc/server/monsters/lib/monsters.qc @@ -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) { diff --git a/qcsrc/server/monsters/monster/dog.qc b/qcsrc/server/monsters/monster/dog.qc index c8cbc6160..33f449a60 100644 --- a/qcsrc/server/monsters/monster/dog.qc +++ b/qcsrc/server/monsters/monster/dog.qc @@ -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; diff --git a/qcsrc/server/monsters/monster/zombie.qc b/qcsrc/server/monsters/monster/zombie.qc index dee874b67..566d36f73 100644 --- a/qcsrc/server/monsters/monster/zombie.qc +++ b/qcsrc/server/monsters/monster/zombie.qc @@ -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 }