    //ˎUe̔ˁEǗB
    //gpO[oϐFListMirrors
    //o̓O[oϐFȂ

    task TScatterShot
    {
        let nWay = [0, 0, 12, 16, 36][Level];	//way
        let v = [0, 0, 4, 4, 6][Level];		//e
        let time = [8192, 8192, 120, 60, 20][Level];	//ˊԊuB0̓_A΁B
        let ImgList = [RED23, ORANGE23, YELLOW23, GREEN23, AQUA23, BLUE23, PURPLE23, WHITE23];
        let AmountBossDamage = [0, 0, 100, 50, 10][Level];	//UeɂG@ւ̃_[W(͂H)
        let RadiusBossDamage = 8;		//Ue-G@蔻(H)
        let TimeDelayReflection = 3;	//˖h~

        loop
        {
            let Ang = rand(0, 360);
            loop(nWay)
            {
                let X = [GetX, GetY];
                let Img = RandSelect(ImgList);
                TReflectShot(X, v, Ang, Img, TimeDelayReflection, AmountBossDamage, RadiusBossDamage);
                Ang += 360 / nWay;
            }
        wait(time);
        }
    }


    task TReflectShot(X, v, Ang, Img, time, Damage, rDmg)	//˒e
    {
        let nImg = length(Img);

        //objVbg
        let obj = Obj_Create(OBJ_SHOT);
        Obj_SetPosition(obj, X[0], X[1]);
        Obj_SetSpeed(obj, v);
        Obj_SetAngle(obj, Ang);
        ObjShot_SetGraphic(obj, Img);

        THitBoss(obj, v,  rDmg, Damage);	//G@ւ̓蔻mF(Main_Shotؗp)

        while( !Obj_BeDeleted(obj) )
        {
            ascent( i in 0..length(ListMirrors) )	//ˋڐG
            {
                if (Collision_Obj_Obj(ListMirrors[i], obj) )
                {
                    let AngMirror = Obj_GetAngle(ListMirrors[i]);
                    Ang = 2 * AngMirror - Ang;

                    Obj_SetAngle(obj, Ang);
                    wait(time);		//˖h~
                }
            }
            yield;			//[vh~
        }
    }
