
#Title[enm6 spell05 hard]
#Text[CVAEiUkX
uGEGE}EToN^jv]
#Player[FREE]
#BackGround[Default]
#ScriptVersion[2]

script_enemy_main {
    let gcsd      = GetCurrentScriptDirectory;
    let effimg    = gcsd ~ ".\enm6eff\bulletbreak.png";
    let imgSPNB   = GetCurrentScriptDirectory~".\enm6eff\spellEfect.png";
    let imgEffect = GetCurrentScriptDirectory~".\enm6eff\bossEfect.png";
    let t5        = GetCurrentScriptDirectory~".\enm6se\timer1.wav";
    let t10       = GetCurrentScriptDirectory~".\enm6se\timer2.wav";
    let tan       = GetCurrentScriptDirectory~".\enm6se\shot1.wav";
    let kira      = GetCurrentScriptDirectory~".\enm6se\shot2.wav";
    let Gspel     = GetCurrentScriptDirectory~".\enm6se\echo5.wav";
    let laser     = GetCurrentScriptDirectory~".\enm6se\Laser2.wav";
    let power     = GetCurrentScriptDirectory~".\enm6se\enemy_powereffect.wav";
    let powerl    = GetCurrentScriptDirectory~".\enm6se\power_logo.wav";
    let gekiha    = GetCurrentScriptDirectory~".\enm6se\BossEnd.wav";
    let powerla   = GetCurrentScriptDirectory~".\enm6se\power_logo.wav";
    let kaku      = GetCurrentScriptDirectory~".\enm6se\j.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 endc	  = 0;

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

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

	SetInvincibility(360);

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

	LoadUserShotData(shotdir);
	SetMovePosition03(CenX,CenY-50,10,5);
        LoadGraphic(imgEffect);
        LoadGraphic(imgSPNB);
	LoadGraphic(effimg);
	Aura(8,255,255,255);
	MagicCircle(false);
	SetRateScoreSystemEnable(false);
	hpb(1,0,0);
	Timer(1,1);
	EnemyTexture06_typeC(true);
	Chaos2(255,255,255,200,0,ADD,"-");
	WasSet_StainedGlass(0,60);
	WasSet_StainedGlass02(0,60);
	WasSet_StainedGlass(68,100);
	WasSet_StainedGlass02(68,100);
	Cross02(0,0,0,"-");
	SetDurableSpellCard;
	SetEffectForZeroLife(0,0,0);
	VSname(0);
	let tact = GetCommonDataEx("title","act");
	if(tact!=11){
	VSname2(0,0);
	}
	RedMagicCircle(1,0);
	SpellPracticeSave("hard",30);
    }

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

	/*ԏ*/
	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(20,50);Damage=0;}
	if(OnBomb==false){Damage++;}
	if(Damage>=100){SetDamageRate(20,50);}

	/*XyJ[hؐ錾*/
	if(S_count==1){
	CutinSP("TIREI",60,-50,4000000,40,GetCurrentScriptDirectory~".\enm6img\iesua10000.png",0,0,384,512);
	CutinSP2(-275,-10,GetCurrentScriptDirectory~".\enm6spell\sn_116.png",0,0,384,32,255,255,255);
	BackGroundEffect_Change;
	}
	if(S_count==50){
	Concentration(30,powerla);
	}
	if(S_count==100){
	//Set_StainedGlass(0,140);
	//Set_StainedGlass02(0,140);
	//Set_StainedGlass(68,140);
	//Set_StainedGlass02(68,140);
	PlaySE(kira);
	}

	a++;	
	S_count++;
	frame++;
	count++;
	timer++;
	if(frame==100){
		SetX(CenX);
		SetY(MinY-500);
		let shote = [kRED51,kGREEN51,kPURPLE51,kYELLOW51,kBLUE51];
		loop(4){
			CreateReflectShot01(CenX,CenY-50,1.7,angle-angle2,2,shote[w]);
			CreateReflectShot01(CenX,CenY-50,1.7,angle+angle2,2,shote[w]);
			angle+=90;
		}
		w++;
		if(w==5){w=0;}
		PlaySE(tan);
		frame=90;
	}
	if(timer>=120){angle2+=10;}
	if(timer==160){frame=timer;}

	if(count==500){
		PlaySE(powerla);
	}
	if(count==600){
		HolyLaser(MinX+1,CenY+rand(50,-100),rand(315,360),6,kWHITE51,"-",45,0);
		HolyLaser(MaxX-1,CenY+rand(50,-100),rand(180,225),6,kWHITE51,"+",45,0);
		count=550+angleBase;
		if(angleBase<30){angleBase+=1;}
		PlaySE(kira);
	}
	if(timer==600){
		HolyLaser(MinX+1,rand(MinY,MaxY),0,3,kWHITE51,"-",45,0);
		HolyLaser(MaxX-1,rand(MinY,MaxY),180,3,kWHITE51,"+",45,0);
		timer=300;
	}

	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"
}