MorseCave.txt 46 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224
  1. //===== rAthena Script =======================================
  2. //= Morse Cave
  3. //===== Description: =========================================
  4. //= [Walkthrough Conversion]
  5. //= Morse Cave Instance
  6. //===== Changelogs: ==========================================
  7. //= 1.0 First version. [Capuche]
  8. //============================================================
  9. moro_cav,61,69,3 script Senior Tracker#a1 4_M_JOB_ASSASSIN,{
  10. if (ep14_3_isle == 0) {
  11. mes "[Senior Tracker]";
  12. mes "This is our advance base";
  13. mes "to stop Morocc.";
  14. mes "I'm a tracker";
  15. mes "charged with leading my army";
  16. mes "to Morocc's lair.";
  17. close;
  18. }
  19. switch( checkquest(9319,PLAYTIME) ) {
  20. case -1:
  21. break;
  22. case 0:
  23. case 1:
  24. mes "[Senior Tracker]";
  25. mes "We're nowhere near close";
  26. mes "to stopping Morocc's resurrection.";
  27. mes "I can't sleep at night,";
  28. mes "knowing Morocc is doing everything he can";
  29. mes "to recover his strength.";
  30. mes "Could you come back tomorrow?";
  31. close;
  32. case 2:
  33. break;
  34. }
  35. switch( isbegin_quest(9318) ) {
  36. case 0:
  37. mes "[Senior Tracker]";
  38. mes "This is our advance base";
  39. mes "to stop Morocc.";
  40. mes "I'm a tracker";
  41. mes "charged with leading my army";
  42. mes "to Morocc's lair.";
  43. next;
  44. mes "[Senior Tracker]";
  45. mes "After a painstaking search,";
  46. mes "I've located";
  47. mes "the place with the highest chance of";
  48. mes "hiding Morocc inside.";
  49. next;
  50. mes "[Senior Tracker]";
  51. mes "According to my intel,";
  52. mes "Morocc is hiding out in this place,";
  53. mes "trying to recover";
  54. mes "his full strength.";
  55. next;
  56. mes "[Senior Tracker]";
  57. mes "Even though I've located this place myself,";
  58. mes "I have to admit";
  59. mes "that I'm not equipped to";
  60. mes "explore it by myself.";
  61. mes "I'm a tracker after all, not a fighter.";
  62. next;
  63. mes "[Senior Tracker]";
  64. mes "You look like";
  65. mes "a warrior spoiling for";
  66. mes "a good fight with Morocc,";
  67. mes "and I think";
  68. mes "you have a chance at winning it.";
  69. next;
  70. mes "[Senior Tracker]";
  71. mes "How'd you like to";
  72. mes "enter Morocc's lair,";
  73. mes "defeat him,";
  74. mes "and become the hero";
  75. mes "who saved the world from evil?";
  76. next;
  77. if (getcharid(1) < 1 || is_party_leader() == false) {
  78. mes "[Senior Tracker]";
  79. mes "If you're interested in my proposition,";
  80. mes "let me talk to your party leader.";
  81. mes "We'll discuss more details together.";
  82. close;
  83. }
  84. mes "[Senior Tracker]";
  85. mes "Morocc may not have recovered his full strength, but fighting him still";
  86. break;
  87. case 1:
  88. mes "[Senior Tracker]";
  89. mes "Finally you're back!";
  90. mes "What happened in there?";
  91. next;
  92. mes "- You relay";
  93. mes "your experience in the Red Flower. -";
  94. next;
  95. mes "[Senior Tracker]";
  96. mes "So Morocc got away.";
  97. mes "That's a shame.";
  98. next;
  99. if (checkquest(9318,HUNTING) == 2) {
  100. mes "[Senior Tracker]";
  101. mes "At least";
  102. mes "you wiped out";
  103. mes "his army.";
  104. mes "That's an accomplishment in itself.";
  105. next;
  106. }
  107. mes "[Senior Tracker]";
  108. mes "At least we know";
  109. mes "where he is.";
  110. mes "Could you come back tomorrow";
  111. mes "and help me track";
  112. mes "him down again?";
  113. mes "I'll be waiting here.";
  114. if (checkquest(9318,HUNTING) == 2)
  115. getitem 6684,1; // TokenOfHero
  116. completequest 9318;// Pursuing Hiding Morocc
  117. setquest 9319;// Pursuing Hiding Morocc Continues
  118. close;
  119. case 2:
  120. mes "[Senior Tracker]";
  121. mes "I knew you'd return.";
  122. mes "You look well-rested.";
  123. next;
  124. mes "[Senior Tracker]";
  125. mes "According to my intel,";
  126. mes "Morocc is hiding out in this place,";
  127. mes "recovering his strength.";
  128. next;
  129. mes "[Senior Tracker]";
  130. mes "Fighting Morocc";
  131. break;
  132. }
  133. mes "takes more than a few warriors, no matter how strong they are.";
  134. mes "I recommend you join forces with";
  135. mes "as many comrades as you can find.";
  136. mes "Are you ready to enter the Red Flower";
  137. mes "where Morocc is believed to be hiding?";
  138. if (getcharid(1) > 0 && is_party_leader() == true) {
  139. next;
  140. if (select( "No.", "Yes." ) == 1) {
  141. mes "[Senior Tracker]";
  142. mes "Come back";
  143. mes "if you change your mind.";
  144. close;
  145. }
  146. mes "[Senior Tracker]";
  147. mes "The entrance to the Red Flower";
  148. mes "has opened.";
  149. mes "It will only stay open for a while.";
  150. mes "You'd better use it";
  151. mes "while you can.";
  152. instance_create("Morse's Cave");
  153. }
  154. close;
  155. }
  156. moro_cav,57,69,3 script Red Flower#a1 CLEAR_NPC,{
  157. if (ep14_3_isle == 0) {
  158. mes "[Senior Tracker]";
  159. mes "This is our advance base";
  160. mes "to stop Morocc.";
  161. mes "I'm a tracker";
  162. mes "charged with leading my army";
  163. mes "to Morocc's lair.";
  164. close;
  165. }
  166. if (isbegin_quest(9318) == 1) {
  167. mes "- The Red Flower is closed.";
  168. mes "You cannot enter it yet. -";
  169. close;
  170. }
  171. switch( checkquest(9319,PLAYTIME) ) {
  172. case -1:
  173. break;
  174. case 0:
  175. case 1:
  176. mes "- The Red Flower is closed.";
  177. mes "You cannot enter it yet. -";
  178. close;
  179. case 2:
  180. break;
  181. }
  182. if (select( "Do not enter the Red Flower.", "Enter the Red Flower." ) == 1) {
  183. mes "- You can sense some sinister energy. -";
  184. close;
  185. }
  186. switch( instance_enter("Morse's Cave") ) {
  187. case IE_OTHER:
  188. mes "An unknown error occurred.";
  189. close;
  190. case IE_NOINSTANCE:
  191. mes "The Memorial dungeon Morse's Cave does not exist.";
  192. mes "Your party leader has not yet created the Memorial dungeon.";
  193. close;
  194. case IE_NOMEMBER:
  195. mes "Only party members can enter this Memorial dungeon.";
  196. close;
  197. case IE_OK:
  198. mapannounce 'map_rev$, getpartyname( getcharid(1) ) + " party's " + strcharinfo(0) + " is entering Morse's Cave.", bc_map,0xFF99;
  199. if (isbegin_quest(9319) > 0)
  200. erasequest 9319;// Pursuing Hiding Morocc Continues
  201. if (isbegin_quest(9318) > 0)
  202. erasequest 9318;
  203. setquest 9318;// Pursuing Hiding Morocc
  204. // warp "1@rev",26,181;
  205. end;
  206. }
  207. end;
  208. OnInit:
  209. while(true) {
  210. sleep 15000;
  211. specialeffect 239;
  212. }
  213. end;
  214. }
  215. // Entrance
  216. 1@rev,27,181,0 script #RZ Memorial Start HIDDEN_WARP_NPC,4,4,{
  217. end;
  218. OnTouch:
  219. // note : party member can also trigger this event
  220. disablenpc instance_npcname("#RZ Memorial Start");
  221. 'party_id = getcharid(1);
  222. 'soul_name$ = strcharinfo(0); // name displayed on soul is defined at entrance
  223. setpcblock PCBLOCK_NPC, true;
  224. sleep2 500;
  225. mapannounce 'map_rev$, "Morocc: Who dares to disrupt my sleep?!", bc_map,0xEBFF;
  226. unittalk getcharid(3), "" + strcharinfo(0) + " : We came to the right place!";
  227. sleep2 3000;
  228. unittalk getcharid(3), "" + strcharinfo(0) + " : Wait! There's something ahead of us!";
  229. sleep2 3000;
  230. specialeffect2 EF_LOCKON;
  231. unittalk getcharid(3), "" + strcharinfo(0) + " : Are these hideous monsters Morocc's lackeys?";
  232. donpcevent instance_npcname("#RZ Event_1") + "::OnStart";
  233. setpcblock PCBLOCK_NPC, false;
  234. end;
  235. }
  236. // 1@rev,31,181,0 script #RZ Event_1 HIDDEN_WARP_NPC,5,5,{
  237. 1@rev,1,1,0 script #RZ Event_1 HIDDEN_WARP_NPC,{
  238. end;
  239. OnStart:
  240. enablenpc instance_npcname("#RZ Event_1");
  241. .@label$ = instance_npcname("#RZ Event_1") + "::OnMobDead";
  242. monster 'map_rev$,38,180,"Morocc's Ghoul",3001,1, .@label$; // EP14_MORS_MOB1
  243. monster 'map_rev$,38,181,"Morocc's Ghoul",3001,1, .@label$;
  244. monster 'map_rev$,38,182,"Morocc's Ghoul",3001,1, .@label$;
  245. monster 'map_rev$,54,180,"Morocc's Ghoul",3001,1, .@label$;
  246. monster 'map_rev$,54,181,"Morocc's Ghoul",3001,1, .@label$;
  247. monster 'map_rev$,54,182,"Morocc's Ghoul",3001,1, .@label$;
  248. monster 'map_rev$,70,180,"Morocc's Ghoul",3001,1, .@label$;
  249. monster 'map_rev$,70,181,"Morocc's Ghoul",3001,1, .@label$;
  250. monster 'map_rev$,70,182,"Morocc's Ghoul",3001,1, .@label$;
  251. end;
  252. OnMobDead:
  253. if (mobcount( 'map_rev$, instance_npcname("#RZ Event_1") + "::OnMobDead" ) < 1) {
  254. donpcevent instance_npcname("Grim Reaper Ankou#RZ Event_2") + "::OnStart";
  255. disablenpc instance_npcname("#RZ Event_1");
  256. }
  257. end;
  258. }
  259. 1@rev,64,181,4 script Grim Reaper Ankou#RZ Event_2 3029,{
  260. end;
  261. OnStart:
  262. enablenpc instance_npcname("Grim Reaper Ankou#RZ Event_2");
  263. npctalk "Grim Reaper Ankou: *Chuckle* We meet again!";
  264. sleep 3000;
  265. npctalk "Grim Reaper Ankou: You shouldn't have come. You're interrupting Lord Morocc from recovering his strength.";
  266. sleep 3000;
  267. npctalk "Grim Reaper Ankou: This world resides in his mind.";
  268. sleep 3000;
  269. npctalk "Grim Reaper Ankou: You can't do anything against his will. *Chuckle*";
  270. sleep 3000;
  271. npctalk "Grim Reaper Ankou: Lord Morocc is expecting you. Let me take you to him. *Chuckle*";
  272. sleep 3000;
  273. disablenpc instance_npcname("Grim Reaper Ankou#RZ Event_2");
  274. enablenpc instance_npcname("#RZ Event_3");
  275. sleep 3000;
  276. /* Officials scripts
  277. enablenpc instance_npcname("#RZ Move_30");
  278. enablenpc instance_npcname("#RZ Move_31");
  279. enablenpc instance_npcname("#RZ Move_32");
  280. */
  281. mapwarp 'map_rev$,'map_rev$,103,177; // note: officially players are warped when the next event start - player entering can't access to the current event
  282. end;
  283. }
  284. // Weakened Morocc Room
  285. 1@rev,104,176,0 script #RZ Event_3 HIDDEN_WARP_NPC,4,4,{
  286. end;
  287. OnTouch: // note : party member can also trigger this event
  288. setpcblock PCBLOCK_NPC, true;
  289. disablenpc instance_npcname("#RZ Event_3");
  290. enablenpc instance_npcname("Weakened Morocc#RZ1");
  291. unittalk getcharid(3), "" + strcharinfo(0) + " : Finally, here we are, Morocc.";
  292. sleep2 3000;
  293. unittalk getcharid(3), "" + strcharinfo(0) + " : It's been almost too easy to find you,";
  294. sleep2 3000;
  295. unittalk getcharid(3), "" + strcharinfo(0) + " : but it doesn't matter; you'll die today!";
  296. sleep2 3000;
  297. specialeffect2 EF_LOCKON;
  298. donpcevent instance_npcname("Weakened Morocc#RZ1") + "::OnTalk1";
  299. setpcblock PCBLOCK_NPC, false;
  300. end;
  301. }
  302. 1@rev,111,178,4 script Weakened Morocc#RZ1 1916,{
  303. end;
  304. OnTalk1:
  305. npctalk "Weakened Morocc: I should punish you for disturbing my slumber.";
  306. sleep 3000;
  307. npctalk "Weakened Morocc: Do you really think you can stop me?";
  308. sleep 3000;
  309. npctalk "Weakened Morocc: I'll make you regret ever coming here.";
  310. sleep 3000;
  311. npctalk "Weakened Morocc: I may have not recovered my full strength,";
  312. specialeffect EF_ENERGYCOAT;
  313. sleep 3000;
  314. npctalk "Weakened Morocc: but I still can take down a bunch of you easily.";
  315. sleep 3000;
  316. npctalk "Weakened Morocc: Death is your only escape!";
  317. specialeffect EF_VOLCANO;
  318. sleep 3000;
  319. disablenpc instance_npcname("Weakened Morocc#RZ1");
  320. donpcevent instance_npcname("Weakened Morocc#control") + "::OnStart";
  321. end;
  322. OnTalk2:
  323. enablenpc instance_npcname("Weakened Morocc#RZ1");
  324. npctalk "Weakened Morocc: I'm sorry, but I haven't recovered my full strength.";
  325. sleep 3000;
  326. npctalk "Weakened Morocc: I'll have to leave you to my soldiers for now.";
  327. sleep 3000;
  328. npctalk "Weakened Morocc: Do your worst to get out of my world!";
  329. sleep 3000;
  330. npctalk "Weakened Morocc: In the end, you'll learn the meaning of helplessness in the most painful way!";
  331. sleep 3000;
  332. npctalk "Weakened Morocc: And your souls will be mine! Mwah hah hah!";
  333. sleep 3000;
  334. disablenpc instance_npcname("Weakened Morocc#RZ1");
  335. sleep 3000;
  336. /* Officials scripts use WARPNPC
  337. enablenpc instance_npcname("#RZ Move_1");
  338. enablenpc instance_npcname("#RZ Move_2");
  339. enablenpc instance_npcname("#RZ Move_3");
  340. enablenpc instance_npcname("#RZ Move_4");
  341. */
  342. enablenpc instance_npcname("#Battle_1RZ1");
  343. enablenpc instance_npcname("#Battle_1RZ2");
  344. for ( .@i = 1; .@i <= 12; .@i++ )
  345. enablenpc instance_npcname( "#Pause Effect RZ" + .@i );
  346. for ( .@i = 1; .@i <= 8; .@i++ )
  347. enablenpc instance_npcname( "#RZ Debuff_" + .@i );
  348. getpartymember 'party_id, 1, .@char_id;
  349. getpartymember 'party_id, 2, .@account_id;
  350. for ( .@i = 0; .@i < $@partymembercount; .@i++ ) {
  351. if (isloggedin(.@account_id[.@i],.@char_id[.@i]) == false)
  352. continue;
  353. if (strcharinfo(3,.@char_id[.@i]) == 'map_rev$) {
  354. if ((.@count % 2) == 0) // Right
  355. warp 'map_rev$, rand(33,36), rand(117,118), .@char_id[.@i];
  356. else // Left
  357. warp 'map_rev$, rand(112,114), rand(116,118), .@char_id[.@i];
  358. .@count++;
  359. }
  360. }
  361. end;
  362. }
  363. 1@rev,1,1,0 script Weakened Morocc#control HIDDEN_WARP_NPC,{
  364. end;
  365. OnStart:
  366. enablenpc instance_npcname("Weakened Morocc#control");
  367. monster 'map_rev$,111,178,"Weakened Morocc",2998,1, instance_npcname("Weakened Morocc#control") + "::OnMobDead"; // EP14_MORS_EVENT
  368. end;
  369. OnMobDead:
  370. donpcevent instance_npcname("Weakened Morocc#RZ1") + "::OnTalk2";
  371. disablenpc instance_npcname("Weakened Morocc#control");
  372. end;
  373. }
  374. 1@rev,34,126,4 script Grim Reaper Ankou#RZ Event_3 3029,{ end; }
  375. 1@rev,112,126,4 duplicate(Grim Reaper Ankou#RZ Event_3) Grim Reaper Ankou#RZ Event_4 3029
  376. 1@rev,34,55,4 duplicate(Grim Reaper Ankou#RZ Event_3) Grim Reaper Ankou#RZ Event_5 3029
  377. 1@rev,112,48,4 duplicate(Grim Reaper Ankou#RZ Event_3) Grim Reaper Ankou#RZ Event_6 3029
  378. // Battle 1 - waves, event A - left side
  379. // 1@rev,35,119,0 script #Battle_1RZ1 HIDDEN_WARP_NPC,10,10,{
  380. 1@rev,35,119,0 script #Battle_1RZ1 HIDDEN_WARP_NPC,2,2,{
  381. end;
  382. OnTouch:
  383. if ('status_battle[0] != 0)
  384. setpcblock PCBLOCK_MOVE, true;
  385. else {
  386. 'status_battle[0] = 1;
  387. donpcevent instance_npcname("#RZ Memorial Effect 1") + "::OnStart";
  388. setpcblock PCBLOCK_NPC, true;
  389. mapannounce 'map_rev$, "Morocc: How do you like to be separated from each other and have your bodies and minds bound?", bc_map,0xEBFF;
  390. sleep2 3000;
  391. mapannounce 'map_rev$, "Morocc: You're trespassing! Riff-raff like you have no business in here!", bc_map,0xEBFF;
  392. sleep2 3000;
  393. mapannounce 'map_rev$, "Morocc: Your bodies are mine to control!", bc_map,0xEBFF;
  394. sleep2 3000;
  395. mapannounce 'map_rev$, "Morocc: Your souls are food for my resurrection!", bc_map,0xEBFF;
  396. sleep2 3000;
  397. mapannounce 'map_rev$, "Morocc: My soldiers, tear their bodies asunder and bring their souls to me!", bc_map,0xEBFF;
  398. donpcevent instance_npcname("#morse_cave_wave_1") + "::OnStart";
  399. setpcblock (PCBLOCK_SKILL|PCBLOCK_USEITEM|PCBLOCK_COMMANDS|PCBLOCK_NPCCLICK), false;
  400. }
  401. end;
  402. }
  403. // Event B - right side
  404. // 1@rev,112,126,0 script #Battle_1RZ2 HIDDEN_WARP_NPC,10,10
  405. 1@rev,112,116,0 script #Battle_1RZ2 HIDDEN_WARP_NPC,2,2,{
  406. end;
  407. OnTouch:
  408. setpcblock PCBLOCK_MOVE, true;
  409. if ('status_battle[1] == 0) {
  410. 'status_battle[1] = 1;
  411. donpcevent instance_npcname("#RZ Memorial Effect 2") + "::OnStart";
  412. }
  413. end;
  414. }
  415. 1@rev,1,1,0 script #morse_cave_wave_1 HIDDEN_WARP_NPC,{
  416. end;
  417. OnStart:
  418. enablenpc instance_npcname("#morse_cave_wave_1");
  419. sleep 5000;
  420. callsub( S_Spawn,0 );
  421. sleep 20000;
  422. callsub( S_Spawn,0 );
  423. sleep 20000;
  424. callsub( S_Spawn,0 );
  425. mapannounce 'map_rev$, "Morocc: My soldiers, make them suffer! Feast on their bodies and souls!", bc_map,0xEBFF;
  426. sleep 20000;
  427. callsub( S_Spawn,0 );
  428. sleep 20000;
  429. callsub( S_Spawn,0 );
  430. mapannounce 'map_rev$, "Morocc: Not enough. Make them feel terror!", bc_map,0xEBFF;
  431. sleep 20000;
  432. callsub( S_Spawn,0 );
  433. sleep 20000;
  434. callsub( S_Spawn,0 );
  435. mapannounce 'map_rev$, "Morocc: Resist me! Fight to the death!", bc_map,0xEBFF;
  436. sleep 20000;
  437. callsub( S_Spawn,0 );
  438. sleep 15000;
  439. callsub( S_Spawn,1 );
  440. mapannounce 'map_rev$, "Morocc: Mwa hah hah, I can feel my power returning!", bc_map,0xEBFF;
  441. sleep 10000;
  442. callsub( S_Spawn,2 );
  443. sleep 12000;
  444. .@count[0] = mobcount( 'map_rev$, instance_npcname("#morse_cave_wave_1") + "::OnMobDead" );
  445. .@count[1] = mobcount( 'map_rev$, instance_npcname("#morse_cave_wave_1") + "::OnMobDead2" );
  446. killmonster 'map_rev$, instance_npcname("#morse_cave_wave_1") + "::OnMobDead";
  447. killmonster 'map_rev$, instance_npcname("#morse_cave_wave_1") + "::OnMobDead2";
  448. disablenpc instance_npcname("#Battle_1RZ1");
  449. disablenpc instance_npcname("#Battle_1RZ2");
  450. for ( .@i = 1; .@i <= 12; .@i++ )
  451. donpcevent instance_npcname( "#Pause Effect RZ" + .@i ) + "::OnStop";
  452. sleep 3000;
  453. if (.@count[0] > 19 || .@count[1] > 19) {
  454. .@reaper$[0] = instance_npcname("Grim Reaper Ankou#RZ Event_3");
  455. .@reaper$[1] = instance_npcname("Grim Reaper Ankou#RZ Event_4");
  456. enablenpc .@reaper$[0];
  457. enablenpc .@reaper$[1];
  458. npctalk "You're pathetic.", .@reaper$[0];
  459. npctalk "You're pathetic.", .@reaper$[1];
  460. sleep 3000;
  461. npctalk "Weaklings like you aren't enough food for Lord Morocc", .@reaper$[0];
  462. npctalk "Weaklings like you aren't enough food for Lord Morocc", .@reaper$[1];
  463. sleep 3000;
  464. npctalk "to get the energy he needs for a full recovery.", .@reaper$[0];
  465. npctalk "to get the energy he needs for a full recovery.", .@reaper$[1];
  466. sleep 3000;
  467. npctalk "I'll give you one chance to leave. NOW!", .@reaper$[0];
  468. npctalk "I'll give you one chance to leave. NOW!", .@reaper$[1];
  469. sleep 3000;
  470. disablenpc .@reaper$[0];
  471. disablenpc .@reaper$[1];
  472. sleep 5000;
  473. /* Officials scripts
  474. enablenpc instance_npcname("#RZ Move_5a");// warp to prontera,97,167
  475. enablenpc instance_npcname("#RZ Move_6a");
  476. enablenpc instance_npcname("#RZ Move_7a");
  477. enablenpc instance_npcname("#RZ Move_8a");
  478. enablenpc instance_npcname("#RZ Move_9a");
  479. enablenpc instance_npcname("#RZ Move_10a");
  480. enablenpc instance_npcname("#RZ Move_11a");
  481. enablenpc instance_npcname("#RZ Move_12a");
  482. */
  483. getpartymember 'party_id, 1, .@char_id;
  484. getpartymember 'party_id, 2, .@account_id;
  485. for ( .@i = 0; .@i < $@partymembercount; .@i++ ) {
  486. if (isloggedin(.@account_id[.@i],.@char_id[.@i]) == false)
  487. continue;
  488. if (strcharinfo(3,.@char_id[.@i]) == 'map_rev$)
  489. setpcblock PCBLOCK_MOVE, false, .@account_id[.@i];
  490. }
  491. mapwarp 'map_rev$,"prontera",97,167;
  492. }
  493. else {
  494. mapannounce 'map_rev$, "Morocc: You're more resilient than I thought.", bc_map,0xEBFF;
  495. sleep 2000;
  496. mapannounce 'map_rev$, "Morocc: But enough is enough.", bc_map,0xEBFF;
  497. sleep 5000;
  498. /* Officials scripts
  499. enablenpc instance_npcname("#RZ Move_5");// warp to 1@rev,31,50
  500. enablenpc instance_npcname("#RZ Move_6");
  501. enablenpc instance_npcname("#RZ Move_7");
  502. enablenpc instance_npcname("#RZ Move_8");
  503. enablenpc instance_npcname("#RZ Move_9");
  504. enablenpc instance_npcname("#RZ Move_10");
  505. enablenpc instance_npcname("#RZ Move_11");
  506. enablenpc instance_npcname("#RZ Move_12");
  507. */
  508. for ( .@i = 9; .@i <= 15; .@i++ )
  509. enablenpc instance_npcname( "#RZ Debuff_" + .@i );
  510. enablenpc instance_npcname("#Battle_2RZ1");
  511. for ( .@i = 1; .@i <= 12; .@i++ )
  512. enablenpc instance_npcname( "#Pause Effecto RZ" + .@i );
  513. warpparty 'map_rev$,31,50, 'party_id, 'map_rev$,1,1;
  514. }
  515. for ( .@i = 1; .@i <= 8; .@i++ )
  516. disablenpc instance_npcname( "#RZ Debuff_" + .@i );
  517. disablenpc instance_npcname("#morse_cave_wave_1");
  518. donpcevent instance_npcname("#RZ Memorial Effect 1") + "::OnStop";
  519. donpcevent instance_npcname("#RZ Memorial Effect 2") + "::OnStop";
  520. end;
  521. S_Spawn:
  522. .@additionnal_monster = getarg(0);
  523. .@label$ = instance_npcname("#morse_cave_wave_1") + "::OnMobDead";
  524. monster 'map_rev$,33,128,"Morocc's Ghoul",3001,1, .@label$;// EP14_MORS_MOB1
  525. monster 'map_rev$,42,120,"Morocc's Ghoul",3001,1, .@label$;
  526. monster 'map_rev$,34,111,"Morocc's Ghoul",3001,1, .@label$;
  527. monster 'map_rev$,25,119,"Morocc's Ghoul",3001,1, .@label$;
  528. if (.@additionnal_monster == 1)
  529. monster 'map_rev$,33,111,"Morocc's Archer Skeleton",3003,1, .@label$;// EP14_MORS_MOB3
  530. else if (.@additionnal_monster == 2)
  531. monster 'map_rev$,32,128,"Morocc's Archer Skeleton",3003,1, .@label$;
  532. if ('status_battle[1] == true) {
  533. .@label$ = instance_npcname("#morse_cave_wave_1") + "::OnMobDead2";
  534. monster 'map_rev$,112,126,"Morocc's Ghoul",3001,1, .@label$;// EP14_MORS_MOB1
  535. monster 'map_rev$,120,118,"Morocc's Ghoul",3001,1, .@label$;
  536. monster 'map_rev$,112,109,"Morocc's Ghoul",3001,1, .@label$;
  537. monster 'map_rev$,103,117,"Morocc's Ghoul",3001,1, .@label$;
  538. if (.@additionnal_monster == 1)
  539. monster 'map_rev$,103,118,"Morocc's Archer Skeleton",3003,1, .@label$;// EP14_MORS_MOB3
  540. else if (.@additionnal_monster == 2)
  541. monster 'map_rev$,120,117,"Morocc's Archer Skeleton",3003,1, .@label$;
  542. }
  543. return;
  544. OnMobDead:
  545. OnMobDead2:
  546. end;
  547. }
  548. // display icewall every 30s
  549. 1@rev,33,117,0 script #Pause Effect RZ1 HIDDEN_WARP_NPC,1,1,{
  550. end;
  551. OnTouch:
  552. if (countstr( strnpcinfo(0), "Effecto" ) == 0)
  553. .@num = atoi( replacestr( strnpcinfo(2), "Pause Effect RZ", "" ) );
  554. else
  555. .@num = atoi( replacestr( strnpcinfo(2), "Pause Effecto RZ", "" ) ) + 20;
  556. if ('pause_effect[.@num] == 0) {
  557. 'pause_effect[.@num] = 1;
  558. specialeffect EF_ICEWALL;
  559. initnpctimer;
  560. }
  561. setpcblock PCBLOCK_MOVE, true;
  562. if (.@num < 7 && 'status_battle[0] == 0) {
  563. setpcblock PCBLOCK_NPC, true;
  564. 'status_battle[0] = 1;
  565. donpcevent instance_npcname("#RZ Memorial Effect 1") + "::OnStart";
  566. mapannounce 'map_rev$, "Morocc: How do you like to be separated from each other and have your bodies and minds bound?", bc_map,0xEBFF;
  567. sleep2 3000;
  568. mapannounce 'map_rev$, "Morocc: You're trespassing! Riff-raff like you have no business in here!", bc_map,0xEBFF;
  569. sleep2 3000;
  570. mapannounce 'map_rev$, "Morocc: Your bodies are mine to control!", bc_map,0xEBFF;
  571. sleep2 3000;
  572. mapannounce 'map_rev$, "Morocc: Your souls are food for my resurrection!", bc_map,0xEBFF;
  573. sleep2 3000;
  574. mapannounce 'map_rev$, "Morocc: My soldiers, tear their bodies asunder and bring their souls to me!", bc_map,0xEBFF;
  575. donpcevent instance_npcname("#morse_cave_wave_1") + "::OnStart";
  576. setpcblock (PCBLOCK_SKILL|PCBLOCK_USEITEM|PCBLOCK_COMMANDS|PCBLOCK_NPCCLICK), false;
  577. }
  578. else if (.@num >= 7 && .@num < 13 && 'status_battle[1] == 0) {
  579. 'status_battle[1] = 1;
  580. donpcevent instance_npcname("#RZ Memorial Effect 2") + "::OnStart";
  581. }
  582. else if (.@num >= 21 && .@num < 33 && 'status_battle[2] == 0) {
  583. setpcblock PCBLOCK_NPC, true;
  584. 'status_battle[2] = 1;
  585. donpcevent instance_npcname("#RZ Memorial Effect 3") + "::OnStart";
  586. mapannounce 'map_rev$, "Morocc: This world of mine is evolving.", bc_map,0xEBFF;
  587. sleep2 2000;
  588. mapannounce 'map_rev$, "Morocc: My power is returning!", bc_map,0xEBFF;
  589. sleep2 3000;
  590. mapannounce 'map_rev$, "Morocc: Your bodies and souls are under my command!", bc_map,0xEBFF;
  591. sleep2 3000;
  592. mapannounce 'map_rev$, "Morocc: My soldiers, tear their bodies asunder and bring their souls to me!", bc_map,0xEBFF;
  593. donpcevent instance_npcname("#morse_cave_wave_2") + "::OnStart";
  594. setpcblock (PCBLOCK_SKILL|PCBLOCK_USEITEM|PCBLOCK_COMMANDS|PCBLOCK_NPCCLICK), false;
  595. }
  596. end;
  597. OnTimer30000:
  598. specialeffect EF_ICEWALL;
  599. initnpctimer;
  600. end;
  601. OnStop:
  602. stopnpctimer;
  603. disablenpc instance_npcname( strnpcinfo(0) );
  604. end;
  605. }
  606. 1@rev,36,118,0 duplicate(#Pause Effect RZ1) #Pause Effect RZ2 HIDDEN_WARP_NPC,1,1
  607. 1@rev,36,121,0 duplicate(#Pause Effect RZ1) #Pause Effect RZ3 HIDDEN_WARP_NPC,1,1
  608. 1@rev,34,122,0 duplicate(#Pause Effect RZ1) #Pause Effect RZ4 HIDDEN_WARP_NPC,1,1
  609. 1@rev,31,121,0 duplicate(#Pause Effect RZ1) #Pause Effect RZ5 HIDDEN_WARP_NPC,1,1
  610. 1@rev,31,118,0 duplicate(#Pause Effect RZ1) #Pause Effect RZ6 HIDDEN_WARP_NPC,1,1
  611. // Event B - right side
  612. 1@rev,112,116,0 duplicate(#Pause Effect RZ1) #Pause Effect RZ7 HIDDEN_WARP_NPC,1,1
  613. 1@rev,114,117,0 duplicate(#Pause Effect RZ1) #Pause Effect RZ8 HIDDEN_WARP_NPC,1,1
  614. 1@rev,114,120,0 duplicate(#Pause Effect RZ1) #Pause Effect RZ9 HIDDEN_WARP_NPC,1,1
  615. 1@rev,111,121,0 duplicate(#Pause Effect RZ1) #Pause Effect RZ10 HIDDEN_WARP_NPC,1,1
  616. 1@rev,109,120,0 duplicate(#Pause Effect RZ1) #Pause Effect RZ11 HIDDEN_WARP_NPC,1,1
  617. 1@rev,109,117,0 duplicate(#Pause Effect RZ1) #Pause Effect RZ12 HIDDEN_WARP_NPC,1,1
  618. // Battle 2 - waves
  619. 1@rev,31,50,0 duplicate(#Pause Effect RZ1) #Pause Effecto RZ1 HIDDEN_WARP_NPC,1,1
  620. 1@rev,36,49,0 duplicate(#Pause Effect RZ1) #Pause Effecto RZ2 HIDDEN_WARP_NPC,1,1
  621. 1@rev,37,45,0 duplicate(#Pause Effect RZ1) #Pause Effecto RZ3 HIDDEN_WARP_NPC,1,1
  622. 1@rev,30,45,0 duplicate(#Pause Effect RZ1) #Pause Effecto RZ4 HIDDEN_WARP_NPC,1,1
  623. 1@rev,29,47,0 duplicate(#Pause Effect RZ1) #Pause Effecto RZ5 HIDDEN_WARP_NPC,1,1
  624. 1@rev,33,51,0 duplicate(#Pause Effect RZ1) #Pause Effecto RZ6 HIDDEN_WARP_NPC,1,1
  625. 1@rev,38,49,0 duplicate(#Pause Effect RZ1) #Pause Effecto RZ7 HIDDEN_WARP_NPC,1,1
  626. 1@rev,34,44,0 duplicate(#Pause Effect RZ1) #Pause Effecto RZ8 HIDDEN_WARP_NPC,1,1
  627. 1@rev,32,44,0 duplicate(#Pause Effect RZ1) #Pause Effecto RZ9 HIDDEN_WARP_NPC,1,1
  628. 1@rev,29,49,0 duplicate(#Pause Effect RZ1) #Pause Effecto RZ10 HIDDEN_WARP_NPC,1,1
  629. 1@rev,35,51,0 duplicate(#Pause Effect RZ1) #Pause Effecto RZ11 HIDDEN_WARP_NPC,1,1
  630. 1@rev,37,47,0 duplicate(#Pause Effect RZ1) #Pause Effecto RZ12 HIDDEN_WARP_NPC,1,1
  631. // Event A - left side - debuff
  632. 1@rev,33,111,0 script #RZ Debuff_1 HIDDEN_WARP_NPC,12,4,{
  633. end;
  634. OnTouch:
  635. .@num = atoi( replacestr( strnpcinfo(2), "RZ Debuff_", "" ) );
  636. setpcblock PCBLOCK_MOVE, true;
  637. if (.@num < 5 && 'status_battle[0] == 0) {
  638. setpcblock PCBLOCK_NPC, true;
  639. 'status_battle[0] = 1;
  640. donpcevent instance_npcname("#RZ Memorial Effect 1") + "::OnStart";
  641. mapannounce 'map_rev$, "Morocc: How do you like to be separated from each other and have your bodies and minds bound?", bc_map,0xEBFF;
  642. sleep2 3000;
  643. mapannounce 'map_rev$, "Morocc: You're trespassing! Riff-raff like you have no business in here!", bc_map,0xEBFF;
  644. sleep2 3000;
  645. mapannounce 'map_rev$, "Morocc: Your bodies are mine to control!", bc_map,0xEBFF;
  646. sleep2 3000;
  647. mapannounce 'map_rev$, "Morocc: Your souls are food for my resurrection!", bc_map,0xEBFF;
  648. sleep2 3000;
  649. mapannounce 'map_rev$, "Morocc: My soldiers, tear their bodies asunder and bring their souls to me!", bc_map,0xEBFF;
  650. donpcevent instance_npcname("#morse_cave_wave_1") + "::OnStart";
  651. setpcblock (PCBLOCK_SKILL|PCBLOCK_USEITEM|PCBLOCK_COMMANDS|PCBLOCK_NPCCLICK), false;
  652. }
  653. else if (.@num >= 5 && .@num < 9 && 'status_battle[1] == 0) {
  654. 'status_battle[1] = 1;
  655. donpcevent instance_npcname("#RZ Memorial Effect 2") + "::OnStart";
  656. }
  657. else if (.@num >= 9 && .@num < 16 && 'status_battle[2] == 0) {
  658. setpcblock PCBLOCK_NPC, true;
  659. 'status_battle[2] = 1;
  660. donpcevent instance_npcname("#RZ Memorial Effect 3") + "::OnStart";
  661. mapannounce 'map_rev$, "Morocc: This world of mine is evolving.", bc_map,0xEBFF;
  662. sleep2 2000;
  663. mapannounce 'map_rev$, "Morocc: My power is returning!", bc_map,0xEBFF;
  664. sleep2 3000;
  665. mapannounce 'map_rev$, "Morocc: Your bodies and souls are under my command!", bc_map,0xEBFF;
  666. sleep2 3000;
  667. mapannounce 'map_rev$, "Morocc: My soldiers, tear their bodies asunder and bring their souls to me!", bc_map,0xEBFF;
  668. donpcevent instance_npcname("#morse_cave_wave_2") + "::OnStart";
  669. setpcblock (PCBLOCK_SKILL|PCBLOCK_USEITEM|PCBLOCK_COMMANDS|PCBLOCK_NPCCLICK), false;
  670. }
  671. end;
  672. }
  673. 1@rev,42,124,0 duplicate(#RZ Debuff_1) #RZ Debuff_2 HIDDEN_WARP_NPC,4,8
  674. 1@rev,25,124,0 duplicate(#RZ Debuff_1) #RZ Debuff_3 HIDDEN_WARP_NPC,4,8
  675. 1@rev,33,128,0 duplicate(#RZ Debuff_1) #RZ Debuff_4 HIDDEN_WARP_NPC,4,4
  676. // Event B - right side - debuff
  677. 1@rev,112,110,0 duplicate(#RZ Debuff_1) #RZ Debuff_5 HIDDEN_WARP_NPC,12,4
  678. 1@rev,103,122,0 duplicate(#RZ Debuff_1) #RZ Debuff_6 HIDDEN_WARP_NPC,4,7
  679. 1@rev,120,122,0 duplicate(#RZ Debuff_1) #RZ Debuff_7 HIDDEN_WARP_NPC,4,7
  680. 1@rev,112,126,0 duplicate(#RZ Debuff_1) #RZ Debuff_8 HIDDEN_WARP_NPC,4,3
  681. // Battle 2 - waves - debuff
  682. 1@rev,32,47,0 duplicate(#RZ Debuff_1) #RZ Debuff_9 HIDDEN_WARP_NPC,1,1
  683. 1@rev,24,48,0 duplicate(#RZ Debuff_1) #RZ Debuff_10 HIDDEN_WARP_NPC,3,5
  684. 1@rev,27,56,0 duplicate(#RZ Debuff_1) #RZ Debuff_11 HIDDEN_WARP_NPC,4,4
  685. 1@rev,43,47,0 duplicate(#RZ Debuff_1) #RZ Debuff_12 HIDDEN_WARP_NPC,3,4
  686. 1@rev,41,56,0 duplicate(#RZ Debuff_1) #RZ Debuff_13 HIDDEN_WARP_NPC,4,4
  687. 1@rev,34,56,0 duplicate(#RZ Debuff_1) #RZ Debuff_14 HIDDEN_WARP_NPC,2,3
  688. 1@rev,34,39,0 duplicate(#RZ Debuff_1) #RZ Debuff_15 HIDDEN_WARP_NPC,12,3
  689. // official npcs to block the player from moving
  690. // Event A - left side
  691. // 1@rev,28,125,0 script #RZ Debuff_1 HIDDEN_WARP_NPC,10,10,{
  692. // 1@rev,28,114,0 script #RZ Debuff_2 HIDDEN_WARP_NPC,10,10,{
  693. // 1@rev,39,114,0 script #RZ Debuff_3 HIDDEN_WARP_NPC,10,10,{
  694. // 1@rev,39,125,0 script #RZ Debuff_4 HIDDEN_WARP_NPC,10,10,{
  695. // Event B - right side
  696. // 1@rev,106,123,0 script #RZ Debuff_5 HIDDEN_WARP_NPC,10,10,{
  697. // 1@rev,106,112,0 script #RZ Debuff_6 HIDDEN_WARP_NPC,10,10,{
  698. // 1@rev,117,112,0 script #RZ Debuff_7 HIDDEN_WARP_NPC,10,10,{
  699. // 1@rev,117,123,0 script #RZ Debuff_8 HIDDEN_WARP_NPC,10,10,{
  700. // Battle 2 - waves
  701. // 1@rev,28,53,0 script #RZ Debuff_9 HIDDEN_WARP_NPC,10,10,{
  702. // 1@rev,28,42,0 script #RZ Debuff_10 HIDDEN_WARP_NPC,10,10,{
  703. // 1@rev,39,42,0 script #RZ Debuff_11 HIDDEN_WARP_NPC,10,10,{
  704. // 1@rev,39,53,0 script #RZ Debuff_12 HIDDEN_WARP_NPC,10,10,{
  705. // 1@rev,28,53,0 script #RZ Debuff Recovery_1 HIDDEN_WARP_NPC,10,10,{
  706. // 1@rev,28,42,0 script #RZ Debuff Recovery_2 HIDDEN_WARP_NPC,10,10,{
  707. // 1@rev,39,42,0 script #RZ Debuff Recovery_3 HIDDEN_WARP_NPC,10,10,{
  708. // 1@rev,39,53,0 script #RZ Debuff Recovery_4 HIDDEN_WARP_NPC,10,10,{
  709. // Battle 2 - waves
  710. // 1@rev,34,47,0 script #Battle_2RZ1 HIDDEN_WARP_NPC,10,10,{
  711. 1@rev,34,47,0 script #Battle_2RZ1 HIDDEN_WARP_NPC,3,3,{
  712. end;
  713. OnTouch:
  714. setpcblock PCBLOCK_MOVE, true;
  715. if ('status_battle[2] == 0) {
  716. 'status_battle[2] = 1;
  717. donpcevent instance_npcname("#RZ Memorial Effect 3") + "::OnStart";
  718. mapannounce 'map_rev$, "Morocc: This world of mine is evolving.", bc_map,0xEBFF;
  719. sleep 2000;
  720. mapannounce 'map_rev$, "Morocc: My power is returning!", bc_map,0xEBFF;
  721. sleep 3000;
  722. mapannounce 'map_rev$, "Morocc: Your bodies and souls are under my command!", bc_map,0xEBFF;
  723. sleep 3000;
  724. mapannounce 'map_rev$, "Morocc: My soldiers, tear their bodies asunder and bring their souls to me!", bc_map,0xEBFF;
  725. donpcevent instance_npcname("#morse_cave_wave_2") + "::OnStart";
  726. }
  727. end;
  728. }
  729. 1@rev,1,1,0 script #morse_cave_wave_2 HIDDEN_WARP_NPC,{
  730. end;
  731. OnStart:
  732. enablenpc instance_npcname("#morse_cave_wave_2");
  733. .@label$ = instance_npcname("#morse_cave_wave_2") + "::OnMobDead";
  734. sleep 5000;
  735. callsub( S_Spawn );
  736. monster 'map_rev$,27,53,"Morocc's Archer Skeleton",3003,1, .@label$;// EP14_MORS_MOB3
  737. monster 'map_rev$,27,41,"Morocc's Archer Skeleton",3003,1, .@label$;
  738. mapannounce 'map_rev$, "Morocc: This power! It feels great! Mwah hah hah!", bc_map,0xEBFF;
  739. sleep 25000;
  740. callsub( S_Spawn );
  741. monster 'map_rev$,40,41,"Morocc's Archer Skeleton",3003,1, .@label$;// EP14_MORS_MOB3
  742. monster 'map_rev$,40,54,"Morocc's Archer Skeleton",3003,1, .@label$;
  743. mapannounce 'map_rev$, "Morocc: How do you like losing control of your own body? *Chuckle*", bc_map,0xEBFF;
  744. sleep 25000;
  745. callsub( S_Spawn );
  746. monster 'map_rev$,40,41,"Morocc's Archer Skeleton",3003,1, .@label$;// EP14_MORS_MOB3
  747. monster 'map_rev$,40,54,"Morocc's Archer Skeleton",3003,1, .@label$;
  748. monster 'map_rev$,27,53,"Morocc's Verit",3005,1, .@label$;// EP14_MORS_MOB5
  749. sleep 25000;
  750. callsub( S_Spawn );
  751. monster 'map_rev$,40,41,"Morocc's Archer Skeleton",3003,1, .@label$;// EP14_MORS_MOB3
  752. monster 'map_rev$,40,54,"Morocc's Archer Skeleton",3003,1, .@label$;
  753. monster 'map_rev$,27,53,"Morocc's Verit",3005,1, .@label$;// EP14_MORS_MOB5
  754. mapannounce 'map_rev$, "Morocc: More! I need more energy!", bc_map,0xEBFF;
  755. sleep 25000;
  756. callsub( S_Spawn );
  757. monster 'map_rev$,40,41,"Morocc's Archer Skeleton",3003,1, .@label$;// EP14_MORS_MOB3
  758. monster 'map_rev$,40,54,"Morocc's Archer Skeleton",3003,1, .@label$;
  759. monster 'map_rev$,27,53,"Morocc's Verit",3005,1, .@label$;// EP14_MORS_MOB5
  760. mapannounce 'map_rev$, "Morocc: Mwah hah hah! Fear my army! Struggle harder!", bc_map,0xEBFF;
  761. sleep 25000;
  762. monster 'map_rev$,34,57,"Morocc's Ghoul",3001,1, .@label$;// EP14_MORS_MOB1
  763. monster 'map_rev$,43,48,"Morocc's Ghoul",3001,1, .@label$;
  764. monster 'map_rev$,33,38,"Morocc's Ghoul",3001,1, .@label$;
  765. monster 'map_rev$,40,41,"Morocc's Archer Skeleton",3003,1, .@label$;// EP14_MORS_MOB3
  766. monster 'map_rev$,40,54,"Morocc's Archer Skeleton",3003,1, .@label$;
  767. monster 'map_rev$,27,53,"Morocc's Verit",3005,1, .@label$;// EP14_MORS_MOB5
  768. sleep 25000;
  769. callsub( S_Spawn );
  770. monster 'map_rev$,27,53,"Morocc's Archer Skeleton",3003,1, .@label$;// EP14_MORS_MOB3
  771. monster 'map_rev$,27,41,"Morocc's Archer Skeleton",3003,1, .@label$;
  772. monster 'map_rev$,40,41,"Morocc's Verit",3005,1, .@label$;// EP14_MORS_MOB5
  773. monster 'map_rev$,40,54,"Morocc's Verit",3005,1, .@label$;
  774. mapannounce 'map_rev$, "Morocc: You're pathetic, struggling to survive!", bc_map,0xEBFF;
  775. sleep 15000;
  776. callsub( S_Spawn );
  777. monster 'map_rev$,40,41,"Morocc's Archer Skeleton",3003,1, .@label$;// EP14_MORS_MOB3
  778. monster 'map_rev$,40,54,"Morocc's Archer Skeleton",3003,1, .@label$;
  779. monster 'map_rev$,27,53,"Morocc's Verit",3005,1, .@label$;// EP14_MORS_MOB5
  780. monster 'map_rev$,27,41,"Morocc's Verit",3005,1, .@label$;
  781. sleep 12000;
  782. .@count = mobcount( 'map_rev$, instance_npcname("#morse_cave_wave_2") + "::OnMobDead" );
  783. killmonster 'map_rev$, instance_npcname("#morse_cave_wave_2") + "::OnMobDead";
  784. disablenpc instance_npcname("#Battle_2RZ1");
  785. for ( .@i = 1; .@i <= 12; .@i++ )
  786. donpcevent instance_npcname( "#Pause Effecto RZ" + .@i ) + "::OnStop";
  787. sleep 3000;
  788. if (.@count > 19) {
  789. .@reaper$ = instance_npcname("Grim Reaper Ankou#RZ Event_5");
  790. enablenpc .@reaper$;
  791. npctalk "You're pathetic.", .@reaper$;
  792. sleep 3000;
  793. npctalk "Weaklings like you aren't enough food for Lord Morocc", .@reaper$;
  794. sleep 3000;
  795. npctalk "to get the energy he needs for a full recovery.", .@reaper$;
  796. sleep 3000;
  797. npctalk "I'll give you one chance to leave. NOW!", .@reaper$;
  798. sleep 3000;
  799. disablenpc .@reaper$;
  800. sleep 5000;
  801. /* Officials scripts
  802. enablenpc instance_npcname("#Move_13a");// warp to prontera,97,167
  803. enablenpc instance_npcname("#Move_14a");
  804. enablenpc instance_npcname("#Move_15a");
  805. enablenpc instance_npcname("#Move_16a");
  806. */
  807. getpartymember 'party_id, 1, .@char_id;
  808. getpartymember 'party_id, 2, .@account_id;
  809. for ( .@i = 0; .@i < $@partymembercount; .@i++ ) {
  810. if (isloggedin(.@account_id[.@i],.@char_id[.@i]) == false)
  811. continue;
  812. if (strcharinfo(3,.@char_id[.@i]) == 'map_rev$)
  813. setpcblock PCBLOCK_MOVE, false, .@account_id[.@i];
  814. }
  815. mapwarp 'map_rev$,"prontera",97,167;
  816. }
  817. else {
  818. mapannounce 'map_rev$, "Morocc: I'm surprised you've lasted this long. Thank you for helping me recover most of my strength.", bc_map,0xEBFF;
  819. sleep 4000;
  820. mapannounce 'map_rev$, "Morocc: Good, I feel rejuvenated.", bc_map,0xEBFF;
  821. sleep 3000;
  822. for ( .@i = 9; .@i <= 15; .@i++ )
  823. disablenpc instance_npcname( "#RZ Debuff_" + .@i );
  824. getpartymember 'party_id, 1, .@char_id;
  825. getpartymember 'party_id, 2, .@account_id;
  826. for ( .@i = 0; .@i < $@partymembercount; .@i++ ) {
  827. if (isloggedin(.@account_id[.@i],.@char_id[.@i]) == false)
  828. continue;
  829. if (strcharinfo(3,.@char_id[.@i]) == 'map_rev$)
  830. setpcblock PCBLOCK_MOVE, false, .@account_id[.@i];
  831. }
  832. // enablenpc instance_npcname("#RZ Debuff Recovery_1");
  833. // enablenpc instance_npcname("#RZ Debuff Recovery_2");
  834. // enablenpc instance_npcname("#RZ Debuff Recovery_3");
  835. // enablenpc instance_npcname("#RZ Debuff Recovery_4");
  836. sleep 1000;
  837. // enablenpc instance_npcname("#RZ Move_13");// warp to 1@rev,104,48
  838. // enablenpc instance_npcname("#RZ Move_14");
  839. // enablenpc instance_npcname("#RZ Move_15");
  840. // enablenpc instance_npcname("#RZ Move_16");
  841. enablenpc instance_npcname("#Battle_3RZ1");
  842. mapwarp 'map_rev$,'map_rev$,104,48;
  843. }
  844. disablenpc instance_npcname("#morse_cave_wave_2");
  845. donpcevent instance_npcname("#RZ Memorial Effect 3") + "::OnStop";
  846. end;
  847. S_Spawn:
  848. .@label$ = instance_npcname("#morse_cave_wave_2") + "::OnMobDead";
  849. monster 'map_rev$,34,57,"Morocc's Ghoul",3001,1, .@label$;// EP14_MORS_MOB1
  850. monster 'map_rev$,43,48,"Morocc's Ghoul",3001,1, .@label$;
  851. monster 'map_rev$,33,38,"Morocc's Ghoul",3001,1, .@label$;
  852. monster 'map_rev$,24,48,"Morocc's Ghoul",3001,1, .@label$;
  853. return;
  854. OnMobDead:
  855. end;
  856. }
  857. // Display EF_CURSEATTACK effect overhead 'Soul' monster
  858. // Event A - left side
  859. 1@rev,34,120,0 script #RZ Memorial Effect 1 HIDDEN_WARP_NPC,{
  860. end;
  861. OnStart:
  862. .@npc_name$ = instance_npcname( strnpcinfo(0) );
  863. enablenpc .@npc_name$;
  864. getmapxy .@map$,.@x,.@y, BL_NPC;
  865. monster 'map_rev$,.@x,.@y,('soul_name$ + "'s Soul"),3007,1, .@npc_name$ + "::OnStop"; // EP14_MORS_DUMMY
  866. initnpctimer;
  867. specialeffect EF_STORMGUST;
  868. specialeffect EF_CURSEATTACK;
  869. end;
  870. OnTimer2000:
  871. specialeffect EF_CURSEATTACK;
  872. initnpctimer;
  873. end;
  874. OnStop:
  875. stopnpctimer;
  876. killmonster 'map_rev$, instance_npcname( strnpcinfo(0) ) + "::OnStop";
  877. disablenpc instance_npcname( strnpcinfo(0) );
  878. end;
  879. }
  880. // Event B - right side
  881. 1@rev,112,118,0 duplicate(#RZ Memorial Effect 1) #RZ Memorial Effect 2 HIDDEN_WARP_NPC
  882. // Battle 2 - waves
  883. 1@rev,34,48,0 duplicate(#RZ Memorial Effect 1) #RZ Memorial Effect 3 HIDDEN_WARP_NPC
  884. // official range
  885. // 1@rev,34,120,0 script #RZ Memorial Effect 1 HIDDEN_WARP_NPC,4,4,{
  886. // 1@rev,112,118,0 duplicate(#RZ Memorial Effect 1) #RZ Memorial Effect 2 HIDDEN_WARP_NPC,4,4
  887. // 1@rev,34,48,0 duplicate(#RZ Memorial Effect 1) #RZ Memorial Effect 3 HIDDEN_WARP_NPC,4,4
  888. // Battle 3
  889. 1@rev,112,48,4 script Morocc Necromancer#RZ1 4_GHOST_STAND,{ end; }
  890. 1@rev,104,47,0 script #Battle_3RZ1 HIDDEN_WARP_NPC,5,5,{
  891. end;
  892. OnTouch:
  893. disablenpc instance_npcname("#Battle_3RZ1");
  894. setpcblock PCBLOCK_NPC, true;
  895. mapannounce 'map_rev$, "Morocc: I can't let you go unscathed!", bc_map,0xEBFF;
  896. sleep2 3000;
  897. mapannounce 'map_rev$, "Morocc: Hah hah, my Necromancer. I'll leave them to you.", bc_map,0xEBFF;
  898. sleep2 3000;
  899. mapannounce 'map_rev$, "Morocc: My loyal soldier, I'll trust you with their deaths!", bc_map,0xEBFF;
  900. sleep2 3000;
  901. .@necromancer$ = instance_npcname("Morocc Necromancer#RZ1");
  902. enablenpc .@necromancer$;
  903. sleep2 3000;
  904. specialeffect EF_TWOHANDQUICKEN,AREA, .@necromancer$;
  905. npctalk "Morocc Necromancer: As you wish, My Lord!", .@necromancer$;
  906. sleep2 3000;
  907. npctalk "Morocc Necromancer: *Chuckle* You still have no idea, do you?", .@necromancer$;
  908. sleep2 3000;
  909. npctalk "Morocc Necromancer: The energy you generated to protect me while I was hiding within your soul", .@necromancer$;
  910. sleep2 3000;
  911. npctalk "Morocc Necromancer: has been converted to healing energy for Lord Morocc the moment you entered this world of his!", .@necromancer$;
  912. sleep2 3000;
  913. npctalk "Morocc Necromancer: *Chuckle* Your stupidity was a blessing for us. We don't need you anymore. DIE!", .@necromancer$;
  914. specialeffect EF_BEGINSPELL2,AREA, .@necromancer$;
  915. sleep2 3000;
  916. disablenpc .@necromancer$;
  917. donpcevent instance_npcname("#morse_cave_3") + "::OnStart";
  918. setpcblock PCBLOCK_NPC, false;
  919. end;
  920. }
  921. 1@rev,1,1,0 script #morse_cave_3 HIDDEN_WARP_NPC,{
  922. end;
  923. OnStart:
  924. enablenpc instance_npcname("#morse_cave_3");
  925. monster 'map_rev$,112,48,"Morocc Necromancer",2999,1, instance_npcname("#morse_cave_3") + "::OnMobDead";// EP14_MORS_BOSSA
  926. end;
  927. OnMobDead:
  928. .@necromancer$ = instance_npcname("Morocc Necromancer#RZ1");
  929. enablenpc .@necromancer$;
  930. sleep 3000;
  931. npctalk "Morocc Necromancer: You're stronger than you look.", .@necromancer$;
  932. sleep 3000;
  933. npctalk "Morocc Necromancer: *Giggle* I'll show you what I'm truly capable of.", .@necromancer$;
  934. sleep 3000;
  935. npctalk "Morocc Necromancer: Beg me for your lives!", .@necromancer$;
  936. sleep 3000;
  937. npctalk "Morocc Necromancer: *Giggle*", .@necromancer$;
  938. sleep 3000;
  939. disablenpc .@necromancer$;
  940. monster 'map_rev$,112,48,"Morocc Necromancer",3000,1, instance_npcname("#morse_cave_3") + "::OnMobDead2";// EP14_MORS_BOSSB
  941. 'boss_id = $@mobid[0];
  942. donpcevent instance_npcname("#morse_cave_wave_3") + "::OnStart";
  943. donpcevent instance_npcname("#morse_cave_boss_talk") + "::OnStart";
  944. end;
  945. OnMobDead2:
  946. donpcevent instance_npcname("#morse_cave_wave_3") + "::OnStop";
  947. donpcevent instance_npcname("#morse_cave_boss_talk") + "::OnStop";
  948. donpcevent instance_npcname("#morse_cave_wave_3_mobs") + "::OnStop";
  949. sleep 3000;
  950. .@reaper$ = instance_npcname("Grim Reaper Ankou#RZ Event_6");
  951. enablenpc .@reaper$;
  952. sleep 1000;
  953. npctalk "Grim Reaper Ankou: Sigh, Necromancer, why did you have to die so quickly?", .@reaper$;
  954. sleep 3000;
  955. npctalk "Grim Reaper Ankou: Don't be so happy!", .@reaper$;
  956. sleep 3000;
  957. npctalk "Grim Reaper Ankou: Now that Lord Morocc has fully recovered his strength, you're as good as dead!", .@reaper$;
  958. sleep 3000;
  959. npctalk "Grim Reaper Ankou: We'll meet again. *Chuckle*", .@reaper$;
  960. sleep 2000;
  961. hideonnpc .@reaper$;
  962. enablenpc instance_npcname("#RZ Move_17a");
  963. specialeffect EF_THUNDERSTORM,AREA, .@reaper$; // officially Morocc Necromancer#RZ1 display the effects but they have the same coordinates
  964. sleep 1000;
  965. specialeffect EF_LORD,AREA, .@reaper$;
  966. specialeffect EF_THUNDERSTORM,AREA, .@reaper$;
  967. sleep 1000;
  968. specialeffect EF_LORD,AREA, .@reaper$;
  969. end;
  970. }
  971. 1@rev,1,1,0 script #morse_cave_wave_3 HIDDEN_WARP_NPC,{
  972. end;
  973. OnStart:
  974. enablenpc instance_npcname("#morse_cave_wave_3");
  975. initnpctimer;
  976. end;
  977. OnTimer7000:
  978. stopnpctimer;
  979. donpcevent instance_npcname("#morse_cave_wave_3_mobs") + "::OnStart";
  980. end;
  981. OnStop:
  982. disablenpc instance_npcname("#morse_cave_wave_3");
  983. stopnpctimer;
  984. end;
  985. }
  986. 1@rev,1,1,0 script #morse_cave_boss_talk HIDDEN_WARP_NPC,{
  987. end;
  988. OnStart:
  989. initnpctimer;
  990. end;
  991. OnTimer8000:
  992. .@r = rand(4);
  993. if (.@r == 0)
  994. unittalk 'boss_id, "Morocc Necromancer: We the soldiers of Morocc know no mercy!";
  995. else if (.@r == 1)
  996. unittalk 'boss_id, "Morocc Necromancer: You're doing good so far. *Giggle*";
  997. else if (.@r == 2)
  998. unittalk 'boss_id, "Morocc Necromancer: I see you're weakening, though.";
  999. else
  1000. unittalk 'boss_id, "Morocc Necromancer: Feel the power of his army!";
  1001. initnpctimer;
  1002. end;
  1003. OnTimer25000:
  1004. initnpctimer;
  1005. end;
  1006. OnStop:
  1007. disablenpc instance_npcname("#morse_cave_boss_talk");
  1008. stopnpctimer;
  1009. end;
  1010. }
  1011. 1@rev,1,1,0 script #morse_cave_wave_3_mobs HIDDEN_WARP_NPC,{
  1012. end;
  1013. OnStart:
  1014. enablenpc instance_npcname("#morse_cave_wave_3_mobs");
  1015. initnpctimer;
  1016. setarray 'coord[0],
  1017. 112,57,
  1018. 121,47,
  1019. 112,38,
  1020. 120,54,
  1021. 119,40,
  1022. 104,40,
  1023. 102,48;
  1024. 'num_coord = getarraysize('coord) / 2;
  1025. end;
  1026. OnTimer25000:
  1027. for ( .@i = 0; .@i < 'num_coord; .@i++ ) {
  1028. .@last = ( 'num_coord - .@i - 1 ) * 2;
  1029. .@r = rand( 'num_coord - .@i ) * 2;
  1030. setarray .@xy[0], 'coord[.@r], 'coord[.@r+1];
  1031. setarray 'coord[.@r], 'coord[.@last], 'coord[.@last+1];
  1032. setarray 'coord[.@last], .@xy[0], .@xy[1];
  1033. }
  1034. .@label$ = instance_npcname("#morse_cave_wave_3_mobs") + "::OnMobDead";
  1035. if (mobcount( 'map_rev$, .@label$ ) < 100) { // stop to 100 mobs for performance
  1036. monster 'map_rev$,'coord[0],'coord[1], "Morocc's Ghoul", 3001,1, .@label$; // EP14_MORS_MOB1
  1037. monster 'map_rev$,'coord[2],'coord[3], "Morocc's Ghoul", 3001,1, .@label$; // EP14_MORS_MOB1
  1038. monster 'map_rev$,'coord[4],'coord[5], "Morocc's Ghoul", 3001,1, .@label$; // EP14_MORS_MOB1
  1039. monster 'map_rev$,'coord[6],'coord[7], "Morocc's Osiris", 3002,1, .@label$; // EP14_MORS_MOB2
  1040. monster 'map_rev$,'coord[8],'coord[9], "Morocc's Archer Skeleton", 3003,1, .@label$; // EP14_MORS_MOB3
  1041. monster 'map_rev$,'coord[10],'coord[11], "Morocc's Wraith", 3004,1, .@label$; // EP14_MORS_MOB4
  1042. if (rand(100) < 20)
  1043. monster 'map_rev$,'coord[12],'coord[12], "Morocc's Archer Skeleton", 3003,1, .@label$; // EP14_MORS_MOB3
  1044. else
  1045. monster 'map_rev$,'coord[12],'coord[13], "Morocc's Verit", 3005,1, .@label$; // EP14_MORS_MOB5
  1046. // inaccurate
  1047. areamonster 'map_rev$,102,38,121,57, "#Poison", 3008,1, .@label$; // EP14_MORS_HIDDEN
  1048. }
  1049. initnpctimer;
  1050. end;
  1051. OnStop:
  1052. stopnpctimer;
  1053. killmonster 'map_rev$, instance_npcname("#morse_cave_wave_3_mobs") + "::OnMobDead";
  1054. disablenpc instance_npcname("#morse_cave_wave_3_mobs");
  1055. end;
  1056. OnMobDead:
  1057. end;
  1058. }
  1059. // 1@rev,106,57,0 script #Battle_3RZ2 HIDDEN_WARP_NPC,{
  1060. // 1@rev,120,54,0 script #Battle_3RZ3 HIDDEN_WARP_NPC,{
  1061. // 1@rev,120,55,0 script #Battle_3RZ4 HIDDEN_WARP_NPC,{
  1062. // 1@rev,120,56,0 script #Battle_3RZ5 HIDDEN_WARP_NPC,{
  1063. // 1@rev,120,57,0 script #Battle_3RZ6 HIDDEN_WARP_NPC,{
  1064. // 1@rev,120,58,0 script #Battle_3RZ7 HIDDEN_WARP_NPC,{
  1065. 1@rev,112,56,3 script #RZ Move_17a PORTAL,{
  1066. mes "Do you want to exit through the portal?";
  1067. next;
  1068. if (select( "No.", "Yes." ) == 2) {
  1069. mes "- Teleporting... -";
  1070. close2;
  1071. warp "moro_cav",59,63;
  1072. end;
  1073. }
  1074. end;
  1075. OnInstanceInit:
  1076. 'map_rev$ = instance_mapname("1@rev");
  1077. 'status_battle[0] = 0;
  1078. 'status_battle[1] = 0;
  1079. 'status_battle[2] = 0;
  1080. // Entrance
  1081. disablenpc instance_npcname("#RZ Event_1");
  1082. disablenpc instance_npcname("Grim Reaper Ankou#RZ Event_2");
  1083. // Weakened Morocc
  1084. disablenpc instance_npcname("#RZ Event_3");
  1085. disablenpc instance_npcname("Weakened Morocc#RZ1");
  1086. disablenpc instance_npcname("Weakened Morocc#control");
  1087. // Battle 1
  1088. disablenpc instance_npcname("Grim Reaper Ankou#RZ Event_3");
  1089. disablenpc instance_npcname("Grim Reaper Ankou#RZ Event_4");
  1090. disablenpc instance_npcname("#Battle_1RZ1");
  1091. disablenpc instance_npcname("#Battle_1RZ2");
  1092. disablenpc instance_npcname("#RZ Memorial Effect 1");
  1093. disablenpc instance_npcname("#RZ Memorial Effect 2");
  1094. disablenpc instance_npcname("#morse_cave_wave_1");
  1095. for ( .@i = 1; .@i <= 12; .@i++ )
  1096. disablenpc instance_npcname( "#Pause Effect RZ" + .@i );
  1097. // Battle 2
  1098. disablenpc instance_npcname("Grim Reaper Ankou#RZ Event_5");
  1099. disablenpc instance_npcname("#RZ Memorial Effect 3");
  1100. disablenpc instance_npcname("#morse_cave_wave_2");
  1101. disablenpc instance_npcname("#Battle_2RZ1");
  1102. for ( .@i = 1; .@i <= 12; .@i++ )
  1103. disablenpc instance_npcname( "#Pause Effecto RZ" + .@i );
  1104. // Battle 3
  1105. disablenpc instance_npcname("#morse_cave_3");
  1106. disablenpc instance_npcname("#morse_cave_wave_3");
  1107. disablenpc instance_npcname("Grim Reaper Ankou#RZ Event_6");
  1108. disablenpc instance_npcname("#Battle_3RZ1");
  1109. disablenpc instance_npcname("Morocc Necromancer#RZ1");
  1110. disablenpc instance_npcname("#RZ Move_17a");
  1111. // Debuff - Battle 1 & 2
  1112. for ( .@i = 1; .@i <= 15; .@i++ )
  1113. disablenpc instance_npcname( "#RZ Debuff_" + .@i );
  1114. end;
  1115. }
  1116. /*
  1117. // Original warps
  1118. // Entrance -> Weakened Morocc
  1119. 1@rev,63,181,0 warp2 #RZ Move_30 10,10,1@rev,103,177
  1120. 1@rev,47,181,0 warp2 #RZ Move_31 10,10,1@rev,103,177
  1121. 1@rev,31,181,0 warp2 #RZ Move_32 10,10,1@rev,103,177
  1122. // Weakened Morocc -> Battle Wave 1a
  1123. 1@rev,106,172,0 warp2 #RZ Move_1 10,10,1@rev,33,117
  1124. 1@rev,106,172,0 warp2 #RZ Move_2 10,10,1@rev,33,117
  1125. 1@rev,117,172,0 warp2 #RZ Move_3 10,10,1@rev,33,117
  1126. 1@rev,117,183,0 warp2 #RZ Move_4 10,10,1@rev,33,117
  1127. // Weakened Morocc -> Battle Wave 1b
  1128. 1@rev,106,172,0 warp2 #RZ Move_1 10,10,1@rev,112,116
  1129. 1@rev,106,172,0 warp2 #RZ Move_2 10,10,1@rev,112,116
  1130. 1@rev,117,172,0 warp2 #RZ Move_3 10,10,1@rev,112,116
  1131. 1@rev,117,183,0 warp2 #RZ Move_4 10,10,1@rev,112,116
  1132. // Battle Wave 1a -> Battle Wave 2
  1133. 1@rev,28,125,0 warp2 #RZ Move_5 10,10,1@rev,31,50
  1134. 1@rev,28,114,0 warp2 #RZ Move_6 10,10,1@rev,31,50
  1135. 1@rev,39,114,0 warp2 #RZ Move_7 10,10,1@rev,31,50
  1136. 1@rev,39,125,0 warp2 #RZ Move_8 10,10,1@rev,31,50
  1137. // Battle Wave 1a -> Prontera
  1138. 1@rev,28,125,0 warp2 #RZ Move_5a 10,10,prontera,97,167
  1139. 1@rev,28,114,0 warp2 #RZ Move_6a 10,10,prontera,97,167
  1140. 1@rev,39,114,0 warp2 #RZ Move_7a 10,10,prontera,97,167
  1141. 1@rev,39,125,0 warp2 #RZ Move_8a 10,10,prontera,97,167
  1142. // Battle Wave 1b -> Battle Wave 2
  1143. 1@rev,106,123,0 warp2 #RZ Move_9 10,10,1@rev,31,50
  1144. 1@rev,106,112,0 warp2 #RZ Move_10 10,10,1@rev,31,50
  1145. 1@rev,117,112,0 warp2 #RZ Move_11 10,10,1@rev,31,50
  1146. 1@rev,117,123,0 warp2 #RZ Move_12 10,10,1@rev,31,50
  1147. // Battle Wave 1b -> Prontera
  1148. 1@rev,106,123,0 warp2 #RZ Move_9a 10,10,prontera,97,167
  1149. 1@rev,106,112,0 warp2 #RZ Move_10a 10,10,prontera,97,167
  1150. 1@rev,117,112,0 warp2 #RZ Move_11a 10,10,prontera,97,167
  1151. 1@rev,117,123,0 warp2 #RZ Move_12a 10,10,prontera,97,167
  1152. // Battle Wave 2 -> Final Battle
  1153. 1@rev,28,53,0 warp2 #RZ Move_13 10,10,1@rev,104,48
  1154. 1@rev,28,42,0 warp2 #RZ Move_14 10,10,1@rev,104,48
  1155. 1@rev,39,42,0 warp2 #RZ Move_15 10,10,1@rev,104,48
  1156. 1@rev,39,53,0 warp2 #RZ Move_16 10,10,1@rev,104,48
  1157. // Battle Wave 2 -> Prontera
  1158. 1@rev,28,53,0 warp2 #RZ Move_13a 10,10,prontera,97,167
  1159. 1@rev,28,42,0 warp2 #RZ Move_14a 10,10,prontera,97,167
  1160. 1@rev,39,42,0 warp2 #RZ Move_15a 10,10,prontera,97,167
  1161. 1@rev,39,53,0 warp2 #RZ Move_16a 10,10,prontera,97,167
  1162. */