]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/common/monsters/monster/shambler.qc
Merge branch 'master' into Mario/monsters
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / monsters / monster / shambler.qc
index 387c98f00438e6fb867f01c9d593eeed62fc0721..91d1e66f27087c513e2af60abeb543424c640521 100644 (file)
@@ -2,7 +2,7 @@
 REGISTER_MONSTER(
 /* MON_##id   */ SHAMBLER,
 /* function   */ m_shambler,
-/* spawnflags */ MONSTER_SIZE_BROKEN,
+/* spawnflags */ MONSTER_SIZE_BROKEN | MON_FLAG_SUPERMONSTER | MON_FLAG_MELEE | MON_FLAG_RANGED,
 /* mins,maxs  */ '-41 -41 -31', '41 41 65',
 /* model      */ "shambler.mdl",
 /* netname    */ "shambler",
@@ -35,7 +35,7 @@ const float shambler_anim_death       = 8;
 
 void shambler_smash()
 {
-       monster_melee(self.enemy, MON_CVAR(shambler, attack_smash_damage), 0.3, DEATH_MONSTER_SHAMBLER_SMASH, TRUE);
+       monster_melee(self.enemy, MON_CVAR(shambler, attack_smash_damage), shambler_anim_smash, self.attack_range, 0.4, DEATH_MONSTER_SHAMBLER_SMASH, TRUE);
 }
 
 void shambler_delayedsmash()
@@ -48,9 +48,7 @@ void shambler_delayedsmash()
 void shambler_swing()
 {
        float r = (random() < 0.5);
-       monsters_setframe((r) ? shambler_anim_swingr : shambler_anim_swingl);
-       monster_melee(self.enemy, MON_CVAR(shambler, attack_claw_damage), 0.3, DEATH_MONSTER_SHAMBLER_CLAW, TRUE);
-       self.attack_finished_single = time + 0.8;
+       monster_melee(self.enemy, MON_CVAR(shambler, attack_claw_damage), ((r) ? shambler_anim_swingr : shambler_anim_swingl), self.attack_range, 0.8, DEATH_MONSTER_SHAMBLER_CLAW, TRUE);
        if(r)
                defer(0.5, shambler_swing);
 }
@@ -135,7 +133,9 @@ float m_shambler(float req)
                case MR_SETUP:
                {
                        if not(self.health) self.health = MON_CVAR(shambler, health);
-                               
+                       if not(self.attack_range) self.attack_range = 150;
+                       
+                       self.monster_loot = spawnfunc_item_health_mega;
                        self.monster_attackfunc = shambler_attack;
                        monsters_setframe(shambler_anim_stand);
                        self.weapon = WEP_NEX;