MazeofOz.txt 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587
  1. //===== rAthena script =======================================
  2. //= Instance: The Maze of Oz.
  3. //===== Description: =========================================
  4. //- [Walkthrough conversion]
  5. //- Part of the Episode 18 main quest.
  6. //===== Changelogs: ==========================================
  7. //= 1.0 First version. [Capuche]
  8. //============================================================
  9. // Main Quest: Step 28.
  10. ra_fild10,179,176,5 script Merchant#ep18_gorge 4_EP18_MERCHANT,{
  11. .@md_name$ = "Oz Labyrinth";
  12. if (ep18_main == 29) {
  13. mes "[Disguised Miriam]";
  14. mes "We are now entering the <FONT SIZE = 14><B>^e5555eMaze of Oz^000000</FONT></B>.";
  15. mes "^e5555ePlease finish your preparations^000000 and come back to me.";
  16. cutin "ep18_merchant.png",2;
  17. erasequest 11717;
  18. setquest 11719;
  19. ep18_main = 30;
  20. close3;
  21. }
  22. if (ep18_main == 30) {
  23. mes "[Disguised Miriam]";
  24. mes "Then let's head to ^e5555e" + .@md_name$ + "^000000";
  25. next;
  26. if (getcharid(1) == 0 || is_party_leader() == false) {
  27. mes "[Disguised Miriam]";
  28. mes "I think it would be a good idea to form a ^ff0000party before enter^000000..";
  29. close;
  30. }
  31. switch( select( "Open the door.", "Enter.", "Quit." ) ) {
  32. case 1:
  33. if (instance_create(.@md_name$) < 0) {
  34. mes "Party: " + getpartyname(getcharid(1)) + "";
  35. mes "Leader: " + strcharinfo(0) + "";
  36. mes "^0000ff" + .@md_name$ + " ^000000- Unknown error";
  37. close;
  38. }
  39. mes "[Disguised Miriam]";
  40. mes "It's better to wait a bit before entering.";
  41. close;
  42. case 2:
  43. switch( instance_enter(.@md_name$) ) {
  44. case IE_OTHER:
  45. mes "[Disguised Miriam]";
  46. mes "^ff0000An unknown error occurred.^000000";
  47. close;
  48. case IE_NOINSTANCE:
  49. mes "[Disguised Miriam]";
  50. mes "Let's wait a bit and try again.";
  51. close;
  52. case IE_NOMEMBER:
  53. mes "[Disguised Miriam]";
  54. mes "^ff0000Only a member of the party can enter the Memorial Dungeon.^000000";
  55. close;
  56. case IE_OK:
  57. mapannounce "ra_fild10", "" + strcharinfo(0) + " of the party, " + getpartyname( getcharid(1) ) + ", is entering " + .@md_name$ + ".",bc_map,"0x00ff99",FW_NORMAL ,12;
  58. end;
  59. }
  60. case 3:
  61. end;
  62. }
  63. }
  64. mes "[Merchant]";
  65. mes "It seems like someone was nearby but disappeared quickly.";
  66. mes "Where did they go?";
  67. cutin "ep18_merchant.png",2;
  68. close3;
  69. OnInit:
  70. questinfo( QTYPE_QUEST2, QMARK_YELLOW, "isbegin_quest(11717) == 1" );
  71. questinfo( QTYPE_QUEST2, QMARK_YELLOW, "isbegin_quest(11719) == 1" );
  72. end;
  73. }
  74. // Step 1
  75. 1@oz,284,164,3 script Rope#outoz 4_ROPEPILE,{
  76. mes "I think we can use the rope to climb up.";
  77. next;
  78. if (select( "Use the rope to climb up.", "Do not use." ) == 2)
  79. end;
  80. warp "ra_fild10",173,176;
  81. end;
  82. }
  83. 1@oz,282,175,3 script Miriam#ozmd1 4_EP18_MIRIAM,{
  84. if ('event_oz != 0)
  85. end;
  86. 'event_oz = 1;
  87. .@miriam1$ = instance_npcname("Miriam#ozmd1");
  88. .@maggi1$ = instance_npcname("Maggi#ozmd1");
  89. .@mark1$ = instance_npcname("Mark#ozmd1");
  90. .@tamarin1$ = instance_npcname("Tamarin#ozmd1");
  91. .@miriam2$ = instance_npcname("Miriam#ozmd2");
  92. setpcblock PCBLOCK_NPC, true;
  93. npctalk "Miriam: This is the entrance to the Labyrinth of Oz.", .@miriam1$;
  94. cutin "ep18_miriam_03.png",2;
  95. sleep2 2000;
  96. npctalk "Miriam: Everyone, please move carefully.", .@miriam1$;
  97. sleep2 2000;
  98. npctalk "Magi: Something hot and dusty...", .@maggi1$;
  99. cutin "4job_maggi_02.PNG",2;
  100. cloakoffnpcself( .@maggi1$ );
  101. cloakoffnpcself( .@mark1$ );
  102. cloakoffnpcself( .@tamarin1$ );
  103. sleep2 2000;
  104. npctalk "Mark: Are you okay?", .@mark1$;
  105. cutin "ep18_mark_01.png",2;
  106. sleep2 2000;
  107. npctalk "Miriam: Lava is flowing right below, so ash is always flying.", .@miriam1$;
  108. cutin "ep18_miriam_03.png",2;
  109. sleep2 2000;
  110. npctalk "Miriam: There may be embers left in the lava ash, so please be careful.", .@miriam1$;
  111. sleep2 2000;
  112. npctalk "Miriam: If you inhale it incorrectly, it will burn your lungs.", .@miriam1$;
  113. sleep2 2000;
  114. npctalk "Miriam: There don't seem to be any monsters around here, so it would be better to move slowly and check the situation again.", .@miriam1$;
  115. sleep2 2000;
  116. npctalk "Miriam: First, please follow the road to the north.", .@miriam1$;
  117. sleep2 2000;
  118. cutin "",255;
  119. setpcblock PCBLOCK_NPC, false;
  120. cloakonnpcself( .@maggi1$ );
  121. cloakonnpcself( .@mark1$ );
  122. cloakonnpcself( .@tamarin1$ );
  123. disablenpc .@miriam1$;
  124. enablenpc .@miriam2$;
  125. end;
  126. }
  127. 1@oz,279,175,5 duplicate(dummy_cloaked_npc) Maggi#ozmd1 4_4JOB_MAGGI
  128. 1@oz,280,175,3 duplicate(dummy_cloaked_npc) Mark#ozmd1 4_EP18_MARK
  129. 1@oz,279,177,3 duplicate(dummy_cloaked_npc) Tamarin#ozmd1 4_EP18_TAMARIN
  130. // Step 2
  131. 1@oz,271,272,3 script(DISABLED) Miriam#ozmd2 4_EP18_MIRIAM,{
  132. if ('event_oz != 1)
  133. end;
  134. 'event_oz = 2;
  135. .@miriam2$ = instance_npcname("Miriam#ozmd2");
  136. 'miriam3$ = instance_npcname("Miriam#ozmd3");
  137. setpcblock PCBLOCK_NPC, true;
  138. npctalk "Miriam: If you cross the bridge in front of you, it's the real Maze of Oz.", .@miriam2$;
  139. sleep2 2000;
  140. npctalk "Miriam: You have to be very careful when crossing the bridge, so let's talk again at the bridge.", .@miriam2$;
  141. sleep2 2000;
  142. setpcblock PCBLOCK_NPC, false;
  143. disablenpc .@miriam2$;
  144. enablenpc 'miriam3$;
  145. end;
  146. OnInstanceInit:
  147. 'event_oz = 0;
  148. 'map_name$ = instance_mapname("1@oz");
  149. end;
  150. }
  151. // Step 3
  152. 1@oz,241,272,3 script(DISABLED) Miriam#ozmd3 EP18_NPC_MIRIAM,{
  153. if ('event_oz != 2)
  154. end;
  155. 'event_oz = 3;
  156. .@maggi3$ = instance_npcname("Maggi#ozmd3");
  157. .@mark3$ = instance_npcname("Mark#ozmd3");
  158. .@tamarin3$ = instance_npcname("Tamarin#ozmd3");
  159. setpcblock PCBLOCK_NPC, true;
  160. npctalk "Miriam: This bridge is dangerous, so it would be better to share the luggage and cross it one at a time.", 'miriam3$;
  161. sleep2 2000;
  162. npctalk "Miriam: Then, I will cross first, so please follow me slowly. It will be helpful not to look under your feet.", 'miriam3$;
  163. sleep2 2000;
  164. npctalk "Tamarin: Wow... I can't see the bottom.", .@tamarin3$;
  165. cloakoffnpcself( .@maggi3$ );
  166. cloakoffnpcself( .@mark3$ );
  167. cloakoffnpcself( .@tamarin3$ );
  168. sleep2 2000;
  169. npctalk "Magi: My legs look really worn out...", .@maggi3$;
  170. sleep2 2000;
  171. npctalk "Mark: Everyone be careful.", .@mark3$;
  172. sleep2 2000;
  173. setpcblock PCBLOCK_NPC, false;
  174. cloakonnpcself( .@maggi3$ );
  175. cloakonnpcself( .@mark3$ );
  176. cloakonnpcself( .@tamarin3$ );
  177. 'miriam3_id = getnpcid(0);
  178. unitwalk 'miriam3_id,231,272, 'miriam3$ + "::OnEvent1";
  179. end;
  180. OnEvent1:
  181. unitwalk 'miriam3_id,211,272, 'miriam3$ + "::OnEvent2";
  182. end;
  183. OnEvent2:
  184. unitwalk 'miriam3_id,191,272, 'miriam3$ + "::OnEvent3";
  185. end;
  186. OnEvent3:
  187. unitwalk 'miriam3_id,171,272, 'miriam3$ + "::OnEvent4";
  188. end;
  189. OnEvent4:
  190. unitwalk 'miriam3_id,157,272, 'miriam3$ + "::OnEvent5";
  191. end;
  192. OnEvent5:
  193. disablenpc 'miriam3$;
  194. enablenpc instance_npcname("Miriam#ozmd4");
  195. enablenpc instance_npcname("Ash Toad#ozmd1");
  196. end;
  197. }
  198. 1@oz,245,272,3 duplicate(dummy_cloaked_npc) Maggi#ozmd3 4_4JOB_MAGGI
  199. 1@oz,244,273,3 duplicate(dummy_cloaked_npc) Mark#ozmd3 4_EP18_MARK
  200. 1@oz,244,270,3 duplicate(dummy_cloaked_npc) Tamarin#ozmd3 4_EP18_TAMARIN
  201. // Step 4 + 5
  202. 1@oz,157,272,3 script(DISABLED) Miriam#ozmd4 4_EP18_MIRIAM,{
  203. if ('event_oz != 3)
  204. end;
  205. 'event_oz = 4;
  206. .@miriam4$ = instance_npcname("Miriam#ozmd4");
  207. .@tamarin4$ = instance_npcname("Tamarin#ozmd4");
  208. .@ashtoad2$ = instance_npcname("Ash Toad#ozmd2");
  209. .@maggi4$ = instance_npcname("Maggi#ozmd4");
  210. .@mark4$ = instance_npcname("Mark#ozmd4");
  211. .@ashtoad3$ = instance_npcname("Ash Toad#ozmd3");
  212. setpcblock PCBLOCK_NPC, true;
  213. mapannounce 'map_name$, "Miriam: Ah!! A monster!!!", bc_map, 0xB7EE,FW_NORMAL,16;
  214. sleep2 1500;
  215. mapannounce 'map_name$, "Miriam: I will take care of this rude guy.", bc_map, 0xB7EE,FW_NORMAL,16;
  216. sleep2 1500;
  217. mapannounce 'map_name$, "Tamarin: It also appeared in the back!!!", bc_map, 0xB7EE,FW_NORMAL,16;
  218. sleep2 2000;
  219. enablenpc .@tamarin4$;
  220. sleep2 500;
  221. enablenpc .@ashtoad2$;
  222. mapannounce 'map_name$, "Magi: Aaaah!!!", bc_map, 0xB7EE,FW_NORMAL,16;
  223. sleep2 500;
  224. enablenpc .@maggi4$;
  225. enablenpc .@mark4$;
  226. mapannounce 'map_name$, "Mark: Please support the front!!!", bc_map, 0xB7EE,FW_NORMAL,16;
  227. sleep2 1000;
  228. 'mob_count_oz = 0;
  229. monster 'map_name$,145,274,"Ash Toad",21295,1, .@miriam4$ + "::OnMobDead"; // EP18_ASH_TOAD
  230. enablenpc .@ashtoad3$;
  231. monster 'map_name$,143,278,"Ash Toad",21295,1, .@miriam4$ + "::OnMobDead"; // EP18_ASH_TOAD
  232. setpcblock PCBLOCK_NPC, false;
  233. end;
  234. // Note: on official the event seems to start right after killing the 2 mobs. The character can't move.
  235. // There is no OnTouch area, a character outside the npc range can't see the dialog. Intended ?
  236. OnMobDead:
  237. 'mob_count_oz++;
  238. if ('mob_count_oz < 2)
  239. end;
  240. if ('event_oz != 4)
  241. end;
  242. 'event_oz = 5;
  243. .@tamarin4$ = instance_npcname("Tamarin#ozmd4");
  244. .@ashtoad2$ = instance_npcname("Ash Toad#ozmd2");
  245. .@maggi4$ = instance_npcname("Maggi#ozmd4");
  246. .@mark4$ = instance_npcname("Mark#ozmd4");
  247. .@ashtoad3$ = instance_npcname("Ash Toad#ozmd3");
  248. .@maram4$ = instance_npcname("Maram#ozmd4");
  249. .@ashtoad1$ = instance_npcname("Ash Toad#ozmd1");
  250. .@tamarin4$ = instance_npcname("Tamarin#ozmd4");
  251. .@miriam4$ = instance_npcname("Miriam#ozmd4");
  252. setpcblock PCBLOCK_NPC, true;
  253. npctalk "Tamarin: I did it!!!", .@tamarin4$;
  254. disablenpc .@ashtoad2$;
  255. sleep2 2000;
  256. npctalk "Magi: This way too!!", .@maggi4$;
  257. disablenpc .@ashtoad3$;
  258. sleep2 2000;
  259. npctalk "Miriam: Huh... It wasn't a great monster, but it would have been dangerous for ordinary merchants.", .@miriam4$;
  260. disablenpc .@ashtoad1$;
  261. sleep2 2000;
  262. cloakoffnpcself( .@maram4$ );
  263. npctalk "Maram : " + strcharinfo(0) + ", are you okay?", .@maram4$;
  264. sleep2 2000;
  265. npctalk "Miriam: You're late! Maram!!!", .@miriam4$;
  266. sleep2 2000;
  267. npctalk "Maram: I was a little late because I met a monster on the way.", .@maram4$;
  268. sleep2 2000;
  269. npctalk "Miriam: There were no monsters on the road we passed earlier.", .@miriam4$;
  270. sleep2 2000;
  271. npctalk "Maram: Really? Where on earth do monsters like this come from?", .@maram4$;
  272. sleep2 2000;
  273. npctalk "Maram: It's a big problem because it's getting harder to move supplies because of these monsters.", .@maram4$;
  274. sleep2 2000;
  275. npctalk "Tamarin: What if you travel by land?", .@tamarin4$;
  276. sleep2 2000;
  277. npctalk "Tamarin: I heard there used to be a bridge across the canyon?", .@tamarin4$;
  278. sleep2 2000;
  279. npctalk "Tamarin: There are still remains left...", .@tamarin4$;
  280. sleep2 2000;
  281. npctalk "Maram: It is said that the bridge above was destroyed after seeing natives crossing it while fleeing an attack by hardliners.", .@maram4$;
  282. sleep2 2000;
  283. npctalk "Maram: The area across the bridge has become uninhabitable due to volcanic ash, so they must have been trying to kill him.", .@maram4$;
  284. sleep2 2000;
  285. npctalk "Maram: It's not difficult to build a bridge again...", .@maram4$;
  286. sleep2 2000;
  287. npctalk "Maram: Since we are in a hiding position, we can't build a bridge or something and advertise that we are hiding here.", .@maram4$;
  288. sleep2 2000;
  289. npctalk "Maram: Although it is dangerous and inconvenient now, we have no choice but to use the Maze of Oz.", .@maram4$;
  290. sleep2 2000;
  291. npctalk "Maram: Because it's in this condition, it may be that it hasn't been discovered until now.", .@maram4$;
  292. sleep2 2000;
  293. npctalk "Miriam: If the Maze of Oz didn't exist...", .@miriam4$;
  294. sleep2 2000;
  295. npctalk "Miriam: It must have been much harder than it is now.", .@miriam4$;
  296. sleep2 2000;
  297. npctalk "Maram: That's right.", .@maram4$;
  298. sleep2 2000;
  299. npctalk "Maram: Now then, shall we walk down the lovely maze of Oz again?", .@maram4$;
  300. sleep2 2000;
  301. npctalk "Miriam: What do you mean...", .@miriam4$;
  302. sleep2 2000;
  303. npctalk "Miriam : " + strcharinfo(0) + " , from now on, just keep going down until you reach a fork in the road.", .@miriam4$;
  304. sleep2 2000;
  305. npctalk "Miriam: It would be nice if monsters didn't appear, but...", .@miriam4$;
  306. sleep2 1000;
  307. cloakonnpcself( .@maram4$ );
  308. setpcblock PCBLOCK_NPC, false;
  309. disablenpc .@maggi4$;
  310. disablenpc .@mark4$;
  311. disablenpc .@tamarin4$;
  312. disablenpc .@miriam4$;
  313. enablenpc instance_npcname("Maram#ozmd5");
  314. end;
  315. }
  316. 1@oz,156,272,5 duplicate(dummy_disabled_npc) Ash Toad#ozmd1 EP18_ASH_TOAD
  317. 1@oz,164,272,3 duplicate(dummy_disabled_npc) Ash Toad#ozmd2 EP18_ASH_TOAD
  318. 1@oz,153,275,5 duplicate(dummy_disabled_npc) Ash Toad#ozmd3 EP18_ASH_TOAD
  319. 1@oz,155,275,3 duplicate(dummy_disabled_npc) Maggi#ozmd4 4_4JOB_MAGGI
  320. 1@oz,156,274,3 duplicate(dummy_disabled_npc) Mark#ozmd4 4_EP18_MARK
  321. 1@oz,161,272,5 duplicate(dummy_disabled_npc) Tamarin#ozmd4 4_EP18_TAMARIN
  322. 1@oz,162,275,3 duplicate(dummy_cloaked_npc) Maram#ozmd4 4_EP18_MARAM
  323. // Step 6
  324. 1@oz,98,172,3 script(DISABLED) Maram#ozmd5 EP18_NPC_MARAM,{
  325. if ('event_oz != 5)
  326. end;
  327. 'event_oz = 6;
  328. .@miriam$ = instance_npcname("Miriam#ozmd5");
  329. .@maram$ = instance_npcname("Maram#ozmd5");
  330. npctalk "Maram: It wasn't like this before, but as the ground below begins to melt, perhaps due to the effects of Mount Tor, more monsters are appearing.", .@maram$;
  331. cloakoffnpcself( "Maggi#ozmd5" );
  332. cloakoffnpcself( "Mark#ozmd5" );
  333. cloakoffnpcself( "Tamarin#ozmd5" );
  334. enablenpc .@miriam$;
  335. setpcblock PCBLOCK_NPC, true;
  336. sleep2 2000;
  337. npctalk "Maram: Especially in areas where the ground has melted a lot, there are many people who try to avoid monsters and end up seriously injured or unable to return due to the lava...", .@maram$;
  338. sleep2 2000;
  339. npctalk "Maram: How long will the maze of Oz endure...", .@maram$;
  340. sleep2 3000;
  341. mapannounce 'map_name$, "??? : Ugh!!!!!", bc_map, 0x00B7EE,FW_NORMAL,16;
  342. sleep2 2000;
  343. npctalk "Maram: What is this voice?!?!?!?!?", .@maram$;
  344. sleep2 2000;
  345. npctalk "Miriam: Imril!!!!", .@miriam$;
  346. sleep2 2000;
  347. setpcblock PCBLOCK_NPC, false;
  348. npctalk "Maram: I think my friend is in trouble! I'll go first, so be careful and follow me!", .@maram$;
  349. cloakonnpcself( "Maggi#ozmd5" );
  350. cloakonnpcself( "Mark#ozmd5" );
  351. cloakonnpcself( "Tamarin#ozmd5" );
  352. unitwalk getnpcid(0),68,165, .@maram$ + "::OnMove";
  353. donpcevent .@miriam$ + "::OnMove";
  354. end;
  355. OnMove:
  356. disablenpc instance_npcname("Maram#ozmd5");
  357. enablenpc instance_npcname("Maram#ozmd7");
  358. enablenpc instance_npcname("Imril#ozmd6");
  359. end;
  360. }
  361. 1@oz,97,167,3 script(DISABLED) Miriam#ozmd5 EP18_NPC_MIRIAM,{
  362. end;
  363. OnMove:
  364. npcwalkto 67,164;
  365. end;
  366. }
  367. 1@oz,92,170,3 duplicate(dummy_cloaked_npc) Maggi#ozmd5 4_4JOB_MAGGI
  368. 1@oz,91,169,3 duplicate(dummy_cloaked_npc) Mark#ozmd5 4_EP18_MARK
  369. 1@oz,89,170,5 duplicate(dummy_cloaked_npc) Tamarin#ozmd5 4_EP18_TAMARIN
  370. // Step 7
  371. 1@oz,68,165,3 script(DISABLED) Maram#ozmd7 4_EP18_MARAM,{
  372. if ('event_oz != 6)
  373. end;
  374. 'event_oz = 7;
  375. npctalk "Maram: Imril are you okay?";
  376. donpcevent instance_npcname("Imril#ozmd6") + "::OnStart";
  377. disablenpc();
  378. end;
  379. }
  380. // Step 8
  381. 1@oz,61,163,5 script(DISABLED) Imril#ozmd6 4_EP18_IMRIL,{
  382. end;
  383. OnStart:
  384. 'mob_count_oz = 0;
  385. .@npc_name$ = instance_npcname("Imril#ozmd6");
  386. monster 'map_name$,64,164,"Ash Toad",21295,1, .@npc_name$ + "::OnMobDead"; // EP18_ASH_TOAD
  387. monster 'map_name$,62,161,"rake hand",21296,1, .@npc_name$ + "::OnMobDead"; // EP18_RAKEHAND
  388. end;
  389. OnMobDead:
  390. 'mob_count_oz++;
  391. if ('mob_count_oz < 2)
  392. end;
  393. if ('event_oz != 7)
  394. end;
  395. 'event_oz = 8;
  396. .@maram8$ = instance_npcname("Maram#ozmd8");
  397. .@imril6$ = instance_npcname("Imril#ozmd6");
  398. .@miriam5$ = instance_npcname("Miriam#ozmd5");
  399. .@maggi6$ = instance_npcname("Maggi#ozmd6");
  400. .@mark6$ = instance_npcname("Mark#ozmd6");
  401. .@tamarin6$ = instance_npcname("Tamarin#ozmd6");
  402. setpcblock PCBLOCK_NPC, true;
  403. cloakoffnpcself( .@maram8$ );
  404. npctalk "Imril: Thank you! I almost died!", .@imril6$;
  405. sleep2 2000;
  406. npctalk "Imril: The atmosphere is unusual, so don't go downstairs.", .@imril6$;
  407. sleep2 2000;
  408. npctalk "Miriam: It seems like I see monsters more often than last time.", .@miriam5$;
  409. sleep2 2000;
  410. npctalk "Imril: And what about those people?", .@imril6$;
  411. cloakoffnpcself( .@maggi6$ );
  412. cloakoffnpcself( .@mark6$ );
  413. cloakoffnpcself( .@tamarin6$ );
  414. sleep2 2000;
  415. npctalk "Maram: They are adventurers who sometimes help my mother with her work.", .@maram8$;
  416. sleep2 2000;
  417. npctalk "Maram: These are trustworthy people, so don't be so wary.", .@maram8$;
  418. sleep2 2000;
  419. npctalk "Imril: I heard you trust people too easily.", .@imril6$;
  420. sleep2 2000;
  421. npctalk "Miriam: Yes.", .@miriam5$;
  422. sleep2 2000;
  423. npctalk "Maram: Anyway, let's escape quickly before more monsters appear.", .@maram8$;
  424. sleep2 2000;
  425. npctalk "Maram: Not much left.", .@maram8$;
  426. sleep2 2000;
  427. npctalk "Maram: It's hard to see, but you can follow the road up here and keep moving!", .@maram8$;
  428. sleep2 2000;
  429. npctalk "Tamarin: I think this is the way!", .@tamarin6$;
  430. cloakonnpcself( .@maggi6$ );
  431. cloakonnpcself( .@mark6$ );
  432. cloakonnpcself( .@tamarin6$ );
  433. cloakonnpcself( .@maram8$ );
  434. enablenpc instance_npcname("#oz_way");
  435. setpcblock PCBLOCK_NPC, false;
  436. end;
  437. }
  438. 1@oz,68,165,3 duplicate(dummy_cloaked_npc) Maram#ozmd8 4_EP18_MARAM
  439. 1@oz,61,168,3 duplicate(dummy_cloaked_npc) Maggi#ozmd6 4_4JOB_MAGGI
  440. 1@oz,65,167,3 duplicate(dummy_cloaked_npc) Mark#ozmd6 4_EP18_MARK
  441. 1@oz,59,171,3 duplicate(dummy_cloaked_npc) Tamarin#ozmd6 4_EP18_TAMARIN
  442. // Step 9
  443. 1@oz,58,256,5 script(DISABLED) #oz_way 1_SHADOW_NPC,3,3,{
  444. end;
  445. OnTouch:
  446. if ('event_oz != 8)
  447. end;
  448. 'event_oz = 9;
  449. enablenpc instance_npcname("Maram#ozmd6");
  450. end;
  451. }
  452. // Step 10 (maybe not required ?)
  453. 1@oz,44,255,5 script(DISABLED) Maram#ozmd6 4_EP18_MARAM,{
  454. if ('event_oz != 9)
  455. end;
  456. 'event_oz = 10;
  457. npctalk "Maram: Go down this road.";
  458. initnpctimer;
  459. end;
  460. OnTimer2000:
  461. disablenpc instance_npcname("Maram#ozmd6");
  462. enablenpc instance_npcname("Maram#ozmd9");
  463. enablenpc instance_npcname("Rope#outoz2");
  464. end;
  465. }
  466. // Step 11
  467. // (Step 29 on the main quest).
  468. 1@oz,21,189,5 script(DISABLED) Maram#ozmd9 4_EP18_MARAM,{
  469. if ('event_oz != 10)
  470. end;
  471. 'event_oz = 11;
  472. .@maram9$ = instance_npcname("Maram#ozmd9");
  473. .@miriam7$ = instance_npcname("Miriam#ozmd7");
  474. .@imril7$ = instance_npcname("Imril#ozmd7");
  475. setpcblock PCBLOCK_NPC, true;
  476. npctalk "Maram: If you climb up the rope in front of here, you can go outside.", .@maram9$;
  477. cloakoffnpcself( .@miriam7$ );
  478. cloakoffnpcself( .@imril7$ );
  479. sleep2 2000;
  480. npctalk "Imril: I'll take some hidden items here, so go up first.", .@imril7$;
  481. sleep2 2000;
  482. npctalk "Miriam: Everyone is very tired. Let's go up quickly.", .@miriam7$;
  483. if (ep18_main == 30) {
  484. erasequest 11719;
  485. setquest 11720;
  486. ep18_main = 31;
  487. }
  488. cloakonnpcself( .@miriam7$ );
  489. cloakonnpcself( .@imril7$ );
  490. setpcblock PCBLOCK_NPC, false;
  491. end;
  492. OnInstanceInit:
  493. questinfo( QTYPE_QUEST2, QMARK_YELLOW, "isbegin_quest(11719) == 1" );
  494. end;
  495. }
  496. 1@oz,22,187,5 duplicate(dummy_cloaked_npc) Miriam#ozmd7 4_EP18_MIRIAM
  497. 1@oz,16,185,3 duplicate(dummy_cloaked_npc) Imril#ozmd7 4_EP18_IMRIL
  498. // Step 12
  499. 1@oz,28,190,3 script(DISABLED) Rope#outoz2 4_ROPEPILE,{
  500. if ('event_oz != 11) {
  501. mes "It can't be used yet. Let's talk to Maram first.";
  502. close;
  503. }
  504. mes "I think I can climb up using the rope.";
  505. next;
  506. if (select( "Use the rope to climb up.", "Do not use." ) == 2)
  507. end;
  508. warp "gw_fild01",275,337;
  509. end;
  510. OnInstanceInit:
  511. questinfo( QTYPE_QUEST2, QMARK_YELLOW, "isbegin_quest(11720) == 1" );
  512. end;
  513. }
  514. // Spawn monsters
  515. 1@oz,22,207,5 script #oz01 1_SHADOW_NPC,4,4,{
  516. end;
  517. OnTouch_:
  518. getmapxy .@map$,.@x,.@y, BL_NPC;
  519. monster 'map_name$,.@x-1,.@y,"Ash Toad",21295,1; // EP18_ASH_TOAD
  520. monster 'map_name$,.@x+1,.@y,"Rake Hand",21296,1; // EP18_RAKEHAND
  521. cloakonnpcself();
  522. end;
  523. }
  524. 1@oz,30,237,5 duplicate(#oz01) #oz02 1_SHADOW_NPC,4,4
  525. 1@oz,44,264,5 duplicate(#oz01) #oz03 1_SHADOW_NPC,4,4
  526. 1@oz,62,247,5 duplicate(#oz01) #oz04 1_SHADOW_NPC,4,4
  527. 1@oz,72,222,5 duplicate(#oz01) #oz05 1_SHADOW_NPC,4,4
  528. 1@oz,79,203,5 duplicate(#oz01) #oz06 1_SHADOW_NPC,4,4
  529. 1@oz,124,261,5 duplicate(#oz01) #oz07 1_SHADOW_NPC,4,4
  530. 1@oz,139,279,5 duplicate(#oz01) #oz08 1_SHADOW_NPC,4,4