#東方弾幕風
#Title[星符「レインスターズ」 - Easy -]
#Text[虹色弾幕をやってみたかった]
#ScriptVersion[2]


script_enemy_main {
    //共通初期設定
    #include_function ".\INCLUDE\BOSS_INI.txt"

    let name        = "星符「レインスターズ」";

    let wIni    = 100;

    @Initialize {
        SetMovePosition02(GetCenterX, GetClipMinY + 120, wIni);
        SetX(GetCenterX);
        SetY(GetCenterY);

        thMCutIn(1,name);
        SetLife(2400);		//ライフ
        SetTimer(70);		//タイマー
        SetScore(4000000);	//ボーナススコア

        LoadGraphicthM;
        SetTexture(imgBoss);

        SetInvincibility(wIni);
        SetDamageRate(50, 50);

        TMain;
    }

    @MainLoop {
        SetCollisionA(GetX, GetY, 24);
        SetCollisionB(GetX, GetY, 24);

        yield; 
    }

    @DrawLoop {
        BossDraw(1);
    }

    @Finalize {
	SpellClear;
        DeleteGraphic(imgBoss);
    }

    @BackGround {
	BgDraw;
    }

//==========================================================================================

    // メインタスク（普通はここ以降から編集してください）
    task TMain {
        yield;
        loop(wIni) { yield; }

	Shot;
    }

    //星弾
    task Shot{
	let f = 4;	//発射間隔
	let way = 5;	//way数
	let role = 270;	//回転度
	let angle = 0;	//現在角度
	let t = 0;	//時間(360で0に戻ってくる)
	let nangle = 0;	//内部計算用の角度
	let dist = 60;	//最大距離
	let color = [US_STAR_S_RED, US_STAR_S_YELLOW, US_STAR_S_GREEN, US_STAR_S_BLUE, US_STAR_S_PURPLE];

	
	yield;
	
	loop{
		ascent(let i in 0..way){
			nangle = angle + (360/way)*i;
			CreateShot02(GetX + cos(nangle)*(sin(t)*dist+30), GetY + sin(nangle)*(sin(t)*dist+30), 1.8, nangle, 0, 0, color[i], 15);
		}
		t = (t + f) % 360;
		angle = sin(t) * role;
		__wait(f);
	}
    }


//==========================================================================================
    // w フレームだけ待つ
    function __wait(w) {
        loop(w) { yield; }
    }


}