summaryrefslogtreecommitdiff
path: root/npc/battleground/tierra
diff options
context:
space:
mode:
authordaegaladh <daegaladh@54d463be-8e91-2dee-dedb-b68131a5f0ec>2012-08-01 04:29:56 +0000
committerdaegaladh <daegaladh@54d463be-8e91-2dee-dedb-b68131a5f0ec>2012-08-01 04:29:56 +0000
commit8832adba3ec9df0f7f890154f69f0993b8d1d8e5 (patch)
tree0e73afe6a780abf29fe035301f1354f24762da7a /npc/battleground/tierra
parentfa533907d49c7e288be33efb55fcb094f8e48591 (diff)
downloadhercules-8832adba3ec9df0f7f890154f69f0993b8d1d8e5.tar.gz
hercules-8832adba3ec9df0f7f890154f69f0993b8d1d8e5.tar.bz2
hercules-8832adba3ec9df0f7f890154f69f0993b8d1d8e5.tar.xz
hercules-8832adba3ec9df0f7f890154f69f0993b8d1d8e5.zip
Full npc folder reorganization. (I hope I didn't break anything D:)
-Now common scripts goes to the main npc folder, and pre-re-only/re-only ones goes to their respective folders. -NPCs with practically the same script but little differences have been left in the main folder and uses the command checkre() for the differences. -For those NPCs with different coordinates but same script, the script has been left in the main folder but the NPCs splitted as duplicates. -All pre-renewal files has been reverted back to their pre-renewal behavior. TODO: -Correct pre-re quest rewards. -Check for pre-re/re differences in mapflags. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@16545 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'npc/battleground/tierra')
-rw-r--r--npc/battleground/tierra/tierra01.txt948
-rw-r--r--npc/battleground/tierra/tierra02.txt947
-rw-r--r--npc/battleground/tierra/tierra_enter.txt383
3 files changed, 2278 insertions, 0 deletions
diff --git a/npc/battleground/tierra/tierra01.txt b/npc/battleground/tierra/tierra01.txt
new file mode 100644
index 000000000..b6b3e4354
--- /dev/null
+++ b/npc/battleground/tierra/tierra01.txt
@@ -0,0 +1,948 @@
+//===== rAthena Script =======================================
+// BattleGround System - Tierra Gorge
+//===== By: ==================================================
+//= L0ne_W0lf
+//===== Current Version: =====================================
+//= 1.3
+//===== Compatible With: =====================================
+//= rAthena 1.0
+//===== Description: =========================================
+//= [AEGIS Conversion]
+//= Tierra Gorge Battleground.
+//= - Winning Team: 3 badges
+//= - Losing Team: 1 badge
+//===== Additional Comments: =================================
+//= 1.0 First Version.
+//= 1.1 Corrected setwalls for barricades. [L0ne_W0lf]
+//= 1.2 Updated 'waitingroom' to support required zeny/lvl. [Kisuka]
+//= 1.3 Removed MaxLvl check in waitingrooms.
+//============================================================
+
+// Waiting Room NPCs
+//============================================================
+bat_room,57,227,5 script Lieutenant Kalos 418,{
+ end;
+
+OnInit:
+ waitingroom "Battle Station",11,"start#bat_a01::OnReadyCheck",1,0,80;
+ end;
+
+OnEnterBG:
+ set $@TierraBG1_id1, waitingroom2bg("bat_a01",50,374,"start#bat_a01::OnGuillaumeQuit","");
+ end;
+}
+
+bat_room,58,204,1 script Lieutenant Eyor 414,{
+ end;
+
+OnInit:
+ waitingroom "Battle Station",11,"start#bat_a01::OnReadyCheck",1,0,80;
+ end;
+
+OnEnterBG:
+ set $@TierraBG1_id2, waitingroom2bg("bat_a01",42,16,"start#bat_a01::OnCroixQuit","");
+ end;
+}
+
+bat_room,1,151,3 script #bat_a01_timer 844,{
+ end;
+
+onInit:
+OnEnable:
+ initnpctimer;
+ end;
+
+OnStop:
+ stopnpctimer;
+ end;
+
+OnTimer1000:
+ stopnpctimer;
+ initnpctimer;
+ set .@chk_bat_a01,getmapusers("bat_a01");
+ if (.@chk_bat_a01 < 1) {
+ set $@TierraBG1,0; set $@TierraBG1_Victory, 0;
+ if( $@TierraBG1_id1 ) { bg_destroy $@TierraBG1_id1; set $@TierraBG1_id1, 0; }
+ if( $@TierraBG1_id2 ) { bg_destroy $@TierraBG1_id2; set $@TierraBG1_id2, 0; }
+ donpcevent "start#bat_a01::OnReadyCheck";
+ }
+ end;
+}
+
+bat_a01,352,342,0 script #bat_a01_quest_a -1,5,5,{
+ end;
+
+OnTouch:
+ if (checkquest(2069) < 0)
+ setquest 2069;
+ end;
+}
+
+bat_a01,353,52,0 script #bat_a01_quest_b -1,5,5,{
+ end;
+
+OnTouch:
+ if (checkquest(2069) < 0)
+ 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 844,{
+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;
+ set .@Guillaume, getwaitingroomstate(0,"Lieutenant Kalos");
+ set .@Croix, getwaitingroomstate(0,"Lieutenant Eyor");
+ if( !.@Guillaume && !.@Croix ) {
+ donpcevent "#bat_a01_timer::OnStop";
+ end;
+ }
+ else if( .@Guillaume < 10 || .@Croix < 10 )
+ end;
+ set $@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 844,{
+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";
+ set $@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 844,{
+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";
+ set $@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 844,{
+OnEnable:
+ for( set .@i,185; .@i < 202; set .@i,.@i+1 )
+ 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 844,{
+OnEnable:
+ for( set .@i,169; .@i < 186; set .@i,.@i+1 )
+ 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 844,{
+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(4),56,212;
+ if (getcharid(4) == $@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 844,{
+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 844,{
+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 851,{
+ if (getcharid(4) == $@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(7049) > 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 7049,50; //Stone
+ 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 851,{
+ if (getcharid(4) == $@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(7049) > 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 7049,50; //Stone
+ 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 95,{
+ specialeffect2 EF_HEAL;
+ mes "[Battle Therapist]";
+ mes "Just close your eyes,";
+ mes "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 -1,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 95,{
+ specialeffect2 EF_HEAL;
+ mes "[Battle Therapist]";
+ mes "Just close your eyes,";
+ mes "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 -1,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 950,{
+ specialeffect2 EF_HEAL;
+ 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 -1,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 -1,7,0,{
+OnTouch:
+ if (getcharid(4) == $@TierraBG1_id1)
+ warp "bat_a01",194,261;
+ end;
+}
+
+bat_a01,194,265,0 script barri_warp_down#bat_a01a -1,7,0,{
+OnTouch:
+ if (getcharid(4) == $@TierraBG1_id1)
+ warp "bat_a01",194,270;
+ end;
+}
+
+bat_a01,177,130,0 script barri_warp_up#bat_a01_b -1,7,0,{
+OnTouch:
+ if (getcharid(4) == $@TierraBG1_id2)
+ warp "bat_a01",178,125;
+ end;
+}
+
+bat_a01,177,128,0 script barri_warp_down#bat_a01b -1,7,0,{
+OnTouch:
+ if (getcharid(4) == $@TierraBG1_id2)
+ warp "bat_a01",178,134;
+ end;
+}
+
+bat_a01,352,342,0 script A_CODE#bat_a01 -1,5,5,{
+OnTouch:
+ set .@chk_bfquest,checkquest(2069);
+ if ((.@chk_bfquest == 0) || (.@chk_bfquest == 1))
+ setquest 2069;
+ end;
+}
+
+bat_a01,353,52,0 script B_CODE#bat_a01 -1,5,5,{
+OnTouch:
+ set .@chk_bfquest,checkquest(2069);
+ if ((.@chk_bfquest == 0) || (.@chk_bfquest == 1))
+ setquest 2069;
+ end;
+}
+
+bat_a01,169,227,0 script underladd#bat_a01_1 45,1,1,{
+OnTouch_:
+ warp "bat_a01",178,228;
+ end;
+}
+
+bat_a01,208,164,0 script underladd#bat_a01_2 45,1,1,{
+OnTouch_:
+ warp "bat_a01",200,171;
+ end;
+}
+
+bat_a01,171,309,3 script Guillaume Camp#flag1 973,{ end; }
+bat_a01,149,310,3 script Guillaume Camp#flag2 973,{ end; }
+bat_a01,119,336,3 script Guillaume Camp#flag3 973,{ end; }
+bat_a01,118,357,3 script Guillaume Camp#flag4 973,{ end; }
+bat_a01,150,380,3 script Guillaume Camp#flag5 973,{ end; }
+bat_a01,173,380,3 script Guillaume Camp#flag6 973,{ end; }
+bat_a01,210,344,3 script Guillaume Camp#flag7 973,{ end; }
+bat_a01,350,325,3 script Guillaume Camp#flag8 973,{ end; }
+bat_a01,358,325,3 script Guillaume Camp#flag9 973,{ end; }
+
+bat_a01,138,12,3 script Croix Camp#flag1 974,{ end; }
+bat_a01,108,36,3 script Croix Camp#flag2 974,{ end; }
+bat_a01,108,63,3 script Croix Camp#flag3 974,{ end; }
+bat_a01,136,87,3 script Croix Camp#flag4 974,{ end; }
+bat_a01,167,86,3 script Croix Camp#flag5 974,{ end; }
+bat_a01,199,49,3 script Croix Camp#flag6 974,{ end; }
+bat_a01,168,16,3 script Croix Camp#flag7 974,{ end; }
+bat_a01,357,74,3 script Croix Camp#flag8 974,{ end; }
+bat_a01,348,74,3 script Croix Camp#flag9 974,{ end; }
+
+bat_a01,53,377,3 script Guillaume Vintenar#a01_a 419,{
+ if (getcharid(4) == $@TierraBG1_id1) {
+ if ($@TierraBG1_Victory == 1) {
+ set .@your_medal,countitem(7828);
+ set .@medal_gap, 500 - .@your_medal;
+ if (.@medal_gap > 2) {
+ mes "[Axl Rose]";
+ mes "Blessed Guillaume!";
+ mes "Let's enjoy our glorious victory!";
+ mes ""+strcharinfo(0)+", it's a sign reflecting victory.";
+ close2;
+ getitem 7828,3; //BF_Badge1
+ }
+ else {
+ mes "[Axl Rose]";
+ mes "Blessed Guillaume!";
+ mes "Let's enjoy our glorious victory!";
+ mes ""+strcharinfo(0)+", it's a sign reflecting victory.";
+ close2;
+ getitem 7828,.@medal_gap; //BF_Badge1
+ }
+ }
+ else {
+ set .@your_medal,countitem(7828);
+ set .@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 7828,1; //BF_Badge1
+ }
+ 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 7828,.@medal_gap; //BF_Badge1
+ }
+ }
+ }
+ else {
+ if ($@TierraBG1_Victory == 2) {
+ set .@your_medal,countitem(7828);
+ set .@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 7828,1; //BF_Badge1
+ }
+ 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 7828,.@medal_gap; //BF_Badge1
+ }
+ }
+ else {
+ set .@your_medal,countitem(7828);
+ set .@medal_gap, 500 - .@your_medal;
+ if (.@medal_gap > 2) {
+ mes "[Axl Rose]";
+ mes "Blessed Guillaume!";
+ mes "Let's enjoy our glorious victory!";
+ mes ""+strcharinfo(0)+", it's a sign reflecting victory.";
+ close2;
+ getitem 7828,3; //BF_Badge1
+ }
+ else {
+ mes "[Axl Rose]";
+ mes "Blessed Guillaume!";
+ mes "Let's enjoy our glorious victory!";
+ mes ""+strcharinfo(0)+", it's a sign of victory.";
+ close2;
+ getitem 7828,.@medal_gap; //BF_Badge1
+ }
+ }
+ }
+ 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 415,{
+ if (getcharid(4) == $@TierraBG1_id2) {
+ if ($@TierraBG1_Victory == 2) {
+ set .@your_medal,countitem(7828);
+ set .@medal_gap, 500 - .@your_medal;
+ if (.@medal_gap > 2) {
+ mes "[Swandery]";
+ mes "Blessed Croix!";
+ mes "Let's enjoy our glorious victory!";
+ mes ""+strcharinfo(0)+", it's a sign reflecting victory.";
+ close2;
+ getitem 7828,3; //BF_Badge1
+ }
+ else {
+ mes "[Swandery]";
+ mes "Blessed Croix!";
+ mes "Let's enjoy our glorious victory!";
+ mes ""+strcharinfo(0)+", it's a sign reflecting victory.";
+ close2;
+ getitem 7828,.@medal_gap; //BF_Badge1
+ }
+ }
+ else {
+ set .@your_medal,countitem(7828);
+ set .@medal_gap, 500 - .@your_medal;
+ if (.@medal_gap > 0) {
+ mes "[Swandery]";
+ mes "Oh, "+strcharinfo(0)+" Don't be sad.";
+ 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 7828,1; //BF_Badge1
+ }
+ else {
+ mes "[Swandery]";
+ mes "Oh, "+strcharinfo(0)+" Don't be sad.";
+ 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 7828,.@medal_gap; //BF_Badge1
+ }
+ }
+ }
+ else {
+ if ($@TierraBG1_Victory == 1) {
+ set .@your_medal,countitem(7828);
+ set .@medal_gap, 500 - .@your_medal;
+ if (.@medal_gap > 0) {
+ mes "[Swandery]";
+ mes "Oh, "+strcharinfo(0)+" Don't be sad.";
+ 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 7828,1; //BF_Badge1
+ }
+ else {
+ mes "[Swandery]";
+ mes "Oh, "+strcharinfo(0)+" Don't be sad.";
+ 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 7828,.@medal_gap; //BF_Badge1
+ }
+ }
+ else {
+ set .@your_medal,countitem(7828);
+ set .@medal_gap, 500 - .@your_medal;
+ if (.@medal_gap > 2) {
+ mes "[Swandery]";
+ mes "Blessed Croix!";
+ mes "Let's enjoy our glorious victory!";
+ mes ""+strcharinfo(0)+", it's a sign reflecting victory.";
+ close2;
+ getitem 7828,3; //BF_Badge1
+ }
+ else {
+ mes "[Swandery]";
+ mes "Blessed Croix!";
+ mes "Let's enjoy our glorious victory!";
+ mes ""+strcharinfo(0)+", it's a sign reflecting victory.";
+ close2;
+ getitem 7828,.@medal_gap; //BF_Badge1
+ }
+ }
+ }
+ bg_leave;
+ warp "bat_room",154,150;
+ end;
+
+OnInit:
+ disablenpc "Croix Vintenar#a01_b";
+ end;
+}
+
+bat_a01,1,5,3 script countdown#bat_a01 844,{
+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 934,{
+ mes "Loading...";
+ close;
+}
+
+bat_a01,356,326,3 script Guillaume Camp Soldier#bat_a01_guide 934,{
+ mes "Loading...";
+ close;
+}
+*/
+
+/*
+bat_a01,1,1,3 script Release all#a01 81,{
+ input .@input,0,2000;
+ if (.@input == 0) {
+ mes "Cancelled.";
+ close;
+ }
+ else if (.@input == 1854) {
+ 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.";
+ }
+ }
+}
+*/
+
diff --git a/npc/battleground/tierra/tierra02.txt b/npc/battleground/tierra/tierra02.txt
new file mode 100644
index 000000000..867946181
--- /dev/null
+++ b/npc/battleground/tierra/tierra02.txt
@@ -0,0 +1,947 @@
+//===== rAthena Script =======================================
+// BattleGround System - Tierra Gorge 2
+//===== By: ==================================================
+//= L0ne_W0lf
+//===== Current Version: =====================================
+//= 1.2
+//===== Compatible With: =====================================
+//= rAthena 1.0
+//===== Description: =========================================
+//= [AEGIS Conversion]
+//= Second Tierra Gorge Battleground.
+//= - Winning Team: 3 badges
+//= - Losing Team: 1 badge
+//===== Additional Comments: =================================
+//= 1.0 First Version.
+//= 1.1 Updated 'waitingroom' to support required zeny/lvl. [Kisuka]
+//= 1.2 Removed MaxLvl check in waitingrooms.
+//============================================================
+
+// Waiting Room NPCs
+//============================================================
+bat_room,114,227,5 script Lieutenant Rundel 418,{
+ end;
+
+OnInit:
+ waitingroom "Battle Station",11,"start#bat_a02::OnReadyCheck",1,0,80;
+ end;
+
+OnEnterBG:
+ set $@TierraBG2_id1, waitingroom2bg("bat_a02",50,374,"start#bat_a02::OnGuillaumeQuit","");
+ end;
+}
+
+bat_room,114,204,1 script Lieutenant Guerrit 414,{
+ end;
+
+OnInit:
+ waitingroom "Battle Station",11,"start#bat_a02::OnReadyCheck",1,0,80;
+ end;
+
+OnEnterBG:
+ set $@TierraBG2_id2, waitingroom2bg("bat_a02",42,16,"start#bat_a02::OnCroixQuit","");
+ end;
+}
+
+bat_room,1,151,3 script #bat_a02_timer 844,{
+ end;
+
+onInit:
+OnEnable:
+ initnpctimer;
+ end;
+
+OnStop:
+ stopnpctimer;
+ end;
+
+OnTimer1000:
+ stopnpctimer;
+ initnpctimer;
+ set .@chk_bat_a02,getmapusers("bat_a02");
+ if (.@chk_bat_a02 < 1) {
+ set $@TierraBG2,0; set $@TierraBG2_Victory, 0;
+ if( $@TierraBG2_id1 ) { bg_destroy $@TierraBG2_id1; set $@TierraBG2_id1, 0; }
+ if( $@TierraBG2_id2 ) { bg_destroy $@TierraBG2_id2; set $@TierraBG2_id2, 0; }
+ donpcevent "start#bat_a02::OnReadyCheck";
+ }
+ end;
+}
+
+bat_a02,352,342,0 script #bat_a02_quest_a -1,5,5,{
+ end;
+
+OnTouch:
+ if (checkquest(2069) < 0)
+ setquest 2069;
+ end;
+}
+
+bat_a02,353,52,0 script #bat_a02_quest_b -1,5,5,{
+ end;
+
+OnTouch:
+ if (checkquest(2069) < 0)
+ setquest 2069;
+ end;
+}
+
+bat_room,113,220,0 warp back_bgrooma02a 1,1,bat_room,154,150
+bat_room,113,211,0 warp back_bgrooma02b 1,1,bat_room,154,150
+
+// Tierra Gorge Battleground Engine
+//============================================================
+bat_a02,15,15,3 script start#bat_a02 844,{
+OnInit:
+ mapwarp "bat_a02","bat_room",154,150;
+ end;
+
+OnEnable:
+ donpcevent "OBJ#bat_a02_a::Onkill";
+ donpcevent "OBJ#bat_a02_a::OnEnable";
+ donpcevent "OBJ#bat_a02_b::Onkill";
+ donpcevent "OBJ#bat_a02_b::OnEnable";
+ donpcevent "barricade#bat_a02_a::Onkill";
+ donpcevent "barricade#bat_a02_a::OnEnable";
+ donpcevent "barricade#bat_a02_b::Onkill";
+ donpcevent "barricade#bat_a02_b::OnEnable";
+ donpcevent "OBJ#bat_a02_n::Onkill";
+ donpcevent "OBJ#bat_a02_n::OnEnable";
+ donpcevent "NOBJ_mob#bat_a02_a::Onkill";
+ donpcevent "NOBJ_mob#bat_a02_b::Onkill";
+ donpcevent "Battle Therapist#a02_a::OnEnable";
+ donpcevent "Battle Therapist#a02_b::OnEnable";
+ donpcevent "countdown#bat_a02::OnEnable";
+ disablenpc "Guillaume Blacksmith#a02";
+ disablenpc "Croix Blacksmith#bat_a02";
+ disablenpc "Guillaume Vintenar#a02_a";
+ disablenpc "Croix Vintenar#a02_b";
+ end;
+
+OnGuillaumeQuit:
+OnCroixQuit:
+ bg_leave;
+ end;
+
+OnReadyCheck:
+ if( $@TierraBG2 )
+ end;
+ set .@Guillaume, getwaitingroomstate(0,"Lieutenant Rundel");
+ set .@Croix, getwaitingroomstate(0,"Lieutenant Guerrit");
+ if( !.@Guillaume && !.@Croix ) {
+ donpcevent "#bat_a02_timer::OnStop";
+ end;
+ }
+ else if( .@Guillaume < 10 || .@Croix < 10 )
+ end;
+ set $@TierraBG2,1;
+ donpcevent "Lieutenant Rundel::OnEnterBG";
+ donpcevent "Lieutenant Guerrit::OnEnterBG";
+ donpcevent "start#bat_a02::onEnable";
+ bg_warp $@TierraBG2_id1,"bat_a02",352,342;
+ bg_warp $@TierraBG2_id2,"bat_a02",353,52;
+ initnpctimer;
+ end;
+
+OnTimer10000:
+ stopnpctimer;
+ donpcevent "#bat_a02_timer::OnEnable";
+ end;
+}
+
+bat_a02,15,16,3 script OBJ#bat_a02_a 844,{
+OnEnable:
+ bg_monster $@TierraBG2_id1,"bat_a02",177,345,"Food Storage",1909,"OBJ#bat_a02_a::OnMyMobDead";
+ end;
+
+Onkill:
+ killmonster "bat_a02","OBJ#bat_a02_a::OnMyMobDead";
+ end;
+
+OnMyMobDead:
+ if (mobcount("bat_a02","OBJ#bat_a02_a::OnMyMobDead") < 1) {
+ donpcevent "Battle Therapist#a02_a::OnStop";
+ donpcevent "Battle Therapist#a02_b::OnStop";
+ set $@TierraBG2_Victory, 2;
+ enablenpc "Guillaume Vintenar#a02_a";
+ enablenpc "Croix Vintenar#a02_b";
+ mapannounce "bat_a02", "Croix Vintenar Swandery: We destroyed Guillaume's Food Storage. We won that! Wow!",bc_map,"0xFFCE00";
+ bg_warp $@TierraBG2_id1,"bat_a02",50,374;
+ bg_warp $@TierraBG2_id2,"bat_a02",42,16;
+ }
+ end;
+}
+
+bat_a02,15,17,3 script OBJ#bat_a02_b 844,{
+OnEnable:
+ bg_monster $@TierraBG2_id2,"bat_a02",167,50,"Food Depot",1910,"OBJ#bat_a02_b::OnMyMobDead";
+ end;
+
+Onkill:
+ killmonster "bat_a02","OBJ#bat_a02_b::OnMyMobDead";
+ end;
+
+OnMyMobDead:
+ if (mobcount("bat_a02","OBJ#bat_a02_b::OnMyMobDead") < 1) {
+ donpcevent "Battle Therapist#a02_a::OnStop";
+ donpcevent "Battle Therapist#a02_b::OnStop";
+ set $@TierraBG2_Victory, 1;
+ enablenpc "Guillaume Vintenar#a02_a";
+ enablenpc "Croix Vintenar#a02_b";
+ mapannounce "bat_a02", "Guillaume Vintenar Axl Rose : We destroyed Croix's Food Storage. We won that! Wow!",bc_map,"0xFFCE00";
+ bg_warp $@TierraBG2_id1,"bat_a02",50,374;
+ bg_warp $@TierraBG2_id2,"bat_a02",42,16;
+ }
+ end;
+}
+
+bat_a02,15,18,3 script barricade#bat_a02_a 844,{
+OnEnable:
+ for( set .@i,185; .@i < 202; set .@i,.@i+1 )
+ bg_monster $@TierraBG2_id1,"bat_a02",.@i,266,"Barricade",1906,"barricade#bat_a02_a::OnMyMobDead";
+ setwall "bat_a02",186,266,16,6,1,"bat_a02_c1";
+ end;
+
+Onkill:
+ killmonster "bat_a02","barricade#bat_a02_a::OnMyMobDead";
+ delwall "bat_a02_c1";
+ end;
+
+OnMyMobDead:
+ if (mobcount("bat_a02","barricade#bat_a02_a::OnMyMobDead") < 17) {
+ killmonster "bat_a02","barricade#bat_a02_a::OnMyMobDead";
+ delwall "bat_a02_c1";
+ enablenpc "Guillaume Blacksmith#a02";
+ mapannounce "bat_a02", "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_a02,15,19,3 script barricade#bat_a02_b 844,{
+OnEnable:
+ for( set .@i,169; .@i < 186; set .@i,.@i+1 )
+ bg_monster $@TierraBG2_id2,"bat_a02",.@i,129,"Barricade",1906,"barricade#bat_a02_b::OnMyMobDead";
+ setwall "bat_a02",170,129,16,6,1,"bat_a02_g1";
+ end;
+
+Onkill:
+ killmonster "bat_a02","barricade#bat_a02_b::OnMyMobDead";
+ delwall "bat_a02_g1";
+ end;
+
+OnMyMobDead:
+ if (mobcount("bat_a02","barricade#bat_a02_b::OnMyMobDead") < 17) {
+ killmonster "bat_a02","barricade#bat_a02_b::OnMyMobDead";
+ delwall "bat_a02_g1";
+ enablenpc "Croix Blacksmith#bat_a02";
+ mapannounce "bat_a02", "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_a02,15,20,3 script OBJ#bat_a02_n 844,{
+OnEnable:
+ monster "bat_a02",273,203,"Neutrality Flag",1911,1,"OBJ#bat_a02_n::OnMyMobDead";
+ end;
+
+Onkill:
+ killmonster "bat_a02","OBJ#bat_a02_n::OnMyMobDead";
+ end;
+
+OnMyMobDead:
+ if (mobcount("bat_a02","OBJ#bat_a02_n::OnMyMobDead") < 17) {
+ bg_team_setxy getcharid(4),56,212;
+ if (getcharid(4) == $@TierraBG2_id1) {
+ donpcevent "NOBJ_mob#bat_a02_a::OnEnable";
+ mapannounce "bat_a02", "Guillaume captured a Neutrality Flag, so they have an advantage.",bc_map,"0xFFCE00";
+ }
+ else {
+ donpcevent "NOBJ_mob#bat_a02_b::OnEnable";
+ mapannounce "bat_a02", "Croix captured a Neutrality Flag, so they have an advantage.",bc_map,"0xFFCE00";
+ }
+ }
+ end;
+}
+
+bat_a02,15,21,3 script NOBJ_mob#bat_a02_a 844,{
+OnEnable:
+ donpcevent "NOBJ_mob#bat_a02_b::Onkill";
+ bg_monster $@TierraBG2_id1,"bat_a02",272,204,"Guillaume Camp Guardian",1949,"NOBJ_mob#bat_a02_a::OnMyMobDead";
+ bg_monster $@TierraBG2_id1,"bat_a02",272,213,"Guillaume Camp Guardian",1949,"NOBJ_mob#bat_a02_a::OnMyMobDead";
+ bg_monster $@TierraBG2_id1,"bat_a02",273,197,"Guillaume Camp Guardian",1950,"NOBJ_mob#bat_a02_a::OnMyMobDead";
+ end;
+
+Onkill:
+ killmonster "bat_a02","NOBJ_mob#bat_a02_a::OnMyMobDead";
+ end;
+
+OnMyMobDead:
+ end;
+}
+
+bat_a02,15,22,3 script NOBJ_mob#bat_a02_b 844,{
+OnEnable:
+ donpcevent "NOBJ_mob#bat_a02_a::Onkill";
+ bg_monster $@TierraBG2_id2,"bat_a02",272,204,"Croix Camp Guardian",1949,"NOBJ_mob#bat_a02_a::OnMyMobDead";
+ bg_monster $@TierraBG2_id2,"bat_a02",272,213,"Croix Camp Guardian",1949,"NOBJ_mob#bat_a02_a::OnMyMobDead";
+ bg_monster $@TierraBG2_id2,"bat_a02",273,197,"Croix Camp Guardian",1950,"NOBJ_mob#bat_a02_a::OnMyMobDead";
+ end;
+
+Onkill:
+ killmonster "bat_a02","NOBJ_mob#bat_a02_b::OnMyMobDead";
+ end;
+
+OnMyMobDead:
+ end;
+}
+
+bat_a02,185,270,1 script Guillaume Blacksmith#a02 851,{
+ if (getcharid(4) == $@TierraBG2_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(7049) > 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 7049,50; //Stone
+ donpcevent "barricade#bat_a02_a::OnEnable";
+ close2;
+ disablenpc "Guillaume Blacksmith#a02";
+ 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#a02";
+ end;
+}
+
+bat_a02,170,121,5 script Croix Blacksmith#bat_a02 851,{
+ if (getcharid(4) == $@TierraBG2_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(7049) > 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 7049,50; //Stone
+ donpcevent "barricade#bat_a02_b::OnEnable";
+ close2;
+ disablenpc "Croix Blacksmith#bat_a02";
+ 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_a02";
+ end;
+}
+
+bat_a02,53,377,3 script Battle Therapist#a02_a 95,{
+ specialeffect2 EF_HEAL;
+ mes "[Battle Therapist]";
+ mes "Just close your eyes,";
+ mes "and take a deep breath.";
+ mes "You can be free from pain.";
+ close;
+ end;
+
+OnInit:
+ initnpctimer;
+ end;
+
+OnEnable:
+ stopnpctimer;
+ initnpctimer;
+ enablenpc "Battle Therapist#a02_a";
+ end;
+
+Onstop:
+ disablenpc "bat_a02_rp1_a_warp";
+ disablenpc "Battle Therapist#a02_a";
+ stopnpctimer;
+ end;
+
+OnTimer25000:
+ specialeffect EF_SANCTUARY;
+ enablenpc "bat_a02_rp1_a_warp";
+ end;
+
+OnTimer26000:
+ disablenpc "bat_a02_rp1_a_warp";
+ end;
+
+OnTimer26500:
+ donpcevent "Battle Therapist#a02_a::OnEnable";
+ end;
+}
+
+bat_a02,51,375,0 script bat_a02_rp1_a_warp -1,10,10,{
+OnInit:
+ disablenpc "bat_a02_rp1_a_warp";
+ end;
+
+OnTouch_:
+ percentheal 100,100;
+ warp "bat_a02",352,342;
+ end;
+}
+
+bat_a02,45,19,3 script Battle Therapist#a02_b 95,{
+ specialeffect2 EF_HEAL;
+ mes "[Battle Therapist]";
+ mes "Just close your eyes,";
+ mes "and take a deep breath.";
+ mes "You can be free from pain.";
+ close;
+ end;
+
+OnInit:
+ initnpctimer;
+ end;
+
+OnEnable:
+ stopnpctimer;
+ initnpctimer;
+ enablenpc "Battle Therapist#a02_b";
+ end;
+
+Onstop:
+ disablenpc "bat_a02_rp1_b_warp";
+ disablenpc "Battle Therapist#a02_b";
+ stopnpctimer;
+ end;
+
+OnTimer25000:
+ specialeffect EF_SANCTUARY;
+ enablenpc "bat_a02_rp1_b_warp";
+ end;
+
+OnTimer26000:
+ disablenpc "bat_a02_rp1_b_warp";
+ end;
+
+OnTimer26500:
+ donpcevent "Battle Therapist#a02_b::OnEnable";
+ end;
+}
+
+bat_a02,43,17,0 script bat_a02_rp1_b_warp -1,10,10,{
+OnInit:
+ disablenpc "bat_a02_rp1_b_warp";
+ end;
+
+OnTouch:
+ percentheal 100,100;
+ warp "bat_a02",353,52;
+ end;
+}
+
+bat_a02,60,216,3 script Valley Ghost#bat_a02_n 950,{
+ specialeffect2 EF_HEAL;
+ mes "[Valley Ghost]";
+ mes "Boo...Boo...";
+ close;
+
+OnInit:
+ initnpctimer;
+ end;
+
+OnEnable:
+ stopnpctimer;
+ initnpctimer;
+ end;
+
+OnTimer25000:
+ specialeffect EF_SANCTUARY;
+ enablenpc "bat_a02_rp1_n_warp";
+ end;
+
+OnTimer26000:
+ disablenpc "bat_a02_rp1_n_warp";
+ end;
+
+OnTimer26500:
+ donpcevent "Valley Ghost#bat_a02_n::OnEnable";
+ end;
+}
+
+bat_a02,55,213,0 script bat_a02_rp1_n_warp -1,10,10,{
+OnInit:
+ disablenpc "bat_a02_rp1_n_warp";
+ end;
+
+OnTouch:
+ percentheal 100,100;
+ warp "bat_a02",301,209;
+ end;
+}
+
+bat_a02,194,267,0 script barri_warp_up#bat_a02_a -1,7,0,{
+OnTouch:
+ if (getcharid(4) == $@TierraBG2_id1)
+ warp "bat_a02",194,261;
+ end;
+}
+
+bat_a02,194,265,0 script barri_warp_down#bat_a02a -1,7,0,{
+OnTouch:
+ if (getcharid(4) == $@TierraBG2_id1)
+ warp "bat_a02",194,270;
+ end;
+}
+
+bat_a02,177,130,0 script barri_warp_up#bat_a02_b -1,7,0,{
+OnTouch:
+ if (getcharid(4) == $@TierraBG2_id2)
+ warp "bat_a02",178,125;
+ end;
+}
+
+bat_a02,177,128,0 script barri_warp_down#bat_a02b -1,7,0,{
+OnTouch:
+ if (getcharid(4) == $@TierraBG2_id2)
+ warp "bat_a02",178,134;
+ end;
+}
+
+bat_a02,352,342,0 script A_CODE#bat_a02 -1,5,5,{
+OnTouch:
+ set .@chk_bfquest,checkquest(2069);
+ if ((.@chk_bfquest == 0) || (.@chk_bfquest == 1))
+ setquest 2069;
+ end;
+}
+
+bat_a02,353,52,0 script B_CODE#bat_a02 -1,5,5,{
+OnTouch:
+ set .@chk_bfquest,checkquest(2069);
+ if ((.@chk_bfquest == 0) || (.@chk_bfquest == 1))
+ setquest 2069;
+ end;
+}
+
+bat_a02,169,227,0 script underladd#bat_a02_1 45,1,1,{
+OnTouch_:
+ warp "bat_a02",178,228;
+ end;
+}
+
+bat_a02,208,164,0 script underladd#bat_a02_2 45,1,1,{
+OnTouch_:
+ warp "bat_a02",200,171;
+ end;
+}
+
+bat_a02,171,309,3 script Guillaume Camp#flag11 973,{ end; }
+bat_a02,149,310,3 script Guillaume Camp#flag12 973,{ end; }
+bat_a02,119,336,3 script Guillaume Camp#flag13 973,{ end; }
+bat_a02,118,357,3 script Guillaume Camp#flag14 973,{ end; }
+bat_a02,150,380,3 script Guillaume Camp#flag15 973,{ end; }
+bat_a02,173,380,3 script Guillaume Camp#flag16 973,{ end; }
+bat_a02,210,344,3 script Guillaume Camp#flag17 973,{ end; }
+bat_a02,350,325,3 script Guillaume Camp#flag18 973,{ end; }
+bat_a02,358,325,3 script Guillaume Camp#flag19 973,{ end; }
+
+bat_a02,138,12,3 script Croix Camp#flag11 974,{ end; }
+bat_a02,108,36,3 script Croix Camp#flag12 974,{ end; }
+bat_a02,108,63,3 script Croix Camp#flag13 974,{ end; }
+bat_a02,136,87,3 script Croix Camp#flag14 974,{ end; }
+bat_a02,167,86,3 script Croix Camp#flag15 974,{ end; }
+bat_a02,199,49,3 script Croix Camp#flag16 974,{ end; }
+bat_a02,168,16,3 script Croix Camp#flag17 974,{ end; }
+bat_a02,357,74,3 script Croix Camp#flag18 974,{ end; }
+bat_a02,348,74,3 script Croix Camp#flag19 974,{ end; }
+
+bat_a02,53,377,3 script Guillaume Vintenar#a02_a 419,{
+ if (getcharid(4) == $@TierraBG2_id1) {
+ if ($@TierraBG2_Victory == 1) {
+ set .@your_medal,countitem(7828);
+ set .@medal_gap, 500 - .@your_medal;
+ if (.@medal_gap > 2) {
+ mes "[Axl Rose]";
+ mes "Blessed Guillaume!";
+ mes "Let's enjoy our glorious victory!";
+ mes ""+strcharinfo(0)+", it's a sign reflecting victory.";
+ close2;
+ getitem 7828,3; //BF_Badge1
+ }
+ else {
+ mes "[Axl Rose]";
+ mes "Blessed Guillaume!";
+ mes "Let's enjoy our glorious victory!";
+ mes ""+strcharinfo(0)+", it's a sign reflecting victory.";
+ close2;
+ getitem 7828,.@medal_gap; //BF_Badge1
+ }
+ }
+ else {
+ set .@your_medal,countitem(7828);
+ set .@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 7828,1; //BF_Badge1
+ }
+ 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 7828,.@medal_gap; //BF_Badge1
+ }
+ }
+ }
+ else {
+ if ($@TierraBG2_Victory == 2) {
+ set .@your_medal,countitem(7828);
+ set .@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 7828,1; //BF_Badge1
+ }
+ 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 7828,.@medal_gap; //BF_Badge1
+ }
+ }
+ else {
+ set .@your_medal,countitem(7828);
+ set .@medal_gap, 500 - .@your_medal;
+ if (.@medal_gap > 2) {
+ mes "[Axl Rose]";
+ mes "Blessed Guillaume!";
+ mes "Let's enjoy our glorious victory!";
+ mes ""+strcharinfo(0)+", it's a sign reflecting victory.";
+ close2;
+ getitem 7828,3; //BF_Badge1
+ }
+ else {
+ mes "[Axl Rose]";
+ mes "Blessed Guillaume!";
+ mes "Let's enjoy our glorious victory!";
+ mes ""+strcharinfo(0)+", it's a sign of victory.";
+ close2;
+ getitem 7828,.@medal_gap; //BF_Badge1
+ }
+ }
+ }
+ bg_leave;
+ warp "bat_room",154,150;
+ end;
+
+OnInit:
+ disablenpc "Guillaume Vintenar#a02_a";
+ end;
+}
+
+bat_a02,45,19,3 script Croix Vintenar#a02_b 415,{
+ if (getcharid(4) == $@TierraBG2_id2) {
+ if ($@TierraBG2_Victory == 2) {
+ set .@your_medal,countitem(7828);
+ set .@medal_gap, 500 - .@your_medal;
+ if (.@medal_gap > 2) {
+ mes "[Swandery]";
+ mes "Blessed Croix!";
+ mes "Let's enjoy our glorious victory!";
+ mes ""+strcharinfo(0)+", it's a sign reflecting victory.";
+ close2;
+ getitem 7828,3; //BF_Badge1
+ }
+ else {
+ mes "[Swandery]";
+ mes "Blessed Croix!";
+ mes "Let's enjoy our glorious victory!";
+ mes ""+strcharinfo(0)+", it's a sign reflecting victory.";
+ close2;
+ getitem 7828,.@medal_gap; //BF_Badge1
+ }
+ }
+ else {
+ set .@your_medal,countitem(7828);
+ set .@medal_gap, 500 - .@your_medal;
+ if (.@medal_gap > 0) {
+ mes "[Swandery]";
+ mes "Oh, "+strcharinfo(0)+" Don't be sad.";
+ 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 7828,1; //BF_Badge1
+ }
+ else {
+ mes "[Swandery]";
+ mes "Oh, "+strcharinfo(0)+" Don't be sad.";
+ 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 7828,.@medal_gap; //BF_Badge1
+ }
+ }
+ }
+ else {
+ if ($@TierraBG2_Victory == 1) {
+ set .@your_medal,countitem(7828);
+ set .@medal_gap, 500 - .@your_medal;
+ if (.@medal_gap > 0) {
+ mes "[Swandery]";
+ mes "Oh, "+strcharinfo(0)+" Don't be sad.";
+ 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 7828,1; //BF_Badge1
+ }
+ else {
+ mes "[Swandery]";
+ mes "Oh, "+strcharinfo(0)+" Don't be sad.";
+ 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 7828,.@medal_gap; //BF_Badge1
+ }
+ }
+ else {
+ set .@your_medal,countitem(7828);
+ set .@medal_gap, 500 - .@your_medal;
+ if (.@medal_gap > 2) {
+ mes "[Swandery]";
+ mes "Blessed Croix!";
+ mes "Let's enjoy our glorious victory!";
+ mes ""+strcharinfo(0)+", it's a sign reflecting victory.";
+ close2;
+ getitem 7828,3; //BF_Badge1
+ }
+ else {
+ mes "[Swandery]";
+ mes "Blessed Croix!";
+ mes "Let's enjoy our glorious victory!";
+ mes ""+strcharinfo(0)+", it's a sign reflecting victory.";
+ close2;
+ getitem 7828,.@medal_gap; //BF_Badge1
+ }
+ }
+ }
+ bg_leave;
+ warp "bat_room",154,150;
+ end;
+
+OnInit:
+ disablenpc "Croix Vintenar#a02_b";
+ end;
+}
+
+bat_a02,1,5,3 script countdown#bat_a02 844,{
+OnEnable:
+ initnpctimer;
+ end;
+
+Onstop:
+ stopnpctimer;
+ end;
+
+OnTimer7000:
+ mapannounce "bat_a02", "Guillaume Vintenar Axl Rose : Let's attack to burn down Croix's Food Depot!",bc_map,"0xFF9900";
+ end;
+
+OnTimer8000:
+ mapannounce "bat_a02", "Croix Vintenar Swandery : Master of Valhalla! Let us be gifted with unfailing faith and courage!",bc_map,"0xFF99CC";
+ end;
+
+OnTimer1800000:
+ mapannounce "bat_a02", "Marollo VII : Guillaume Marollo, Croix Marollo! Marollo followers!",bc_map,"0x99CC00";
+ end;
+
+OnTimer1803000:
+ mapannounce "bat_a02", "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_a02", "Marollo VII : I think we'd better terminate the battle, and call it a draw.",bc_map,"0x99CC00";
+ end;
+
+OnTimer1822000:
+ mapannounce "bat_a02", "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_a02", "Axl Rose, Swandery : Yes sir.",bc_map,"0x99CC00";
+ end;
+
+OnTimer1830000:
+ mapwarp "bat_a02","bat_room",154,150;
+ donpcevent "countdown#bat_a02::Onstop";
+ end;
+}
+
+/*
+bat_a02,351,75,3 script Croix Camp Soldier#bat_a02_guide 934,{
+ mes "Loading...";
+ close;
+}
+
+bat_a02,356,326,3 script Guillaume Camp Soldier#bat_a02_guide 934,{
+ mes "Loading...";
+ close;
+}
+*/
+
+/*
+bat_a02,1,1,3 script Release all#a02 81,{
+ input .@input,0,2000;
+ if (.@input == 0) {
+ mes "Cancelled.";
+ close;
+ }
+ else if (.@input == 1854) {
+ mes "May I help you?";
+ next;
+ switch(select("Release all.:Cancel.")) {
+ case 1:
+ mes "Bye.";
+ close2;
+ mapwarp "bat_a02","bat_room",154,150;
+ end;
+ case 2:
+ mes "Cancelled.";
+ }
+ }
+}
+*/
+
diff --git a/npc/battleground/tierra/tierra_enter.txt b/npc/battleground/tierra/tierra_enter.txt
new file mode 100644
index 000000000..4ee74ceca
--- /dev/null
+++ b/npc/battleground/tierra/tierra_enter.txt
@@ -0,0 +1,383 @@
+//===== rAthena Script =======================================
+// BattleGround System - Tierra Gorge Entrance NPCs
+//===== By: ==================================================
+//= L0ne_W0lf
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= rAthena 1.0
+//===== Description: =========================================
+//= [AEGIS Conversion]
+//= Tierra Gorge Battleground Entrance NPCs
+//===== Additional Comments: =================================
+//= 1.0 First Version.
+//= 1.1 Fixed silly copy paste errors. (bugreport:4401)
+//============================================================
+
+// First Tierra Gorge Officers - Guillaume
+//============================================================
+bat_room,124,178,5 script Tierra Gorge Officer#01a 418,{
+ if (checkweight(1201,1) == 0) {
+ mes "- Wait a minute !! -";
+ mes "- Currently you're carrying -";
+ mes "- too many items with you. -";
+ mes "- Please try again -";
+ mes "- after you loose some weight. -";
+ close;
+ }
+ mes "[Guillaume Army Officer]";
+ mes "Let's show the power of the Guillaume Army to those stinky Croixs!";
+ next;
+ switch(select("I want to join your army!:End Conversation")) {
+ case 1:
+ if ((Class == job_Novice) || (BaseClass == Job_Supernovice)) {
+ mes "[Guillaume Army Officer]";
+ mes "I'm very pleased that you want to join us and fight the Croix Army, but I'm sorry: I can't send a rookie like you to die on the cruel battlefield.";
+ }
+ else {
+ if (BaseLevel < 80) {
+ mes "[Guillaume Army Officer]";
+ mes "I'm very pleased that you want to join us and fight the Croix Army, but I'm sorry: I can't send a rookie like you to die on the cruel battlefield.";
+ }
+ else {
+ set .@chk_urtime,checkquest(2069,PLAYTIME);
+ if ((.@chk_urtime == 0)|| (.@chk_urtime == 1)) {
+ mes "[Guillaume Army Officer]";
+ mes "You seem to have just returned from the battlefield.";
+ mes "It's too early for you to go back. Go rest, and leave the enemies to us!";
+ }
+ else {
+ if (.@chk_urtime == 2)
+ erasequest 2069;
+ set .@mapcount,getmapusers("bat_a01");
+ if (.@mapcount > 0) {
+ mes "[Guillaume Army Officer]";
+ mes "I've received a report informing me that an elite corps has been dispatched to the battlefield fighting the Croixs already.";
+ mes "Why don't you go wait for a while? I suggest you sharpen your weapons and prepare your supplies until then.";
+ }
+ else {
+ if ($@TierraBG1) {
+ mes "[Guillaume Army Officer]";
+ mes "An elite corps is already standing by to be dispatched to the battlefield.";
+ mes "Why don't you go wait for a while? I suggest you sharpen your weapons and prepare your supplies until then.";
+ }
+ else {
+ mes "[Guillaume Army Officer]";
+ mes "You definitely seem to be ready for battle!";
+ mes "Go show the Croixs what fear truly means!";
+ mes "Today, our cry of victory shall echo all over the battlefield!";
+ close2;
+ warp "bat_room",57,223;
+ end;
+ }
+ }
+ }
+ }
+ }
+ break;
+ case 2:
+ mes "[Guillaume Army Officer]";
+ mes "Today, we shall be victorious!";
+ break;
+ }
+ close;
+}
+
+bat_room,140,178,5 script Tierra Gorge Officer#02a 418,{
+ if (checkweight(1201,1) == 0) {
+ mes "- Wait a minute !! -";
+ mes "- Currently you're carrying -";
+ mes "- too many items with you. -";
+ mes "- Please try again -";
+ mes "- after you loose some weight. -";
+ close;
+ }
+ mes "[Guillaume Army Officer]";
+ mes "Let's show the power of the Guillaume Army to those stinky Croixs!";
+ next;
+ switch(select("I want to join your army!:End Conversation")) {
+ case 1:
+ if ((Class == job_Novice) || (BaseClass == Job_Supernovice)) {
+ mes "[Guillaume Army Officer]";
+ mes "I'm very pleased that you want to join us and fight the Croix Army, but I'm sorry: I can't send a rookie like you to die on the cruel battlefield.";
+ }
+ else {
+ if (BaseLevel < 80) {
+ mes "[Guillaume Army Officer]";
+ mes "I'm very pleased that you want to join us and fight the Croix Army, but I'm sorry: I can't send a rookie like you to die on the cruel battlefield.";
+ }
+ else {
+ set .@chk_urtime,checkquest(2069,PLAYTIME);
+ if (.@chk_urtime == 1) {
+ mes "[Guillaume Army Officer]";
+ mes "You seem to have just returned from the battlefield.";
+ mes "It's too early for you to go back. Go rest, and leave the enemies to us!";
+ }
+ else {
+ if (.@chk_urtime == 2)
+ erasequest 2069;
+ set .@mapcount,getmapusers("bat_a02");
+ if (.@mapcount > 0) {
+ mes "[Guillaume Army Officer]";
+ mes "I've received a report informing me that an elite corps has been dispatched to the battlefield fighting the Croixs already.";
+ mes "Why don't you go wait for a while? I suggest you sharpen your weapons and prepare your supplies until then.";
+ }
+ else {
+ if ($@TierraBG2) {
+ mes "[Guillaume Army Officer]";
+ mes "An elite corps is already standing by to be dispatched to the battlefield.";
+ mes "Why don't you go wait for a while? I suggest you sharpen your weapons and prepare your supplies until then.";
+ }
+ else {
+ mes "[Guillaume Army Officer]";
+ mes "You definitely seem to be ready for battle!";
+ mes "Go show the Croixs what fear truly means!";
+ mes "Today, our cry of victory shall echo all over the battlefield!";
+ close2;
+ warp "bat_room",114,223;
+ end;
+ }
+ }
+ }
+ }
+ }
+ break;
+ case 2:
+ mes "[Guillaume Army Officer]";
+ mes "Today, we shall be victorious!";
+ break;
+ }
+ close;
+}
+
+bat_room,127,178,5 script Guillaume Knight#1 417,{
+ mes "[Guillaume Knight]";
+ mes "Tierra Gorge consists of two steep sides placed vertically, and has ration depots for the Guillaume and Croix Armies at the 11 and 7 o'clock directions.";
+ next;
+ mes "[Guillaume Knight]";
+ mes "The battle starts at your army's ship, and the goal is to advance and destroy your enemy's rations depot faster than they can destroy yours.";
+ next;
+ mes "[Guillaume Knight]";
+ mes "The healer of the battlefield will resurrect soldiers once every 25 seconds so that they can rejoin the battle.";
+ mes "The army that captures the neutral flag in the center of the battlefield will be rewarded with extra regeneration points, meaning their soldiers will resurrect more than the other side, giving them an advantage.";
+ next;
+ mes "[Guillaume Knight]";
+ mes "Those two rations depots are connected to each other through short and narrow paths, but the gates are blocked with barricades.";
+ mes "Think and move as quickly as you can. The victory of your army relies on your contribution.";
+ next;
+ mes "[Guillaume Knight]";
+ mes "Please remember: when you join a battle, you will receive a token which indicates the set duration for which you cannot participate in the same type of battle.";
+ mes "You may check the duration by pressing the Alt+U keys.";
+ next;
+ mes "[Guillaume Knight]";
+ mes "Are you ready to battle? Then apply with the recruiter next to me!";
+ close;
+}
+
+bat_room,143,178,5 script Guillaume Knight#2 417,{
+ mes "[Guillaume Knight]";
+ mes "Tierra Gorge consists of two steep sides placed vertically, and has ration depots for the Guillaume and Croix Armies at the 11 and 7 o'clock directions.";
+ next;
+ mes "[Guillaume Knight]";
+ mes "The battle starts at your army's ship, and the goal is to advance and destroy your enemy's rations depot faster than they can destroy yours.";
+ next;
+ mes "[Guillaume Knight]";
+ mes "The healer of the battlefield will resurrect soldiers once every 25 seconds so that they can rejoin the battle.";
+ mes "The army that captures the neutral flag in the center of the battlefield will be rewarded with extra regeneration points, meaning their soldiers will resurrect more than the other side, giving them an advantage.";
+ next;
+ mes "[Guillaume Knight]";
+ mes "Those two rations depots are connected to each other through short and narrow paths, but the gates are blocked with barricades.";
+ mes "Think and move as quickly as you can. The victory of your army relies on your contribution.";
+ next;
+ mes "[Guillaume Knight]";
+ mes "Please remember: when you join a battle, you will receive a token which indicates the set duration for which you cannot participate in the same type of battle.";
+ mes "You may check the duration by pressing the Alt+U keys.";
+ next;
+ mes "[Guillaume Knight]";
+ mes "Are you ready to battle? Then apply with the recruiter next to me!";
+ close;
+}
+
+bat_room,127,121,1 script Croix Knight#1 413,{
+ mes "[Croix Knight]";
+ mes "Tierra Gorge consists of two steep sides placed vertically, and has ration depots for the Guillaume and Croix Armies at the 11 and 7 o'clock directions.";
+ next;
+ mes "[Croix Knight]";
+ mes "The battle starts at your army's ship, and the goal is to advance and destroy your enemy's rations depot faster than they can destroy yours.";
+ next;
+ mes "[Croix Knight]";
+ mes "The healer of the battlefield will resurrect soldiers once every 25 seconds so that they can rejoin the battle.";
+ mes "The army that captures the neutral flag in the center of the battlefield will be rewarded with extra regeneration points, meaning their soldiers will resurrect more than the other side, giving them an advantage.";
+ next;
+ mes "[Croix Knight]";
+ mes "Those two rations depots are connected to each other through short and narrow paths, but the gates are blocked with barricades.";
+ mes "Think and move as quickly as you can. The victory of your army relies on your contribution.";
+ next;
+ mes "[Croix Knight]";
+ mes "Please remember: when you join a battle, you will receive a token which indicates the set duration for which you cannot participate in the same type of battle.";
+ mes "You may check the duration by pressing the Alt+U keys.";
+ next;
+ mes "[Croix Knight]";
+ mes "Are you ready to battle? Then apply with the recruiter next to me!";
+ close;
+}
+
+bat_room,143,121,1 script Croix Knight#2 413,{
+ mes "[Croix Knight]";
+ mes "Tierra Gorge consists of two steep sides placed vertically, and has ration depots for the Guillaume and Croix Armies at the 11 and 7 o'clock directions.";
+ next;
+ mes "[Croix Knight]";
+ mes "The battle starts at your army's ship, and the goal is to advance and destroy your enemy's rations depot faster than they can destroy yours.";
+ next;
+ mes "[Croix Knight]";
+ mes "The healer of the battlefield will resurrect soldiers once every 25 seconds so that they can rejoin the battle.";
+ mes "The army that captures the neutral flag in the center of the battlefield will be rewarded with extra regeneration points, meaning their soldiers will resurrect more than the other side, giving them an advantage.";
+ next;
+ mes "[Croix Knight]";
+ mes "Those two rations depots are connected to each other through short and narrow paths, but the gates are blocked with barricades.";
+ mes "Think and move as quickly as you can. The victory of your army relies on your contribution.";
+ next;
+ mes "[Croix Knight]";
+ mes "Please remember: when you join a battle, you will receive a token which indicates the set duration for which you cannot participate in the same type of battle.";
+ mes "You may check the duration by pressing the Alt+U keys.";
+ next;
+ mes "[Croix Knight]";
+ mes "Are you ready to battle? Then apply with the recruiter next to me!";
+ close;
+}
+
+// Second Tierra Gorge Officers - Croix
+//============================================================
+bat_room,125,121,1 script Tierra Gorge Officer#01b 414,{
+ if (checkweight(1201,1) == 0) {
+ mes "- Wait a minute !! -";
+ mes "- Currently you're carrying -";
+ mes "- too many items with you. -";
+ mes "- Please try again -";
+ mes "- after you loose some weight. -";
+ close;
+ }
+ mes "[Croix Army Officer]";
+ mes "Let's show the power of the Croix Army to those stinky Guillaumes!";
+ next;
+ switch(select("I want to join your army!:End Conversation")) {
+ case 1:
+ if ((Class == job_Novice) || (BaseClass == Job_Supernovice)) {
+ mes "[Croix Army Officer]";
+ mes "I'm very pleased that you want to join us and fight the Guillaume Army, but I'm sorry: I can't send a rookie like you to die on the cruel battlefield.";
+ }
+ else {
+ if (BaseLevel < 80) {
+ mes "[Croix Army Officer]";
+ mes "I'm very pleased that you want to join us and fight the Guillaume Army, but I'm sorry: I can't send a rookie like you to die on the cruel battlefield.";
+ }
+ else {
+ set .@chk_urtime,checkquest(2069,PLAYTIME);
+ if ((.@chk_urtime == 0)|| (.@chk_urtime == 1)) {
+ mes "[Croix Army Officer]";
+ mes "You seem to have just returned from the battlefield.";
+ mes "It's too early for you to go back. Go rest, and leave the enemies to us!";
+ }
+ else {
+ if (.@chk_urtime == 2)
+ erasequest 2069;
+ set .@mapcount,getmapusers("bat_a02");
+ if (.@mapcount > 0) {
+ mes "[Croix Army Officer]";
+ mes "I've received a report informing me that an elite corps has been dispatched to the battlefield fighting the Guillaume already.";
+ mes "Why don't you go wait for a while? I suggest you sharpen your weapons and prepare your supplies until then.";
+ }
+ else {
+ if ($@TierraBG1) {
+ mes "[Croix Army Officer]";
+ mes "An elite corps is already standing by to be dispatched to the battlefield.";
+ mes "Why don't you go wait for a while? I suggest you sharpen your weapons and prepare your supplies until then.";
+ }
+ else {
+ mes "[Croix Army Officer]";
+ mes "You definitely seem to be ready for battle!";
+ mes "Go show the Guillaumes what fear truly means!";
+ mes "Today, our cry of victory shall echo all over the battlefield!";
+ close2;
+ warp "bat_room",57,207;
+ end;
+ }
+ }
+ }
+ }
+ }
+ break;
+ case 2:
+ mes "[Croix Army Officer]";
+ mes "Today, we shall be victorious!";
+ break;
+ }
+ close;
+}
+
+bat_room,140,121,1 script Tierra Gorge Officer#02b 414,{
+ if (checkweight(1201,1) == 0) {
+ mes "- Wait a minute !! -";
+ mes "- Currently you're carrying -";
+ mes "- too many items with you. -";
+ mes "- Please try again -";
+ mes "- after you loose some weight. -";
+ close;
+ }
+ mes "[Croix Army Officer]";
+ mes "Let's show the power of the Croix Army to those stinky Guillaumes!";
+ next;
+ switch(select("I want to join your army!:End Conversation")) {
+ case 1:
+ if ((Class == job_Novice) || (BaseClass == Job_Supernovice)) {
+ mes "[Croix Army Officer]";
+ mes "I'm very pleased that you want to join us and fight the Guillaume Army, but I'm sorry: I can't send a rookie like you to die on the cruel battlefield.";
+ }
+ else {
+ if (BaseLevel < 80) {
+ mes "[Croix Army Officer]";
+ mes "I'm very pleased that you want to join us and fight the Guillaume Army, but I'm sorry: I can't send a rookie like you to die on the cruel battlefield.";
+ }
+ else {
+ set .@chk_urtime,checkquest(2069,PLAYTIME);
+ if (.@chk_urtime == 1) {
+ mes "[Croix Army Officer]";
+ mes "You seem to have just returned from the battlefield.";
+ mes "It's too early for you to go back. Go rest, and leave the enemies to us!";
+ }
+ else {
+ if (.@chk_urtime == 2)
+ erasequest 2069;
+ set .@mapcount,getmapusers("bat_a02");
+ if (.@mapcount > 0) {
+ mes "[Croix Army Officer]";
+ mes "I've received a report informing me that an elite corps has been dispatched to the battlefield fighting the Guillaume already.";
+ mes "Why don't you go wait for a while? I suggest you sharpen your weapons and prepare your supplies until then.";
+ }
+ else {
+ if ($@TierraBG2) {
+ mes "[Croix Army Officer]";
+ mes "An elite corps is already standing by to be dispatched to the battlefield.";
+ mes "Why don't you go wait for a while? I suggest you sharpen your weapons and prepare your supplies until then.";
+ }
+ else {
+ mes "[Croix Army Officer]";
+ mes "You definitely seem to be ready for battle!";
+ mes "Go show the Guillaumes what fear truly means!";
+ mes "Today, our cry of victory shall echo all over the battlefield!";
+ close2;
+ warp "bat_room",114,207;
+ end;
+ }
+ }
+ }
+ }
+ }
+ break;
+ case 2:
+ mes "[Croix Army Officer]";
+ mes "Today, we shall be victorious!";
+ break;
+ }
+ close;
+}