summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--npc/Changelog.txt2
-rw-r--r--npc/other/arena/arena_aco.txt1848
-rw-r--r--npc/scripts_athena.conf2
3 files changed, 1852 insertions, 0 deletions
diff --git a/npc/Changelog.txt b/npc/Changelog.txt
index 975baec5d..00cc42438 100644
--- a/npc/Changelog.txt
+++ b/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.
diff --git a/npc/other/arena/arena_aco.txt b/npc/other/arena/arena_aco.txt
new file mode 100644
index 000000000..fe407b07c
--- /dev/null
+++ b/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;
+ }
+ }
+}
+*/ \ No newline at end of file
diff --git a/npc/scripts_athena.conf b/npc/scripts_athena.conf
index b02753a4a..0f8b3b6f4 100644
--- a/npc/scripts_athena.conf
+++ b/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
// --------------------------------------------------------------