//================= Hercules Script =======================================
//=       _   _                     _
//=      | | | |                   | |
//=      | |_| | ___ _ __ ___ _   _| | ___  ___
//=      |  _  |/ _ \ '__/ __| | | | |/ _ \/ __|
//=      | | | |  __/ | | (__| |_| | |  __/\__ \
//=      \_| |_/\___|_|  \___|\__,_|_|\___||___/
//================= License ===============================================
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
//= Copyright (C) 2012-2016  Hercules Dev Team
//= Copyright (C)  Euphy
//= Copyright (C)  Kisuka
//= Copyright (C)  L0ne_W0lf
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
//= the Free Software Foundation, either version 3 of the License, or
//= (at your option) any later version.
//=
//= This program is distributed in the hope that it will be useful,
//= but WITHOUT ANY WARRANTY; without even the implied warranty of
//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
//= GNU General Public License for more details.
//=
//= You should have received a copy of the GNU General Public License
//= along with this program.  If not, see <http://www.gnu.org/licenses/>.
//=========================================================================
// BattleGround System - Tierra Gorge
//================= Description ===========================================
//= Tierra Gorge Battleground.
//= - Winning Team: 3 badges
//= - Losing Team: 1 badge
//================= Current Version =======================================
//= 1.5
//=========================================================================

//== Waiting Room NPCs =====================================
bat_room,57,227,5	script	Lieutenant Kalos	4_M_KY_KNT,{
	end;

OnInit:
	waitingroom("Battle Station", 11, "start#bat_a01::OnReadyCheck", 1, 0, 80);
	end;

OnEnterBG:
	$@TierraBG1_id1 = waitingroom2bg("bat_a01",50,374,"start#bat_a01::OnGuillaumeQuit","");
	end;
}

bat_room,58,204,1	script	Lieutenant Eyor	4_M_CRU_KNT,{
	end;

OnInit:
	waitingroom("Battle Station", 11, "start#bat_a01::OnReadyCheck", 1, 0, 80);
	end;

OnEnterBG:
	$@TierraBG1_id2 = waitingroom2bg("bat_a01",42,16,"start#bat_a01::OnCroixQuit","");
	end;
}

bat_room,1,151,3	script	#bat_a01_timer	CLEAR_NPC,{
	end;

OnInit:
OnEnable:
	initnpctimer;
	end;

OnStop:
	stopnpctimer;
	end;

OnTimer1000:
	stopnpctimer;
	initnpctimer;
	.@chk_bat_a01 = getmapusers("bat_a01");
	if (.@chk_bat_a01 < 1) {
		$@TierraBG1 = 0; $@TierraBG1_Victory = 0;
		if( $@TierraBG1_id1 ) { bg_destroy $@TierraBG1_id1; $@TierraBG1_id1 = 0; }
		if( $@TierraBG1_id2 ) { bg_destroy $@TierraBG1_id2; $@TierraBG1_id2 = 0; }
		donpcevent "start#bat_a01::OnReadyCheck";
	}
	end;
}

bat_a01,352,342,0	script	#bat_a01_quest_a	FAKE_NPC,5,5,{
	end;

OnTouch:
	if (!questprogress(2069))
		setquest 2069;
	end;
}

bat_a01,353,52,0	script	#bat_a01_quest_b	FAKE_NPC,5,5,{
	end;

OnTouch:
	if (!questprogress(2069))
		setquest 2069;
	end;
}

bat_room,57,220,0	warp	back_bgrooma01a	1,1,bat_room,154,150
bat_room,57,211,0	warp	back_bgrooma01b	1,1,bat_room,154,150

//== Tierra Gorge Battleground Engine ======================
bat_a01,15,15,3	script	start#bat_a01	CLEAR_NPC,{
OnInit:
	mapwarp "bat_a01","bat_room",154,150;
	end;

OnEnable:
	donpcevent "OBJ#bat_a01_a::OnKill";
	donpcevent "OBJ#bat_a01_a::OnEnable";
	donpcevent "OBJ#bat_a01_b::OnKill";
	donpcevent "OBJ#bat_a01_b::OnEnable";
	donpcevent "barricade#bat_a01_a::OnKill";
	donpcevent "barricade#bat_a01_a::OnEnable";
	donpcevent "barricade#bat_a01_b::OnKill";
	donpcevent "barricade#bat_a01_b::OnEnable";
	donpcevent "OBJ#bat_a01_n::OnKill";
	donpcevent "OBJ#bat_a01_n::OnEnable";
	donpcevent "NOBJ_mob#bat_a01_a::OnKill";
	donpcevent "NOBJ_mob#bat_a01_b::OnKill";
	donpcevent "Battle Therapist#a01_a::OnEnable";
	donpcevent "Battle Therapist#a01_b::OnEnable";
	donpcevent "countdown#bat_a01::OnEnable";
	disablenpc "Guillaume Blacksmith#a01";
	disablenpc "Croix Blacksmith#bat_a01";
	disablenpc "Guillaume Vintenar#a01_a";
	disablenpc "Croix Vintenar#a01_b";
	end;

OnGuillaumeQuit:
OnCroixQuit:
	bg_leave;
	end;

OnReadyCheck:
	if( $@TierraBG1 )
		end;
	.@Guillaume = getwaitingroomstate(0,"Lieutenant Kalos");
	.@Croix = getwaitingroomstate(0,"Lieutenant Eyor");
	if( !.@Guillaume && !.@Croix ) {
		donpcevent "#bat_a01_timer::OnStop";
		end;
	}
	else if( .@Guillaume < 10 || .@Croix < 10 )
		end;
	$@TierraBG1 = 1;
	donpcevent "Lieutenant Kalos::OnEnterBG";
	donpcevent "Lieutenant Eyor::OnEnterBG";
	donpcevent "start#bat_a01::OnEnable";
	bg_warp $@TierraBG1_id1,"bat_a01",352,342;
	bg_warp $@TierraBG1_id2,"bat_a01",353,52;
	initnpctimer;
	end;

OnTimer10000:
	stopnpctimer;
	donpcevent "#bat_a01_timer::OnEnable";
	end;
}

bat_a01,15,16,3	script	OBJ#bat_a01_a	CLEAR_NPC,{
OnEnable:
	bg_monster($@TierraBG1_id1, "bat_a01", 177, 345, _("Food Storage"), 1909, "OBJ#bat_a01_a::OnMyMobDead");
	end;

OnKill:
	killmonster "bat_a01","OBJ#bat_a01_a::OnMyMobDead";
	end;

OnMyMobDead:
	if (mobcount("bat_a01","OBJ#bat_a01_a::OnMyMobDead") < 1) {
		donpcevent "Battle Therapist#a01_a::OnStop";
		donpcevent "Battle Therapist#a01_b::OnStop";
		$@TierraBG1_Victory = 2;
		enablenpc "Guillaume Vintenar#a01_a";
		enablenpc "Croix Vintenar#a01_b";
		mapannounce("bat_a01", _("Croix Vintenar Swandery: We destroyed Guillaume's Food Storage. We won that! Wow!"), bc_map, "0xFFCE00");
		bg_warp $@TierraBG1_id1,"bat_a01",50,374;
		bg_warp $@TierraBG1_id2,"bat_a01",42,16;
	}
	end;
}

bat_a01,15,17,3	script	OBJ#bat_a01_b	CLEAR_NPC,{
OnEnable:
	bg_monster($@TierraBG1_id2, "bat_a01", 167, 50, _("Food Depot"), 1910, "OBJ#bat_a01_b::OnMyMobDead");
	end;

OnKill:
	killmonster "bat_a01","OBJ#bat_a01_b::OnMyMobDead";
	end;

OnMyMobDead:
	if (mobcount("bat_a01","OBJ#bat_a01_b::OnMyMobDead") < 1) {
		donpcevent "Battle Therapist#a01_a::OnStop";
		donpcevent "Battle Therapist#a01_b::OnStop";
		$@TierraBG1_Victory = 1;
		enablenpc "Guillaume Vintenar#a01_a";
		enablenpc "Croix Vintenar#a01_b";
		mapannounce("bat_a01", _("Guillaume Vintenar Axl Rose : We destroyed Croix's Food Storage. We won that! Wow!"), bc_map, "0xFFCE00");
		bg_warp $@TierraBG1_id1,"bat_a01",50,374;
		bg_warp $@TierraBG1_id2,"bat_a01",42,16;
	}
	end;
}

bat_a01,15,18,3	script	barricade#bat_a01_a	CLEAR_NPC,{
OnEnable:
	for (.@i = 185; .@i < 202; ++.@i)
		bg_monster($@TierraBG1_id1, "bat_a01", .@i, 266, _("Barricade"), 1906, "barricade#bat_a01_a::OnMyMobDead");
	setwall "bat_a01",186,266,16,6,1,"bat_a01_c1";
	end;

OnKill:
	killmonster "bat_a01","barricade#bat_a01_a::OnMyMobDead";
	delwall "bat_a01_c1";
	end;

OnMyMobDead:
	if (mobcount("bat_a01","barricade#bat_a01_a::OnMyMobDead") < 17) {
		killmonster "bat_a01","barricade#bat_a01_a::OnMyMobDead";
		delwall "bat_a01_c1";
		enablenpc "Guillaume Blacksmith#a01";
		mapannounce("bat_a01", _("Guillaume Vintenar Axl Rose : The Barricade in the valley has been destroyed! Where's the Blacksmith? We need to rebuild the Barricade!"), bc_map, "0xFFCE00");
	}
	end;
}

bat_a01,15,19,3	script	barricade#bat_a01_b	CLEAR_NPC,{
OnEnable:
	for (.@i = 169; .@i < 186; ++.@i)
		bg_monster($@TierraBG1_id2, "bat_a01", .@i, 129, _("Barricade"), 1906, "barricade#bat_a01_b::OnMyMobDead");
	setwall "bat_a01",170,129,16,6,1,"bat_a01_g1";
	end;

OnKill:
	killmonster "bat_a01","barricade#bat_a01_b::OnMyMobDead";
	delwall "bat_a01_g1";
	end;

OnMyMobDead:
	if (mobcount("bat_a01","barricade#bat_a01_b::OnMyMobDead") < 17) {
		killmonster "bat_a01","barricade#bat_a01_b::OnMyMobDead";
		delwall "bat_a01_g1";
		enablenpc "Croix Blacksmith#bat_a01";
		mapannounce("bat_a01", _("Croix Vintenar Swandery : The Barricade in the valley has been destroyed! Where's the Blacksmith? We need to rebuild the Barricade!"), bc_map, "0xFFCE00");
	}
	end;
}

bat_a01,15,20,3	script	OBJ#bat_a01_n	CLEAR_NPC,{
OnEnable:
	monster("bat_a01", 273, 203, _("Neutrality Flag"), 1911, 1, "OBJ#bat_a01_n::OnMyMobDead");
	end;

OnKill:
	killmonster "bat_a01","OBJ#bat_a01_n::OnMyMobDead";
	end;

OnMyMobDead:
	if (mobcount("bat_a01","OBJ#bat_a01_n::OnMyMobDead") < 17) {
		bg_team_setxy getcharid(CHAR_ID_BG),56,212;
		if (getcharid(CHAR_ID_BG) == $@TierraBG1_id1) {
			donpcevent "NOBJ_mob#bat_a01_a::OnEnable";
			mapannounce("bat_a01", _("Guillaume captured a Neutrality Flag, so they have an advantage."), bc_map, "0xFFCE00");
		}
		else {
			donpcevent "NOBJ_mob#bat_a01_b::OnEnable";
			mapannounce("bat_a01", _("Croix captured a Neutrality Flag, so they have an advantage."), bc_map, "0xFFCE00");
		}
	}
	end;
}

bat_a01,15,21,3	script	NOBJ_mob#bat_a01_a	CLEAR_NPC,{
OnEnable:
	donpcevent "NOBJ_mob#bat_a01_b::OnKill";
	bg_monster($@TierraBG1_id1, "bat_a01", 272, 204, _("Guillaume Camp Guardian"), 1949, "NOBJ_mob#bat_a01_a::OnMyMobDead");
	bg_monster($@TierraBG1_id1, "bat_a01", 272, 213, _("Guillaume Camp Guardian"), 1949, "NOBJ_mob#bat_a01_a::OnMyMobDead");
	bg_monster($@TierraBG1_id1, "bat_a01", 273, 197, _("Guillaume Camp Guardian"), 1950, "NOBJ_mob#bat_a01_a::OnMyMobDead");
	end;

OnKill:
	killmonster "bat_a01","NOBJ_mob#bat_a01_a::OnMyMobDead";
	end;

OnMyMobDead:
	end;
}

bat_a01,15,22,3	script	NOBJ_mob#bat_a01_b	CLEAR_NPC,{
OnEnable:
	donpcevent "NOBJ_mob#bat_a01_a::OnKill";
	bg_monster($@TierraBG1_id2, "bat_a01", 272, 204, _("Croix Camp Guardian"), 1949, "NOBJ_mob#bat_a01_a::OnMyMobDead");
	bg_monster($@TierraBG1_id2, "bat_a01", 272, 213, _("Croix Camp Guardian"), 1949, "NOBJ_mob#bat_a01_a::OnMyMobDead");
	bg_monster($@TierraBG1_id2, "bat_a01", 273, 197, _("Croix Camp Guardian"), 1950, "NOBJ_mob#bat_a01_a::OnMyMobDead");
	end;

OnKill:
	killmonster "bat_a01","NOBJ_mob#bat_a01_b::OnMyMobDead";
	end;

OnMyMobDead:
	end;
}

bat_a01,185,270,1	script	Guillaume Blacksmith#a01	4_M_REPAIR,{
	if (getcharid(CHAR_ID_BG) == $@TierraBG1_id1) {
		mes("[Guillaume Blacksmith]");
		mes("We are in urgency! The Barricade has been destroyed!");
		mes("We can repair the Barricade with ^3131FF50 Stones, 3 Sinew of Bear, 500 Metal Fragments, 30 Rough Elunium and 100 Gold.^000000");
		mes("We have it all except for the 50 Stones!");
		next;
		switch(select("Repair.", "Leave it.")) {
		case 1:
			if (countitem(Stone) > 49) {
				mes("[Guillaume Blacksmith]");
				mes("You brought enough stones! Let's go and repair.");
				next;
				mes("..");
				next;
				mes("....");
				next;
				mes("......");
				next;
				mes("........");
				next;
				mes("..........");
				next;
				mes("............");
				next;
				mes("..............");
				next;
				mes("[Guillaume Blacksmith]");
				mes("Combine Stones and Gold in the proper percentage.");
				next;
				mes("[Guillaume Blacksmith]");
				mes("Combine Stones and Gold in the proper percentage and shape the Barricade.");
				next;
				mes("[Guillaume Blacksmith]");
				mes("Combine Stones and Gold in the proper percentage and shape the Barricade, then add Rough Elunium to make it stronger.");
				next;
				mes("[Guillaume Blacksmith]");
				mes("Combine Stones and Gold in the proper percentage and shape the Barricade, then add Rough Elunium to make it stronger. Now decorate with Metal Fragments.");
				next;
				mes("[Guillaume Blacksmith]");
				mes("Combine Stones and Gold in the proper percentage and shape the Barricade, then add Rough Elunium to make it stronger. Decorate with Metal Fragments, and plait stones with Sinew of Bear!");
				next;
				mes("..............");
				mes("..............");
				mes("..............");
				mes("..............");
				mes("..............");
				next;
				specialeffect EF_REPAIRWEAPON;
				mes("[Guillaume Blacksmith]");
				mes("Wow! It's done.");
				mes("We are relieved.");
				delitem Stone,50;
				donpcevent "barricade#bat_a01_a::OnEnable";
				close2;
				disablenpc "Guillaume Blacksmith#a01";
				end;
			}
			else {
				mes("[Guillaume Blacksmith]");
				mes("You don't have enough Stones!");
				next;
				mes("[Guillaume Blacksmith]");
				mes("^3131FFWe need 50 Stones.^000000");
				mes("We are busy, so please hurry.");
				close;
			}
		case 2:
			mes("[Guillaume Blacksmith]");
			mes("There are enemies coming! Let's evacuate from here!");
			close;
		}
	}
	else {
		mes("[Guillaume Blacksmith]");
		mes("There the enemy is coming!");
		close;
	}

OnInit:
	disablenpc "Guillaume Blacksmith#a01";
	end;
}

bat_a01,170,121,5	script	Croix Blacksmith#bat_a01	4_M_REPAIR,{
	if (getcharid(CHAR_ID_BG) == $@TierraBG1_id2) {
		mes("[Croix Blacksmith]");
		mes("We are in urgency! The Barricade has been destroyed!");
		mes("We can repair the Barricade with ^3131FF50 Stones, 3 Sinew of Bear, 500 Metal Fragments, 30 Rough Elunium and 100 Gold.^000000");
		mes("We have it all except for the 50 Stones!");
		next;
		switch(select("Repair.", "Leave it.")) {
		case 1:
			if (countitem(Stone) > 49) {
				mes("[Croix Blacksmith]");
				mes("You brought enough stones! Let's go and repair.");
				next;
				mes("..");
				next;
				mes("....");
				next;
				mes("......");
				next;
				mes("........");
				next;
				mes("..........");
				next;
				mes("............");
				next;
				mes("..............");
				next;
				mes("[Croix Blacksmith]");
				mes("Combine Stones and Gold in the proper percentage.");
				next;
				mes("[Croix Blacksmith]");
				mes("Combine Stones and Gold in the proper percentage and shape the Barricade.");
				next;
				mes("[Croix Blacksmith]");
				mes("Combine Stones and Gold in the proper percentage and shape the Barricade, then add Rough Elunium to make it stronger.");
				next;
				mes("[Croix Blacksmith]");
				mes("Combine Stones and Gold in the proper percentage and shape the Barricade, then add Rough Elunium to make it stronger. Now decorate with Metal Fragments.");
				next;
				mes("[Croix Blacksmith]");
				mes("Combine Stones and Gold in the proper percentage and shape the Barricade, then add Rough Elunium to make it stronger. Decorate with Metal Fragments, and plait stones with Sinew of Bear!");
				next;
				mes("..............");
				mes("..............");
				mes("..............");
				mes("..............");
				mes("..............");
				next;
				specialeffect EF_REPAIRWEAPON;
				mes("[Croix Blacksmith]");
				mes("Wow! It's done.");
				mes("We are relieved.");
				delitem Stone,50;
				donpcevent "barricade#bat_a01_b::OnEnable";
				close2;
				disablenpc "Croix Blacksmith#bat_a01";
				end;
			}
			else {
				mes("[Croix Blacksmith]");
				mes("You don't have enough Stones!");
				next;
				mes("[Croix Blacksmith]");
				mes("^3131FFWe need 50 Stone.^000000");
				mes("We are busy, so please hurry.");
				close;
			}
		case 2:
			mes("[Croix Blacksmith]");
			mes("There are enemies coming! Let's evacuate from here!");
			close;
		}
	}
	else {
		mes("[Croix Blacksmith]");
		mes("There, the enemy is coming!");
		close;
	}

OnInit:
	disablenpc "Croix Blacksmith#bat_a01";
	end;
}

bat_a01,53,377,3	script	Battle Therapist#a01_a	4_F_SISTER,{
	specialeffect(EF_HEAL, AREA, playerattached());
	mes("[Battle Therapist]");
	mes("Just close your eyes,\r"
		"and take a deep breath.");
	mes("You can be free from pain.");
	close;
	end;

OnInit:
	initnpctimer;
	end;

OnEnable:
	stopnpctimer;
	initnpctimer;
	enablenpc "Battle Therapist#a01_a";
	end;

OnStop:
	disablenpc "bat_a01_rp1_a_warp";
	disablenpc "Battle Therapist#a01_a";
	stopnpctimer;
	end;

OnTimer25000:
	specialeffect EF_SANCTUARY;
	enablenpc "bat_a01_rp1_a_warp";
	end;

OnTimer26000:
	disablenpc "bat_a01_rp1_a_warp";
	end;

OnTimer26500:
	donpcevent "Battle Therapist#a01_a::OnEnable";
	end;
}

bat_a01,51,375,0	script	bat_a01_rp1_a_warp	FAKE_NPC,10,10,{
OnInit:
	disablenpc "bat_a01_rp1_a_warp";
	end;

OnTouch_:
	percentheal 100,100;
	warp "bat_a01",352,342;
	end;
}

bat_a01,45,19,3	script	Battle Therapist#a01_b	4_F_SISTER,{
	specialeffect(EF_HEAL, AREA, playerattached());
	mes("[Battle Therapist]");
	mes("Just close your eyes,\r"
		"and take a deep breath.");
	mes("You can be free from pain.");
	close;
	end;

OnInit:
	initnpctimer;
	end;

OnEnable:
	stopnpctimer;
	initnpctimer;
	enablenpc "Battle Therapist#a01_b";
	end;

OnStop:
	disablenpc "bat_a01_rp1_b_warp";
	disablenpc "Battle Therapist#a01_b";
	stopnpctimer;
	end;

OnTimer25000:
	specialeffect EF_SANCTUARY;
	enablenpc "bat_a01_rp1_b_warp";
	end;

OnTimer26000:
	disablenpc "bat_a01_rp1_b_warp";
	end;

OnTimer26500:
	donpcevent "Battle Therapist#a01_b::OnEnable";
	end;
}

bat_a01,43,17,0	script	bat_a01_rp1_b_warp	FAKE_NPC,10,10,{
OnInit:
	disablenpc "bat_a01_rp1_b_warp";
	end;

OnTouch:
	percentheal 100,100;
	warp "bat_a01",353,52;
	end;
}

bat_a01,60,216,3	script	Valley Ghost#bat_a01_n	4_GHOSTRING,{
	specialeffect(EF_HEAL, AREA, playerattached());
	mes("[Valley Ghost]");
	mes("Boo...Boo...");
	close;

OnInit:
	initnpctimer;
	end;

OnEnable:
	stopnpctimer;
	initnpctimer;
	end;

OnTimer25000:
	specialeffect EF_SANCTUARY;
	enablenpc "bat_a01_rp1_n_warp";
	end;

OnTimer26000:
	disablenpc "bat_a01_rp1_n_warp";
	end;

OnTimer26500:
	donpcevent "Valley Ghost#bat_a01_n::OnEnable";
	end;
}

bat_a01,55,213,0	script	bat_a01_rp1_n_warp	FAKE_NPC,10,10,{
OnInit:
	disablenpc "bat_a01_rp1_n_warp";
	end;

OnTouch:
	percentheal 100,100;
	warp "bat_a01",301,209;
	end;
}

bat_a01,194,267,0	script	barri_warp_up#bat_a01_a	FAKE_NPC,7,0,{
OnTouch:
	if (getcharid(CHAR_ID_BG) == $@TierraBG1_id1)
		warp "bat_a01",194,261;
	end;
}

bat_a01,194,265,0	script	barri_warp_down#bat_a01a	FAKE_NPC,7,0,{
OnTouch:
	if (getcharid(CHAR_ID_BG) == $@TierraBG1_id1)
		warp "bat_a01",194,270;
	end;
}

bat_a01,177,130,0	script	barri_warp_up#bat_a01_b	FAKE_NPC,7,0,{
OnTouch:
	if (getcharid(CHAR_ID_BG) == $@TierraBG1_id2)
		warp "bat_a01",178,125;
	end;
}

bat_a01,177,128,0	script	barri_warp_down#bat_a01b	FAKE_NPC,7,0,{
OnTouch:
	if (getcharid(CHAR_ID_BG) == $@TierraBG1_id2)
		warp "bat_a01",178,134;
	end;
}

bat_a01,352,342,0	script	A_CODE#bat_a01	FAKE_NPC,5,5,{
OnTouch:
	if (questprogress(2069) == 1)
		setquest 2069;
	end;
}

bat_a01,353,52,0	script	B_CODE#bat_a01	FAKE_NPC,5,5,{
OnTouch:
	if (questprogress(2069) == 1)
		setquest 2069;
	end;
}

bat_a01,169,227,0	script	underladd#bat_a01_1	WARPNPC,1,1,{
OnTouch_:
	warp "bat_a01",178,228;
	end;
}

bat_a01,208,164,0	script	underladd#bat_a01_2	WARPNPC,1,1,{
OnTouch_:
	warp "bat_a01",200,171;
	end;
}

bat_a01,171,309,3	script	Guillaume Camp#flag1	1_FLAG_LION,{ end; }
bat_a01,149,310,3	script	Guillaume Camp#flag2	1_FLAG_LION,{ end; }
bat_a01,119,336,3	script	Guillaume Camp#flag3	1_FLAG_LION,{ end; }
bat_a01,118,357,3	script	Guillaume Camp#flag4	1_FLAG_LION,{ end; }
bat_a01,150,380,3	script	Guillaume Camp#flag5	1_FLAG_LION,{ end; }
bat_a01,173,380,3	script	Guillaume Camp#flag6	1_FLAG_LION,{ end; }
bat_a01,210,344,3	script	Guillaume Camp#flag7	1_FLAG_LION,{ end; }
bat_a01,350,325,3	script	Guillaume Camp#flag8	1_FLAG_LION,{ end; }
bat_a01,358,325,3	script	Guillaume Camp#flag9	1_FLAG_LION,{ end; }

bat_a01,138,12,3	script	Croix Camp#flag1	1_FLAG_EAGLE,{ end; }
bat_a01,108,36,3	script	Croix Camp#flag2	1_FLAG_EAGLE,{ end; }
bat_a01,108,63,3	script	Croix Camp#flag3	1_FLAG_EAGLE,{ end; }
bat_a01,136,87,3	script	Croix Camp#flag4	1_FLAG_EAGLE,{ end; }
bat_a01,167,86,3	script	Croix Camp#flag5	1_FLAG_EAGLE,{ end; }
bat_a01,199,49,3	script	Croix Camp#flag6	1_FLAG_EAGLE,{ end; }
bat_a01,168,16,3	script	Croix Camp#flag7	1_FLAG_EAGLE,{ end; }
bat_a01,357,74,3	script	Croix Camp#flag8	1_FLAG_EAGLE,{ end; }
bat_a01,348,74,3	script	Croix Camp#flag9	1_FLAG_EAGLE,{ end; }

bat_a01,53,377,3	script	Guillaume Vintenar#a01_a	4_M_KY_HEAD,{
	if (getcharid(CHAR_ID_BG) == $@TierraBG1_id1) {
		if ($@TierraBG1_Victory == 1) {
			.@your_medal = countitem(BF_Badge1);
			.@medal_gap = 500 - .@your_medal;
			if (.@medal_gap > 2) {
				mes("[Axl Rose]");
				mes("Blessed Guillaume!");
				mes("Let's enjoy our glorious victory!");
				mesf("%s, it's a sign reflecting victory.", strcharinfo(PC_NAME));
				close2;
				getitem BF_Badge1,3;
			}
			else {
				mes("[Axl Rose]");
				mes("Blessed Guillaume!");
				mes("Let's enjoy our glorious victory!");
				mesf("%s, it's a sign reflecting victory.", strcharinfo(PC_NAME));
				close2;
				getitem BF_Badge1,.@medal_gap;
			}
		}
		else {
			.@your_medal = countitem(BF_Badge1);
			.@medal_gap = 500 - .@your_medal;
			if (.@medal_gap > 0) {
				mes("[Axl Rose]");
				mes("You lost, but you're dedicated to this battle.");
				mes("This is a reward for your great dedication by Guillaume Marollo!");
				mes("Just take this defeat as a lesson, and next time you will definitely win.");
				close2;
				getitem BF_Badge1,1;
			}
			else {
				mes("[Axl Rose]");
				mes("You lost, but you're dedicated to this battle.");
				mes("This is a reward for your great dedication by Guillaume Marollo!");
				mes("Just take this defeat as a lesson, and next time you will definitely win.");
				close2;
				getitem BF_Badge1,.@medal_gap;
			}
		}
	}
	else {
		if ($@TierraBG1_Victory == 2) {
			.@your_medal = countitem(BF_Badge1);
			.@medal_gap = 500 - .@your_medal;
			if (.@medal_gap > 0) {
				mes("[Axl Rose]");
				mes("You lost, but you're dedicated to this battle.");
				mes("This is a reward for your great dedication by Guillaume Marollo!");
				mes("Just take this defeat as a lesson, and next time you will definitely win.");
				close2;
				getitem BF_Badge1,1;
			}
			else {
				mes("[Axl Rose]");
				mes("You lost, but you're dedicated to this battle.");
				mes("This is a reward for your great dedication by Guillaume Marollo!");
				mes("Just take this defeat as a lesson, and next time you will definitely win.");
				close2;
				getitem BF_Badge1,.@medal_gap;
			}
		}
		else {
			.@your_medal = countitem(BF_Badge1);
			.@medal_gap = 500 - .@your_medal;
			if (.@medal_gap > 2) {
				mes("[Axl Rose]");
				mes("Blessed Guillaume!");
				mes("Let's enjoy our glorious victory!");
				mesf("%s, it's a sign reflecting victory.", strcharinfo(PC_NAME));
				close2;
				getitem BF_Badge1,3;
			}
			else {
				mes("[Axl Rose]");
				mes("Blessed Guillaume!");
				mes("Let's enjoy our glorious victory!");
				mesf("%s, it's a sign of victory.", strcharinfo(PC_NAME));
				close2;
				getitem BF_Badge1,.@medal_gap;
			}
		}
	}
	bg_leave;
	warp "bat_room",154,150;
	end;

OnInit:
	disablenpc "Guillaume Vintenar#a01_a";
	end;
}

bat_a01,45,19,3	script	Croix Vintenar#a01_b	4_M_CRU_HEAD,{
	if (getcharid(CHAR_ID_BG) == $@TierraBG1_id2) {
		if ($@TierraBG1_Victory == 2) {
			.@your_medal = countitem(BF_Badge1);
			.@medal_gap = 500 - .@your_medal;
			if (.@medal_gap > 2) {
				mes("[Swandery]");
				mes("Blessed Croix!");
				mes("Let's enjoy our glorious victory!");
				mesf("%s, it's a sign reflecting victory.", strcharinfo(PC_NAME));
				close2;
				getitem BF_Badge1,3;
			}
			else {
				mes("[Swandery]");
				mes("Blessed Croix!");
				mes("Let's enjoy our glorious victory!");
				mesf("%s, it's a sign reflecting victory.", strcharinfo(PC_NAME));
				close2;
				getitem BF_Badge1,.@medal_gap;
			}
		}
		else {
			.@your_medal = countitem(BF_Badge1);
			.@medal_gap = 500 - .@your_medal;
			if (.@medal_gap > 0) {
				mes("[Swandery]");
				mesf("Oh, %s Don't be sad.", strcharinfo(PC_NAME));
				mes("Even though we didn't win, we did our best.");
				mes("This is a Royal gift from Croix, and please don't forget this battle. We will win the next one.");
				close2;
				getitem BF_Badge1,1;
			}
			else {
				mes("[Swandery]");
				mesf("Oh, %s Don't be sad.", strcharinfo(PC_NAME));
				mes("Even though we didn't win, we did our best.");
				mes("This is a Royal gift from Croix, and please don't forget this battle. We will win the next one.");
				close2;
				getitem BF_Badge1,.@medal_gap;
			}
		}
	}
	else {
		if ($@TierraBG1_Victory == 1) {
			.@your_medal = countitem(BF_Badge1);
			.@medal_gap = 500 - .@your_medal;
			if (.@medal_gap > 0) {
				mes("[Swandery]");
				mesf("Oh, %s Don't be sad.", strcharinfo(PC_NAME));
				mes("Even though we didn't win, we did our best.");
				mes("This is a Royal gift from Croix, and please don't forget this battle. We will win the next one.");
				close2;
				getitem BF_Badge1,1;
			}
			else {
				mes("[Swandery]");
				mesf("Oh, %s Don't be sad.", strcharinfo(PC_NAME));
				mes("Even though we didn't win, we did our best.");
				mes("This is a Royal gift from Croix, and please don't forget this battle. We will win the next one.");
				close2;
				getitem BF_Badge1,.@medal_gap;
			}
		}
		else {
			.@your_medal = countitem(BF_Badge1);
			.@medal_gap = 500 - .@your_medal;
			if (.@medal_gap > 2) {
				mes("[Swandery]");
				mes("Blessed Croix!");
				mes("Let's enjoy our glorious victory!");
				mesf("%s, it's a sign reflecting victory.", strcharinfo(PC_NAME));
				close2;
				getitem BF_Badge1,3;
			}
			else {
				mes("[Swandery]");
				mes("Blessed Croix!");
				mes("Let's enjoy our glorious victory!");
				mesf("%s, it's a sign reflecting victory.", strcharinfo(PC_NAME));
				close2;
				getitem BF_Badge1,.@medal_gap;
			}
		}
	}
	bg_leave;
	warp "bat_room",154,150;
	end;

OnInit:
	disablenpc "Croix Vintenar#a01_b";
	end;
}

bat_a01,1,5,3	script	countdown#bat_a01	CLEAR_NPC,{
OnEnable:
	initnpctimer;
	end;

OnStop:
	stopnpctimer;
	end;

OnTimer7000:
	mapannounce("bat_a01", _("Guillaume Vintenar Axl Rose : Let's attack to burn down Croix's Food Depot!"), bc_map, "0xFF9900");
	end;

OnTimer8000:
	mapannounce("bat_a01", _("Croix Vintenar Swandery : Master of Valhalla! Let us be gifted with unfailing faith and courage!"), bc_map, "0xFF99CC");
	end;

OnTimer1800000:
	mapannounce("bat_a01", _("Marollo VII : Guillaume Marollo, Croix Marollo! Marollo followers!"), bc_map, "0x99CC00");
	end;

OnTimer1803000:
	mapannounce("bat_a01", _("Marollo VII : Both camps are competitive, so no camp would be destroyed easily. That means the Marollo kingdoms will never be defeated!"), bc_map, "0x99CC00");
	end;

OnTimer1808000:
	mapannounce("bat_a01", _("Marollo VII : I think we'd better terminate the battle, and call it a draw."), bc_map, "0x99CC00");
	end;

OnTimer1822000:
	mapannounce("bat_a01", _("Marollo VII : Hold your royalty and faith for a moment, and let's settle up the battle of Tierra Gorge."), bc_map, "0x99CC00");
	end;

OnTimer1825000:
	mapannounce("bat_a01", _("Axl Rose, Swandery : Yes sir."), bc_map, "0x99CC00");
	end;

OnTimer1830000:
	mapwarp "bat_a01","bat_room",154,150;
	donpcevent "countdown#bat_a01::OnStop";
	end;
}

/*
bat_a01,351,75,3	script	Croix Camp Soldier#bat_a01_guide	4_M_RASWORD,{
	mes("Loading...");
	close;
}

bat_a01,356,326,3	script	Guillaume Camp Soldier#bat_a01_guide	4_M_RASWORD,{
	mes("Loading...");
	close;
}
*/

bat_a01,1,1,3	script	Release all#a01	4_DOG01,{
	.@i = callfunc("F_GM_NPC",1854,0);
	if (.@i == -1) {
		mes("Cancelled.");
		close;
	} else if (.@i == 0) {
		end;
	} else {
		mes("May I help you?");
		next;
		switch(select("Release all.", "Cancel.")) {
		case 1:
			mes("Bye.");
			close2;
			mapwarp "bat_a01","bat_room",154,150;
			end;
		case 2:
			mes("Cancelled.");
			close;
		}
	}
}
