ThorGunsuBase.txt 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476
  1. //===== rAthena Script =======================================
  2. //= Instance: Thor Gunsu Base.
  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 47.
  10. que_thr,133,53,5 script Maram#Armybase1 4_EP18_MARAM,{
  11. if (ep18_main < 45 || ep18_main > 46)
  12. end;
  13. if (ep18_main == 45) {
  14. cutin "ep18_maram_01.png",2;
  15. mes "[Maram]";
  16. mes "You've arrived, adventurer!";
  17. mes "Thank you for coming all the way here.";
  18. next;
  19. cutin "ep18_maram_03.png",2;
  20. mes "[Maram]";
  21. mes "It seems like this is the real deal after all. The security here is different from what it has been so far....";
  22. mes "Let's be careful not to be caught by the guards and explore the inside.";
  23. next;
  24. cutin "ep18_maram_01.png",2;
  25. mes "[Maram]";
  26. mes "Try to move away from the security guard's line of sight as much as possible.";
  27. mes "If you get caught, you might be attacked, so if you can't break through, we'll meet again here.";
  28. erasequest 16577;
  29. setquest 16578;
  30. ep18_main = 46;
  31. next;
  32. }
  33. else if (ep18_main == 46) {
  34. cutin "ep18_maram_01.png",2;
  35. mes "[Maram]";
  36. mes "Let's try to go in while avoiding the guard tower as much as possible.";
  37. next;
  38. }
  39. .@md_name$ = "Thor Military Base";
  40. cutin "",255;
  41. mes "^FF0000Caution : If you perform arbitrary processing within the dungeon, such as monster taming, it will not be considered normal progress.^000000";
  42. next;
  43. // player has party
  44. if (is_party_leader())
  45. // player is leader of the party
  46. .@create$ = "Apply for entry to " + .@md_name$ + "";
  47. switch( select( .@create$, "Enter " + .@md_name$ + "" ) ) {
  48. case 1:
  49. cutin "ep18_maram_01.png",2;
  50. mes "[Maram]";
  51. mes "When the application is complete, talk to me again and select ^0000CD" + .@md_name$ + " entry^000000";
  52. if (instance_create(.@md_name$) < 0) {
  53. mes "Party: " + getpartyname(getcharid(1)) + "";
  54. mes "Leader: " + strcharinfo(0) + "";
  55. mes "^0000ff" + .@md_name$ + " ^000000- Unknown error";
  56. close3;
  57. }
  58. close3;
  59. case 2:
  60. // Note: instance not forced solo
  61. switch( instance_enter(.@md_name$) ) {
  62. case IE_OTHER:
  63. mes "[Maram]";
  64. mes "^ff0000An unknown error occurred.^000000";
  65. close;
  66. case IE_NOINSTANCE:
  67. cutin "ep18_maram_01.png",2;
  68. mes "[Maram]";
  69. mes "It seems like you haven't created the dungeon yet. Please check again in a moment.";
  70. close3;
  71. case IE_NOMEMBER:
  72. mes "[Maram]";
  73. mes "^ff0000Only a member of the party can enter the Memorial Dungeon.^000000";
  74. close;
  75. case IE_OK:
  76. mapannounce "que_thr", "" + strcharinfo(0) + " of the party, " + getpartyname( getcharid(1) ) + ", is entering " + .@md_name$ + ".", bc_map, 0xFF99;
  77. // warp 1@tcamp,103,237;
  78. end;
  79. }
  80. }
  81. end;
  82. OnInit:
  83. questinfo( QTYPE_QUEST2, QMARK_YELLOW, "isbegin_quest(16577) == 1" );
  84. end;
  85. }
  86. 1@tcamp,106,237,3 script Maram#Base1 4_EP18_MARAM,{
  87. mes "[Maram]";
  88. mes "Be careful and explore inside.";
  89. mes "From what I heard from Dandelion earlier, there aren't many people, but there are watchtowers here and there that monitor a fairly wide area.";
  90. next;
  91. mes "[Maram]";
  92. mes "If you get caught by the watchtower, soldiers will appear, so be careful not to get caught.";
  93. mes "Well, if you find anything, please contact me!";
  94. close;
  95. OnInstanceInit:
  96. 'step = 0;
  97. 'map_tcamp$ = instance_mapname("1@tcamp");
  98. setcell 'map_tcamp$,137,216,142,216,cell_walkable,0;
  99. setcell 'map_tcamp$,135,145,144,145,cell_walkable,0;
  100. setcell 'map_tcamp$,223,105,223,110,cell_walkable,0;
  101. setcell 'map_tcamp$,80,94,80,100,cell_walkable,0;
  102. // some monsters spawn randomly
  103. monster 'map_tcamp$,0,0,"Base Soldier",21310,18; // EP18_MD_GUARD_A
  104. monster 'map_tcamp$,0,0,"Base Soldier",21309,18; // EP18_MD_THOR_GUARD
  105. end;
  106. }
  107. // unknown npc effect
  108. // 1@tcamp,244,152,3 duplicate(dummy_npc) #Remote 1 CLEAR_NPC
  109. //-------------------------------------------------------------------
  110. // Traps
  111. //-------------------------------------------------------------------
  112. 1@tcamp,120,228,3 script Watchtower#Watch1 4_SYSTEM_BOX,7,7,{
  113. end;
  114. OnTouch: // note: hidden player trigger the event
  115. npctalk "Intruder detected !!";
  116. mapannounce 'map_tcamp$, "Intruder found, intruder found. Ruled out immediately.", bc_map, 0xFF0000;
  117. getmapxy .@map$,.@x,.@y, BL_NPC;
  118. areamonster 'map_tcamp$,.@x-2,.@y-2,.@x+2,.@y+2,"Base Soldier",21309,3; // EP18_MD_THOR_GUARD
  119. areamonster 'map_tcamp$,.@x-2,.@y-2,.@x+2,.@y+2,"Base Soldier",21310,3; // EP18_MD_GUARD_A
  120. end;
  121. OnTimer2000:
  122. specialeffect EF_WARP;
  123. initnpctimer;
  124. end;
  125. OnInstanceInit:
  126. initnpctimer;
  127. end;
  128. }
  129. 1@tcamp,135,228,3 duplicate(Watchtower#Watch1) Watchtower#Watch2 4_SYSTEM_BOX,7,7
  130. 1@tcamp,152,133,3 duplicate(Watchtower#Watch1) Watchtower#Watch3 4_SYSTEM_BOX,7,7
  131. 1@tcamp,167,133,3 duplicate(Watchtower#Watch1) Watchtower#Watch4 4_SYSTEM_BOX,7,7
  132. 1@tcamp,182,133,3 duplicate(Watchtower#Watch1) Watchtower#Watch5 4_SYSTEM_BOX,7,7
  133. 1@tcamp,161,96,3 duplicate(Watchtower#Watch1) Watchtower#Watch6 4_SYSTEM_BOX,7,7
  134. 1@tcamp,146,96,3 duplicate(Watchtower#Watch1) Watchtower#Watch7 4_SYSTEM_BOX,7,7
  135. 1@tcamp,116,102,3 duplicate(Watchtower#Watch1) Watchtower#Watch8 4_SYSTEM_BOX,7,7
  136. 1@tcamp,88,92,3 duplicate(Watchtower#Watch1) Watchtower#Watch9 4_SYSTEM_BOX,7,7
  137. 1@tcamp,240,148,3 duplicate(Watchtower#Watch1) Watchtower#Watch10 4_SYSTEM_BOX,7,7
  138. 1@tcamp,156,71,3 duplicate(Watchtower#Watch1) Watchtower#Watch11 4_SYSTEM_BOX,7,7
  139. 1@tcamp,176,194,3 duplicate(Watchtower#Watch1) Watchtower#Watch12 4_SYSTEM_BOX,7,7
  140. 1@tcamp,192,194,3 duplicate(Watchtower#Watch1) Watchtower#Watch13 4_SYSTEM_BOX,7,7
  141. 1@tcamp,142,153,3 duplicate(Watchtower#Watch1) Watchtower#Watch14 4_SYSTEM_BOX,7,7
  142. 1@tcamp,142,168,3 duplicate(Watchtower#Watch1) Watchtower#Watch15 4_SYSTEM_BOX,7,7
  143. 1@tcamp,192,179,3 duplicate(Watchtower#Watch1) Watchtower#Watch16 4_SYSTEM_BOX,7,7
  144. 1@tcamp,237,90,3 duplicate(Watchtower#Watch1) Watchtower#Watch17 4_SYSTEM_BOX,7,7
  145. //-------------------------------------------------------------------
  146. // Walls
  147. //-------------------------------------------------------------------
  148. 1@tcamp,138,216,3 script Lock Device#1-1 4_ROPEPILE,{
  149. .@maram$ = instance_npcname("Maram#Lock Device1");
  150. enablenpc .@maram$;
  151. npctalk "Maram: Please wait a moment. I know how to open it.", .@maram$;
  152. progressbar_npc "3131FF",10;
  153. npctalk "Maram: Well, we can pass now!", .@maram$;
  154. disablenpc instance_npcname("Lock Device#1-1");
  155. disablenpc instance_npcname("Lock Device#1-2");
  156. disablenpc .@maram$;
  157. setcell 'map_tcamp$,137,216,142,216,cell_walkable,1;
  158. end;
  159. }
  160. 1@tcamp,141,216,3 duplicate(Lock Device#1-1) Lock Device#1-2 4_ROPEPILE
  161. 1@tcamp,140,218,3 duplicate(dummy_disabled_npc) Maram#Lock Device1 4_EP18_MARAM
  162. 1@tcamp,136,145,3 script Lock Device#2-1 4_ROPEPILE,{
  163. .@maram$ = instance_npcname("Maram#Lock Device2");
  164. enablenpc .@maram$;
  165. progressbar_npc "3131FF",10;
  166. npctalk "It would be better to proceed with caution.", .@maram$;
  167. disablenpc instance_npcname("Lock Device#2-1");
  168. disablenpc instance_npcname("Lock Device#2-2");
  169. disablenpc instance_npcname("Lock Device#2-3");
  170. disablenpc instance_npcname("Lock Device#2-4");
  171. disablenpc .@maram$;
  172. setcell 'map_tcamp$,135,145,144,145,cell_walkable,1;
  173. end;
  174. }
  175. 1@tcamp,138,145,3 duplicate(Lock Device#2-1) Lock Device#2-2 4_ROPEPILE
  176. 1@tcamp,141,145,3 duplicate(Lock Device#2-1) Lock Device#2-3 4_ROPEPILE
  177. 1@tcamp,143,145,3 duplicate(Lock Device#2-1) Lock Device#2-4 4_ROPEPILE
  178. 1@tcamp,142,147,3 duplicate(dummy_disabled_npc) Maram#Lock Device2 4_EP18_MARAM
  179. 1@tcamp,223,109,3 script Lock Device#3-1 4_ROPEPILE,{
  180. .@maram$ = instance_npcname("Maram#Lock Device3");
  181. enablenpc .@maram$;
  182. npctalk "Maram: This building looks quite suspicious, right? There must be a surveillance system in here too.", .@maram$;
  183. progressbar_npc "3131FF",10;
  184. npctalk "Maram: Let's explore carefully this time, being careful not to get caught.", .@maram$;
  185. disablenpc instance_npcname("Lock Device#3-1");
  186. disablenpc instance_npcname("Lock Device#3-2");
  187. disablenpc .@maram$;
  188. setcell 'map_tcamp$,223,105,223,110,cell_walkable,1;
  189. end;
  190. }
  191. 1@tcamp,223,106,3 duplicate(Lock Device#3-1) Lock Device#3-2 4_ROPEPILE
  192. 1@tcamp,226,114,3 duplicate(dummy_disabled_npc) Maram#Lock Device3 4_EP18_MARAM
  193. 1@tcamp,80,99,3 script Lock Device#4-1 4_ROPEPILE,{
  194. .@maram$ = instance_npcname("Maram#Lock Device4");
  195. enablenpc .@maram$;
  196. npctalk "Maram: Looks like we're in pretty deep. We should be able to safely find what we need.", .@maram$;
  197. progressbar_npc "3131FF",10;
  198. npctalk "Maram: Shall we wish you good luck?", .@maram$;
  199. disablenpc instance_npcname("Lock Device#4-1");
  200. disablenpc instance_npcname("Lock Device#4-2");
  201. disablenpc instance_npcname("Lock Device#4-3");
  202. disablenpc .@maram$;
  203. setcell 'map_tcamp$,80,94,80,100,cell_walkable,1;
  204. enablenpc instance_npcname("Pile of documents#Base1");
  205. enablenpc instance_npcname("Pile of documents#Base2");
  206. enablenpc instance_npcname("Pile of documents#Base3");
  207. enablenpc instance_npcname("Pile of documents#Base4");
  208. enablenpc instance_npcname("Pile of documents#Base5");
  209. enablenpc instance_npcname("Miriam#Base1");
  210. enablenpc instance_npcname("Maram#Base5");
  211. if ('step == 0)
  212. 'step = 1;
  213. end;
  214. }
  215. 1@tcamp,80,97,3 duplicate(Lock Device#4-1) Lock Device#4-2 4_ROPEPILE
  216. 1@tcamp,80,95,3 duplicate(Lock Device#4-1) Lock Device#4-3 4_ROPEPILE
  217. 1@tcamp,82,100,3 duplicate(dummy_disabled_npc) Maram#Lock Device4 4_EP18_MARAM
  218. //-------------------------------------------------------------------
  219. // Final
  220. //-------------------------------------------------------------------
  221. 1@tcamp,32,100,3 script(DISABLED) Pile of documents#Base1 4_EP18_PAPERS,{
  222. if ('step != 1)
  223. end;
  224. mes "[Pile of documents]";
  225. mes "All kinds of documents are all mixed up.";
  226. mes "I took out a few pages from the middle and found that they were weapons expiration dates and sales records.";
  227. next;
  228. mes "[Pile of documents]";
  229. mes "Even the date is very recent. There is also a record of handing over a large amount of weapons to Mr. Dandelion.";
  230. mes "It looks like I found what I was looking for. I put the documents in my arms.";
  231. close2;
  232. getitem 1000409,1; // Ep18_Docu_File
  233. cloakonnpcself();
  234. end;
  235. }
  236. 1@tcamp,49,123,3 script(DISABLED) Pile of documents#Base2 4_EP18_PAPERS,{
  237. if ('step != 1)
  238. end;
  239. mes "[Pile of documents]";
  240. mes "All kinds of documents are all mixed up.";
  241. mes "On the top page... is it a battle to decide the menu for lunch?";
  242. next;
  243. mes "[Pile of documents]";
  244. mes "It looks like the menu has been set on fried fish covered in sauce....";
  245. mes "It looks like he left behind only unimportant documents. Let's take care of them for now.";
  246. close2;
  247. getitem 1000409,1; // Ep18_Docu_File
  248. cloakonnpcself();
  249. end;
  250. }
  251. 1@tcamp,29,86,3 script(DISABLED) Pile of documents#Base3 4_EP18_PAPERS,{
  252. if ('step != 1)
  253. end;
  254. mes "[Pile of documents]";
  255. mes "All kinds of documents are all mixed up.";
  256. mes "I took one out from the middle and saw... a map of the security guards at the military base?";
  257. next;
  258. mes "[Pile of documents]";
  259. mes "Looking at the date, it's a long time ago document.";
  260. mes "It looks like he left behind only unimportant documents. Let's take care of them for now.";
  261. close2;
  262. getitem 1000409,1; // Ep18_Docu_File
  263. cloakonnpcself();
  264. end;
  265. }
  266. 1@tcamp,60,122,3 script(DISABLED) Pile of documents#Base4 4_EP18_PAPERS,{
  267. if ('step != 1)
  268. end;
  269. mes "[Pile of documents]";
  270. mes "All kinds of documents are all mixed up.";
  271. mes "The top chapter is... ¡®If you feed a magmaring a potato and then hunt it after a while, should it drop a baked potato?'";
  272. next;
  273. mes "[Pile of documents]";
  274. mes "...Why is this here? But I'm curious about the results!";
  275. mes "It looks like he left behind only unimportant documents. Let's take care of them for now.";
  276. close2;
  277. getitem 1000409,1; // Ep18_Docu_File
  278. cloakonnpcself();
  279. end;
  280. }
  281. 1@tcamp,31,84,3 script(DISABLED) Pile of documents#Base5 4_EP18_PAPERS,{
  282. if ('step != 1)
  283. end;
  284. mes "[Pile of documents]";
  285. mes "All kinds of documents are all mixed up.";
  286. mes "When I pulled one out from the middle... I found an illustration of the Pope drawn with Pope cookie icing using a pen.";
  287. next;
  288. mes "[Pile of documents]";
  289. mes "What kind of picture is this? And it's really well drawn....";
  290. mes "It looks like he left behind only unimportant documents. Let's take care of them for now.";
  291. close2;
  292. getitem 1000409,1; // Ep18_Docu_File
  293. cloakonnpcself();
  294. end;
  295. }
  296. 1@tcamp,34,100,3 script(DISABLED) Miriam#Base1 4_EP18_MIRIAM,3,3,{
  297. if ('step == 1) {
  298. if (countitem(1000409) < 5) { // Ep18_Docu_File
  299. cutin "ep18_miriam_02.png",2;
  300. mes "[Miriam]";
  301. mes "As expected, you are talented, adventurer. I used all my connections to find out the location.";
  302. mes "It looks like you found the adventurer and Maram right away.";
  303. next;
  304. mes "[Miriam]";
  305. mes "Please read these documents. They contain what we are looking for.";
  306. mes "Rather than having me explain everything to you, I think it would be better for you to see it for yourself.";
  307. close3;
  308. }
  309. if (getequipid(EQI_HEAD_TOP) != 400127) { // Ep18_Mini_Elly
  310. mes "[Mini Elly]";
  311. mes "Get it out of the bag. Put it on your head.";
  312. close;
  313. }
  314. mes "[Miriam]";
  315. mes ".......";
  316. next;
  317. cutin "ep18_maram_01.png",2;
  318. mes "[Maram]";
  319. mes "No, Miriam! How are you here?";
  320. mes "They said they would conduct a separate investigation!";
  321. next;
  322. cutin "ep18_miriam_01.png",2;
  323. mes "[Miriam]";
  324. mes "How did you and the adventurer dig this far?";
  325. mes "As expected, your skills are good. I used all my connections to find out the location, but you found it right away.";
  326. next;
  327. cutin "ep18_maram_02.png",2;
  328. mes "[Maram]";
  329. mes "Let's do something about it, right, adventurer?";
  330. mes "Anyway, what information did you get?";
  331. next;
  332. cutin "ep18_miriam_02.png",2;
  333. mes "[Miriam]";
  334. mes "Look at this document here.";
  335. next;
  336. cutin "",255;
  337. mes "[Mini Elly]";
  338. mes "This document is a weapon sales record. Please show it to me.";
  339. mes "All of the weapons and firearms that these people disposed of have less than a year left before their expiration date.";
  340. next;
  341. cutin "ep18_miriam_03.png",2;
  342. mes "[Miriam]";
  343. mes "You sell weapons like this so recklessly.";
  344. mes "If a weapon is not properly maintained, it may not function properly.";
  345. next;
  346. cutin "ep18_maram_03.png",2;
  347. mes "[Maram]";
  348. mes "The quality of all weapons coming out of the back hole is the same.";
  349. mes "...But I guess it's at this point in time.";
  350. next;
  351. mes "[Maram]";
  352. mes "One year is not a long expiration date, but it is not too tight.";
  353. mes "Why did it pour out at this moment when we were preparing for the protest?";
  354. next;
  355. mes "[Maram]";
  356. mes "There wouldn't have been a need to dispose of it right away.";
  357. next;
  358. cutin "ep18_miriam_02.png",2;
  359. mes "[Miriam]";
  360. mes "This is one of the military bases managed by my adoptive father.";
  361. mes "I was wondering if it would really pop out at a time like this.";
  362. next;
  363. cutin "",255;
  364. select( "If it's your adoptive father, is it Priest Amal?", "That adoptive father who is a hardliner and pro-war?" );
  365. cutin "ep18_miriam_02.png",2;
  366. mes "[Miriam]";
  367. mes "That's right, adventurer. When I looked at the ledger, it doesn't seem like my adoptive father was involved.";
  368. mes "I think it's an isolated corruption at the lowest level, the weapons leak incident.";
  369. next;
  370. mes "[Miriam]";
  371. mes "I'll have to dig a little deeper, but that's my guess for now.";
  372. mes "Oh, please give me the documents. I'll take them as evidence.";
  373. delitem 1000409,5; // Ep18_Docu_File
  374. if ('step == 1)
  375. 'step = 2;
  376. if (isbegin_quest(16578) == 1) {
  377. erasequest 16578;
  378. setquest 16579;
  379. }
  380. close2;
  381. cutin "",255;
  382. npctalk "Maram: Ha, this is really fun.", instance_npcname("Maram#Base5");
  383. end;
  384. }
  385. if ('step == 2) {
  386. cutin "ep18_miriam_02.png",2;
  387. mes "[Miriam]";
  388. mes "...Just a moment, I'm reading the document.";
  389. close;
  390. }
  391. end;
  392. OnTouch:
  393. if (countitem(1000409) < 5)
  394. npctalk "Miriam: Oh, adventurer? Maram, you too!?";
  395. end;
  396. OnInstanceInit:
  397. questinfo( QTYPE_QUEST2, QMARK_YELLOW, "isbegin_quest(16578) == 1 && countitem(1000409) > 4" ); // Ep18_Docu_File
  398. end;
  399. }
  400. 1@tcamp,32,102,3 script(DISABLED) Maram#Base5 4_EP18_MARAM,{
  401. if ('step == 1) {
  402. cutin "ep18_maram_01.png",2;
  403. mes "[Maram]";
  404. mes "I didn't know Miriam would be here. Right, adventurer?";
  405. close3;
  406. }
  407. if ('step == 2) {
  408. mes "[Maram]";
  409. mes "They moved separately, but ended up in the same place.";
  410. mes "Still, what I gained from the process was different, so I guess it has some meaning.";
  411. next;
  412. cutin "ep18_miriam_02.png",2;
  413. mes "[Miriam]";
  414. mes "Then I guess I'll have to leave for a while.";
  415. mes "I'll have to relay what I found out to my adoptive father.";
  416. next;
  417. mes "[Miriam]";
  418. mes "If it's an isolated corruption, there's a chance that even my adoptive father doesn't know about it yet.";
  419. next;
  420. cutin "ep18_maram_03.png",2;
  421. mes "[Maram]";
  422. mes "Is this really an isolated case of corruption? That is something that bothers me.";
  423. mes "I also have something to deliver to Rachel, so Miriam, let's go together.";
  424. next;
  425. cutin "ep18_maram_01.png",2;
  426. mes "[Maram]";
  427. mes "I will tell you a shortcut to get out, so would you, adventurer, tell Suad what you found out here?";
  428. mes "We will follow shortly, so please go and tell us first.";
  429. if (ep18_main == 46) {
  430. ep18_main = 47;
  431. erasequest 16579;
  432. setquest 16580;
  433. getitem 1000405,50; // Ep18_Amethyst_Fragment
  434. }
  435. close2;
  436. warp "wolfvill",162,154;
  437. end;
  438. }
  439. // debug
  440. warp "wolfvill",162,154;
  441. end;
  442. OnInstanceInit:
  443. questinfo( QTYPE_QUEST2, QMARK_YELLOW, "isbegin_quest(16579) == 1" );
  444. end;
  445. }