#TouhouDanmakufu[Single]
#ScriptVersion[3]
#Title["Nue & Kogasa Defeated Dialogue"]
#Text["Nue & Kogasa Defeated Dialogue"]

#include "script/thdcs/system/shotlibrary.txt"
#include "script/thdcs/functions/function_common.txt"
#include "script/thdcs/functions/function_global.txt"
#include "script/thdcs/functions/function_bosseff.txt"

@Initialize {
	SetCommonData("isDialogue",true);
	SetCommonData("bossAttackType",0);
	SetCommonData("bossCircleType",0);

	renderBoss(23);
	renderBoss2(24);

	ObjMove_SetDestAtWeight(bossObj,GetCenterX-64,100,20,30);
	ObjMove_SetDestAtWeight(boss2Obj,GetCenterX+64,100,20,30);

	SetAutoDeleteObject(true);
	mainTask;
} 

@Event { 
	alternative(GetEventType()) 
	case(EV_REQUEST_LIFE) { 
		SetScriptResult(1);
	}
} 

@MainLoop {
    boss2X = ObjMove_GetX(boss2Obj);
    boss2Y = ObjMove_GetY(boss2Obj);
    SetCommonData("boss2X", boss2X);
    SetCommonData("boss2Y", boss2Y);
    yield;
}

@Finalize { } 

task mainTask { 
	yield;
	eventListener; 
	let path = "script/thdcs/functions/function_dialogue.txt";
	let id = LoadScript(path);
	StartScript(id);
	let dialogueScriptID = GetCommonData("dialogueScriptID",0);
	NotifyEvent(dialogueScriptID,EV_USER,6);
	while(!IsCloseScript(id)) {
		yield;
	}	
	scriptEnding;
} 

task eventListener {
	let trigEv = 0;
	while(!Obj_IsDeleted(bossObj)) {
		if(GetAreaCommonData("game","team",0) == 0) {
			if(GetCommonData("diagEvent",0) == 1 && trigEv == 0) { 
				ObjMove_SetDestAtSpeed(bossObj,-128,100,5); 
				ObjMove_SetDestAtSpeed(boss2Obj,GetClipMaxX+128,100,5);  
				trigEv++; 
			}
		}
		if(GetAreaCommonData("game","team",0) == 1) {
			if(GetCommonData("diagEvent",0) == 1 && trigEv == 0) { 
				ObjMove_SetDestAtSpeed(bossObj,-128,100,5); 
				ObjMove_SetDestAtSpeed(boss2Obj,GetClipMaxX+128,100,5);  
				trigEv++; 
			}	
		}		
		yield;
	}	
}

task scriptEnding {
	ObjEnemy_SetLife(bossObj,-1);
	DeleteShotAll(TYPE_ALL, TYPE_ITEM);
	Obj_Delete(bossObj);

	CloseScript(GetOwnScriptID);
}
 