
//=======================================================================
//@xEŃGtFNgɑΉe쐬֐WłB
//@̃t@Cinclude_functionŎ荞ނA
//@KvȕRsyĎgpĂB
//=======================================================================

//=======================================================================
//  GtFNg֐̎荞
//-----------------------------------------------------------------------
#include"./Obj_ShotEffect.txt"
//=======================================================================

/*
//-----------------------------------------------------------------------
//  e֐ W֐Ή [th06`th14]   ph3ł͎gp܂
//-----------------------------------------------------------------------
task FireObjShot(BulletID,Effecttype,DelayGraphic,Delay,BombResist) {

	let objshot	= FireShot(BulletID);
	let obj_x	= Obj_GetX(objshot);
	let obj_y	= Obj_GetY(objshot);
	let obj_a	= Obj_GetAngle(objshot);
	let alpha	= 224;

	ObjShot_ShotDelay(DelayGraphic,obj_x,obj_y,alpha,obj_a,Delay);
	loop(Delay) {
		Obj_SetAlpha(objshot,0);
		Obj_SetAngle(objshot,obj_a);
		Obj_SetPosition(objshot,obj_x,obj_y);
		ObjShot_SetBombResist(objshot,true);
		yield;
	}

	Obj_SetAlpha(objshot,255);
	Obj_SetAutoDelete(objshot,true);
	ObjShot_SetBombResist(objshot,BombResist);

	while(!Obj_IsDeleted(objshot)) {
		obj_x = Obj_GetX(objshot);
		obj_y = Obj_GetY(objshot);
		obj_a = Obj_GetAngle(objshot);
		yield;
	}
	Obj_SetAlpha(objshot,0);
	if(obj_x>32 && obj_x<416 && obj_y>16 && obj_y<464) {
		alternative(Effecttype)
		case(1) { ObjShot_ShotBreak01(DelayGraphic,obj_x,obj_y,obj_a,16); }
		case(2) { ObjShot_ShotBreak02(DelayGraphic,obj_x,obj_y,obj_a,16); }
		case(3) { ObjShot_ShotBreak03(DelayGraphic,obj_x,obj_y,obj_a,24); }
		case(4) { ObjShot_ShotBreak04(DelayGraphic,obj_x,obj_y,obj_a,24); }
		others  { ObjShot_ShotBreak04(DelayGraphic,obj_x,obj_y,obj_a,24); }
	}
}
*/
//-----------------------------------------------------------------------
//  ^e쐬֐ [th06`th09.5]
//-----------------------------------------------------------------------
task CreateObjShot01_T01(X,Y,Speed,Angle,Graphic,DelayGraphic,Delay) {

        let gsfw = GetStgFrameWidth;
        let gsfh = GetStgFrameHeight;

	ObjShot_ShotDelay(DelayGraphic,X,Y,224,Angle,Delay);
	loop(Delay) { yield; }

	let obj_x	= X;
	let obj_y	= Y;
	let obj_a	= Angle;
	let objshot	= CreateShotA1(X,Y,Speed,Angle,Graphic,0);

	ObjShot_SetAutoDelete(objshot,true);
	ObjShot_SetSpellResist(objshot,false);

	while(!Obj_IsDeleted(objshot)) {
		obj_x = ObjMove_GetX(objshot);
		obj_y = ObjMove_GetY(objshot);
		obj_a = ObjMove_GetAngle(objshot);
		yield;
	}
	ObjRender_SetAlpha(objshot,0);
	if(obj_x> 0 && obj_x< gsfw && obj_y> 0 && obj_y<gsfh) {
		ObjShot_ShotBreak01(DelayGraphic,obj_x,obj_y,obj_a,16);
	}
}

//-----------------------------------------------------------------------
//  ^e쐬֐ [th10`th12]
//-----------------------------------------------------------------------
task CreateObjShot01_T02(X,Y,Speed,Angle,Graphic,DelayGraphic,Delay) {

        let gsfw = GetStgFrameWidth;
        let gsfh = GetStgFrameHeight;

	ObjShot_ShotDelay(DelayGraphic,X,Y,224,Angle,Delay);
	loop(Delay) { yield; }

	let obj_x	= X;
	let obj_y	= Y;
	let obj_a	= Angle;
	let objshot	= CreateShotA1(X,Y,Speed,Angle,Graphic,0);

	ObjShot_SetAutoDelete(objshot,true);
	ObjShot_SetSpellResist(objshot,false);

	while(!Obj_IsDeleted(objshot)) {
		obj_x = ObjMove_GetX(objshot);
		obj_y = ObjMove_GetY(objshot);
		obj_a = ObjMove_GetAngle(objshot);
		yield;
	}
	ObjRender_SetAlpha(objshot,0);
	if(obj_x> 0 && obj_x< gsfw && obj_y> 0 && obj_y<gsfh) {
		ObjShot_ShotBreak02(DelayGraphic,obj_x,obj_y,obj_a,16);
	}
}

//-----------------------------------------------------------------------
//  ^e쐬֐ [th12.5`th13]
//-----------------------------------------------------------------------
task CreateObjShot01_T03(X,Y,Speed,Angle,Graphic,DelayGraphic,Delay) {

        let gsfw = GetStgFrameWidth;
        let gsfh = GetStgFrameHeight;

	ObjShot_ShotDelay(DelayGraphic,X,Y,224,Angle,Delay);
	loop(Delay) { yield; }

	let obj_x	= X;
	let obj_y	= Y;
	let obj_a	= Angle;
	let objshot	= CreateShotA1(X,Y,Speed,Angle,Graphic,0);

	ObjShot_SetAutoDelete(objshot,true);
	ObjShot_SetSpellResist(objshot,false);

	while(!Obj_IsDeleted(objshot)) {
		obj_x = ObjMove_GetX(objshot);
		obj_y = ObjMove_GetY(objshot);
		obj_a = ObjMove_GetAngle(objshot);
		yield;
	}
	ObjRender_SetAlpha(objshot,0);
	if(obj_x> 0 && obj_x< gsfw && obj_y> 0 && obj_y<gsfh) {
		ObjShot_ShotBreak03(DelayGraphic,obj_x,obj_y,obj_a,24);
	}
}

//-----------------------------------------------------------------------
//  ^e쐬֐ [th14]
//-----------------------------------------------------------------------
task CreateObjShot01_T04(X,Y,Speed,Angle,Graphic,DelayGraphic,Delay) {

        let gsfw = GetStgFrameWidth;
        let gsfh = GetStgFrameHeight;

	ObjShot_ShotDelay(DelayGraphic,X,Y,224,Angle,Delay);
	loop(Delay) { yield; }

	let obj_x	= X;
	let obj_y	= Y;
	let obj_a	= Angle;
	let objshot	= CreateShotA1(X,Y,Speed,Angle,Graphic,0);

	ObjShot_SetAutoDelete(objshot,true);
	ObjShot_SetSpellResist(objshot,false);

	while(!Obj_IsDeleted(objshot)) {
		obj_x = ObjMove_GetX(objshot);
		obj_y = ObjMove_GetY(objshot);
		obj_a = ObjMove_GetAngle(objshot);
		yield;
	}
	ObjRender_SetAlpha(objshot,0);
	if(obj_x> 0 && obj_x< gsfw && obj_y> 0 && obj_y<gsfh) {
		ObjShot_ShotBreak04(DelayGraphic,obj_x,obj_y,obj_a,24);
	}
}

//-----------------------------------------------------------------------
//  Ȑ^e쐬֐ [th06`th09.5]
//-----------------------------------------------------------------------
task CreateObjShotA_T01(X,Y,Speed,Angle,AddAngle,AddSpeed,MaxSpeed,Graphic,DelayGraphic,Delay) {

        let gsfw = GetStgFrameWidth;
        let gsfh = GetStgFrameHeight;

	ObjShot_ShotDelay(DelayGraphic,X,Y,224,Angle,Delay);
	loop(Delay) { yield; }

	let obj_x	= X;
	let obj_y	= Y;
	let obj_a	= Angle;
	let objshot	= CreateShotA2(X,Y,Speed,Angle,AddSpeed,MaxSpeed,Graphic,0);
        ObjMove_SetAngularVelocity(objshot,AddAngle);

	ObjShot_SetAutoDelete(objshot,true);
	ObjShot_SetSpellResist(objshot,false);

	while(!Obj_IsDeleted(objshot)) {
		obj_x = ObjMove_GetX(objshot);
		obj_y = ObjMove_GetY(objshot);
		obj_a = ObjMove_GetAngle(objshot);
		yield;
	}
	ObjRender_SetAlpha(objshot,0);
	if(obj_x> 0 && obj_x< gsfw && obj_y> 0 && obj_y<gsfh) {
		ObjShot_ShotBreak01(DelayGraphic,obj_x,obj_y,obj_a,16);
	}
}

//-----------------------------------------------------------------------
//  Ȑ^e쐬֐ [th10`th12]
//-----------------------------------------------------------------------
task CreateObjShotA_T02(X,Y,Speed,Angle,AddAngle,AddSpeed,MaxSpeed,Graphic,DelayGraphic,Delay) {

        let gsfw = GetStgFrameWidth;
        let gsfh = GetStgFrameHeight;

	ObjShot_ShotDelay(DelayGraphic,X,Y,224,Angle,Delay);
	loop(Delay) { yield; }

	let obj_x	= X;
	let obj_y	= Y;
	let obj_a	= Angle;
	let objshot	= CreateShotA2(X,Y,Speed,Angle,AddSpeed,MaxSpeed,Graphic,0);
        ObjMove_SetAngularVelocity(objshot,AddAngle);

	ObjShot_SetAutoDelete(objshot,true);
	ObjShot_SetSpellResist(objshot,false);

	while(!Obj_IsDeleted(objshot)) {
		obj_x = ObjMove_GetX(objshot);
		obj_y = ObjMove_GetY(objshot);
		obj_a = ObjMove_GetAngle(objshot);
		yield;
	}
	ObjRender_SetAlpha(objshot,0);
	if(obj_x> 0 && obj_x< gsfw && obj_y> 0 && obj_y<gsfh) {
		ObjShot_ShotBreak02(DelayGraphic,obj_x,obj_y,obj_a,16);
	}
}

//-----------------------------------------------------------------------
//  Ȑ^e쐬֐ [th12.5`th13]
//-----------------------------------------------------------------------
task CreateObjShotA_T03(X,Y,Speed,Angle,AddAngle,AddSpeed,MaxSpeed,Graphic,DelayGraphic,Delay) {

        let gsfw = GetStgFrameWidth;
        let gsfh = GetStgFrameHeight;

	ObjShot_ShotDelay(DelayGraphic,X,Y,224,Angle,Delay);
	loop(Delay) { yield; }

	let obj_x	= X;
	let obj_y	= Y;
	let obj_a	= Angle;
	let objshot	= CreateShotA2(X,Y,Speed,Angle,AddSpeed,MaxSpeed,Graphic,0);
        ObjMove_SetAngularVelocity(objshot,AddAngle);

	ObjShot_SetAutoDelete(objshot,true);
	ObjShot_SetSpellResist(objshot,false);

	while(!Obj_IsDeleted(objshot)) {
		obj_x = ObjMove_GetX(objshot);
		obj_y = ObjMove_GetY(objshot);
		obj_a = ObjMove_GetAngle(objshot);
		yield;
	}
	ObjRender_SetAlpha(objshot,0);
	if(obj_x> 0 && obj_x< gsfw && obj_y> 0 && obj_y<gsfh) {
		ObjShot_ShotBreak03(DelayGraphic,obj_x,obj_y,obj_a,24);
	}
}

//-----------------------------------------------------------------------
//  Ȑ^e쐬֐ [th14]
//-----------------------------------------------------------------------
task CreateObjShotA_T04(X,Y,Speed,Angle,AddAngle,AddSpeed,MaxSpeed,Graphic,DelayGraphic,Delay) {

        let gsfw = GetStgFrameWidth;
        let gsfh = GetStgFrameHeight;

	ObjShot_ShotDelay(DelayGraphic,X,Y,224,Angle,Delay);
	loop(Delay) { yield; }

	let obj_x	= X;
	let obj_y	= Y;
	let obj_a	= Angle;
	let objshot	= CreateShotA2(X,Y,Speed,Angle,AddSpeed,MaxSpeed,Graphic,0);
        ObjMove_SetAngularVelocity(objshot,AddAngle);

	ObjShot_SetAutoDelete(objshot,true);
	ObjShot_SetSpellResist(objshot,false);

	while(!Obj_IsDeleted(objshot)) {
		obj_x = ObjMove_GetX(objshot);
		obj_y = ObjMove_GetY(objshot);
		obj_a = ObjMove_GetAngle(objshot);
		yield;
	}
	ObjRender_SetAlpha(objshot,0);
	if(obj_x> 0 && obj_x< gsfw && obj_y> 0 && obj_y<gsfh) {
		ObjShot_ShotBreak04(DelayGraphic,obj_x,obj_y,obj_a,24);
	}
}

//-----------------------------------------------------------------------
//  RőΉe쐬֐ [th06`th09.5]
//-----------------------------------------------------------------------
task CreateObjShotB_T01(X,Y,Speed,Angle,AddAngle,AddSpeed,MaxSpeed,Graphic,DelayGraphic,Delay,DeleteTime) {

        let gsfw = GetStgFrameWidth;
        let gsfh = GetStgFrameHeight;

	ObjShot_ShotDelay(DelayGraphic,X,Y,224,Angle,Delay);
	loop(Delay) { yield; }

	let obj_x	= X;
	let obj_y	= Y;
	let obj_a	= Angle;
	let objshot	= CreateShotA2(X,Y,Speed,Angle,AddSpeed,MaxSpeed,Graphic,0);
        ObjMove_SetAngularVelocity(objshot,AddAngle);
        ObjShot_SetDeleteFrame(objshot,DeleteTime);

	ObjShot_SetAutoDelete(objshot,true);
	ObjShot_SetSpellResist(objshot,false);

	while(!Obj_IsDeleted(objshot)) {
		obj_x = ObjMove_GetX(objshot);
		obj_y = ObjMove_GetY(objshot);
		obj_a = ObjMove_GetAngle(objshot);
		yield;
	}
	ObjRender_SetAlpha(objshot,0);
	if(obj_x> 0 && obj_x< gsfw && obj_y> 0 && obj_y<gsfh) {
		ObjShot_ShotBreak01(DelayGraphic,obj_x,obj_y,obj_a,16);
	}
}

//-----------------------------------------------------------------------
//  RőΉe쐬֐ [th10`th12]
//-----------------------------------------------------------------------
task CreateObjShotB_T02(X,Y,Speed,Angle,AddAngle,AddSpeed,MaxSpeed,Graphic,DelayGraphic,Delay,DeleteTime) {

        let gsfw = GetStgFrameWidth;
        let gsfh = GetStgFrameHeight;

	ObjShot_ShotDelay(DelayGraphic,X,Y,224,Angle,Delay);
	loop(Delay) { yield; }
	let obj_x	= X;
	let obj_y	= Y;
	let obj_a	= Angle;
	let objshot	= CreateShotA2(X,Y,Speed,Angle,AddSpeed,MaxSpeed,Graphic,0);
        ObjMove_SetAngularVelocity(objshot,AddAngle);
        ObjShot_SetDeleteFrame(objshot,DeleteTime);

	ObjShot_SetAutoDelete(objshot,true);
	ObjShot_SetSpellResist(objshot,false);

	while(!Obj_IsDeleted(objshot)) {
		obj_x = ObjMove_GetX(objshot);
		obj_y = ObjMove_GetY(objshot);
		obj_a = ObjMove_GetAngle(objshot);
		yield;
	}
	ObjRender_SetAlpha(objshot,0);
	if(obj_x> 0 && obj_x< gsfw && obj_y> 0 && obj_y<gsfh) {
		ObjShot_ShotBreak02(DelayGraphic,obj_x,obj_y,obj_a,16);
	}
}

//-----------------------------------------------------------------------
//  RőΉe쐬֐ [th12.5`th13]
//-----------------------------------------------------------------------
task CreateObjShotB_T03(X,Y,Speed,Angle,AddAngle,AddSpeed,MaxSpeed,Graphic,DelayGraphic,Delay,DeleteTime) {

        let gsfw = GetStgFrameWidth;
        let gsfh = GetStgFrameHeight;

	ObjShot_ShotDelay(DelayGraphic,X,Y,224,Angle,Delay);
	loop(Delay) { yield; }

	let obj_x	= X;
	let obj_y	= Y;
	let obj_a	= Angle;
	let objshot	= CreateShotA2(X,Y,Speed,Angle,AddSpeed,MaxSpeed,Graphic,0);
        ObjMove_SetAngularVelocity(objshot,AddAngle);
        ObjShot_SetDeleteFrame(objshot,DeleteTime);

	ObjShot_SetAutoDelete(objshot,true);
	ObjShot_SetSpellResist(objshot,false);

	while(!Obj_IsDeleted(objshot)) {
		obj_x = ObjMove_GetX(objshot);
		obj_y = ObjMove_GetY(objshot);
		obj_a = ObjMove_GetAngle(objshot);
		yield;
	}
	ObjRender_SetAlpha(objshot,0);
	if(obj_x> 0 && obj_x< gsfw && obj_y> 0 && obj_y<gsfh) {
		ObjShot_ShotBreak03(DelayGraphic,obj_x,obj_y,obj_a,24);
	}
}

//-----------------------------------------------------------------------
//  RőΉe쐬֐ [th14]
//-----------------------------------------------------------------------
task CreateObjShotB_T04(X,Y,Speed,Angle,AddAngle,AddSpeed,MaxSpeed,Graphic,DelayGraphic,Delay,DeleteTime) {

        let gsfw = GetStgFrameWidth;
        let gsfh = GetStgFrameHeight;

	ObjShot_ShotDelay(DelayGraphic,X,Y,224,Angle,Delay);
	loop(Delay) { yield; }

	let obj_x	= X;
	let obj_y	= Y;
	let obj_a	= Angle;
	let objshot	= CreateShotA2(X,Y,Speed,Angle,AddSpeed,MaxSpeed,Graphic,0);
        ObjMove_SetAngularVelocity(objshot,AddAngle);
        ObjShot_SetDeleteFrame(objshot,DeleteTime);

	ObjShot_SetAutoDelete(objshot,true);
	ObjShot_SetSpellResist(objshot,false);

	while(!Obj_IsDeleted(objshot)) {
		obj_x = ObjMove_GetX(objshot);
		obj_y = ObjMove_GetY(objshot);
		obj_a = ObjMove_GetAngle(objshot);
		yield;
	}
	ObjRender_SetAlpha(objshot,0);
	if(obj_x> 0 && obj_x< gsfw && obj_y> 0 && obj_y<gsfh) {
		ObjShot_ShotBreak04(DelayGraphic,obj_x,obj_y,obj_a,24);
	}
}

//-----------------------------------------------------------------------
//  {ϐΉe쐬֐ [th06`th09.5]
//-----------------------------------------------------------------------
task CreateObjShotC_T01(X,Y,Speed,Angle,AddAngle,AddSpeed,MaxSpeed,Graphic,DelayGraphic,Delay,DeleteTime,BombResist) {

        let gsfw = GetStgFrameWidth;
        let gsfh = GetStgFrameHeight;

	ObjShot_ShotDelay(DelayGraphic,X,Y,224,Angle,Delay);
	loop(Delay) { yield; }

	let obj_x	= X;
	let obj_y	= Y;
	let obj_a	= Angle;
	let objshot	= CreateShotA2(X,Y,Speed,Angle,AddSpeed,MaxSpeed,Graphic,0);
        ObjMove_SetAngularVelocity(objshot,AddAngle);
        ObjShot_SetDeleteFrame(objshot,DeleteTime);

	ObjShot_SetAutoDelete(objshot,true);
	ObjShot_SetSpellResist(objshot,BombResist);

	while(!Obj_IsDeleted(objshot)) {
		obj_x = ObjMove_GetX(objshot);
		obj_y = ObjMove_GetY(objshot);
		obj_a = ObjMove_GetAngle(objshot);
		yield;
	}
	ObjRender_SetAlpha(objshot,0);
	if(obj_x> 0 && obj_x< gsfw && obj_y> 0 && obj_y<gsfh) {
		ObjShot_ShotBreak01(DelayGraphic,obj_x,obj_y,obj_a,16);
	}
}

//-----------------------------------------------------------------------
//  {ϐΉe쐬֐ [th10`th12]
//-----------------------------------------------------------------------
task CreateObjShotC_T02(X,Y,Speed,Angle,AddAngle,AddSpeed,MaxSpeed,Graphic,DelayGraphic,Delay,DeleteTime,BombResist) {

        let gsfw = GetStgFrameWidth;
        let gsfh = GetStgFrameHeight;

	ObjShot_ShotDelay(DelayGraphic,X,Y,224,Angle,Delay);
	loop(Delay) { yield; }

	let obj_x	= X;
	let obj_y	= Y;
	let obj_a	= Angle;
	let objshot	= CreateShotA2(X,Y,Speed,Angle,AddSpeed,MaxSpeed,Graphic,0);
        ObjMove_SetAngularVelocity(objshot,AddAngle);
        ObjShot_SetDeleteFrame(objshot,DeleteTime);

	ObjShot_SetAutoDelete(objshot,true);
	ObjShot_SetSpellResist(objshot,BombResist);

	while(!Obj_IsDeleted(objshot)) {
		obj_x = ObjMove_GetX(objshot);
		obj_y = ObjMove_GetY(objshot);
		obj_a = ObjMove_GetAngle(objshot);
		yield;
	}
	ObjRender_SetAlpha(objshot,0);
	if(obj_x> 0 && obj_x< gsfw && obj_y> 0 && obj_y<gsfh) {
		ObjShot_ShotBreak02(DelayGraphic,obj_x,obj_y,obj_a,16);
	}
}

//-----------------------------------------------------------------------
//  {ϐΉe쐬֐ [th12.5`th13]
//-----------------------------------------------------------------------
task CreateObjShotC_T03(X,Y,Speed,Angle,AddAngle,AddSpeed,MaxSpeed,Graphic,DelayGraphic,Delay,DeleteTime,BombResist) {

        let gsfw = GetStgFrameWidth;
        let gsfh = GetStgFrameHeight;

	ObjShot_ShotDelay(DelayGraphic,X,Y,224,Angle,Delay);
	loop(Delay) { yield; }

	let obj_x	= X;
	let obj_y	= Y;
	let obj_a	= Angle;
	let objshot	= CreateShotA2(X,Y,Speed,Angle,AddSpeed,MaxSpeed,Graphic,0);
        ObjMove_SetAngularVelocity(objshot,AddAngle);
        ObjShot_SetDeleteFrame(objshot,DeleteTime);

	ObjShot_SetAutoDelete(objshot,true);
	ObjShot_SetSpellResist(objshot,BombResist);

	while(!Obj_IsDeleted(objshot)) {
		obj_x = ObjMove_GetX(objshot);
		obj_y = ObjMove_GetY(objshot);
		obj_a = ObjMove_GetAngle(objshot);
		yield;
	}
	ObjRender_SetAlpha(objshot,0);
	if(obj_x> 0 && obj_x< gsfw && obj_y> 0 && obj_y<gsfh) {
		ObjShot_ShotBreak03(DelayGraphic,obj_x,obj_y,obj_a,24);
	}
}

//-----------------------------------------------------------------------
//  {ϐΉe쐬֐ [th14]
//-----------------------------------------------------------------------
task CreateObjShotC_T04(X,Y,Speed,Angle,AddAngle,AddSpeed,MaxSpeed,Graphic,DelayGraphic,Delay,DeleteTime,BombResist) {

        let gsfw = GetStgFrameWidth;
        let gsfh = GetStgFrameHeight;

	ObjShot_ShotDelay(DelayGraphic,X,Y,224,Angle,Delay);
	loop(Delay) { yield; }

	let obj_x	= X;
	let obj_y	= Y;
	let obj_a	= Angle;
	let objshot	= CreateShotA2(X,Y,Speed,Angle,AddSpeed,MaxSpeed,Graphic,0);
        ObjMove_SetAngularVelocity(objshot,AddAngle);
        ObjShot_SetDeleteFrame(objshot,DeleteTime);

	ObjShot_SetAutoDelete(objshot,true);
	ObjShot_SetSpellResist(objshot,BombResist);

	while(!Obj_IsDeleted(objshot)) {
		obj_x = ObjMove_GetX(objshot);
		obj_y = ObjMove_GetY(objshot);
		obj_a = ObjMove_GetAngle(objshot);
		yield;
	}
	ObjRender_SetAlpha(objshot,0);
	if(obj_x> 0 && obj_x< gsfw && obj_y> 0 && obj_y<gsfh) {
		ObjShot_ShotBreak04(DelayGraphic,obj_x,obj_y,obj_a,24);
	}
}
