//Option

task Helper{
	let Hf =70;
	let Hx=[Hf*4+4,Hf*2+14,Hf*1+14,Hf*5+14,Hf*5-26,Hf*2-26];
	let Hy=[Hf*4,Hf*4,Hf*5,Hf*5,Hf*6,Hf*6];
	ascent(n in 0..6){
		HelpMain(Hx[n],Hy[n]);
	}
	yield;
}

task HelpMain(Hox,Hoy){
	let life=5;
	let helper=Obj_Create(OBJ_EFFECT);
	ObjEffect_SetTexture(helper,Img[2]);
	ObjEffect_SetLayer(helper,3);
	ObjEffect_SetPrimitiveType(helper,PRIMITIVE_TRIANGLESTRIP);
	ObjEffect_CreateVertex(helper,4);
	loop{
		let Angle=atan2(GetEnemyY-Obj_GetY(helper),GetEnemyX-Obj_GetX(helper));
		if(life>0){
			EffectVertex(helper,x[1]*m,x[0],x[1]*(m+1),x[1]);
			Obj_SetPosition(helper,Hox+Hm,Hoy);
		
			if(RapShot&&counter%5==0){
				ShotObj(Hox+Hm,Hoy,20,270,1,2,2,4,10,30);
			}
		}
		
		if(life>0&&GetEnemyShotCountEx(Hox+Hm,Hoy,30,ALL)>=1){
			life=life-GetEnemyShotCountEx(Hox+Hm,Hoy,20,ALL);
			DeleteEnemyShotInCircle(SHOT,Hox+Hm,Hoy,20);
		}
		if(life<=0){Obj_Delete(helper);
			ShotObj(Hox+Hm,Hoy,3,Angle,5,5,4,6,0.5,30);
			PlaySE(SE[1]);
			return;
		}
		yield;
	}
}



