	let color=[0,0,0];
	let colorw=[0,0,0];

	let anim=0;

	let gi=0;

	let dir=0;
	let th=30;

sub FairyInit{
	colorw=[Rainbow(0,arg5[0])*arg5[1]+(255-arg5[1]),Rainbow(1,arg5[0])*arg5[1]+(255-arg5[1]),Rainbow(2,arg5[0])*arg5[1]+(255-arg5[1])];
	arg5[1]=arg5[1]/2;
	color=[Rainbow(0,arg5[0])*arg5[1]+(255-arg5[1]),Rainbow(1,arg5[0])*arg5[1]+(255-arg5[1]),Rainbow(2,arg5[0])*arg5[1]+(255-arg5[1])];
	arg5[1]=arg5[1]*2;
}

sub FairyDrawLogic{
	anim++;
}


sub FairyDrawLoop{
	        SetTexture(imgEnemy);

		SetFairyGraphicRect(-1,3);

		SetColor(colorw[0],colorw[1],colorw[2]);
		SetAlpha(100);
		SetGraphicAngle(0,0,anim*4);
		gi=cos(anim*5.5);
		SetGraphicScale(1.4+gi*0.3,1.4+gi*0.3);
		DrawGraphic(GetX,GetY);	//aura

		SetColor(color[0],color[1],color[2]);
		SetAlpha(200);
		SetGraphicAngle(0,0,anim*-3);
		SetGraphicScale(1+gi*0.3,1+gi*0.3);
		DrawGraphic(GetX,GetY);	//aura

		SetColor(colorw[0],colorw[1],colorw[2]);
		SetGraphicAngle(0,0,0);
		SetAlpha(255);

		SetGraphicScale(0.8+sin(anim*11)*0.2,1);
		SetFairyGraphicRect(0,arg5[4]+1);
		DrawGraphic(GetX,GetY-4);	//wings

		SetGraphicScale(1,1);
		SetColor(color[0],color[1],color[2]);
		SetFairyGraphicRect(1,0);
		DrawGraphic(GetX,GetY-2);	//fairy

		SetColor(255,255,255);
		SetFairyGraphicRect(0,0);
		DrawGraphic(GetX,GetY-2);	//skin
}

function SetFairyGraphicRect(x,y){
	x*=42;
	y*=42;
	SetGraphicRect(172+x,88+y,214+x,130+y);
}
