function fam(x,y,life){
	let obj = ObjEnemy_Create(OBJ_ENEMY);
	let shot;
	let c = 0;
	ObjEnemy_Regist(obj);
	ObjMove_SetPosition(obj,x,y);
	ObjEnemy_SetLife(obj,life);
	ObjEnemy_SetDamageRate(obj,100,100);
	drawfam;
	return obj;
		task drawfam{	
		PlaySound("fam",0);
		magiccircle(obj,0.4,255,255,0,false);
		while(!Obj_IsDeleted(obj)){
		c++;
		if(c%4==0 && GetVirtualKeyState(VK_SLOWMOVE) != KEY_HOLD){
		shot = CreateShotA1(ObjMove_GetX(obj)+rand(-3,3),ObjMove_GetY(obj)+rand(-3,3),0,0,SMALL_GRAY,30);
		ObjShot_SetDeleteFrame(shot,0);
		ObjEnemy_SetIntersectionCircleToShot(obj,ObjMove_GetX(obj),ObjMove_GetY(obj),24);
		ObjEnemy_SetIntersectionCircleToPlayer(obj,ObjMove_GetX(obj),ObjMove_GetY(obj),16);
		}
		if(GetVirtualKeyState(VK_SLOWMOVE) == KEY_PUSH)
		{PlaySound("Hidden",0);}
		if(GetVirtualKeyState(VK_SLOWMOVE) == KEY_PULL)
		{PlaySound("Sudden",0);}
		if(ObjEnemy_GetInfo(obj,INFO_LIFE) <=0){
		PlaySound("famdie",0);
		TExplosionA(ObjMove_GetX(obj),ObjMove_GetY(obj),10,0.3);
		Obj_Delete(obj);
		}
		if(ObjMove_GetX(obj)<-64 || ObjMove_GetX(obj)>480 || ObjMove_GetY(obj)<-64 || ObjMove_GetY(obj)>528){
		Obj_Delete(obj);}
		yield;
		}
		}
	}