#TouhouDanmakufu[Single]
#ScriptVersion[3]
#Title["PreBattleTalk Edorev"]
#Text["..."]
#System[".\system\Default_System.txt"]

#include"./lib/AllStarShot_Const.dnh"
#include"./lib/Functions.txt"
#include"./BGTask.txt"
#include"./Animation_lib.txt"
#include"./lib/Dialogue Prototype2.dnh"
let Enemy = ID_INVALID;
let EnemyX = 0;
let EnemyY = 0;
let yuyuX = 0;
let yuyuY = 0;

@Event{
	alternative(GetEventType)
	case(EV_REQUEST_LIFE){SetScriptResult(1);}
	case(EV_REQUEST_TIMER){SetScriptResult(-1);}
//case(EV_REQUEST_SPELL_SCORE){SetScriptResult(90000);}
}

@Initialize{
	Enemy = ObjEnemy_Create(OBJ_ENEMY_BOSS);
	ObjEnemy_Regist(Enemy);
ObjEnemy_SetDamageRate(Enemy,0,0);
ObjMove_SetPosition(Enemy,720,0);
DrawTimer03(2);//0=transition Spell-NonSpell,1=Transition NS-S,2= Spawn NS
InitializeAction(Enemy,GetCurrentScriptDirectory ~"img/dot_edorev.png");
DrawBoss_Task(Enemy);
SetAutoDeleteObject(true);

	BossActions;
}



@MainLoop{
	yield;
}

task BossActions{
//ObjMove_SetDestAtWeight(Enemy, GetStgFrameWidth/2, 100, 20,6);
SetAction(Enemy,ACT_MOVE_R,100);
wait(120);
	ShootBullets;
//Texto;
	while(ObjEnemy_GetInfo(Enemy, INFO_LIFE) > 0){
		EnemyX = ObjMove_GetX(Enemy);
		EnemyY = ObjMove_GetY(Enemy);
		ObjEnemy_SetIntersectionCircleToShot(Enemy, EnemyX, EnemyY, 20);
		ObjEnemy_SetIntersectionCircleToPlayer(Enemy, EnemyX, EnemyY, 20);
                                          
		yield;
	}
DeleteShotAll(TYPE_ALL, TYPE_ITEM);
	Obj_Delete(Enemy);
	//loop(60){yield;}
	CloseScript(GetOwnScriptID);
}
function wait(t){loop(t){yield;}}

task ShootBullets{
//Preparation
talk;
loop{
//SE(CSD~"sfx/tan00.wav");
if(ObjEnemy_GetInfo(Enemy, INFO_LIFE) == 0){break;}
 
 
wait(2);
}
}

sub talk{
/*
Set"x"Port"N"(Marisa15);
*/
	let gusano = CSD~"img/gusano.png";//gusano
	let mai = CSD~"img/mai.png";//mai
	let angel = CSD~"img/angel.png";//angel
	let edorev = CSD~"img/endo.png";//edorev
	let mogel = CSD~"img/mogel.png";//mogel

	SetCommonData("OnEvent",true);
	StartEvent;
	SetPlayerNumber(1);
	SetEnemyNumber(1);
	
	//SetNewPlayerPort1(Alice2);
	if(GetAreaCommonData("Datos Del Juego","Personaje",defchar) == 0){
	SetNewPlayerPort1(gusano);
	SetEventSpeaker(PLAYER1_SPEAKS);
	ObjMove_SetDestAtWeight(Enemy, GetStgFrameWidth/2, 100, 20,11);
	SetEventTextA(SAY_YELLOW, "...!");
	SetNewEnemyPort1(edorev);
	SetEventSpeaker(ENEMY1_SPEAKS);
	SetEventTextA(SAY_YELLOW, "Joven y prometedor, sin duda");
	SetEventSpeaker(PLAYER1_SPEAKS);
	SetEventTextA(SAY_YELLOW, "Pero que m...?");
	SetEventSpeaker(ENEMY1_SPEAKS);
	SetEventTextA(SAY_YELLOW, "Veo que tu control sobre los[r]gusanos es enorme");
	SetEventTextA(SAY_YELLOW, "Y es de apreciar tu fortaleza[r]si has sido capaz de lanzarte");
	SetEventTextA(SAY_YELLOW, "Ciegamente sobre ese cobarde");
	SetEventSpeaker(PLAYER1_SPEAKS);
	SetEventTextA(SAY_YELLOW, "Ciegamente?, el tipo no me [r]dejaba terminar mis frases!");
	SetEventTextA(SAY_YELLOW, "Y por eso me enoje y me lanze[r] hacia el");
	SetEventTextA(SAY_YELLOW, "Como cuando el maldito negro[r] se quedo con MI chica!");
	SetEventSpeaker(ENEMY1_SPEAKS);
	SetEventTextA(SAY_YELLOW, "Pero eso no debe desviarnos[r]de nuestro gran objetivo!");
	SetEventTextA(SAY_YELLOW, "Nuestro encuentro ha sido [r]predestinado desde siempre!");
	SetEventTextA(SAY_YELLOW, "Oh,nuevo y gran aliado en[r]nuestro combate eterno!");
	SetEventTextA(SAY_YELLOW, "Combate contra la necedad[r]de los adultos!");
	SetEventSpeaker(PLAYER1_SPEAKS);
	SetEventTextA(SAY_YELLOW, "Eres uno de esos que se creen[r]protagonistas de la pelicula?");
	SetEventSpeaker(ENEMY1_SPEAKS);
	SetEventTextA(SAY_YELLOW, "Los adultos, los necios, aquellos[r]que no poseen el poder,");
	SetEventTextA(SAY_YELLOW, "Poder caido del cielo, son todos[r]nuestros enemigos!");
	SetEventSpeaker(PLAYER1_SPEAKS);
	SetEventTextA(SAY_YELLOW, "Amigo, te he hecho una pregunta!");
	SetEventSpeaker(ENEMY1_SPEAKS);
	SetEventTextA(SAY_YELLOW, "Nuestro es el deber de ejecutar [r]la ley del trueno!");
	SetEventTextA(SAY_YELLOW, "Nuestro es el poder porque tal se[r]nos ha sido entregado!");
	SetEventTextA(SAY_YELLOW, "Porque solo nosotros podemos[r]controlar las olas cambiantes!");
	SetEventSpeaker(PLAYER1_SPEAKS);
	SetEventTextA(SAY_YELLOW, "Alguna vez te cansas de[r]escucharte a ti mismo?");
	SetEventSpeaker(ENEMY1_SPEAKS);
	SetEventTextA(SAY_YELLOW, "Y si, por desgracia, no[r]quisieras unirte a mi");
	SetEventTextA(SAY_RED, "Tendria que disponer de ti[r]con todas mis fuerzas!");
	SetEventSpeaker(PLAYER1_SPEAKS);
	SetEventTextA(SAY_RED, "Haber empezado por ahi!");
	}
	else{
	SetNewPlayerPort1(mai);
	SetEventSpeaker(PLAYER1_SPEAKS);
	ObjMove_SetDestAtWeight(Enemy, GetStgFrameWidth/2, 100, 20,11);
	SetEventTextA(SAY_YELLOW, "...!");
	SetNewEnemyPort1(edorev);
	SetEventSpeaker(ENEMY1_SPEAKS);
	SetEventTextA(SAY_YELLOW, "Una poderosa voz, sin duda");
	SetEventSpeaker(PLAYER1_SPEAKS);
	SetEventTextA(SAY_YELLOW, "Si por algo soy &quot;famosa&quot;, por mi voz");
	SetEventTextA(SAY_YELLOW, "... Veo que me dejas terminar mis[r]dialogos");
	SetEventTextA(SAY_YELLOW, "Porque ese adivino no me dejaba[r]terminarlos");
	SetEventSpeaker(ENEMY1_SPEAKS);
	SetEventTextA(SAY_YELLOW, "Nadie ha soportado la manera de[r]Angel sin luchar con el");
	SetEventTextA(SAY_YELLOW, "La mayoria, como el chico gusano[r]y tu, se lanzaron ciegamente");
	SetEventTextA(SAY_YELLOW, "Lo que demuestra que tienes[r]valentia y fortaleza");
	SetEventSpeaker(PLAYER1_SPEAKS);
	SetEventTextA(SAY_YELLOW, "Espera, me estas intentando[r]seducir?");
	SetEventSpeaker(ENEMY1_SPEAKS);
	SetEventTextA(SAY_YELLOW, "Tu increible voz es capaz de[r]atraer a las personas facilmente");
	SetEventTextA(SAY_YELLOW, "Finalmente, he podido encontrar[r]a alguien con un mismo destino!");
	SetEventTextA(SAY_YELLOW, "Combatir con la necedad de los[r]adultos!");
	SetEventSpeaker(PLAYER1_SPEAKS);
	SetEventTextA(SAY_YELLOW, "Destino?, necedad de los adultos?");
	SetEventTextA(SAY_YELLOW, "Que clase de villano eres tu?");
	SetEventSpeaker(ENEMY1_SPEAKS);
	SetEventTextA(SAY_YELLOW, "Los adultos, los necios, aquellos[r]que no poseen el poder,");
	SetEventTextA(SAY_YELLOW, "Poder caido del cielo, son todos[r]nuestros enemigos!");
	SetEventTextA(SAY_YELLOW, "Tus habilidades de canto son[r]perfectas para utilizarlas");
	SetEventTextA(SAY_YELLOW, "Atraer a los necios adultos y[r]acabar con ellos!");
	SetEventSpeaker(PLAYER1_SPEAKS);
	SetEventTextA(THINK_WHITE, "Que Aburrido! mejor rompo la[r]cuarta pared");
	SetEventTextA(CALL_YELLOW, "Hey Gusano2314, a que clase de[r]idiota se le ocurrio esto?");
	SetEventSpeaker(UNKNOWN1_SPEAKS);
	SetEventTextA(INFO_WHITE, "A Jeshua Morbus, ahora, quedate[r]callada y no me llames!");
	SetEventSpeaker(PLAYER1_SPEAKS);
	SetEventTextA(CALL_YELLOW, "Ah Gracias!");
	SetEventSpeaker(ENEMY1_SPEAKS);
	SetEventTextA(SAY_YELLOW, "Nuestro es el deber de ejecutar [r]la ley del trueno!");
	SetEventTextA(SAY_YELLOW, "Nuestro es el poder porque tal se[r]nos ha sido entregado!");
	SetEventTextA(SAY_YELLOW, "Porque solo nosotros podemos[r]controlar las olas cambiantes!");
	SetEventTextA(SAY_YELLOW, "Y si, por desgracia, no[r]quisieras unirte a mi");
	SetEventTextA(SAY_RED, "Tendria que disponer de ti[r]con todas mis fuerzas!");
	SetEventSpeaker(PLAYER1_SPEAKS);
	SetEventTextA(SAY_RED, "Que basura de dialogo,no eres[r]mas que un villano facil!");
	}
	EndEvent;
	SetCommonData("OnEvent",false);
	ObjEnemy_SetLife(Enemy,0);
}

task DelayPosition(obj,x,y){
wait(90);
ObjMove_SetPosition(obj,x,y);
name("Angel",0,30);
}