В общем у меня вызывается функция по нажатию:

Код AS1/AS2:
_root.skill="";
_root.magic=function(skill){
if(skill!=""){
switch(_root.skill){
case "light":
_root.light=attachMovie("light","light",10000,{_x:_xmouse,_y:_ymouse});
matack(obj=mouse,dmg=10)
setInterval(removeMovieClip,2000,_root.light);break;
case "earth":
_root.earth=attachMovie("earth","earth",10001,{_x:_xmouse,_y:_ymouse});
matack(obj=_root.earth,dmg=20)
setInterval(removeMovieClip,4000,_root.earth);break;
}
}
}
function matack(obj,dmg){
sounds("thunder.wav");
for(d=mob.length-15;d<=mob.length;d++){
if(mob[d].hitTest(obj)){
mob[d].hp-=dmg;
hp=20/l_green[d+200].hp;
l_green[d+200]._width=mob[d].hp*hp;
if(mob[d].hp<=0)
{
blood[num_blood]=attachMovie("blood","blood"+num_blood,num_blood,{_x:mob[d]._x,_y:mob[d]._y});
setInterval(remove,5000,obj=blood[num_blood]);
num_blood+=1;
mob[d].gotoAndPlay(8);
mob[d].sp=0;
setTimeout(remove,400,mob[d]);
setTimeout(remove,400,l_green[d+200]);
setTimeout(remove,400,l_red[d+100]);
setTimeout(remove,600,_root.light);
_root.kill+=1;
_root.death+=1;
_global.kill_score+=1;
t_kill.text=kill;
add_gold(gold=5);
}
}
}
_root.skill="";
}
Почему только до первого?
По нажатию клип охватывает несколько объектов, но засчитывает соприкосновение только с одним ближайшим по номеру записи в массиве объектом!
Добавлено через 16 часов 27 минут
Все нашел в чем ошибка, у меня obj заменялся другим значением в интервале

Код AS1/AS2:
setInterval(remove,5000,obj=blood[num_blood]);