float autocvar_g_monster_mage_speed_run;
float autocvar_g_monster_mage_speed_walk;
+/*
const float mage_anim_idle = 0;
const float mage_anim_walk = 1;
const float mage_anim_attack = 2;
const float mage_anim_pain = 3;
const float mage_anim_death = 4;
const float mage_anim_run = 5;
+*/
void() M_Mage_Defend_Heal;
void() M_Mage_Defend_Shield;
if(washealed)
{
- self.frame = mage_anim_attack;
+ setanim(self, self.anim_shoot, true, true, true);
self.attack_finished_single = time + (autocvar_g_monster_mage_heal_delay);
self.anim_finished = time + 1.5;
}
RadiusDamage (self, self, (autocvar_g_monster_mage_attack_push_damage), (autocvar_g_monster_mage_attack_push_damage), (autocvar_g_monster_mage_attack_push_radius), world, world, (autocvar_g_monster_mage_attack_push_force), DEATH_MONSTER_MAGE, self.enemy);
pointparticles(particleeffectnum("TE_EXPLOSION"), self.origin, '0 0 0', 1);
- self.frame = mage_anim_attack;
+ setanim(self, self.anim_shoot, true, true, true);
self.attack_finished_single = time + (autocvar_g_monster_mage_attack_push_delay);
}
self.mage_shield_delay = time + (autocvar_g_monster_mage_shield_delay);
self.armorvalue = (autocvar_g_monster_mage_shield_blockpercent);
self.mage_shield_time = time + (autocvar_g_monster_mage_shield_time);
- self.frame = mage_anim_attack;
+ setanim(self, self.anim_shoot, true, true, true);
self.attack_finished_single = time + 1;
self.anim_finished = time + 1;
}
}
else
{
- self.frame = mage_anim_attack;
+ setanim(self, self.anim_shoot, true, true, true);
self.attack_finished_single = time + (autocvar_g_monster_mage_attack_spike_delay);
self.anim_finished = time + 1;
Monster_Delay(1, 0, 0.2, M_Mage_Attack_Spike);
}
case MR_DEATH:
{
- self.frame = mage_anim_death;
+ setanim(self, self.anim_die1, false, true, true);
+ return true;
+ }
+ case MR_ANIM:
+ {
+ vector none = '0 0 0';
+ self.anim_die1 = animfixfps(self, '4 1 0.5', none); // 2 seconds
+ self.anim_walk = animfixfps(self, '1 1 1', none);
+ self.anim_idle = animfixfps(self, '0 1 1', none);
+ self.anim_pain1 = animfixfps(self, '3 1 2', none); // 0.5 seconds
+ self.anim_shoot = animfixfps(self, '2 1 5', none); // analyze models and set framerate
+ self.anim_run = animfixfps(self, '5 1 1', none);
+
return true;
}
case MR_SETUP:
if(!self.stopspeed) { self.stopspeed = (autocvar_g_monster_mage_speed_stop); }
if(!self.damageforcescale) { self.damageforcescale = (autocvar_g_monster_mage_damageforcescale); }
- self.m_anim_walk = mage_anim_walk;
- self.m_anim_run = mage_anim_run;
- self.m_anim_idle = mage_anim_idle;
-
self.monster_loot = spawnfunc_item_health_large;
- self.frame = mage_anim_walk;
return true;
}