ThorGunsuBase.txt 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462
  1. //===== rAthena Script =======================================
  2. //= Instance: Thor Gunsu Base.
  3. //===== Description: =========================================
  4. //- [Walkthrough conversion]
  5. //- Part of the episode 18.1 main quest.
  6. //===== Changelogs: ==========================================
  7. //= 1.0 First version. [Capuche]
  8. //============================================================
  9. // Main Quest: Step 47.
  10. que_thr,133,53,5 script Maram#Armybase1 4_EP18_MARAM,{
  11. if (ep18_1_main != 45 && ep18_1_main != 46)
  12. end;
  13. if (ep18_1_main == 45) {
  14. cutin "ep18_maram_01.png",2;
  15. mes "[Maram]";
  16. mes "You have arrived, adventurer!";
  17. mes "You did a great job getting here.";
  18. next;
  19. cutin "ep18_maram_03.png",2;
  20. mes "[Maram]";
  21. mes "After all, it looks like this next one is real. The guards are different from before...";
  22. mes "Let's look inside, being careful not to be caught by the guards.";
  23. next;
  24. cutin "ep18_maram_01.png",2;
  25. mes "[Maram]";
  26. mes "Make sure to move out of sight of the guards as much as possible.";
  27. mes "If you make a mistake, you will be attacked, so if you don't break through, we'll meet again here.";
  28. changequest 16577,16578;
  29. ep18_1_main = 46;
  30. next;
  31. }
  32. else if (ep18_1_main == 46) {
  33. mes "[Maram]";
  34. mes "Let's try to get in as far as possible from the guard tower.";
  35. next;
  36. }
  37. .@md_name$ = "Thor Gunsu Base";
  38. cutin "",255;
  39. mes "^FF0000 Any arbitrary processing such as taming monsters in the dungeon is not considered normal. Please note.^000000";
  40. next;
  41. // player has party
  42. if (is_party_leader()) {
  43. // player is leader of the party
  44. .@create$ = "Open " + .@md_name$;
  45. }
  46. switch( select( .@create$, .@md_name$ + " entry" ) ) {
  47. case 1:
  48. cutin "ep18_maram_01.png",2;
  49. mes "[Maram]";
  50. mes "When the application is complete, talk to me again and select ^0000CD Thor military base entry^000000";
  51. if (instance_create(.@md_name$) < 0) {
  52. mes "Party: " + getpartyname(getcharid(1)) + "";
  53. mes "Leader: " + strcharinfo(0) + "";
  54. mes "^0000ff" + .@md_name$ + " ^000000- Unknown error";
  55. close3;
  56. }
  57. close3;
  58. case 2:
  59. // Note: instance not forced solo
  60. switch( instance_enter(.@md_name$) ) {
  61. case IE_OTHER:
  62. mes "[Maram]";
  63. mes "^ff0000An unknown error occurred.^000000";
  64. close;
  65. case IE_NOINSTANCE:
  66. cutin "ep18_maram_01.png",2;
  67. mes "[Maram]";
  68. mes "I don't think the dungeon has been created yet? Please check later.";
  69. close3;
  70. case IE_NOMEMBER:
  71. mes "[Maram]";
  72. mes "^ff0000Only a member of the party can enter the Memorial Dungeon.^000000";
  73. close;
  74. case IE_OK:
  75. mapannounce "que_thr", "" + strcharinfo(0) + " of the party, " + getpartyname( getcharid(1) ) + ", is entering " + .@md_name$ + ".",bc_map,"0x00ff99",FW_NORMAL,12;
  76. // warp 1@tcamp,103,237;
  77. end;
  78. }
  79. }
  80. end;
  81. OnInit:
  82. questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(16577) == 1" );
  83. end;
  84. }
  85. 1@tcamp,106,237,3 script Maram#base1 4_EP18_MARAM,{
  86. cutin "ep18_maram_01.png",2;
  87. mes "[Maram]";
  88. mes "Be careful and explore the inside.";
  89. mes "I heard from Mr. Dandelion earlier, there aren't many people, but there are Watch Towers here and there that monitor a fairly wide area.";
  90. next;
  91. mes "[Maram]";
  92. mes "If you get caught by the Watch Tower, soldiers will appear, so be careful not to get caught.";
  93. mes "Well, if you find something, please contact me!";
  94. close3;
  95. OnInstanceInit:
  96. 'map_tcamp$ = instance_mapname("1@tcamp");
  97. disablenpc instance_npcname("Document Pile#Site1");
  98. disablenpc instance_npcname("Document Pile#Site2");
  99. disablenpc instance_npcname("Document Pile#Site3");
  100. disablenpc instance_npcname("Document Pile#Site4");
  101. disablenpc instance_npcname("Document Pile#Site5");
  102. disablenpc instance_npcname("Maram#Lock1");
  103. disablenpc instance_npcname("Maram#Lock2");
  104. disablenpc instance_npcname("Maram#Lock3");
  105. disablenpc instance_npcname("Maram#Lock4");
  106. setcell 'map_tcamp$,137,216,142,216,cell_walkable,0;
  107. setcell 'map_tcamp$,135,145,144,145,cell_walkable,0;
  108. setcell 'map_tcamp$,223,105,223,110,cell_walkable,0;
  109. setcell 'map_tcamp$,80,94,80,100,cell_walkable,0;
  110. // some monsters spawn randomly
  111. monster 'map_tcamp$,0,0,"Base Soldier",21310,18; // EP18_MD_GUARD_A
  112. monster 'map_tcamp$,0,0,"Base Soldier",21309,18; // EP18_MD_THOR_GUARD
  113. end;
  114. }
  115. // unknown npc effect
  116. // 1@tcamp,244,152,3 duplicate(dummy_npc) #Remote 1 CLEAR_NPC
  117. //-------------------------------------------------------------------
  118. // Traps
  119. //-------------------------------------------------------------------
  120. 1@tcamp,120,228,3 script Watch Tower#Watch1 4_SYSTEM_BOX,7,7,{
  121. end;
  122. OnTouch: // note: hidden player trigger the event
  123. npctalk "Detect intruders. Exclude them.";
  124. mapannounce 'map_tcamp$, "Intruder detected, intruder detected. We rule out immediately.", bc_map, 0xFF0000;
  125. getmapxy .@map$,.@x,.@y, BL_NPC;
  126. areamonster 'map_tcamp$,.@x-2,.@y-2,.@x+2,.@y+2,"Base Soldier",21309,3; // EP18_MD_THOR_GUARD
  127. areamonster 'map_tcamp$,.@x-2,.@y-2,.@x+2,.@y+2,"Base Soldier",21310,3; // EP18_MD_GUARD_A
  128. end;
  129. OnTimer2000:
  130. specialeffect EF_WARP;
  131. initnpctimer;
  132. end;
  133. OnInstanceInit:
  134. initnpctimer;
  135. end;
  136. }
  137. 1@tcamp,135,228,3 duplicate(Watch Tower#Watch1) Watch Tower#Watch2 4_SYSTEM_BOX,7,7
  138. 1@tcamp,152,133,3 duplicate(Watch Tower#Watch1) Watch Tower#Watch3 4_SYSTEM_BOX,7,7
  139. 1@tcamp,167,133,3 duplicate(Watch Tower#Watch1) Watch Tower#Watch4 4_SYSTEM_BOX,7,7
  140. 1@tcamp,182,133,3 duplicate(Watch Tower#Watch1) Watch Tower#Watch5 4_SYSTEM_BOX,7,7
  141. 1@tcamp,161,96,3 duplicate(Watch Tower#Watch1) Watch Tower#Watch6 4_SYSTEM_BOX,7,7
  142. 1@tcamp,146,96,3 duplicate(Watch Tower#Watch1) Watch Tower#Watch7 4_SYSTEM_BOX,7,7
  143. 1@tcamp,116,102,3 duplicate(Watch Tower#Watch1) Watch Tower#Watch8 4_SYSTEM_BOX,7,7
  144. 1@tcamp,88,92,3 duplicate(Watch Tower#Watch1) Watch Tower#Watch9 4_SYSTEM_BOX,7,7
  145. 1@tcamp,240,148,3 duplicate(Watch Tower#Watch1) Watch Tower#Watch10 4_SYSTEM_BOX,7,7
  146. 1@tcamp,156,71,3 duplicate(Watch Tower#Watch1) Watch Tower#Watch11 4_SYSTEM_BOX,7,7
  147. 1@tcamp,176,194,3 duplicate(Watch Tower#Watch1) Watch Tower#Watch12 4_SYSTEM_BOX,7,7
  148. 1@tcamp,192,194,3 duplicate(Watch Tower#Watch1) Watch Tower#Watch13 4_SYSTEM_BOX,7,7
  149. 1@tcamp,142,153,3 duplicate(Watch Tower#Watch1) Watch Tower#Watch14 4_SYSTEM_BOX,7,7
  150. 1@tcamp,142,168,3 duplicate(Watch Tower#Watch1) Watch Tower#Watch15 4_SYSTEM_BOX,7,7
  151. 1@tcamp,192,179,3 duplicate(Watch Tower#Watch1) Watch Tower#Watch16 4_SYSTEM_BOX,7,7
  152. 1@tcamp,237,90,3 duplicate(Watch Tower#Watch1) Watch Tower#Watch17 4_SYSTEM_BOX,7,7
  153. //-------------------------------------------------------------------
  154. // Walls
  155. //-------------------------------------------------------------------
  156. 1@tcamp,138,216,3 script Lock#1-1 4_ROPEPILE,{
  157. .@maram$ = instance_npcname("Maram#Lock1");
  158. enablenpc .@maram$;
  159. npctalk "Maram: Wait a minute. I know how to open it.", .@maram$;
  160. progressbar_npc "3131FF",10;
  161. npctalk "Maram: Now we can pass!", .@maram$;
  162. disablenpc instance_npcname("Lock#1-1");
  163. disablenpc instance_npcname("Lock#1-2");
  164. disablenpc .@maram$;
  165. setcell 'map_tcamp$,137,216,142,216,cell_walkable,1;
  166. end;
  167. }
  168. 1@tcamp,141,216,3 duplicate(Lock#1-1) Lock#1-2 4_ROPEPILE
  169. 1@tcamp,140,218,3 duplicate(dummy_npc) Maram#Lock1 4_EP18_MARAM
  170. 1@tcamp,136,145,3 script Lock#2-1 4_ROPEPILE,{
  171. .@maram$ = instance_npcname("Maram#Lock2");
  172. enablenpc .@maram$;
  173. progressbar_npc "3131FF",10;
  174. npctalk "It would be better to proceed with caution.", .@maram$;
  175. disablenpc instance_npcname("Lock#2-1");
  176. disablenpc instance_npcname("Lock#2-2");
  177. disablenpc instance_npcname("Lock#2-3");
  178. disablenpc instance_npcname("Lock#2-4");
  179. disablenpc .@maram$;
  180. setcell 'map_tcamp$,135,145,144,145,cell_walkable,1;
  181. end;
  182. }
  183. 1@tcamp,138,145,3 duplicate(Lock#2-1) Lock#2-2 4_ROPEPILE
  184. 1@tcamp,141,145,3 duplicate(Lock#2-1) Lock#2-3 4_ROPEPILE
  185. 1@tcamp,143,145,3 duplicate(Lock#2-1) Lock#2-4 4_ROPEPILE
  186. 1@tcamp,142,147,3 duplicate(dummy_npc) Maram#Lock2 4_EP18_MARAM
  187. 1@tcamp,223,109,3 script Lock#3-1 4_ROPEPILE,{
  188. .@maram$ = instance_npcname("Maram#Lock3");
  189. enablenpc .@maram$;
  190. npctalk "Maram: This building looks pretty suspicious, right? There must be a surveillance system in it as well.", .@maram$;
  191. progressbar_npc "3131FF",10;
  192. npctalk "Maram: Let's explore carefully, being careful not to get caught this time.", .@maram$;
  193. disablenpc instance_npcname("Lock#3-1");
  194. disablenpc instance_npcname("Lock#3-2");
  195. disablenpc .@maram$;
  196. setcell 'map_tcamp$,223,105,223,110,cell_walkable,1;
  197. end;
  198. }
  199. 1@tcamp,223,106,3 duplicate(Lock#3-1) Lock#3-2 4_ROPEPILE
  200. 1@tcamp,226,114,3 duplicate(dummy_npc) Maram#Lock3 4_EP18_MARAM
  201. 1@tcamp,80,99,3 script Lock#4-1 4_ROPEPILE,{
  202. .@maram$ = instance_npcname("Maram#Lock4");
  203. enablenpc .@maram$;
  204. npctalk "Maram: I think you've gotten pretty deep. You should be able to find what you need safely.", .@maram$;
  205. progressbar_npc "3131FF",10;
  206. npctalk "Maram: Shall we wish you luck?", .@maram$;
  207. disablenpc instance_npcname("Lock#4-1");
  208. disablenpc instance_npcname("Lock#4-2");
  209. disablenpc instance_npcname("Lock#4-3");
  210. disablenpc .@maram$;
  211. setcell 'map_tcamp$,80,94,80,100,cell_walkable,1;
  212. enablenpc instance_npcname("Document Pile#Site1");
  213. enablenpc instance_npcname("Document Pile#Site2");
  214. enablenpc instance_npcname("Document Pile#Site3");
  215. enablenpc instance_npcname("Document Pile#Site4");
  216. enablenpc instance_npcname("Document Pile#Site5");
  217. enablenpc instance_npcname("Miriam#base1");
  218. enablenpc instance_npcname("Maram#base5");
  219. end;
  220. }
  221. 1@tcamp,80,97,3 duplicate(Lock#4-1) Lock#4-2 4_ROPEPILE
  222. 1@tcamp,80,95,3 duplicate(Lock#4-1) Lock#4-3 4_ROPEPILE
  223. 1@tcamp,82,100,3 duplicate(dummy_npc) Maram#Lock4 4_EP18_MARAM
  224. //-------------------------------------------------------------------
  225. // Final
  226. //-------------------------------------------------------------------
  227. 1@tcamp,32,100,3 script Document Pile#Site1 4_EP18_PAPERS,{
  228. mes "[Pile of Papers]";
  229. mes "All the papers are jumbled up.";
  230. mes "I took out a few sheets from the middle These are the expiry date of the weapon and the sales statement.";
  231. next;
  232. mes "[Pile of Papers]";
  233. mes "Even the date is very recent. There is a record of handing over a large number of weapons to Mr. Dandelion.";
  234. mes "I think I found what I was looking for. I put the documents in my pocket.";
  235. close2;
  236. getitem 1000409,1; // Ep18_Docu_File
  237. cloakonnpcself( instance_npcname("Document Pile#Site1") );
  238. end;
  239. }
  240. 1@tcamp,49,123,3 script Document Pile#Site2 4_EP18_PAPERS,{
  241. mes "[Pile of Papers]";
  242. mes "All the papers are jumbled up.";
  243. mes "At the top of the page the final menu for luncheon dinner?";
  244. next;
  245. mes "[Pile of Papers]";
  246. mes "It seems that the menu is fried fish with sauce.";
  247. mes "You seem to have left unimportant documents. Let's take care of them first.";
  248. close2;
  249. getitem 1000409,1; // Ep18_Docu_File
  250. cloakonnpcself( instance_npcname("Document Pile#Site2") );
  251. end;
  252. }
  253. 1@tcamp,29,86,3 script Document Pile#Site3 4_EP18_PAPERS,{
  254. mes "[Pile of Papers]";
  255. mes "All the papers are jumbled up.";
  256. mes "I took one out of the middle The layout of the military base guards?";
  257. next;
  258. mes "[Pile of Papers]";
  259. mes "Looking at the date, it was a long time ago.";
  260. mes "You seem to have left unimportant documents. Let's take care of them first.";
  261. close2;
  262. getitem 1000409,1; // Ep18_Docu_File
  263. cloakonnpcself( instance_npcname("Document Pile#Site3") );
  264. end;
  265. }
  266. 1@tcamp,60,122,3 script Document Pile#Site4 4_EP18_PAPERS,{
  267. mes "[Pile of Papers]";
  268. mes "All the papers are jumbled up.";
  269. mes "The top one... 'If you feed the magmaring potatoes and hunt them after a while, will they drop the baked potatoes?'";
  270. next;
  271. mes "[Pile of Papers]";
  272. mes "why is this here. But I'm curious about the result!";
  273. mes "You seem to have left unimportant documents. Let's take care of them first.";
  274. close2;
  275. getitem 1000409,1; // Ep18_Docu_File
  276. cloakonnpcself( instance_npcname("Document Pile#Site4") );
  277. end;
  278. }
  279. 1@tcamp,31,84,3 script Document Pile#Site5 4_EP18_PAPERS,{
  280. mes "[Pile of Papers]";
  281. mes "All the papers are jumbled up.";
  282. mes "Picking one out of the middle I found an illustration of the Pope drawn by icing the Pope's cookie icing with a pen.";
  283. next;
  284. mes "[Pile of Papers]";
  285. mes "What kind of picture is it? Besides, you drew it very well.";
  286. mes "You seem to have left unimportant documents. Let's take care of them first.";
  287. close2;
  288. getitem 1000409,1; // Ep18_Docu_File
  289. cloakonnpcself( instance_npcname("Document Pile#Site5") );
  290. end;
  291. }
  292. 1@tcamp,34,100,3 script Miriam#base1 4_EP18_MIRIAM,3,3,{
  293. disable_items;
  294. if (countitem(1000409) < 5) { // Ep18_Docu_File
  295. cutin "ep18_miriam_02.png",2;
  296. mes "[Miriam]";
  297. mes "As expected, you are talented, adventurer. I used all sorts of connections to find the position.";
  298. mes "It seems that Adventurer and Maram found it at once.";
  299. next;
  300. mes "[Miriam]";
  301. mes "Read some of the documents here. We have what we were looking for.";
  302. mes "I think it would be better to come and see it firsthand than to explain everything.";
  303. close3;
  304. }
  305. if (getequipid(EQI_HEAD_TOP) != 400127) { // Ep18_Mini_Elly
  306. mes "[Mini Elly]";
  307. mes "Get it out of the bag. Put it on your head.";
  308. close;
  309. }
  310. cutin "ep18_miriam_02.png",2;
  311. mes "[Miriam]";
  312. mes ".";
  313. next;
  314. cutin "ep18_maram_01.png",2;
  315. mes "[Maram]";
  316. mes "No, Miriam! How are you here?";
  317. mes "They said they would investigate separately!";
  318. next;
  319. cutin "ep18_miriam_01.png",2;
  320. mes "[Miriam]";
  321. mes "How did you and the adventurer dig this far?";
  322. mes "You have good skills, too. It was a location that I found using all kinds of connections, but you found it at once.";
  323. next;
  324. cutin "ep18_maram_02.png",2;
  325. mes "[Maram]";
  326. mes "Let's do some, right, adventurer?";
  327. mes "Anyway, what information did you get?";
  328. next;
  329. cutin "ep18_miriam_02.png",2;
  330. mes "[Miriam]";
  331. mes "Look at this document here.";
  332. next;
  333. cutin "",255;
  334. mes "[Mini Elly]";
  335. mes "This is a sales statement for arms. Show it to me as well.";
  336. mes "The weapons and firearms these men have disposed of are all less than a year old.";
  337. next;
  338. cutin "ep18_miriam_03.png",2;
  339. mes "[Miriam]";
  340. mes "How dare you sell such weapons.";
  341. mes "A weapon that is not properly maintained may not function properly.";
  342. next;
  343. cutin "ep18_maram_03.png",2;
  344. mes "[Maram]";
  345. mes "The weapons that come out of the back hole are all the same.";
  346. mes "but, at least it's at this point.";
  347. next;
  348. mes "[Maram]";
  349. mes "A year is not a long term, but it is not tight.";
  350. mes "Why did we pour out at this moment in preparation for the protest?";
  351. next;
  352. mes "[Maram]";
  353. mes "You wouldn't have to dispose of it right away.";
  354. next;
  355. npctalk "Maram: haha, this is so funny", instance_npcname("Maram#base5");
  356. sleep2 300;
  357. cutin "ep18_miriam_02.png",2;
  358. mes "[Miriam]";
  359. mes "This is one of the military bases managed by my stepfather.";
  360. mes "Just by chance, it really came out at a time like this.";
  361. next;
  362. cutin "",255;
  363. select( "If your stepfather is a priest, Youth Amal?", "The hard-line and pro-war stepfather?" );
  364. cutin "ep18_miriam_02.png",2;
  365. mes "[Miriam]";
  366. mes "That's right, adventurer. Looking at the ledger, it doesn't seem like the stepfather was involved.";
  367. mes "I think it was a single corruption at the end, the weapon leak case.";
  368. next;
  369. mes "[Miriam]";
  370. mes "I'll have to dig a little deeper, but that's my guess for now.";
  371. mes "Oh, give me the documents. I'll take it as evidence.";
  372. delitem 1000409,5; // Ep18_Docu_File
  373. if (isbegin_quest(16578) == 1) {
  374. erasequest 16578;
  375. setquest 16579;
  376. }
  377. close2;
  378. cutin "",255;
  379. npctalk "Maram: haha, this is so funny", instance_npcname("Maram#base5");
  380. end;
  381. OnTouch:
  382. npctalk "Miriam: Oh, adventurer? Maram you too!?";
  383. end;
  384. OnInstanceInit:
  385. questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(16578) == 1 && countitem(1000409) > 4" ); // Ep18_Docu_File
  386. disablenpc instance_npcname("Miriam#base1");
  387. end;
  388. }
  389. 1@tcamp,32,102,3 script Maram#base5 4_EP18_MARAM,{
  390. if (isbegin_quest(16579) == 0) {
  391. cutin "ep18_maram_01.png",2;
  392. mes "[Maram]";
  393. mes "I didn't know Miriam was here, right, adventurer?";
  394. close3;
  395. }
  396. cutin "ep18_maram_02.png",2;
  397. mes "[Maram]";
  398. mes "We moved separately, but in the end we are in the same position.";
  399. mes "Still, what I got in the process was different, so I guess it has its own meaning.";
  400. next;
  401. cutin "ep18_miriam_02.png",2;
  402. mes "[Miriam]";
  403. mes "Then I must be away for a while.";
  404. mes "I'm going to pass on my findings to my stepfather.";
  405. next;
  406. mes "[Miriam]";
  407. mes "Because there is a possibility that the adoptive father may not know yet if it is a single corruption.";
  408. next;
  409. cutin "ep18_maram_03.png",2;
  410. mes "[Maram]";
  411. mes "Is it really an independent corruption? That's probably what bothers me.";
  412. mes "I have something to give to Rachel, Miriam, let's go together.";
  413. next;
  414. cutin "ep18_maram_01.png",2;
  415. mes "[Maram]";
  416. mes "I'll give you a shortcut, so can you please tell Suad what you found out here?";
  417. mes "We will follow soon, so please go ahead and tell me.";
  418. if (ep18_1_main == 46) {
  419. ep18_1_main = 47;
  420. erasequest 16579;
  421. setquest 16580;
  422. getitem "Ep18_Amethyst_Fragment",50;
  423. }
  424. close2;
  425. warp "wolfvill",162,154;
  426. end;
  427. OnInstanceInit:
  428. questinfo( QTYPE_QUEST, QMARK_YELLOW, "isbegin_quest(16579) == 1" );
  429. disablenpc instance_npcname("Maram#base5");
  430. end;
  431. }