//v_forward = normalize(self.moveto - self.origin);
- self.steerto = steerlib_attract2(self.moveto, 0.5, 500, 0.95);
+ //self.steerto = steerlib_attract2(self.moveto, 0.5, 500, 0.95);
float turny = 0;
vector real_angle = vectoangles(self.steerto) - self.angles;
if(self.state != MONSTER_STATE_ATTACK_LEAP && self.state != MONSTER_STATE_ATTACK_MELEE)
turny = 20;
+
+ if(g_td)
+ turny = vlen(self.angles - self.moveto);
if(turny)
{
switch(self.realowner.spider_type)
{
case SPIDER_TYPE_ICE:
+ rad = 25;
pointparticles(particleeffectnum("electro_impact"), self.origin, '0 0 0', 1);
break;
case SPIDER_TYPE_FIRE:
RadiusDamage(self, self.realowner, damg, edamg, 0, world, rad, DEATH_MONSTER_SPIDER_FIRE, world); // ice deals no damage anyway
- if(self.realowner.spider_type == SPIDER_TYPE_FIRE)
for(e = findradius(self.origin, rad); e; e = e.chain) if(e.takedamage && e.deadflag == DEAD_NO)
{
switch(self.realowner.spider_type)
{
case SPIDER_TYPE_ICE:
- Freeze(other, 0.3, 2, FALSE);
+ Freeze(e, 0.3, 2, FALSE);
break;
case SPIDER_TYPE_FIRE:
Fire_AddDamage(e, self.realowner, 5 * monster_skill, autocvar_g_monster_spider_attack_fire_time, DEATH_MONSTER_SPIDER_FIRE, FALSE);
MUTATOR_HOOKFUNCTION(td_Damage)
{
if(IS_PLAYER(frag_attacker))
- if(frag_target.flags & FL_MONSTER)
+ if(frag_target.flags & FL_MONSTER || frag_target.turrcaps_flags & TFL_TURRCAPS_ISTURRET)
frag_damage = 0;
if(IS_PLAYER(frag_attacker) || frag_attacker.turrcaps_flags & TFL_TURRCAPS_ISTURRET)