SealedOs.txt 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615
  1. //===== rAthena Script =======================================
  2. //= Sealed OS
  3. //===== Description: =========================================
  4. //= [Walkthrough Conversion]
  5. //= Episode 17.1 - Sealed OS
  6. //===== Changelog: ===========================================
  7. //= 1.0 Initial release [crazyarashi]
  8. //= 1.1 Optimizations and cleanup [Everade]
  9. //============================================================
  10. 1@os_b,1,1,0 script #171_sealedos_control -1,{
  11. end;
  12. OnInstanceInit:
  13. 'map$ = instance_mapname("1@os_b");
  14. 'seal_os = 'lock = 0;
  15. hideonnpc instance_npcname("Dien#171_os_0");
  16. hideonnpc instance_npcname("Cotnes#171_os_0");
  17. hideonnpc instance_npcname("Dien#171_os_1");
  18. hideonnpc instance_npcname("Ridsh#171_os_1");
  19. hideonnpc instance_npcname("Cotnes#171_os_1");
  20. disablenpc instance_npcname("Suspicious Device#171_os");
  21. disablenpc instance_npcname("Thick Wire#171_os_0");
  22. disablenpc instance_npcname("Thick Wire#171_os_1");
  23. disablenpc instance_npcname("Thick Wire#171_os_2");
  24. disablenpc instance_npcname("Dien#171_os_2");
  25. disablenpc instance_npcname("Cotnes#171_os_2");
  26. disablenpc instance_npcname("Dien#171_os_3");
  27. hideonnpc instance_npcname("Est#171_os_0");
  28. hideonnpc instance_npcname("Cotnes#171_os_3");
  29. hideonnpc instance_npcname("Dien#171_os_4");
  30. disablenpc instance_npcname("Ridsh#171_os_2");
  31. disablenpc instance_npcname("#171_sos_dummy_6");
  32. disablenpc instance_npcname("#171_sos_dummy_7");
  33. disablenpc instance_npcname("Ridsh#171_os_3");
  34. disablenpc instance_npcname("Est#171_os_1");
  35. disablenpc instance_npcname("Cotnes#171_os_4");
  36. disablenpc instance_npcname("Dien#171_os_5");
  37. end;
  38. OnEvent01:
  39. disablenpc instance_npcname("Ridsh#171_os_0");
  40. disablenpc instance_npcname("Dien#171_os_0");
  41. disablenpc instance_npcname("Cotnes#171_os_0");
  42. disablenpc instance_npcname("#171_os_warp_1");
  43. disablenpc instance_npcname("#171_os_warp_2");
  44. hideoffnpc instance_npcname("Dien#171_os_1");
  45. hideoffnpc instance_npcname("Ridsh#171_os_1");
  46. hideoffnpc instance_npcname("Cotnes#171_os_1");
  47. donpcevent instance_npcname("#171_sealedos_mob") + "::OnSummon00";
  48. end;
  49. OnEvent02:
  50. for (.@i = 0; .@i < 6; .@i++)
  51. disablenpc instance_npcname("#171_sos_dummy_" +.@i);
  52. disablenpc instance_npcname("Suspicious Device#171_os");
  53. disablenpc instance_npcname("Dien#171_os_1");
  54. disablenpc instance_npcname("Ridsh#171_os_1");
  55. disablenpc instance_npcname("Cotnes#171_os_1");
  56. disablenpc instance_npcname("#171_os_warp_0");
  57. enablenpc instance_npcname("Thick Wire#171_os_0");
  58. enablenpc instance_npcname("Thick Wire#171_os_1");
  59. enablenpc instance_npcname("Thick Wire#171_os_2");
  60. enablenpc instance_npcname("Dien#171_os_2");
  61. end;
  62. OnEvent03:
  63. disablenpc instance_npcname("Dien#171_os_2");
  64. enablenpc instance_npcname("Cotnes#171_os_2");
  65. enablenpc instance_npcname("Dien#171_os_3");
  66. enablenpc instance_npcname("Ridsh#171_os_2");
  67. end;
  68. OnEvent04:
  69. 'unlocked = 1;
  70. disablenpc instance_npcname("#171_os_warp_3");
  71. enablenpc instance_npcname("Ridsh#171_os_2");
  72. enablenpc instance_npcname("#171_sos_dummy_6");
  73. enablenpc instance_npcname("#171_sos_dummy_7");
  74. end;
  75. OnEvent05:
  76. disablenpc instance_npcname("Ridsh#171_os_2");
  77. disablenpc instance_npcname("Est#171_os_0");
  78. disablenpc instance_npcname("Cotnes#171_os_3");
  79. disablenpc instance_npcname("Dien#171_os_4");
  80. disablenpc instance_npcname("#171_os_warp_5");
  81. enablenpc instance_npcname("Ridsh#171_os_3");
  82. enablenpc instance_npcname("Est#171_os_1");
  83. enablenpc instance_npcname("Cotnes#171_os_4");
  84. enablenpc instance_npcname("Dien#171_os_5");
  85. end;
  86. }
  87. 1@os_b,188,45,5 script Ridsh#171_os_0 4_F_LEEDSH,{
  88. if (!is_party_leader())
  89. end;
  90. .@dien$ = instance_npcname("Dien#171_os_0");
  91. .@cot$ = instance_npcname("Cotnes#171_os_0");
  92. cutin "ep162_rds01",2;
  93. mes "[Ridsh]";
  94. mes "Oh?";
  95. mes "What are you doing here?";
  96. npctalk "Ridsh : Oh? What are you doing here.";
  97. next;
  98. cutin "ep162_rds05",2;
  99. mes "[Ridsh]";
  100. mes "We're in trouble~~";
  101. mes "We can't have anyone know we're here~~";
  102. npctalk "Ridsh : We're in trouble~~ We can't have anyone know we're here~~";
  103. next;
  104. hideoffnpc .@dien$;
  105. hideoffnpc .@cot$;
  106. cutin "ep162_dn03",2;
  107. mes "[Dien]";
  108. mes "The adventurer is here too!";
  109. mes "Why are you scared!";
  110. npctalk "Dien : The adventurer is here too! Why are you scared!",.@dien$;
  111. next;
  112. mes "[Dien]";
  113. mes "Hello " + strcharinfo(0) + ".";
  114. sleep2 2000;
  115. cutin "ep162_dn01",2;
  116. mes "We've came here to do something... It was too troublesome to tell the youngsters.";
  117. npctalk "Dien : We've came here to do something... It was too troublesome to tell the youngsters.",.@dien$;
  118. next;
  119. mes "[Dien]";
  120. mes "If you keep it a secret that you saw us...";
  121. npctalk "Dien : If you keep it a secret that you saw us...",.@dien$;
  122. sleep2 1000;
  123. specialeffect EF_BLASTMINEBOMB,AREA,instance_npcname("#171_os_warp_1");
  124. sleep2 600;
  125. specialeffect EF_BLASTMINEBOMB,AREA,instance_npcname("#171_os_warp_1");
  126. sleep2 600;
  127. specialeffect EF_BLASTMINEBOMB,AREA,instance_npcname("#171_os_warp_2");
  128. next;
  129. cutin "ep162_rds04",2;
  130. mes "[Ridsh]";
  131. mes "Sister~~";
  132. mes "What are you talking about, I don't see the adventurer!";
  133. npctalk "Ridsh : Sister~~ What are you talking about, I don't see the adventurer!";
  134. next;
  135. cutin "ep162_ctn01",2;
  136. mes "[Cotnes]";
  137. mes "Oh~";
  138. mes "Yeah?";
  139. mes "I don't see the adventurer either~";
  140. npctalk "Cotnes : Oh~ Yeah? I don't see the adventurer either~",.@cot$;
  141. next;
  142. mes "[Cotnes]";
  143. mes "So what now?";
  144. mes "We're already inside.";
  145. npctalk "Cotnes : So what now? We're already inside.",.@cot$;
  146. next;
  147. cutin "ep162_rds05",2;
  148. mes "[Ridsh]";
  149. mes "It can't be helped~~";
  150. mes "We have to go with the adventurer.";
  151. npctalk "Ridsh : It can't be helped~~ We have to go with the adventurer.";
  152. next;
  153. cutin "ep162_dn01",2;
  154. mes "[Dien]";
  155. mes "It's dangerous, so please come with us.";
  156. npctalk "Dien : It's dangerous so please come with us.",.@dien$;
  157. close2;
  158. cutin "",255;
  159. if ('seal_os == 0) {
  160. 'seal_os = 1;
  161. donpcevent instance_npcname("#171_sealedos_control") + "::OnEvent01";
  162. }
  163. end;
  164. }
  165. 1@os_b,212,41,0 script Suspicious Device#171_os 4_ENERGY_BLUE,{
  166. mes "- There is a pipe going through the floor. -";
  167. next;
  168. if (select("Crush it.:Put it down.") == 2) {
  169. mes "- Nothing happened. -";
  170. close;
  171. }
  172. mes "- The machine stopped with a strange noise when the pipe was broken. -";
  173. specialeffect EF_BLASTMINEBOMB;
  174. close2;
  175. mapannounce 'map$,"Ridsh : Alright! Let's move up along the railroad tracks!",bc_map,0xFF0000;
  176. if ('seal_os == 1) {
  177. 'seal_os = 2;
  178. donpcevent instance_npcname("#171_sealedos_control") + "::OnEvent02";
  179. }
  180. end;
  181. }
  182. 1@os_b,1,1,0 script #171_sealedos_mob HIDDEN_WARP_NPC,{
  183. end;
  184. OnSummon00:
  185. .@event$ = instance_npcname(strnpcinfo(0))+"::OnMobKill";
  186. npctalk "Cotnes : Over here~~.",instance_npcname("Dien#171_os_1");
  187. sleep 1000;
  188. npctalk "Dien : Oh my... what a surprise!",instance_npcname("Dien#171_os_1");
  189. sleep 1000;
  190. npctalk "Dien : We will take care of this side. Please take care of the disgusting ones there!",instance_npcname("Dien#171_os_1");
  191. monster 'map$,205,46,"Dolor",20361,1,.@event$;
  192. monster 'map$,200,45,"Twin Caput",20365,1,.@event$;
  193. end;
  194. OnMobKill:
  195. .@event$ = instance_npcname(strnpcinfo(0))+"::OnMobKill";
  196. if (!mobcount('map$,.@event$)) {
  197. disablenpc();
  198. enablenpc instance_npcname("Suspicious Device#171_os");
  199. mapannounce 'map$,"Ridsh : Turn off the device at the bottom, while we deal with the enemies.",bc_map,0xFF0000;
  200. }
  201. end;
  202. }
  203. 1@os_b,112,108,5 script Dien#171_os_2 4_F_DIENE,{
  204. cutin "ep162_dn01",2;
  205. mes "[Dien]";
  206. mes "Oh my! What's that thing in the front?";
  207. close3;
  208. }
  209. 1@os_b,115,112,3 script Dangerous-Looking Device#s_os_0 1_SHADOW_NPC,3,3,{
  210. end;
  211. OnTouch:
  212. mes "[Dien]";
  213. mes "Oh my! I think it's precise device that's placed here in the abandoned mine.";
  214. next;
  215. mes "[Dien]";
  216. mes "If you don't break the machine on the other side, we will not be able pass it!";
  217. next;
  218. mes "[Dien]";
  219. mes "It's dangerous to go through right now, so let's turn around and go where the device is!";
  220. close2;
  221. warp 'map$,115,104;
  222. sleep2 2000;
  223. npctalk "Dien : If you don't break the machine on the other side, we will not be able pass it!",instance_npcname("Dien#171_os_2");
  224. end;
  225. }
  226. 1@os_b,115,126,3 duplicate(Dangerous-Looking Device#s_os_0) Dangerous-Looking Device#s_os_1 1_SHADOW_NPC,3,3
  227. 1@os_b,115,144,3 duplicate(Dangerous-Looking Device#s_os_0) Dangerous-Looking Device#s_os_2 1_SHADOW_NPC,3,3
  228. 1@os_b,137,107,0 script Thick Wire#171_os_0 4_ENERGY_BLUE,{
  229. .@id = atoi(replacestr(strnpcinfo(2),"171_os_",""));
  230. 'lock += 1;
  231. disablenpc();
  232. disablenpc instance_npcname("Dangerous-Looking Device#s_os_" + .@id);
  233. if ('lock < 3)
  234. mapannounce 'map$,"Ridsh : The device hasn't turned off yet. Please take a look above for me.",bc_map,0xFF0000;
  235. else {
  236. mapannounce 'map$,"Ridsh : Great! The road is open. Let's move along the railroad tracks!",bc_map,0xFF0000;
  237. if ('seal_os == 2) {
  238. 'seal_os = 3;
  239. donpcevent instance_npcname("#171_sealedos_control") + "::OnEvent03";
  240. }
  241. }
  242. end;
  243. }
  244. 1@os_b,137,123,0 duplicate(Thick Wire#171_os_0) Thick Wire#171_os_1 4_ENERGY_BLUE
  245. 1@os_b,137,139,0 duplicate(Thick Wire#171_os_0) Thick Wire#171_os_2 4_ENERGY_BLUE
  246. 1@os_b,122,212,5 script Dien#171_os_3 4_F_DIENE,{
  247. OnTalk:
  248. cutin "ep162_dn01",2;
  249. mes "[Dien]";
  250. mes "Oh!";
  251. mes "If you go to the right, I think you can go back on the railroad without having to break the door.";
  252. npctalk "Dien : Oh! If you go to the right, I think you can go back on the railroad without having to break the door";
  253. if (!'unlocked)
  254. donpcevent instance_npcname("#171_sealedos_control") + "::OnEvent04";
  255. close3;
  256. }
  257. 1@os_b,114,217,0 script Cotnes#171_os_2 4_F_COATNEIS,{
  258. cutin "ep162_ctn01",2;
  259. mes "[Cotnes]";
  260. mes "Oh, is this gate too hard?";
  261. mes "It will take some time to break it~";
  262. npctalk "Cotnes : Oh, is this gate too hard? It will take some time to break it.";
  263. next;
  264. doevent instance_npcname("Dien#171_os_3") + "::OnTalk";
  265. close;
  266. }
  267. 1@os_b,146,221,7 script Ridsh#171_os_2 4_F_LEEDSH,{
  268. if ('seal_os != 3)
  269. end;
  270. cutin "ep162_rds04",2;
  271. mes "[Ridsh]";
  272. mes "Argh!";
  273. npctalk "Ridsh : Argh!";
  274. next;
  275. .@est$ = instance_npcname("Est#171_os_0");
  276. hideoffnpc .@est$;
  277. sleep2 500;
  278. specialeffect EF_BLASTMINEBOMB,AREA,instance_npcname("#171_sos_dummy_6");
  279. sleep2 500;
  280. disablenpc instance_npcname("#171_sos_dummy_6");
  281. specialeffect EF_BLASTMINEBOMB,AREA,instance_npcname("#171_sos_dummy_7");
  282. cutin "ep162_est01",2;
  283. mes "[Est]";
  284. mes "Oh...";
  285. mes "I'm in a hurry, what are you doing here?";
  286. npctalk "Est : I'm in a hurry, what are you doing here?",.@est$;
  287. disablenpc instance_npcname("#171_sos_dummy_7");
  288. next;
  289. cutin "ep162_est02",2;
  290. mes "[Est]";
  291. mes "Please go back and enjoy your tea gracefully.";
  292. npctalk "Est : Please go back and enjoy your tea gracefully.",.@est$;
  293. next;
  294. cutin "ep162_rds02",2;
  295. mes "[Ridsh]";
  296. mes "Huh!";
  297. mes "How did you sneak in here anyway?";
  298. npctalk "Ridsh : Huh! How did you sneak in here anyway?";
  299. next;
  300. cutin "ep162_est02",2;
  301. mes "[Est]";
  302. mes "This is only a surveillance routine.";
  303. mes "If you close your eyes for a second, you may run into an accident.";
  304. npctalk "Est : This is only a surveillance routine.",.@est$;
  305. sleep2 2000;
  306. npctalk "Est : If you close your eyes for a second, you may run into an accident.",.@est$;
  307. next;
  308. cutin "ep162_rds02",2;
  309. mes "[Ridsh]";
  310. mes "What makes you think we need your help?";
  311. npctalk "Ridsh : What makes you think we need your help?";
  312. next;
  313. cutin "ep162_est02",2;
  314. mes "[Est]";
  315. mes "Didn't you just did now?";
  316. mes "I don't think I heard that wrong. Did I?";
  317. next;
  318. disablenpc instance_npcname("Cotnes#171_os_2");
  319. .@cot$ = instance_npcname("Cotnes#171_os_3");
  320. hideoffnpc .@cot$;
  321. cutin "ep162_ctn01",2;
  322. mes "[Cotnes]";
  323. mes "You two really~";
  324. mes "Please stop fighting.";
  325. npctalk "Cotnes : You two really~ Please stop fighting.",.@cot$;
  326. next;
  327. disablenpc instance_npcname("Dien#171_os_3");
  328. .@dien$ = instance_npcname("Dien#171_os_4");
  329. hideoffnpc .@dien$;
  330. cutin "ep162_dn03",2;
  331. mes "[Dien]";
  332. mes "How do you always fight like that?";
  333. npctalk "Dien : How do you always fight like that?",.@dien$;
  334. next;
  335. cutin "ep162_ctn01",2;
  336. mes "[Cotnes]";
  337. mes "I'm so excited about this~ I'm getting old and I'm tired of fighting.";
  338. npctalk "Cotnes : I'm so excited about this~ I'm getting old and I'm tired of fighting.",.@cot$;
  339. next;
  340. cutin "ep162_dn03",1;
  341. mes "[Dien]";
  342. mes "Is that so?";
  343. npctalk "Dien : Is that so?",.@dien$;
  344. next;
  345. cutin "ep162_ctn01",2;
  346. mes "[Cotnes]";
  347. mes "Yeah~";
  348. mes "I'm tired of fighting, let's go back to work.";
  349. mes "The road is open now.";
  350. npctalk "Cotnes : Yeah~ I'm tired of fighting, let's go back to work. The road is open now.",.@cot$;
  351. close2;
  352. cutin "",255;
  353. if ('seal_os == 3) {
  354. 'seal_os = 4;
  355. donpcevent instance_npcname("#171_sealedos_control") + "::OnEvent05";
  356. }
  357. end;
  358. }
  359. 1@os_b,259,360,5 script Dien#171_os_5 4_F_DIENE,{
  360. if ('seal_os != 4)
  361. end;
  362. cutin "ep162_dn03",2;
  363. mes "[Dien]";
  364. mes "Finally..";
  365. mes "If you cross this door...";
  366. next;
  367. cutin "ep162_est01",2;
  368. mes "[Est]";
  369. mes "Let's head back now before they gather more troops.";
  370. next;
  371. cutin "ep162_dn03",2;
  372. mes "[Dien]";
  373. mes "Excuse me.";
  374. next;
  375. cutin "ep162_est01",2;
  376. mes "[Est]";
  377. mes "?";
  378. next;
  379. cutin "ep162_rds01",2;
  380. mes "[Ridsh]";
  381. mes "Why?";
  382. next;
  383. cutin "ep162_dn03",2;
  384. mes "[Dien]";
  385. mes "Oh my, oh my!";
  386. mes "What should we do!";
  387. next;
  388. cutin "ep162_rds04",2;
  389. mes "[Ridsh]";
  390. mes "Why, what's going on?";
  391. next;
  392. cutin "ep162_dn03",2;
  393. mes "[Dien]";
  394. mes "I think I've left it.";
  395. next;
  396. cutin "ep162_rds01",2;
  397. mes "[Ridsh]";
  398. mes "Left what?";
  399. next;
  400. cutin "ep162_dn03",2;
  401. mes "[Dien]";
  402. mes "My protection charm!";
  403. mes "I get nervous if I don't have it with me.";
  404. next;
  405. cutin "ep162_rds04",2;
  406. mes "[Ridsh]";
  407. mes "You've been fine so far without it?!";
  408. next;
  409. cutin "ep162_dn03",2;
  410. mes "[Dien]";
  411. mes "...";
  412. next;
  413. cutin "ep162_rds01",2;
  414. mes "[Ridsh]";
  415. mes "Ah... Sorry..";
  416. mes "Alright.";
  417. next;
  418. mes "[Ridsh]";
  419. mes "While we open the last door, would you mind going back to ^FF0000Clana Nemieri^000000?";
  420. next;
  421. mes "[Ridsh]";
  422. mes "I have to contact a few people anyway, and Dien won't go anywhere until she gets her protection charm.";
  423. next;
  424. mes "[Ridsh]";
  425. mes "Sister, tell me where it is.";
  426. next;
  427. cutin "ep162_dn02",2;
  428. mes "[Dien]";
  429. mes "Oh!";
  430. mes "Thank you so much for that";
  431. next;
  432. mes "[Dien]";
  433. mes "It's hard for me to get it back because it's far...";
  434. mes "Please do me a favor.";
  435. next;
  436. cutin "ep162_dn01",2;
  437. mes "[Dien]";
  438. mes "^FF0000Go back to my room and look for a chest on the left side of the window, near a vase.";
  439. next;
  440. mes "[Dien]";
  441. mes "It should be easy to get since we're here.";
  442. next;
  443. cutin "ep162_rds05",2;
  444. mes "[Ridsh]";
  445. mes "Oh!";
  446. mes "Shouldn't we tell them where we are?";
  447. if (isbegin_quest(11600) == 1) {
  448. completequest 11600;
  449. setquest 11601;
  450. getitem 25669,25;
  451. getexp 600000,600000;
  452. }
  453. close2;
  454. warp "ein_fild03",258,267;
  455. end;
  456. OnInstanceInit:
  457. questinfo(QTYPE_QUEST,QMARK_YELLOW,"isbegin_quest(11600) == 1");
  458. end;
  459. }
  460. 1@os_b,260,363,5 script Cotnes#171_os_4 4_F_COATNEIS,{
  461. cutin "ep162_ctn01",2;
  462. mes "[Cotnes]";
  463. mes "It's good sometimes to take a quick walk like this~";
  464. close3;
  465. }
  466. 1@os_b,262,362,4 script Est#171_os_1 4_F_ESTLOVELOY,{
  467. cutin "ep162_est01",2;
  468. mes "[Est]";
  469. mes "I eager to explore the area beyond here.";
  470. close3;
  471. }
  472. 1@os_b,261,358,3 script Ridsh#171_os_3 4_F_LEEDSH,{
  473. cutin "ep162_rds01",2;
  474. mes "[Ridsh]";
  475. mes "I'm tired!";
  476. mes "I want to go home.";
  477. close3;
  478. }
  479. 1@os_b,187,52,0 script #171_os_warp_0 WARPNPC,4,4,{
  480. end;
  481. OnTouch:
  482. .@id = atoi(replacestr(strnpcinfo(2),"171_os_warp_",""));
  483. switch (.@id) {
  484. case 0:
  485. case 1:
  486. case 2:
  487. warp 'map$,188,41;
  488. break;
  489. case 3:
  490. case 4:
  491. if (!'unlocked) {
  492. cutin "ep162_dn01",2;
  493. mes "[Dien]";
  494. mes "It would be better to just go around the door.";
  495. npctalk "Dien : It would be better to just go around the door.",instance_npcname("Dien#171_os_4"),bc_map;
  496. close2;
  497. cutin "",255;
  498. }
  499. warp 'map$,114,204;
  500. break;
  501. case 5:
  502. warp 'map$,142,220;
  503. }
  504. end;
  505. }
  506. 1@os_b,204,266,0 script #171_os_trap_0 1_SHADOW_NPC,4,4,{
  507. end;
  508. OnTouch:
  509. .@id = atoi(replacestr(strnpcinfo(2),"171_os_trap_",""));
  510. if (getd("'" + strnpcinfo(2)))
  511. end;
  512. switch (.@id) {
  513. case 0: setarray .@xy,209,264,20363,209,268,20355; break;
  514. case 1: setarray .@xy,234,269,20357,236,266,20357; break;
  515. case 2: setarray .@xy,250,268,20363,252,266,20355; break;
  516. case 3: setarray .@xy,263,285,20361,259,286,20365; break;
  517. case 4: setarray .@xy,262,303,20355,258,306,20355; break;
  518. case 5: setarray .@xy,262,318,20363,259,320,20361; break;
  519. case 6: setarray .@xy,258,336,20365,263,338,20355;
  520. }
  521. setd("'" + strnpcinfo(2),1);
  522. for (.@i = 0; .@i < getarraysize(.@xy); .@i += 3)
  523. monster 'map$,.@xy[.@i],.@xy[.@i+1],"--ja--",.@xy[.@i+2],1,instance_npcname(strnpcinfo(0))+"::OnMobKill";
  524. end;
  525. OnMobKill:
  526. .@event$ = instance_npcname(strnpcinfo(0))+"::OnMobKill";
  527. if (!mobcount('map$,.@event$))
  528. disablenpc();
  529. end;
  530. }
  531. 1@os_b,148,217,3 duplicate(dummy_npc) Est#171_os_0 4_F_ESTLOVELOY
  532. 1@os_b,142,225,6 duplicate(dummy_npc) Cotnes#171_os_3 4_F_COATNEIS
  533. 1@os_b,143,222,5 duplicate(dummy_npc) Dien#171_os_4 4_F_DIENE
  534. 1@os_b,229,267,5 duplicate(#171_os_trap_0) #171_os_trap_1 1_SHADOW_NPC,4,4
  535. 1@os_b,244,267,5 duplicate(#171_os_trap_0) #171_os_trap_2 1_SHADOW_NPC,4,4
  536. 1@os_b,261,281,5 duplicate(#171_os_trap_0) #171_os_trap_3 1_SHADOW_NPC,4,4
  537. 1@os_b,261,299,5 duplicate(#171_os_trap_0) #171_os_trap_4 1_SHADOW_NPC,4,4
  538. 1@os_b,261,314,5 duplicate(#171_os_trap_0) #171_os_trap_5 1_SHADOW_NPC,4,4
  539. 1@os_b,261,332,5 duplicate(#171_os_trap_0) #171_os_trap_6 1_SHADOW_NPC,4,4
  540. 1@os_b,191,46,0 duplicate(#171_os_warp_0) #171_os_warp_1 WARPNPC,3,3
  541. 1@os_b,192,49,0 duplicate(#171_os_warp_0) #171_os_warp_2 WARPNPC,3,3
  542. 1@os_b,118,209,0 duplicate(#171_os_warp_0) #171_os_warp_3 WARPNPC,3,3
  543. 1@os_b,119,215,0 duplicate(#171_os_warp_0) #171_os_warp_4 WARPNPC,3,3
  544. 1@os_b,147,224,0 duplicate(#171_os_warp_0) #171_os_warp_5 WARPNPC,3,3
  545. 1@os_b,190,44,3 duplicate(dummy_npc) Dien#171_os_0 4_F_DIENE
  546. 1@os_b,190,47,6 duplicate(dummy_npc) Cotnes#171_os_0 4_F_COATNEIS
  547. 1@os_b,199,51,7 duplicate(dummy_npc) Dien#171_os_1 4_F_DIENE
  548. 1@os_b,201,49,3 duplicate(dummy_npc) Cotnes#171_os_1 4_F_COATNEIS
  549. 1@os_b,203,51,0 duplicate(dummy_npc) Ridsh#171_os_1 4_F_LEEDSH
  550. 1@os_b,199,56,5 duplicate(dummy_npc) #171_sos_dummy_0 20355
  551. 1@os_b,202,56,3 duplicate(dummy_npc) #171_sos_dummy_1 20357
  552. 1@os_b,198,53,3 duplicate(dummy_npc) #171_sos_dummy_2 20355
  553. 1@os_b,200,54,4 duplicate(dummy_npc) #171_sos_dummy_3 20361
  554. 1@os_b,203,54,5 duplicate(dummy_npc) #171_sos_dummy_4 20357
  555. 1@os_b,201,52,3 duplicate(dummy_npc) #171_sos_dummy_5 20363
  556. 1@os_b,144,221,5 duplicate(dummy_npc) #171_sos_dummy_6 20363
  557. 1@os_b,148,221,3 duplicate(dummy_npc) #171_sos_dummy_7 20365
  558. 1@os_b,200,276,5 duplicate(dummy_npc) #171_sos_dummy_8 20361
  559. 1@os_b,207,275,3 duplicate(dummy_npc) #171_sos_dummy_9 20363
  560. 1@os_b,205,258,3 duplicate(dummy_npc) #171_sos_dummy_10 20365
  561. 1@os_b,213,257,2 duplicate(dummy_npc) #171_sos_dummy_11 20357
  562. 1@os_b,231,274,5 duplicate(dummy_npc) #171_sos_dummy_12 20361
  563. 1@os_b,234,276,5 duplicate(dummy_npc) #171_sos_dummy_13 20365
  564. 1@os_b,244,275,3 duplicate(dummy_npc) #171_sos_dummy_14 20361
  565. 1@os_b,242,276,3 duplicate(dummy_npc) #171_sos_dummy_15 20365
  566. 1@os_b,253,286,5 duplicate(dummy_npc) #171_sos_dummy_16 20363
  567. 1@os_b,265,284,3 duplicate(dummy_npc) #171_sos_dummy_17 20355
  568. 1@os_b,252,302,5 duplicate(dummy_npc) #171_sos_dummy_18 20363
  569. 1@os_b,251,300,5 duplicate(dummy_npc) #171_sos_dummy_19 20361
  570. 1@os_b,61,263,3 duplicate(dummy_npc) #171_sos_dummy_20 20365
  571. 1@os_b,264,267,3 duplicate(dummy_npc) #171_sos_dummy_21 20361
  572. 1@os_b,263,262,3 duplicate(dummy_npc) #171_sos_dummy_22 20363
  573. 1@os_b,192,276,5 duplicate(dummy_npc) #171_sos_dummy_23 20365
  574. 1@os_b,194,250,5 duplicate(dummy_npc) #171_sos_dummy_24 20355
  575. 1@os_b,196,251,3 duplicate(dummy_npc) #171_sos_dummy_25 20363
  576. 1@os_b,197,250,3 duplicate(dummy_npc) #171_sos_dummy_26 20357
  577. 1@os_b,124,230,5 duplicate(dummy_npc) #171_sos_dummy_27 20365
  578. 1@os_b,126,232,5 duplicate(dummy_npc) #171_sos_dummy_28 20365
  579. 1@os_b,128,231,5 duplicate(dummy_npc) #171_sos_dummy_29 20361
  580. 1@os_b,134,230,3 duplicate(dummy_npc) #171_sos_dummy_30 20363