From: Mario Date: Sat, 12 Oct 2013 22:28:52 +0000 (+1100) Subject: Delay shambler attacks separately so they're not spammed X-Git-Tag: xonotic-v0.8.0~241^2^2~43 X-Git-Url: http://de.git.xonotic.org/?p=xonotic%2Fxonotic-data.pk3dir.git;a=commitdiff_plain;h=dca107aeb7831dfd0faf50d1a1e5987eb4b6d676 Delay shambler attacks separately so they're not spammed --- diff --git a/qcsrc/common/monsters/monster/shambler.qc b/qcsrc/common/monsters/monster/shambler.qc index 68c2600d9c..7994f106a9 100644 --- a/qcsrc/common/monsters/monster/shambler.qc +++ b/qcsrc/common/monsters/monster/shambler.qc @@ -38,6 +38,8 @@ const float shambler_anim_magic = 6; const float shambler_anim_pain = 7; const float shambler_anim_death = 8; +.float shambler_lastattack; // delay attacks separately + void shambler_smash() { makevectors(self.angles); @@ -170,20 +172,25 @@ float shambler_attack(float attack_type) } case MONSTER_ATTACK_RANGED: { + if(time >= self.shambler_lastattack) // shambler doesn't attack much if(random() <= 0.5 && vlen(self.enemy.origin - self.origin) <= 500) { self.frame = shambler_anim_smash; defer(0.7, shambler_smash); self.attack_finished_single = time + 1.1; + self.shambler_lastattack = time + 3; + return TRUE; } - else + else if(random() <= 0.1) // small chance, don't want this spammed { self.frame = shambler_anim_magic; self.attack_finished_single = time + 1.1; + self.shambler_lastattack = time + 3; defer(0.6, shambler_lightning); + return TRUE; } - return TRUE; + return FALSE; } }