#TouhouDanmakufu[Single]
#ScriptVersion[3]
#Title["PreBattleTalk Angel"]
#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,-120,0);
DrawTimer03(2);//0=transition Spell-NonSpell,1=Transition NS-S,2= Spawn NS
InitializeAction(Enemy,GetCurrentScriptDirectory ~"img/dot_angel.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);
	SetEventTextA(SAY_YELLOW, "No hay hotel a la derecha,[r]no hay hostal a la izquierda...");
	SetEventSpeaker(PLAYER1_SPEAKS);
	SetEventTextA(SAY_YELLOW, "Y ya hace tiempo que perdi de[r] vista el camino, Maldito mapa!");
	nTestCharge(GetStgFrameWidth/2,100,90,255,255,255);
	DelayPosition(Enemy,GetStgFrameWidth/2,100);
	SetEventTextA(SAY_YELLOW, "!!!");
	SetEventTextA(SAY_YELLOW, "Que inoportuno!, me puedes [r] decir...?");
	SetNewEnemyPort1(angel);
	SetEventSpeaker(ENEMY1_SPEAKS);
	SetEventTextA(SAY_YELLOW, "No, no te puedo decir donde [r] hay un hotel, hostal, camping...  ");
	SetEventTextA(SAY_YELLOW, "Casa, refugio, cueva, agujero [r] o burdel, estoy ocupado");
	SetEventSpeaker(PLAYER1_SPEAKS);
	SetEventTextA(SAY_YELLOW, "Y si...?");
	SetEventSpeaker(ENEMY1_SPEAKS);
	SetEventTextA(SAY_YELLOW, "Ya eres mayorcito para cuidar de ti mismo");
	SetEventTextA(SAY_YELLOW, "Anda a donde mas te de rabia a [r] descansar de tus estupideces");
	SetEventSpeaker(PLAYER1_SPEAKS);
	SetEventTextA(SAY_YELLOW, "Pero yo...");
	SetEventSpeaker(ENEMY1_SPEAKS);
	SetEventTextA(SAY_YELLOW, "Lo se y de sobrado");
	SetEventTextA(SAY_YELLOW, "Por eso quiero evitar la pelea[r] que no he terminado de evitar");
	SetEventSpeaker(PLAYER1_SPEAKS);
	SetEventTextA(SAY_YELLOW, "Alguna vez dejaste terminar...");
	SetEventSpeaker(ENEMY1_SPEAKS);
	SetEventTextA(SAY_RED, "No,nunca deje terminar de hablar[r] a un idiota!");
	}
	else{
	SetNewPlayerPort1(mai);
	SetEventSpeaker(PLAYER1_SPEAKS);
	SetEventTextA(SAY_YELLOW, "Vi a Gusano volar por aqui,[r]Tal vez busca el hotel");
	SetEventTextA(SAY_YELLOW, "Sera mejor ir a buscarlo para[r]decirle la ubicacion");
	nTestCharge(GetStgFrameWidth/2,100,90,255,255,255);
	DelayPosition(Enemy,GetStgFrameWidth/2,100);
	SetEventTextA(SAY_YELLOW, "!!!");
	SetEventTextA(SAY_YELLOW, "...Gusano?");
	SetNewEnemyPort1(angel);
	SetEventSpeaker(ENEMY1_SPEAKS);
	SetEventTextA(SAY_YELLOW, "No, no soy el maldito chico que[r]me pateo el trasero");
	SetEventSpeaker(PLAYER1_SPEAKS);
	SetEventTextA(SAY_YELLOW, "Espera, que...?");
	SetEventSpeaker(ENEMY1_SPEAKS);
	SetEventTextA(SAY_YELLOW, "Acabo de ver al idiota de tu[r]novio pasar por ahi");
	SetEventSpeaker(PLAYER1_SPEAKS);
	SetEventTextA(SAY_YELLOW, "Gusano no es mi...");
	SetEventSpeaker(ENEMY1_SPEAKS);
	SetEventTextA(SAY_YELLOW, "Lo sera pronto, la chica lo va a[r] friend-zonear");
	SetEventSpeaker(PLAYER1_SPEAKS);
	SetEventTextA(SAY_YELLOW, "Entonces...");
	SetEventSpeaker(ENEMY1_SPEAKS);
	SetEventTextA(SAY_YELLOW, "Si, Gusano sera tuyo, ahora[r]alejate de mi camino");
	SetEventTextA(SAY_RED, "Antes de que no pueda evitar[r]otra batalla mas!");
	SetEventSpeaker(PLAYER1_SPEAKS);
	SetEventTextA(SAY_RED, "Batalla?, Me dieron ganas de una!");
	SetEventSpeaker(ENEMY1_SPEAKS);
	SetEventTextA(THINK_YELLOW, "...Yo y mi mala suerte de[r]adivino...");
	}
	EndEvent;
	SetCommonData("OnEvent",false);
	ObjEnemy_SetLife(Enemy,0);
}

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