summaryrefslogtreecommitdiff
path: root/npc/other/arena
diff options
context:
space:
mode:
authorStreusel <advance_me@hotmail.de>2013-02-19 10:10:18 -0800
committerStreusel <advance_me@hotmail.de>2013-02-19 10:10:18 -0800
commit80362e588f45bf245d517334cefa1e84edc24769 (patch)
tree367e8b88d2752742656221f5b1857f49a32a83b0 /npc/other/arena
parent1188df9f38e73590ee3004df18d26105a7a1de37 (diff)
downloadhercules-80362e588f45bf245d517334cefa1e84edc24769.tar.gz
hercules-80362e588f45bf245d517334cefa1e84edc24769.tar.bz2
hercules-80362e588f45bf245d517334cefa1e84edc24769.tar.xz
hercules-80362e588f45bf245d517334cefa1e84edc24769.zip
-Moved Arena to main folder so it can be used by pre-re and re
Signed-off-by: Streusel
Diffstat (limited to 'npc/other/arena')
-rw-r--r--npc/other/arena/arena_aco.txt1845
-rw-r--r--npc/other/arena/arena_lvl50.txt1106
-rw-r--r--npc/other/arena/arena_lvl60.txt1108
-rw-r--r--npc/other/arena/arena_lvl70.txt1086
-rw-r--r--npc/other/arena/arena_lvl80.txt1057
-rw-r--r--npc/other/arena/arena_party.txt1460
-rw-r--r--npc/other/arena/arena_point.txt179
-rw-r--r--npc/other/arena/arena_room.txt1110
8 files changed, 8951 insertions, 0 deletions
diff --git a/npc/other/arena/arena_aco.txt b/npc/other/arena/arena_aco.txt
new file mode 100644
index 000000000..60077b88e
--- /dev/null
+++ b/npc/other/arena/arena_aco.txt
@@ -0,0 +1,1845 @@
+//===== Hercules Script ======================================
+//= Izlude Arena script
+//===== By: ==================================================
+//= L0ne_W0lf
+//===== Current Version: =====================================
+//= 1.2
+//===== Description: =========================================
+//= Izlude Acolyte Battle Arena
+//===== Additional Comments: =================================
+//= 1.0 First version.
+//= 1.1 Corrected variable typos. (bugreport:4374) [L0ne_w0lf]
+//= 1.2 Updated 'waitingroom' to support required zeny/lvl. [Kisuka]
+//============================================================
+
+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:
+ waitingroom "Personal Force, Acolyte Class",50,"Acolyte Waiting Room::OnStartArena",1,1000,10,99;
+ 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;
+}
+
+- 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;
+}
+
+- 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") == 0) {
+ donpcevent "Trocco#aco1::Onfailclearstage";
+ }
+ mapannounce "force_5-1","Time left: 7 Minutes",bc_map|bc_npc;
+ end;
+
+OnTimer120000:
+ if (getmapusers("force_5-1") == 0) {
+ donpcevent "Trocco#aco1::Onfailclearstage";
+ }
+ mapannounce "force_5-1","Time left: 6 Minutes",bc_map|bc_npc;
+ end;
+
+OnTimer180000:
+ if (getmapusers("force_5-1") == 0) {
+ donpcevent "Trocco#aco1::Onfailclearstage";
+ }
+ mapannounce "force_5-1","Time left: 5 Minutes",bc_map|bc_npc;
+ end;
+
+OnTimer240000:
+ if (getmapusers("force_5-1") == 0) {
+ donpcevent "Trocco#aco1::Onfailclearstage";
+ }
+ mapannounce "force_5-1","Time left: 4 Minutes",bc_map|bc_npc;
+ end;
+
+OnTimer300000:
+ if (getmapusers("force_5-1") == 0) {
+ donpcevent "Trocco#aco1::Onfailclearstage";
+ }
+ mapannounce "force_5-1","Time left: 3 Minutes",bc_map|bc_npc;
+ end;
+
+OnTimer360000:
+ if (getmapusers("force_5-1") == 0) {
+ donpcevent "Trocco#aco1::Onfailclearstage";
+ }
+ mapannounce "force_5-1","Time left: 2 Minutes",bc_map|bc_npc;
+ end;
+
+OnTimer420000:
+ if (getmapusers("force_5-1") == 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;
+}
+
+- script force_01mob#aco -1,{
+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;
+}
+
+- script force_02mob#aco -1,{
+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";
+}
+
+- script force_03mob#aco -1,{
+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;
+}
+
+- script force_05mob#aco -1,{
+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;
+}
+
+- script force_06mob#aco -1,{
+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";
+}
+
+- script force_07mob#aco -1,{
+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;
+}
+
+- script force_09mob#aco -1,{
+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;
+}
+
+- script arena_aco2 -1,{
+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";
+}
+
+- script Trocco#aco2 -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") == 0) {
+ donpcevent "Trocco#aco2::Onfailclearstage";
+ }
+ mapannounce "force_5-1","Time left: 7 Minutes",bc_map|bc_npc;
+ end;
+
+OnTimer120000:
+ if (getmapusers("force_5-1") == 0) {
+ donpcevent "Trocco#aco2::Onfailclearstage";
+ }
+ mapannounce "force_5-1","Time left: 6 Minutes",bc_map|bc_npc;
+ end;
+
+OnTimer180000:
+ if (getmapusers("force_5-1") == 0) {
+ donpcevent "Trocco#aco2::Onfailclearstage";
+ }
+ mapannounce "force_5-1","Time left: 5 Minutes",bc_map|bc_npc;
+ end;
+
+OnTimer240000:
+ if (getmapusers("force_5-1") == 0) {
+ donpcevent "Trocco#aco2::Onfailclearstage";
+ }
+ mapannounce "force_5-1","Time left: 4 Minutes",bc_map|bc_npc;
+ end;
+
+OnTimer300000:
+ if (getmapusers("force_5-1") == 0) {
+ donpcevent "Trocco#aco2::Onfailclearstage";
+ }
+ mapannounce "force_5-1","Time left: 3 Minutes",bc_map|bc_npc;
+ end;
+
+OnTimer360000:
+ if (getmapusers("force_5-1") == 0) {
+ donpcevent "Trocco#aco2::Onfailclearstage";
+ }
+ mapannounce "force_5-1","Time left: 2 Minutes",bc_map|bc_npc;
+ end;
+
+OnTimer420000:
+ if (getmapusers("force_5-1") == 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;
+}
+
+- script force_01mob#pri -1,{
+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;
+}
+
+- script force_02mob#pri -1,{
+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;
+}
+
+- script force_03mob#pri -1,{
+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;
+}
+
+- script force_04mob#pri -1,{
+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;
+}
+
+- script force_05ex#pri -1,{
+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;
+}
+
+- script force_05mob#pri -1,{
+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;
+}
+
+- script force_06ex#pri -1,{
+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;
+}
+
+- script force_06mob#pri -1,{
+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;
+}
+
+- script force_07mob#pri -1,{
+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;
+}
+
+- script force_09mob#pri -1,{
+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;
+ }
+}
+
+- script #arn_timer_aco -1,{
+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;
+}
+
+- script timer_aco2 -1,{
+OnEnable:
+ initnpctimer;
+ end;
+
+Onstop:
+ stopnpctimer;
+ end;
+}
+
+- script allkill#aco -1,{
+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;
+}
+
+- script #Vendigos -1,{
+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;
+ }
+ }
+}
+*/
diff --git a/npc/other/arena/arena_lvl50.txt b/npc/other/arena/arena_lvl50.txt
new file mode 100644
index 000000000..9eaba7376
--- /dev/null
+++ b/npc/other/arena/arena_lvl50.txt
@@ -0,0 +1,1106 @@
+//===== Hercules Script ======================================
+//= Izlude Arena lvl 50
+//===== By: ==================================================
+//= SinSloth
+//===== Current Version: =====================================
+//= 1.1
+//===== Description: =========================================
+//= Izlude Battle Arena Level 50
+//===== Additional Comments: =================================
+//= 1.0 First version.
+//= 1.1 Replaced effect numerics with constants. [Samuray22]
+//============================================================
+
+arena_room,64,138,5 script lvl 50s Waiting Room 124,{
+ end;
+
+OnInit:
+ waitingroom "Individual; Level 50 to 69",50,"lvl 50s Waiting Room::OnStartArena",1,1000,50,69;
+ enablewaitingroomevent;
+ end;
+
+OnStartArena:
+ warpwaitingpc "force_1-1",99,12;
+ donpcevent "arena#50::Onstart";
+ disablewaitingroomevent;
+ end;
+
+Onstart:
+ enablewaitingroomevent;
+ end;
+}
+
+force_1-1,99,20,4 script Heel and Toe#arena 124,{
+ end;
+
+OnInit:
+ set $@mapcount50, 0;
+ end;
+
+Onstart:
+ initnpctimer;
+ set $arena_min50st,gettime(2);
+ set $arena_sec50st,gettime(1);
+ end;
+
+OnTimer3000:
+ mapannounce "force_1-1","Good day, my name is Heel and Toe, the guide of Time Force Battle for lvl 50s!",0;
+ end;
+
+OnTimer4000:
+ mapannounce "force_1-1","Remember your right decision will save a lot of your time!",0;
+ end;
+
+OnTimer5000:
+ mapannounce "force_1-1","In order to complete this battle course, you must start from the far left of this room to the clock wise direction. Please move to the far left side. You have 5 minutes from now.",0;
+ end;
+
+OnTimer60000:
+ set $@mapcount50, getmapusers ("force_1-1");
+ if ($@mapcount50 == 0) {
+ donpcevent "Heel and Toe#arena::Onfailclearstage";
+ }
+ mapannounce "force_1-1","Remaining Time : 4 minutes ",0;
+ end;
+
+OnTimer120000:
+ set $@mapcount50, getmapusers ("force_1-1");
+ if ($@mapcount50 == 0) {
+ donpcevent "Heel and Toe#arena::Onfailclearstage";
+ }
+ mapannounce "force_1-1","Remaining Time : 3 minutes ",0;
+ end;
+
+OnTimer180000:
+ set $@mapcount50, getmapusers ("force_1-1");
+ if ($@mapcount50 == 0) {
+ donpcevent "Heel and Toe#arena::Onfailclearstage";
+ }
+ mapannounce "force_1-1","Remaining Time : 2 minutes ",0;
+end;
+OnTimer240000:
+ set $@mapcount50, getmapusers ("force_1-1");
+ if ($@mapcount50 == 0) {
+ donpcevent "Heel and Toe#arena::Onfailclearstage";
+ }
+ mapannounce "force_1-1","Remaining Time : 1 minute ",0;
+ end;
+
+OnTimer300000:
+ mapannounce "force_1-1","Your time is over. I hope you had a good time~",0;
+ end;
+
+OnTimer305000:
+OnTimer306000:
+OnTimer307000:
+OnTimer308000:
+OnTimer309000:
+OnTimer310000:
+OnTimer311000:
+OnTimer312000:
+OnTimer313000:
+OnTimer314000:
+ mapwarp "force_1-1","prt_are_in",126,190,0,0;
+ end;
+
+OnTimer315000:
+ mapwarp "force_1-1","prt_are_in",126,190,0,0;
+ donpcevent "Heel and Toe#arena::Onfailclearstage";
+ end;
+
+Ontimeroff:
+ stopnpctimer;
+ end;
+
+Onfailclearstage:
+ donpcevent "cast#50::Ontimeover1";
+ mapwarp "force_1-1","prt_are_in",126,190,0,0;
+ donpcevent "Heel and Toe#arena::Ontimeroff";
+ donpcevent "arena#50::Onreset_all";
+ donpcevent "alloff#50::Onon";
+ donpcevent "lvl 50s Waiting Room::Onstart";
+ end;
+
+On01_start:
+ mapannounce "force_1-1","In order to clear this battle, you must kill all Smokies!",0;
+ end;
+
+On01_end:
+ mapannounce "force_1-1","A door to the north room has opened!",0;
+ end;
+
+On02_start:
+ mapannounce "force_1-1","Please escape to the door from monsters!",0;
+ end;
+
+On02_end:
+ mapannounce "force_1-1","A door to the north room has opened!",0;
+ end;
+
+On03_start:
+ mapannounce "force_1-1","In order to clear this battle, you must kill all Karakasa!",0;
+ end;
+
+On03_end:
+ mapannounce "force_1-1","Clear! A door to the east room has opened!",0;
+ end;
+
+On04_start:
+ mapannounce "force_1-1","In order to clear this battle, you must kill all Kobolds and escape to the east room!",0;
+ end;
+
+On04_end:
+ mapannounce "force_1-1","A door to the east room has opened!",0;
+ end;
+
+On05_start:
+ mapannounce "force_1-1","In order to clear this battle, you must kill all monsters except obstructor monsters!",0;
+ end;
+
+On05_end:
+ mapannounce "force_1-1","Clear! A door to the south room has opened!",0;
+ end;
+
+On06_start:
+ mapannounce "force_1-1","In order to clear this battle, you must kill all Drops and escape to the south room!",0;
+ end;
+
+On06_end:
+ mapannounce "force_1-1","A door to the south room has opened!",0;
+ end;
+
+On07_start:
+ mapannounce "force_1-1","In order to clear this battle, you must get rid of a Red Plant in the center of this room while dodging attacks from Hydras!",0;
+ end;
+
+On07_end:
+ mapannounce "force_1-1","Clear! A door to the west room has opened!",0;
+ end;
+
+On08_start:
+ mapannounce "force_1-1","Please escape to the north exit!",0;
+ end;
+
+On09_start:
+ mapannounce "force_1-1","In order to clear this battle, you must defeat a Vocal!",0;
+ end;
+
+On09_end:
+ mapannounce "force_1-1","Boss Clear! - A door at the north has opened. Thank you. ",0;
+ end;
+
+}
+
+- script arena#50 -1,{
+
+Onreset_01:
+ donpcevent "force_01ex#50::Onreset";
+ donpcevent "force_02start#50::Onon";
+ enablenpc "force_01_02#50";
+ enablenpc "force_02_03#50";
+ end;
+
+Onreset_02:
+ donpcevent "force_02mob#50::Onreset";
+ donpcevent "force_03start#50::Onon";
+ end;
+
+Onreset_03:
+ enablenpc "force_03_04#50";
+ donpcevent "force_04start#50::Onon";
+ donpcevent "force_03ex#50::Onreset";
+ end;
+
+Onreset_04:
+ enablenpc "force_04_05#50";
+ donpcevent "force_05start#50::Onon";
+ donpcevent "force_04ex#50::Onreset";
+ end;
+
+Onreset_05:
+ enablenpc "force_05_06#50";
+ donpcevent "force_06start#50::Onon";
+ donpcevent "force_05ex#50::Onreset";
+ end;
+
+Onreset_06:
+ enablenpc "force_06_07#50";
+ donpcevent "force_07start#50::Onon";
+ donpcevent "force_06ex#50::Onreset";
+ end;
+
+Onreset_07:
+ enablenpc "force_07_08#50";
+ donpcevent "force_07ex#50::Onreset";
+ donpcevent "force_08start#50::Onon";
+ end;
+
+Onreset_08:
+ donpcevent "force_09start#50::Onon";
+ enablenpc "force_08_09#50";
+ end;
+
+Onreset_09:
+ enablenpc "force_exit#50";
+ end;
+
+Onstart:
+ disablenpc "force_01_02#50";
+ disablenpc "force_02_03#50";
+ disablenpc "force_03_04#50";
+ disablenpc "force_04_05#50";
+ disablenpc "force_05_06#50";
+ disablenpc "force_06_07#50";
+ disablenpc "force_07_08#50";
+ disablenpc "force_08_09#50";
+ disablenpc "force_exit#50";
+ donpcevent "Heel and Toe#arena::Ontimeroff";
+ donpcevent "force_01mob#50::Onreset";
+ donpcevent "force_02mob#50::Onreset";
+ donpcevent "force_03mob#50::Onreset";
+ donpcevent "force_04mob#50::Onreset";
+ donpcevent "force_05mob#50::Onreset";
+ donpcevent "force_06mob#50::Onreset";
+ donpcevent "force_07mob#50::Onreset";
+ donpcevent "force_09mob#50::Onreset";
+ donpcevent "force_01ex#50::Onreset";
+ donpcevent "force_03ex#50::Onreset";
+ donpcevent "force_04ex#50::Onreset";
+ donpcevent "force_05ex#50::Onreset";
+ donpcevent "force_06ex#50::Onreset";
+ donpcevent "force_07ex#50::Onreset";
+ donpcevent "force_08ex#50::Onreset";
+ donpcevent "force_09ex#50::Onreset";
+ enablenpc "force_08_01#50";
+ donpcevent "force_01start#50::Onon";
+ donpcevent "Heel and Toe#arena::Onstart";
+ end;
+
+Onreset_all:
+ donpcevent "force_01mob#50::Onreset";
+ donpcevent "force_02mob#50::Onreset";
+ donpcevent "force_03mob#50::Onreset";
+ donpcevent "force_04mob#50::Onreset";
+ donpcevent "force_05mob#50::Onreset";
+ donpcevent "force_06mob#50::Onreset";
+ donpcevent "force_07mob#50::Onreset";
+ donpcevent "force_09mob#50::Onreset";
+ donpcevent "force_01ex#50::Onreset";
+ donpcevent "force_03ex#50::Onreset";
+ donpcevent "force_04ex#50::Onreset";
+ donpcevent "force_05ex#50::Onreset";
+ donpcevent "force_06ex#50::Onreset";
+ donpcevent "force_07ex#50::Onreset";
+ donpcevent "force_08ex#50::Onreset";
+ donpcevent "force_09ex#50::Onreset";
+ end;
+
+}
+
+force_1-1,62,26,1 script force_08_01#50 45,1,1,{
+
+OnTouch:
+ donpcevent "Heel and Toe#arena::On01_start";
+ warp "force_1-1",40,26;
+ end;
+
+}
+
+force_1-1,25,44,1 script force_01_02#50 45,1,1,{
+
+OnTouch:
+ donpcevent "Heel and Toe#arena::On02_start";
+ warp "force_1-1",25,69;
+ end;
+
+}
+
+force_1-1,25,134,1 script force_02_03#50 45,1,1,{
+
+OnTouch:
+ donpcevent "arena#50::Onreset_02";
+ donpcevent "Heel and Toe#arena::On03_start";
+ warp "force_1-1",25,159;
+ end;
+
+}
+
+force_1-1,44,174,1 script force_03_04#50 45,1,1,{
+
+OnTouch:
+ donpcevent "Heel and Toe#arena::On04_start";
+ warp "force_1-1",69,174;
+ end;
+
+}
+
+force_1-1,134,174,1 script force_04_05#50 45,1,1,{
+
+OnTouch:
+ donpcevent "Heel and Toe#arena::On05_start";
+ warp "force_1-1",159,174;
+ end;
+
+}
+
+force_1-1,174,155,1 script force_05_06#50 45,1,1,{
+
+OnTouch:
+ donpcevent "Heel and Toe#arena::On06_start";
+ warp "force_1-1",174,130;
+ end;
+
+}
+
+force_1-1,174,65,1 script force_06_07#50 45,1,1,{
+
+OnTouch:
+ donpcevent "Heel and Toe#arena::On07_start";
+ warp "force_1-1",174,40;
+ end;
+
+}
+
+force_1-1,155,26,1 script force_07_08#50 45,1,1,{
+
+OnTouch:
+ donpcevent "Heel and Toe#arena::On08_start";
+ warp "force_1-1",132,26;
+ enablenpc "force_08_09#50";
+ end;
+
+}
+
+force_1-1,99,54,1 script force_08_09#50 45,1,1,{
+
+OnTouch:
+ donpcevent "Heel and Toe#arena::On09_start";
+ warp "force_1-1",99,82;
+ end;
+
+}
+
+force_1-1,99,124,1 script force_exit#50 45,1,1,{
+
+OnTouch:
+ donpcevent "Heel and Toe#arena::Ontimeroff";
+ donpcevent "#arn_timer_50::Onon";
+ mapwarp "force_1-1","prt_are_in",22,191,0,0;
+ end;
+
+}
+
+- script force_01start#50 -1,{
+Onon:
+ donpcevent "force_01mob#50::Onon";
+end;
+
+}
+
+- script force_01ex#50 -1,{
+
+Onreset:
+ killmonster "force_1-1","force_01ex#50::OnMobEx";
+ end;
+
+Onsummonmob1:
+ monster "force_1-1",25,26,"Drops",1572,1,"force_01ex#50::OnMobEx";
+ monster "force_1-1",15,25,"Drops",1572,1,"force_01ex#50::OnMobEx";
+ monster "force_1-1",30,25,"Drops",1572,1,"force_01ex#50::OnMobEx";
+ monster "force_1-1",25,31,"Drops",1572,1,"force_01ex#50::OnMobEx";
+ monster "force_1-1",24,19,"Drops",1572,1,"force_01ex#50::OnMobEx";
+ monster "force_1-1",25,28,"Drops",1572,1,"force_01ex#50::OnMobEx";
+ monster "force_1-1",18,23,"Drops",1572,1,"force_01ex#50::OnMobEx";
+ monster "force_1-1",24,25,"Drops",1572,1,"force_01ex#50::OnMobEx";
+ monster "force_1-1",23,18,"Drops",1572,1,"force_01ex#50::OnMobEx";
+ monster "force_1-1",20,18,"Drops",1572,1,"force_01ex#50::OnMobEx";
+ monster "force_1-1",35,31,"Hydra",1579,1,"force_01ex#50::OnMobEx";
+ monster "force_1-1",35,28,"Hydra",1579,1,"force_01ex#50::OnMobEx";
+ monster "force_1-1",35,25,"Hydra",1579,1,"force_01ex#50::OnMobEx";
+ monster "force_1-1",35,21,"Hydra",1579,1,"force_01ex#50::OnMobEx";
+ monster "force_1-1",26,16,"Poisonous Toad",1556,1,"force_01ex#50::OnMobEx";
+ monster "force_1-1",26,15,"Poisonous Toad",1556,1,"force_01ex#50::OnMobEx";
+ monster "force_1-1",26,14,"Poisonous Toad",1556,1,"force_01ex#50::OnMobEx";
+ monster "force_1-1",23,17,"Poisonous Toad",1556,1,"force_01ex#50::OnMobEx";
+ monster "force_1-1",23,18,"Poisonous Toad",1556,1,"force_01ex#50::OnMobEx";
+ monster "force_1-1",23,19,"Poisonous Toad",1556,1,"force_01ex#50::OnMobEx";
+ monster "force_1-1",29,20,"Poisonous Toad",1556,1,"force_01ex#50::OnMobEx";
+ monster "force_1-1",23,16,"Poisonous Toad",1556,1,"force_01ex#50::OnMobEx";
+ monster "force_1-1",19,16,"Poisonous Toad",1556,1,"force_01ex#50::OnMobEx";
+ monster "force_1-1",32,19,"Poisonous Toad",1556,1,"force_01ex#50::OnMobEx";
+ end;
+
+OnMobEx:
+ end;
+
+}
+
+- script force_01mob#50 -1,{
+
+Onon:
+ donpcevent "force_01ex#50::Onsummonmob1";
+ monster "force_1-1",25,25,"Smokie",1561,1,"force_01mob#50::OnMobDeath";
+ monster "force_1-1",18,25,"Smokie",1561,1,"force_01mob#50::OnMobDeath";
+ monster "force_1-1",32,25,"Smokie",1561,1,"force_01mob#50::OnMobDeath";
+ monster "force_1-1",25,32,"Smokie",1561,1,"force_01mob#50::OnMobDeath";
+ monster "force_1-1",25,18,"Smokie",1561,1,"force_01mob#50::OnMobDeath";
+ set $force_01_50,5;
+ end;
+
+Onreset:
+ killmonster "force_1-1","force_01mob#50::OnMobDeath";
+ end;
+
+OnMobDeath:
+ set $force_01_50,$force_01_50 -1;
+ if ($force_01_50 < 1) {
+ donpcevent "Heel and Toe#arena::On01_end";
+ donpcevent "arena#50::Onreset_01";
+ }
+ end;
+}
+
+- script force_02start#50 -1,{
+
+Onon:
+ donpcevent "force_02mob#50::Onsummonmob2";
+ end;
+}
+
+- script force_02mob#50 -1,{
+
+Onreset:
+ killmonster "force_1-1","force_02mob#50::OnMobEx";
+ end;
+
+Onsummonmob2:
+ monster "force_1-1",24,76,"Familiar",1419,1,"force_02mob#50::OnMobEx";
+ monster "force_1-1",28,76,"Familiar",1419,1,"force_02mob#50::OnMobEx";
+ monster "force_1-1",24,86,"Familiar",1419,1,"force_02mob#50::OnMobEx";
+ monster "force_1-1",26,86,"Ghoul",1423,1,"force_02mob#50::OnMobEx";
+ monster "force_1-1",25,100,"Ghoul",1423,1,"force_02mob#50::OnMobEx";
+ monster "force_1-1",26,118,"Ghoul",1423,1,"force_02mob#50::OnMobEx";
+ monster "force_1-1",28,79,"Mummy",1393,1,"force_02mob#50::OnMobEx";
+ monster "force_1-1",23,87,"Mummy",1393,1,"force_02mob#50::OnMobEx";
+ monster "force_1-1",28,99,"Mummy",1393,1,"force_02mob#50::OnMobEx";
+ monster "force_1-1",23,112,"Mummy",1393,1,"force_02mob#50::OnMobEx";
+ monster "force_1-1",28,128,"Mummy",1393,1,"force_02mob#50::OnMobEx";
+ end;
+
+OnMobEx:
+ end;
+}
+
+- script force_03start#50 -1,{
+
+Onon:
+ donpcevent "force_03mob#50::Onon";
+ end;
+}
+
+- script force_03ex#50 -1,{
+
+Onreset:
+ killmonster "force_1-1","force_03ex#50::OnMobEx";
+ end;
+
+Onsummonmob_03:
+ monster "force_1-1",26,173,"Hydra",1579,1,"force_03ex#50::OnMobEx";
+ monster "force_1-1",21,173,"Hydra",1579,1,"force_03ex#50::OnMobEx";
+ monster "force_1-1",31,173,"Hydra",1579,1,"force_03ex#50::OnMobEx";
+ monster "force_1-1",26,186,"Marse",1551,1,"force_03ex#50::OnMobEx";
+ monster "force_1-1",26,161,"Marse",1551,1,"force_03ex#50::OnMobEx";
+ monster "force_1-1",13,173,"Marse",1551,1,"force_03ex#50::OnMobEx";
+ monster "force_1-1",38,173,"Marse",1551,1,"force_03ex#50::OnMobEx";
+ monster "force_1-1",29,174,"Marse",1551,1,"force_03ex#50::OnMobEx";
+ end;
+
+OnMobEx:
+ end;
+}
+
+- script force_03mob#50 -1,{
+
+Onon:
+ donpcevent "force_03ex#50::Onsummonmob_03";
+ monster "force_1-1",23,174,"Karakasa",1544,1,"force_03mob#50::OnMobDeath";
+ monster "force_1-1",18,173,"Karakasa",1544,1,"force_03mob#50::OnMobDeath";
+ monster "force_1-1",33,173,"Karakasa",1544,1,"force_03mob#50::OnMobDeath";
+ monster "force_1-1",26,181,"Karakasa",1544,1,"force_03mob#50::OnMobDeath";
+ monster "force_1-1",26,166,"Karakasa",1544,1,"force_03mob#50::OnMobDeath";
+ set $force_03_50,5;
+ end;
+
+Onreset:
+ killmonster "force_1-1","force_03mob#50::OnMobDeath";
+ end;
+
+OnMobDeath:
+ set $force_03_50,$force_03_50 -1;
+ donpcevent "force_03mob#50::Onsummonmob_03";
+ if ($force_03_50 < 1) {
+ donpcevent "Heel and Toe#arena::On03_end";
+ donpcevent "arena#50::Onreset_03";
+ }
+ end;
+}
+
+- script force_04start#50 -1,{
+
+Onon:
+ donpcevent "force_04mob#50::Onon";
+end;
+
+}
+
+- script force_04ex#50 -1,{
+
+Onreset:
+ killmonster "force_1-1","force_04ex#50::OnMobEx";
+ end;
+
+Onsummonmob_04:
+ monster "force_1-1",99,174,"Familiar",1419,1,"force_04ex#50::OnMobEx";
+ monster "force_1-1",103,174,"Familiar",1419,1,"force_04ex#50::OnMobEx";
+ monster "force_1-1",107,174,"Familiar",1419,1,"force_04ex#50::OnMobEx";
+ monster "force_1-1",111,176,"Familiar",1419,1,"force_04ex#50::OnMobEx";
+ monster "force_1-1",115,176,"Familiar",1419,1,"force_04ex#50::OnMobEx";
+ monster "force_1-1",119,172,"Familiar",1419,1,"force_04ex#50::OnMobEx";
+ monster "force_1-1",95,178,"Familiar",1419,1,"force_04ex#50::OnMobEx";
+ monster "force_1-1",100,178,"Familiar",1419,1,"force_04ex#50::OnMobEx";
+ monster "force_1-1",105,172,"Familiar",1419,1,"force_04ex#50::OnMobEx";
+ monster "force_1-1",110,172,"Flora",1575,1,"force_04ex#50::OnMobEx";
+ monster "force_1-1",115,172,"Flora",1575,1,"force_04ex#50::OnMobEx";
+ monster "force_1-1",120,172,"Flora",1575,1,"force_04ex#50::OnMobEx";
+ monster "force_1-1",125,172,"Flora",1575,1,"force_04ex#50::OnMobEx";
+ monster "force_1-1",105,178,"Flora",1575,1,"force_04ex#50::OnMobEx";
+ end;
+
+OnMobEx:
+ end;
+
+}
+
+- script force_04mob#50 -1,{
+
+Onon:
+ donpcevent "force_04ex#50::Onsummonmob_04";
+ monster "force_1-1",85,172,"Kobold",1547,1,"force_04mob#50::OnMobDeath";
+ monster "force_1-1",95,172,"Kobold",1547,1,"force_04mob#50::OnMobDeath";
+ monster "force_1-1",120,172,"Kobold",1545,1,"force_04mob#50::OnMobDeath";
+ set $force_04_50,3;
+ end;
+Onreset:
+ killmonster "force_1-1","force_04mob#50::OnMobDeath";
+ end;
+
+OnMobDeath:
+ set $force_04_50,$force_04_50 -1;
+ if ($force_04_50 < 1) {
+ donpcevent "Heel and Toe#arena::On04_end";
+ donpcevent "arena#50::Onreset_04";
+ }
+ end;
+}
+
+- script force_05start#50 -1,{
+
+Onon:
+ donpcevent "force_05mob#50::Onon";
+ end;
+}
+
+- script force_05ex#50 -1,{
+
+Onreset:
+ killmonster "force_1-1","force_05ex#50::OnMobEx";
+ end;
+
+Onsummonmob_05:
+ set $@randmonster50,rand(1,2);
+ switch($@randmonster50) {
+ case 1:
+ monster "force_1-1",174,174,"Desert Wolf",1432,1,"force_05ex#50::OnMobEx";
+ break;
+ case 2:
+ monster "force_1-1",173,173,"Zerom",1470,1,"force_05ex#50::OnMobEx";
+ break;
+ }
+ end;
+
+OnMobEx:
+ end;
+}
+
+- script force_05mob#50 -1,{
+
+Onon:
+ monster "force_1-1",173,166,"Hydra",1579,1,"force_05mob#50::OnMobDeath";
+ monster "force_1-1",171,170,"Hydra",1579,1,"force_05mob#50::OnMobDeath";
+ monster "force_1-1",177,170,"Hydra",1579,1,"force_05mob#50::OnMobDeath";
+ monster "force_1-1",183,173,"Orc Lady",1452,1,"force_05mob#50::OnMobDeath";
+ monster "force_1-1",173,173,"Orc Lady",1452,1,"force_05mob#50::OnMobDeath";
+ monster "force_1-1",181,173,"Golem",1540,1,"force_05mob#50::OnMobDeath";
+ monster "force_1-1",171,177,"Golem",1540,1,"force_05mob#50::OnMobDeath";
+ set $force_05_50,7;
+ end;
+
+Onreset:
+ killmonster "force_1-1","force_05mob#50::OnMobDeath";
+ end;
+
+OnMobDeath:
+ set $force_05_50,$force_05_50 -1;
+ if ($force_05_50 < 1) {
+ donpcevent "Heel and Toe#arena::On05_end";
+ donpcevent "arena#50::Onreset_05";
+ }
+ else donpcevent "force_05ex#50::Onsummonmob_05";
+ end;
+
+}
+
+- script force_06start#50 -1,{
+
+Onon:
+ donpcevent "force_06mob#50::Onon";
+ end;
+}
+
+- script force_06ex#50 -1,{
+
+Onreset:
+ killmonster "force_1-1","force_06ex#50::OnMobEx";
+ end;
+
+Onsummonmob_06:
+ monster "force_1-1",173,118,"Smokie",1561,1,"force_06ex#50::OnMobEx";
+ monster "force_1-1",173,108,"Smokie",1561,1,"force_06ex#50::OnMobEx";
+ monster "force_1-1",173,99,"Smokie",1561,1,"force_06ex#50::OnMobEx";
+ monster "force_1-1",171,108,"Golem",1540,1,"force_06ex#50::OnMobEx";
+ monster "force_1-1",171,99,"Skel Worker",1469,1,"force_06ex#50::OnMobEx";
+ monster "force_1-1",171,85,"Skel Worker",1469,1,"force_06ex#50::OnMobEx";
+ monster "force_1-1",171,90,"Golem",1540,1,"force_06ex#50::OnMobEx";
+ monster "force_1-1",171,79,"Scorpion",1559,1,"force_06ex#50::OnMobEx";
+ monster "force_1-1",175,118,"Scorpion",1559,1,"force_06ex#50::OnMobEx";
+ monster "force_1-1",175,108,"Sandman",1558,1,"force_06ex#50::OnMobEx";
+ monster "force_1-1",175,99,"Sandman",1558,1,"force_06ex#50::OnMobEx";
+ end;
+
+OnMobEx:
+ end;
+}
+
+- script force_06mob#50 -1,{
+
+Onon:
+ donpcevent "force_06ex#50::Onsummonmob_06";
+ monster "force_1-1",173,90,"Drops",1572,1,"force_06mob#50::OnMobDeath";
+ monster "force_1-1",173,79,"Drops",1572,1,"force_06mob#50::OnMobDeath";
+ monster "force_1-1",172,70,"Drops",1572,1,"force_06mob#50::OnMobDeath";
+ monster "force_1-1",175,70,"Drops",1572,1,"force_06mob#50::OnMobDeath";
+ monster "force_1-1",171,118,"Drops",1572,1,"force_06mob#50::OnMobDeath";
+ set $force_06_50,5;
+ end;
+
+Onreset:
+ killmonster "force_1-1","force_06mob#50::OnMobDeath";
+ end;
+
+OnMobDeath:
+ set $force_06_50,$force_06_50 -1;
+ if ($force_06_50 < 1) {
+ donpcevent "Heel and Toe#arena::On06_end";
+ donpcevent "arena#50::Onreset_06";
+ }
+ end;
+}
+
+- script force_07start#50 -1,{
+
+Onon:
+ donpcevent "force_07mob#50::Onon";
+ end;
+}
+
+- script force_07ex#50 -1,{
+
+Onreset:
+ killmonster "force_1-1","force_07ex#50::OnMobEx";
+ end;
+
+Onsummonmob_07:
+ monster "force_1-1",163,36,"Hydra",1579,1,"force_07ex#50::OnMobEx";
+ monster "force_1-1",167,36,"Hydra",1579,1,"force_07ex#50::OnMobEx";
+ monster "force_1-1",171,36,"Hydra",1579,1,"force_07ex#50::OnMobEx";
+ monster "force_1-1",175,36,"Hydra",1579,1,"force_07ex#50::OnMobEx";
+ monster "force_1-1",179,36,"Hydra",1579,1,"force_07ex#50::OnMobEx";
+ monster "force_1-1",183,36,"Hydra",1579,1,"force_07ex#50::OnMobEx";
+ monster "force_1-1",183,32,"Hydra",1579,1,"force_07ex#50::OnMobEx";
+ monster "force_1-1",183,28,"Hydra",1579,1,"force_07ex#50::OnMobEx";
+ monster "force_1-1",183,24,"Hydra",1579,1,"force_07ex#50::OnMobEx";
+ monster "force_1-1",183,20,"Hydra",1579,1,"force_07ex#50::OnMobEx";
+ monster "force_1-1",183,16,"Hydra",1579,1,"force_07ex#50::OnMobEx";
+ monster "force_1-1",179,16,"Hydra",1579,1,"force_07ex#50::OnMobEx";
+ monster "force_1-1",175,16,"Hydra",1579,1,"force_07ex#50::OnMobEx";
+ monster "force_1-1",171,16,"Hydra",1579,1,"force_07ex#50::OnMobEx";
+ monster "force_1-1",167,16,"Hydra",1579,1,"force_07ex#50::OnMobEx";
+ monster "force_1-1",163,16,"Hydra",1579,1,"force_07ex#50::OnMobEx";
+ monster "force_1-1",163,20,"Hydra",1579,1,"force_07ex#50::OnMobEx";
+ monster "force_1-1",163,24,"Hydra",1579,1,"force_07ex#50::OnMobEx";
+ monster "force_1-1",163,28,"Hydra",1579,1,"force_07ex#50::OnMobEx";
+ monster "force_1-1",163,32,"Hydra",1579,1,"force_07ex#50::OnMobEx";
+ monster "force_1-1",163,31,"Punk",1481,1,"force_07ex#50::OnMobEx";
+ monster "force_1-1",163,23,"Punk",1481,1,"force_07ex#50::OnMobEx";
+ end;
+
+OnMobEx:
+ end;
+}
+
+- script force_07mob#50 -1,{
+
+Onon:
+ donpcevent "force_07ex#50::Onsummonmob_07";
+ monster "force_1-1",174,25,"Red Plant",1078,1,"force_07mob#50::OnMobDeath";
+ set $force_07_50,1;
+ end;
+
+Onreset:
+ killmonster "force_1-1","force_07mob#50::OnMobDeath";
+ end;
+
+OnMobDeath:
+ set $force_07_50,$force_07_50 -1;
+ if ($force_07_50 < 1) {
+ donpcevent "Heel and Toe#arena::On07_end";
+ donpcevent "arena#50::Onreset_07";
+ }
+ end;
+}
+
+- script force_08start#50 -1,{
+
+Onon:
+ donpcevent "force_08ex#50::Onon";
+ end;
+}
+
+- script force_08ex#50 -1,{
+
+Onon:
+ donpcevent "arena#50::Onreset_08";
+ end;
+}
+
+- script force_09start#50 -1,{
+
+Onon:
+ donpcevent "force_09mob#50::Onon";
+ end;
+}
+
+- script force_09ex#50 -1,{
+
+Onreset:
+ killmonster "force_1-1","force_09ex#50::OnMobEx";
+ end;
+
+Onsummonmob_09:
+ monster "force_1-1",110,110,"Familiar",1419,1,"force_09ex#50::OnMobEx";
+ monster "force_1-1",89,110,"Familiar",1419,1,"force_09ex#50::OnMobEx";
+ monster "force_1-1",89,89,"Familiar",1419,1,"force_09ex#50::OnMobEx";
+ monster "force_1-1",110,89,"Familiar",1419,1,"force_09ex#50::OnMobEx";
+ monster "force_1-1",105,105,"Familiar",1419,1,"force_09ex#50::OnMobEx";
+ monster "force_1-1",94,105,"Familiar",1419,1,"force_09ex#50::OnMobEx";
+ monster "force_1-1",94,94,"Familiar",1419,1,"force_09ex#50::OnMobEx";
+ monster "force_1-1",110,110,"Familiar",1419,1,"force_09ex#50::OnMobEx";
+ monster "force_1-1",89,110,"Familiar",1419,1,"force_09ex#50::OnMobEx";
+ monster "force_1-1",89,89,"Familiar",1419,1,"force_09ex#50::OnMobEx";
+ monster "force_1-1",110,89,"Familiar",1419,1,"force_09ex#50::OnMobEx";
+ monster "force_1-1",105,105,"Familiar",1419,1,"force_09ex#50::OnMobEx";
+ monster "force_1-1",94,105,"Familiar",1419,1,"force_09ex#50::OnMobEx";
+ monster "force_1-1",94,94,"Familiar",1419,1,"force_09ex#50::OnMobEx";
+ monster "force_1-1",105,94,"Familiar",1419,1,"force_09ex#50::OnMobEx";
+ end;
+
+OnMobEx:
+ end;
+}
+
+- script force_09mob#50 -1,{
+
+Onon:
+ monster "force_1-1",99,99,"Vocal",1581,1,"force_09mob#50::OnMobDeath";
+ donpcevent "force_09ex#50::Onsummonmob_09";
+ set $force_09_50,1;
+ end;
+
+Onreset:
+ killmonster "force_1-1","force_09mob#50::OnMobDeath";
+ end;
+
+OnMobDeath:
+ set $force_09_50,$force_09_50 -1;
+ if ($force_09_50 < 1) {
+ donpcevent "Heel and Toe#arena::On09_end";
+ donpcevent "arena#50::Onreset_09";
+ donpcevent "arena#50::Onreset_all";
+ set $arena_min50end,gettime(2);
+ set $arena_sec50end,gettime(1);
+ }
+ end;
+}
+
+prt_are_in,129,188,3 script Staff#50-1 67,{
+
+ mes "[Staff]";
+ mes "You did a good job.";
+ mes "Even if you have failed to clear a time attack battle, I will reward you with a small amount of arena points.";
+ next;
+ if (arena_point == 30000) {
+ mes "[Staff]";
+ mes "Uh huh!";
+ mes "You already have enough arena points.";
+ mes "Please spend some arena points later. When I see you next time, I will make sure to give you some reward.";
+ next;
+ }
+ else set arena_point, arena_point + 1;
+ mes "[Staff]";
+ mes "Let me guide you outside. I hope you had a good time.";
+ close2;
+ specialeffect2 EF_EXIT;
+ warp "arena_room",100,75;
+ end;
+}
+
+prt_are_in,25,188,3 script Staff#50-2 67,{
+
+ if($arena_min50end < $arena_min50st)
+ {
+ if($arena_sec50end < $arena_sec50st)
+ {
+ set @record_min50,60 - $arena_min50st + $arena_min50end -1;
+ set @record_sec50,60 - $arena_sec50st + $arena_sec50end;
+ }
+ else
+ {
+ set @record_min50,60 - $arena_min50st + $arena_min50end;
+ set @record_sec50,$arena_sec50end - $arena_sec50st;
+ }
+ }
+ else
+ {
+ if($arena_sec50end < $arena_sec50st)
+ {
+ set @record_min50,$arena_min50end - $arena_min50st -1;
+ set @record_sec50,60 - $arena_sec50st + $arena_sec50end;
+ }
+ else
+ {
+ set @record_min50,$arena_min50end - $arena_min50st;
+ set @record_sec50,$arena_sec50end - $arena_sec50st;
+ }
+ }
+ set @gap50,(60 * $top_50min + $top_50sec) - (60 * @record_min50 + @record_sec50);
+ mes "[Staff]";
+ mes "Wow, you did a good job~ ";
+ mes "Your name is...^3131FF" + strcharinfo(0) +"^000000, isn't it?";
+ mes "^3131FF"+ strcharinfo(0) +"^000000, total time you spent to pass the battle..";
+ next;
+ mes "[Staff]";
+ mes "is "+@record_min50+"minutes "+@record_sec50+"seconds.";
+ mes "Congratulations!";
+ next;
+ mes "[Staff]";
+ mes "The fastest player among people who cleared lvl 50s arena time force battle is ^3131FF"+$arena_50topn$+"^000000.";
+ next;
+ mes "[Staff]";
+ mes "^3131FF"+$arena_50topn$+"^000000's running time was ^3131FF"+$top_50min+"^000000minutes ^3131FF"+$top_50sec+"^000000seconds.";
+ next;
+ if (@gap50 < 0) {
+ mes "[Staff]";
+ mes "Although you failed to make a new record, I hope you will succeed next time.";
+ next;
+ if (arena_point > 29980) {
+ mes "[Staff]";
+ mes "Then let me reward you with some arena points....eh?";
+ mes "Your arena points have exceeded the maximum amount. I cannot give you more points until you spend some points.";
+ next;
+ mes "[Staff]";
+ mes "You can check the amount of arena points you have in the arena waiting room.";
+ next;
+ mes "[Staff]";
+ mes "I hope you had a good time and let me guide you to the entrance of arena.";
+ mes "Thank you.";
+ close2;
+ }
+ else
+ {
+ set arena_point, arena_point + 20;
+ mes "[Staff]";
+ mes "Let me reward you some arena points.";
+ mes "If you wish to check the amount of arena points you have, please go talk to ^3131FFVendigos^000000 at the arena entrance.";
+ next;
+ mes "[Staff]";
+ mes "Let me guide you to the entrance of arena.";
+ mes "See you later~";
+ close2;
+ }
+ specialeffect2 EF_EXIT;
+ donpcevent "cast#50::Onnomal1";
+ warp "arena_room",100,75;
+ donpcevent "#arn_timer_50::Onstop";
+ donpcevent "alloff#50::Onon";
+ donpcevent "lvl 50s Waiting Room::Onstart";
+ end;
+ }
+ else
+ {
+ emotion e_omg;
+ mes "[Staff]";
+ mes "Wow! You have renewed the record!";
+ mes "What a great job!";
+ next;
+ mes "[Staff]";
+ mes "You have been recorded as the fastest player among people who cleared ^FF0000Arena Time Force Battle lvl 50s^000000, ^3131FF"+strcharinfo(0)+"^000000.";
+ set $top_50min, @record_min50;
+ set $top_50sec, @record_sec50;
+ set $arena_50topn$,strcharinfo(0);
+ donpcevent "Vendigos::Onlinerec_50";
+ next;
+ if (arena_point > 29950) {
+ mes "[Staff]";
+ mes "Then let me reward you with some arena points....eh?";
+ mes "Your arena points have exceeded the maximum amount. I cannot give you more points until you spend some points.";
+ next;
+ mes "[Staff]";
+ mes "You can check the amount of arena points you have in the arena waiting room.";
+ next;
+ mes "[Staff]";
+ mes "I hope you had a good time and let me guide you to the entrance of arena.";
+ mes "Thank you.";
+ close2;
+ }
+ else
+ {
+ mes "[Staff]";
+ mes "Let me reward you with some arena points.";
+ mes "At the same time, since you have renewed the record you will receive an extra amount of the points this time.";
+ next;
+ set arena_point, arena_point + 50;
+ mes "[Staff]";
+ mes "Let me reward you some arena points.";
+ mes "If you wish to check the amount of arena points you have, please go talk to ^3131FFVendigos^000000 at the arena entrance.";
+ next;
+ mes "[Staff]";
+ mes "Let me guide you to the entrance of arena.";
+ mes "See you later~";
+ close2;
+ }
+ specialeffect2 EF_HIT5;
+ donpcevent "cast#50::Onnomal2";
+ warp "arena_room",100,75;
+ donpcevent "#arn_timer_50::Onstop";
+ donpcevent "alloff#50::Onon";
+ donpcevent "lvl 50s Waiting Room::Onstart";
+ end;
+ }
+}
+
+- script #arn_timer_50 -1,{
+
+Onon:
+ initnpctimer;
+ end;
+
+OnTimer2000:
+ mapannounce "prt_are_in","This broadcast informs you about the restriction for arena lvl 50s.",0,0xFFCE00;
+ end;
+
+OnTimer3000:
+ mapannounce "prt_are_in","For a smooth game play, exit warp portal will be activated in 1 minute.",0,0xFFCE00;
+ end;
+
+OnTimer4000:
+ mapannounce "prt_are_in","Please proceed your battle quickly as possible in order to avoid disadvantage. Thank you for your cooperation.",0,0xFFCE00;
+ end;
+
+OnTimer60000:
+ donpcevent "cast#50::Ontimeover2";
+ donpcevent "arn_warp_50::Onout";
+ donpcevent "#arn_timer_50::Onstop";
+ donpcevent "alloff#50::Onon";
+ donpcevent "lvl 50s Waiting Room::Onstart";
+ end;
+
+Onstop:
+ stopnpctimer;
+ end;
+
+}
+
+- script arn_warp_50 -1,{
+
+Onout:
+ areawarp "prt_are_in",14,195,29,178,"arena_room",100,75;
+ end;
+}
+
+- script cast#50 -1,{
+Ontimeover1:
+ mapannounce "force_1-1","Arena will be reactivated due to an error occurred during battle.",0,0xFFCE00;
+ end;
+Ontimeover2:
+ mapannounce "force_1-1","Arena will be activated due to an error occurred in the waiting room.",0,0xFFCE00;
+ end;
+Onnomal1:
+ mapannounce "force_1-1","Arena will be reactivated.",0,0xFFCE00;
+ end;
+Onnomal2:
+ mapannounce "force_1-1","Arena will be reactivated.",0,0xFFCE00;
+ end;
+}
+
+- script alloff#50 -1,{
+
+Onon:
+ mapwarp "force_1-1","prt_are_in",126,190,0,0;
+ donpcevent "force_01mob#50::Onreset";
+ donpcevent "force_02mob#50::Onreset";
+ donpcevent "force_03mob#50::Onreset";
+ donpcevent "force_04mob#50::Onreset";
+ donpcevent "force_05mob#50::Onreset";
+ donpcevent "force_06mob#50::Onreset";
+ donpcevent "force_07mob#50::Onreset";
+ donpcevent "force_09mob#50::Onreset";
+ donpcevent "force_01ex#50::Onreset";
+ donpcevent "force_03ex#50::Onreset";
+ donpcevent "force_04ex#50::Onreset";
+ donpcevent "force_05ex#50::Onreset";
+ donpcevent "force_06ex#50::Onreset";
+ donpcevent "force_07ex#50::Onreset";
+ donpcevent "force_08ex#50::Onreset";
+ donpcevent "force_09ex#50::Onreset";
+ donpcevent "Heel and Toe#arena::Ontimeroff";
+ disablenpc "Heel and Toe#arena";
+ disablenpc "force_01_02#50";
+ disablenpc "force_02_03#50";
+ disablenpc "force_03_04#50";
+ disablenpc "force_04_05#50";
+ disablenpc "force_05_06#50";
+ disablenpc "force_06_07#50";
+ disablenpc "force_07_08#50";
+ disablenpc "force_08_09#50";
+ disablenpc "force_exit#50";
+ disablenpc "arena#50";
+ donpcevent "#arn_timer_50::Onstop";
+ enablenpc "Heel and Toe#arena";
+ enablenpc "arena#50";
+ end;
+
+OnInit:
+ if(!$top_50min && !$top_50sec) set $top_50min,5;
+ end;
+
+}
diff --git a/npc/other/arena/arena_lvl60.txt b/npc/other/arena/arena_lvl60.txt
new file mode 100644
index 000000000..b83dc8eea
--- /dev/null
+++ b/npc/other/arena/arena_lvl60.txt
@@ -0,0 +1,1108 @@
+//===== Hercules Script ======================================
+//= Izlude Arena lvl 60
+//===== By: ==================================================
+//= SinSloth
+//===== Current Version: =====================================
+//= 1.2
+//===== Description: =========================================
+//= Izlude Battle Arena Level 60
+//===== Additional Comments: =================================
+//= 1.0 First version.
+//= 1.1 Fixed coordinate typo. (bugreport:1663) [L0ne_W0lf]
+//= 1.2 Replaced effect numerics with constants. [Samuray22]
+//============================================================
+
+arena_room,38,88,5 script lvl 60s Waiting Room 124,{
+ end;
+
+OnInit:
+ waitingroom "Individual; Level 60 to 79",50,"lvl 60s Waiting Room::OnStartArena",1,1000,60,79;
+ enablewaitingroomevent;
+ end;
+
+OnStartArena:
+ warpwaitingpc "force_2-1",99,12;
+ donpcevent "arena#60::Onstart";
+ disablewaitingroomevent;
+ end;
+
+Onstart:
+ enablewaitingroomevent;
+ end;
+}
+
+force_2-1,99,20,4 script Minilover#arena 124,{
+ end;
+
+OnInit:
+ set $@mapcount60, 0;
+ end;
+
+Onstart:
+ initnpctimer;
+ set $arena_min60st,gettime(2);
+ set $arena_sec60st,gettime(1);
+ end;
+
+OnTimer3000:
+ mapannounce "force_2-1","Good day, my name is Minilover, the guide of Time Force Battle for lvl 60s!",0;
+ end;
+
+OnTimer4000:
+ mapannounce "force_2-1","Remember your right decision will save a lot of your time!",0;
+ end;
+
+OnTimer5000:
+ mapannounce "force_2-1","In order to complete this battle course, you must start from the far left of this room to the clock wise direction. Please move to the far left side. You have 6 minutes from now.",0;
+ end;
+
+OnTimer60000:
+ set $@mapcount60, getmapusers ("force_2-1");
+ if ($@mapcount60 == 0) {
+ donpcevent "Minilover#arena::Onfailclearstage";
+ }
+ mapannounce "force_2-1","Remaining Time : 5 minutes ",0;
+ end;
+
+OnTimer120000:
+ set $@mapcount60, getmapusers ("force_2-1");
+ if ($@mapcount60 == 0) {
+ donpcevent "Minilover#arena::Onfailclearstage";
+ }
+ mapannounce "force_2-1","Remaining Time : 4 minutes ",0;
+ end;
+
+OnTimer180000:
+ set $@mapcount60, getmapusers ("force_2-1");
+ if ($@mapcount60 == 0) {
+ donpcevent "Minilover#arena::Onfailclearstage";
+ }
+ mapannounce "force_2-1","Remaining Time : 3 minutes ",0;
+ end;
+
+OnTimer240000:
+ set $@mapcount60, getmapusers ("force_2-1");
+ if ($@mapcount60 == 0) {
+ donpcevent "Minilover#arena::Onfailclearstage";
+ }
+ mapannounce "force_2-1","Remaining Time : 2 minutes ",0;
+ end;
+
+OnTimer300000:
+ set $@mapcount60, getmapusers ("force_2-1");
+ if ($@mapcount60 == 0) {
+ donpcevent "Minilover#arena::Onfailclearstage";
+ }
+ mapannounce "force_2-1","Remaining Time : 1 minute ",0;
+ end;
+
+OnTimer360000:
+ mapannounce "force_2-1","Your time is over. I hope you had a good time~",0;
+ end;
+
+OnTimer365000:
+OnTimer366000:
+OnTimer367000:
+OnTimer368000:
+OnTimer369000:
+OnTimer370000:
+OnTimer371000:
+OnTimer372000:
+OnTimer373000:
+OnTimer374000:
+ mapwarp "force_2-1","prt_are_in",126,139,0,0;
+ end;
+
+OnTimer375000:
+ mapwarp "force_2-1","prt_are_in",126,139,0,0;
+ donpcevent "Minilover#arena::Onfailclearstage";
+ end;
+
+Ontimeroff:
+ stopnpctimer;
+ end;
+
+Onfailclearstage:
+ donpcevent "cast#60::Ontimeover1";
+ mapwarp "force_2-1","prt_are_in",126,139,0,0;
+ donpcevent "Minilover#arena::Ontimeroff";
+ donpcevent "arena#60::Onreset_all";
+ donpcevent "alloff#60::Onon";
+ donpcevent "lvl 60s Waiting Room::Onstart";
+ end;
+
+On01_start:
+ mapannounce "force_2-1","In order to clear this battle, you must kill at least 5 Goblins while dodging Rotar Zairos!",0;
+ end;
+
+On01_end:
+ mapannounce "force_2-1","A door to the north room has opened!",0;
+ end;
+
+On02_start:
+ mapannounce "force_2-1","Escape to the north exit from the monsters!",0;
+ end;
+
+On02_end:
+ mapannounce "force_2-1","A door to the north room has opened!",0;
+ end;
+
+On03_start:
+ mapannounce "force_2-1","In order to clear this battle, you must kill all Mantises!",0;
+ end;
+
+On03_end:
+ mapannounce "force_2-1","Clear! A door to the east room has opened!",0;
+ end;
+
+On04_start:
+ mapannounce "force_2-1","In order to clear this battle, you must kill all non-aggressive monsters while dodging aggressive monsters!",0;
+ end;
+
+On04_end:
+ mapannounce "force_2-1","A door to the east room has opened!",0;
+ end;
+
+On05_start:
+ mapannounce "force_2-1","In order to clear this battle, you must kill all monsters except Hydras and Kaphas!",0;
+ end;
+
+On05_end:
+ mapannounce "force_2-1","Clear! A door to the south room has opened!",0;
+ end;
+
+On06_start:
+ mapannounce "force_2-1","In order to clear this battle, you must kill all Miyabi Dolls and escape to the south exit!",0;
+ end;
+
+On06_end:
+ mapannounce "force_2-1","A door to the south room has opened!",0;
+ end;
+
+On07_start:
+ mapannounce "force_2-1","In order to clear this battle, you must kill all monsters!",0;
+ end;
+
+On07_end:
+ mapannounce "force_2-1","Clear! A door to the west room has opened!",0;
+ end;
+
+On08_start:
+ mapannounce "force_2-1","Please escape to the north exit!",0;
+ end;
+
+On09_start:
+ mapannounce "force_2-1","In order to clear this battle, you must defeat a Goblin Leader!",0;
+ end;
+
+On09_end:
+ mapannounce "force_2-1","Boss Clear! - North exit has opened. Thank you.",0;
+ end;
+
+}
+
+- script arena#60 -1,{
+
+Onreset_01:
+ donpcevent "force_01ex#60::Onreset";
+ donpcevent "force_01mob#60::Onreset";
+ donpcevent "force_02start#60::Onon";
+ enablenpc "force_01_02#60";
+ enablenpc "force_02_03#60";
+ end;
+
+Onreset_02:
+ donpcevent "force_02mob#60::Onreset";
+ donpcevent "force_03start#60::Onon";
+ end;
+
+Onreset_03:
+ enablenpc "force_03_04#60";
+ donpcevent "force_04start#60::Onon";
+ donpcevent "force_03ex#60::Onreset";
+ end;
+
+Onreset_04:
+ enablenpc "force_04_05#60";
+ donpcevent "force_05start#60::Onon";
+ donpcevent "force_04ex#60::Onreset";
+ end;
+
+Onreset_05:
+ enablenpc "force_05_06#60";
+ donpcevent "force_06start#60::Onon";
+ donpcevent "force_05ex#60::Onreset";
+ donpcevent "force_05mob#60::Onreset";
+ end;
+
+Onreset_06:
+ enablenpc "force_06_07#60";
+ donpcevent "force_07start#60::Onon";
+ donpcevent "force_06ex#60::Onreset";
+ donpcevent "force_06mob#60::Onreset";
+ end;
+
+Onreset_07:
+ enablenpc "force_07_08#60";
+ donpcevent "force_08start#60::Onon";
+ end;
+
+Onreset_08:
+ donpcevent "force_09start#60::Onon";
+ enablenpc "force_08_09#60";
+ end;
+
+Onreset_09:
+ enablenpc "force_exit#60";
+ end;
+
+Onstart:
+ disablenpc "force_01_02#60";
+ disablenpc "force_02_03#60";
+ disablenpc "force_03_04#60";
+ disablenpc "force_04_05#60";
+ disablenpc "force_05_06#60";
+ disablenpc "force_06_07#60";
+ disablenpc "force_07_08#60";
+ disablenpc "force_08_09#60";
+ disablenpc "force_exit#60";
+ donpcevent "Minilover#arena::Ontimeroff";
+ donpcevent "force_01mob#60::Onreset";
+ donpcevent "force_02mob#60::Onreset";
+ donpcevent "force_03mob#60::Onreset";
+ donpcevent "force_04mob#60::Onreset";
+ donpcevent "force_05mob#60::Onreset";
+ donpcevent "force_06mob#60::Onreset";
+ donpcevent "force_07mob#60::Onreset";
+ donpcevent "force_08mob#60::Onreset";
+ donpcevent "force_09mob#60::Onreset";
+ donpcevent "force_01ex#60::Onreset";
+ donpcevent "force_03ex#60::Onreset";
+ donpcevent "force_04ex#60::Onreset";
+ donpcevent "force_05ex#60::Onreset";
+ donpcevent "force_06ex#60::Onreset";
+ donpcevent "force_08ex#60::Onreset";
+ donpcevent "force_09ex#60::Onreset";
+ enablenpc "force_08_01#60";
+ donpcevent "force_01start#60::Onon";
+ donpcevent "Minilover#arena::Onstart";
+ end;
+
+Onreset_all:
+ donpcevent "force_01mob#60::Onreset";
+ donpcevent "force_02mob#60::Onreset";
+ donpcevent "force_03mob#60::Onreset";
+ donpcevent "force_04mob#60::Onreset";
+ donpcevent "force_05mob#60::Onreset";
+ donpcevent "force_06mob#60::Onreset";
+ donpcevent "force_07mob#60::Onreset";
+ donpcevent "force_08mob#60::Onreset";
+ donpcevent "force_09mob#60::Onreset";
+ donpcevent "force_01ex#60::Onreset";
+ donpcevent "force_03ex#60::Onreset";
+ donpcevent "force_04ex#60::Onreset";
+ donpcevent "force_05ex#60::Onreset";
+ donpcevent "force_06ex#60::Onreset";
+ donpcevent "force_08ex#60::Onreset";
+ donpcevent "force_09ex#60::Onreset";
+ end;
+
+}
+
+force_2-1,62,26,1 script force_08_01#60 45,1,1,{
+
+OnTouch:
+ donpcevent "Minilover#arena::On01_start";
+ warp "force_2-1",40,26;
+ end;
+}
+
+force_2-1,25,44,1 script force_01_02#60 45,1,1,{
+
+OnTouch:
+ donpcevent "Minilover#arena::On02_start";
+ warp "force_2-1",25,69;
+ end;
+}
+
+force_2-1,25,134,1 script force_02_03#60 45,1,1,{
+
+OnTouch:
+ donpcevent "arena#60::Onreset_02";
+ donpcevent "Minilover#arena::On03_start";
+ warp "force_2-1",25,159;
+ end;
+}
+
+force_2-1,44,174,1 script force_03_04#60 45,1,1,{
+
+OnTouch:
+ donpcevent "Minilover#arena::On04_start";
+ warp "force_2-1",69,174;
+ end;
+}
+
+force_2-1,134,174,1 script force_04_05#60 45,1,1,{
+
+OnTouch:
+ donpcevent "Minilover#arena::On05_start";
+ warp "force_2-1",159,174;
+ end;
+}
+
+force_2-1,174,155,1 script force_05_06#60 45,1,1,{
+
+OnTouch:
+ donpcevent "Minilover#arena::On06_start";
+ warp "force_2-1",174,130;
+ end;
+}
+
+force_2-1,174,65,1 script force_06_07#60 45,1,1,{
+
+OnTouch:
+ donpcevent "Minilover#arena::On07_start";
+ warp "force_2-1",174,40;
+ end;
+}
+
+force_2-1,155,26,1 script force_07_08#60 45,1,1,{
+
+OnTouch:
+ donpcevent "Minilover#arena::On08_start";
+ warp "force_2-1",132,26;
+ enablenpc "force_08_09#60";
+ end;
+}
+
+force_2-1,99,54,1 script force_08_09#60 45,1,1,{
+
+OnTouch:
+ donpcevent "Minilover#arena::On09_start";
+ warp "force_2-1",99,82;
+ end;
+}
+
+force_2-1,99,124,1 script force_exit#60 45,1,1,{
+
+OnTouch:
+ donpcevent "Minilover#arena::Ontimeroff";
+ donpcevent "#arn_timer_60::Onon";
+ mapwarp "force_2-1","prt_are_in",22,139,0,0;
+ end;
+}
+
+- script force_01start#60 -1,{
+
+Onon:
+ donpcevent "force_01mob#60::Onon";
+end;
+}
+
+- script force_01ex#60 -1,{
+
+Onreset:
+ killmonster "force_2-1","force_01ex#60::OnMobEx";
+ end;
+
+Onon:
+ monster "force_2-1",25,25,"Rotar Zairo",1392,1,"force_01ex#60::OnMobEx";
+ end;
+
+OnMobEx:
+ end;
+}
+
+- script force_01mob#60 -1,{
+
+Onreset:
+ killmonster "force_2-1","force_01mob#60::OnMobDeath";
+ end;
+
+Onon:
+ donpcevent "force_01ex#60::Onon";
+ monster "force_2-1",25,32,"Goblin Archer",1577,1,"force_01mob#60::OnMobDeath";
+ monster "force_2-1",21,26,"Goblin",1534,1,"force_01mob#60::OnMobDeath";
+ monster "force_2-1",25,36,"Goblin",1536,1,"force_01mob#60::OnMobDeath";
+ monster "force_2-1",25,15,"Goblin",1534,1,"force_01mob#60::OnMobDeath";
+ monster "force_2-1",40,30,"Goblin",1536,1,"force_01mob#60::OnMobDeath";
+ monster "force_2-1",25,24,"Goblin",1534,1,"force_01mob#60::OnMobDeath";
+ monster "force_2-1",25,9,"Goblin",1536,1,"force_01mob#60::OnMobDeath";
+ monster "force_2-1",28,15,"Goblin Archer",1577,1,"force_01mob#60::OnMobDeath";
+ monster "force_2-1",12,33,"Goblin",1536,1,"force_01mob#60::OnMobDeath";
+ monster "force_2-1",24,20,"Goblin",1535,1,"force_01mob#60::OnMobDeath";
+ set $force_01_60,5;
+ end;
+
+OnMobDeath:
+ set $force_01_60,$force_01_60 -1;
+ if ($force_01_60 < 1) {
+ donpcevent "Minilover#arena::On01_end";
+ donpcevent "arena#60::Onreset_01";
+ }
+ end;
+}
+
+- script force_02start#60 -1,{
+
+Onon:
+ donpcevent "force_02mob#60::Onon";
+ end;
+}
+
+- script force_02mob#60 -1,{
+
+Onreset:
+ killmonster "force_2-1","force_02mob#60::OnMobEx";
+ end;
+Onon:
+ monster "force_2-1",24,76,"Drainliar",1434,1,"force_02mob#60::OnMobEx";
+ monster "force_2-1",28,76,"Drainliar",1434,1,"force_02mob#60::OnMobEx";
+ monster "force_2-1",24,86,"Drainliar",1434,1,"force_02mob#60::OnMobEx";
+ monster "force_2-1",24,76,"Drainliar",1434,1,"force_02mob#60::OnMobEx";
+ monster "force_2-1",28,76,"Drainliar",1434,1,"force_02mob#60::OnMobEx";
+ monster "force_2-1",24,86,"Drainliar",1434,1,"force_02mob#60::OnMobEx";
+ monster "force_2-1",24,76,"Drainliar",1434,1,"force_02mob#60::OnMobEx";
+ monster "force_2-1",28,76,"Drainliar",1434,1,"force_02mob#60::OnMobEx";
+ monster "force_2-1",23,76,"Requiem",1468,1,"force_02mob#60::OnMobEx";
+ monster "force_2-1",27,76,"Requiem",1468,1,"force_02mob#60::OnMobEx";
+ monster "force_2-1",25,86,"Requiem",1468,1,"force_02mob#60::OnMobEx";
+ monster "force_2-1",26,86,"Ghoul",1423,1,"force_02mob#60::OnMobEx";
+ monster "force_2-1",25,100,"Ghoul",1423,1,"force_02mob#60::OnMobEx";
+ monster "force_2-1",26,118,"Ghoul",1423,1,"force_02mob#60::OnMobEx";
+ monster "force_2-1",25,100,"Ghoul",1423,1,"force_02mob#60::OnMobEx";
+ monster "force_2-1",26,118,"Ghoul",1423,1,"force_02mob#60::OnMobEx";
+ monster "force_2-1",28,79,"Zerom",1470,1,"force_02mob#60::OnMobEx";
+ monster "force_2-1",23,87,"Zerom",1470,1,"force_02mob#60::OnMobEx";
+ monster "force_2-1",28,99,"Zerom",1470,1,"force_02mob#60::OnMobEx";
+ monster "force_2-1",23,112,"Zerom",1470,1,"force_02mob#60::OnMobEx";
+ monster "force_2-1",28,128,"Matyr",1460,1,"force_02mob#60::OnMobEx";
+ monster "force_2-1",28,128,"Matyr",1460,1,"force_02mob#60::OnMobEx";
+ monster "force_2-1",28,128,"Matyr",1460,1,"force_02mob#60::OnMobEx";
+ monster "force_2-1",28,128,"Orc Zombie",1463,1,"force_02mob#60::OnMobEx";
+ monster "force_2-1",28,128,"Orc Zombie",1463,1,"force_02mob#60::OnMobEx";
+ monster "force_2-1",28,128,"Orc Zombie",1463,1,"force_02mob#60::OnMobEx";
+ monster "force_2-1",28,128,"Orc Zombie",1463,1,"force_02mob#60::OnMobEx";
+ monster "force_2-1",28,128,"Orc Zombie",1463,1,"force_02mob#60::OnMobEx";
+ monster "force_2-1",28,128,"Matyr",1460,1,"force_02mob#60::OnMobEx";
+ monster "force_2-1",28,128,"Matyr",1460,1,"force_02mob#60::OnMobEx";
+ end;
+
+OnMobEx:
+ end;
+}
+
+- script force_03start#60 -1,{
+
+Onon:
+ donpcevent "force_03mob#60::Onon";
+ end;
+}
+
+- script force_03ex#60 -1,{
+
+Onreset:
+ killmonster "force_2-1","force_03ex#60::OnMobEx";
+ end;
+
+Onon:
+ monster "force_2-1",26,173,"Hydra",1579,1,"force_03ex#60::OnMobEx";
+ monster "force_2-1",21,173,"Hydra",1579,1,"force_03ex#60::OnMobEx";
+ monster "force_2-1",31,173,"Hydra",1579,1,"force_03ex#60::OnMobEx";
+ monster "force_2-1",26,178,"Hydra",1579,1,"force_03ex#60::OnMobEx";
+ monster "force_2-1",21,178,"Hydra",1579,1,"force_03ex#60::OnMobEx";
+ monster "force_2-1",31,178,"Hydra",1579,1,"force_03ex#60::OnMobEx";
+ monster "force_2-1",19,174,"Obeaune",1425,1,"force_03ex#60::OnMobEx";
+ monster "force_2-1",26,161,"Obeaune",1425,1,"force_03ex#60::OnMobEx";
+ monster "force_2-1",13,173,"Obeaune",1425,1,"force_03ex#60::OnMobEx";
+ monster "force_2-1",38,173,"Obeaune",1425,1,"force_03ex#60::OnMobEx";
+ end;
+
+OnMobEx:
+ end;
+}
+
+- script force_03mob#60 -1,{
+
+Onon:
+ donpcevent "force_03ex#60::Onon";
+ monster "force_2-1",23,174,"Mantis",1457,1,"force_03mob#60::OnMobDeath";
+ monster "force_2-1",18,173,"Mantis",1457,1,"force_03mob#60::OnMobDeath";
+ monster "force_2-1",33,173,"Mantis",1457,1,"force_03mob#60::OnMobDeath";
+ monster "force_2-1",26,181,"Mantis",1457,1,"force_03mob#60::OnMobDeath";
+ set $force_03_60,4;
+ end;
+
+Onreset:
+ killmonster "force_2-1","force_mob01#60::OnMobDeath";
+ end;
+
+OnMobDeath:
+ set $force_03_60,$force_03_60 -1;
+ if ($force_03_60 < 1) {
+ donpcevent "Minilover#arena::On03_end";
+ donpcevent "arena#60::Onreset_03";
+ }
+ end;
+}
+
+- script force_04start#60 -1,{
+
+Onon:
+ donpcevent "force_04mob#60::Onon";
+ end;
+}
+
+- script force_04ex#60 -1,{
+
+Onreset:
+ killmonster "force_2-1","force_04ex#60::OnMobEx";
+ end;
+
+Onon:
+ monster "force_2-1",84,177,"Sasquatch",1442,1,"force_04ex#60::OnMobEx";
+ monster "force_2-1",125,170,"Sasquatch",1442,1,"force_04ex#60::OnMobEx";
+ monster "force_2-1",109,172,"Baby Leopard",1524,1,"force_04ex#60::OnMobEx";
+ monster "force_2-1",121,172,"Baby Leopard",1524,1,"force_04ex#60::OnMobEx";
+ monster "force_2-1",104,173,"Chepet",1444,1,"force_04ex#60::OnMobEx";
+ monster "force_2-1",75,174,"Dokebi",1491,1,"force_04ex#60::OnMobEx";
+ monster "force_2-1",102,176,"Dokebi",1491,1,"force_04ex#60::OnMobEx";
+ end;
+
+OnMobEx:
+ end;
+}
+
+- script force_04mob#60 -1,{
+
+Onreset:
+ killmonster "force_2-1","force_04mob#60::OnMobDeath";
+ end;
+
+Onon:
+ donpcevent "force_04ex#60::Onon";
+ monster "force_2-1",79,174,"Golem",1540,1,"force_04mob#60::OnMobDeath";
+ monster "force_2-1",131,178,"Marse",1551,1,"force_04mob#60::OnMobDeath";
+ set $force_04_60,2;
+ end;
+
+OnMobDeath:
+ set $force_04_60,$force_04_60 -1;
+ if ($force_04_60 < 1) {
+ donpcevent "force_04ex#60::Onreset";
+ donpcevent "Minilover#arena::On04_end";
+ donpcevent "arena#60::Onreset_04";
+ }
+ end;
+}
+
+- script force_05start#60 -1,{
+
+Onon:
+ donpcevent "force_05mob#60::Onon";
+ end;
+}
+
+- script force_05ex#60 -1,{
+
+Onreset:
+ killmonster "force_2-1","force_05ex#60::OnMobEx";
+ end;
+
+Onsummonmob_05:
+ monster "force_2-1",168,177,"Hydra",1579,1,"force_05ex#60::OnMobEx";
+ monster "force_2-1",170,179,"Hydra",1579,1,"force_05ex#60::OnMobEx";
+ monster "force_2-1",177,179,"Hydra",1579,1,"force_05ex#60::OnMobEx";
+ monster "force_2-1",179,178,"Hydra",1579,1,"force_05ex#60::OnMobEx";
+ monster "force_2-1",179,170,"Hydra",1579,1,"force_05ex#60::OnMobEx";
+ monster "force_2-1",177,168,"Hydra",1579,1,"force_05ex#60::OnMobEx";
+ monster "force_2-1",170,168,"Hydra",1579,1,"force_05ex#60::OnMobEx";
+ monster "force_2-1",173,174,"Hydra",1579,1,"force_05ex#60::OnMobEx";
+ monster "force_2-1",174,174,"Hydra",1579,1,"force_05ex#60::OnMobEx";
+ monster "force_2-1",173,173,"Hydra",1579,1,"force_05ex#60::OnMobEx";
+ monster "force_2-1",174,173,"Hydra",1579,1,"force_05ex#60::OnMobEx";
+ monster "force_2-1",173,181,"Kapha",1543,1,"force_05ex#60::OnMobEx";
+ end;
+
+OnMobEx:
+ end;
+}
+
+- script force_05mob#60 -1,{
+
+Onreset:
+ killmonster "force_2-1","force_05mob#60::OnMobDeath";
+ end;
+
+Onon:
+ donpcevent "force_05ex#60::Onsummonmob_05";
+ monster "force_2-1",163,173,"Drainliar",1434,1,"force_05mob#60::OnMobDeath";
+ monster "force_2-1",173,173,"Myst",1553,1,"force_05mob#60::OnMobDeath";
+ monster "force_2-1",181,173,"Orc Skeleton",1462,1,"force_05mob#60::OnMobDeath";
+ monster "force_2-1",171,177,"Orc Skeleton",1462,1,"force_05mob#60::OnMobDeath";
+ monster "force_2-1",173,181,"Raggler",1445,1,"force_05mob#60::OnMobDeath";
+ set $force_05_60,5;
+ end;
+
+OnMobDeath:
+ set $force_05_60,$force_05_60 -1;
+ if ($force_05_60 < 1) {
+ donpcevent "Minilover#arena::On05_end";
+ donpcevent "arena#60::Onreset_05";
+ }
+ end;
+}
+
+- script force_06start#60 -1,{
+
+Onon:
+ donpcevent "force_06mob#60::Onon";
+ end;
+}
+
+- script force_06ex#60 -1,{
+
+Onreset:
+ killmonster "force_2-1","force_06ex#60::OnMobEx";
+ end;
+
+Onon:
+ monster "force_2-1",169,130,"Greatest General",1541,1,"force_06ex#60::OnMobEx";
+ monster "force_2-1",178,130,"Greatest General",1541,1,"force_06ex#60::OnMobEx";
+ monster "force_2-1",169,125,"Greatest General",1541,1,"force_06ex#60::OnMobEx";
+ monster "force_2-1",178,125,"Greatest General",1541,1,"force_06ex#60::OnMobEx";
+ monster "force_2-1",169,120,"Greatest General",1541,1,"force_06ex#60::OnMobEx";
+ monster "force_2-1",178,120,"Greatest General",1541,1,"force_06ex#60::OnMobEx";
+ monster "force_2-1",169,115,"Greatest General",1541,1,"force_06ex#60::OnMobEx";
+ monster "force_2-1",178,115,"Greatest General",1541,1,"force_06ex#60::OnMobEx";
+ monster "force_2-1",169,110,"Greatest General",1541,1,"force_06ex#60::OnMobEx";
+ monster "force_2-1",178,110,"Greatest General",1541,1,"force_06ex#60::OnMobEx";
+ monster "force_2-1",169,105,"Greatest General",1541,1,"force_06ex#60::OnMobEx";
+ monster "force_2-1",178,105,"Greatest General",1541,1,"force_06ex#60::OnMobEx";
+ monster "force_2-1",169,100,"Greatest General",1541,1,"force_06ex#60::OnMobEx";
+ monster "force_2-1",178,100,"Greatest General",1541,1,"force_06ex#60::OnMobEx";
+ monster "force_2-1",169,95,"Greatest General",1541,1,"force_06ex#60::OnMobEx";
+ monster "force_2-1",178,95,"Greatest General",1541,1,"force_06ex#60::OnMobEx";
+ monster "force_2-1",169,90,"Greatest General",1541,1,"force_06ex#60::OnMobEx";
+ monster "force_2-1",178,90,"Greatest General",1541,1,"force_06ex#60::OnMobEx";
+ monster "force_2-1",169,85,"Greatest General",1541,1,"force_06ex#60::OnMobEx";
+ monster "force_2-1",178,85,"Greatest General",1541,1,"force_06ex#60::OnMobEx";
+ monster "force_2-1",169,80,"Greatest General",1541,1,"force_06ex#60::OnMobEx";
+ monster "force_2-1",178,80,"Greatest General",1541,1,"force_06ex#60::OnMobEx";
+ monster "force_2-1",169,75,"Greatest General",1541,1,"force_06ex#60::OnMobEx";
+ monster "force_2-1",178,75,"Greatest General",1541,1,"force_06ex#60::OnMobEx";
+ end;
+
+Onsubon:
+ set $@randmonster60,rand(1,3);
+ switch($@randmonster60) {
+ case 1:
+ monster "force_2-1",rand(170,177),rand(70,120),"Sidewinder",1424,1,"force_06ex#60::OnMobEx";
+ break;
+ case 2:
+ monster "force_2-1",rand(170,177),rand(70,120),"Hermit Plant",1565,1,"force_06ex#60::OnMobEx";
+ break;
+ case 3:
+ monster "force_2-1",rand(170,177),rand(70,120),"Cruiser",1443,1,"force_06ex#60::OnMobEx";
+ break;
+ }
+ end;
+
+OnMobEx:
+ end;
+}
+
+- script force_06mob#60 -1,{
+
+Onreset:
+ killmonster "force_2-1","force_06mob#60::OnMobDeath";
+ end;
+
+Onon:
+ donpcevent "force_06ex#60::Onon";
+ monster "force_2-1",174,100,"Miyabi Doll",1552,1,"force_06mob#60::OnMobDeath";
+ monster "force_2-1",174,80,"Miyabi Doll",1552,1,"force_06mob#60::OnMobDeath";
+ set $force_06_60,2;
+ end;
+
+OnMobDeath:
+ set $force_06_60,$force_06_60 -1;
+ if ($force_06_60 < 1) {
+ set door, 1;
+ donpcevent "Minilover#arena::On06_end";
+ donpcevent "arena#60::Onreset_06";
+ }
+ else donpcevent "force_06ex#60::Onsubon";
+ end;
+}
+
+- script force_07start#60 -1,{
+
+Onon:
+ donpcevent "force_07mob#60::Onon";
+ end;
+}
+
+- script force_07mob#60 -1,{
+
+Onreset:
+ killmonster "force_2-1","force_07mob#60::OnMobDeath";
+ end;
+
+Onon:
+ monster "force_2-1",170,25,"Jakk",1436,1,"force_07mob#60::OnMobDeath";
+ monster "force_2-1",170,25,"Jakk",1436,1,"force_07mob#60::OnMobDeath";
+ monster "force_2-1",175,25,"Myst",1553,1,"force_07mob#60::OnMobDeath";
+ monster "force_2-1",179,25,"Isis",1421,1,"force_07mob#60::OnMobDeath";
+ set $force_07_50,4;
+ end;
+
+OnMobDeath:
+ set $force_07_50,$force_07_50 -1;
+ if ($force_07_50 < 1) {
+ donpcevent "Minilover#arena::On07_end";
+ donpcevent "arena#60::Onreset_07";
+ }
+ end;
+}
+
+- script force_08start#60 -1,{
+
+Onon:
+ donpcevent "force_08ex#60::Onon";
+ end;
+}
+
+- script force_08ex#60 -1,{
+
+Onon:
+ donpcevent "arena#60::Onreset_08";
+ end;
+}
+
+- script force_09start#60 -1,{
+
+Onon:
+ donpcevent "force_09mob#60::Onon";
+ end;
+}
+
+- script force_09ex#60 -1,{
+
+Onreset:
+ killmonster "force_2-1","force_09ex#60::OnMobEx";
+ end;
+
+Onsummonmob_09:
+ monster "force_2-1",90,100,"Horong",1578,1,"force_09ex#60::OnMobEx";
+ monster "force_2-1",92,100,"Horong",1578,1,"force_09ex#60::OnMobEx";
+ monster "force_2-1",99,100,"Horong",1578,1,"force_09ex#60::OnMobEx";
+ monster "force_2-1",105,100,"Horong",1578,1,"force_09ex#60::OnMobEx";
+ monster "force_2-1",91,108,"Greatest General",1541,1,"force_09ex#60::OnMobEx";
+ monster "force_2-1",91,104,"Greatest General",1541,1,"force_09ex#60::OnMobEx";
+ monster "force_2-1",91,100,"Greatest General",1541,1,"force_09ex#60::OnMobEx";
+ monster "force_2-1",91,96,"Greatest General",1541,1,"force_09ex#60::OnMobEx";
+ monster "force_2-1",91,92,"Greatest General",1541,1,"force_09ex#60::OnMobEx";
+ monster "force_2-1",95,108,"Greatest General",1541,1,"force_09ex#60::OnMobEx";
+ monster "force_2-1",99,108,"Greatest General",1541,1,"force_09ex#60::OnMobEx";
+ monster "force_2-1",100,108,"Greatest General",1541,1,"force_09ex#60::OnMobEx";
+ monster "force_2-1",104,108,"Greatest General",1541,1,"force_09ex#60::OnMobEx";
+ monster "force_2-1",108,108,"Greatest General",1541,1,"force_09ex#60::OnMobEx";
+ monster "force_2-1",108,104,"Greatest General",1541,1,"force_09ex#60::OnMobEx";
+ monster "force_2-1",108,100,"Greatest General",1541,1,"force_09ex#60::OnMobEx";
+ monster "force_2-1",108,96,"Greatest General",1541,1,"force_09ex#60::OnMobEx";
+ monster "force_2-1",108,92,"Greatest General",1541,1,"force_09ex#60::OnMobEx";
+ monster "force_2-1",104,102,"Greatest General",1541,1,"force_09ex#60::OnMobEx";
+ monster "force_2-1",196,102,"Greatest General",1541,1,"force_09ex#60::OnMobEx";
+ monster "force_2-1",114,100,"Greatest General",1541,1,"force_09ex#60::OnMobEx";
+ monster "force_2-1",121,100,"Greatest General",1541,1,"force_09ex#60::OnMobEx";
+ monster "force_2-1",85,100,"Greatest General",1541,1,"force_09ex#60::OnMobEx";
+ monster "force_2-1",78,100,"Greatest General",1541,1,"force_09ex#60::OnMobEx";
+ monster "force_2-1",96,118,"Greatest General",1541,1,"force_09ex#60::OnMobEx";
+ monster "force_2-1",103,118,"Greatest General",1541,1,"force_09ex#60::OnMobEx";
+ end;
+
+OnMobEx:
+ end;
+}
+
+- script force_09mob#60 -1,{
+
+Onon:
+ donpcevent "force_09ex#60::Onsummonmob_09";
+ monster "force_2-1",99,99,"Goblin Leader",1539,1,"force_09mob#60::OnMobDeath";
+ set $force_09_60,1;
+ end;
+
+Onreset:
+ killmonster "force_2-1","force_09mob#60::OnMobDeath";
+ end;
+
+OnMobDeath:
+ set $force_09_60,$force_09_60 -1;
+ if ($force_09_60 < 1) {
+ donpcevent "Minilover#arena::On09_end";
+ donpcevent "arena#60::Onreset_09";
+ donpcevent "arena#60::Onreset_all";
+ set $arena_min60end,gettime(2);
+ set $arena_sec60end,gettime(1);
+ }
+ end;
+}
+
+prt_are_in,129,135,3 script Staff#60-1 67,{
+
+ mes "[Staff]";
+ mes "You did a good job.";
+ mes "Even if you have failed to clear a time attack battle, I will reward you with a small amount of arena points.";
+ next;
+ if (arena_point == 30000) {
+ mes "[Staff]";
+ mes "Uh huh!";
+ mes "You already have enough arena points.";
+ mes "Please spend some arena points later. When I see you next time, I will make sure to give you some reward.";
+ next;
+ }
+ else set arena_point, arena_point + 1;
+ mes "[Staff]";
+ mes "Let me guide you outside. I hope you had a good time.";
+ close2;
+ specialeffect2 EF_EXIT;
+ warp "arena_room",100,75;
+ end;
+}
+
+prt_are_in,25,135,3 script Staff#60-2 67,{
+
+ if($arena_min60end < $arena_min60st)
+ {
+ if($arena_sec60end < $arena_sec60st)
+ {
+ set @record_min60,60 - $arena_min60st + $arena_min60end -1;
+ set @record_sec60,60 - $arena_sec60st + $arena_sec60end;
+ }
+ else
+ {
+ set @record_min60,60 - $arena_min60st + $arena_min60end;
+ set @record_sec60,$arena_sec60end - $arena_sec60st;
+ }
+ }
+ else
+ {
+ if($arena_sec60end < $arena_sec60st)
+ {
+ set @record_min60,$arena_min60end - $arena_min60st -1;
+ set @record_sec60,60 - $arena_sec60st + $arena_sec60end;
+ }
+ else
+ {
+ set @record_min60,$arena_min60end - $arena_min60st;
+ set @record_sec60,$arena_sec60end - $arena_sec60st;
+ }
+ }
+ set @gap60,(60 * $top_60min + $top_60sec) - (60 * @record_min60 + @record_sec60);
+ mes "[Staff]";
+ mes "Wow, you did a good job~ ";
+ mes "Your name is...^3131FF" + strcharinfo(0) +"^000000, isn't it?";
+ mes "^3131FF"+ strcharinfo(0) +"^000000, total time you spent to pass the battle..";
+ next;
+ mes "[Staff]";
+ mes "is "+@record_min60+"minutes "+@record_sec60+"seconds.";
+ mes "Congratulations!";
+ next;
+ mes "[Staff]";
+ mes "The fastest player among people who cleared lvl 60s arena time force battle is ^3131FF"+$arena_60topn$+"^000000.";
+ next;
+ mes "[Staff]";
+ mes "^3131FF"+$arena_60topn$+"^000000's running time was ^3131FF"+$top_60min+"^000000minutes ^3131FF"+$top_60sec+"^000000seconds.";
+ next;
+ if (@gap60 < 0) {
+ mes "[Staff]";
+ mes "Although you failed to make a new record, I hope you will succeed next time.";
+ next;
+ if (arena_point > 29980) {
+ mes "[Staff]";
+ mes "Then let me reward you with some arena points....eh?";
+ mes "Your arena points have exceeded the maximum amount. I cannot give you more points until you spend some points.";
+ next;
+ mes "[Staff]";
+ mes "You can check the amount of arena points you have in the arena waiting room.";
+ next;
+ mes "[Staff]";
+ mes "I hope you had a good time and let me guide you to the entrance of arena.";
+ mes "Thank you.";
+ close2;
+ }
+ else
+ {
+ set arena_point, arena_point + 20;
+ mes "[Staff]";
+ mes "Let me reward you some arena points.";
+ mes "If you wish to check the amount of arena points you have, please go talk to ^3131FFVendigos^000000 at the arena entrance.";
+ next;
+ mes "[Staff]";
+ mes "Let me guide you to the entrance of arena.";
+ mes "See you later~";
+ close2;
+ }
+ specialeffect2 EF_EXIT;
+ donpcevent "cast#60::Onnomal1";
+ warp "arena_room",100,75;
+ donpcevent "#arn_timer_60::Onstop";
+ donpcevent "alloff#60::Onon";
+ donpcevent "lvl 60s Waiting Room::Onstart";
+ end;
+ }
+ else
+ {
+ emotion e_omg;
+ mes "[Staff]";
+ mes "Wow! You have renewed the record!";
+ mes "What a great job!";
+ next;
+ mes "[Staff]";
+ mes "You have been recorded as the fastest player among people who cleared ^FF0000Arena Time Force Battle lvl 60s^000000, ^3131FF"+strcharinfo(0)+"^000000.";
+ set $top_60min, @record_min60;
+ set $top_60sec, @record_sec60;
+ set $arena_60topn$,strcharinfo(0);
+ donpcevent "Vendigos::Onlinerec_60";
+ next;
+ if (arena_point > 29950) {
+ mes "[Staff]";
+ mes "Then let me reward you with some arena points....eh?";
+ mes "Your arena points have exceeded the maximum amount. I cannot give you more points until you spend some points.";
+ next;
+ mes "[Staff]";
+ mes "You can check the amount of arena points you have in the arena waiting room.";
+ next;
+ mes "[Staff]";
+ mes "I hope you had a good time and let me guide you to the entrance of arena.";
+ mes "Thank you.";
+ close2;
+ }
+ else
+ {
+ mes "[Staff]";
+ mes "Let me reward you with some arena points.";
+ mes "At the same time, since you have renewed the record you will receive an extra amount of the points this time.";
+ next;
+ set arena_point, arena_point + 50;
+ mes "[Staff]";
+ mes "Let me reward you some arena points.";
+ mes "If you wish to check the amount of arena points you have, please go talk to ^3131FFVendigos^000000 at the arena entrance.";
+ next;
+ mes "[Staff]";
+ mes "Let me guide you to the entrance of arena.";
+ mes "See you later~";
+ close2;
+ }
+ specialeffect2 EF_HIT5;
+ donpcevent "cast#60::Onnomal2";
+ warp "arena_room",100,75;
+ donpcevent "#arn_timer_60::Onstop";
+ donpcevent "alloff#60::Onon";
+ donpcevent "lvl 60s Waiting Room::Onstart";
+ end;
+ }
+
+}
+
+- script #arn_timer_60 -1,{
+
+Onon:
+ initnpctimer;
+ end;
+
+OnTimer2000:
+ mapannounce "prt_are_in","This broadcast informs you about the restriction for arena lvl 60s.",0,0xFFCE00;
+ end;
+
+OnTimer3000:
+ mapannounce "prt_are_in","For a smooth game play, exit warp portal will be activated in 1 minute.",0,0xFFCE00;
+ end;
+
+OnTimer4000:
+ mapannounce "prt_are_in","Please proceed your battle quickly as possible in order to avoid disadvantage. Thank you for your cooperation.",0,0xFFCE00;
+ end;
+
+OnTimer60000:
+ donpcevent "cast#60::Ontimeover2";
+ donpcevent "arn_warp_60::Onout";
+ donpcevent "#arn_timer_60::Onstop";
+ donpcevent "alloff#60::Onon";
+ donpcevent "lvl 60s Waiting Room::Onstart";
+ end;
+
+Onstop:
+ stopnpctimer;
+ end;
+}
+
+- script arn_warp_60 -1,{
+
+Onout:
+ areawarp "prt_are_in",14,143,29,126,"arena_room",100,75;
+ end;
+}
+
+- script cast#60 -1,{
+
+Ontimeover1:
+ mapannounce "force_2-1","Arena will be reactivated due to an error occurred during battle.",0,0xFFCE00;
+ end;
+
+Onnomal1:
+ mapannounce "force_2-1","Arena will be reactivated.",0,0xFFCE00;
+ end;
+
+Onnomal2:
+ mapannounce "force_2-1","Arena will be reactivated.",0,0xFFCE00;
+ end;
+
+Ontimeover2:
+ mapannounce "force_2-1","Arena will be reactivated due to an error occurred in the waiting room.",0,0xFFCE00;
+ end;
+}
+
+- script alloff#60 -1,{
+
+Onon:
+ mapwarp "force_2-1","prt_are_in",126,139,0,0;
+ donpcevent "force_01mob#60::Onreset";
+ donpcevent "force_02mob#60::Onreset";
+ donpcevent "force_03mob#60::Onreset";
+ donpcevent "force_04mob#60::Onreset";
+ donpcevent "force_05mob#60::Onreset";
+ donpcevent "force_06mob#60::Onreset";
+ donpcevent "force_07mob#60::Onreset";
+ donpcevent "force_08mob#60::Onreset";
+ donpcevent "force_09mob#60::Onreset";
+ donpcevent "force_01ex#60::Onreset";
+ donpcevent "force_03ex#60::Onreset";
+ donpcevent "force_04ex#60::Onreset";
+ donpcevent "force_05ex#60::Onreset";
+ donpcevent "force_06ex#60::Onreset";
+ donpcevent "force_08ex#60::Onreset";
+ donpcevent "force_09ex#60::Onreset";
+ donpcevent "Minilover#arena::Ontimeroff";
+ disablenpc "Minilover#arena";
+ disablenpc "force_01_02#60";
+ disablenpc "force_02_03#60";
+ disablenpc "force_03_04#60";
+ disablenpc "force_04_05#60";
+ disablenpc "force_05_06#60";
+ disablenpc "force_06_07#60";
+ disablenpc "force_07_08#60";
+ disablenpc "force_08_09#60";
+ disablenpc "force_exit#60";
+ disablenpc "arena#60";
+ donpcevent "#arn_timer_60::Onstop";
+ enablenpc "Minilover#arena";
+ enablenpc "arena#60";
+ end;
+
+OnInit:
+ if(!$top_60min && !$top_60sec) set $top_60min,6;
+ end;
+
+}
diff --git a/npc/other/arena/arena_lvl70.txt b/npc/other/arena/arena_lvl70.txt
new file mode 100644
index 000000000..e3ab5367f
--- /dev/null
+++ b/npc/other/arena/arena_lvl70.txt
@@ -0,0 +1,1086 @@
+//===== Hercules Script ======================================
+//= Izlude Arena lvl 70
+//===== By: ==================================================
+//= SinSloth
+//===== Current Version: =====================================
+//= 1.1
+//===== Description: =========================================
+//= Izlude Battle Arena Level 70
+//===== Additional Comments: =================================
+//= 1.0 First version.
+//= 1.1 Replaced effect numerics with constants. [Samuray22]
+//============================================================
+
+arena_room,52,42,7 script lvl 70s Waiting Room 124,{
+ end;
+
+OnInit:
+ waitingroom "Individual; Level 70 to 89",50,"lvl 70s Waiting Room::OnStartArena",1,1000,70,89;
+ enablewaitingroomevent;
+ end;
+
+OnStartArena:
+ warpwaitingpc "force_3-1",99,12;
+ donpcevent "arena#70::Onstart";
+ disablewaitingroomevent;
+ end;
+
+Onstart:
+ enablewaitingroomevent;
+ end;
+}
+
+force_3-1,99,20,4 script Cadillac#arena 124,{
+ end;
+
+OnInit:
+ set $@mapcount70, 0;
+ end;
+
+Onstart:
+ initnpctimer;
+ set $arena_min70st,gettime(2);
+ set $arena_sec70st,gettime(1);
+ end;
+
+OnTimer3000:
+ mapannounce "force_3-1","Good day, my name is Cadillac, the guide of Time Force Battle for lvl 70s!",0;
+ end;
+
+OnTimer4000:
+ mapannounce "force_3-1","Remember your right decision will save a lot of your time!",0;
+ end;
+
+OnTimer7000:
+ mapannounce "force_3-1","In order to complete this battle course, you must start from the far left of this room to the clock wise direction. Please move to the far left side. You have 7 minutes from now.",0;
+ end;
+
+OnTimer60000:
+ set $@mapcount70, getmapusers ("force_3-1");
+ if ($@mapcount70 == 0) {
+ donpcevent "Cadillac#arena::Onfailclearstage";
+ }
+ mapannounce "force_3-1","Remaining Time : 6 minutes ",0;
+ end;
+
+OnTimer120000:
+ set $@mapcount70, getmapusers ("force_3-1");
+ if ($@mapcount70 == 0) {
+ donpcevent "Cadillac#arena::Onfailclearstage";
+ }
+ mapannounce "force_3-1","Remaining Time : 5 minutes ",0;
+ end;
+
+OnTimer180000:
+ set $@mapcount70, getmapusers ("force_3-1");
+ if ($@mapcount70 == 0) {
+ donpcevent "Cadillac#arena::Onfailclearstage";
+ }
+ mapannounce "force_3-1","Remaining Time : 4 minutes ",0;
+end;
+OnTimer240000:
+ set $@mapcount70, getmapusers ("force_3-1");
+ if ($@mapcount70 == 0) {
+ donpcevent "Cadillac#arena::Onfailclearstage";
+ }
+ mapannounce "force_3-1","Remaining Time : 3 minutes ",0;
+ end;
+
+OnTimer300000:
+ set $@mapcount70, getmapusers ("force_3-1");
+ if ($@mapcount70 == 0) {
+ donpcevent "Cadillac#arena::Onfailclearstage";
+ }
+ mapannounce "force_3-1","Remaining Time : 2 minutes ",0;
+ end;
+
+OnTimer360000:
+ set $@mapcount70, getmapusers ("force_3-1");
+ if ($@mapcount70 == 0) {
+ donpcevent "Cadillac#arena::Onfailclearstage";
+ }
+ mapannounce "force_3-1","Remaining Time : 1 minute ",0;
+ end;
+
+OnTimer420000:
+ mapannounce "force_3-1","Your time is over. I hope you had a good time~",0;
+ end;
+
+OnTimer425000:
+OnTimer426000:
+OnTimer427000:
+OnTimer428000:
+OnTimer429000:
+OnTimer430000:
+OnTimer431000:
+OnTimer432000:
+OnTimer433000:
+OnTimer434000:
+ mapwarp "force_3-1","prt_are_in",126,87,0,0;
+ end;
+
+OnTimer435000:
+ mapwarp "force_3-1","prt_are_in",126,87,0,0;
+ donpcevent "Cadillac#arena::Onfailclearstage";
+ end;
+
+Ontimeroff:
+ stopnpctimer;
+ end;
+
+Onfailclearstage:
+ donpcevent "cast#70::Ontimeover1";
+ mapwarp "force_3-1","prt_are_in",126,87,0,0;
+ donpcevent "Cadillac#arena::Ontimeroff";
+ donpcevent "arena#70::Onreset_all";
+ donpcevent "alloff#70::Onon";
+ donpcevent "lvl 70s Waiting Room::Onstart";
+ end;
+
+On01_start:
+ mapannounce "force_3-1","In order to clear this battle, you must kill all Kobolds!",0;
+ end;
+
+On01_end:
+ mapannounce "force_3-1","A door to the north room has opened!",0;
+ end;
+
+On02_start:
+ mapannounce "force_3-1","In order to clear this battle, you must kill all Horongs and escape!",0;
+ end;
+
+On02_end:
+ mapannounce "force_3-1","A door to the north room has opened!",0;
+ end;
+
+On03_start:
+ mapannounce "force_3-1","In order to clear this battle, you must kill all monsters except Enchanted Peach Trees!",0;
+ end;
+
+On03_end:
+ mapannounce "force_3-1","Clear! A door to the east room has opened!",0;
+ end;
+
+On04_start:
+ mapannounce "force_3-1","In order to clear this battle, you must kill all Stem Worms while dodging Bathories!",0;
+ end;
+
+On04_end:
+ mapannounce "force_3-1","A door to the east room has opened!",0;
+ end;
+
+On05_start:
+ mapannounce "force_3-1","In order to clear this battle, you must kill all Argiopes!",0;
+ end;
+
+On05_end:
+ mapannounce "force_3-1","Clear! A door to the south room has opened!",0;
+ end;
+
+On06_start:
+ mapannounce "force_3-1","In order to clear this battle, you must kill all Hammer Goblins!",0;
+ end;
+
+On06_end:
+ mapannounce "force_3-1","A door to the south room has opened!",0;
+ end;
+
+On07_start:
+ mapannounce "force_3-1","In order to clear this battle, you must kill an Alice in the center!",0;
+ end;
+
+On07_end:
+ mapannounce "force_3-1","Clear! A door to the west room has opened!",0;
+ end;
+
+On08_start:
+ mapannounce "force_3-1","Please escape to the north exit!",0;
+ end;
+
+On09_start:
+ mapannounce "force_3-1","In order to clear this battle, you must kill a Kobold Leader and all Kobolds!",0;
+ end;
+
+On09_end:
+ mapannounce "force_3-1","Boss Clear! - A door at the north has opened. Thank you. ",0;
+ end;
+
+}
+
+- script arena#70 -1,{
+
+Onreset_01:
+ donpcevent "force_01ex#70::Onreset";
+ donpcevent "force_02start#70::Onon";
+ enablenpc "force_01_02#70";
+ end;
+
+Onreset_02:
+ donpcevent "force_02ex#70::Onreset";
+ donpcevent "force_03start#70::Onon";
+ enablenpc "force_02_03#70";
+ end;
+
+Onreset_03:
+ enablenpc "force_03_04#70";
+ donpcevent "force_04start#70::Onon";
+ donpcevent "force_03ex#70::Onreset";
+ end;
+
+Onreset_04:
+ enablenpc "force_04_05#70";
+ donpcevent "force_05start#70::Onon";
+ donpcevent "force_04ex#70::Onreset";
+ end;
+
+Onreset_05:
+ enablenpc "force_05_06#70";
+ donpcevent "force_06start#70::Onon";
+ donpcevent "force_05ex#70::Onreset";
+ end;
+
+Onreset_06:
+ enablenpc "force_06_07#70";
+ donpcevent "force_07start#70::Onon";
+ donpcevent "force_06ex#70::Onreset";
+ end;
+
+Onreset_07:
+ enablenpc "force_07_08#70";
+ donpcevent "force_07ex#70::Onreset";
+ donpcevent "force_08start#70::Onon";
+ end;
+
+Onreset_08:
+ donpcevent "force_09start#70::Onon";
+ enablenpc "force_08_09#70";
+ end;
+
+Onreset_09:
+ enablenpc "force_exit#70";
+ end;
+
+Onstart:
+ disablenpc "force_01_02#70";
+ disablenpc "force_02_03#70";
+ disablenpc "force_03_04#70";
+ disablenpc "force_04_05#70";
+ disablenpc "force_05_06#70";
+ disablenpc "force_06_07#70";
+ disablenpc "force_07_08#70";
+ disablenpc "force_08_09#70";
+ disablenpc "force_exit#70";
+ donpcevent "Cadillac#arena::Ontimeroff";
+ donpcevent "force_09mob#70::Ontimeroff";
+ donpcevent "force_01mob#70::Onreset";
+ donpcevent "force_02mob#70::Onreset";
+ donpcevent "force_03mob#70::Onreset";
+ donpcevent "force_04mob#70::Onreset";
+ donpcevent "force_05mob#70::Onreset";
+ donpcevent "force_06mob#70::Onreset";
+ donpcevent "force_07mob#70::Onreset";
+ donpcevent "force_08mob#70::Onreset";
+ donpcevent "force_09mob#70::Onreset";
+ donpcevent "force_01ex#70::Onreset";
+ donpcevent "force_02ex#70::Onreset";
+ donpcevent "force_03ex#70::Onreset";
+ donpcevent "force_04ex#70::Onreset";
+ donpcevent "force_05ex#70::Onreset";
+ donpcevent "force_06ex#70::Onreset";
+ donpcevent "force_07ex#70::Onreset";
+ donpcevent "force_08ex#70::Onreset";
+ donpcevent "force_09ex#70::Onreset";
+ enablenpc "force_08_01#70";
+ donpcevent "force_01start#70::Onon";
+ donpcevent "Cadillac#arena::Onstart";
+ end;
+
+Onreset_all:
+ donpcevent "force_01mob#70::Onreset";
+ donpcevent "force_02mob#70::Onreset";
+ donpcevent "force_03mob#70::Onreset";
+ donpcevent "force_04mob#70::Onreset";
+ donpcevent "force_05mob#70::Onreset";
+ donpcevent "force_06mob#70::Onreset";
+ donpcevent "force_07mob#70::Onreset";
+ donpcevent "force_09mob#70::Onreset";
+ donpcevent "force_01ex#70::Onreset";
+ donpcevent "force_02ex#70::Onreset";
+ donpcevent "force_03ex#70::Onreset";
+ donpcevent "force_04ex#70::Onreset";
+ donpcevent "force_05ex#70::Onreset";
+ donpcevent "force_06ex#70::Onreset";
+ donpcevent "force_07ex#70::Onreset";
+ donpcevent "force_08ex#70::Onreset";
+ donpcevent "force_09ex#70::Onreset";
+ end;
+
+}
+
+force_3-1,62,26,1 script force_08_01#70 45,1,1,{
+
+OnTouch:
+ donpcevent "Cadillac#arena::On01_start";
+ warp "force_3-1",40,26;
+ end;
+
+}
+
+force_3-1,25,44,1 script force_01_02#70 45,1,1,{
+
+OnTouch:
+ donpcevent "Cadillac#arena::On02_start";
+ warp "force_3-1",25,69;
+ end;
+
+}
+
+force_3-1,25,134,1 script force_02_03#70 45,1,1,{
+
+OnTouch:
+ donpcevent "Cadillac#arena::On03_start";
+ warp "force_3-1",25,159;
+ end;
+
+}
+
+force_3-1,44,174,1 script force_03_04#70 45,1,1,{
+
+OnTouch:
+ donpcevent "Cadillac#arena::On04_start";
+ warp "force_3-1",69,174;
+ end;
+
+}
+
+force_3-1,134,174,1 script force_04_05#70 45,1,1,{
+
+OnTouch:
+ donpcevent "Cadillac#arena::On05_start";
+ warp "force_3-1",159,174;
+ end;
+
+}
+
+force_3-1,174,155,1 script force_05_06#70 45,1,1,{
+
+OnTouch:
+ donpcevent "Cadillac#arena::On06_start";
+ warp "force_3-1",174,130;
+ end;
+
+}
+
+force_3-1,174,65,1 script force_06_07#70 45,1,1,{
+
+OnTouch:
+ donpcevent "Cadillac#arena::On07_start";
+ warp "force_3-1",174,40;
+ end;
+
+}
+
+force_3-1,155,26,1 script force_07_08#70 45,1,1,{
+
+OnTouch:
+ donpcevent "Cadillac#arena::On08_start";
+ warp "force_3-1",132,26;
+ enablenpc "force_08_09#70";
+ end;
+
+}
+
+force_3-1,99,54,1 script force_08_09#70 45,1,1,{
+
+OnTouch:
+ donpcevent "Cadillac#arena::On09_start";
+ warp "force_3-1",99,82;
+ end;
+
+}
+
+force_3-1,99,124,1 script force_exit#70 45,1,1,{
+
+OnTouch:
+ donpcevent "Cadillac#arena::Ontimeroff";
+ donpcevent "#arn_timer_70::Onon";
+ mapwarp "force_3-1","prt_are_in",22,87,0,0;
+ end;
+
+}
+
+- script force_01start#70 -1,{
+Onon:
+ donpcevent "force_01mob#70::Onon";
+end;
+
+}
+
+- script force_01mob#70 -1,{
+
+Onon:
+ monster "force_3-1",25,36,"Kobold",1545,1,"force_01mob#70::OnMobDeath";
+ monster "force_3-1",20,36,"Kobold",1545,1,"force_01mob#70::OnMobDeath";
+ monster "force_3-1",25,20,"Kobold",1546,1,"force_01mob#70::OnMobDeath";
+ monster "force_3-1",30,36,"Kobold",1547,1,"force_01mob#70::OnMobDeath";
+ monster "force_3-1",28,15,"Kobold",1547,1,"force_01mob#70::OnMobDeath";
+ set $force_01_70,5;
+ end;
+
+Onreset:
+ killmonster "force_3-1","force_01mob#70::OnMobDeath";
+ end;
+
+OnMobDeath:
+ set $force_01_70,$force_01_70 -1;
+ if ($force_01_70 < 1) {
+ donpcevent "Cadillac#arena::On01_end";
+ donpcevent "arena#70::Onreset_01";
+ }
+ end;
+}
+
+- script force_02start#70 -1,{
+
+Onon:
+ donpcevent "force_02mob#70::Onon";
+ end;
+}
+
+- script force_02ex#70 -1,{
+
+Onreset:
+ killmonster "force_3-1","force_02ex#70::OnMobEx";
+ end;
+
+Onsummonmob2:
+ monster "force_3-1",21,78,"Archer Skeleton",1420,1,"force_02ex#70::OnMobEx";
+ monster "force_3-1",22,93,"Archer Skeleton",1420,1,"force_02ex#70::OnMobEx";
+ monster "force_3-1",29,93,"Archer Skeleton",1420,1,"force_02ex#70::OnMobEx";
+ monster "force_3-1",25,101,"Mummy",1393,1,"force_02ex#70::OnMobEx";
+ monster "force_3-1",26,101,"Mummy",1393,1,"force_02ex#70::OnMobEx";
+ monster "force_3-1",27,101,"Mummy",1393,1,"force_02ex#70::OnMobEx";
+ monster "force_3-1",28,101,"Mummy",1393,1,"force_02ex#70::OnMobEx";
+ monster "force_3-1",24,104,"Ghoul",1423,1,"force_02ex#70::OnMobEx";
+ monster "force_3-1",24,113,"Ghoul",1423,1,"force_02ex#70::OnMobEx";
+ monster "force_3-1",29,120,"Ghoul",1423,1,"force_02ex#70::OnMobEx";
+ monster "force_3-1",29,126,"Ghoul",1423,1,"force_02ex#70::OnMobEx";
+ monster "force_3-1",30,110,"Ghoul",1423,1,"force_02ex#70::OnMobEx";
+ end;
+
+OnMobEx:
+ end;
+}
+
+- script force_02mob#70 -1,{
+
+Onreset:
+ killmonster "force_3-1","force_02mob#70::OnMobDeath";
+ end;
+
+Onon:
+ monster "force_3-1",25,79,"Horong",1578,1,"force_02mob#70::OnMobDeath";
+ monster "force_3-1",29,114,"Horong",1578,1,"force_02mob#70::OnMobDeath";
+ donpcevent "force_02ex#70::Onsummonmob2";
+ set $force_02_70,2;
+ end;
+
+OnMobDeath:
+ set $force_02_70,$force_02_70 -1;
+ if ($force_02_70 < 1) {
+ donpcevent "Cadillac#arena::On02_end";
+ donpcevent "arena#70::Onreset_02";
+ }
+ end;
+}
+
+- script force_03start#70 -1,{
+
+Onon:
+ donpcevent "force_03mob#70::Onon";
+ end;
+}
+
+- script force_03ex#70 -1,{
+
+Onreset:
+ killmonster "force_3-1","force_03ex#70::OnMobEx";
+ end;
+
+Onsummonmob_03:
+ monster "force_3-1",10,170,"Enchanted Peach Tree",1550,1,"force_03ex#70::OnMobEx";
+ monster "force_3-1",26,180,"Enchanted Peach Tree",1550,1,"force_03ex#70::OnMobEx";
+ end;
+
+OnMobEx:
+ end;
+}
+
+- script force_03mob#70 -1,{
+
+Onon:
+ donpcevent "force_03ex#70::Onsummonmob_03";
+ monster "force_3-1",23,174,"Parasite",1555,1,"force_03mob#70::OnMobDeath";
+ monster "force_3-1",33,173,"Parasite",1555,1,"force_03mob#70::OnMobDeath";
+ monster "force_3-1",26,166,"Blood Butterfly",1526,1,"force_03mob#70::OnMobDeath";
+ set $force_03_70,3;
+ end;
+
+Onreset:
+ killmonster "force_3-1","force_03mob#70::OnMobDeath";
+ end;
+
+OnMobDeath:
+ set $force_03_70,$force_03_70 -1;
+ donpcevent "force_03ex#70::Onsummonmob_03";
+ if ($force_03_70 < 1) {
+ donpcevent "Cadillac#arena::On03_end";
+ donpcevent "arena#70::Onreset_03";
+ }
+ end;
+}
+
+- script force_04start#70 -1,{
+
+Onon:
+ donpcevent "force_04mob#70::Onon";
+end;
+
+}
+
+- script force_04ex#70 -1,{
+
+Onreset:
+ killmonster "force_3-1","force_04ex#70::OnMobEx";
+ end;
+
+Onsummonmob_04:
+ monster "force_3-1",94,179,"Bathory",1525,1,"force_04ex#70::OnMobEx";
+ monster "force_3-1",110,179,"Bathory",1525,1,"force_04ex#70::OnMobEx";
+ monster "force_3-1",90,170,"Bathory",1525,1,"force_04ex#70::OnMobEx";
+ monster "force_3-1",100,170,"Bathory",1525,1,"force_04ex#70::OnMobEx";
+ monster "force_3-1",125,178,"Bathory",1525,1,"force_04ex#70::OnMobEx";
+ monster "force_3-1",125,169,"Bathory",1525,1,"force_04ex#70::OnMobEx";
+ end;
+
+OnMobEx:
+ end;
+
+}
+
+- script force_04mob#70 -1,{
+
+Onon:
+ donpcevent "force_04ex#70::Onsummonmob_04";
+ monster "force_3-1",87,174,"Stem Worm",1440,1,"force_04mob#70::OnMobDeath";
+ monster "force_3-1",103,174,"Stem Worm",1440,1,"force_04mob#70::OnMobDeath";
+ monster "force_3-1",96,170,"Stem Worm",1440,1,"force_04mob#70::OnMobDeath";
+ set $force_04_70,3;
+ end;
+Onreset:
+ killmonster "force_3-1","force_04mob#70::OnMobDeath";
+ end;
+
+OnMobDeath:
+ set $force_04_70,$force_04_70 -1;
+ if ($force_04_70 < 1) {
+ donpcevent "Cadillac#arena::On04_end";
+ donpcevent "arena#70::Onreset_04";
+ }
+ end;
+}
+
+- script force_05start#70 -1,{
+
+Onon:
+ donpcevent "force_05mob#70::Onon";
+ end;
+}
+
+- script force_05ex#70 -1,{
+
+Onreset:
+ killmonster "force_3-1","force_05ex#70::OnMobEx";
+ end;
+
+Onsummonmob_05:
+ set $@randmonster70,rand(1,2);
+ switch($@randmonster70) {
+ case 1:
+ monster "force_3-1",174,174,"Ride Word",1478,1,"force_05ex#70::OnMobEx";
+ break;
+ case 2:
+ monster "force_3-1",173,173,"Mantis",1457,1,"force_05ex#70::OnMobEx";
+ break;
+ }
+ end;
+
+OnMobEx:
+ end;
+}
+
+- script force_05mob#70 -1,{
+
+Onon:
+ monster "force_3-1",164,183,"Argiope",1429,1,"force_05mob#70::OnMobDeath";
+ monster "force_3-1",168,158,"Argiope",1429,1,"force_05mob#70::OnMobDeath";
+ monster "force_3-1",175,174,"Argiope",1429,1,"force_05mob#70::OnMobDeath";
+ monster "force_3-1",176,179,"Argiope",1429,1,"force_05mob#70::OnMobDeath";
+ monster "force_3-1",183,160,"Argiope",1429,1,"force_05mob#70::OnMobDeath";
+ set $force_05_70,5;
+ end;
+
+Onreset:
+ killmonster "force_3-1","force_05mob#70::OnMobDeath";
+ end;
+
+OnMobDeath:
+ set $force_05_70,$force_05_70 -1;
+ if ($force_05_70 < 1) {
+ donpcevent "Cadillac#arena::On05_end";
+ donpcevent "arena#70::Onreset_05";
+ }
+ else donpcevent "force_05ex#70::Onsummonmob_05";
+ end;
+
+}
+
+- script force_06start#70 -1,{
+
+Onon:
+ donpcevent "force_06mob#70::Onon";
+ end;
+}
+
+- script force_06ex#70 -1,{
+
+Onreset:
+ killmonster "force_3-1","force_06ex#70::OnMobEx";
+ end;
+
+Onsummonmob_06:
+ monster "force_3-1",176,99,"Goblin",1534,1,"force_06ex#70::OnMobEx";
+ monster "force_3-1",170,86,"Goblin",1535,1,"force_06ex#70::OnMobEx";
+ monster "force_3-1",176,97,"Goblin",1535,1,"force_06ex#70::OnMobEx";
+ monster "force_3-1",170,108,"Goblin",1535,1,"force_06ex#70::OnMobEx";
+ monster "force_3-1",176,112,"Goblin",1536,1,"force_06ex#70::OnMobEx";
+ monster "force_3-1",173,120,"Goblin",1536,1,"force_06ex#70::OnMobEx";
+ monster "force_3-1",177,74,"Goblin",1536,1,"force_06ex#70::OnMobEx";
+ monster "force_3-1",173,118,"Goblin",1538,1,"force_06ex#70::OnMobEx";
+ monster "force_3-1",171,101,"Goblin",1538,1,"force_06ex#70::OnMobEx";
+ monster "force_3-1",174,118,"Goblin",1538,1,"force_06ex#70::OnMobEx";
+ end;
+
+OnMobEx:
+ end;
+}
+
+- script force_06mob#70 -1,{
+
+Onon:
+ donpcevent "force_06ex#70::Onsummonmob_06";
+ monster "force_3-1",173,90,"Goblin",1537,1,"force_06mob#70::OnMobDeath";
+ monster "force_3-1",173,79,"Goblin",1537,1,"force_06mob#70::OnMobDeath";
+ monster "force_3-1",172,70,"Goblin",1537,1,"force_06mob#70::OnMobDeath";
+ monster "force_3-1",175,70,"Goblin",1537,1,"force_06mob#70::OnMobDeath";
+ monster "force_3-1",171,118,"Goblin",1537,1,"force_06mob#70::OnMobDeath";
+ set $force_06_70,5;
+ end;
+
+Onreset:
+ killmonster "force_3-1","force_06mob#70::OnMobDeath";
+ end;
+
+OnMobDeath:
+ set $force_06_70,$force_06_70 -1;
+ if ($force_06_70 < 1) {
+ donpcevent "Cadillac#arena::On06_end";
+ donpcevent "arena#70::Onreset_06";
+ }
+ end;
+}
+
+- script force_07start#70 -1,{
+
+Onon:
+ donpcevent "force_07mob#70::Onon";
+ end;
+}
+
+- script force_07ex#70 -1,{
+
+Onreset:
+ killmonster "force_3-1","force_07ex#70::OnMobEx";
+ end;
+
+Onsummonmob_07:
+ monster "force_3-1",168,26,"Nightmare",1427,1,"force_07ex#70::OnMobEx";
+ monster "force_3-1",186,23,"Nightmare",1427,1,"force_07ex#70::OnMobEx";
+ monster "force_3-1",160,23,"Nightmare",1427,1,"force_07ex#70::OnMobEx";
+ monster "force_3-1",188,33,"Nightmare",1427,1,"force_07ex#70::OnMobEx";
+ monster "force_3-1",174,13,"Raydric",1453,1,"force_07ex#70::OnMobEx";
+ monster "force_3-1",163,15,"Farmiliar",1419,1,"force_07ex#70::OnMobEx";
+ monster "force_3-1",164,15,"Farmiliar",1419,1,"force_07ex#70::OnMobEx";
+ monster "force_3-1",163,16,"Farmiliar",1419,1,"force_07ex#70::OnMobEx";
+ monster "force_3-1",164,16,"Farmiliar",1419,1,"force_07ex#70::OnMobEx";
+ monster "force_3-1",187,13,"Farmiliar",1419,1,"force_07ex#70::OnMobEx";
+ monster "force_3-1",187,14,"Farmiliar",1419,1,"force_07ex#70::OnMobEx";
+ monster "force_3-1",186,14,"Farmiliar",1419,1,"force_07ex#70::OnMobEx";
+ monster "force_3-1",186,14,"Farmiliar",1419,1,"force_07ex#70::OnMobEx";
+
+
+OnMobEx:
+ end;
+}
+
+- script force_07mob#70 -1,{
+
+Onon:
+ donpcevent "force_07ex#70::Onsummonmob_07";
+ monster "force_3-1",174,25,"Alice",1521,1,"force_07mob#70::OnMobDeath";
+ set $force_07_70,1;
+ end;
+
+Onreset:
+ killmonster "force_3-1","force_07mob#70::OnMobDeath";
+ end;
+
+OnMobDeath:
+ set $force_07_70,$force_07_70 -1;
+ if ($force_07_70 < 1) {
+ donpcevent "Cadillac#arena::On07_end";
+ donpcevent "arena#70::Onreset_07";
+ }
+ end;
+}
+
+- script force_08start#70 -1,{
+
+Onon:
+ donpcevent "force_08ex#70::Onon";
+ end;
+}
+
+- script force_08ex#70 -1,{
+
+Onon:
+ donpcevent "arena#70::Onreset_08";
+ end;
+}
+
+- script force_09start#70 -1,{
+
+Onon:
+ donpcevent "force_09mob#70::Onon";
+ end;
+}
+
+- script force_09ex#70 -1,{
+
+Onreset:
+ killmonster "force_3-1","force_09ex#70::OnMobEx";
+ end;
+
+Onsummonmob_09:
+ monster "force_3-1",93,100,"Familiar",1419,1,"force_09ex#70::OnMobEx";
+ monster "force_3-1",94,100,"Familiar",1419,1,"force_09ex#70::OnMobEx";
+ monster "force_3-1",93,99,"Familiar",1419,1,"force_09ex#70::OnMobEx";
+ monster "force_3-1",85,114,"Familiar",1419,1,"force_09ex#70::OnMobEx";
+ monster "force_3-1",87,114,"Familiar",1419,1,"force_09ex#70::OnMobEx";
+ monster "force_3-1",89,114,"Familiar",1419,1,"force_09ex#70::OnMobEx";
+ monster "force_3-1",91,114,"Familiar",1419,1,"force_09ex#70::OnMobEx";
+ monster "force_3-1",93,114,"Familiar",1419,1,"force_09ex#70::OnMobEx";
+ monster "force_3-1",95,114,"Familiar",1419,1,"force_09ex#70::OnMobEx";
+ monster "force_3-1",85,112,"Familiar",1419,1,"force_09ex#70::OnMobEx";
+ monster "force_3-1",85,110,"Familiar",1419,1,"force_09ex#70::OnMobEx";
+ monster "force_3-1",85,108,"Familiar",1419,1,"force_09ex#70::OnMobEx";
+ monster "force_3-1",85,106,"Familiar",1419,1,"force_09ex#70::OnMobEx";
+ monster "force_3-1",85,104,"Familiar",1419,1,"force_09ex#70::OnMobEx";
+ end;
+
+OnMobEx:
+ end;
+}
+
+- script force_09mob#70 -1,{
+
+Onon:
+ monster "force_3-1",99,99,"Kobold Leader",1548,1,"force_09mob#70::OnMobDeath";
+ monster "force_3-1",98,99,"Kobold",1545,1,"force_09mob#70::OnMobDeath";
+ monster "force_3-1",100,99,"Kobold",1546,1,"force_09mob#70::OnMobDeath";
+ monster "force_3-1",99,98,"Kobold",1547,1,"force_09mob#70::OnMobDeath";
+ donpcevent "force_09ex#70::Onsummonmob_09";
+ set $force_09_70,4;
+ end;
+
+Onreset:
+ killmonster "force_3-1","force_09mob#70::OnMobDeath";
+ end;
+
+OnMobDeath:
+ set $force_09_70,$force_09_70 -1;
+ if ($force_09_70 < 1) {
+ donpcevent "Cadillac#arena::On09_end";
+ donpcevent "arena#70::Onreset_09";
+ donpcevent "arena#70::Onreset_all";
+ set $arena_min70end,gettime(2);
+ set $arena_sec70end,gettime(1);
+ }
+ end;
+}
+
+prt_are_in,129,83,3 script Staff#70-1 67,{
+
+ mes "[Staff]";
+ mes "You did a good job.";
+ mes "Even if you have failed to clear a time attack battle, I will reward you with a small amount of arena points.";
+ next;
+ if (arena_point == 30000) {
+ mes "[Staff]";
+ mes "Uh huh!";
+ mes "You already have enough arena points.";
+ mes "Please spend some arena points later. When I see you next time, I will make sure to give you some reward.";
+ next;
+ }
+ else set arena_point, arena_point + 1;
+ mes "[Staff]";
+ mes "Let me guide you outside. I hope you had a good time.";
+ close2;
+ specialeffect2 EF_EXIT;
+ warp "arena_room",100,75;
+ end;
+}
+
+prt_are_in,25,84,3 script Staff#70-2 67,{
+
+ if($arena_min70end < $arena_min70st)
+ {
+ if($arena_sec70end < $arena_sec70st)
+ {
+ set @record_min70,60 - $arena_min70st + $arena_min70end -1;
+ set @record_sec70,60 - $arena_sec70st + $arena_sec70end;
+ }
+ else
+ {
+ set @record_min70,60 - $arena_min70st + $arena_min70end;
+ set @record_sec70,$arena_sec70end - $arena_sec70st;
+ }
+ }
+ else
+ {
+ if($arena_sec70end < $arena_sec70st)
+ {
+ set @record_min70,$arena_min70end - $arena_min70st -1;
+ set @record_sec70,60 - $arena_sec70st + $arena_sec70end;
+ }
+ else
+ {
+ set @record_min70,$arena_min70end - $arena_min70st;
+ set @record_sec70,$arena_sec70end - $arena_sec70st;
+ }
+ }
+ set @gap70,(60 * $top_70min + $top_70sec) - (60 * @record_min70 + @record_sec70);
+ mes "[Staff]";
+ mes "Wow, you did a good job~ ";
+ mes "Your name is...^3131FF" + strcharinfo(0) +"^000000, isn't it?";
+ mes "^3131FF"+ strcharinfo(0) +"^000000, total time you spent to pass the battle..";
+ next;
+ mes "[Staff]";
+ mes "is "+@record_min70+"minutes "+@record_sec70+"seconds.";
+ mes "Congratulations!";
+ next;
+ mes "[Staff]";
+ mes "The fastest player among people who cleared lvl 70s arena time force battle is ^3131FF"+$arena_70topn$+"^000000.";
+ next;
+ mes "[Staff]";
+ mes "^3131FF"+$arena_70topn$+"^000000's running time was ^3131FF"+$top_70min+"^000000minutes ^3131FF"+$top_70sec+"^000000seconds.";
+ next;
+ if (@gap70 < 0) {
+ mes "[Staff]";
+ mes "Although you failed to make a new record, I hope you will succeed next time.";
+ next;
+ if (arena_point > 29980) {
+ mes "[Staff]";
+ mes "Then let me reward you with some arena points....eh?";
+ mes "Your arena points have exceeded the maximum amount. I cannot give you more points until you spend some points.";
+ next;
+ mes "[Staff]";
+ mes "You can check the amount of arena points you have in the arena waiting room.";
+ next;
+ mes "[Staff]";
+ mes "I hope you had a good time and let me guide you to the entrance of arena.";
+ mes "Thank you.";
+ close2;
+ }
+ else
+ {
+ set arena_point, arena_point + 20;
+ mes "[Staff]";
+ mes "Let me reward you some arena points.";
+ mes "If you wish to check the amount of arena points you have, please go talk to ^3131FFVendigos^000000 at the arena entrance.";
+ next;
+ mes "[Staff]";
+ mes "Let me guide you to the entrance of arena.";
+ mes "See you later~";
+ close2;
+ }
+ specialeffect2 EF_EXIT;
+ donpcevent "cast#70::Onnomal1";
+ warp "arena_room",100,75;
+ donpcevent "#arn_timer_70::Onstop";
+ donpcevent "alloff#70::Onon";
+ donpcevent "lvl 70s Waiting Room::Onstart";
+ end;
+ }
+ else
+ {
+ emotion e_omg;
+ mes "[Staff]";
+ mes "Wow! You have renewed the record!";
+ mes "What a great job!";
+ next;
+ mes "[Staff]";
+ mes "You have been recorded as the fastest player among people who cleared ^FF0000Arena Time Force Battle lvl 70s^000000, ^3131FF"+strcharinfo(0)+"^000000.";
+ set $top_70min, @record_min70;
+ set $top_70sec, @record_sec70;
+ set $arena_70topn$,strcharinfo(0);
+ donpcevent "Vendigos::Onlinerec_70";
+ next;
+ if (arena_point > 29970) {
+ mes "[Staff]";
+ mes "Then let me reward you with some arena points....eh?";
+ mes "Your arena points have exceeded the maximum amount. I cannot give you more points until you spend some points.";
+ next;
+ mes "[Staff]";
+ mes "You can check the amount of arena points you have in the arena waiting room.";
+ next;
+ mes "[Staff]";
+ mes "I hope you had a good time and let me guide you to the entrance of arena.";
+ mes "Thank you.";
+ close2;
+ }
+ else
+ {
+ mes "[Staff]";
+ mes "Let me reward you with some arena points.";
+ mes "At the same time, since you have renewed the record you will receive an extra amount of the points this time.";
+ next;
+ set arena_point, arena_point + 50;
+ mes "[Staff]";
+ mes "Let me reward you some arena points.";
+ mes "If you wish to check the amount of arena points you have, please go talk to ^3131FFVendigos^000000 at the arena entrance.";
+ next;
+ mes "[Staff]";
+ mes "Let me guide you to the entrance of arena.";
+ mes "See you later~";
+ close2;
+ }
+ specialeffect2 EF_HIT5;
+ donpcevent "cast#70::Onnomal2";
+ warp "arena_room",100,75;
+ donpcevent "#arn_timer_70::Onstop";
+ donpcevent "alloff#70::Onon";
+ donpcevent "lvl 70s Waiting Room::Onstart";
+ end;
+ }
+}
+
+- script #arn_timer_70 -1,{
+
+Onon:
+ initnpctimer;
+ end;
+
+OnTimer2000:
+ mapannounce "prt_are_in","This broadcast informs you about the restriction for arena lvl 70s.",0,0xFFCE00;
+ end;
+
+OnTimer3000:
+ mapannounce "prt_are_in","For a smooth game play, exit warp portal will be activated in 1 minute.",0,0xFFCE00;
+ end;
+
+OnTimer4000:
+ mapannounce "prt_are_in","Please proceed your battle quickly as possible in order to avoid disadvantage. Thank you for your cooperation.",0,0xFFCE00;
+ end;
+
+OnTimer60000:
+ donpcevent "cast#70::Ontimeover2";
+ donpcevent "arn_warp_70::Onout";
+ donpcevent "#arn_timer_70::Onstop";
+ donpcevent "alloff#70::Onon";
+ donpcevent "lvl 70s Waiting Room::Onstart";
+ end;
+
+Onstop:
+ stopnpctimer;
+ end;
+
+}
+
+- script arn_warp_70 -1,{
+
+Onout:
+ areawarp "prt_are_in",14,91,29,74,"arena_room",100,75;
+ end;
+}
+
+- script cast#70 -1,{
+Ontimeover1:
+ mapannounce "force_3-1","Arena will be reactivated due to an error occurred during battle.",0,0xFFCE00;
+ end;
+Ontimeover2:
+ mapannounce "force_3-1","Arena will be activated due to an error occurred in the waiting room.",0,0xFFCE00;
+ end;
+Onnomal1:
+ mapannounce "force_3-1","Arena will be reactivated.",0,0xFFCE00;
+ end;
+Onnomal2:
+ mapannounce "force_3-1","Arena will be reactivated.",0,0xFFCE00;
+ end;
+}
+
+- script alloff#70 -1,{
+
+Onon:
+ mapwarp "force_3-1","prt_are_in",126,190,0,0;
+ donpcevent "force_01mob#70::Onreset";
+ donpcevent "force_02mob#70::Onreset";
+ donpcevent "force_03mob#70::Onreset";
+ donpcevent "force_04mob#70::Onreset";
+ donpcevent "force_05mob#70::Onreset";
+ donpcevent "force_06mob#70::Onreset";
+ donpcevent "force_07mob#70::Onreset";
+ donpcevent "force_08mob#70::Onreset";
+ donpcevent "force_09mob#70::Onreset";
+ donpcevent "force_01ex#70::Onreset";
+ donpcevent "force_02ex#70::Onreset";
+ donpcevent "force_03ex#70::Onreset";
+ donpcevent "force_04ex#70::Onreset";
+ donpcevent "force_05ex#70::Onreset";
+ donpcevent "force_06ex#70::Onreset";
+ donpcevent "force_07ex#70::Onreset";
+ donpcevent "force_08ex#70::Onreset";
+ donpcevent "force_09ex#70::Onreset";
+ donpcevent "Cadillac#arena::Ontimeroff";
+ disablenpc "Cadillac#arena";
+ disablenpc "force_01_02#70";
+ disablenpc "force_02_03#70";
+ disablenpc "force_03_04#70";
+ disablenpc "force_04_05#70";
+ disablenpc "force_05_06#70";
+ disablenpc "force_06_07#70";
+ disablenpc "force_07_08#70";
+ disablenpc "force_08_09#70";
+ disablenpc "force_exit#70";
+ disablenpc "arena#70";
+ donpcevent "#arn_timer_70::Onstop";
+ enablenpc "Cadillac#arena";
+ enablenpc "arena#70";
+ end;
+
+OnInit:
+ if(!$top_70min && !$top_70sec) set $top_70min,7;
+ end;
+
+}
+
diff --git a/npc/other/arena/arena_lvl80.txt b/npc/other/arena/arena_lvl80.txt
new file mode 100644
index 000000000..729311508
--- /dev/null
+++ b/npc/other/arena/arena_lvl80.txt
@@ -0,0 +1,1057 @@
+//===== Hercules Script ======================================
+//= Izlude Arena lvl 80
+//===== By: ==================================================
+//= SinSloth
+//===== Current Version: =====================================
+//= 1.1
+//===== Description: =========================================
+//= Izlude Battle Arena Level 80
+//===== Additional Comments: =================================
+//= 1.0 First version.
+//= 1.1 Replaced effect numerics with constants. [Samuray22]
+//============================================================
+
+arena_room,147,42,1 script lvl 80s Waiting Room 124,{
+ end;
+
+OnInit:
+ waitingroom "Individual; Level 80 to 99",50,"lvl 80s Waiting Room::OnStartArena",1,1000,80,99;
+ enablewaitingroomevent;
+ end;
+
+OnStartArena:
+ warpwaitingpc "force_4-1",99,12;
+ donpcevent "arena#80::Onstart";
+ disablewaitingroomevent;
+ end;
+
+Onstart:
+ enablewaitingroomevent;
+ end;
+}
+
+force_4-1,99,20,4 script Octus#arena 124,{
+ end;
+
+OnInit:
+ set $@mapcount80, 0;
+ end;
+
+Onstart:
+ initnpctimer;
+ set $arena_min80st,gettime(2);
+ set $arena_sec80st,gettime(1);
+ end;
+
+OnTimer3000:
+ mapannounce "force_4-1","Good day, my name is Octus, the guide of Time Force Battle for lvl 80s!",0;
+ end;
+
+OnTimer4000:
+ mapannounce "force_4-1","Remember your right decision will save a lot of your time!",0;
+ end;
+
+OnTimer8000:
+ mapannounce "force_4-1","In order to complete this battle course, you must start from the far left of this room to the clock wise direction. Please move to the far left side. You have 7 minutes from now.",0;
+ end;
+
+OnTimer60000:
+ set $@mapcount80, getmapusers ("force_4-1");
+ if ($@mapcount80 == 0) {
+ donpcevent "Octus#arena::Onfailclearstage";
+ }
+ mapannounce "force_4-1","Remaining Time : 7 minutes ",0;
+ end;
+
+OnTimer120000:
+ set $@mapcount80, getmapusers ("force_4-1");
+ if ($@mapcount80 == 0) {
+ donpcevent "Octus#arena::Onfailclearstage";
+ }
+ mapannounce "force_4-1","Remaining Time : 6 minutes ",0;
+ end;
+
+OnTimer180000:
+ set $@mapcount80, getmapusers ("force_4-1");
+ if ($@mapcount80 == 0) {
+ donpcevent "Octus#arena::Onfailclearstage";
+ }
+ mapannounce "force_4-1","Remaining Time : 5 minutes ",0;
+end;
+OnTimer240000:
+ set $@mapcount80, getmapusers ("force_4-1");
+ if ($@mapcount80 == 0) {
+ donpcevent "Octus#arena::Onfailclearstage";
+ }
+ mapannounce "force_4-1","Remaining Time : 4 minutes ",0;
+ end;
+
+OnTimer300000:
+ set $@mapcount80, getmapusers ("force_4-1");
+ if ($@mapcount80 == 0) {
+ donpcevent "Octus#arena::Onfailclearstage";
+ }
+ mapannounce "force_4-1","Remaining Time : 3 minutes ",0;
+ end;
+
+OnTimer360000:
+ set $@mapcount80, getmapusers ("force_4-1");
+ if ($@mapcount80 == 0) {
+ donpcevent "Octus#arena::Onfailclearstage";
+ }
+ mapannounce "force_4-1","Remaining Time : 2 minutes ",0;
+ end;
+
+OnTimer420000:
+ set $@mapcount80, getmapusers ("force_4-1");
+ if ($@mapcount80 == 0) {
+ donpcevent "Octus#arena::Onfailclearstage";
+ }
+ mapannounce "force_4-1","Remaining Time : 1 minute ",0;
+ end;
+
+OnTimer480000:
+ mapannounce "force_4-1","Your time is over. I hope you had a good time~",0;
+ end;
+
+OnTimer485000:
+OnTimer486000:
+OnTimer487000:
+OnTimer488000:
+OnTimer489000:
+OnTimer490000:
+OnTimer491000:
+OnTimer492000:
+OnTimer493000:
+OnTimer494000:
+ mapwarp "force_4-1","prt_are_in",178,190,0,0;
+ end;
+
+OnTimer495000:
+ mapwarp "force_4-1","prt_are_in",178,190,0,0;
+ donpcevent "Octus#arena::Onfailclearstage";
+ end;
+
+Ontimeroff:
+ stopnpctimer;
+ end;
+
+Onfailclearstage:
+ donpcevent "cast#80::Ontimeover1";
+ mapwarp "force_4-1","prt_are_in",178,190,0,0;
+ donpcevent "Octus#arena::Ontimeroff";
+ donpcevent "arena#80::Onreset_all";
+ donpcevent "alloff#80::Onon";
+ donpcevent "lvl 80s Waiting Room::Onstart";
+ end;
+
+On01_start:
+ mapannounce "force_4-1","In order to clear this battle, you must kill all Nightmares!",0;
+ end;
+
+On01_end:
+ mapannounce "force_4-1","A door to the north room has opened!",0;
+ end;
+
+On02_start:
+ mapannounce "force_4-1","In order to clear this battle, you must kill all monsters!",0;
+ end;
+
+On02_end:
+ mapannounce "force_4-1","A door to the north room has opened!",0;
+ end;
+
+On03_start:
+ mapannounce "force_4-1","In order to clear this battle, you must kill all Assaulters!",0;
+ end;
+
+On03_end:
+ mapannounce "force_4-1","Clear! A door to the east room has opened!",0;
+ end;
+
+On04_start:
+ mapannounce "force_4-1","In order to clear this battle, you must kill all Nine Tails!",0;
+ end;
+
+On04_end:
+ mapannounce "force_4-1","A door to the east room has opened!",0;
+ end;
+
+On05_start:
+ mapannounce "force_4-1","In order to clear this battle, you must kill all Walking Petites!",0;
+ end;
+
+On05_end:
+ mapannounce "force_4-1","Clear! A door to the south room has opened!",0;
+ end;
+
+On06_start:
+ mapannounce "force_4-1","In order to clear this battle, kill all monsters in this room!",0;
+ end;
+
+On06_end:
+ mapannounce "force_4-1","A door to the south room has opened!",0;
+ end;
+
+On07_start:
+ mapannounce "force_4-1","In order to clear this battle, kill all Fur-Seals while dodging Mermen!",0;
+ end;
+
+On07_end:
+ mapannounce "force_4-1","Clear! A door to the west room has opened!",0;
+ end;
+
+On08_start:
+ mapannounce "force_4-1","Please escape to the north exit!",0;
+ end;
+
+On09_start:
+ mapannounce "force_4-1","In order to clear this battle, you must defeat an Ancient Mummy!",0;
+ end;
+
+On09_end:
+ mapannounce "force_4-1","Boss Clear! - A door at the north has opened. Thank you. ",0;
+ end;
+
+}
+
+- script arena#80 -1,{
+
+Onreset_01:
+ donpcevent "force_01ex#80::Onreset";
+ donpcevent "force_02start#80::Onon";
+ enablenpc "force_01_02#80";
+ end;
+
+Onreset_02:
+ donpcevent "force_02mob#80::Onreset";
+ donpcevent "force_03start#80::Onon";
+ enablenpc "force_02_03#80";
+ end;
+
+Onreset_03:
+ enablenpc "force_03_04#80";
+ donpcevent "force_04start#80::Onon";
+ donpcevent "force_03ex#80::Onreset";
+ end;
+
+Onreset_04:
+ enablenpc "force_04_05#80";
+ donpcevent "force_05start#80::Onon";
+ donpcevent "force_04ex#80::Onreset";
+ end;
+
+Onreset_05:
+ enablenpc "force_05_06#80";
+ donpcevent "force_06start#80::Onon";
+ donpcevent "force_05ex#80::Onreset";
+ end;
+
+Onreset_06:
+ enablenpc "force_06_07#80";
+ donpcevent "force_07start#80::Onon";
+ donpcevent "force_06ex#80::Onreset";
+ end;
+
+Onreset_07:
+ enablenpc "force_07_08#80";
+ donpcevent "force_07ex#80::Onreset";
+ donpcevent "force_08start#80::Onon";
+ end;
+
+Onreset_08:
+ donpcevent "force_09start#80::Onon";
+ enablenpc "force_08_09#80";
+ end;
+
+Onreset_09:
+ enablenpc "force_exit#80";
+ end;
+
+Onstart:
+ disablenpc "force_01_02#80";
+ disablenpc "force_02_03#80";
+ disablenpc "force_03_04#80";
+ disablenpc "force_04_05#80";
+ disablenpc "force_05_06#80";
+ disablenpc "force_06_07#80";
+ disablenpc "force_07_08#80";
+ disablenpc "force_08_09#80";
+ disablenpc "force_exit#80";
+ donpcevent "Octus#arena::Ontimeroff";
+ donpcevent "force_09mob#80::Ontimeroff";
+ donpcevent "force_01mob#80::Onreset";
+ donpcevent "force_02mob#80::Onreset";
+ donpcevent "force_03mob#80::Onreset";
+ donpcevent "force_04mob#80::Onreset";
+ donpcevent "force_05mob#80::Onreset";
+ donpcevent "force_06mob#80::Onreset";
+ donpcevent "force_07mob#80::Onreset";
+ donpcevent "force_08mob#80::Onreset";
+ donpcevent "force_09mob#80::Onreset";
+ donpcevent "force_01ex#80::Onreset";
+ donpcevent "force_03ex#80::Onreset";
+ donpcevent "force_04ex#80::Onreset";
+ donpcevent "force_05ex#80::Onreset";
+ donpcevent "force_07ex#80::Onreset";
+ donpcevent "force_08ex#80::Onreset";
+ donpcevent "force_09ex#80::Onreset";
+ enablenpc "force_08_01#80";
+ donpcevent "force_01start#80::Onon";
+ donpcevent "Octus#arena::Onstart";
+ end;
+
+Onreset_all:
+ donpcevent "force_01mob#80::Onreset";
+ donpcevent "force_02mob#80::Onreset";
+ donpcevent "force_03mob#80::Onreset";
+ donpcevent "force_04mob#80::Onreset";
+ donpcevent "force_05mob#80::Onreset";
+ donpcevent "force_06mob#80::Onreset";
+ donpcevent "force_07mob#80::Onreset";
+ donpcevent "force_09mob#80::Onreset";
+ donpcevent "force_01ex#80::Onreset";
+ donpcevent "force_03ex#80::Onreset";
+ donpcevent "force_04ex#80::Onreset";
+ donpcevent "force_05ex#80::Onreset";
+ donpcevent "force_07ex#80::Onreset";
+ donpcevent "force_08ex#80::Onreset";
+ donpcevent "force_09ex#80::Onreset";
+ end;
+
+}
+
+force_4-1,62,26,1 script force_08_01#80 45,1,1,{
+
+OnTouch:
+ donpcevent "Octus#arena::On01_start";
+ warp "force_4-1",40,26;
+ end;
+
+}
+
+force_4-1,25,44,1 script force_01_02#80 45,1,1,{
+
+OnTouch:
+ donpcevent "Octus#arena::On02_start";
+ warp "force_4-1",25,69;
+ end;
+
+}
+
+force_4-1,25,134,1 script force_02_03#80 45,1,1,{
+
+OnTouch:
+ donpcevent "Octus#arena::On03_start";
+ warp "force_4-1",25,159;
+ end;
+
+}
+
+force_4-1,44,174,1 script force_03_04#80 45,1,1,{
+
+OnTouch:
+ donpcevent "Octus#arena::On04_start";
+ warp "force_4-1",69,174;
+ end;
+
+}
+
+force_4-1,134,174,1 script force_04_05#80 45,1,1,{
+
+OnTouch:
+ donpcevent "Octus#arena::On05_start";
+ warp "force_4-1",159,174;
+ end;
+
+}
+
+force_4-1,174,155,1 script force_05_06#80 45,1,1,{
+
+OnTouch:
+ donpcevent "Octus#arena::On06_start";
+ warp "force_4-1",174,130;
+ end;
+
+}
+
+force_4-1,174,65,1 script force_06_07#80 45,1,1,{
+
+OnTouch:
+ donpcevent "Octus#arena::On07_start";
+ warp "force_4-1",174,40;
+ end;
+
+}
+
+force_4-1,155,26,1 script force_07_08#80 45,1,1,{
+
+OnTouch:
+ donpcevent "Octus#arena::On08_start";
+ warp "force_4-1",132,26;
+ enablenpc "force_08_09#80";
+ end;
+
+}
+
+force_4-1,99,54,1 script force_08_09#80 45,1,1,{
+
+OnTouch:
+ donpcevent "Octus#arena::On09_start";
+ warp "force_4-1",99,82;
+ end;
+
+}
+
+force_4-1,99,124,1 script force_exit#80 45,1,1,{
+
+OnTouch:
+ donpcevent "Octus#arena::Ontimeroff";
+ donpcevent "#arn_timer_80::Onon";
+ mapwarp "force_4-1","prt_are_in",73,192,0,0;
+ end;
+
+}
+
+- script force_01start#80 -1,{
+Onon:
+ donpcevent "force_01mob#80::Onon";
+end;
+
+}
+
+- script force_01ex#80 -1,{
+
+Onreset:
+ killmonster "force_4-1","force_01ex#80::OnMobEx";
+ end;
+
+Onsummonmob1:
+ monster "force_4-1",11,25,"Hunter Fly",1422,1,"force_01ex#80::OnMobEx";
+ monster "force_4-1",22,22,"Hunter Fly",1422,1,"force_01ex#80::OnMobEx";
+ monster "force_4-1",25,25,"Hunter Fly",1422,1,"force_01ex#80::OnMobEx";
+ monster "force_4-1",35,13,"Hunter Fly",1422,1,"force_01ex#80::OnMobEx";
+ monster "force_4-1",18,33,"Hunter Fly",1422,1,"force_01ex#80::OnMobEx";
+ end;
+
+OnMobEx:
+ end;
+
+}
+
+- script force_01mob#80 -1,{
+
+Onon:
+ monster "force_4-1",35,13,"Nightmare",1427,1,"force_01mob#80::OnMobDeath";
+ monster "force_4-1",25,36,"Nightmare",1427,1,"force_01mob#80::OnMobDeath";
+ monster "force_4-1",22,23,"Nightmare",1427,1,"force_01mob#80::OnMobDeath";
+ monster "force_4-1",25,17,"Nightmare",1427,1,"force_01mob#80::OnMobDeath";
+ monster "force_4-1",25,15,"Nightmare",1427,1,"force_01mob#80::OnMobDeath";
+ set $force_01_80,5;
+ donpcevent "force_01ex#80::Onsummonmob1";
+ end;
+
+Onreset:
+ killmonster "force_4-1","force_01mob#80::OnMobDeath";
+ end;
+
+OnMobDeath:
+ set $force_01_80,$force_01_80 -1;
+ if ($force_01_80 < 1) {
+ donpcevent "Octus#arena::On01_end";
+ donpcevent "arena#80::Onreset_01";
+ }
+ end;
+}
+
+- script force_02start#80 -1,{
+
+Onon:
+ donpcevent "force_02mob#80::Onon";
+ end;
+}
+
+- script force_02mob#80 -1,{
+
+Onreset:
+ killmonster "force_4-1","force_02mob#80::OnMobDeath";
+ end;
+
+Onon:
+ monster "force_4-1",24,80,"Marionette",1459,1,"force_02mob#80::OnMobDeath";
+ monster "force_4-1",23,110,"Marionette",1459,1,"force_02mob#80::OnMobDeath";
+ monster "force_4-1",26,90,"Marionette",1459,1,"force_02mob#80::OnMobDeath";
+ monster "force_4-1",28,75,"Zombie",1394,1,"force_02mob#80::OnMobDeath";
+ monster "force_4-1",24,90,"Zombie",1394,1,"force_02mob#80::OnMobDeath";
+ monster "force_4-1",28,85,"Zombie",1394,1,"force_02mob#80::OnMobDeath";
+ monster "force_4-1",24,82,"Deviruchi",1433,1,"force_02mob#80::OnMobDeath";
+ monster "force_4-1",28,86,"Skel Prisoner",1479,1,"force_02mob#80::OnMobDeath";
+ monster "force_4-1",27,73,"Skel Prisoner",1479,1,"force_02mob#80::OnMobDeath";
+ monster "force_4-1",26,118,"Skel Prisoner",1479,1,"force_02mob#80::OnMobDeath";
+ monster "force_4-1",25,127,"Skel Prisoner",1479,1,"force_02mob#80::OnMobDeath";
+ monster "force_4-1",28,128,"Zombie",1394,1,"force_02mob#80::OnMobDeath";
+ monster "force_4-1",27,100,"Zombie",1394,1,"force_02mob#80::OnMobDeath";
+ monster "force_4-1",29,90,"Zombie",1394,1,"force_02mob#80::OnMobDeath";
+ monster "force_4-1",28,128,"Raydric Archer",1453,1,"force_02mob#80::OnMobDeath";
+ set $force_02_80,15;
+ end;
+
+OnMobDeath:
+ set $force_02_80,$force_02_80 -1;
+ if ($force_02_80 < 1) {
+ donpcevent "Octus#arena::On02_end";
+ donpcevent "arena#80::Onreset_02";
+ }
+ end;
+}
+
+- script force_03start#80 -1,{
+
+Onon:
+ donpcevent "force_03mob#80::Onon";
+ end;
+}
+
+- script force_03ex#80 -1,{
+
+Onreset:
+ killmonster "force_4-1","force_03ex#80::OnMobEx";
+ end;
+
+Onsummonmob_03:
+ monster "force_4-1",26,173,"Clock Tower Keeper",1527,1,"force_03ex#80::OnMobEx";
+ monster "force_4-1",21,173,"Marionette",1459,1,"force_03ex#80::OnMobEx";
+ monster "force_4-1",31,173,"Clock Tower Keeper",1527,1,"force_03ex#80::OnMobEx";
+ monster "force_4-1",26,178,"Marionette",1459,1,"force_03ex#80::OnMobEx";
+ monster "force_4-1",21,178,"Marionette",1459,1,"force_03ex#80::OnMobEx";
+ monster "force_4-1",31,178,"Marionette",1459,1,"force_03ex#80::OnMobEx";
+ monster "force_4-1",26,186,"Sidewinder",1424,1,"force_03ex#80::OnMobEx";
+ monster "force_4-1",26,161,"Sidewinder",1424,1,"force_03ex#80::OnMobEx";
+ end;
+
+OnMobEx:
+ end;
+}
+
+- script force_03mob#80 -1,{
+
+Onon:
+ donpcevent "force_03ex#80::Onsummonmob_03";
+ monster "force_4-1",23,174,"Assaulter",1364,1,"force_03mob#80::OnMobDeath";
+ monster "force_4-1",18,173,"Assaulter",1364,1,"force_03mob#80::OnMobDeath";
+ set $force_03_80,2;
+ end;
+
+Onreset:
+ killmonster "force_4-1","force_03mob#80::OnMobDeath";
+ end;
+
+OnMobDeath:
+ set $force_03_80,$force_03_80 -1;
+ donpcevent "force_03ex#80::Onsummonmob_03";
+ if ($force_03_80 < 1) {
+ donpcevent "Octus#arena::On03_end";
+ donpcevent "arena#80::Onreset_03";
+ }
+ end;
+}
+
+- script force_04start#80 -1,{
+
+Onon:
+ donpcevent "force_04mob#80::Onon";
+end;
+
+}
+
+- script force_04ex#80 -1,{
+
+Onreset:
+ killmonster "force_4-1","force_04ex#80::OnMobEx";
+ end;
+
+Onsummonmob_04:
+ monster "force_4-1",99,174,"Archer Skeleton",1420,1,"force_04ex#80::OnMobEx";
+ monster "force_4-1",101,174,"Archer Skeleton",1420,1,"force_04ex#80::OnMobEx";
+ monster "force_4-1",103,174,"Archer Skeleton",1420,1,"force_04ex#80::OnMobEx";
+ monster "force_4-1",105,174,"Archer Skeleton",1420,1,"force_04ex#80::OnMobEx";
+ monster "force_4-1",107,174,"Archer Skeleton",1420,1,"force_04ex#80::OnMobEx";
+ monster "force_4-1",109,177,"Pasana",1464,1,"force_04ex#80::OnMobEx";
+ monster "force_4-1",99,170,"Minorous",1461,1,"force_04ex#80::OnMobEx";
+ monster "force_4-1",111,170,"Minorous",1461,1,"force_04ex#80::OnMobEx";
+ monster "force_4-1",110,170,"Lava Golem",1549,1,"force_04ex#80::OnMobEx";
+ end;
+
+OnMobEx:
+ end;
+
+}
+
+- script force_04mob#80 -1,{
+
+Onon:
+ donpcevent "force_04ex#80::Onsummonmob_04";
+ monster "force_4-1",80,172,"Nine Tails",1471,1,"force_04mob#80::OnMobDeath";
+ monster "force_4-1",105,172,"Nine Tails",1471,1,"force_04mob#80::OnMobDeath";
+ monster "force_4-1",90,172,"Nine Tails",1471,1,"force_04mob#80::OnMobDeath";
+ monster "force_4-1",117,172,"Nine Tails",1471,1,"force_04mob#80::OnMobDeath";
+ set $force_04_80,4;
+ end;
+Onreset:
+ killmonster "force_4-1","force_04mob#80::OnMobDeath";
+ end;
+
+OnMobDeath:
+ set $force_04_80,$force_04_80 -1;
+ if ($force_04_80 < 1) {
+ donpcevent "Octus#arena::On04_end";
+ donpcevent "arena#80::Onreset_04";
+ }
+ end;
+}
+
+- script force_05start#80 -1,{
+
+Onon:
+ donpcevent "force_05mob#80::Onon";
+ end;
+}
+
+- script force_05ex#80 -1,{
+
+Onreset:
+ killmonster "force_4-1","force_05ex#80::OnMobEx";
+ end;
+
+Onsummonmob_05:
+ monster "force_4-1",168,190,"Petite",1466,1,"force_05ex#80::OnMobEx";
+ monster "force_4-1",173,166,"Petite",1466,1,"force_05ex#80::OnMobEx";
+ monster "force_4-1",171,176,"Petite",1466,1,"force_05ex#80::OnMobEx";
+ monster "force_4-1",188,167,"Petite",1466,1,"force_05ex#80::OnMobEx";
+ end;
+
+OnMobEx:
+ end;
+}
+
+- script force_05mob#80 -1,{
+
+Onon:
+ monster "force_4-1",164,174,"Petite",1465,1,"force_05mob#80::OnMobDeath";
+ monster "force_4-1",169,159,"Petite",1465,1,"force_05mob#80::OnMobDeath";
+ monster "force_4-1",174,183,"Petite",1465,1,"force_05mob#80::OnMobDeath";
+ monster "force_4-1",177,170,"Petite",1465,1,"force_05mob#80::OnMobDeath";
+ set $force_05_80,4;
+ end;
+
+Onreset:
+ killmonster "force_4-1","force_05mob#80::OnMobDeath";
+ end;
+
+OnMobDeath:
+ set $force_05_80,$force_05_80 -1;
+ if ($force_05_80 < 1) {
+ donpcevent "Octus#arena::On05_end";
+ donpcevent "arena#80::Onreset_05";
+ }
+ else donpcevent "force_05ex#80::Onsummonmob_05";
+ end;
+
+}
+
+- script force_06start#80 -1,{
+
+Onon:
+ donpcevent "force_06mob#80::Onon";
+ end;
+}
+
+- script force_06mob#80 -1,{
+
+Onon:
+ monster "force_4-1",173,118,"Baphomet Jr.",1431,1,"force_06mob#80::OnMobDeath";
+ monster "force_4-1",173,90,"Baphomet Jr.",1431,1,"force_06mob#80::OnMobDeath";
+ monster "force_4-1",177,72,"Baphomet Jr.",1431,1,"force_06mob#80::OnMobDeath";
+ monster "force_4-1",171,108,"Deviruchi",1433,1,"force_06mob#80::OnMobDeath";
+ monster "force_4-1",171,85,"Deviruchi",1433,1,"force_06mob#80::OnMobDeath";
+ monster "force_4-1",171,79,"Alice",1521,1,"force_06mob#80::OnMobDeath";
+ monster "force_4-1",175,118,"Alice",1521,1,"force_06mob#80::OnMobDeath";
+ monster "force_4-1",175,99,"Alice",1521,1,"force_06mob#80::OnMobDeath";
+ set $force_06_80,8;
+ end;
+
+Onreset:
+ killmonster "force_4-1","force_06mob#80::OnMobDeath";
+ end;
+
+OnMobDeath:
+ set $force_06_80,$force_06_80 -1;
+ if ($force_06_80 < 1) {
+ donpcevent "Octus#arena::On06_end";
+ donpcevent "arena#80::Onreset_06";
+ }
+ end;
+}
+
+- script force_07start#80 -1,{
+
+Onon:
+ donpcevent "force_07mob#80::Onon";
+ end;
+}
+
+- script force_07ex#80 -1,{
+
+Onreset:
+ killmonster "force_4-1","force_07ex#80::OnMobEx";
+ end;
+
+Onsummonmob_07:
+ monster "force_4-1",160,34,"Merman",1451,1,"force_07ex#80::OnMobEx";
+ monster "force_4-1",163,27,"Merman",1451,1,"force_07ex#80::OnMobEx";
+ monster "force_4-1",163,23,"Merman",1451,1,"force_07ex#80::OnMobEx";
+ end;
+
+OnMobEx:
+ end;
+}
+
+- script force_07mob#80 -1,{
+
+Onon:
+ donpcevent "force_07ex#80::Onsummonmob_07";
+ monster "force_4-1",165,27,"Fur-Seal",1533,1,"force_07mob#80::OnMobDeath";
+ monster "force_4-1",184,23,"Fur-Seal",1533,1,"force_07mob#80::OnMobDeath";
+ monster "force_4-1",174,19,"Fur-Seal",1533,1,"force_07mob#80::OnMobDeath";
+ set $force_07_80,3;
+ end;
+
+Onreset:
+ killmonster "force_4-1","force_07mob#80::OnMobDeath";
+ end;
+
+OnMobDeath:
+ set $force_07_80,$force_07_80 -1;
+ if ($force_07_80 < 1) {
+ donpcevent "Octus#arena::On07_end";
+ donpcevent "arena#80::Onreset_07";
+ }
+ end;
+}
+
+- script force_08start#80 -1,{
+
+Onon:
+ donpcevent "force_08ex#80::Onon";
+ end;
+}
+
+- script force_08ex#80 -1,{
+
+Onon:
+ donpcevent "arena#80::Onreset_08";
+ end;
+}
+
+- script force_09start#80 -1,{
+
+Onon:
+ donpcevent "force_09mob#80::Onon";
+ end;
+}
+
+- script force_09ex#80 -1,{
+
+Onreset:
+ killmonster "force_4-1","force_09ex#80::OnMobEx";
+ end;
+
+Onsummonmob_09:
+ monster "force_4-1",91,99,"Argos",1430,1,"force_09ex#80::OnMobEx";
+ monster "force_4-1",95,105,"Argos",1430,1,"force_09ex#80::OnMobEx";
+ monster "force_4-1",122,99,"Argos",1430,1,"force_09ex#80::OnMobEx";
+ monster "force_4-1",88,107,"Argos",1430,1,"force_09ex#80::OnMobEx";
+ monster "force_4-1",85,104,"Argos",1430,1,"force_09ex#80::OnMobEx";
+ end;
+
+OnMobEx:
+ end;
+}
+
+- script force_09mob#80 -1,{
+
+Onon:
+ monster "force_4-1",99,99,"Ancient Mummy",1522,1,"force_09mob#80::OnMobDeath";
+ donpcevent "force_09ex#80::Onsummonmob_09";
+ set $force_09_80,1;
+ end;
+
+Onreset:
+ killmonster "force_4-1","force_09mob#80::OnMobDeath";
+ end;
+
+OnMobDeath:
+ set $force_09_80,$force_09_80 -1;
+ if ($force_09_80 < 1) {
+ donpcevent "Octus#arena::On09_end";
+ donpcevent "arena#80::Onreset_09";
+ donpcevent "arena#80::Onreset_all";
+ set $arena_min80end,gettime(2);
+ set $arena_sec80end,gettime(1);
+ }
+ end;
+}
+
+prt_are_in,181,188,3 script Staff#80-1 67,{
+
+ mes "[Staff]";
+ mes "You did a good job.";
+ mes "Even if you have failed to clear a time attack battle, I will reward you with a small amount of arena points.";
+ next;
+ if (arena_point == 30000) {
+ mes "[Staff]";
+ mes "Uh huh!";
+ mes "You already have enough arena points.";
+ mes "Please spend some arena points later. When I see you next time, I will make sure to give you some reward.";
+ next;
+ }
+ else set arena_point, arena_point + 1;
+ mes "[Staff]";
+ mes "Let me guide you outside. I hope you had a good time.";
+ close2;
+ specialeffect2 EF_EXIT;
+ warp "arena_room",100,75;
+ end;
+}
+
+prt_are_in,77,187,3 script Staff#80-2 67,{
+
+ if($arena_min80end < $arena_min80st)
+ {
+ if($arena_sec80end < $arena_sec80st)
+ {
+ set @record_min80,60 - $arena_min80st + $arena_min80end -1;
+ set @record_sec80,60 - $arena_sec80st + $arena_sec80end;
+ }
+ else
+ {
+ set @record_min80,60 - $arena_min80st + $arena_min80end;
+ set @record_sec80,$arena_sec80end - $arena_sec80st;
+ }
+ }
+ else
+ {
+ if($arena_sec80end < $arena_sec80st)
+ {
+ set @record_min80,$arena_min80end - $arena_min80st -1;
+ set @record_sec80,60 - $arena_sec80st + $arena_sec80end;
+ }
+ else
+ {
+ set @record_min80,$arena_min80end - $arena_min80st;
+ set @record_sec80,$arena_sec80end - $arena_sec80st;
+ }
+ }
+ set @gap80,(60 * $top_80min + $top_80sec) - (60 * @record_min80 + @record_sec80);
+ mes "[Staff]";
+ mes "Wow, you did a good job~ ";
+ mes "Your name is...^3131FF" + strcharinfo(0) +"^000000, isn't it?";
+ mes "^3131FF"+ strcharinfo(0) +"^000000, total time you spent to pass the battle..";
+ next;
+ mes "[Staff]";
+ mes "is "+@record_min80+"minutes "+@record_sec80+"seconds.";
+ mes "Congratulations!";
+ next;
+ mes "[Staff]";
+ mes "The fastest player among people who cleared lvl 80s arena time force battle is ^3131FF"+$arena_80topn$+"^000000.";
+ next;
+ mes "[Staff]";
+ mes "^3131FF"+$arena_80topn$+"^000000's running time was ^3131FF"+$top_80min+"^000000minutes ^3131FF"+$top_80sec+"^000000seconds.";
+ next;
+ if (@gap80 < 0) {
+ mes "[Staff]";
+ mes "Although you failed to make a new record, I hope you will succeed next time.";
+ next;
+ if (arena_point > 29980) {
+ mes "[Staff]";
+ mes "Then let me reward you with some arena points....eh?";
+ mes "Your arena points have exceeded the maximum amount. I cannot give you more points until you spend some points.";
+ next;
+ mes "[Staff]";
+ mes "You can check the amount of arena points you have in the arena waiting room.";
+ next;
+ mes "[Staff]";
+ mes "I hope you had a good time and let me guide you to the entrance of arena.";
+ mes "Thank you.";
+ close2;
+ }
+ else
+ {
+ set arena_point, arena_point + 20;
+ mes "[Staff]";
+ mes "Let me reward you some arena points.";
+ mes "If you wish to check the amount of arena points you have, please go talk to ^3131FFVendigos^000000 at the arena entrance.";
+ next;
+ mes "[Staff]";
+ mes "Let me guide you to the entrance of arena.";
+ mes "See you later~";
+ close2;
+ }
+ specialeffect2 EF_EXIT;
+ donpcevent "cast#80::Onnomal1";
+ warp "arena_room",100,75;
+ donpcevent "#arn_timer_80::Onstop";
+ donpcevent "alloff#80::Onon";
+ donpcevent "lvl 80s Waiting Room::Onstart";
+ end;
+ }
+ else
+ {
+ emotion e_omg;
+ mes "[Staff]";
+ mes "Wow! You have renewed the record!";
+ mes "What a great job!";
+ next;
+ mes "[Staff]";
+ mes "You have been recorded as the fastest player among people who cleared ^FF0000Arena Time Force Battle lvl 80s^000000, ^3131FF"+strcharinfo(0)+"^000000.";
+ set $top_80min, @record_min80;
+ set $top_80sec, @record_sec80;
+ set $arena_80topn$,strcharinfo(0);
+ donpcevent "Vendigos::Onlinerec_80";
+ next;
+ if (arena_point > 29980) {
+ mes "[Staff]";
+ mes "Then let me reward you with some arena points....eh?";
+ mes "Your arena points have exceeded the maximum amount. I cannot give you more points until you spend some points.";
+ next;
+ mes "[Staff]";
+ mes "You can check the amount of arena points you have in the arena waiting room.";
+ next;
+ mes "[Staff]";
+ mes "I hope you had a good time and let me guide you to the entrance of arena.";
+ mes "Thank you.";
+ close2;
+ }
+ else
+ {
+ mes "[Staff]";
+ mes "Let me reward you with some arena points.";
+ mes "At the same time, since you have renewed the record you will receive an extra amount of the points this time.";
+ next;
+ set arena_point, arena_point + 50;
+ mes "[Staff]";
+ mes "Let me reward you some arena points.";
+ mes "If you wish to check the amount of arena points you have, please go talk to ^3131FFVendigos^000000 at the arena entrance.";
+ next;
+ mes "[Staff]";
+ mes "Let me guide you to the entrance of arena.";
+ mes "See you later~";
+ close2;
+ }
+ specialeffect2 EF_HIT5;
+ donpcevent "cast#80::Onnomal2";
+ warp "arena_room",100,75;
+ donpcevent "#arn_timer_80::Onstop";
+ donpcevent "alloff#80::Onon";
+ donpcevent "lvl 80s Waiting Room::Onstart";
+ end;
+ }
+}
+
+- script #arn_timer_80 -1,{
+
+Onon:
+ initnpctimer;
+ end;
+
+OnTimer2000:
+ mapannounce "prt_are_in","This broadcast informs you about the restriction for arena lvl 80s.",0,0xFFCE00;
+ end;
+
+OnTimer3000:
+ mapannounce "prt_are_in","For a smooth game play, exit warp portal will be activated in 1 minute.",0,0xFFCE00;
+ end;
+
+OnTimer4000:
+ mapannounce "prt_are_in","Please proceed your battle quickly as possible in order to avoid disadvantage. Thank you for your cooperation.",0,0xFFCE00;
+ end;
+
+OnTimer60000:
+ donpcevent "cast#80::Ontimeover2";
+ donpcevent "arn_warp_80::Onout";
+ donpcevent "#arn_timer_80::Onstop";
+ donpcevent "alloff#80::Onon";
+ donpcevent "lvl 80s Waiting Room::Onstart";
+ end;
+
+Onstop:
+ stopnpctimer;
+ end;
+
+}
+
+- script arn_warp_80 -1,{
+
+Onout:
+ areawarp "prt_are_in",66,195,81,178,"arena_room",100,75;
+ end;
+}
+
+- script cast#80 -1,{
+Ontimeover1:
+ mapannounce "force_4-1","Arena will be reactivated due to an error occurred during battle.",0,0xFFCE00;
+ end;
+Ontimeover2:
+ mapannounce "force_4-1","Arena will be activated due to an error occurred in the waiting room.",0,0xFFCE00;
+ end;
+Onnomal1:
+ mapannounce "force_4-1","Arena will be reactivated.",0,0xFFCE00;
+ end;
+Onnomal2:
+ mapannounce "force_4-1","Arena will be reactivated.",0,0xFFCE00;
+ end;
+}
+
+- script alloff#80 -1,{
+
+Onon:
+ mapwarp "force_4-1","prt_are_in",126,190,0,0;
+ donpcevent "force_01mob#80::Onreset";
+ donpcevent "force_02mob#80::Onreset";
+ donpcevent "force_03mob#80::Onreset";
+ donpcevent "force_04mob#80::Onreset";
+ donpcevent "force_05mob#80::Onreset";
+ donpcevent "force_06mob#80::Onreset";
+ donpcevent "force_07mob#80::Onreset";
+ donpcevent "force_08mob#80::Onreset";
+ donpcevent "force_09mob#80::Onreset";
+ donpcevent "force_01ex#80::Onreset";
+ donpcevent "force_03ex#80::Onreset";
+ donpcevent "force_04ex#80::Onreset";
+ donpcevent "force_05ex#80::Onreset";
+ donpcevent "force_07ex#80::Onreset";
+ donpcevent "force_08ex#80::Onreset";
+ donpcevent "force_09ex#80::Onreset";
+ donpcevent "Octus#arena::Ontimeroff";
+ disablenpc "Octus#arena";
+ disablenpc "force_01_02#80";
+ disablenpc "force_02_03#80";
+ disablenpc "force_03_04#80";
+ disablenpc "force_04_05#80";
+ disablenpc "force_05_06#80";
+ disablenpc "force_06_07#80";
+ disablenpc "force_07_08#80";
+ disablenpc "force_08_09#80";
+ disablenpc "force_exit#80";
+ disablenpc "arena#80";
+ donpcevent "#arn_timer_80::Onstop";
+ enablenpc "Octus#arena";
+ enablenpc "arena#80";
+ end;
+
+OnInit:
+ if(!$top_80min && !$top_80sec) set $top_80min,8;
+ end;
+
+}
+
diff --git a/npc/other/arena/arena_party.txt b/npc/other/arena/arena_party.txt
new file mode 100644
index 000000000..837c3eab1
--- /dev/null
+++ b/npc/other/arena/arena_party.txt
@@ -0,0 +1,1460 @@
+//===== Hercules Script ======================================
+//= Izlude Party Arena
+//===== By: ==================================================
+//= SinSloth
+//===== Current Version: =====================================
+//= 1.3
+//===== Description: =========================================
+//= Izlude Party Battle Arena
+//===== Additional Comments: =================================
+//= 1.0 First version.
+//= 1.0a Fixed a typo.
+//= 1.1 Replaced effect numerics with constants. [Samuray22]
+//= 1.2 Fixed "OnMobDeath" doesn't work sometime. [Inkfish]
+//= 1.3 Corrected donpcevent typo. (bugreport:4374) [L0ne_w0lf]
+//============================================================
+
+arena_room,162,88,3 script Ponox 124,{
+ end;
+
+OnInit:
+ waitingroom "Party Mode - 5 Member Parties",11,"Ponox::OnStartArena",5,0,10,99;
+ enablewaitingroomevent;
+ end;
+
+OnStartArena:
+ donpcevent "toarena#party::OnInit";
+ donpcevent "toout#party::OnInit";
+ warpwaitingpc "prt_are_in",73,78;
+ donpcevent "toout#party::OnTimer";
+ donpcevent "Helper#party::OnEnter";
+ disablewaitingroomevent;
+ end;
+
+Onstart:
+ enablewaitingroomevent;
+ end;
+}
+
+prt_are_in,76,87,3 script Helper#party 67,4,4,{
+
+ if($arn_partywait == 0)
+ {
+ set $arn_partywait,1;
+ emotion e_gasp,0;
+ mes "[Helper Iriff]";
+ mes "Good day, challengers!";
+ mes "You are in the party arena waiting room.";
+ next;
+ mes "[Helper Iriff]";
+ mes "Only one person at a time is allowed to stay in this waiting room.";
+ mes "Would you like to start a battle now?";
+ next;
+ switch( select( "No","Yes" ) )
+ {
+ case 1:
+ set $arn_partywait,0;
+ mes "[Helper Iriff]";
+ mes "I see.";
+ mes "However, please remember you have only a limited amount of time.";
+ close;
+
+ case 2:
+ mes "[Helper Iriff]";
+ mes "Thank you, let me start a battle.";
+ mes "A warp portal leading to the arena room will be open.";
+ mes "I hope you will survive until the end of the battle and engrave your name on the list of honor...";
+ close2;
+ donpcevent "toarena#party::OnEnter";
+ donpcevent "Helper#party::OnStop";
+ donpcevent "arena_p::OnStart";
+ end;
+ }
+ }
+ else end;
+
+OnEnter:
+ enablenpc "Helper#party";
+ end;
+
+OnStop:
+ disablenpc "Helper#party";
+ end;
+
+OnInit:
+ set $arn_partywait,0;
+ end;
+}
+
+prt_are_in,73,78,0 script toarena#party -1,20,20,{
+
+OnInit:
+ disablenpc "toarena#party";
+ end;
+
+OnTouch:
+ if(Zeny < 1000) warp "arena_room",100,75;
+ else
+ {
+ set Zeny,Zeny -1000;
+ set $arn_partywait,0;
+ donpcevent "toout#party::OnStop";
+ warp "force_1-2",99,26;
+ }
+
+OnEnter:
+ enablenpc "toarena#party";
+ end;
+}
+
+prt_are_in,73,79,0 script toout#party -1,20,20,{
+
+OnInit:
+ disablenpc "toout#party";
+ end;
+
+OnTimer:
+ initnpctimer;
+ end;
+
+OnTimer60000:
+ set $arn_partywait,0;
+ enablenpc "toout#party";
+ end;
+
+OnTimer70000:
+ donpcevent "toout#party::OnStop";
+ donpcevent "Ponox::Onstart";
+ disablenpc "toout#party";
+
+OnTouch:
+ set $arn_partywait,0;
+ warp "arena_room",100,75;
+
+OnEnter:
+ enablenpc "toout#party";
+ end;
+
+OnStop:
+// broadcastinmap "toout turns off the timer."
+ stopnpctimer;
+ end;
+}
+
+prt_are_in,73,74,0 script arena_out -1,1,1,{
+
+OnTouch:
+ set $arn_partywait,0;
+ warp "arena_room",100,75;
+ end;
+}
+
+force_1-2,99,31,4 script Slipslowrun#party 124,{
+
+OnInit:
+ set $@mapcountpt,0;
+ end;
+
+OnStart:
+ initnpctimer;
+ set $arena_minptst,gettime(2);
+ set $arena_secptst,gettime(1);
+ end;
+
+OnTimer2000:
+ mapannounce "force_1-2","Good day, my name is Slipslowrun! I am here to assist you in the party arena battles!",bc_all;
+ donpcevent "arena_compass::OnStart";
+ end;
+
+OnTimer3000:
+ mapannounce "force_1-2","The goal of the party arena is eliminating every monster in each room.",bc_all;
+ end;
+
+OnTimer4000:
+ mapannounce "force_1-2","There is no order to enter one among 3 rooms at 3 direction. But remember you will eliminate all monsters in a room in order to procceed to the next step.",bc_all;
+ end;
+
+OnTimer5000:
+ mapannounce "force_1-2","You have 10 minutes from now. I expect you will do your best! ",bc_all;
+ end;
+
+OnTimer60000:
+ if(!getmapusers("force_1-2")) donpcevent "Slipslowrun#party::OnFail";
+ mapannounce "force_1-2","Remaining Time : 9 minutes ",bc_all;
+ end;
+
+OnTimer120000:
+ if(!getmapusers("force_1-2")) donpcevent "Slipslowrun#party::OnFail";
+ mapannounce "force_1-2","Remaining Time : 8 minutes ",bc_all;
+ end;
+
+OnTimer180000:
+ if(!getmapusers("force_1-2")) donpcevent "Slipslowrun#party::OnFail";
+ mapannounce "force_1-2","Remaining Time : 7 minutes ",bc_all;
+ end;
+
+OnTimer240000:
+ if(!getmapusers("force_1-2")) donpcevent "Slipslowrun#party::OnFail";
+ mapannounce "force_1-2","Remaining Time : 6 minutes ",bc_all;
+ end;
+
+OnTimer300000:
+ if(!getmapusers("force_1-2")) donpcevent "Slipslowrun#party::OnFail";
+ mapannounce "force_1-2","Remaining Time : 5 minutes ",bc_all;
+ end;
+
+OnTimer360000:
+ if(!getmapusers("force_1-2")) donpcevent "Slipslowrun#party::OnFail";
+ mapannounce "force_1-2","Remaining Time : 4 minutes ",bc_all;
+ end;
+
+OnTimer420000:
+ if(!getmapusers("force_1-2")) donpcevent "Slipslowrun#party::OnFail";
+ mapannounce "force_1-2","Remaining Time : 3 minutes ",bc_all;
+ end;
+
+OnTimer480000:
+ if(!getmapusers("force_1-2")) donpcevent "Slipslowrun#party::OnFail";
+ mapannounce "force_1-2","Remaining Time : 2 minutes ",bc_all;
+ end;
+
+OnTimer540000:
+ if(!getmapusers("force_1-2")) donpcevent "Slipslowrun#party::OnFail";
+ mapannounce "force_1-2","Remaining Time : 1 minute ",bc_all;
+ end;
+
+OnTimer600000:
+ mapannounce "force_1-2","Time is over! Please make sure you do not leave anything behind you before you leave .",bc_all;
+ end;
+
+OnTimer605000:
+ donpcevent "arena_p::OnReset";
+ mapwarp "force_1-2","prt_are_in",177,138;
+ end;
+
+OnTimer606000:
+OnTimer607000:
+OnTimer608000:
+OnTimer609000:
+OnTimer610000:
+OnTimer611000:
+OnTimer612000:
+OnTimer613000:
+ mapwarp "force_1-2","prt_are_in",177,138;
+ end;
+
+OnTimer614000:
+ mapwarp "force_1-2","prt_are_in",177,138;
+ donpcevent "Slipslowrun#party::OnFail";
+ end;
+
+OnFail:
+ donpcevent "Slipslowrun#party::OnTimeoff";
+ mapwarp "force_1-2","prt_are_in",177,138;
+ donpcevent "arena_p::OnReset";
+ donpcevent "alloff#party::OnInit";
+ donpcevent "Ponox::Onstart";
+ end;
+
+OnTimeoff:
+ stopnpctimer;
+ end;
+
+On01_end:
+ mapannounce "force_1-2","A door to the east room has opened!",bc_all;
+ end;
+
+On02_end:
+ mapannounce "force_1-2","A door to the west room has opened!",bc_all;
+ end;
+
+On03_end:
+ mapannounce "force_1-2","A door to the south room has opened!",bc_all;
+ end;
+
+On04_start:
+ mapannounce "force_1-2","A door to the 4th room at the east has opened!",bc_all;
+ end;
+
+On04_end1:
+ mapannounce "force_1-2","A warp portal at the west has opened! Please clear the 5th room at the end of the west hall! ",bc_all;
+ end;
+
+On04_end2:
+ mapannounce "force_1-2","A warp portal at the west north room has opened! ",bc_all;
+ end;
+
+On05_end1:
+ mapannounce "force_1-2","A door to the east room has opened~",bc_all;
+ end;
+
+On05_end2:
+ mapannounce "force_1-2","A door to the north room has opened~",bc_all;
+ end;
+
+On06_end:
+ mapannounce "force_1-2","A door to the east room has opened~",bc_all;
+ end;
+
+On07_end:
+ mapannounce "force_1-2","A door at the north has opened~",bc_all;
+ end;
+
+On08_end:
+ mapannounce "force_1-2","A door to the west hall has opened~",bc_all;
+ end;
+
+On09_end:
+ mapannounce "force_1-2","A west exit has opened!",bc_all;
+ end;
+
+On10_end:
+ mapannounce "force_1-2","Boss stage cleared! An exit at the east has opened! Thank you.",bc_all;
+ end;
+}
+
+- script arena_p -1,{
+
+OnStart:
+ mapwarp "force_1-2","prt_are_in",177,138;
+ disablenpc "force_01_00";
+ disablenpc "force_02_00";
+ disablenpc "force_03_00";
+ disablenpc "force_03_05";
+ disablenpc "force_03_04";
+ disablenpc "force_04_03";
+ disablenpc "force_05_03";
+ disablenpc "force_05_06";
+ disablenpc "force_06_07";
+ disablenpc "force_07_08";
+ disablenpc "force_08_09";
+ disablenpc "force_09_10";
+ disablenpc "force_10_09";
+ disablenpc "force_09_exit";
+ enablenpc "force_01start#party";
+ enablenpc "force_02start#party";
+ enablenpc "force_03start#party";
+ disablenpc "force_04start#party";
+ disablenpc "force_05start#party";
+ disablenpc "force_06start#party";
+ disablenpc "force_07start#party";
+ disablenpc "force_08start#party";
+ disablenpc "force_09start#party";
+ disablenpc "force_10start#party";
+ disablenpc "force_exit#party";
+ donpcevent "force_01mob#party::OnReset";
+ donpcevent "force_02mob#party::OnReset";
+ donpcevent "force_03mob#party::OnReset";
+ donpcevent "force_04mob#party::OnReset";
+ donpcevent "force_05mob#party::OnReset";
+ donpcevent "force_06mob#party::OnReset";
+ donpcevent "force_07mob#party::OnReset";
+ donpcevent "force_08mob#party::OnReset";
+ donpcevent "force_09mob#party::OnReset";
+ donpcevent "force_10mob-1#party::OnReset";
+ donpcevent "force_10mob-2#party::OnReset";
+ donpcevent "force_exitmob#party::OnReset";
+ donpcevent "Slipslowrun#party::OnStart";
+ set $arn_partyc,0;
+ set $arn_partywait,0;
+ end;
+
+On04_start:
+ enablenpc "force_03_04";
+ enablenpc "force_04start#party";
+ end;
+
+On06_start:
+ enablenpc "force_05_06";
+ enablenpc "force_06start#party";
+ end;
+
+On07_start:
+ enablenpc "force_06_07";
+ enablenpc "force_07start#party";
+ end;
+
+On08_start:
+ enablenpc "force_07_08";
+ enablenpc "force_08start#party";
+ end;
+
+On09_start:
+ enablenpc "force_08_09";
+ enablenpc "force_09start#party";
+ end;
+
+On10_start:
+ enablenpc "force_09_10";
+ enablenpc "force_10start#party";
+ end;
+
+Onexit:
+ enablenpc "force_10_09";
+ enablenpc "force_09_exit";
+ enablenpc "force_exit#party";
+ end;
+
+OnReset:
+ donpcevent "force_01mob#party::OnReset";
+ donpcevent "force_02mob#party::OnReset";
+ donpcevent "force_03mob#party::OnReset";
+ donpcevent "force_04mob#party::OnReset";
+ donpcevent "force_05mob#party::OnReset";
+ donpcevent "force_06mob#party::OnReset";
+ donpcevent "force_07mob#party::OnReset";
+ donpcevent "force_08mob#party::OnReset";
+ donpcevent "force_09mob#party::OnReset";
+ donpcevent "force_10mob-1#party::OnReset";
+ donpcevent "force_10mob-2#party::OnReset";
+ donpcevent "force_exitmob#party::OnReset";
+ end;
+}
+
+force_1-2,85,26,1 script force_00_01 45,1,1,{
+
+OnTouch:
+ warp "force_1-2",37,26;
+ end;
+}
+
+force_1-2,114,26,1 script force_00_02 45,1,1,{
+
+OnTouch:
+ warp "force_1-2",162,26;
+ end;
+}
+
+force_1-2,99,40,1 script force_00_03 45,1,1,{
+
+OnTouch:
+ warp "force_1-2",99,66;
+ end;
+}
+
+force_1-2,41,26,1 script force_01_00 45,1,1,{
+
+OnTouch:
+ warp "force_1-2",89,26;
+ end;
+}
+
+force_1-2,158,26,1 script force_02_00 45,1,1,{
+
+OnTouch:
+ warp "force_1-2",110,26;
+ end;
+}
+
+force_1-2,99,63,1 script force_03_00 45,1,1,{
+
+OnTouch:
+ warp "force_1-2",99,36;
+ end;
+}
+
+force_1-2,84,78,1 script force_03_05 45,1,1,{
+
+OnTouch:
+ warp "force_1-2",37,78;
+ end;
+}
+
+force_1-2,115,78,1 script force_03_04 45,1,1,{
+
+OnTouch:
+ warp "force_1-2",162,78;
+ end;
+}
+force_1-2,158,77,1 script force_04_03 45,1,1,{
+
+OnTouch:
+ warp "force_1-2",110,78;
+ end;
+}
+
+force_1-2,41,77,1 script force_05_03 45,1,1,{
+
+OnTouch:
+ warp "force_1-2",37,78;
+ end;
+}
+
+force_1-2,25,93,1 script force_05_06 45,1,1,{
+
+OnTouch:
+ warp "force_1-2",26,118;
+ end;
+}
+
+force_1-2,49,130,1 script force_06_07 45,1,1,{
+
+OnTouch:
+ warp "force_1-2",91,125;
+ end;
+}
+
+force_1-2,107,145,1 script force_07_08 45,1,1,{
+
+OnTouch:
+ warp "force_1-2",173,118;
+ end;
+}
+
+force_1-2,158,178,1 script force_08_09 45,1,1,{
+
+OnTouch:
+ warp "force_1-2",133,178;
+ end;
+}
+
+force_1-2,55,178,1 script force_09_10 45,1,1,{
+
+OnTouch:
+ warp "force_1-2",29,178;
+ end;
+}
+
+force_1-2,33,178,1 script force_10_09 45,1,1,{
+
+OnTouch:
+ warp "force_1-2",59,178;
+ end;
+}
+
+force_1-2,95,187,1 script force_09_exit 45,1,1,{
+
+OnTouch:
+ set $arena_minptend,gettime(2);
+ set $arena_secptend,gettime(1);
+ warp "prt_are_in",73,139;
+ donpcevent "#arn_timer_pt::OnEnter";
+ donpcevent "arena_p::OnReset";
+ donpcevent "Slipslowrun#party::OnTimeoff";
+ end;
+}
+
+force_1-2,36,26,0 script force_01start#party -1,1,1,{
+
+OnTouch:
+ donpcevent "force_01mob#party::Onon";
+ disablenpc "force_01start#party";
+ end;
+}
+
+- script force_01mob#party -1,{
+
+Onon:
+ monster "force_1-2",15,35,"Penomena",1441,1,"force_01mob#party::OnMobDeath";
+ monster "force_1-2",35,35,"Penomena",1441,1,"force_01mob#party::OnMobDeath";
+ monster "force_1-2",15,15,"Penomena",1441,1,"force_01mob#party::OnMobDeath";
+ monster "force_1-2",35,15,"Penomena",1441,1,"force_01mob#party::OnMobDeath";
+ monster "force_1-2",15,25,"Clock",1528,1,"force_01mob#party::OnMobDeath";
+ monster "force_1-2",17,25,"Clock",1528,1,"force_01mob#party::OnMobDeath";
+ monster "force_1-2",19,25,"Clock",1528,1,"force_01mob#party::OnMobDeath";
+ monster "force_1-2",21,25,"Clock",1528,1,"force_01mob#party::OnMobDeath";
+ monster "force_1-2",15,25,"Clock",1528,1,"force_01mob#party::OnMobDeath";
+ monster "force_1-2",17,25,"Clock",1528,1,"force_01mob#party::OnMobDeath";
+ monster "force_1-2",19,25,"Clock",1528,1,"force_01mob#party::OnMobDeath";
+ monster "force_1-2",21,25,"Clock",1528,1,"force_01mob#party::OnMobDeath";
+ monster "force_1-2",15,30,"Alarm",1476,1,"force_01mob#party::OnMobDeath";
+ monster "force_1-2",17,22,"Alarm",1476,1,"force_01mob#party::OnMobDeath";
+ monster "force_1-2",19,32,"Alarm",1476,1,"force_01mob#party::OnMobDeath";
+ monster "force_1-2",21,22,"Alarm",1476,1,"force_01mob#party::OnMobDeath";
+ monster "force_1-2",26,33,"Clock Tower Keeper",1527,1,"force_01mob#party::OnMobDeath";
+ monster "force_1-2",26,33,"Clock Tower Keeper",1527,1,"force_01mob#party::OnMobDeath";
+ monster "force_1-2",26,14,"Ancient Worm",1567,1,"force_01mob#party::OnMobDeath";
+ monster "force_1-2",30,27,"Ancient Worm",1567,1,"force_01mob#party::OnMobDeath";
+ monster "force_1-2",29,25,"Ancient Worm",1567,1,"force_01mob#party::OnMobDeath";
+ monster "force_1-2",26,14,"Ancient Worm",1567,1,"force_01mob#party::OnMobDeath";
+ monster "force_1-2",33,26,"Incubus",1580,1,"force_01mob#party::OnMobDeath";
+ monster "force_1-2",29,28,"Incubus",1580,1,"force_01mob#party::OnMobDeath";
+ monster "force_1-2",33,20,"Incubus",1580,1,"force_01mob#party::OnMobDeath";
+ monster "force_1-2",33,30,"Incubus",1580,1,"force_01mob#party::OnMobDeath";
+ set $force_01_pt,26;
+ end;
+
+OnReset:
+ killmonster "force_1-2","force_01mob#party::OnMobDeath";
+ end;
+
+OnMobDeath:
+ set $force_01_pt,$force_01_pt -1;
+ if($force_01_pt < 1)
+ {
+ enablenpc "force_01_00";
+ donpcevent "Slipslowrun#party::On01_end";
+ set $arn_partyc,$arn_partyc +1;
+ if($arn_partyc == 3)
+ {
+ donpcevent "Slipslowrun#party::On04_start";
+ enablenpc "force_03_04";
+ enablenpc "force_04start#party";
+ }
+ }
+ end;
+}
+
+force_1-2,162,26,0 script force_02start#party -1,1,1,{
+
+OnTouch:
+ donpcevent "force_02mob#party::Onon";
+ disablenpc "force_02start#party";
+ end;
+}
+
+- script force_02mob#party -1,{
+
+Onon:
+ monster "force_1-2",163,36,"Penomena",1441,1,"force_02mob#party::OnMobDeath";
+ monster "force_1-2",184,36,"Penomena",1441,1,"force_02mob#party::OnMobDeath";
+ monster "force_1-2",184,16,"Penomena",1441,1,"force_02mob#party::OnMobDeath";
+ monster "force_1-2",163,16,"Penomena",1441,1,"force_02mob#party::OnMobDeath";
+ monster "force_1-2",171,37,"Joker",1437,1,"force_02mob#party::OnMobDeath";
+ monster "force_1-2",177,37,"Joker",1437,1,"force_02mob#party::OnMobDeath";
+ monster "force_1-2",184,29,"Joker",1437,1,"force_02mob#party::OnMobDeath";
+ monster "force_1-2",184,22,"Joker",1437,1,"force_02mob#party::OnMobDeath";
+ monster "force_1-2",177,16,"Joker",1437,1,"force_02mob#party::OnMobDeath";
+ monster "force_1-2",170,16,"Joker",1437,1,"force_02mob#party::OnMobDeath";
+ monster "force_1-2",169,28,"Bathory",1525,1,"force_02mob#party::OnMobDeath";
+ monster "force_1-2",171,28,"Bathory",1525,1,"force_02mob#party::OnMobDeath";
+ monster "force_1-2",173,28,"Bathory",1525,1,"force_02mob#party::OnMobDeath";
+ monster "force_1-2",175,28,"Bathory",1525,1,"force_02mob#party::OnMobDeath";
+ monster "force_1-2",177,28,"Bathory",1525,1,"force_02mob#party::OnMobDeath";
+ monster "force_1-2",177,23,"Bathory",1525,1,"force_02mob#party::OnMobDeath";
+ monster "force_1-2",175,23,"Bathory",1525,1,"force_02mob#party::OnMobDeath";
+ monster "force_1-2",173,23,"Bathory",1525,1,"force_02mob#party::OnMobDeath";
+ monster "force_1-2",171,23,"Bathory",1525,1,"force_02mob#party::OnMobDeath";
+ monster "force_1-2",169,23,"Bathory",1525,1,"force_02mob#party::OnMobDeath";
+ monster "force_1-2",187,30,"Arclouse",1477,1,"force_02mob#party::OnMobDeath";
+ monster "force_1-2",187,30,"Arclouse",1477,1,"force_02mob#party::OnMobDeath";
+ monster "force_1-2",187,30,"Arclouse",1477,1,"force_02mob#party::OnMobDeath";
+ monster "force_1-2",187,22,"Arclouse",1477,1,"force_02mob#party::OnMobDeath";
+ monster "force_1-2",187,22,"Arclouse",1477,1,"force_02mob#party::OnMobDeath";
+ monster "force_1-2",187,22,"Arclouse",1477,1,"force_02mob#party::OnMobDeath";
+ monster "force_1-2",173,40,"Arclouse",1477,1,"force_02mob#party::OnMobDeath";
+ monster "force_1-2",173,40,"Arclouse",1477,1,"force_02mob#party::OnMobDeath";
+ monster "force_1-2",181,25,"Arclouse",1477,1,"force_02mob#party::OnMobDeath";
+ monster "force_1-2",181,25,"Arclouse",1477,1,"force_02mob#party::OnMobDeath";
+ set $force_02_pt,30;
+ end;
+
+OnReset:
+ killmonster "force_1-2","force_02mob#party::OnMobDeath";
+ end;
+
+OnMobDeath:
+ set $force_02_pt,$force_02_pt -1;
+ if($force_02_pt < 1)
+ {
+ enablenpc "force_02_00";
+ donpcevent "Slipslowrun#party::On02_end";
+ set $arn_partyc,$arn_partyc +1;
+ if($arn_partyc == 3)
+ {
+ donpcevent "Slipslowrun#party::On04_start";
+ enablenpc "force_03_04";
+ enablenpc "force_04start#party";
+ }
+ }
+ end;
+}
+
+force_1-2,99,66,0 script force_03start#party -1,1,1,{
+
+OnTouch:
+ donpcevent "force_03mob#party::Onon";
+ disablenpc "force_03start#party";
+ end;
+}
+
+- script force_03mob#party -1,{
+
+Onon:
+ monster "force_1-2",89,81,"Merman",1451,1,"force_03mob#party::OnMobDeath";
+ monster "force_1-2",90,81,"Merman",1451,1,"force_03mob#party::OnMobDeath";
+ monster "force_1-2",91,81,"Merman",1451,1,"force_03mob#party::OnMobDeath";
+ monster "force_1-2",92,81,"Merman",1451,1,"force_03mob#party::OnMobDeath";
+ monster "force_1-2",93,81,"Merman",1451,1,"force_03mob#party::OnMobDeath";
+ monster "force_1-2",96,85,"Wind Ghost",1450,1,"force_03mob#party::OnMobDeath";
+ monster "force_1-2",98,85,"Wind Ghost",1450,1,"force_03mob#party::OnMobDeath";
+ monster "force_1-2",100,85,"Wind Ghost",1450,1,"force_03mob#party::OnMobDeath";
+ monster "force_1-2",102,85,"Wind Ghost",1450,1,"force_03mob#party::OnMobDeath";
+ monster "force_1-2",104,85,"Wind Ghost",1450,1,"force_03mob#party::OnMobDeath";
+ monster "force_1-2",88,79,"Deviruchi",1433,1,"force_03mob#party::OnMobDeath";
+ monster "force_1-2",90,79,"Deviruchi",1433,1,"force_03mob#party::OnMobDeath";
+ monster "force_1-2",92,79,"Deviruchi",1433,1,"force_03mob#party::OnMobDeath";
+ monster "force_1-2",94,79,"Deviruchi",1433,1,"force_03mob#party::OnMobDeath";
+ monster "force_1-2",96,79,"Deviruchi",1433,1,"force_03mob#party::OnMobDeath";
+ monster "force_1-2",98,79,"Deviruchi",1433,1,"force_03mob#party::OnMobDeath";
+ monster "force_1-2",100,79,"Deviruchi",1433,1,"force_03mob#party::OnMobDeath";
+ monster "force_1-2",102,79,"Deviruchi",1433,1,"force_03mob#party::OnMobDeath";
+ monster "force_1-2",104,79,"Deviruchi",1433,1,"force_03mob#party::OnMobDeath";
+ monster "force_1-2",106,79,"Deviruchi",1433,1,"force_03mob#party::OnMobDeath";
+ monster "force_1-2",108,79,"Deviruchi",1433,1,"force_03mob#party::OnMobDeath";
+ monster "force_1-2",110,79,"Deviruchi",1433,1,"force_03mob#party::OnMobDeath";
+ monster "force_1-2",91,86,"Wanderer",1490,1,"force_03mob#party::OnMobDeath";
+ monster "force_1-2",108,86,"Wanderer",1490,1,"force_03mob#party::OnMobDeath";
+ monster "force_1-2",91,69,"Wanderer",1490,1,"force_03mob#party::OnMobDeath";
+ monster "force_1-2",108,69,"Wanderer",1490,1,"force_03mob#party::OnMobDeath";
+ set $force_03_pt,26;
+ end;
+
+OnReset:
+ killmonster "force_1-2","force_03mob#party::OnMobDeath";
+ end;
+
+OnMobDeath:
+ set $force_03_pt,$force_03_pt -1;
+ if($force_03_pt < 1)
+ {
+ enablenpc "force_03_00";
+ donpcevent "Slipslowrun#party::On03_end";
+ set $arn_partyc,$arn_partyc +1;
+ if($arn_partyc == 3)
+ {
+ donpcevent "Slipslowrun#party::On04_start";
+ enablenpc "force_03_04";
+ enablenpc "force_04start#party";
+ }
+ }
+ end;
+}
+
+force_1-2,162,78,0 script force_04start#party -1,3,3,{
+
+OnTouch:
+ donpcevent "force_04mob#party::Onon";
+ disablenpc "force_04start#party";
+ end;
+}
+
+- script force_04mob#party -1,{
+
+Onon:
+ monster "force_1-2",174,78,"Penomena",1441,1,"force_04mob#party::OnMobDeath";
+ monster "force_1-2",184,78,"Penomena",1441,1,"force_04mob#party::OnMobDeath";
+ monster "force_1-2",184,68,"Penomena",1441,1,"force_04mob#party::OnMobDeath";
+ monster "force_1-2",174,68,"Penomena",1441,1,"force_04mob#party::OnMobDeath";
+ monster "force_1-2",169,87,"Ride Word",1478,1,"force_04mob#party::OnMobDeath";
+ monster "force_1-2",170,87,"Ride Word",1478,1,"force_04mob#party::OnMobDeath";
+ monster "force_1-2",171,87,"Ride Word",1478,1,"force_04mob#party::OnMobDeath";
+ monster "force_1-2",172,87,"Ride Word",1478,1,"force_04mob#party::OnMobDeath";
+ monster "force_1-2",169,77,"Ride Word",1478,1,"force_04mob#party::OnMobDeath";
+ monster "force_1-2",170,77,"Ride Word",1478,1,"force_04mob#party::OnMobDeath";
+ monster "force_1-2",171,77,"Ride Word",1478,1,"force_04mob#party::OnMobDeath";
+ monster "force_1-2",172,77,"Ride Word",1478,1,"force_04mob#party::OnMobDeath";
+ monster "force_1-2",183,83,"Wraith Dead",1566,1,"force_04mob#party::OnMobDeath";
+ monster "force_1-2",183,80,"Wraith Dead",1566,1,"force_04mob#party::OnMobDeath";
+ monster "force_1-2",183,73,"Wraith Dead",1566,1,"force_04mob#party::OnMobDeath";
+ monster "force_1-2",183,70,"Wraith Dead",1566,1,"force_04mob#party::OnMobDeath";
+ monster "force_1-2",179,77,"Wraith Dead",1566,1,"force_04mob#party::OnMobDeath";
+ monster "force_1-2",169,72,"Assaulter",1364,1,"force_04mob#party::OnMobDeath";
+ monster "force_1-2",171,72,"Assaulter",1364,1,"force_04mob#party::OnMobDeath";
+ monster "force_1-2",173,72,"Assaulter",1364,1,"force_04mob#party::OnMobDeath";
+ monster "force_1-2",175,72,"Assaulter",1364,1,"force_04mob#party::OnMobDeath";
+ monster "force_1-2",177,72,"Assaulter",1364,1,"force_04mob#party::OnMobDeath";
+ set $force_04_pt,22;
+ end;
+
+OnReset:
+ killmonster "force_1-2","force_04mob#party::OnMobDeath";
+ end;
+
+OnMobDeath:
+ set $force_04_pt,$force_04_pt -1;
+ if($force_04_pt < 1)
+ {
+ enablenpc "force_04_03";
+ enablenpc "force_03_05";
+ enablenpc "force_05start#party";
+ donpcevent "Slipslowrun#party::On04_end1";
+ }
+ end;
+}
+
+force_1-2,36,77,0 script force_05start#party -1,1,1,{
+
+OnTouch:
+ donpcevent "force_05mob#party::Onon";
+ disablenpc "force_05start#party";
+ end;
+}
+
+- script force_05mob#party -1,{
+
+Onon:
+ monster "force_1-2",25,68,"Penomena",1441,1,"force_05mob#party::OnMobDeath";
+ monster "force_1-2",36,68,"Penomena",1441,1,"force_05mob#party::OnMobDeath";
+ monster "force_1-2",16,88,"Penomena",1441,1,"force_05mob#party::OnMobDeath";
+ monster "force_1-2",15,78,"Penomena",1441,1,"force_05mob#party::OnMobDeath";
+ monster "force_1-2",33,88,"Sting",1489,1,"force_05mob#party::OnMobDeath";
+ monster "force_1-2",29,87,"Sting",1489,1,"force_05mob#party::OnMobDeath";
+ monster "force_1-2",25,81,"Sting",1489,1,"force_05mob#party::OnMobDeath";
+ monster "force_1-2",25,78,"Sting",1489,1,"force_05mob#party::OnMobDeath";
+ monster "force_1-2",25,72,"Sting",1489,1,"force_05mob#party::OnMobDeath";
+ monster "force_1-2",29,70,"Sting",1489,1,"force_05mob#party::OnMobDeath";
+ monster "force_1-2",21,70,"Sting",1489,1,"force_05mob#party::OnMobDeath";
+ monster "force_1-2",19,76,"Sting",1489,1,"force_05mob#party::OnMobDeath";
+ monster "force_1-2",19,83,"Sting",1489,1,"force_05mob#party::OnMobDeath";
+ monster "force_1-2",23,89,"Sting",1489,1,"force_05mob#party::OnMobDeath";
+ monster "force_1-2",22,85,"Cramp",1570,1,"force_05mob#party::OnMobDeath";
+ monster "force_1-2",23,85,"Cramp",1570,1,"force_05mob#party::OnMobDeath";
+ monster "force_1-2",24,85,"Cramp",1570,1,"force_05mob#party::OnMobDeath";
+ monster "force_1-2",23,86,"Cramp",1570,1,"force_05mob#party::OnMobDeath";
+ monster "force_1-2",22,86,"Cramp",1570,1,"force_05mob#party::OnMobDeath";
+ monster "force_1-2",22,71,"Cramp",1570,1,"force_05mob#party::OnMobDeath";
+ monster "force_1-2",22,72,"Cramp",1570,1,"force_05mob#party::OnMobDeath";
+ monster "force_1-2",23,71,"Cramp",1570,1,"force_05mob#party::OnMobDeath";
+ monster "force_1-2",23,72,"Cramp",1570,1,"force_05mob#party::OnMobDeath";
+ monster "force_1-2",24,71,"Cramp",1570,1,"force_05mob#party::OnMobDeath";
+ set $force_05_pt,24;
+ end;
+
+OnReset:
+ killmonster "force_1-2","force_05mob#party::OnMobDeath";
+ end;
+
+OnMobDeath:
+ set $force_05_pt,$force_05_pt -1;
+ if($force_05_pt < 1)
+ {
+ donpcevent "arena_p::On06_start";
+ donpcevent "Slipslowrun#party::On05_end2";
+ }
+ end;
+}
+
+force_1-2,26,118,0 script force_06start#party -1,1,1,{
+
+OnTouch:
+ donpcevent "force_06mob#party::Onon";
+ disablenpc "force_06start#party";
+ end;
+}
+
+- script force_06mob#party -1,{
+
+Onon:
+ monster "force_1-2",19,135,"Cloud Hermit",1531,1,"force_06mob#party::OnMobDeath";
+ monster "force_1-2",24,135,"Cloud Hermit",1531,1,"force_06mob#party::OnMobDeath";
+ monster "force_1-2",28,135,"Cloud Hermit",1531,1,"force_06mob#party::OnMobDeath";
+ monster "force_1-2",32,135,"Cloud Hermit",1531,1,"force_06mob#party::OnMobDeath";
+ monster "force_1-2",24,127,"Shinobi",1560,1,"force_06mob#party::OnMobDeath";
+ monster "force_1-2",27,127,"Shinobi",1560,1,"force_06mob#party::OnMobDeath";
+ monster "force_1-2",24,128,"Shinobi",1560,1,"force_06mob#party::OnMobDeath";
+ monster "force_1-2",27,128,"Shinobi",1560,1,"force_06mob#party::OnMobDeath";
+ monster "force_1-2",24,129,"Shinobi",1560,1,"force_06mob#party::OnMobDeath";
+ monster "force_1-2",27,129,"Shinobi",1560,1,"force_06mob#party::OnMobDeath";
+ monster "force_1-2",16,140,"Tengu",1563,1,"force_06mob#party::OnMobDeath";
+ monster "force_1-2",16,136,"Tengu",1563,1,"force_06mob#party::OnMobDeath";
+ monster "force_1-2",16,132,"Tengu",1563,1,"force_06mob#party::OnMobDeath";
+ monster "force_1-2",16,128,"Tengu",1563,1,"force_06mob#party::OnMobDeath";
+ monster "force_1-2",16,124,"Tengu",1563,1,"force_06mob#party::OnMobDeath";
+ monster "force_1-2",16,120,"Tengu",1563,1,"force_06mob#party::OnMobDeath";
+ monster "force_1-2",16,140,"Wicked Nymph",1564,1,"force_06mob#party::OnMobDeath";
+ monster "force_1-2",16,136,"Wicked Nymph",1564,1,"force_06mob#party::OnMobDeath";
+ monster "force_1-2",16,132,"Wicked Nymph",1564,1,"force_06mob#party::OnMobDeath";
+ monster "force_1-2",16,128,"Wicked Nymph",1564,1,"force_06mob#party::OnMobDeath";
+ monster "force_1-2",16,124,"Wicked Nymph",1564,1,"force_06mob#party::OnMobDeath";
+ monster "force_1-2",16,120,"Wicked Nymph",1564,1,"force_06mob#party::OnMobDeath";
+ set $force_06_pt,22;
+ end;
+
+OnReset:
+ killmonster "force_1-2","force_06mob#party::OnMobDeath";
+ end;
+
+OnMobDeath:
+ set $force_06_pt,$force_06_pt -1;
+ if($force_06_pt < 1)
+ {
+ donpcevent "arena_p::On07_start";
+ donpcevent "Slipslowrun#party::On06_end";
+ set $arn_partyc,$arn_partyc +1;
+ }
+ end;
+}
+
+force_1-2,92,124,0 script force_07start#party -1,1,1,{
+
+OnTouch:
+ donpcevent "force_07mob#party::Onon";
+ disablenpc "force_07start#party";
+ end;
+}
+
+- script force_07mob#party -1,{
+
+Onon:
+ monster "force_1-2",104,134,"Greatest General",1541,1,"force_07mob#party::OnMobDeath";
+ monster "force_1-2",104,136,"Greatest General",1541,1,"force_07mob#party::OnMobDeath";
+ monster "force_1-2",104,137,"Greatest General",1541,1,"force_07mob#party::OnMobDeath";
+ monster "force_1-2",104,139,"Greatest General",1541,1,"force_07mob#party::OnMobDeath";
+ monster "force_1-2",111,134,"Greatest General",1541,1,"force_07mob#party::OnMobDeath";
+ monster "force_1-2",111,136,"Greatest General",1541,1,"force_07mob#party::OnMobDeath";
+ monster "force_1-2",111,137,"Greatest General",1541,1,"force_07mob#party::OnMobDeath";
+ monster "force_1-2",111,139,"Greatest General",1541,1,"force_07mob#party::OnMobDeath";
+ monster "force_1-2",98,122,"Khalitzburg",1438,1,"force_07mob#party::OnMobDeath";
+ monster "force_1-2",90,119,"Khalitzburg",1438,1,"force_07mob#party::OnMobDeath";
+ monster "force_1-2",98,122,"Executioner",1487,1,"force_07mob#party::OnMobDeath";
+ monster "force_1-2",108,140,"Chimera",1456,1,"force_07mob#party::OnMobDeath";
+ set $force_07_pt,12;
+ end;
+
+OnReset:
+ killmonster "force_1-2","force_07mob#party::OnMobDeath";
+ end;
+
+OnMobDeath:
+ set $force_07_pt,$force_07_pt -1;
+ if($force_07_pt < 1)
+ {
+ donpcevent "arena_p::On08_start";
+ donpcevent "Slipslowrun#party::On07_end";
+ set $arn_partyc,$arn_partyc +1;
+ }
+ end;
+}
+
+force_1-2,173,118,0 script force_08start#party -1,1,1,{
+
+OnTouch:
+ donpcevent "force_08mob#party::Onon";
+ disablenpc "force_08start#party";
+ end;
+}
+
+- script force_08mob#party -1,{
+
+Onon:
+ monster "force_1-2",172,154,"Khalitzburg",1438,1,"force_08mob#party::OnMobDeath";
+ monster "force_1-2",174,145,"Ghostring",1576,1,"force_08mob#party::OnMobDeath";
+ monster "force_1-2",174,145,"Chimera",1456,1,"force_08mob#party::OnMobDeath";
+ set $force_08_pt,4;
+ if(.arn_injustice != 5)
+ {
+ monster "force_1-2",rand(162,184),rand(122,185),"Injustice",1446,1,"force_08mob#party::OnMobDeath";
+ set .arn_injustice,.arn_injustice +1;
+ set $force_08_pt,$force_08_pt +1;
+ }
+ monster "force_1-2",rand(162,184),rand(122,185),"Raydric Archer",1453,1,"force_08mob#party::OnMobDeath";
+ if(.arn_terror != 5)
+ {
+ monster "force_1-2",rand(162,184),rand(122,185),"Nightmare Terror",1554,1,"force_08mob#party::OnMobDeath";
+ set .arn_terror,.arn_terror +1;
+ set $force_08_pt,$force_08_pt +1;
+ }
+ if(.arn_mummy != 6)
+ {
+ monster "force_1-2",rand(162,184),rand(122,185),"Ancient Mummy",1522,1,"force_08mob#party::OnMobDeath";
+ set .arn_mummy,.arn_mummy +1;
+ set $force_08_pt,$force_08_pt +1;
+ }
+ if(.arn_skel != 10)
+ {
+ monster "force_1-2",rand(162,184),rand(122,185),"Skel Prisoner",1479,1,"force_08mob#party::OnMobDeath";
+ set .arn_skel,.arn_skel +1;
+ set $force_08_pt,$force_08_pt +1;
+ }
+ if(.arn_hunt != 5)
+ {
+ monster "force_1-2",rand(162,184),rand(122,185),"Hunter Fly",1422,1,"force_08mob#party::OnMobDeath";
+ set .arn_hunt,.arn_hunt +1;
+ set $force_08_pt,$force_08_pt +1;
+ }
+ end;
+
+OnReset:
+ killmonster "force_1-2","force_08mob#party::OnMobDeath";
+ end;
+
+OnMobDeath:
+ set $force_08_pt,$force_08_pt -1;
+ if($force_08_pt < 1)
+ {
+ donpcevent "arena_p::On09_start";
+ donpcevent "Slipslowrun#party::On08_end";
+ set $arn_partyc,$arn_partyc +1;
+ }
+ end;
+}
+
+force_1-2,133,178,0 script force_09start#party -1,1,1,{
+
+OnTouch:
+ donpcevent "force_09mob#party::Onon";
+ disablenpc "force_09start#party";
+ end;
+}
+
+- script force_09mob#party -1,{
+
+Onon:
+ monster "force_1-2",86,180,"Elder",1573,1,"force_09mob#party::OnMobDeath";
+ monster "force_1-2",86,176,"Elder",1573,1,"force_09mob#party::OnMobDeath";
+ monster "force_1-2",95,183,"Elder",1573,1,"force_09mob#party::OnMobDeath";
+ monster "force_1-2",94,175,"Elder",1573,1,"force_09mob#party::OnMobDeath";
+ monster "force_1-2",76,178,"Elder",1573,1,"force_09mob#party::OnMobDeath";
+ monster "force_1-2",84,179,"Explosion",1532,1,"force_09mob#party::OnMobDeath";
+ monster "force_1-2",74,181,"Explosion",1532,1,"force_09mob#party::OnMobDeath";
+ monster "force_1-2",73,176,"Explosion",1532,1,"force_09mob#party::OnMobDeath";
+ monster "force_1-2",62,178,"Explosion",1532,1,"force_09mob#party::OnMobDeath";
+ monster "force_1-2",68,177,"Explosion",1532,1,"force_09mob#party::OnMobDeath";
+ monster "force_1-2",122,177,"Lava Golem",1549,1,"force_09mob#party::OnMobDeath";
+ monster "force_1-2",112,179,"Lava Golem",1549,1,"force_09mob#party::OnMobDeath";
+ monster "force_1-2",122,178,"Anolian",1488,1,"force_09mob#party::OnMobDeath";
+ monster "force_1-2",121,177,"Anolian",1488,1,"force_09mob#party::OnMobDeath";
+ monster "force_1-2",122,177,"Anolian",1488,1,"force_09mob#party::OnMobDeath";
+ set $force_09_pt,15;
+ end;
+
+OnReset:
+ killmonster "force_1-2","force_09mob#party::OnMobDeath";
+ end;
+
+OnMobDeath:
+ set $force_09_pt,$force_09_pt -1;
+ if($force_09_pt < 1)
+ {
+ donpcevent "arena_p::On10_start";
+ donpcevent "Slipslowrun#party::On09_end";
+ set $arn_partyc,$arn_partyc +1;
+ }
+ end;
+}
+
+force_1-2,29,178,0 script force_10start#party -1,1,1,{
+
+OnTouch:
+ donpcevent "force_10mob-1#party::Onon1";
+ disablenpc "force_10start#party";
+ end;
+}
+
+- script force_10mob-1#party -1,{
+
+Onon1:
+ switch(rand(1,2))
+ {
+ case 1:
+ monster "force_1-2",16,179,"Evil Snake Lord",1529,1,"force_10mob-1#party::OnMobDeath";
+ break;
+
+ case 2:
+ monster "force_1-2",24,179,"Dracula",1530,1,"force_10mob-1#party::OnMobDeath";
+ break;
+ }
+ set $force_10_1_pt,1;
+ end;
+
+OnReset:
+ killmonster "force_1-2","force_10mob-1#party::OnMobDeath";
+ end;
+
+OnMobDeath:
+ set $force_10_1_pt,$force_10_1_pt -1;
+ if($force_10_1_pt < 1) donpcevent "force_10mob-2#party::Onon2";
+ end;
+}
+
+- script force_10mob-2#party -1,{
+
+Onon2:
+ monster "force_1-2",16,179,"Samurai Spector",1542,1,"force_10mob-2#party::OnMobDeath";
+ monster "force_1-2",16,179,"Shinobi",1560,1,"force_10mob-2#party::OnMobDeath";
+ monster "force_1-2",16,179,"Shinobi",1560,1,"force_10mob-2#party::OnMobDeath";
+ monster "force_1-2",16,179,"Shinobi",1560,1,"force_10mob-2#party::OnMobDeath";
+ monster "force_1-2",16,179,"Shinobi",1560,1,"force_10mob-2#party::OnMobDeath";
+ monster "force_1-2",16,179,"Shinobi",1560,1,"force_10mob-2#party::OnMobDeath";
+ set $force_10_2_pt,6;
+ end;
+
+OnReset:
+ killmonster "force_1-2","force_10mob-2#party::OnMobDeath";
+ end;
+
+OnMobDeath:
+ set $force_10_2_pt,$force_10_2_pt -1;
+ if($force_10_2_pt < 1)
+ {
+ donpcevent "arena_p::Onexit";
+ donpcevent "Slipslowrun#party::On10_end";
+ set $arn_partyc,0;
+ }
+ end;
+}
+
+force_1-2,59,178,0 script force_exit#party -1,1,1,{
+
+OnTouch:
+ donpcevent "force_exitmob#party::Onon-1";
+ disablenpc "force_exit#party";
+ end;
+}
+
+- script force_exitmob#party -1,{
+
+Onon:
+ monster "force_1-2",95,177,"Farewell",1393,1,"force_exitmob#party::OnMobDeath";
+ monster "force_1-2",95,177,"I hate you",1543,1,"force_exitmob#party::OnMobDeath";
+ monster "force_1-2",95,177,"I like chocolate",1472,1,"force_exitmob#party::OnMobDeath";
+ monster "force_1-2",95,177,"You like it, huh?",1472,1,"force_exitmob-#party::OnMobDeath";
+ monster "force_1-2",95,177,"Sorry",1420,1,"force_exitmob#party::OnMobDeath";
+ monster "force_1-2",95,177,"Tristram II",1562,1,"force_exitmob#party::OnMobDeath";
+ monster "force_1-2",95,177,"I am hungry",1468,1,"force_exitmob#party::OnMobDeath";
+ monster "force_1-2",95,177,"Bye",1419,1,"force_exitmob#party::OnMobDeath";
+ monster "force_1-2",95,177,"Take care",1394,1,"force_exitmob#party::OnMobDeath";
+ monster "force_1-2",95,177,"Sexy Body",1578,1,"force_exitmob#party::OnMobDeath";
+ monster "force_1-2",95,177,"Pressure",1471,1,"force_exitmob#party::OnMobDeath";
+ monster "force_1-2",95,177,"Take it easy",1491,1,"force_exitmob#party::OnMobDeath";
+ monster "force_1-2",95,177,"Are you gonna hurt me?",1555,1,"force_exitmob#party::OnMobDeath";
+ monster "force_1-2",95,177,"Merchant",1428,1,"force_exitmob#party::OnMobDeath";
+ monster "force_1-2",95,177,"Ms. Kim",1472,1,"force_exitmob#party::OnMobDeath";
+ monster "force_1-2",95,177,"Martial Art",1472,1,"force_exitmob#party::OnMobDeath";
+ monster "force_1-2",95,177,"Part-timer",1420,1,"force_exitmob#party::OnMobDeath";
+ monster "force_1-2",95,177,"Boss",1562,1,"force_exitmob#party::OnMobDeath";
+ monster "force_1-2",95,177,"Old Yellow Box",1474,1,"force_exitmob#party::OnMobDeath";
+ monster "force_1-2",95,177,"Bat",1419,1,"force_exitmob#party::OnMobDeath";
+ monster "force_1-2",95,177,"Extra",1394,1,"force_exitmob#party::OnMobDeath";
+ monster "force_1-2",95,177,"Milk Merchant",1578,1,"force_exitmob#party::OnMobDeath";
+ monster "force_1-2",95,177,"Darling",1471,1,"force_exitmob#party::OnMobDeath";
+ monster "force_1-2",95,177,"Oh noes!",1491,1,"force_exitmob#party::OnMobDeath";
+ monster "force_1-2",95,177,"I am not a Wraith",1566,1,"force_exitmob#party::OnMobDeath";
+ monster "force_1-2",95,177,"Mom Wraith",1566,1,"force_exitmob#party::OnMobDeath";
+ monster "force_1-2",95,177,"Dad Wraith",1566,1,"force_exitmob#party::OnMobDeath";
+ monster "force_1-2",95,177,"Book[3]",1478,1,"force_exitmob#party::OnMobDeath";
+ monster "force_1-2",95,177,"Exchange Diary",1478,1,"force_exitmob#party::OnMobDeath";
+ end;
+
+OnReset:
+ killmonster "force_1-2","force_exitmob#party::OnMobDeath";
+ end;
+}
+
+prt_are_in,181,135,3 script Staff#party-1 67,{
+
+ mes "[Staff]";
+ mes "You did a good job.";
+ mes "Even if you have failed to clear a time attack battle, I will reward you with a small amount of arena points.";
+ next;
+ if (arena_point == 30000) {
+ mes "[Staff]";
+ mes "Uh huh!";
+ mes "You already have enough arena points.";
+ mes "Please spend some arena points later. When I see you next time, I will make sure to give you some reward.";
+ next;
+ }
+ else set arena_point, arena_point + 1;
+ mes "[Staff]";
+ mes "Let me guide you outside. I hope you had a good time.";
+ close2;
+ specialeffect2 EF_HIT5;
+ warp "arena_room",100,75;
+ end;
+}
+
+prt_are_in,77,135,3 script Staff#party-2 67,{
+
+ if($arena_minptend < $arena_minptst)
+ {
+ if($arena_secptend < $arena_secptst)
+ {
+ set @record_minpt,60 - $arena_minptst + $arena_minptend -1;
+ set @record_secpt,60 - $arena_secptst + $arena_secptend;
+ }
+ else
+ {
+ set @record_minpt,60 - $arena_minptst + $arena_minptend;
+ set @record_secpt,$arena_secptend - $arena_secptst;
+ }
+ }
+ else
+ {
+ if($arena_secptend < $arena_secptst)
+ {
+ set @record_minpt,$arena_minptend - $arena_minptst -1;
+ set @record_secpt,60 - $arena_secptst + $arena_secptend;
+ }
+ else
+ {
+ set @record_minpt,$arena_minptend - $arena_minptst;
+ set @record_secpt,$arena_secptend - $arena_secptst;
+ }
+ }
+ set @gappt,(60 * $top_ptmin + $top_ptsec) - (60 * @record_minpt + @record_secpt);
+ mes "[Staff]";
+ mes "Wow, you did a good job~ ";
+ mes "Your name is...^3131FF" + strcharinfo(0) +"^000000, isn't it?";
+ mes "^3131FF"+ strcharinfo(0) +"^000000, total time you spent to pass the battle..";
+ next;
+ mes "[Staff]";
+ mes "is "+@record_minpt+"minutes "+@record_secpt+"seconds.";
+ mes "Congratulations!";
+ next;
+ mes "[Staff]";
+ mes "The fastest party among people who cleared party arena time force battle is ^3131FF"+$arena_pttopn$+"^000000.";
+ next;
+ mes "[Staff]";
+ mes "^3131FF"+$arena_pttopn$+"^000000's running time was ^3131FF"+$top_ptmin+"^000000minutes ^3131FF"+$top_ptsec+"^000000seconds.";
+ next;
+ set .arn_party,getcharid(1);
+ if (@gappt < 0) {
+ mes "[Staff]";
+ mes "Although you failed to make a new record, I hope you will succeed next time.";
+ next;
+ if (arena_point > 29980) {
+ mes "[Staff]";
+ mes "Then let me reward you with some arena points....eh?";
+ mes "Your arena points have exceeded the maximum amount. I cannot give you more points until you spend some points.";
+ next;
+ mes "[Staff]";
+ mes "You can check the amount of arena points you have in the arena waiting room.";
+ next;
+ mes "[Staff]";
+ mes "I hope you had a good time and let me guide you to the entrance of arena.";
+ mes "Thank you.";
+ close2;
+ }
+ else
+ {
+ set arena_point, arena_point + 40;
+ mes "[Staff]";
+ mes "Let me reward you some arena points.";
+ mes "If you wish to check the amount of arena points you have, please go talk to ^3131FFVendigos^000000 at the arena entrance.";
+ next;
+ mes "[Staff]";
+ mes "Let me guide you to the entrance of arena.";
+ mes "See you later~";
+ close2;
+ }
+ if(getpartyleader(.arn_party,2) == getcharid(0))
+ {
+ donpcevent "#arn_timer_pt::Onstop";
+ donpcevent "alloff#pt::Onon";
+ donpcevent "Ponox::Onstart";
+ }
+ specialeffect2 EH_HIT5;
+ donpcevent "cast#pt::Onnomal1";
+ warp "arena_room",100,75;
+ end;
+ }
+ else
+ {
+ emotion e_omg;
+ mes "[Staff]";
+ mes "Wow! You have renewed the record!";
+ mes "What a great job!";
+ next;
+ if(getpartyleader(.arn_party,2) == getcharid(0))
+ {
+ mes "[Staff]";
+ mes "You can record you and your party members on ^FF0000the hall of Arena Time Force Battle party ^000000.";
+ mes "When you enter a name, the name will be remained on the top unless someone make a new record.";
+ next;
+ mes "[Staff]";
+ mes "Please enter a name within 10 letters which can represent you and your party members.";
+ next;
+ switch( select( "Ok.","Let me think." ) )
+ {
+ case 1:
+ input .@arnparty$;
+ mes "[Staff]";
+ mes "You have entered ^3131FF"+.@arnparty$+"^000000. Is it correct?";
+ next;
+ switch( select( "Yes","No" ) )
+ {
+ case 1:
+ set $top_ptmin, @record_minpt;
+ set $top_ptsec, @record_secpt;
+ set $arena_pttopn$,.@arnparty$;
+ donpcevent "Vendigos::Onlinerec_pt";
+ mes "[Staff]";
+ mes "Your record has been entered.";
+ next;
+ break;
+
+ case 2:
+ mes "[Staff]";
+ mes "Please take your time and think up a nice name.";
+ close;
+
+ }
+ break;
+
+ case 2:
+ mes "[Staff]";
+ mes "Please take your time and think up a nice name.";
+ close;
+
+ }
+
+
+ }
+ if (arena_point > 29900) {
+ mes "[Staff]";
+ mes "Then let me reward you with some arena points....eh?";
+ mes "Your arena points have exceeded the maximum amount. I cannot give you more points until you spend some points.";
+ next;
+ mes "[Staff]";
+ mes "You can check the amount of arena points you have in the arena waiting room.";
+ next;
+ mes "[Staff]";
+ mes "I hope you had a good time and let me guide you to the entrance of arena.";
+ mes "Thank you.";
+ close2;
+ }
+ else
+ {
+ mes "[Staff]";
+ mes "Let me reward you with some arena points.";
+ mes "At the same time, since you have renewed the record you will receive an extra amount of the points this time.";
+ next;
+ set arena_point, arena_point + 100;
+ mes "[Staff]";
+ mes "Let me reward you some arena points.";
+ mes "If you wish to check the amount of arena points you have, please go talk to ^3131FFVendigos^000000 at the arena entrance.";
+ next;
+ mes "[Staff]";
+ mes "Let me guide you to the entrance of arena.";
+ mes "See you later~";
+ close2;
+ }
+ if(getpartyleader(.arn_party,2) == getcharid(0))
+ {
+ donpcevent "#arn_timer_pt::Onstop";
+ donpcevent "alloff#pt::Onon";
+ donpcevent "Ponox::Onstart";
+ }
+ specialeffect2 EF_HIT5;
+ warp "arena_room",100,75;
+ end;
+ }
+
+}
+
+- script #arn_timer_pt -1,{
+
+OnEnter:
+ initnpctimer;
+ end;
+
+OnTimer2000:
+ mapannounce "prt_are_in","This broadcast informs you about the restriction for party arena.",0,0xFFCE00;
+ end;
+
+OnTimer3000:
+ mapannounce "prt_are_in","For a smooth game play, exit warp portal will be activated in 1 minute.",0,0xFFCE00;
+ end;
+
+OnTimer4000:
+ mapannounce "prt_are_in","Please proceed your battle quickly as possible in order to avoid disadvantage. Thank you for your cooperation.",0,0xFFCE00;
+ end;
+
+OnTimer60000:
+ donpcevent "cast#pt::Ontimeover2";
+ donpcevent "arn_warp_pt::Onout";
+ donpcevent "#arn_timer_pt::Onstop";
+ donpcevent "alloff#pt::Onon";
+ donpcevent "Ponox::Onstart";
+ end;
+
+Onstop:
+ stopnpctimer;
+ end;
+}
+
+- script arn_warp_pt -1,{
+
+Onout:
+ areawarp "prt_are_in",66,143,81,126,"arena_room",100,75;
+ end;
+}
+
+- script cast#pt -1,{
+
+Ontimeover1:
+ mapannounce "force_2-1","Arena will be reactivated due to an error occurred during battle.",0,0xFFCE00;
+ end;
+
+Onnomal1:
+ mapannounce "force_2-1","Arena will be reactivated.",0,0xFFCE00;
+ end;
+
+Onnomal2:
+ mapannounce "force_2-1","Arena will be reactivated.",0,0xFFCE00;
+ end;
+
+Ontimeover2:
+ mapannounce "force_2-1","Arena will be reactivated due to an error occurred in the waiting room.",0,0xFFCE00;
+ end;
+}
+
+- script alloff#pt -1,{
+
+Onon:
+ mapwarp "force_1-2","prt_are_in",126,139,0,0;
+ donpcevent "force_01mob#party::OnReset";
+ donpcevent "force_02mob#party::OnReset";
+ donpcevent "force_03mob#party::OnReset";
+ donpcevent "force_04mob#party::OnReset";
+ donpcevent "force_05mob#party::OnReset";
+ donpcevent "force_06mob#party::OnReset";
+ donpcevent "force_07mob#party::OnReset";
+ donpcevent "force_08mob#party::OnReset";
+ donpcevent "force_09mob#party::OnReset";
+ donpcevent "force_10-1mob#party::OnReset";
+ donpcevent "force_10-2mob#party::OnReset";
+ donpcevent "force_exitmob#party::OnReset";
+ //disablenpc "force_01mob#party";
+ //disablenpc "force_02mob#party";
+ //disablenpc "force_03mob#party";
+ //disablenpc "force_04mob#party";
+ //disablenpc "force_05mob#party";
+ //disablenpc "force_06mob#party";
+ //disablenpc "force_07mob#party";
+ //disablenpc "force_08mob#party";
+ //disablenpc "force_09mob#party";
+ //disablenpc "force_10mob-1#party";
+ //disablenpc "force_10mob-2#party";
+ enablenpc "force_01start#party";
+ enablenpc "force_02start#party";
+ enablenpc "force_03start#party";
+ disablenpc "force_04start#party";
+ disablenpc "force_05start#party";
+ disablenpc "force_06start#party";
+ disablenpc "force_07start#party";
+ disablenpc "force_08start#party";
+ disablenpc "force_09start#party";
+ disablenpc "force_10start#party";
+ disablenpc "force_exit#party";
+ disablenpc "force_01_00";
+ disablenpc "force_02_00";
+ disablenpc "force_03_00";
+ disablenpc "force_03_05";
+ disablenpc "force_03_04";
+ disablenpc "force_04_03";
+ disablenpc "force_05_03";
+ disablenpc "force_05_06";
+ disablenpc "force_06_07";
+ disablenpc "force_07_08";
+ disablenpc "force_08_09";
+ disablenpc "force_09_10";
+ disablenpc "force_10_09";
+ disablenpc "force_09_exit";
+ disablenpc "arena_p";
+ donpcevent "Slipslowrun#party::Ontimeroff";
+ disablenpc "Slipslowrun#party";
+ disablenpc "arn_warp_pt";
+ set $arn_partywait,0;
+ set $arn_partyc,0;
+ donpcevent "#arn_timer_pt::Onstop";
+ enablenpc "Slipslowrun#party";
+ enablenpc "arena_p";
+ end;
+
+OnInit:
+ if(!$top_ptmin && !$top_ptsec) set $top_ptmin,10;
+ end;
+
+}
diff --git a/npc/other/arena/arena_point.txt b/npc/other/arena/arena_point.txt
new file mode 100644
index 000000000..0890867bf
--- /dev/null
+++ b/npc/other/arena/arena_point.txt
@@ -0,0 +1,179 @@
+//===== Hercules Script ======================================
+//= Point Exchanger
+//===== By: ==================================================
+//= L0ne_W0lf
+//===== Current Version: =====================================
+//= 1.0
+//===== Description: =========================================
+//= [Aegis Conversion]
+//= Point exchanger: Turbo track points -> Arena Points
+//===== Additional Comments: =================================
+//= 1.0 First version. [L0ne_W0lf]
+//============================================================
+
+prt_are_in,103,11,3 script Arena Point Manager 732,{
+ mes "[Arena Point Manager]";
+ mes "I hope you're having a good";
+ mes "time in the Arena. If you've";
+ mes "earned Turbo Track Points at";
+ mes "Al De Baran's Turbo Track, I can,";
+ mes "convert them into Arena Points.";
+ next;
+ switch(select("Point Check:Convert Points:^660000Conversion Info^000000")) {
+ case 1:
+ mes "[Arena Point Manager]";
+ mes "" + strcharinfo(0) + ",";
+ mes "you currently have";
+ mes "" + arena_point + " Arena Points";
+ mes "and " + tt_point + " Turbo Track Points.";
+ close;
+ case 2:
+ mes "[Arena Point Manager]";
+ mes "" + strcharinfo(0) + ",";
+ mes "you currently have";
+ mes "" + arena_point + " Arena Points";
+ mes "and " + tt_point + " Turbo Track Points.";
+ next;
+ mes "[Arena Point Manager]";
+ mes "Please choose from among";
+ mes "the Track Point to Arena Point";
+ mes "conversions. Keep in mind that";
+ mes "when you convert more than 10";
+ mes "Track Points at one time, you can only convert in ^4D4DFFmultiples of 10^000000.";
+ next;
+ switch(select("2 TP -> 1 AP:4 TP -> 2 AP:6 TP -> 3 AP:8 TP -> 4 AP:10 TP and more:Cancel")) {
+ case 1:
+ callsub S_ExchangePoints,28999,2,1;
+ case 2:
+ callsub S_ExchangePoints,28998,4,2;
+ case 3:
+ callsub S_ExchangePoints,28997,6,2;
+ case 4:
+ callsub S_ExchangePoints,28996,8,4;
+ case 5:
+ mes "[Arena Point Manager]";
+ mes "Please enter the number";
+ mes "of times you wish to convert";
+ mes "10 Turbo Track Points into";
+ mes "Arena Points. The largest";
+ mes "value you may enter is 20.";
+ mes "To cancel, enter ''^3355FF0^000000.''";
+ next;
+ input .@input;
+ if (.@input == 0) {
+ mes "[Arena Point Manager]";
+ mes "You have";
+ mes "canceled";
+ mes "this service.";
+ close;
+ }
+ else if (.@input > 20) {
+ mes "[Arena Point Manager]";
+ mes "Your request exceeds";
+ mes "the maximum limit. Please";
+ mes "enter a value no greater than 20.";
+ close;
+ }
+ else {
+ set .@want_point1,10 * .@input;
+ set .@want_point,5 * .@input;
+ set .@my_arena_all,arena_point + .@want_point;
+ set .@my_turbo_all,tt_point - .@want_point1;
+ if (.@my_arena_all > 28999) {
+ mes "[Arena Point Manager]";
+ mes "You will exceed the";
+ mes "maximum amount of";
+ mes "Arena Points if we proceed";
+ mes "with this conversion of your";
+ mes "Turbo Track Points. You cannot";
+ mes "have more than 29,000 Arena Points.";
+ next;
+ mes "[Arena Point Manager]";
+ mes "Please spend some of";
+ mes "your Arena Points before";
+ mes "using this service again.";
+ mes "Thank you for your patronage.";
+ close;
+ }
+ if (.@my_turbo_all < 0) {
+ mes "[Arena Point Manager]";
+ mes "I'm sorry, but";
+ mes "you don't have enough";
+ mes "Turbo Track Points to";
+ mes "perform this Arena";
+ mes "Point conversion.";
+ close;
+ }
+ else {
+ mes "[Arena Point Manager]";
+ mes "You have converted";
+ mes "10 Turbo Track Points";
+ mes "into 5 Arena Points " + .@input + " times.";
+ mes "A total of " + .@want_point1 + " Turbo Track Points were converted into";
+ mes "" + .@want_point +" Arena Points.";
+ set tt_point,tt_point - .@want_point1;
+ set arena_point,arena_point+.@want_point;
+ next;
+ mes "[Arena Point Manager]";
+ mes "" + strcharinfo(0) + ",";
+ mes "you now have";
+ mes "^4682B4" + arena_point + "^000000 Arena Points";
+ mes "and ^00688B" + tt_point + "^000000 Turbo Track Points.";
+ mes "Thank you for your patronage.";
+ close;
+ }
+ }
+ case 6:
+ mes "[Arena Point Manager]";
+ mes "You have";
+ mes "canceled";
+ mes "this service.";
+ close;
+ }
+ case 3:
+ // Again. no dialog for this option.
+ close;
+ }
+ close;
+
+S_ExchangePoints:
+ if (arena_point > getarg(0) ) {
+ mes "[Arena Point Manager]";
+ mes "You will exceed the";
+ mes "maximum amount of";
+ mes "Arena Points if we proceed";
+ mes "with this conversion of your";
+ mes "Turbo Track Points. You cannot";
+ mes "have more than 29,000 Arena Points.";
+ next;
+ mes "[Arena Point Manager]";
+ mes "Please spend some of";
+ mes "your Arena Points before";
+ mes "using this service again.";
+ mes "Thank you for your patronage.";
+ close;
+ }
+ if (tt_point >= getarg(1)) {
+ mes "[Arena Point Manager]";
+ mes "" + strcharinfo(0) + ",";
+ mes "you've converted "+getarg(1)+" Track";
+ mes "Points into "+getarg(2)+" Arena Point.";
+ set tt_point,tt_point-getarg(1);
+ set arena_point,arena_point+getarg(2);
+ next;
+ mes "[Arena Point Manager]";
+ mes "" + strcharinfo(0) + ",";
+ mes "you now have";
+ mes "^4682B4" + arena_point + "^000000 Arena Points";
+ mes "and ^00688B" + tt_point + "^000000 Turbo Track Points.";
+ mes "Thank you for your patronage.";
+ close;
+ }
+ else {
+ mes "[Arena Point Manager]";
+ mes "I'm sorry, but you don't have";
+ mes "enough Turbo Track Points.";
+ mes "You need at least 2 Turbo Track Points for this conversion service.";
+ close;
+ }
+}
diff --git a/npc/other/arena/arena_room.txt b/npc/other/arena/arena_room.txt
new file mode 100644
index 000000000..925976f3b
--- /dev/null
+++ b/npc/other/arena/arena_room.txt
@@ -0,0 +1,1110 @@
+//===== Hercules Script ======================================
+//= Izlude Arena Room
+//===== By: ==================================================
+//= SinSloth
+//===== Current Version: =====================================
+//= 1.1
+//===== Description: =========================================
+//= Izlude Battle Arena Main Room
+//===== Additional Comments: =================================
+//= 1.0 First version.
+//= 1.1 Fixed a small reward typo (was giving potato.) [L0ne_W0lf]
+//============================================================
+
+arena_room,94,93,5 script Vendigos 97,{
+
+ mes "[Vendigos]";
+ mes "Welcome to the world of Arena, the battle against a time limit.";
+ mes "My name is Vendigos, I am here to help you.";
+ next;
+ mes "[Vendigos]";
+ mes "If you have any questions, feel free to ask me.";
+L_Menu:
+ next;
+ switch( select( "How to challenge","About Arena Points","My Current Arena Points","Cancel" ) )
+ {
+ case 1:
+ mes "[Vendigos]";
+ mes "There are two different kinds of arena mode such as ^3131FFPlayer Mode^000000 and ^3131FFParty Mode^000000.";
+ next;
+ mes "[Vendigos]";
+ mes "^3131FFPlayer Mode^000000 consists of 4 different stages based on character level from 50~80.";
+ mes "For a party with 5 members, they can participate in ^3131FFParty Mode^000000.";
+ next;
+ mes "[Vendigos]";
+ mes "For ^3131FFeach Player Mode Stage^000000, characters who are 20 levels higher than the level requirement on each stage cannot enter. This is to prevent high level characters preoccupying a low level stage.";
+ next;
+ mes "[Vendigos]";
+ mes "There are the NPCs for Player Mode Stages from 12 o'clock direction to the reversed clock direction.";
+ mes "While you're waiting in a chat room, you will be automatically guided to an arena room by the waiting order.";
+ break;
+
+ case 2:
+ mes "[Vendigos]";
+ mes "Let me explain about the ^3131FFArena Point^000000.";
+ mes "It is a reward point for players who ^3131FFsuccessfully cleared a arena stage^000000, a player can possess the maximum 30,000 points.";
+ next;
+ mes "[Vendigos]";
+ mes "Even if you did not clear a stage due to time-over or other errors, you will be given a very small amount of arena points.";
+ next;
+ mes "[Vendigos]";
+ mes "Regarding the use of Arena Points,";
+ mes "we are providing various services such as souvenir photograph services through an NPC named Givu.";
+ break;
+
+ case 3:
+ mes "[Vendigos]";
+ mes "Let me check "+strcharinfo(0)+"'s current arena points.";
+ next;
+ mes "[Vendigos]";
+ mes ""+strcharinfo(0)+" has total ^3131FF"+arena_point+"^000000 points.";
+ next;
+ mes "[Vendigos]";
+ mes "If you wish to know how to use arena points, please refer to the 2nd menu ^3131FF'About Arena Points'^000000.";
+ break;
+
+ case 4:
+ mes "[Vendigos]";
+ mes "Okay, please have a good time.";
+ close;
+ }
+ next;
+ mes "[Vendigos]";
+ mes "Is there anything I can help you more?";
+ goto L_Menu;
+
+Onlinerec_50:
+ mapannounce "arena_room",""+$arena_50topn$+" has renewed the top record in the Arena Time Force Battle level 50. Congratulations!",0;
+ end;
+
+Onlinerec_60:
+ mapannounce "arena_room",""+$arena_60topn$+" has renewed the top record in the Arena Time Force Battle level 60. Congratulations!",0;
+ end;
+
+Onlinerec_70:
+ mapannounce "arena_room",""+$arena_70topn$+" has renewed the top record in the Arena Time Force Battle level 70. Congratulations!",0;
+ end;
+Onlinerec_80:
+ mapannounce "arena_room",""+$arena_80topn$+" has renewed the top record in the Arena Time Force Battle level 80. Congratulations!",0;
+ end;
+
+Onlinerec_pt:
+ mapannounce "arena_room","Party "+$arena_pttopn$+" has renewed the top record in the Arena Time Force Battle. Congratulations!",0;
+ end;
+
+//OnCommand: "linerec_vs"
+// var vs_winner = GetGlobalStr "040611_arn_vstopn"
+// broadcastinmap "Party "+vs_winner+" has renewed the top record in the Arena Time Force Battle. Congratulations!"
+// end;
+
+}
+
+arena_room,105,82,5 script Arena Record Staff 57,{
+
+ mes "[Owen Kheuv]";
+ mes "Hello, my name is Own Kheuv";
+ mes "in charge of every arena stage record of players.";
+ next;
+ mes "[Owen Kheuv]";
+ mes "Would you like to check the top record players in each stage?";
+ mes "If so, please choose a menu below.";
+ next;
+ switch( select( "lvl 50 Stage","lvl 60 Stage","lvl 70 Stage","lvl 80 Stage","Party Stage" ) )
+ {
+ case 1:
+ mes "[Owen Kheuv]";
+ mes "Currently the top player of the arena lvl 50 stage is ^3131FF "+$arena_50topn$+"^000000, the top record is ^3131FF"+$top_50min+"^000000 minutes ^3131FF"+$top_50sec+"^000000 seconds.";
+ close;
+
+ case 2:
+ mes "[Owen Kheuv]";
+ mes "Currenly the top player of the arena lvl 60 stage is ^3131FF"+$arena_60topn$+"^000000, the top record is ^3131FF"+$top_60min+"^000000 minutes ^3131FF"+$top_60sec+"^000000 seconds.";
+ close;
+
+ case 3:
+ mes "[Owen Kheuv]";
+ mes "Currenly the top player of the arena lvl 70 stage is ^3131FF"+$arena_70topn$+"^000000, the top record is ^3131FF"+$top_70min+"^000000 minutes ^3131FF"+$top_70sec+"^000000 seconds.";
+ close;
+
+ case 4:
+ mes "[Owen Kheuv]";
+ mes "Currenly the top player of the arena lvl 80 stage is ^3131FF"+$arena_80topn$+"^000000, the top record is ^3131FF"+$top_80min+"^000000 minutes ^3131FF"+$top_80sec+"^000000 seconds.";
+ close;
+
+ case 5:
+ mes "[Owen Kheuv]";
+ mes "Currenly the top party is ^3131FF"+$arena_pttopn$+"^000000, the top record is ^3131FF"+$top_ptmin+"^000000 minutes ^3131FF"+$top_ptsec+"^000000 seconds.";
+ close;
+ }
+}
+
+arena_room,68,135,3 script Helper Pat 726,{
+
+ mes "[Pat]";
+ mes "Welcome, welcome.";
+ mes "I am a helper of the lvl 50 arena stage.";
+ next;
+ mes "[Pat]";
+ mes "This ^3131FFlvl 50 arena stage^000000";
+ mes "is accessable to characters from ^FF0000level 50^000000 to ^FF0000level 69^000000.";
+ next;
+ mes "[Pat]";
+ mes "This level limitation is to prevent high level characters abusing low level arena stages. I hope you will understand.";
+ mes "Also we accept an entrance fee, 1,000 zeny.";
+ next;
+ mes "[Pat]";
+ mes "Let me introduce you about the play rules of arena.";
+ next;
+ mes "[Pat]";
+ mes "^3131FFWait in a chat room for your turn coming.^000000";
+ mes "When it's your turn, you will be automatically warped to an arena map.";
+ next;
+ mes "[Pat]";
+ mes "As immediately as you enter, a timer to check your play time will be activated.";
+ mes "Please follow what ^3131FFHeel and Toe^000000 guides you. ";
+ next;
+ mes "[Pat]";
+ mes "You have a ^3131FF5 minutes^000000 battle time.";
+ next;
+ mes "[Pat]";
+ mes "After you clear every room including a boss room, you will be warped again to an ^3131FFending waiting room^000000.";
+ mes "You can only allow to stay in the waiting room for ^3131FF1 minute^000000, please hurry up to receive the arena points and leave.";
+ next;
+ mes "[Pat]";
+ mes "If you stay over 1 minute inside the ending waiting room, you will be forced outside and will not receive any arena points. Please remember that.";
+ next;
+ mes "[Pat]";
+ mes "I hope you will have a good time.";
+ close;
+}
+
+arena_room,41,93,5 script Helper Ben 750,{
+
+ mes "[Ben]";
+ mes "Welcome, welcome.";
+ mes "I am a helper of the lvl 60 arena stage.";
+ next;
+ mes "[Ben]";
+ mes "This ^3131FFlvl 60 arena stage^000000";
+ mes "is accessable to characters from ^FF0000level 60^000000 to ^FF0000level 79^000000.";
+ next;
+ mes "[Ben]";
+ mes "This level limitation is to prevent high level characters abusing low level arena stages. I hope you will understand.";
+ mes "Also we accept an entrance fee, 1,000 zeny.";
+ next;
+ mes "[Ben]";
+ mes "Let me introduce you about the play rules of arena.";
+ next;
+ mes "[Ben]";
+ mes "^3131FFWait in a chat room for your turn coming.^000000";
+ mes "When it's your turn, you will be automatically warped to an arena map.";
+ next;
+ mes "[Ben]";
+ mes "As immediately as you enter, a timer to check your play time will be activated.";
+ mes "Please follow what ^3131FFMinilover^000000 guides you. ";
+ next;
+ mes "[Ben]";
+ mes "You have a ^3131FF6 minutes^000000 battle time.";
+ next;
+ mes "[Ben]";
+ mes "After you clear every room including a boss room, you will be warped again to an ^3131FFending waiting room^000000.";
+ mes "You can only allow to stay in the waiting room for ^3131FF1 minute^000000, please hurry up to receive the arena points and leave.";
+ next;
+ mes "[Ben]";
+ mes "If you stay over 1 minute inside the ending waiting room, you will be forced outside and will not receive any arena points. Please remember that.";
+ next;
+ mes "[Ben]";
+ mes "I hope you will have a good time.";
+ close;
+}
+
+arena_room,53,49,5 script Helper Vicious 730,{
+
+ mes "[Vicious]";
+ mes "Hey there.";
+ mes "My name is Vicious, I am a helper of lvl 70 arena stage.";
+ mes "(...I have no clue how the hell I put myself into this crappy work...mumble mumble...grumble grumble..)";
+ next;
+ mes "[Vicious]";
+ mes "This ^3131FFlvl 70 arena stage^000000";
+ mes "is accessable to characters from ^FF0000level 70^000000 to ^FF0000level 89^000000.";
+ next;
+ mes "[Vicious]";
+ mes "This level limitation is to prevent high level characters abusing low level arena stages. I hope you will understand.";
+ mes "Also we accept an entrance fee, 1,000 zeny.";
+ next;
+ mes "[Vicious]";
+ mes "Let me introduce you about the play rules of arena.";
+ next;
+ mes "[Vicious]";
+ mes "^3131FFWait in a chat room for your turn coming.^000000";
+ mes "When it's your turn, you will be automatically warped to an arena map.";
+ next;
+ mes "[Vicious]";
+ mes "As immediately as you enter, a timer to check your play time will be activated.";
+ mes "Please follow what ^3131FFCadilac^000000 guides you. ";
+ next;
+ mes "[Vicious]";
+ mes "You have a ^3131FF7 minutes^000000 battle time.";
+ next;
+ mes "[Vicious]";
+ mes "After you clear every room including a boss room, you will be warped again to an ^3131FFending waiting room^000000.";
+ mes "You can only allow to stay in the waiting room for ^3131FF1 minute^000000, please hurry up to receive the arena points and leave.";
+ next;
+ mes "[Vicious]";
+ mes "If you stay over 1 minute inside the ending waiting room, you will be forced outside and will not receive any arena points. Remember that.";
+ next;
+ mes "[Vicious]";
+ mes "Okay, take care now.";
+ close;
+}
+
+arena_room,147,49,3 script Helper Epin 727,{
+
+ mes "[Epin]";
+ mes "Good day,";
+ mes "I am a helper of lvl 80 arena stage and my name is Epin.";
+ mes "I like reading and I am 19 years old...huh...? Don't you want to hear about me...?";
+ next;
+ emotion e_cry,0;
+ mes "[Epin]";
+ mes "Okay...";
+ next;
+ mes "[Epin]";
+ mes "This ^3131FFlvl 80 arena stage^000000";
+ mes "is accessable to characters from ^FF0000level 80^000000 to ^FF0000level 99^000000.";
+ next;
+ mes "[Epin]";
+ mes "This level limitation is to prevent high level characters abusing low level arena stages. I hope you will understand.";
+ mes "Also we accept an entrance fee, 1,000 zeny.";
+ next;
+ mes "[Epin]";
+ mes "Let me introduce you about the play rules of arena.";
+ next;
+ mes "[Epin]";
+ mes "^3131FFWait in a chat room for your turn coming.^000000";
+ mes "When it's your turn, you will be automatically warped to an arena map.";
+ next;
+ mes "[Epin]";
+ mes "As immediately as you enter, a timer to check your play time will be activated.";
+ mes "Please follow what ^3131FFActus^000000 guides you. ";
+ next;
+ mes "[Epin]";
+ mes "You have a ^3131FF8 minutes^000000 battle time.";
+ next;
+ mes "[Epin]";
+ mes "After you clear every room including a boss room, you will be warped again to an ^3131FFending waiting room^000000.";
+ mes "You can only allow to stay in the waiting room for ^3131FF1 minute^000000, please hurry up to receive the arena points and leave.";
+ next;
+ mes "[Epin]";
+ mes "If you stay over 1 minute inside the ending waiting room, you will be forced outside and will not receive any arena points. Please remember that.";
+ next;
+ mes "[Epin]";
+ mes "I hope you will have a good time.";
+ close;
+}
+
+arena_room,158,93,5 script Helper Lunic 828,{
+
+ mes "[Lunic]";
+ mes "Welcome to party arena stage.";
+ mes "I hope you will listen carefully to my introduction";
+ mes "since this party arena stage is a little bit different from player mode stages.";
+ next;
+ mes "[Lunic]";
+ mes "^3131FFParty Arena Stage^000000";
+ mes "is accessible to players from ^FF0000level 10^000000 to ^FF0000level 99^000000.";
+ next;
+ mes "[Lunic]";
+ mes "Also, arena will be not be started until all of 5 party members enter the room. We accept an entrance fee 1,000 zeny.";
+ next;
+ mes "[Lunic]";
+ mes "Let me introduce you about the play rules of arena.";
+ next;
+ mes "[Lunic]";
+ mes "^3131FFGroup a party with your friends and wait in a chat room^000000.";
+ mes "You must form a party beforehand. If you didn't do, you could still play but you would have a lot of inconvenience.";
+ next;
+ mes "[Lunic]";
+ mes "Also please remember 5 players automatically warped to the arena room will be in order of ^FF0000entering a chat room^000000 not in order of ^FF0000party^000000. Please remember that.";
+ next;
+ mes "[Lunic]";
+ mes "And please form a party with ^3131FF5 players^000000 before you enter a chat room.";
+ next;
+ mes "[Lunic]";
+ mes "When it becomes your turn, you will be warped into a small map where a warp and a help NPC are located.";
+ mes "In case you enter with members of a different party, use the warp to escape the map. Then you will return to the waiting room.";
+ next;
+ mes "[Lunic]";
+ mes "In case you enter with your party members, please proceed speaking with the help NPC in the small map.";
+ mes "The help NPC is only accessible to talk ^FF0000 1 player ^000000at a time.";
+ next;
+ mes "[Lunic]";
+ mes "The NPC will guide you and your party members to the actual arena room.";
+ mes "However, if anyone in the party ^3131FFdoes not have enough money to pay the entrance fee, he will be warped outside^000000.";
+ next;
+ mes "[Lunic]";
+ mes "Also be aware that you can only stay inside the map for ^FF0000 1 minute^000000.";
+ next;
+ mes "[Lunic]";
+ mes "As immediately as you enter the arena map, a timer which calculates your battle time will be activated.";
+ mes "Please follow what ^3131FFSlipslowrun^000000 guides you. ";
+ next;
+ mes "[Lunic]";
+ mes "You will have ^3131FF10 minutes^000000 to clear the stage however it is not that easy to do. And you're advised to use the time wisely.";
+ next;
+ mes "[Lunic]";
+ mes "After you clear every room including a boss room, you will be warped again to an ^3131FFending waiting room^000000.";
+ mes "You can only allow to stay in the waiting room for ^3131FF1 minute^000000, please hurry up to receive the arena points and leave.";
+ next;
+ mes "[Lunic]";
+ mes "If you stay over 1 minute inside the ending waiting room, you will be forced outside and will not receive any arena points. Please remember that.";
+ next;
+ mes "[Lunic]";
+ mes "Besides, if a party make a new record on time to clear the map,";
+ mes "^3131FFthe party master^000000 can record ^3131FFthe party name^000000.";
+ next;
+ mes "[Lunic]";
+ mes "In this case, if a party has more than one master or none, it is impossible to write ^FF0000the top party record^000000.";
+ mes "Therefore, it is strongly suggested to form one party before entering the arena map.";
+ next;
+ mes "[Lunic]";
+ mes "Thank you for listening and";
+ mes "I hope you will have a good time.";
+ close;
+}
+
+arena_room,158,82,1 script Helper Lonik 828,{
+
+ emotion e_no1,0;
+ mes "[Lonik]";
+ mes "Tah dah! Here I am!";
+ next;
+ mes "[Lonik]";
+ mes "You are curious if there is anyone inside or not, aren't you?";
+ next;
+ mes "[Lonik]";
+ mes "My answer is...";
+ mes ".............";
+ if(getmapusers("force_1-2"))
+ {
+ emotion e_oh,0;
+ mes "Yes!";
+ mes "There is someone inside.";
+ next;
+ mes "[Lonik]";
+ mes "You'd better wait a little bit longer!";
+ }
+ else
+ {
+ emotion e_x,0;
+ mes "No!";
+ mes "Go for it, good luck!";
+ }
+ close;
+}
+
+sec_in02,72,180,3 script Arena Manager#arena 802,{
+
+ if (!getgmlevel()) end;
+
+ input .@arena;
+ if(!.@arena)
+ {
+ mes "[Arena Manager]";
+ mes "Command has been canceled.";
+ close;
+ }
+ else if(.@arena == 1357)
+ {
+ mes "[Arena Manager]";
+ mes "Select an option.";
+ next;
+ switch( select( "Restart arena","Rearrange the Ranking Time" ) )
+ {
+ case 1:
+ switch( select( "lvl 50","lvl 60","lvl 70","lvl 80","Party Mode" ) )
+ {
+ case 1:
+ set .@arena,50;
+ break;
+ case 2:
+ set .@arena,60;
+ break;
+ case 3:
+ set .@arena,70;
+ break;
+ case 4:
+ set .@arena,80;
+ break;
+ case 5:
+ mes "[Arena Manager]";
+ mes "== Caution ==";
+ mes "You have chosen to restart party arena stage.";
+ mes "Do you wish to proceed?";
+ next;
+ switch( select( "Yes","No" ) )
+ {
+ case 1:
+ donpcevent "Ponox::Onstart";
+ mes "[Arena Manager]";
+ mes "The arena stage has been successfuly reactivated.";
+ close;
+
+ case 2:
+ mes "[Arena Manager]";
+ mes "Command has been canceled.";
+ close;
+ }
+ }
+ mes "[Arena Manager]";
+ mes "== Caution ==";
+ mes "You have chosen to restart lvl "+.@arena+" arena stage.";
+ mes "Do you wish to proceed?";
+ next;
+ switch( select( "Yes","No" ) )
+ {
+ case 1:
+ donpcevent "lvl "+.@arena+"s Waiting Room::Onstart";
+ mes "[Arena Manager]";
+ mes "The arena stage has been successfuly reactivated.";
+ close;
+
+ case 2:
+ mes "[Arena Manager]";
+ mes "Command has been canceled.";
+ close;
+ }
+
+ case 2:
+ mes "[Arena Manager]";
+ mes "== Caution ==";
+ mes "^CE0000You have chosen to rearrange the ranking time. Make sure this is not a good decision unless if something serious was happened!^000000";
+ next;
+ mes "[Arena Manager]";
+ mes "Are you sure you want to rearrange the ranking time?";
+ next;
+ switch( select( "No","Yes" ) )
+ {
+ case 1:
+ mes "[Arena Manager]";
+ mes "Phew~ :)";
+ close;
+
+ case 2:
+ switch( select( "lvl 50","lvl 60","lvl 70","lvl 80","Party Mode" ) )
+ {
+ case 1:
+ mes "[Arena Manager]";
+ mes "Please enter 0 to cancel.";
+ mes "If not, please enter a value for minutes first and then seconds.";
+ next;
+ input .@arenamin;
+ set $top_50min,.@arenamin;
+ input .@arenasec;
+ set $top_50sec,.@arenasec;
+ mes "[Arena Manager]";
+ mes "Current lvl 50 ranker's play time has been rearranged to ^FF0000"+$top_50min+"^000000 minutes and ^FF0000"+$top_50sec+"^000000 seconds.";
+ close;
+ case 2:
+ mes "[Arena Manager]";
+ mes "Please enter 0 to cancel.";
+ mes "If not, please enter a value for minutes first and then seconds.";
+ next;
+ input .@arenamin;
+ set $top_60min,.@arenamin;
+ input .@arenasec;
+ set $top_60sec,.@arenasec;
+ mes "[Arena Manager]";
+ mes "Current lvl 60 ranker's play time has been rearranged to ^FF0000"+$top_60min+"^000000 minutes and ^FF0000"+$top_60sec+"^000000 seconds.";
+ close;
+ case 3:
+ mes "[Arena Manager]";
+ mes "Please enter 0 to cancel.";
+ mes "If not, please enter a value for minutes first and then seconds.";
+ next;
+ input .@arenamin;
+ set $top_70min,.@arenamin;
+ input .@arenasec;
+ set $top_70sec,.@arenasec;
+ mes "[Arena Manager]";
+ mes "Current lvl 70 ranker's play time has been rearranged to ^FF0000"+$top_70min+"^000000 minutes and ^FF0000"+$top_70sec+"^000000 seconds.";
+ close;
+ case 4:
+ mes "[Arena Manager]";
+ mes "Please enter 0 to cancel.";
+ mes "If not, please enter a value for minutes first and then seconds.";
+ next;
+ input .@arenamin;
+ set $top_80min,.@arenamin;
+ input .@arenasec;
+ set $top_80sec,.@arenasec;
+ mes "[Arena Manager]";
+ mes "Current lvl 80 ranker's play time has been rearranged to ^FF0000"+$top_80min+"^000000 minutes and ^FF0000"+$top_80sec+"^000000 seconds.";
+ close;
+ case 5:
+ mes "[Arena Manager]";
+ mes "Please enter 0 to cancel.";
+ mes "If not, please enter a value for minutes first and then seconds.";
+ next;
+ input .@arenamin;
+ set $top_ptmin,.@arenamin;
+ input .@arenasec;
+ set $top_ptsec,.@arenasec;
+ mes "[Arena Manager]";
+ mes "Current party ranker's play time has been rearranged to ^FF0000"+$top_ptmin+"^000000 minutes and ^FF0000"+$top_ptsec+"^000000 seconds.";
+ close;
+ }
+ }
+ }
+ }
+ mes "Password is incorrect.";
+ close;
+}
+
+sec_in02,79,171,3 script Reward Manager#arena 802,{
+
+ if (!getgmlevel()) end;
+
+ input .@arena;
+ if(!.@arena)
+ {
+ mes "[Reward Manager]";
+ mes "Command has been canceled.";
+ close;
+ }
+ else if(.@arena == 1357)
+ {
+ mes "[Reward Manager]";
+ mes "You have chosen to hide the teleporter NPC.";
+ next;
+ switch( select( "Cancel","Yes","Turn on" ) )
+ {
+ case 1:
+ mes "[Reward Manager]";
+ mes "You have canceled the command.";
+ close;
+
+ case 2:
+ mes "[Reward Manager]";
+ mes "NPC has been hidden";
+ disablenpc "Teleporter#arena";
+ close;
+
+ case 3:
+ mes "[Reward Manager]";
+ mes "NPC has been enabled.";
+ enablenpc "Teleporter#arena";
+ close;
+ }
+ }
+ mes "[Reward Manager]";
+ mes "Password is incorrect.";
+ close;
+}
+
+arena_room,105,93,5 script Teleporter#arena 55,{
+
+ mes "[Teleporter]";
+ mes "I can move you to the reward arena!";
+ mes "Would you like to go there?";
+ next;
+ switch( select( "Yes.","No." ) )
+ {
+ case 1:
+ mes "[Teleporter]";
+ mes "Let me guide you.";
+ close2;
+ warp "prt_are_in",60,14;
+ end;
+
+ case 2:
+ mes "[Teleporter]";
+ mes "No problem, feel free to come back any time.";
+ close;
+ }
+}
+
+prt_are_in,98,14,3 script Givu#arena 728,{
+
+
+ if(checkweight(526,5) != 1)
+ {
+ mes "- Wait a moment! -";
+ mes "- Currently you're carrying -";
+ mes "- too many items with you. -";
+ mes "- Please enlighten your weight -";
+ mes "- and try again. -";
+ close;
+ }
+ mes "[Givu]";
+ mes "Hello, there. Welcome to the world of Arena.";
+ mes "My name is Givu, I am in charge of arena point exchange program.";
+ next;
+ mes "[Givu]";
+ mes "You can exchange your arena points with various stuffs.";
+ mes "Please choose a menu below.";
+ next;
+ switch( select( "Exchange with Consumable items","Exchange with EXP points","Take a Souvenir Picture","Check Current Arena Points" ) )
+ {
+ case 1:
+ mes "[Givu]";
+ mes "What consumable item do you wish to exchange?";
+ next;
+ switch( select( "Honey","Royal Jelly","Mastela Fruit","Condensed White Potion","Anodyne","Yggdrasil Seed","Yggdrasilberry","Old Blue Box","Old Purple Box","Old Card Album" ) )
+ {
+ case 1: callfunc "Func_Are_Rew",518,5,20;
+ case 2: callfunc "Func_Are_Rew",526,5,30;
+ case 3: callfunc "Func_Are_Rew",522,5,30;
+ case 4: callfunc "Func_Are_Rew",547,8,30;
+ case 5: callfunc "Func_Are_Rew",605,3,20;
+ case 6: callfunc "Func_Are_Rew",608,1,20;
+ case 7: callfunc "Func_Are_Rew",607,1,40;
+ case 8: callfunc "Func_Are_Rew",603,1,100;
+ case 9: callfunc "Func_Are_Rew",617,1,300;
+ case 10: callfunc "Func_Are_Rew",616,1,1000;
+ }
+
+ case 2:
+ mes "[Givu]";
+ mes "Would you like to exchange your arena points with experience points?";
+ mes "It requires 40 arena points.";
+ next;
+ switch( select( "Cancel","Yes" ) )
+ {
+ case 1:
+ mes "[Givu]";
+ mes "You have canceled your request.";
+ close;
+
+ case 2:
+ if(arena_point < 40)
+ {
+ mes "[Givu]";
+ mes "You do not have enough arena points.";
+ mes "Please check the total amount of arena points you have.";
+ close;
+ }
+ set arena_point,arena_point -40;
+ if(BaseLevel < 70) getexp 3000,0;
+ else if(BaseLevel < 80) getexp 9000,0;
+ else if(BaseLevel < 90) getexp 10000,0;
+ else if(BaseLevel < 100) getexp 30000,0;
+ mes "[Givu]";
+ mes "You have gained experience points. Thank you.";
+ close;
+ }
+
+ case 3:
+ mes "[Givu]";
+ mes "You have chosen a souvenir picture services.";
+ next;
+ switch( select( "About souvenir Picture Services","Take a picture" ) )
+ {
+ case 1:
+ mes "[Givu]";
+ mes "Do you see stairs at the right side of me?";
+ next;
+ mes "[Givu]";
+ mes "At the stairs, you can take a screenshot with an NPC or a monster.";
+ next;
+ mes "[Givu]";
+ mes "When you choose an NPC or a monster, it will show some emotion icons ^FF0000for 1 minute^000000.";
+ next;
+ mes "[Givu]";
+ mes "Don't miss the chance to take a picture with your favorite NPC!";
+ close;
+
+ case 2:
+ if($arenapic)
+ {
+ mes "[Givu]";
+ mes "A souvenir picture services is on progress. Please wait.";
+ close;
+ }
+ mes "[Givu]";
+ mes "Please choose an NPC at below.";
+ mes "The NPC will appear for 1 minute and this service requires 10 arena points.";
+ next;
+ switch( select( "Baphomet","Dark Lord","Doppelganger","Eddga","Dracula","Samurai","Stormy Knight","Phreeoni","Girl","Valkyrie" ) )
+ {
+ case 1: set $@arenapic,1039; break;
+ case 2: set $@arenapic,1272; break;
+ case 3: set $@arenapic,1046; break;
+ case 4: set $@arenapic,1115; break;
+ case 5: set $@arenapic,1389; break;
+ case 6: set $@arenapic,1492; break;
+ case 7: set $@arenapic,1251; break;
+ case 8: set $@arenapic,1159; break;
+ case 9: set $@arenapic,6969; break;
+ case 10: set $@arenapic,7777; break;
+ }
+ if(arena_point < 10)
+ {
+ mes "[Givu]";
+ mes "You do not have enough arena points.";
+ mes "Please check the total amount of arena points you have.";
+ close;
+ }
+ mes "[Givu]";
+ if($@arenapic == 6969) mes "Would you like to take a picture with pretty girls?";
+ else if($@arenapic == 7777) mes "Would you like to take a picture with a Valkyrie?";
+ else mes "Would you like to take a picture with a "+getmonsterinfo($@arenapic,0)+"?";
+ next;
+ switch( select( "Yes","No" ) )
+ {
+ case 1:
+ set arena_point,arena_point -10;
+ set $arenapic,1;
+ enablenpc "#arena_"+$@arenapic+"";
+ movenpc "#arena_"+$@arenapic+"",96,28;
+ if($@arenapic == 6969)
+ {
+ enablenpc "#arena_ss_2";
+ enablenpc "#arena_ss_3";
+ enablenpc "#arena_ss_4";
+ }
+ donpcevent "npctime#arena::OnStart";
+ mes "[Givu]";
+ mes "Thank you.";
+ close;
+
+ case 2:
+ mes "[Givu]";
+ mes "Would you like to consider a little longer?";
+ close;
+ }
+ }
+
+ case 4:
+ mes "[Givu]";
+ mes "Let me check "+strcharinfo(0)+"'s current arena points.";
+ next;
+ mes "[Givu]";
+ mes ""+strcharinfo(0)+" has total ^3131FF"+arena_point+"^000000 points.";
+ close;
+ }
+
+OnInit:
+ set $arenapic,0;
+ end;
+}
+
+prt_are_in,1,1,5 script #arena_1039 1039,{
+ end;
+
+OnInit:
+ disablenpc "#arena_6969";
+ disablenpc "#arena_ss_2";
+ disablenpc "#arena_ss_3";
+ disablenpc "#arena_ss_4";
+ disablenpc "#arena_1272";
+ disablenpc "#arena_1046";
+ disablenpc "#arena_1115";
+ disablenpc "#arena_1389";
+ disablenpc "#arena_1492";
+ disablenpc "#arena_1251";
+ disablenpc "#arena_1159";
+ disablenpc "#arena_7777";
+ disablenpc "#arena_1039";
+ end;
+
+OnHeart:
+ emotion e_lv,0;
+ end;
+OnSci:
+ emotion e_scissors,0;
+ end;
+OnBest:
+ emotion e_no1,0;
+ end;
+OnOmg:
+ emotion e_omg,0;
+ end;
+OnKik:
+ emotion e_gg,0;
+ end;
+OnKis:
+ emotion e_kis,0;
+ end;
+}
+
+prt_are_in,1,1,5 duplicate(#arena_1039) #arena_6969 714
+prt_are_in,94,26,5 duplicate(#arena_1039) #arena_ss_2 714
+prt_are_in,100,28,3 duplicate(#arena_1039) #arena_ss_3 714
+prt_are_in,102,26,3 duplicate(#arena_1039) #arena_ss_4 714
+prt_are_in,1,1,5 duplicate(#arena_1039) #arena_1272 1272
+prt_are_in,1,1,5 duplicate(#arena_1039) #arena_1046 1046
+prt_are_in,1,1,5 duplicate(#arena_1039) #arena_1115 1115
+prt_are_in,1,1,5 duplicate(#arena_1039) #arena_1389 1389
+prt_are_in,1,1,5 duplicate(#arena_1039) #arena_1492 1492
+prt_are_in,1,1,5 duplicate(#arena_1039) #arena_1251 1251
+prt_are_in,1,1,5 duplicate(#arena_1039) #arena_1159 1159
+prt_are_in,1,1,5 duplicate(#arena_1039) #arena_7777 811
+
+- script npctime#arena -1,{
+
+OnStop:
+ stopnpctimer;
+ end;
+
+OnStart:
+ initnpctimer;
+ end;
+
+OnTimer2000:
+ mapannounce "prt_are_in","Givu : You should keep time with popping emotion icons~",1,0xFFCE00;
+ end;
+
+OnTimer5000:
+ mapannounce "prt_are_in","Emoticon : /lv",1,0xFFCE00;
+ end;
+
+OnTimer7000:
+ mapannounce "prt_are_in"," 3 ",1,0xFFCE00;
+ end;
+
+OnTimer8000:
+ mapannounce "prt_are_in"," 2 ",1,0xFFCE00;
+ end;
+
+OnTimer9000:
+ mapannounce "prt_are_in"," 1 ",1,0xFFCE00;
+ end;
+
+OnTimer10000:
+ mapannounce "prt_are_in"," ",1,0xFFCE00;
+ donpcevent "#arena_"+$@arenapic+"::OnHeart";
+ if($@arenapic == 6969)
+ {
+ donpcevent "#arena_ss_2::OnHeart";
+ donpcevent "#arena_ss_3::OnHeart";
+ donpcevent "#arena_ss_4::OnHeart";
+ }
+ end;
+
+OnTimer15000:
+ mapannounce "prt_are_in","Emoticon : /gawi",1,0xFFCE00;
+ end;
+
+OnTimer17000:
+ mapannounce "prt_are_in"," 3 ",1,0xFFCE00;
+ end;
+
+OnTimer18000:
+ mapannounce "prt_are_in"," 2 ",1,0xFFCE00;
+ end;
+
+OnTimer19000:
+ mapannounce "prt_are_in"," 1 ",1,0xFFCE00;
+ end;
+
+OnTimer20000:
+ mapannounce "prt_are_in"," ",1,0xFFCE00;
+ donpcevent "#arena_"+$@arenapic+"::OnSci";
+ if($@arenapic == 6969)
+ {
+ donpcevent "#arena_ss_2::OnSci";
+ donpcevent "#arena_ss_3::OnSci";
+ donpcevent "#arena_ss_4::OnSci";
+ }
+ end;
+
+OnTimer25000:
+ mapannounce "prt_are_in","Emoticon : /no1",1,0xFFCE00;
+ end;
+
+OnTimer27000:
+ mapannounce "prt_are_in"," 3 ",1,0xFFCE00;
+ end;
+
+OnTimer28000:
+ mapannounce "prt_are_in"," 2 ",1,0xFFCE00;
+ end;
+
+OnTimer29000:
+ mapannounce "prt_are_in"," 1 ",1,0xFFCE00;
+ end;
+
+OnTimer30000:
+ mapannounce "prt_are_in"," ",1,0xFFCE00;
+ donpcevent "#arena_"+$@arenapic+"::OnBest";
+ if($@arenapic == 6969)
+ {
+ donpcevent "#arena_ss_2::OnBest";
+ donpcevent "#arena_ss_3::OnBest";
+ donpcevent "#arena_ss_4::OnBest";
+ }
+ end;
+
+OnTimer35000:
+ mapannounce "prt_are_in","Emoticon : /huk",1,0xFFCE00;
+ end;
+
+OnTimer37000:
+ mapannounce "prt_are_in"," 3 ",1,0xFFCE00;
+ end;
+
+OnTimer38000:
+ mapannounce "prt_are_in"," 2 ",1,0xFFCE00;
+ end;
+
+OnTimer39000:
+ mapannounce "prt_are_in"," 1 ",1,0xFFCE00;
+ end;
+
+OnTimer40000:
+ mapannounce "prt_are_in"," ",1,0xFFCE00;
+ donpcevent "#arena_"+$@arenapic+"::OnOmg";
+ if($@arenapic == 6969)
+ {
+ donpcevent "#arena_ss_2::OnOmg";
+ donpcevent "#arena_ss_3::OnOmg";
+ donpcevent "#arena_ss_4::OnOmg";
+ }
+ end;
+
+OnTimer45000:
+ mapannounce "prt_are_in","Emoticon : /gg",1,0xFFCE00;
+ end;
+
+OnTimer47000:
+ mapannounce "prt_are_in"," 3 ",1,0xFFCE00;
+ end;
+
+OnTimer48000:
+ mapannounce "prt_are_in"," 2 ",1,0xFFCE00;
+ end;
+
+OnTimer49000:
+ mapannounce "prt_are_in"," 1 ",1,0xFFCE00;
+ end;
+
+OnTimer50000:
+ mapannounce "prt_are_in"," ",1,0xFFCE00;
+ donpcevent "#arena_"+$@arenapic+"::OnKik";
+ if($@arenapic == 6969)
+ {
+ donpcevent "#arena_ss_2::OnKik";
+ donpcevent "#arena_ss_3::OnKik";
+ donpcevent "#arena_ss_4::OnKik";
+ }
+ end;
+
+OnTimer55000:
+ mapannounce "prt_are_in","Emoticon : /kis",1,0xFFCE00;
+ end;
+
+OnTimer57000:
+ mapannounce "prt_are_in"," 3 ",1,0xFFCE00;
+ end;
+
+OnTimer58000:
+ mapannounce "prt_are_in"," 2 ",1,0xFFCE00;
+ end;
+
+OnTimer59000:
+ mapannounce "prt_are_in"," 1 ",1,0xFFCE00;
+ end;
+
+OnTimer60000:
+ mapannounce "prt_are_in"," ",1,0xFFCE00;
+ donpcevent "#arena_"+$@arenapic+"::OnKis";
+ if($@arenapic == 6969)
+ {
+ donpcevent "#arena_ss_2::OnKis";
+ donpcevent "#arena_ss_3::OnKis";
+ donpcevent "#arena_ss_4::OnKis";
+ }
+ end;
+
+OnTimer62000:
+ mapannounce "prt_are_in","Time is over. Thank you for using my services.",1,0xFFCE00;
+ movenpc "#arena_"+$@arenapic+"",1,1;
+ donpcevent "#arena_1039::OnInit";
+ set $arenapic,0;
+ stopnpctimer;
+ end;
+}
+
+sec_in02,72,171,3 script Picture Manager#arena 802,{
+
+ if (!getgmlevel()) end;
+
+ input .@arena;
+ if(!.@arena)
+ {
+ mes "[Picture Manager]";
+ mes "Command has been canceled.";
+ close;
+ }
+ else if(.@arena == 1357)
+ {
+ mes "[Picture Manager]";
+ mes "Would you like to reset Picture Reward variable to 0?";
+ next;
+ switch( select( "Cancel","Yes" ) )
+ {
+ case 1:
+ mes "[Picture Manager]";
+ mes "You have canceled your request.";
+ close;
+
+ case 2:
+ mes "[Picture Manager]";
+ mes "Picture rewarding reseted.";
+ set $arenapic,0;
+ close;
+ }
+ }
+ mes "[Picture Manager]";
+ mes "Password is incorrect.";
+ close;
+}
+
+sec_in02,76,176,5 script Live Broadcast#arena 802,{
+
+ mes "[Live Broadcast]";
+ mes "Currently there are "+getmapusers("force_1-1")+" people in lvl 50s map.";
+ mes "Currently there are "+getmapusers("force_2-1")+" people in lvl 60s map.";
+ mes "Currently there are "+getmapusers("force_3-1")+" people in lvl 70s map.";
+ mes "Currently there are "+getmapusers("force_4-1")+" people in lvl 80s map.";
+ mes "Currently there are "+getmapusers("force_1-2")+" people in party map.";
+ mes "Currently there are "+getmapusers("arena_room")+" people in the waiting room.";
+ close;
+}
+
+function script Func_Are_Rew {
+
+ mes "[Givu]";
+ mes "Would you like to exchange your arena points with "+getitemname(getarg(0))+"?";
+ mes "You can exchange ^3131FF"+getarg(2)+" arena points with "+getarg(1)+" "+getitemname(getarg(0))+"^000000.";
+ mes "If you wish to cancel, please enter 0. If you don't, please enter how many ^3131FFtimes^000000 of arena points you wish to spend.";
+ next;
+ input .@reward;
+ if(!.@reward)
+ {
+ mes "[Givu]";
+ mes "You have canceled your request.";
+ close;
+
+ }
+ else if(.@reward > 1500)
+ {
+ mes "[Givu]";
+ mes "You have exceeded the maximum capacity.";
+ close;
+ }
+ if(arena_point < .@reward * getarg(2))
+ {
+ mes "[Givu]";
+ mes "You do not have enough arena points.";
+ mes "Please check the total amount of arena points you have.";
+ close;
+ }
+ set arena_point,arena_point - (.@reward * getarg(2));
+ getitem getarg(0),.@reward * getarg(1);
+ mes "[Givu]";
+ mes "Thank you, please come again.";
+ close;
+}