
//=======================================================================
//@xEŃGtFNgɑΉe쐬֐WłB
//@Obj_Shot_ALL.txt ̓삪ꍇ͂ɐ؂ւĂ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;

    let obj = ObjShot_Create(OBJ_SHOT);
    let ox  = X;
    let oy  = Y;
    ObjShot_Regist(obj);
    ObjMove_SetX(obj,X);
    ObjMove_SetY(obj,Y);
    ObjMove_SetAngle(obj,Angle);
    ObjShot_SetAutoDelete(obj,true);
    ObjShot_SetSpellResist(obj,true);
    ObjShot_ShotDelay(DelayGraphic, X, Y, 224, Angle, Delay);

    loop(Delay) { yield; }

    ObjMove_SetSpeed(obj,Speed);
    ObjShot_SetGraphic(obj,Graphic);
    ObjShot_SetSpellResist(obj,false);

    while(!Obj_IsDeleted(obj)) {
	ox = ObjMove_GetX(obj);
	oy = ObjMove_GetY(obj);
	yield;
    }
    ObjRender_SetAlpha(obj,0);
    if(ox> 0 &&ox< gsfw &&oy> 0 &&oy< gsfh) { ObjShot_ShotBreak01(DelayGraphic, ox, oy, Angle, 16); }
}

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

    let gsfw = GetStgFrameWidth;
    let gsfh = GetStgFrameHeight;

    let obj = ObjShot_Create(OBJ_SHOT);
    let ox  = X;
    let oy  = Y;
    ObjShot_Regist(obj);
    ObjMove_SetX(obj,X);
    ObjMove_SetY(obj,Y);
    ObjMove_SetAngle(obj,Angle);
    ObjShot_SetAutoDelete(obj,true);
    ObjShot_SetSpellResist(obj,true);
    ObjShot_ShotDelay(DelayGraphic, X, Y, 224, Angle, Delay);

    loop(Delay) { yield; }

    ObjMove_SetSpeed(obj,Speed);
    ObjShot_SetGraphic(obj,Graphic);
    ObjShot_SetSpellResist(obj,false);

    while(!Obj_IsDeleted(obj)) {
	ox = ObjMove_GetX(obj);
	oy = ObjMove_GetY(obj);
	yield;
    }
    ObjRender_SetAlpha(obj,0);
    if(ox> 0 &&ox< gsfw &&oy> 0 &&oy< gsfh) { ObjShot_ShotBreak02(DelayGraphic, ox, oy, Angle, 16); }
}

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

    let gsfw = GetStgFrameWidth;
    let gsfh = GetStgFrameHeight;

    let obj = ObjShot_Create(OBJ_SHOT);
    let ox  = X;
    let oy  = Y;
    ObjShot_Regist(obj);
    ObjMove_SetX(obj,X);
    ObjMove_SetY(obj,Y);
    ObjMove_SetAngle(obj,Angle);
    ObjShot_SetAutoDelete(obj,true);
    ObjShot_SetSpellResist(obj,true);
    ObjShot_ShotDelay(DelayGraphic, X, Y, 224, Angle, Delay);

    loop(Delay) { yield; }

    ObjMove_SetSpeed(obj,Speed);
    ObjShot_SetGraphic(obj,Graphic);
    ObjShot_SetSpellResist(obj,false);

    while(!Obj_IsDeleted(obj)) {
	ox = ObjMove_GetX(obj);
	oy = ObjMove_GetY(obj);
	yield;
    }
    ObjRender_SetAlpha(obj,0);
    if(ox> 0 &&ox< gsfw &&oy> 0 &&oy< gsfh) { ObjShot_ShotBreak03(DelayGraphic, ox, oy, Angle, 24); }
}

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

    let gsfw = GetStgFrameWidth;
    let gsfh = GetStgFrameHeight;

    let obj = ObjShot_Create(OBJ_SHOT);
    let ox  = X;
    let oy  = Y;
    ObjShot_Regist(obj);
    ObjMove_SetX(obj,X);
    ObjMove_SetY(obj,Y);
    ObjMove_SetAngle(obj,Angle);
    ObjShot_SetAutoDelete(obj,true);
    ObjShot_SetSpellResist(obj,true);
    ObjShot_ShotDelay(DelayGraphic, X, Y, 224, Angle, Delay);

    loop(Delay) { yield; }

    ObjMove_SetSpeed(obj,Speed);
    ObjShot_SetGraphic(obj,Graphic);
    ObjShot_SetSpellResist(obj,false);

    while(!Obj_IsDeleted(obj)) {
	ox = ObjMove_GetX(obj);
	oy = ObjMove_GetY(obj);
	yield;
    }
    ObjRender_SetAlpha(obj,0);
    if(ox> 0 &&ox< gsfw &&oy> 0 &&oy< gsfh) { ObjShot_ShotBreak04(DelayGraphic, ox, oy, Angle, 24); }
}

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

    let gsfw = GetStgFrameWidth;
    let gsfh = GetStgFrameHeight;

    let obj = ObjShot_Create(OBJ_SHOT);
    let ox  = X;
    let oy  = Y;
    let objspeed = Speed;
    let objangle = Angle;
    ObjShot_Regist(obj);
    ObjMove_SetX(obj,X);
    ObjMove_SetY(obj,Y);
    ObjMove_SetAngle(obj,Angle);
    ObjShot_SetAutoDelete(obj,true);
    ObjShot_SetSpellResist(obj,true);
    ObjShot_ShotDelay(DelayGraphic, X, Y, 224, Angle, Delay);

    loop(Delay) { yield; }

    ObjMove_SetSpeed(obj,Speed);
    ObjShot_SetGraphic(obj,Graphic);
    ObjShot_SetSpellResist(obj,false);

    while(!Obj_IsDeleted(obj)) {
	ox = ObjMove_GetX(obj);
	oy = ObjMove_GetY(obj);
	objspeed += AddSpeed;
	objangle += AddAngle;
	ObjMove_SetSpeed(obj,objspeed);
	ObjMove_SetAngle(obj,objangle);

	if(AddSpeed > 0) {
	    if(ObjMove_GetSpeed(obj) > MaxSpeed && Speed < MaxSpeed) {
		ObjMove_SetSpeed(obj,MaxSpeed);
	    }
	}
	if(AddSpeed < 0) {
	    if(ObjMove_GetSpeed(obj) < MaxSpeed && Speed > MaxSpeed) {
		ObjMove_SetSpeed(obj,MaxSpeed);
	    }
	}
	yield;
    }
    ObjRender_SetAlpha(obj,0);
    if(ox> 0 &&ox< gsfw &&oy> 0 &&oy< gsfh) { ObjShot_ShotBreak01(DelayGraphic, ox, oy, Angle, 16); }
}

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

    let gsfw = GetStgFrameWidth;
    let gsfh = GetStgFrameHeight;

    let obj = ObjShot_Create(OBJ_SHOT);
    let ox  = X;
    let oy  = Y;
    let objspeed = Speed;
    let objangle = Angle;
    ObjShot_Regist(obj);
    ObjMove_SetX(obj,X);
    ObjMove_SetY(obj,Y);
    ObjMove_SetAngle(obj,Angle);
    ObjShot_SetAutoDelete(obj,true);
    ObjShot_SetSpellResist(obj,true);
    ObjShot_ShotDelay(DelayGraphic, X, Y, 224, Angle, Delay);

    loop(Delay) { yield; }

    ObjMove_SetSpeed(obj,Speed);
    ObjShot_SetGraphic(obj,Graphic);
    ObjShot_SetSpellResist(obj,false);

    while(!Obj_IsDeleted(obj)) {
	ox = ObjMove_GetX(obj);
	oy = ObjMove_GetY(obj);
	objspeed += AddSpeed;
	objangle += AddAngle;
	ObjMove_SetSpeed(obj,objspeed);
	ObjMove_SetAngle(obj,objangle);

	if(AddSpeed > 0) {
	    if(ObjMove_GetSpeed(obj) > MaxSpeed && Speed < MaxSpeed) {
		ObjMove_SetSpeed(obj,MaxSpeed);
	    }
	}
	if(AddSpeed < 0) {
	    if(ObjMove_GetSpeed(obj) < MaxSpeed && Speed > MaxSpeed) {
		ObjMove_SetSpeed(obj,MaxSpeed);
	    }
	}
	yield;
    }
    ObjRender_SetAlpha(obj,0);
    if(ox> 0 &&ox< gsfw &&oy> 0 &&oy< gsfh) { ObjShot_ShotBreak02(DelayGraphic, ox, oy, Angle, 16); }
}

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

    let gsfw = GetStgFrameWidth;
    let gsfh = GetStgFrameHeight;

    let obj = ObjShot_Create(OBJ_SHOT);
    let ox  = X;
    let oy  = Y;
    let objspeed = Speed;
    let objangle = Angle;
    ObjShot_Regist(obj);
    ObjMove_SetX(obj,X);
    ObjMove_SetY(obj,Y);
    ObjMove_SetAngle(obj,Angle);
    ObjShot_SetAutoDelete(obj,true);
    ObjShot_SetSpellResist(obj,true);
    ObjShot_ShotDelay(DelayGraphic, X, Y, 224, Angle, Delay);

    loop(Delay) { yield; }

    ObjMove_SetSpeed(obj,Speed);
    ObjShot_SetGraphic(obj,Graphic);
    ObjShot_SetSpellResist(obj,false);

    while(!Obj_IsDeleted(obj)) {
	ox = ObjMove_GetX(obj);
	oy = ObjMove_GetY(obj);
	objspeed += AddSpeed;
	objangle += AddAngle;
	ObjMove_SetSpeed(obj,objspeed);
	ObjMove_SetAngle(obj,objangle);

	if(AddSpeed > 0) {
	    if(ObjMove_GetSpeed(obj) > MaxSpeed && Speed < MaxSpeed) {
		ObjMove_SetSpeed(obj,MaxSpeed);
	    }
	}
	if(AddSpeed < 0) {
	    if(ObjMove_GetSpeed(obj) < MaxSpeed && Speed > MaxSpeed) {
		ObjMove_SetSpeed(obj,MaxSpeed);
	    }
	}
	yield;
    }
    ObjRender_SetAlpha(obj,0);
    if(ox> 0 &&ox< gsfw &&oy> 0 &&oy< gsfh) { ObjShot_ShotBreak03(DelayGraphic, ox, oy, Angle, 24); }
}

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

    let gsfw = GetStgFrameWidth;
    let gsfh = GetStgFrameHeight;

    let obj = ObjShot_Create(OBJ_SHOT);
    let ox  = X;
    let oy  = Y;
    let objspeed = Speed;
    let objangle = Angle;
    ObjShot_Regist(obj);
    ObjMove_SetX(obj,X);
    ObjMove_SetY(obj,Y);
    ObjMove_SetAngle(obj,Angle);
    ObjShot_SetAutoDelete(obj,true);
    ObjShot_SetSpellResist(obj,true);
    ObjShot_ShotDelay(DelayGraphic, X, Y, 224, Angle, Delay);

    loop(Delay) { yield; }

    ObjMove_SetSpeed(obj,Speed);
    ObjShot_SetGraphic(obj,Graphic);
    ObjShot_SetSpellResist(obj,false);

    while(!Obj_IsDeleted(obj)) {
	ox = ObjMove_GetX(obj);
	oy = ObjMove_GetY(obj);
	objspeed += AddSpeed;
	objangle += AddAngle;
	ObjMove_SetSpeed(obj,objspeed);
	ObjMove_SetAngle(obj,objangle);

	if(AddSpeed > 0) {
	    if(ObjMove_GetSpeed(obj) > MaxSpeed && Speed < MaxSpeed) {
		ObjMove_SetSpeed(obj,MaxSpeed);
	    }
	}
	if(AddSpeed < 0) {
	    if(ObjMove_GetSpeed(obj) < MaxSpeed && Speed > MaxSpeed) {
		ObjMove_SetSpeed(obj,MaxSpeed);
	    }
	}
	yield;
    }
    ObjRender_SetAlpha(obj,0);
    if(ox> 0 &&ox< gsfw &&oy> 0 &&oy< gsfh) { ObjShot_ShotBreak04(DelayGraphic, ox, oy, Angle, 24); }
}

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

    let gsfw = GetStgFrameWidth;
    let gsfh = GetStgFrameHeight;

    let obj = ObjShot_Create(OBJ_SHOT);
    let ox  = X;
    let oy  = Y;
    let objspeed = Speed;
    let objangle = Angle;
    ObjShot_Regist(obj);
    ObjMove_SetX(obj,X);
    ObjMove_SetY(obj,Y);
    ObjMove_SetAngle(obj,Angle);
    ObjShot_SetAutoDelete(obj,true);
    ObjShot_SetSpellResist(obj,true);
    ObjShot_ShotDelay(DelayGraphic, X, Y, 224, Angle, Delay);

    loop(Delay) { yield; }

    ObjMove_SetSpeed(obj,Speed);
    ObjShot_SetGraphic(obj,Graphic);
    ObjShot_SetSpellResist(obj,false);

    while(!Obj_IsDeleted(obj)) {

	DeleteTime --;
	ox = ObjMove_GetX(obj);
	oy = ObjMove_GetY(obj);
	objspeed += AddSpeed;
	objangle += AddAngle;
	ObjMove_SetSpeed(obj,objspeed);
	ObjMove_SetAngle(obj,objangle);

	if(AddSpeed > 0) {
	    if(ObjMove_GetSpeed(obj) > MaxSpeed && Speed < MaxSpeed) {
		ObjMove_SetSpeed(obj,MaxSpeed);
	    }
	}
	if(AddSpeed < 0) {
	    if(ObjMove_GetSpeed(obj) < MaxSpeed && Speed > MaxSpeed) {
		ObjMove_SetSpeed(obj,MaxSpeed);
	    }
	}
	if(DeleteTime == 0) { Obj_Delete(obj); }
	yield;
    }
    ObjRender_SetAlpha(obj,0);
    if(ox> 0 &&ox< gsfw &&oy> 0 &&oy< gsfh) { ObjShot_ShotBreak01(DelayGraphic, ox, oy, Angle, 16); }
}

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

    let gsfw = GetStgFrameWidth;
    let gsfh = GetStgFrameHeight;

    let obj = ObjShot_Create(OBJ_SHOT);
    let ox  = X;
    let oy  = Y;
    let objspeed = Speed;
    let objangle = Angle;
    ObjShot_Regist(obj);
    ObjMove_SetX(obj,X);
    ObjMove_SetY(obj,Y);
    ObjMove_SetAngle(obj,Angle);
    ObjShot_SetAutoDelete(obj,true);
    ObjShot_SetSpellResist(obj,true);
    ObjShot_ShotDelay(DelayGraphic, X, Y, 224, Angle, Delay);

    loop(Delay) { yield; }

    ObjMove_SetSpeed(obj,Speed);
    ObjShot_SetGraphic(obj,Graphic);
    ObjShot_SetSpellResist(obj,false);

    while(!Obj_IsDeleted(obj)) {

	DeleteTime --;
	ox = ObjMove_GetX(obj);
	oy = ObjMove_GetY(obj);
	objspeed += AddSpeed;
	objangle += AddAngle;
	ObjMove_SetSpeed(obj,objspeed);
	ObjMove_SetAngle(obj,objangle);

	if(AddSpeed > 0) {
	    if(ObjMove_GetSpeed(obj) > MaxSpeed && Speed < MaxSpeed) {
		ObjMove_SetSpeed(obj,MaxSpeed);
	    }
	}
	if(AddSpeed < 0) {
	    if(ObjMove_GetSpeed(obj) < MaxSpeed && Speed > MaxSpeed) {
		ObjMove_SetSpeed(obj,MaxSpeed);
	    }
	}
	if(DeleteTime == 0) { Obj_Delete(obj); }
	yield;
    }
    ObjRender_SetAlpha(obj,0);
    if(ox> 0 &&ox< gsfw &&oy> 0 &&oy< gsfh) { ObjShot_ShotBreak02(DelayGraphic, ox, oy, Angle, 16); }
}

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

    let gsfw = GetStgFrameWidth;
    let gsfh = GetStgFrameHeight;

    let obj = ObjShot_Create(OBJ_SHOT);
    let ox  = X;
    let oy  = Y;
    let objspeed = Speed;
    let objangle = Angle;
    ObjShot_Regist(obj);
    ObjMove_SetX(obj,X);
    ObjMove_SetY(obj,Y);
    ObjMove_SetAngle(obj,Angle);
    ObjShot_SetAutoDelete(obj,true);
    ObjShot_SetSpellResist(obj,true);
    ObjShot_ShotDelay(DelayGraphic, X, Y, 224, Angle, Delay);

    loop(Delay) { yield; }

    ObjMove_SetSpeed(obj,Speed);
    ObjShot_SetGraphic(obj,Graphic);
    ObjShot_SetSpellResist(obj,false);

    while(!Obj_IsDeleted(obj)) {

	DeleteTime --;
	ox = ObjMove_GetX(obj);
	oy = ObjMove_GetY(obj);
	objspeed += AddSpeed;
	objangle += AddAngle;
	ObjMove_SetSpeed(obj,objspeed);
	ObjMove_SetAngle(obj,objangle);

	if(AddSpeed > 0) {
	    if(ObjMove_GetSpeed(obj) > MaxSpeed && Speed < MaxSpeed) {
		ObjMove_SetSpeed(obj,MaxSpeed);
	    }
	}
	if(AddSpeed < 0) {
	    if(ObjMove_GetSpeed(obj) < MaxSpeed && Speed > MaxSpeed) {
		ObjMove_SetSpeed(obj,MaxSpeed);
	    }
	}
	if(DeleteTime == 0) { Obj_Delete(obj); }
	yield;
    }
    ObjRender_SetAlpha(obj,0);
    if(ox> 0 &&ox< gsfw &&oy> 0 &&oy< gsfh) { ObjShot_ShotBreak03(DelayGraphic, ox, oy, Angle, 24); }
}

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

    let gsfw = GetStgFrameWidth;
    let gsfh = GetStgFrameHeight;

    let obj = ObjShot_Create(OBJ_SHOT);
    let ox  = X;
    let oy  = Y;
    let objspeed = Speed;
    let objangle = Angle;
    ObjShot_Regist(obj);
    ObjMove_SetX(obj,X);
    ObjMove_SetY(obj,Y);
    ObjMove_SetAngle(obj,Angle);
    ObjShot_SetAutoDelete(obj,true);
    ObjShot_SetSpellResist(obj,true);
    ObjShot_ShotDelay(DelayGraphic, X, Y, 224, Angle, Delay);

    loop(Delay) { yield; }

    ObjMove_SetSpeed(obj,Speed);
    ObjShot_SetGraphic(obj,Graphic);
    ObjShot_SetSpellResist(obj,false);

    while(!Obj_IsDeleted(obj)) {

	DeleteTime --;
	ox = ObjMove_GetX(obj);
	oy = ObjMove_GetY(obj);
	objspeed += AddSpeed;
	objangle += AddAngle;
	ObjMove_SetSpeed(obj,objspeed);
	ObjMove_SetAngle(obj,objangle);

	if(AddSpeed > 0) {
	    if(ObjMove_GetSpeed(obj) > MaxSpeed && Speed < MaxSpeed) {
		ObjMove_SetSpeed(obj,MaxSpeed);
	    }
	}
	if(AddSpeed < 0) {
	    if(ObjMove_GetSpeed(obj) < MaxSpeed && Speed > MaxSpeed) {
		ObjMove_SetSpeed(obj,MaxSpeed);
	    }
	}
	if(DeleteTime == 0) { Obj_Delete(obj); }
	yield;
    }
    ObjRender_SetAlpha(obj,0);
    if(ox> 0 &&ox< gsfw &&oy> 0 &&oy< gsfh) { ObjShot_ShotBreak04(DelayGraphic, ox, oy, Angle, 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;

    let obj = ObjShot_Create(OBJ_SHOT);
    let ox  = X;
    let oy  = Y;
    let objspeed = Speed;
    let objangle = Angle;
    ObjShot_Regist(obj);
    ObjMove_SetX(obj,X);
    ObjMove_SetY(obj,Y);
    ObjMove_SetAngle(obj,Angle);
    ObjShot_SetAutoDelete(obj,true);
    ObjShot_SetSpellResist(obj,true);
    ObjShot_ShotDelay(DelayGraphic, X, Y, 224, Angle, Delay);

    loop(Delay) { yield; }

    ObjMove_SetSpeed(obj,Speed);
    ObjShot_SetGraphic(obj,Graphic);
    ObjShot_SetSpellResist(obj,BombResist);

    while(!Obj_IsDeleted(obj)) {

	DeleteTime --;
	ox = ObjMove_GetX(obj);
	oy = ObjMove_GetY(obj);
	objspeed += AddSpeed;
	objangle += AddAngle;
	ObjMove_SetSpeed(obj,objspeed);
	ObjMove_SetAngle(obj,objangle);

	if(AddSpeed > 0) {
	    if(ObjMove_GetSpeed(obj) > MaxSpeed && Speed < MaxSpeed) {
		ObjMove_SetSpeed(obj,MaxSpeed);
	    }
	}
	if(AddSpeed < 0) {
	    if(ObjMove_GetSpeed(obj) < MaxSpeed && Speed > MaxSpeed) {
		ObjMove_SetSpeed(obj,MaxSpeed);
	    }
	}
	if(DeleteTime == 0) { Obj_Delete(obj); }
	yield;
    }
    ObjRender_SetAlpha(obj,0);
    if(ox> 0 &&ox< gsfw &&oy> 0 &&oy< gsfh) { ObjShot_ShotBreak01(DelayGraphic, ox, oy, Angle, 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;

    let obj = ObjShot_Create(OBJ_SHOT);
    let ox  = X;
    let oy  = Y;
    let objspeed = Speed;
    let objangle = Angle;
    ObjShot_Regist(obj);
    ObjMove_SetX(obj,X);
    ObjMove_SetY(obj,Y);
    ObjMove_SetAngle(obj,Angle);
    ObjShot_SetAutoDelete(obj,true);
    ObjShot_SetSpellResist(obj,true);
    ObjShot_ShotDelay(DelayGraphic, X, Y, 224, Angle, Delay);

    loop(Delay) { yield; }

    ObjMove_SetSpeed(obj,Speed);
    ObjShot_SetGraphic(obj,Graphic);
    ObjShot_SetSpellResist(obj,BombResist);

    while(!Obj_IsDeleted(obj)) {

	DeleteTime --;
	ox = ObjMove_GetX(obj);
	oy = ObjMove_GetY(obj);
	objspeed += AddSpeed;
	objangle += AddAngle;
	ObjMove_SetSpeed(obj,objspeed);
	ObjMove_SetAngle(obj,objangle);

	if(AddSpeed > 0) {
	    if(ObjMove_GetSpeed(obj) > MaxSpeed && Speed < MaxSpeed) {
		ObjMove_SetSpeed(obj,MaxSpeed);
	    }
	}
	if(AddSpeed < 0) {
	    if(ObjMove_GetSpeed(obj) < MaxSpeed && Speed > MaxSpeed) {
		ObjMove_SetSpeed(obj,MaxSpeed);
	    }
	}
	if(DeleteTime == 0) { Obj_Delete(obj); }
	yield;
    }
    ObjRender_SetAlpha(obj,0);
    if(ox> 0 &&ox< gsfw &&oy> 0 &&oy< gsfh) { ObjShot_ShotBreak02(DelayGraphic, ox, oy, Angle, 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;

    let obj = ObjShot_Create(OBJ_SHOT);
    let ox  = X;
    let oy  = Y;
    let objspeed = Speed;
    let objangle = Angle;
    ObjShot_Regist(obj);
    ObjMove_SetX(obj,X);
    ObjMove_SetY(obj,Y);
    ObjMove_SetAngle(obj,Angle);
    ObjShot_SetAutoDelete(obj,true);
    ObjShot_SetSpellResist(obj,true);
    ObjShot_ShotDelay(DelayGraphic, X, Y, 224, Angle, Delay);

    loop(Delay) { yield; }

    ObjMove_SetSpeed(obj,Speed);
    ObjShot_SetGraphic(obj,Graphic);
    ObjShot_SetSpellResist(obj,BombResist);

    while(!Obj_IsDeleted(obj)) {

	DeleteTime --;
	ox = ObjMove_GetX(obj);
	oy = ObjMove_GetY(obj);
	objspeed += AddSpeed;
	objangle += AddAngle;
	ObjMove_SetSpeed(obj,objspeed);
	ObjMove_SetAngle(obj,objangle);

	if(AddSpeed > 0) {
	    if(ObjMove_GetSpeed(obj) > MaxSpeed && Speed < MaxSpeed) {
		ObjMove_SetSpeed(obj,MaxSpeed);
	    }
	}
	if(AddSpeed < 0) {
	    if(ObjMove_GetSpeed(obj) < MaxSpeed && Speed > MaxSpeed) {
		ObjMove_SetSpeed(obj,MaxSpeed);
	    }
	}
	if(DeleteTime == 0) { Obj_Delete(obj); }
	yield;
    }
    ObjRender_SetAlpha(obj,0);
    if(ox> 0 &&ox< gsfw &&oy> 0 &&oy< gsfh) { ObjShot_ShotBreak03(DelayGraphic, ox, oy, Angle, 24); }
}

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

    let gsfw = GetStgFrameWidth;
    let gsfh = GetStgFrameHeight;

    let obj = ObjShot_Create(OBJ_SHOT);
    let ox  = X;
    let oy  = Y;
    let objspeed = Speed;
    let objangle = Angle;
    ObjShot_Regist(obj);
    ObjMove_SetX(obj,X);
    ObjMove_SetY(obj,Y);
    ObjMove_SetAngle(obj,Angle);
    ObjShot_SetAutoDelete(obj,true);
    ObjShot_SetSpellResist(obj,true);
    ObjShot_ShotDelay(DelayGraphic, X, Y, 224, Angle, Delay);

    loop(Delay) { yield; }

    ObjMove_SetSpeed(obj,Speed);
    ObjShot_SetGraphic(obj,Graphic);
    ObjShot_SetSpellResist(obj,BombResist);

    while(!Obj_IsDeleted(obj)) {

	DeleteTime --;
	ox = ObjMove_GetX(obj);
	oy = ObjMove_GetY(obj);
	objspeed += AddSpeed;
	objangle += AddAngle;
	ObjMove_SetSpeed(obj,objspeed);
	ObjMove_SetAngle(obj,objangle);

	if(AddSpeed > 0) {
	    if(ObjMove_GetSpeed(obj) > MaxSpeed && Speed < MaxSpeed) {
		ObjMove_SetSpeed(obj,MaxSpeed);
	    }
	}
	if(AddSpeed < 0) {
	    if(ObjMove_GetSpeed(obj) < MaxSpeed && Speed > MaxSpeed) {
		ObjMove_SetSpeed(obj,MaxSpeed);
	    }
	}
	if(DeleteTime == 0) { Obj_Delete(obj); }
	yield;
    }
    ObjRender_SetAlpha(obj,0);
    if(ox> 0 &&ox< gsfw &&oy> 0 &&oy< gsfh) { ObjShot_ShotBreak04(DelayGraphic, ox, oy, Angle, 24); }
}
