diff options
author | Streusel <advance_me@hotmail.de> | 2013-02-19 10:10:18 -0800 |
---|---|---|
committer | Streusel <advance_me@hotmail.de> | 2013-02-19 10:10:18 -0800 |
commit | 80362e588f45bf245d517334cefa1e84edc24769 (patch) | |
tree | 367e8b88d2752742656221f5b1857f49a32a83b0 /npc/other/arena | |
parent | 1188df9f38e73590ee3004df18d26105a7a1de37 (diff) | |
download | hercules-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.txt | 1845 | ||||
-rw-r--r-- | npc/other/arena/arena_lvl50.txt | 1106 | ||||
-rw-r--r-- | npc/other/arena/arena_lvl60.txt | 1108 | ||||
-rw-r--r-- | npc/other/arena/arena_lvl70.txt | 1086 | ||||
-rw-r--r-- | npc/other/arena/arena_lvl80.txt | 1057 | ||||
-rw-r--r-- | npc/other/arena/arena_party.txt | 1460 | ||||
-rw-r--r-- | npc/other/arena/arena_point.txt | 179 | ||||
-rw-r--r-- | npc/other/arena/arena_room.txt | 1110 |
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; +} |