
#Title[enm4 spell02 h]
#Text[P X@{uCOiCgt@Ov]
#Player[FREE]
#BackGround[Default]
#ScriptVersion[2]

script_enemy_main {
    let imgSPNB   = GetCurrentScriptDirectory~".\enm4eff\spellEfect.png";
    let imgEffect = GetCurrentScriptDirectory~".\enm4eff\bossEfect.png";
    let imgEffect2= GetCurrentScriptDirectory~".\enm4eff\wave.png";
    let t5        = GetCurrentScriptDirectory~".\enm4se\timer1.wav";
    let t10       = GetCurrentScriptDirectory~".\enm4se\timer2.wav";
    let tan       = GetCurrentScriptDirectory~".\enm4se\shot1.wav";
    let kira      = GetCurrentScriptDirectory~".\enm4se\shot2.wav";
    let Gspel     = GetCurrentScriptDirectory~".\enm4se\echo5.wav";
    let laser     = GetCurrentScriptDirectory~".\enm4se\Laser2.wav";
    let power     = GetCurrentScriptDirectory~".\enm4se\enemy_powereffect.wav";
    let powerl    = GetCurrentScriptDirectory~".\enm4se\power_logo.wav";
    let gekiha    = GetCurrentScriptDirectory~".\enm4se\BossEnd.wav";
    let powerla   = GetCurrentScriptDirectory~".\enm4se\power_logo.wav";
    let kaku      = GetCurrentScriptDirectory~".\enm4se\j.wav";
    let boon      = GetCurrentScriptDirectory~".\enm4se\boon.wav";
    let frame     = 0;
    let GetAngle  = 0;
    let angle     = 0;
    let angle2    = 0;
    let angleBase = 0;
    let count     = 0;
    let timer     = 0;
    let shotdir   = GetCurrentScriptDirectory ~ "kshotData.txt";
    let MinX	  = GetClipMinX;
    let MaxX	  = GetClipMaxX;
    let CenX	  = GetCenterX;
    let MinY	  = GetClipMinY;
    let MaxY	  = GetClipMaxY;
    let CenY	  = GetCenterY;
    let T_count   = 0;
    let Damage    = 0;
    let a         = 0;
    let S_count   = 0;
    let w         = 0;
    let lp        = 0;
    let px        = 0;
    let py        = 0;
    let endc	  = 0;

    @Initialize {
        //SetX(MaxX+100);
        //SetY(MinY-100);

        SetLife(1000);
	SetDamageRate(0,0);

	SetInvincibility(120);

	/*e폜@(l64)*/
	SetShotAutoDeleteClip(0,0,0,0);

	LoadUserShotData(shotdir);
	SetMovePosition03(CenX,CenY-100,10,5);
	LoadGraphic(imgEffect);
	LoadGraphic(imgEffect2);
	LoadGraphic(imgSPNB);
	Aura(8,255,50,150);
	MagicCircle(false);
	SetRateScoreSystemEnable(false);
	hpb(1,0,0);
	Timer(1,1);
	EnemyTexture04_typeB(true);
	SetEffectForZeroLife(0,0,0);
	VSname(0);
	let tact = GetCommonDataEx("title","act");
	if(tact!=11){
	VSname2(0,0);
	VSname2(10,0);
	VSname2(20,0);
	}
	RedMagicCircle(0,0);
	SpellPracticeSave("hard",13);
    }

    @MainLoop {
	yield;
        SetCollisionA(GetX, GetY, 30);

	if(GetSpeedX!=0||GetSpeedY!=0){SetCollisionB(GetX, GetY, 60);}
	if(GetSpeedX==0||GetSpeedY==0){SetCollisionB(GetX, GetY, 15);}

	/*ԏ*/
	if(GetTimer<=10 && GetTimer>=0){T_count++;}
	alternative(T_count)
	case(1,60,120,180,240){PlaySE(t10);}
	case(300,360,420,480,540){PlaySE(t5);}

	/*{Agp莞ԃ_[W*/
	if(OnBomb==true){SetDamageRate(30,50);Damage=0;}
	if(OnBomb==false){Damage++;}
	if(Damage>=100){SetDamageRate(30,50);}

	/*XyJ[hؐ錾*/
	if(S_count==1){
	CutinSP("TIREI",50,-50,4000000,60,GetCurrentScriptDirectory~".\enm4img\mmm00001.png",0,0,384,512);
	CutinSP2(-275,-10,GetCurrentScriptDirectory~".\enm4spell\sn_052.png",0,0,384,32,255,255,255);
	BackGroundEffect;
	}
	if(S_count==50){
	Concentration(50,powerla);
	}
	if(S_count==110){
	wing(0,0);
	wing(1,10);
	wing(2,20);
	PlaySE(boon);
	}
	

	a++;	
	frame++;
	count++;
	S_count++;
	timer++;
	if(frame==140||frame==240||frame==340||frame==440||frame==540){
	Concentration(40,powerla);
	CompressionLaser(GetX,GetY,GetAngleToPlayer,0,500,30,255,0,0,60,60,false);
	px=GetPlayerX;
	py=GetPlayerY+10;
	}
	if(frame==700){
	Concentration(40,powerla);
	}
	if(frame==200||frame==300||frame==400||frame==500||frame==600){
	SetMovePosition03(px,py,10,15);
	PlaySE(tan);
	}
	if(frame==650){
	SetMovePosition03(CenX,CenY-100,10,5);
	}
	if(timer>=200&&timer<=220||timer>=300&&timer<=320||timer>=400&&timer<=420
		||timer>=500&&timer<=520||timer>=600&&timer<=620){
	SetShotDirectionType(PLAYER);
	CreateShotA(0,GetX+rand(-50,50),GetY+rand(-50,50),10);
	SetShotDataA(0,0,0,0,0,0,5,kBLUE42);
	SetShotDataA(0,550-angle,0,0,0,0.01,rand(2,5),kBLUE42);
	FireShot(0);
	CreateShotA(0,GetX+rand(-50,50),GetY+rand(-50,50),10);
	SetShotDataA(0,0,0,0,0,0,5,kBLUE_F);
	SetShotDataA(0,550-angle,0,0,0,-0.01,rand(-1,-2),kBLUE_F);
	FireShot(0);
	SetShotDirectionType(ABSOLUTE);
	CreateShotA(0,GetX+rand(-50,50),GetY+rand(-50,50),10);
	SetShotDataA(0,0,0,rand(0,360),0,0,5,kPURPLE_F);
	SetShotDataA(0,550-angle,0,NULL,0,-0.01,rand(-1,-2),kPURPLE_F);
	FireShot(0);
	angle+=3;
	PlaySE(kira);
	}
	alternative(count)
	case(2000){
	if(count==0){SetMovePositionRandom01(200,100,3,GetX-40,CenY-160,GetX-41,CenY-90);}
        else if(GetX<=CenX-100){SetMovePositionRandom01(200,100,rand(4,6),GetX+40,CenY-160,GetX+41,CenY-90);}
        else if(GetX>=GetPlayerX){SetMovePositionRandom01(200,100,rand(4,6),GetX-40,CenY-160,GetX-41,CenY-90);}
        else if(GetX<=GetPlayerX){SetMovePositionRandom01(200,100,rand(4,6),GetX+40,CenY-160,GetX+41,CenY-90);}}
	if(count==860){
	angle=0;
	timer=0;
	frame=0;
	count=0;
	}

	let tact = GetCommonDataEx("title","act");
	let tsst = GetCommonDataEx("title","start_stage");
	if(tact==11){
	if(OnPlayerMissed==true){
	SetCommonDataEx("title","start_stage",false);
	VanishEnemy;
	}
	if(GetEnemyLife<=10){
	SetMovePosition03(CenX-30,CenY-120,10,5);
	SetDamageRate(0,0);
	endc++;
	}
	if(endc==1){
	DeleteAllEnemyWithoutBoss;
	DefeatExplosion(GetEnemyX,GetEnemyY);
	}
	}

}//MainLoop")"łB

    @DrawLoop {}

    @Finalize {
	let tact = GetCommonDataEx("title","act");
	if(tact==11){
	SetCommonDataEx("title","start_stage",false);
	}
	}

	#include_function".\Obj_Control.txt"
	#include_function".\lib_kshot.txt"
}