Sfoglia il codice sorgente

Added the acolyte-specific arena to the Izlude arena.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14366 54d463be-8e91-2dee-dedb-b68131a5f0ec
L0ne_W0lf 15 anni fa
parent
commit
900680b81e
3 ha cambiato i file con 1852 aggiunte e 0 eliminazioni
  1. 2 0
      npc/Changelog.txt
  2. 1848 0
      npc/other/arena/arena_aco.txt
  3. 2 0
      npc/scripts_athena.conf

+ 2 - 0
npc/Changelog.txt

@@ -1,5 +1,7 @@
 Date		Added
 ======
+2010/07/29
+	* Rev. 14366 Added the acolyte-specific arena to the Izlude arena. [L0ne_W0lf]
 2010/07/08
 	* Rev. 14362 Official Lighthalzen Gangster Alert script. [Gepard]
 	- Fixed typo in Amatsu Dungeon Entrance Quest.

+ 1848 - 0
npc/other/arena/arena_aco.txt

@@ -0,0 +1,1848 @@
+//===== eAthena Script ========================================
+//= Izlude Arena script
+//===== By: ==================================================
+//= L0ne_W0lf
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= Any Athena Version
+//===== Description: =========================================
+//= Izlude Acolyte Battle Arena
+//===== Additional Comments: =================================
+//= 1.0 First version.
+//============================================================
+
+arena_room,114,102,0	script	onlyaco#arena	45,1,1,{
+OnTouch:
+	if (baseclass == job_acolyte && baselevel > 9) {
+		warp "arena_room",135,129;
+		end;
+	}
+	else {
+		mes "Only Acolyte class are applicable to join this mode.";
+		close;
+	}
+}
+
+arena_room,135,126,0	warp	byeaco#arena	1,1,arena_room,111,99
+
+arena_room,136,138,3	script	Acolyte Waiting Room	124,{
+	end;
+
+OnInit:
+	//setarenaeventsize 1
+	waitingroom "Personal Force, Acolyte Class",50,"Acolyte Waiting Room::OnStartArena",1;
+	//SetReqLevel 10 99
+	//SetFeeZeny 1000
+	enablewaitingroomevent;
+	end;
+
+OnStartArena:
+	warpwaitingpc "force_5-1",99,12;
+	enablenpc "arena#aco";
+	disablewaitingroomevent;
+	end;
+
+Onstart:
+	enablewaitingroomevent;
+	end;
+}
+
+force_5-1,100,12,0	script	arena#aco	-1,5,5,{
+OnTouch:
+	donpcevent "allkill#aco::OnEnable";
+	if (basejob == job_acolyte) {
+		donpcevent "arena_aco1::Onstart";
+	}
+	else {
+		donpcevent "arena_aco2::Onstart";
+	}
+	disablenpc "arena#aco";
+	end;
+}
+
+force_5-1,61,147,3	script	arena_aco1	-1,{
+Onstart:
+	donpcevent "Trocco#aco1::OnEnable";
+	end;
+
+Onreset_01:
+	enablenpc "force_01_02#aco";
+	enablenpc "force_02start#aco";
+	end;
+
+Onreset_02:
+	donpcevent "force_02mob#aco::Onreset";
+	enablenpc "force_02_03#aco";
+	enablenpc "force_03start#aco";
+	end;
+
+Onreset_03:
+	enablenpc "force_03_04#aco";
+	enablenpc "force_04start#aco";
+	end;
+
+Onreset_04:
+	enablenpc "force_04_05#aco";
+	enablenpc "force_05start#aco";
+	end;
+
+Onreset_05:
+	enablenpc "force_05_06#aco";
+	enablenpc "force_06start#aco";
+	end;
+
+Onreset_06:
+	enablenpc "force_06_07#aco";
+	enablenpc "force_07start#aco";
+	end;
+
+Onreset_07:
+	enablenpc "force_07_08#aco";
+	enablenpc "force_08start#aco";
+	end;
+
+Onreset_08:
+	enablenpc "force_08_09#aco";
+	enablenpc "force_09start#aco";
+	end;
+
+Onreset_09:
+	enablenpc "force_exit#aco";
+	end;
+}
+
+force_5-1,80,60,3	script	Trocco#aco1	-1,{
+OnEnable:
+	initnpctimer;
+	set $@arn_1,gettimetick(2);
+	end;
+
+OnTimer2000:
+	mapannounce "force_5-1","Good day! I am Trocco, your host for the Acolyte Class Time Force Battle!",bc_map|bc_npc;
+	end;
+
+OnTimer3000:
+	mapannounce "force_5-1","Make your decisions carefully. Here, the right choices make the difference between victory and defeat!",bc_map|bc_npc;
+	end;
+
+OnTimer4000:
+	mapannounce "force_5-1","You now have 8 minutes to complete this challenge. Enter the Left Entrance now to begin. Remember that you will be traveling clockwise as you clear the stages.",bc_map|bc_npc;
+	end;
+
+OnTimer60000:
+	if (getmapusers("force_5-1.gat") == 0) {
+		donpcevent "Trocco#aco1::Onfailclearstage";
+	}
+	mapannounce "force_5-1","Time left: 7 Minutes",bc_map|bc_npc;
+	end;
+
+OnTimer120000:
+	if (getmapusers("force_5-1.gat") == 0) {
+		donpcevent "Trocco#aco1::Onfailclearstage";
+	}
+	mapannounce "force_5-1","Time left: 6 Minutes",bc_map|bc_npc;
+	end;
+
+OnTimer180000:
+	if (getmapusers("force_5-1.gat") == 0) {
+		donpcevent "Trocco#aco1::Onfailclearstage";
+	}
+	mapannounce "force_5-1","Time left: 5 Minutes",bc_map|bc_npc;
+	end;
+
+OnTimer240000:
+	if (getmapusers("force_5-1.gat") == 0) {
+		donpcevent "Trocco#aco1::Onfailclearstage";
+	}
+	mapannounce "force_5-1","Time left: 4 Minutes",bc_map|bc_npc;
+	end;
+
+OnTimer300000:
+	if (getmapusers("force_5-1.gat") == 0) {
+		donpcevent "Trocco#aco1::Onfailclearstage";
+	}
+	mapannounce "force_5-1","Time left: 3 Minutes",bc_map|bc_npc;
+	end;
+
+OnTimer360000:
+	if (getmapusers("force_5-1.gat") == 0) {
+		donpcevent "Trocco#aco1::Onfailclearstage";
+	}
+	mapannounce "force_5-1","Time left: 2 Minutes",bc_map|bc_npc;
+	end;
+
+OnTimer420000:
+	if (getmapusers("force_5-1.gat") == 0) {
+		donpcevent "Trocco#aco1::Onfailclearstage";
+	}
+	mapannounce "force_5-1","Time left: 1 Minute",bc_map|bc_npc;
+	end;
+
+OnTimer480000:
+	mapannounce "force_5-1","Time's up! I hope you had fun!",bc_map|bc_npc;
+	end;
+
+OnTimer485000:
+OnTimer486000:
+OnTimer487000:
+OnTimer488000:
+OnTimer489000:
+OnTimer490000:
+OnTimer491000:
+OnTimer492000:
+OnTimer493000:
+OnTimer494000:
+	mapwarp "force_5-1","prt_are_in",177,86;
+	end;
+
+OnTimer495000:
+	mapwarp "force_5-1","prt_are_in",177,86;
+	donpcevent "Trocco#aco1::Onfailclearstage";
+	end;
+
+Ontimeroff:
+	stopnpctimer;
+	end;
+
+Onfailclearstage:
+	mapwarp "force_5-1","prt_are_in",177,86;
+	donpcevent "Trocco#aco1::Ontimeroff";
+	donpcevent "arena_aco1::Onreset";
+	donpcevent "Acolyte Waiting Room::OnStart";
+	end;
+
+On01_start:
+	mapannounce "force_5-1","Objective: Destroy all Red Plants!",bc_map|bc_npc;
+	end;
+
+On01_end:
+	mapannounce "force_5-1","The North Exit has opened!",bc_map|bc_npc;
+	end;
+
+On02_start:
+	mapannounce "force_5-1","Objective: Kill at least 10 Drops!",bc_map|bc_npc;
+	end;
+
+On02_end:
+	mapannounce "force_5-1","The North Exit has opened!",bc_map|bc_npc;
+	end;
+
+On03_start:
+	mapannounce "force_5-1","Objective: Terminate all Zombies!",bc_map|bc_npc;
+	end;
+
+On03_end:
+	mapannounce "force_5-1","The East Exit has opened!",bc_map|bc_npc;
+	end;
+
+On04_start:
+	mapannounce "force_5-1","As a courtesy, we'll restore some of your HP and SP. Now, head to the next room! Go go go!!",bc_map|bc_npc;
+	end;
+
+On05_start:
+	mapannounce "force_5-1","Objective: Obliterate all Orc Zombies!",bc_map|bc_npc;
+	end;
+
+On05_end:
+	mapannounce "force_5-1","The South Exit has opened!",bc_map|bc_npc;
+	end;
+
+On06_start:
+	mapannounce "force_5-1","Objective: Reach the South Exit while dodging Hydras!",bc_map|bc_npc;
+	end;
+
+On07_start:
+	mapannounce "force_5-1","Objective: Kill all Archer Skeletons and Firelock Soldiers!",bc_map|bc_npc;
+	end;
+
+On07_end:
+	mapannounce "force_5-1","The West Exit has opened!",bc_map|bc_npc;
+	end;
+
+On08_start:
+	mapannounce "force_5-1","Objective: Boss Battle. Please proceed to the room to the north!",bc_map|bc_npc;
+	end;
+
+On09_start:
+	mapannounce "force_5-1","Objective: Kill Zombie Prisoners, Skel Prisoners and Zombie Troops!",bc_map|bc_npc;
+	end;
+
+On09_end:
+	mapannounce "force_5-1","Boss Defeated! The North Exit has opened. Thank you.",bc_map|bc_npc;
+	end;
+}
+
+force_5-1,40,26,0	script	force_01start#aco	-1,1,1,{
+OnTouch:
+	donpcevent "force_01mob#aco::OnEnable";
+	disablenpc "force_01start#aco";
+	end;
+}
+
+force_5-1,10,56,4	script	force_01mob#aco	111,{
+OnEnable:
+	donpcevent "Trocco#aco1::On01_start";
+	monster "force_5-1",22,29,"Red Plant",1078,1,"force_01mob#aco::OnMyMobDead";
+	monster "force_5-1",29,29,"Red Plant",1078,1,"force_01mob#aco::OnMyMobDead";
+	monster "force_5-1",29,22,"Red Plant",1078,1,"force_01mob#aco::OnMyMobDead";
+	monster "force_5-1",22,22,"Red Plant",1078,1,"force_01mob#aco::OnMyMobDead";
+	monster "force_5-1",25,25,"Red Plant",1078,1,"force_01mob#aco::OnMyMobDead";
+	end;
+
+Onreset:
+	killmonster "force_5-1","force_01mob#aco::OnMyMobDead";
+	end;
+
+OnMyMobDead:
+	if (mobcount("force_5-1","force_01mob#aco::OnMyMobDead") < 1) {
+		donpcevent "Trocco#aco1::On01_end";
+		donpcevent "arena_aco1::Onreset_01";
+	}
+	end;
+}
+
+force_5-1,25,69,0	script	force_02start#aco	-1,1,1,{
+OnTouch:
+	set $@drop_gate,0;
+	donpcevent "force_02mob#aco::OnEnable";
+	disablenpc "force_02start#aco";
+	end;
+}
+
+force_5-1,10,57,4	script	force_02mob#aco	111,{
+OnEnable:
+	donpcevent "Trocco#aco1::On02_start";
+	areamonster "force_5-1",22,69,29,130,"Drops",1572,20,"force_02mob#aco::OnMyMobDead";
+	end;
+
+Onreset:
+	killmonster "force_5-1","force_02mob#aco::OnMyMobDead";
+	end;
+
+OnMyMobDead:
+	if ((mobcount("force_5-1","force_02mob#aco::OnMyMobDead") < 11) && ($@drop_gate == 0)) {
+		set $@drop_gate,1;
+		donpcevent "Trocco#aco1::On02_end";
+		donpcevent "arena_aco1::Onreset_02";
+	}
+	end;
+}
+
+force_5-1,25,159,0	script	force_03start#aco	-1,1,1,{
+OnTouch:
+	donpcevent "force_03mob#aco::OnEnable";
+	disablenpc "force_03start#aco";
+}
+
+force_5-1,10,58,4	script	force_03mob#aco	111,{
+OnEnable:
+	donpcevent "Trocco#aco1::On03_start";
+	areamonster "force_5-1",9,157,41,190,"Zombie",1394,10,"force_03mob#aco::OnMyMobDead";
+	end;
+
+Onreset:
+	killmonster "force_5-1","force_03mob#aco::OnMyMobDead";
+	end;
+
+OnMyMobDead:
+	if (mobcount("force_5-1","force_03mob#aco::OnMyMobDead") < 1) {
+		donpcevent "Trocco#aco1::On03_end";
+		donpcevent "arena_aco1::Onreset_03";
+	}
+	end;
+}
+
+force_5-1,69,174,0	script	force_04start#aco	-1,1,1,{
+OnTouch:
+	donpcevent "Trocco#aco1::On04_start";
+	donpcevent "arena_aco1::Onreset_04";
+	percentheal 50,50;
+	disablenpc "force_04start#aco";
+	end;
+}
+
+force_5-1,159,174,0	script	force_05start#aco	-1,1,1,{
+OnTouch:
+	donpcevent "force_05mob#aco::OnEnable";
+	disablenpc "force_05start#aco";
+	end;
+}
+
+force_5-1,10,59,4	script	force_05mob#aco	111,{
+OnEnable:
+	donpcevent "Trocco#aco1::On05_start";
+	areamonster "force_5-1",159,157,187,190,"Orc Zombie",1463,8,"force_05mob#aco::OnMyMobDead";
+	end;
+
+Onreset:
+	killmonster "force_5-1","force_05mob#aco::OnMyMobDead";
+	end;
+
+OnMyMobDead:
+	if (mobcount("force_5-1","force_05mob#aco::OnMyMobDead") < 1) {
+		donpcevent "Trocco#aco1::On05_end";
+		donpcevent "arena_aco1::Onreset_05";
+	}
+	end;
+}
+
+force_5-1,174,130,0	script	force_06start#aco	-1,1,1,{
+OnTouch:
+	donpcevent "force_06mob#aco::OnEnable";
+	donpcevent "arena_aco1::Onreset_06";
+	disablenpc "force_06start#aco";
+	end;
+}
+
+force_5-1,10,60,4	script	force_06mob#aco	111,{
+OnEnable:
+	donpcevent "Trocco#aco1::On06_start";
+	monster "force_5-1",170,124,"Hydra",1579,1,"force_06mob#aco::OnMyMobDead";
+	monster "force_5-1",170,121,"Hydra",1579,1,"force_06mob#aco::OnMyMobDead";
+	monster "force_5-1",173,116,"Hydra",1579,1,"force_06mob#aco::OnMyMobDead";
+	monster "force_5-1",175,113,"Hydra",1579,1,"force_06mob#aco::OnMyMobDead";
+	monster "force_5-1",175,110,"Hydra",1579,1,"force_06mob#aco::OnMyMobDead";
+	monster "force_5-1",170,106,"Hydra",1579,1,"force_06mob#aco::OnMyMobDead";
+	monster "force_5-1",173,106,"Hydra",1579,1,"force_06mob#aco::OnMyMobDead";
+	monster "force_5-1",176,106,"Hydra",1579,1,"force_06mob#aco::OnMyMobDead";
+	monster "force_5-1",179,106,"Hydra",1579,1,"force_06mob#aco::OnMyMobDead";
+	monster "force_5-1",174,100,"Hydra",1579,1,"force_06mob#aco::OnMyMobDead";
+	monster "force_5-1",174,96,"Hydra",1579,1,"force_06mob#aco::OnMyMobDead";
+	monster "force_5-1",174,92,"Hydra",1579,1,"force_06mob#aco::OnMyMobDead";
+	monster "force_5-1",174,88,"Hydra",1579,1,"force_06mob#aco::OnMyMobDead";
+	monster "force_5-1",170,80,"Hydra",1579,1,"force_06mob#aco::OnMyMobDead";
+	monster "force_5-1",173,80,"Hydra",1579,1,"force_06mob#aco::OnMyMobDead";
+	monster "force_5-1",176,80,"Hydra",1579,1,"force_06mob#aco::OnMyMobDead";
+	monster "force_5-1",179,80,"Hydra",1579,1,"force_06mob#aco::OnMyMobDead";
+	end;
+
+Onreset:
+	killmonster "force_5-1","force_06mob#aco::OnMyMobDead";
+	end;
+
+OnMyMobDead:
+	end;
+}
+
+force_5-1,174,40,0	script	force_07start#aco	-1,1,1,{
+OnTouch:
+	donpcevent "force_07mob#aco::OnEnable";
+	disablenpc "force_07start#aco";
+}
+
+force_5-1,10,61,4	script	force_07mob#aco	111,{
+OnEnable:
+	donpcevent "Trocco#aco1::On07_start";
+	monster "force_5-1",170,32,"Archer Skeleton",1420,1,"force_07mob#aco::OnMyMobDead";
+	monster "force_5-1",184,23,"Archer Skeleton",1420,1,"force_07mob#aco::OnMyMobDead";
+	monster "force_5-1",165,9,"Archer Skeleton",1420,1,"force_07mob#aco::OnMyMobDead";
+	monster "force_5-1",184,15,"Firelock Soldier",1523,1,"force_07mob#aco::OnMyMobDead";
+	monster "force_5-1",189,23,"Firelock Soldier",1523,1,"force_07mob#aco::OnMyMobDead";
+	end;
+
+Onreset:
+	killmonster "force_5-1","force_07mob#aco::OnMyMobDead";
+	end;
+
+OnMyMobDead:
+	if (mobcount("force_5-1","force_07mob#aco::OnMyMobDead") < 1) {
+		donpcevent "Trocco#aco1::On07_end";
+		donpcevent "arena_aco1::Onreset_07";
+	}
+	end;
+}
+
+force_5-1,132,26,0	script	force_08start#aco	-1,1,1,{
+OnTouch:
+	percentheal 50,50;
+	donpcevent "Trocco#aco1::On08_start";
+	donpcevent "arena_aco1::Onreset_08";
+	disablenpc "force_08start#aco";
+	end;
+}
+
+force_5-1,99,82,0	script	force_09start#aco	-1,1,1,{
+OnTouch:
+	donpcevent "Trocco#aco1::On09_start";
+	donpcevent "force_09mob#aco::OnEnable";
+	disablenpc "force_09start#aco";
+	end;
+}
+
+force_5-1,10,62,4	script	force_09mob#aco	111,{
+OnEnable:
+	monster "force_5-1",rand(88,111),rand(89,110),"Zombie Prisoner",1480,1,"force_09mob#aco::OnMyMobDead";
+	monster "force_5-1",rand(88,111),rand(89,110),"Skel Prisoner",1479,1,"force_09mob#aco::OnMyMobDead";
+	areamonster "force_5-1",88,89,111,110,"Zombie",1394,4,"force_09mob#aco::OnMyMobDead";
+	end;
+
+Onreset:
+	killmonster "force_5-1","force_09mob#aco::OnMyMobDead";
+	end;
+
+OnMyMobDead:
+	if (mobcount("force_5-1","force_09mob#aco::OnMyMobDead") < 1) {
+		donpcevent "Trocco#aco1::On09_end";
+		set $@arn_2,gettimetick(2);
+		donpcevent "arena_aco1::Onreset_09";
+	}
+	end;
+}
+
+force_5-1,61,148,3	script	arena_aco2	111,{
+Onstart:
+	donpcevent "Trocco#aco2::OnEnable";
+	end;
+
+Onreset_01:
+	enablenpc "force_01_02#aco";
+	enablenpc "force_02start#pri";
+	end;
+
+Onreset_02:
+	donpcevent "force_02mob#pri::Onreset";
+	enablenpc "force_02_03#aco";
+	enablenpc "force_03start#pri";
+	end;
+
+Onreset_03:
+	enablenpc "force_03_04#aco";
+	enablenpc "force_04start#pri";
+	end;
+
+Onreset_04:
+	enablenpc "force_04_05#aco";
+	enablenpc "force_05start#pri";
+	end;
+
+Onreset_05:
+	enablenpc "force_05_06#aco";
+	enablenpc "force_06start#pri";
+	end;
+
+Onreset_06:
+	enablenpc "force_06_07#aco";
+	enablenpc "force_07start#pri";
+	end;
+
+Onreset_07:
+	enablenpc "force_07_08#aco";
+	enablenpc "force_08start#pri";
+	end;
+
+Onreset_08:
+	enablenpc "force_08_09#aco";
+	enablenpc "force_09start#pri";
+	end;
+
+Onreset_09:
+	enablenpc "force_exit#aco";
+}
+
+force_5-1,80,65,3	script	Trocco#aco2	111,{
+OnEnable:
+	initnpctimer;
+	set $@arn_1,gettimetick(2);
+	end;
+
+OnTimer2000:
+	mapannounce "force_5-1","Good day! I am Trocco, your host for the Acolyte Class Time Force Battle!",bc_map|bc_npc;
+	end;
+
+OnTimer3000:
+	mapannounce "force_5-1","Make your decisions carefully. Here, the right choices make the difference between victory and defeat!",bc_map|bc_npc;
+	end;
+
+OnTimer4000:
+	mapannounce "force_5-1","You now have 8 minutes to complete this challenge. Enter the Left Entrance now to begin. Remember that you will be traveling clockwise as you clear the stages.",bc_map|bc_npc;
+	end;
+
+OnTimer60000:
+	if (getmapusers("force_5-1.gat") == 0) {
+		donpcevent "Trocco#aco2::Onfailclearstage";
+	}
+	mapannounce "force_5-1","Time left: 7 Minutes",bc_map|bc_npc;
+	end;
+
+OnTimer120000:
+	if (getmapusers("force_5-1.gat") == 0) {
+		donpcevent "Trocco#aco2::Onfailclearstage";
+	}
+	mapannounce "force_5-1","Time left: 6 Minutes",bc_map|bc_npc;
+	end;
+
+OnTimer180000:
+	if (getmapusers("force_5-1.gat") == 0) {
+		donpcevent "Trocco#aco2::Onfailclearstage";
+	}
+	mapannounce "force_5-1","Time left: 5 Minutes",bc_map|bc_npc;
+	end;
+
+OnTimer240000:
+	if (getmapusers("force_5-1.gat") == 0) {
+		donpcevent "Trocco#aco2::Onfailclearstage";
+	}
+	mapannounce "force_5-1","Time left: 4 Minutes",bc_map|bc_npc;
+	end;
+
+OnTimer300000:
+	if (getmapusers("force_5-1.gat") == 0) {
+		donpcevent "Trocco#aco2::Onfailclearstage";
+	}
+	mapannounce "force_5-1","Time left: 3 Minutes",bc_map|bc_npc;
+	end;
+
+OnTimer360000:
+	if (getmapusers("force_5-1.gat") == 0) {
+		donpcevent "Trocco#aco2::Onfailclearstage";
+	}
+	mapannounce "force_5-1","Time left: 2 Minutes",bc_map|bc_npc;
+	end;
+
+OnTimer420000:
+	if (getmapusers("force_5-1.gat") == 0) {
+		donpcevent "Trocco#aco2::Onfailclearstage";
+	}
+	mapannounce "force_5-1","Time left: 1 Minute",bc_map|bc_npc;
+	end;
+
+OnTimer480000:
+	mapannounce "force_5-1","Time's up! I hope you had fun!",bc_map|bc_npc;
+	end;
+
+OnTimer485000:
+OnTimer486000:
+OnTimer487000:
+OnTimer488000:
+OnTimer489000:
+OnTimer490000:
+OnTimer491000:
+OnTimer492000:
+OnTimer493000:
+OnTimer494000:
+	mapwarp "force_5-1","prt_are_in",177,86;
+	end;
+
+OnTimer495000:
+	mapwarp "force_5-1","prt_are_in",177,86;
+	donpcevent "Trocco#aco2::Onfailclearstage";
+	end;
+
+Ontimeroff:
+	stopnpctimer;
+	end;
+
+Onfailclearstage:
+	mapwarp "force_5-1","prt_are_in",177,86;
+	donpcevent "Trocco#aco2::Ontimeroff";
+	donpcevent "arena_aco2::Onreset";
+	donpcevent "Acolyte Waiting Room::OnStart";
+	end;
+
+On01_start:
+	mapannounce "force_5-1","Objective: Kill all Zombies!",bc_map|bc_npc;
+	end;
+
+On01_end:
+	mapannounce "force_5-1","The North Exit has opened!",bc_map|bc_npc;
+	end;
+
+On02_start:
+	mapannounce "force_5-1","Objective: Defeat all monsters!",bc_map|bc_npc;
+	end;
+
+On02_end:
+	mapannounce "force_5-1","The North Exit has opened!",bc_map|bc_npc;
+	end;
+
+On03_start:
+	mapannounce "force_5-1","Objective: Destroy all Red Plants!",bc_map|bc_npc;
+	end;
+
+On03_end:
+	mapannounce "force_5-1","The East Exit has opened!",bc_map|bc_npc;
+	end;
+
+On04_start:
+	mapannounce "force_5-1","Objective: Obliterate every monster!",bc_map|bc_npc;
+	end;
+
+On04_end:
+	mapannounce "force_5-1","The East Exit has opened!",bc_map|bc_npc;
+	end;
+
+On05_start:
+	mapannounce "force_5-1","Objective: Defeat Gargoyle!",bc_map|bc_npc;
+	end;
+
+On05_end:
+	mapannounce "force_5-1","The South Exit has opened!",bc_map|bc_npc;
+	end;
+
+On06_start:
+	mapannounce "force_5-1","Objective: Kill all Khalitzburgs!",bc_map|bc_npc;
+	end;
+
+On06_end:
+	mapannounce "force_5-1","The South Exit has opened!",bc_map|bc_npc;
+	end;
+
+On07_start:
+	mapannounce "force_5-1","Objective: Kill 1 Ancient Mummy!",bc_map|bc_npc;
+	end;
+
+On07_end:
+	mapannounce "force_5-1","The West Exit has opened!",bc_map|bc_npc;
+	end;
+
+On08_start:
+	mapannounce "force_5-1","The time has come for the Boss Battle. Please move north into the next room...",bc_map|bc_npc;
+	end;
+
+On09_start:
+	mapannounce "force_5-1","Objective: Defeat the Boss Monster!",bc_map|bc_npc;
+	end;
+
+On09_end:
+	mapannounce "force_5-1","Boss Cleared! The North Exit has opened! Thank you.",bc_map|bc_npc;
+	end;
+}
+
+force_5-1,40,26,0	script	force_01start#pri	-1,1,1,{
+OnTouch:
+	donpcevent "force_01mob#pri::OnEnable";
+	disablenpc "force_01start#pri";
+	end;
+}
+
+force_5-1,10,56,4	script	force_01mob#pri	111,{
+OnEnable:
+	donpcevent "Trocco#aco2::On01_start";
+	areamonster "force_5-1",13,9,38,41,"Zombie",1394,10,"force_01mob#pri::OnMyMobDead";
+	end;
+
+Onreset:
+	killmonster "force_5-1","force_01mob#pri::OnMyMobDead";
+	end;
+
+OnMyMobDead:
+	if (mobcount("force_5-1","force_01mob#pri::OnMyMobDead") < 1) {
+		donpcevent "Trocco#aco2::On01_end";
+		donpcevent "arena_aco2::Onreset_01";
+	}
+	end;
+}
+
+force_5-1,25,69,0	script	force_02start#pri	-1,1,1,{
+OnTouch:
+	if (BaseLevel < 70) {
+		donpcevent "force_02mob#pri::OnOn1";
+	}
+	else {
+		donpcevent "force_02mob#pri::OnOn2";
+	}
+	disablenpc "force_02start#pri";
+	end;
+}
+
+force_5-1,10,57,4	script	force_02mob#pri	111,{
+OnOn1:
+	donpcevent "Trocco#aco2::On02_start";
+	areamonster "force_5-1",22,69,29,130,"Orc Skeleton",1462,5,"force_02mob#pri::OnMyMobDead";
+	end;
+
+OnOn2:
+	donpcevent "Trocco#aco2::On02_start";
+	areamonster "force_5-1",22,69,29,130,"Ghoul",1423,5,"force_02mob#pri::OnMyMobDead";
+	end;
+
+Onreset:
+	killmonster "force_5-1","force_02mob#pri::OnMyMobDead";
+	end;
+
+OnMyMobDead:
+	if (mobcount("force_5-1","force_02mob#pri::OnMyMobDead") < 1) {
+		donpcevent "Trocco#aco2::On02_end";
+		donpcevent "arena_aco2::Onreset_02";
+	}
+	end;
+}
+
+force_5-1,25,159,0	script	force_03start#pri	-1,1,1,{
+OnTouch:
+	donpcevent "force_03mob#pri::OnEnable";
+	disablenpc "force_03start#pri";
+	end;
+}
+
+force_5-1,10,58,4	script	force_03mob#pri	111,{
+OnEnable:
+	donpcevent "Trocco#aco2::On03_start";
+	areamonster "force_5-1",14,163,37,185,"Red Plant",1078,5,"force_03mob#pri::OnMyMobDead";
+	end;
+
+Onreset:
+	killmonster "force_5-1","force_03mob#pri::OnMyMobDead";
+	end;
+
+OnMyMobDead:
+	if (mobcount("force_5-1","force_03mob#pri::OnMyMobDead") < 1) {
+		donpcevent "Trocco#aco2::On03_end";
+		donpcevent "arena_aco2::Onreset_03";
+	}
+	end;
+}
+
+force_5-1,69,174,0	script	force_04start#pri	-1,1,1,{
+OnTouch:
+	if (BaseLevel < 90) {
+		donpcevent "force_04mob#pri::OnOn1";
+	}
+	else {
+		donpcevent "force_04mob#pri::OnOn2";
+	}
+	disablenpc "force_04start#pri";
+	end;
+}
+
+force_5-1,10,59,4	script	force_04mob#pri	111,{
+OnOn1:
+	donpcevent "Trocco#aco2::On04_start";
+	monster "force_5-1",rand(71,130),rand(170,178),"Evil Druid",1435,1,"force_04mob#pri::OnMyMobDead";
+	monster "force_5-1",rand(71,130),rand(170,178),"Wrath",1475,1,"force_04mob#pri::OnMyMobDead";
+	monster "force_5-1",rand(71,130),rand(170,178),"Zombie Prisoner",1480,1,"force_04mob#pri::OnMyMobDead";
+	monster "force_5-1",rand(71,130),rand(170,178),"Skel Prisoner",1479,1,"force_04mob#pri::OnMyMobDead";
+	end;
+
+OnOn2:
+	donpcevent "Trocco#aco2::On04_start";
+	areamonster "force_5-1",71,170,130,178,"Evil Druid",1435,2,"force_04mob#pri::OnMyMobDead";
+	areamonster "force_5-1",71,170,130,178,"Wrath",1475,2,"force_04mob#pri::OnMyMobDead";
+	areamonster "force_5-1",71,170,130,178,"Zombie Prisoner",1480,2,"force_04mob#pri::OnMyMobDead";
+	monster "force_5-1",rand(71,130),rand(170,178),"Skel Prisoner",1479,1,"force_04mob#pri::OnMyMobDead";
+	end;
+
+Onreset:
+	killmonster "force_5-1","force_04mob#pri::OnMyMobDead";
+	end;
+
+OnMyMobDead:
+	if (mobcount("force_5-1","force_04mob#pri::OnMyMobDead") < 1) {
+		donpcevent "Trocco#aco2::On04_end";
+		donpcevent "arena_aco2::Onreset_04";
+	}
+	end;
+}
+
+force_5-1,159,174,0	script	force_05start#pri	-1,1,1,{
+OnTouch:
+	donpcevent "force_05mob#pri::OnEnable";
+	if (BaseLevel < 70) {
+		donpcevent "force_05ex#pri::OnOn1";
+	}
+	else {
+		donpcevent "force_05ex#pri::OnOn2";
+	}
+	disablenpc "force_05start#pri";
+	end;
+}
+
+force_5-1,10,60,4	script	force_05ex#pri	111,{
+OnOn1:
+	areamonster "force_5-1",161,159,187,190,"Hydra",1579,10,"force_05ex#pri::OnMyMobDead";
+	end;
+
+OnOn2:
+	areamonster "force_5-1",161,159,187,190,"Penomena",1441,10,"force_05ex#pri::OnMyMobDead";
+	end;
+
+Onreset:
+	killmonster "force_5-1","force_05ex#pri::OnMyMobDead";
+	end;
+
+OnMyMobDead:
+	end;
+}
+
+force_5-1,10,61,4	script	force_05mob#pri	111,{
+OnEnable:
+	donpcevent "Trocco#aco2::On05_start";
+	areamonster "force_5-1",161,159,187,190,"Gargoyle",1597,4,"force_05mob#pri::OnMyMobDead";
+	end;
+
+Onreset:
+	killmonster "force_5-1","force_05mob#pri::OnMyMobDead";
+	end;
+
+OnMyMobDead:
+	if (mobcount("force_5-1","force_05mob#pri::OnMyMobDead") < 1) {
+		donpcevent "force_05ex#pri::Onreset";
+		donpcevent "Trocco#aco2::On05_end";
+		donpcevent "arena_aco2::Onreset_05";
+	}
+	end;
+}
+
+force_5-1,174,130,0	script	force_06start#pri	-1,1,1,{
+OnTouch:
+	donpcevent "force_06ex#pri::OnEnable";
+	if (BaseLevel < 70) {
+		donpcevent "force_06mob#pri::OnOn1";
+	}
+	else if (BaseLevel < 80) {
+		donpcevent "force_06mob#pri::OnOn2";
+	}
+	else {
+		donpcevent "force_06mob#pri::OnOn3";
+	}
+	disablenpc "force_06start#pri";
+	end;
+}
+
+force_5-1,10,62,4	script	force_06ex#pri	111,{
+OnEnable:
+	areamonster "force_5-1",170,67,178,131,"Permeter",1314,5,"force_06ex#pri::OnMyMobDead";
+	end;
+
+Onreset:
+	killmonster "force_5-1","force_06ex#pri::OnMyMobDead";
+	end;
+
+OnMyMobDead:
+	end;
+}
+
+force_5-1,10,63,4	script	force_06mob#pri	111,{
+OnOn1:
+	donpcevent "Trocco#aco2::On06_start";
+	monster "force_5-1",rand(170,178),rand(67,131),"Khalitzburg",1438,1,"force_06mob#pri::OnMyMobDead";
+	end;
+
+OnOn2:
+	donpcevent "Trocco#aco2::On06_start";
+	areamonster "force_5-1",170,67,178,131,"Khalitzburg",1438,2,"force_06mob#pri::OnMyMobDead";
+	end;
+
+OnOn3:
+	donpcevent "Trocco#aco2::On06_start";
+	areamonster "force_5-1",170,67,178,131,"Khalitzburg",1438,4,"force_06mob#pri::OnMyMobDead";
+	end;
+
+Onreset:
+	killmonster "force_5-1","force_06mob#pri::OnMyMobDead";
+	end;
+
+OnMyMobDead:
+	if (mobcount("force_5-1","force_06mob#pri::OnMyMobDead") < 1) {
+		donpcevent "force_06ex#pri::Onreset";
+		donpcevent "Trocco#aco2::On06_end";
+		donpcevent "arena_aco2::Onreset_06";
+	}
+	end;
+}
+
+force_5-1,174,40,0	script	force_07start#pri	-1,1,1,{
+OnTouch:
+	donpcevent "force_07mob#pri::OnEnable";
+	disablenpc "force_07start#pri";
+	end;
+}
+
+force_5-1,10,64,4	script	force_07mob#pri	111,{
+OnEnable:
+	donpcevent "Trocco#aco2::On07_start";
+	monster "force_5-1",rand(160,188),rand(9,42),"Ancient Mummy",1522,1,"force_07mob#pri::OnMyMobDead";
+	end;
+
+Onreset:
+	killmonster "force_5-1","force_07mob#pri::OnMyMobDead";
+	end;
+
+OnMyMobDead:
+	if (mobcount("force_5-1","force_07mob#pri::OnMyMobDead") < 1) {
+		donpcevent "Trocco#aco2::On07_end";
+		donpcevent "arena_aco2::Onreset_07";
+	}
+	end;
+}
+
+force_5-1,132,26,0	script	force_08start#pri	-1,1,1,{
+OnTouch:
+	donpcevent "Trocco#aco2::On08_start";
+	donpcevent "arena_aco2::Onreset_08";
+	disablenpc "force_08start#pri";
+	end;
+}
+
+force_5-1,99,82,0	script	force_09start#pri	-1,1,1,{
+OnTouch:
+	donpcevent "Trocco#aco2::On09_start";
+	if (BaseLevel < 70) {
+		donpcevent "force_09mob#pri::OnOn4";
+	}
+	else if (BaseLevel < 80) {
+		donpcevent "force_09mob#pri::OnOn1";
+	}
+	else if (BaseLevel < 90) {
+		donpcevent "force_09mob#pri::OnOn2";
+	}
+	else {
+		donpcevent "force_09mob#pri::OnOn3";
+	}
+	disablenpc "force_09start#pri";
+	end;
+}
+
+force_5-1,10,65,4	script	force_09mob#pri	111,{
+OnOn1:
+	monster "force_5-1",rand(88,111),rand(89,110),"Mimic",1474,1,"force_09mob#pri::OnMyMobDead";
+	end;
+
+OnOn2:
+	monster "force_5-1",rand(88,111),rand(89,110),"Wrath Dead",1566,1,"force_09mob#pri::OnMyMobDead";
+	end;
+
+OnOn3:
+	monster "force_5-1",rand(88,111),rand(89,110),"Dark Illusion",1605,1,"force_09mob#pri::OnMyMobDead";
+	end;
+
+OnOn4:
+	monster "force_5-1",rand(88,111),rand(89,110),"Zombie Prisoner",1480,1,"force_09mob#pri::OnMyMobDead";
+	monster "force_5-1",rand(88,111),rand(89,110),"Skel Prisoner",1479,1,"force_09mob#pri::OnMyMobDead";
+	areamonster "force_5-1",88,89,111,110,"Zombie",1394,4,"force_09mob#pri::OnMyMobDead";
+	end;
+
+Onreset:
+	killmonster "force_5-1","force_09mob#pri::OnMyMobDead";
+	end;
+
+OnMyMobDead:
+	if (mobcount("force_5-1","force_09mob#pri::OnMyMobDead") < 1) {
+		donpcevent "Trocco#aco2::On09_end";
+		set $@arn_2,gettimetick(2);
+		donpcevent "arena_aco2::Onreset_09";
+	}
+	end;
+}
+
+force_5-1,62,26,0	script	force_08_01#aco	45,1,1,{
+OnTouch:
+	warp "force_5-1",40,26;
+	if (basejob == job_acolyte) {
+		enablenpc "force_01start#aco";
+	}
+	else {
+		enablenpc "force_01start#pri";
+	}
+	end;
+}
+
+/*
+force_5-1,25,44,0	warp	force_01_02#aco	1,1,force_5-1,25,69
+force_5-1,25,134,0	warp	force_02_03#aco	1,1,force_5-1,25,159
+force_5-1,44,174,0	warp	force_03_04#aco	1,1,force_5-1,69,174
+force_5-1,134,174,0	warp	force_04_05#aco	1,1,force_5-1,159,174
+force_5-1,174,155,0	warp	force_05_06#aco	1,1,force_5-1,174,130
+force_5-1,174,65,0	warp	force_06_07#aco	1,1,force_5-1,174,40
+force_5-1,155,26,0	warp	force_07_08#aco	1,1,force_5-1,132,26
+force_5-1,99,54,0	warp	force_08_09#aco	1,1,force_5-1,99,82
+*/
+
+force_5-1,25,44,0	script	force_01_02#aco	45,1,1,{
+OnTouch:
+	warp "force_5-1",25,69;
+	end;
+}
+
+force_5-1,25,134,0	script	force_02_03#aco	45,1,1,{
+OnTouch:
+	warp "force_5-1",25,159;
+	end;
+}
+
+force_5-1,44,174,0	script	force_03_04#aco	45,1,1,{
+OnTouch:
+	warp "force_5-1",69,174;
+	end;
+}
+
+force_5-1,134,174,0	script	force_04_05#aco	45,1,1,{
+OnTouch:
+	warp "force_5-1",159,174;
+	end;
+}
+
+force_5-1,174,155,0	script	force_05_06#aco	45,1,1,{
+OnTouch:
+	warp "force_5-1",174,130;
+	end;
+}
+
+force_5-1,174,65,0	script	force_06_07#aco	45,1,1,{
+OnTouch:
+	warp "force_5-1",174,40;
+	end;
+}
+
+force_5-1,155,26,0	script	force_07_08#aco	45,1,1,{
+OnTouch:
+	warp "force_5-1",132,26;
+	end;
+}
+
+force_5-1,99,54,0	script	force_08_09#aco	45,1,1,{
+OnTouch:
+	warp "force_5-1",99,82;
+	end;
+}
+
+force_5-1,99,124,0	script	force_exit#aco	45,1,1,{
+OnTouch:
+	donpcevent "Trocco#aco1::Ontimeroff";
+	donpcevent "#arn_timer_aco::OnEnable";
+	mapwarp "force_5-1","prt_are_in",21,35;
+	end;
+}
+
+prt_are_in,181,83,3	script	Staff#aco-1	67,{
+	mes "[Staff]";
+	mes "Nice work!";
+	mes "You might have failed";
+	mes "the Time Attack battle,";
+	mes "but you still earned a";
+	mes "small Arena Point reward~";
+	next;
+	if (arena_point == 30000) {
+		mes "[Staff]";
+		mes "Wait, I'm sorry, but you";
+		mes "have too many Arena Points.";
+		mes "Since you've reached the point";
+		mes "limitation, I can't give you any point rewards until you spend";
+		mes "some of your Arena Points.";
+		next;
+	}
+	else {
+		set arena_point,arena_point+1;
+	}
+	mes "[Staff]";
+	mes "Well, let me guide";
+	mes "you back outside.";
+	mes "I hope you enjoyed";
+	mes "your battle in the area~";
+	close2;
+	specialeffect2 EF_EXIT;
+	warp "arena_room",100,75;
+	end;
+}
+
+prt_are_in,25,31,3	script	Staff#aco-2	67,{
+	set .@start_timeaco, $@arn_1;
+	set .@hour_startaco, .@start_timeaco / 10000;
+	set .@min_startaco, ((.@start_timeaco % 10000) / 100);
+	set .@sec_startaco, .@start_timeaco % 100;
+	set .@end_timeaco, $@arn_2;
+	set .@hour_endaco, .@end_timeaco / 10000;
+	set .@min_endaco, ((.@end_timeaco % 10000) / 100);
+	set .@sec_endaco, .@end_timeaco % 100;
+	if ((.@hour_startaco == 23) & (.@hour_endaco == 0)) {
+		set .@hour_endaco,24;
+	}
+	set .@st_to_secaco, ((.@hour_startaco * 3600) + (.@min_startaco * 60) + (.@sec_startaco));
+	set .@et_to_secaco, ((.@hour_endaco * 3600) + (.@min_endaco * 60) + (.@sec_endaco));
+	set .@record_timeaco, (.@et_to_secaco - .@st_to_secaco);
+	set .@record_houraco, .@record_timeaco / 3600;
+	set .@record_minaco, ((.@record_timeaco % 3600) / 60);
+	set .@record_secaco, .@record_timeaco % 60;
+	if ((.@record_timeaco < 0 ) || (.@record_houraco < 0) || (.@record_minaco < 0 ) || (.@record_secaco < 0)) {
+		emotion e_omg;
+		mes "[Staff]";
+		mes "How did you...?";
+		mes "According to these re-";
+		mes "Uh oh. These records";
+		mes "got messed up somehow.";
+		mes "Th-This isn't good at all!";
+		mes "Now what am I gonna do?";
+		next;
+		mes "[Staff]";
+		mes "Well, I'll give you the";
+		mes "benefit of the doubt and";
+		mes "assume you completed the";
+		mes "arena battle under the time";
+		mes "limit. So, let me give you the";
+		mes "standard Arena Point reward.";
+		next;
+		mes "[Staff]";
+		mes "I'm really sorry about";
+		mes "this, especially if you";
+		mes "broke some record, but";
+		mes "all I can do is restore your";
+		mes "HP and SP for you, "+strcharinfo(0)+".";
+		percentheal 100,100;
+		next;
+		mes "[Staff]";
+		emotion e_korea;
+		mes "Thank you.";
+		mes "I hope you enjoy";
+		mes "your time in the Arena~";
+		close2;
+		if (arena_point < 29981) {
+			set arena_point,arena_point+20;
+			warp "arena_room",100,75;
+			donpcevent "#arn_timer_aco::Onstop";
+			donpcevent "Acolyte Waiting Room::OnStart";
+		}
+		else {
+			warp "arena_room",100,75;
+			donpcevent "#arn_timer_aco::Onstop";
+			donpcevent "Acolyte Waiting Room::OnStart";
+		}
+		end;
+	}
+	else {
+		if (basejob == job_acolyte) {
+			set .@acotop_t,$arn_acotop;
+			set .@acotop_n$,$arn_acotopn$;
+		}
+		else {
+			if (BaseLevel < 70) {
+				set .@acotop_t,$arn_pritop60;
+				set .@acotop_n$,$arn_pritopn60$;
+			}
+			else if (BaseLevel < 80) {
+				set .@acotop_t,$arn_pritop70;
+				set .@acotop_n$,$arn_pritopn70$;
+			}
+			else if (BaseLevel < 90) {
+				set .@acotop_t,$arn_pritop80;
+				set .@acotop_n$,$arn_pritopn80$;
+			}
+			else {
+				set .@acotop_t,$arn_pritop90;
+				set .@acotop_n$,$arn_pritopn90$;
+			}
+		}
+		set .@topbunaco, ((.@acotop_t % 3600) / 60);
+		set .@topchoaco, .@acotop_t % 60;
+		set .@gapaco, .@acotop_t - .@record_timeaco;
+		mes "[Staff]";
+		mes "^3131FF"+strcharinfo(0)+"^000000, right?";
+		mes "Hey, you did great! You";
+		mes "completed this Arena Battle";
+		mes "in "+.@record_minaco+" min and "+.@record_secaco+" seconds!";
+		next;
+		mes "[Staff]";
+		mes "Currently, ^3131FF"+.@acotop_n$+"^000000";
+		mes "is the top player, with a record";
+		mes "of ^3131FF"+.@topbunaco+"^000000 minutes, ^3131FF"+.@topchoaco+"^000000 seconds, of the Acolyte Class Time Force Battle.";
+		next;
+		if ((.@acotop_t < 0) || (.@topbunaco < 0 ) || (.@topchoaco < 0)) {
+			emotion e_omg;
+			mes "[Staff]";
+			mes "Wait a second...";
+			mes "Your time is better";
+			mes "than that. Well now.";
+			mes "It's time I made a little";
+			mes "correction to the records.";
+			next;
+			emotion e_no1;
+			mes "[Staff]";
+			mes "Wow! A new record!";
+			mes "Excellent!";
+			next;
+			mes "[Staff]";
+			mes "^333333*Ahem*^000000 Oh wow!";
+			mes "A new record! Your";
+			mes "name will now be listed";
+			mes "under the Time Force Battle";
+			mes "Arena - Acolyte Class Record!";
+			if (basejob == job_acolyte) {
+				set $@arn_acotop,.@record_timeaco;
+				set $arn_acotopn$, strcharinfo(0);
+				donpcevent "Vendigos::Onlinerec_aco";
+			}
+			else {
+				if (BaseLevel < 70) {
+					set $arn_pritop60,.@record_timeaco;
+					set $arn_pritopn60$, strcharinfo(0);
+				}
+				else if (BaseLevel < 80) {
+					set $arn_pritop70,.@record_timeaco;
+					set $arn_pritopn70$, strcharinfo(0);
+				}
+				else if (BaseLevel < 90) {
+					set $arn_pritop80,.@record_timeaco;
+					set $arn_pritopn80$, strcharinfo(0);
+				}
+				else {
+					set $arn_pritop90,.@record_timeaco;
+					set $arn_pritopn90$, strcharinfo(0);
+				}
+				donpcevent "Vendigos::Onlinerec_pri";
+			}
+			next;
+			if (arena_point == 30000) {
+				mes "[Staff]";
+				mes "Alright, let me reward you";
+				mes "with some Arena Poi--Wait.";
+				mes "I can't. Your Arena Points are";
+				mes "already maxed out. I'm sorry,";
+				mes "but you'll have to spend some before you can receive more points.";
+				next;
+				mes "[Staff]";
+				mes "Anyway, you can check";
+				mes "your current Arena Point";
+				mes "total in the Arena Lobby";
+				mes "with Vendigos. Well, I hope";
+				mes "you enjoyed your battle. Now, let me guide you back outside...";
+				close2;
+			}
+			else if (arena_point > 29950) {
+				mes "[Staff]";
+				mes "Let me reward you with some";
+				mes "Arena Points. This time, you'll";
+				mes "be getting more points since";
+				mes "you set a new record. Please";
+				mes "talk with ^3131FFVendigos^000000 in the lobby";
+				mes "to check your new point total.";
+				next;
+				mes "[Staff]";
+				mes "Well, I hope you";
+				mes "enjoyed your battle.";
+				mes "Now let me guide you";
+				mes "back to the Arena Lobby...";
+				close2;
+				set arena_point,30000;
+			}
+			else {
+				mes "[Staff]";
+				mes "Let me reward you with some";
+				mes "Arena Points. This time, you'll";
+				mes "be getting more points since";
+				mes "you set a new record. Please";
+				mes "talk with ^3131FFVendigos^000000 in the lobby";
+				mes "to check your new point total.";
+				next;
+				mes "[Staff]";
+				mes "Well, I hope you";
+				mes "enjoyed your battle.";
+				mes "Now let me guide you";
+				mes "back to the Arena Lobby...";
+				close2;
+				set arena_point,arena_point+50;
+			}
+			specialeffect2 EF_EXIT;
+			warp "arena_room",100,75;
+			donpcevent "#arn_timer_aco::Onstop";
+			donpcevent "allkill#aco::OnEnable";
+			donpcevent "Acolyte Waiting Room::OnStart";
+			end;
+		}
+		if (gapaco < 0) {
+			mes "[Staff]";
+			mes "You didn't break the";
+			mes "current record this time,";
+			mes "but you still gave an awesome";
+			mes "performance. Excellent work!";
+			next;
+			if (arena_point == 30000) {
+				mes "[Staff]";
+				mes "Alright, let me reward you";
+				mes "with some Arena Poi--Wait.";
+				mes "I can't. Your Arena Points are";
+				mes "already maxed out. I'm sorry,";
+				mes "but you'll have to spend some before you can receive more points.";
+				next;
+				mes "[Staff]";
+				mes "Anyway, you can check";
+				mes "your current Arena Point";
+				mes "total in the Arena Lobby";
+				mes "with Vendigos. Well, I hope";
+				mes "you enjoyed your battle. Now, let me guide you back outside...";
+				close2;
+			}
+			else if (arena_point > 29980) {
+				mes "[Staff]";
+				mes "Let me reward you";
+				mes "with some Arena Points.";
+				mes "Please check your new";
+				mes "Arena Point total in the";
+				mes "Arena Lobby by speaking";
+				mes "to the friendly ^3131FFVendigos.^000000";
+				next;
+				mes "[Staff]";
+				mes "Well, I hope you";
+				mes "enjoyed your battle.";
+				mes "Now let me guide you";
+				mes "back to the Arena Lobby...";
+				close2;
+				set arena_point,30000;
+			}
+			else {
+				mes "[Staff]";
+				mes "Let me reward you";
+				mes "with some Arena Points.";
+				mes "Please check your new";
+				mes "Arena Point total in the";
+				mes "Arena Lobby by speaking";
+				mes "to the friendly ^3131FFVendigos.^000000";
+				next;
+				mes "[Staff]";
+				mes "Well, I hope you";
+				mes "enjoyed your battle.";
+				mes "Now let me guide you";
+				mes "back to the Arena Lobby...";
+				close2;
+				set arena_point,arena_point+20;
+			}
+			specialeffect2 EF_EXIT;
+			warp "arena_room",100,75;
+			donpcevent "#arn_timer_aco::Onstop";
+			donpcevent "allkill#aco::OnEnable";
+			donpcevent "Acolyte Waiting Room::OnStart";
+			end;
+		}
+		else {
+			emotion e_omg;
+			mes "[Staff]";
+			mes "Wow! A new record!";
+			mes "This is awsome!";
+			next;
+			mes "[Staff]";
+			mes "Oooh... A brand new";
+			mes "record. ^3131FF"+ strcharinfo(0)+"^000000, your";
+			mes "name will now be listed in";
+			mes "the Time Force Battle Arena";
+			mes "Acolyte Class Records.";
+			mes "Congratulations~";
+			if (basejob == job_acolyte) {
+				set $@arn_acotop,.@record_timeaco;
+				set $arn_acotopn$, strcharinfo(0);
+				donpcevent "#Vendigos::Onlinerec_aco";
+			}
+			else {
+				if (BaseLevel < 70) {
+					set $arn_pritop60,.@record_timeaco;
+					set $arn_pritopn60$, strcharinfo(0);
+					donpcevent "#Vendigos::Onlinerec_pri60";
+				}
+				else if (BaseLevel < 80) {
+					set $arn_pritop70,.@record_timeaco;
+					set $arn_pritopn70$, strcharinfo(0);
+					donpcevent "#Vendigos::Onlinerec_pri70";
+				}
+				else if (BaseLevel < 90) {
+					set $arn_pritop80,.@record_timeaco;
+					set $arn_pritopn80$, strcharinfo(0);
+					donpcevent "#Vendigos::Onlinerec_pri80";
+				}
+				else {
+					set $arn_pritop90,.@record_timeaco;
+					set $arn_pritopn90$, strcharinfo(0);
+					donpcevent "#Vendigos::Onlinerec_pri90";
+				}
+			}
+			next;
+			if (arena_point == 30000) {
+				mes "[Staff]";
+				mes "Alright, let me reward you";
+				mes "with some Arena Poi--Wait.";
+				mes "I can't. Your Arena Points are";
+				mes "already maxed out. I'm sorry,";
+				mes "but you'll have to spend some before you can receive more points.";
+				next;
+				mes "[Staff]";
+				mes "Anyway, you can check";
+				mes "your current Arena Point";
+				mes "total in the Arena Lobby";
+				mes "with Vendigos. Well, I hope";
+				mes "you enjoyed your battle. Now, let me guide you back outside...";
+				close2;
+			}
+			else if (arena_point > 29980) {
+				mes "[Staff]";
+				mes "Let me reward you with some";
+				mes "Arena Points. This time, you'll";
+				mes "be getting more points since";
+				mes "you set a new record. Please";
+				mes "talk with ^3131FFVendigos^000000 in the lobby";
+				mes "to check your new point total.";
+				next;
+				mes "[Staff]";
+				mes "Well, I hope you";
+				mes "enjoyed your battle.";
+				mes "Now let me guide you";
+				mes "back to the Arena Lobby...";
+				close2;
+				set arena_point,30000;
+			}
+			else {
+				mes "[Staff]";
+				mes "Let me reward you with some";
+				mes "Arena Points. This time, you'll";
+				mes "be getting more points since";
+				mes "you set a new record. Please";
+				mes "talk with ^3131FFVendigos^000000 in the lobby";
+				mes "to check your new point total.";
+				next;
+				mes "[Staff]";
+				mes "Well, I hope you";
+				mes "enjoyed your battle.";
+				mes "Now let me guide you";
+				mes "back to the Arena Lobby...";
+				close2;
+				set arena_point,arena_point+20;
+			}
+			specialeffect2 EF_EXIT;
+			warp "arena_room",100,75;
+			donpcevent "#arn_timer_aco::Onstop";
+			donpcevent "allkill#aco::OnEnable";
+			donpcevent "Acolyte Waiting Room::OnStart";
+		}
+		close;
+	}
+}
+
+prt_are_in,14,195,3	script	#arn_timer_aco	111,{
+OnEnable:
+	initnpctimer;
+	end;
+
+OnTimer2000:
+	mapannounce "prt_are_in","This broadcast is to inform you about the Acolyte Class Arena.",bc_map,"0xFFCE00";
+	end;
+
+OnTimer3000:
+	mapannounce "prt_are_in","For smoother game play, the Warp Portal in the Final Waiting Room will activate in 1 minute.",bc_map,"0xFFCE00";
+	end;
+
+OnTimer4000:
+	mapannounce "prt_are_in","Thank you.",bc_map,"0xFFCE00";
+	end;
+
+OnTimer60000:
+	donpcevent "arn_warp_aco::Onout";
+	donpcevent "#arn_timer_aco::Onstop";
+	//donpcevent "alloff#aco::OnEnable";
+	donpcevent "Acolyte Waiting Room::OnStart";
+	end;
+
+Onstop:
+	stopnpctimer;
+	end;
+}
+
+prt_are_in,22,29,0	script	arn_warp_aco	-1,20,20,{
+OnInit:
+	disablenpc "arn_warp_aco";
+	end;
+
+Onout:
+	enablenpc "arn_warp_aco";
+	end;
+
+Onhide:
+	disablenpc "arn_warp_aco";
+	end;
+
+OnTouch:
+	warp "arena_room",100,75;
+	donpcevent "arn_warp_aco::Onhide";
+	end;
+}
+
+force_5-1,120,50,3	script	timer_aco2	111,{
+OnEnable:
+	initnpctimer;
+	end;
+
+Onstop:
+	stopnpctimer;
+	end;
+}
+
+force_5-1,61,149,3	script	allkill#aco	111,{
+OnEnable:
+	donpcevent "force_01mob#aco::Onreset";
+	donpcevent "force_02mob#aco::Onreset";
+	donpcevent "force_03mob#aco::Onreset";
+	donpcevent "force_05mob#aco::Onreset";
+	donpcevent "force_06mob#aco::Onreset";
+	donpcevent "force_07mob#aco::Onreset";
+	donpcevent "force_09mob#aco::Onreset";
+	donpcevent "force_01mob#pri::Onreset";
+	donpcevent "force_02mob#pri::Onreset";
+	donpcevent "force_03mob#pri::Onreset";
+	donpcevent "force_04mob#pri::Onreset";
+	donpcevent "force_05mob#pri::Onreset";
+	donpcevent "force_06mob#pri::Onreset";
+	donpcevent "force_07mob#pri::Onreset";
+	donpcevent "force_09mob#pri::Onreset";
+	donpcevent "force_05ex#pri::Onreset";
+	disablenpc "force_01start#aco";
+	disablenpc "force_02start#aco";
+	disablenpc "force_03start#aco";
+	disablenpc "force_04start#aco";
+	disablenpc "force_05start#aco";
+	disablenpc "force_06start#aco";
+	disablenpc "force_07start#aco";
+	disablenpc "force_08start#aco";
+	disablenpc "force_09start#aco";
+	disablenpc "force_01start#pri";
+	disablenpc "force_02start#pri";
+	disablenpc "force_03start#pri";
+	disablenpc "force_04start#pri";
+	disablenpc "force_05start#pri";
+	disablenpc "force_06start#pri";
+	disablenpc "force_07start#pri";
+	disablenpc "force_08start#pri";
+	disablenpc "force_09start#pri";
+	disablenpc "force_01_02#aco";
+	disablenpc "force_02_03#aco";
+	disablenpc "force_03_04#aco";
+	disablenpc "force_04_05#aco";
+	disablenpc "force_05_06#aco";
+	disablenpc "force_06_07#aco";
+	disablenpc "force_07_08#aco";
+	disablenpc "force_08_09#aco";
+	disablenpc "force_exit#aco";
+	disablenpc "arn_warp_aco"; //050630
+	donpcevent "Trocco#aco1::Onstop";
+	donpcevent "Trocco#aco2::Onstop";
+	donpcevent "#arn_timer_aco::Onstop";
+	end;
+}
+
+arena_room,94,82,7	script	Arena Record Staff#aco	79,{
+	mes "[Mathea]";
+	mes "Hello, I'm in charge of";
+	mes "the Acolyte Class Records";
+	mes "in the Arena. If you'd like to";
+	mes "view the other records, please";
+	mes "talk to the Arena Record Staff,";
+	mes "Owen Kheuv, and he'll help you.";
+	next;
+	mes "[Mathea]";
+	mes "Would you like to";
+	mes "see who are the top";
+	mes "players in the Acolyte";
+	mes "Class Arena Challenges?";
+	mes "Please choose from the menu.";
+	next;
+	switch(select("Acolyte Mode:Priest - Level 70 or lower:Priest - Level 80 or lower:Priest - Level 90 or lower:Priest - Level 91 ~ 99")) {
+	case 1:
+		set .@acotop_t,$arn_acotop;
+		set .@acotop_n$,$arn_acotopn$;
+		set .@acotopbun, ((.@acotop_t % 3600) / 60 );
+		set .@acotopcho, (.@acotop_t % 60);
+		mes "[Mathea]";
+		mes "^3131FF"+.@acotop_n$+"^000000";
+		mes "is the top player of the";
+		mes "Acolyte Mode, finishing";
+		mes "with a time of ^3131FF"+.@acotopbun+"^000000 minutes";
+		mes "and ^3131FF"+.@acotopcho+"^000000 seconds. Thank you";
+		mes "for participating in the Arena.";
+		close;
+	case 2:
+		set .@pritop_t,$arn_pritop60;
+		set .@pritop_n$,$arn_pritopn60$;
+		break;
+	case 3:
+		set .@pritop_t,$arn_pritop70;
+		set .@pritop_n$,$arn_pritopn70$;
+		break;
+	case 4:
+		set .@pritop_t,$arn_pritop80;
+		set .@pritop_n$,$arn_pritopn80$;
+		break;
+	case 5:
+		set .@pritop_t,$arn_pritop90;
+		set .@pritop_n$,$arn_pritopn90$;
+		break;
+	}
+	set .@pritopbun, ((.@pritop_t % 3600) / 60 );
+	set .@pritopcho, (.@pritop_t % 60);
+	mes "[Mathea]";
+	mes "^3131FF"+.@pritop_n$+"^000000";
+	mes "is the top player of this";
+	mes "Priest Mode, finishing ";
+	mes "with a time of ^3131FF"+.@pritopbun+" minutes";
+	mes "and ^3131FF"+.@pritopcho+" seconds. Thank you";
+	mes "for participating in the Arena.";
+	close;
+
+OnInit:
+	if ($arn_acotopn$ == "") {
+		set $arn_pritop60, 480;
+		set $arn_pritop70, 480;
+		set $arn_pritop80, 480;
+		set $arn_pritop90, 480;
+		set $arn_acotop, 480;
+		set $arn_pritopn60$, "Default";
+		set $arn_pritopn70$, "Default";
+		set $arn_pritopn80$, "Default";
+		set $arn_pritopn90$, "Default";
+		set $arn_acotopn$, "Default";
+	}
+	end;
+}
+
+arena_room,97,130,3	script	#Vendigos	111,{
+Onlinerec_aco:
+	mapannounce "arena_room","Vendigos: "+$arn_acotopn$+" has made a new record in the Arena Time Force Battle - Acolyte Mode. Congratulations!",bc_map,"0xFFFF00";
+	end;
+
+Onlinerec_pri60:
+	mapannounce "arena_room","Vendigos: "+$arn_pritopn60$+" has made a new record in the Arena Time Force Battle - Priest: Level 70 or lower. Congratulations!",bc_map,"0xFFFF00";
+	end;
+
+Onlinerec_pri70:
+	mapannounce "arena_room","Vendigos: "+$arn_pritopn70$+" has made a new record in the Arena Time Force Battle - Priest: Level 80 or lower. Congratulations!",bc_map,"0xFFFF00";
+	end;
+
+Onlinerec_pri80:
+	mapannounce "arena_room","Vendigos: "+$arn_pritopn80$+" has made a new record in the Arena Time Force Battle - Priest: Level 90 or lower. Congratulations!",bc_map,"0xFFFF00";
+	end;
+
+Onlinerec_pri90:
+	mapannounce "arena_room","Vendigos: "+$arn_pritopn90$+" has made a new record in the Arena Time Force Battle - Priest: Level 91~99. Congratulations!",bc_map,"0xFFFF00";
+	end;
+}
+
+arena_room,140,136,3	script	Guide Alias	729,{
+	mes "[Alias]";
+	mes "Hello there, I'm here";
+	mes "to inform you about";
+	mes "the Izlude Arena's";
+	mes "Acolyte Class Mode.";
+	mes "My name is Alias,";
+	mes "your Arena Guide.";
+	next;
+	mes "[Alias]";
+	mes "Now, there are two modes";
+	mes "under Acolyte Class Mode.";
+	mes "These are ^3131FFAcolyte Mode^000000 and";
+	mes "^3131FFPriest Mode^000000. For both modes,";
+	mes "you will need to wait inside the ^3131FFAcolyte Class Waiting Room^000000.";
+	next;
+	mes "[Alias]";
+	mes "Once it's your turn,";
+	mes "you'll be sent out of the";
+	mes "waiting room and guided to";
+	mes "the arena grounds. Oh, and";
+	mes "the entrance fee is 1,000 zeny.";
+	next;
+	mes "[Alias]";
+	mes "It'll be handy to know";
+	mes "that the Red Plants and";
+	mes "Permeters in the Acolyte";
+	mes "Class Mode will drop items";
+	mes "and give experience. Other";
+	mes "monsters, however, won't.";
+	next;
+	mes "[Alias]";
+	mes "Once you've been guided";
+	mes "to the actual arena grounds,";
+	mes "listen to ^3131FFTrocco^000000 for the mission objectives that you will have to";
+	mes "complete within the time limit";
+	mes "of ^3131FF8 minutes^000000. Don't forget~";
+	next;
+	mes "[Alias]";
+	mes "Upon completing the";
+	mes "entire stage, you will be";
+	mes "warped to the ^3131DDFinale Waiting";
+	mes "Room^000000 where you'll be rewarded";
+	mes "with Arena Points. But you must^FFFFFFaaaa^000000 get your points within 1 minute.";
+	next;
+	mes "[Alias]";
+	mes "Once you're automatically";
+	mes "sent outside of the Finale";
+	mes "Waiting Room, you won't have";
+	mes "the chance to get your Arena";
+	mes "Points if you didn't get them";
+	mes "there, so be careful~";
+	next;
+	mes "[Alias]";
+	mes "Well, I hope you enjoy";
+	mes "the Acolyte Mode Arena!";
+	mes "Good luck and good fighting!";
+	close;
+}
+
+/*
+arena_room,195,5,3	script	log-on-aco#arena	802,{
+	input .@input; //,0,2000;
+	if (.@input == 0) {
+		mes "^3355FFIncorrect Password.^000000";
+		close;
+	}
+	else if (.@input == 1357) {
+		mes "[!!CAUTION!!]";
+		mes "^3355FFThe following menu";
+		mes "the record for that";
+		mes "particular mode in the";
+		mes "Arena Acolyte Class Mode.^000000";
+		next;
+		switch(select("Cancel:Acolyte:~level 70:~level 80:~level 90:~level 99")) {
+		case 1:
+			mes "^3355FFCommand has";
+			mes "been canceled.^000000";
+			close;
+		case 2:
+			set $arn_acotop, 480;
+			set $arn_acotopn$, "Default";
+			break;
+		case 3:
+			set $arn_pritop60, 480;
+			set $arn_pritopn60$, "Default";
+			break;
+		case 4:
+			set $arn_pritop70, 480;
+			set $arn_pritopn70$, "Default";
+			break;
+		case 5:
+			set $arn_pritop80, 480;
+			set $arn_pritopn80$, "Default";
+			break;
+		case 6:
+			set $arn_pritop90, 480;
+			set $arn_pritopn90$, "Default";
+			break;
+		}
+		close;
+	}
+}
+
+arena_room,195,10,3	script	acolink#arena	802,{
+	input .@input; //,0,2000;
+	if (.@input == 0) {
+		mes "Command has";
+		mes "been canceled.";
+		close;
+	}
+	else if (.@input == 1357) {
+		mes "This NPC opens and";
+		mes "closes the Warp Portal";
+		mes "to the Arena's Acolyte";
+		mes "Class Mode. Choose";
+		mes "an option from the menu.";
+		next;
+		switch(select("Cancel:Warp ON:Warp OFF")) {
+		case 1:
+			mes "Command has";
+			mes "been canceled.";
+			close;
+		case 2:
+			enablenpc "onlyaco#arena";
+			mes "The Warp Portal";
+			mes "will be opened shortly.";
+			close;
+		case 3:
+			disablenpc "onlyaco#arena";
+			mes "The Warp Portal";
+			mes "will be closed shortly.";
+			close;
+		}
+	}
+}
+*/

+ 2 - 0
npc/scripts_athena.conf

@@ -314,6 +314,7 @@ npc: npc/other/arena/arena_lvl70.txt
 npc: npc/other/arena/arena_lvl80.txt
 npc: npc/other/arena/arena_party.txt
 npc: npc/other/arena/arena_point.txt
+npc: npc/other/arena/arena_aco.txt
 // --------------------------------------------------------------
 // -------------------- Hugel Monster Races ---------------------
 npc: npc/other/monster_race.txt
@@ -322,4 +323,5 @@ npc: npc/other/monster_race.txt
 npc: npc/instances/SealedShrine.txt
 //npc: npc/instances/EndlessTower.txt
 npc: npc/instances/OrcsMemory.txt
+//npc: npc/instances/NydhoggsNext.txt
 // --------------------------------------------------------------