GhostPalace.txt 40 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993
  1. //===== rAthena Script =======================================
  2. //= Ghost Palace
  3. //===== Description: =========================================
  4. //= [Walkthrough Conversion]
  5. //= Ghost Palace Instance
  6. //===== Changelogs: ==========================================
  7. //= 1.0 First version. [Capuche]
  8. //= 1.1 Fixed NPC names. [zackdreaver]
  9. //============================================================
  10. dali02,43,129,5 script Unpleasant Royal Guard# 4_M_SAKRAYROYAL,{
  11. if (BaseLevel < 120) {
  12. mes "[Unpleasant Royal Guard]";
  13. mes "Although I need help with a task, you are not strong enough to assist me, noob~!";
  14. next;
  15. mes "[Unpleasant Royal Guard]";
  16. mes "Come back later when you have done some training and are at least level 120!";
  17. close;
  18. }
  19. .@party_id = getcharid(1);
  20. if (is_party_leader() == false || .@party_id < 1) {
  21. mes "[Unpleasant Royal Guard]";
  22. mes "I can only open the secret passage for party leaders. Please have your party leader talk to me.";
  23. close;
  24. }
  25. switch( checkquest(1261,PLAYTIME) ) {
  26. case -1:
  27. break;
  28. case 0:
  29. case 1:
  30. mes "[Unpleasant Royal Guard]";
  31. mes "Have you found the princess yet?! Is she safe?";
  32. close;
  33. case 2:
  34. mes "[Unpleasant Royal Guard]";
  35. mes "The monsters around the secret passage have disappeared. Now is our chance to save the princess!";
  36. erasequest 1261;// Cursed Swordman
  37. close;
  38. }
  39. mes "[Unpleasant Royal Guard]";
  40. mes "I need help, even from the likes of you.";
  41. next;
  42. mes "[Unpleasant Royal Guard]";
  43. mes "In the middle of battle the princess disappeared while I was guarding the palace.";
  44. next;
  45. mes "[Unpleasant Royal Guard]";
  46. mes "You run ahead and I will catch up. We must save her.";
  47. next;
  48. if (select( "I will help.", "This is not a good time." ) == 2) {
  49. mes "[Unpleasant Royal Guard]";
  50. mes "Even now all the royal guards are fighting and dying from the monsters.";
  51. next;
  52. mes "[Unpleasant Royal Guard]";
  53. mes "We must, no matter how much fear grips our hearts, save the princess!";
  54. close;
  55. }
  56. instance_create("Ghost Palace");
  57. mes "[Unpleasant Royal Guard]";
  58. mes "Thank you..";
  59. mes "I will open the secret passage to the ^0000ffGhost Palace^000000.";
  60. mes "Please be ready!";
  61. close;
  62. }
  63. dali02,40,134,5 script Interdimensional Device#dk PORTAL,{
  64. if (BaseLevel < 120) {
  65. mes "[Unpleasant Royal Guard]";
  66. mes "Althought I need help with a task, you are not strong enough to assist me, noob~!";
  67. next;
  68. mes "[Unpleasant Royal Guard]";
  69. mes "Come back later when you have done some training and are at least level 120!";
  70. close;
  71. }
  72. mes "[Unpleasant Royal Guard]";
  73. mes "I can see the secret passage into the palace. Are you ready to save the princess?!";
  74. next;
  75. if (select( "Enter", "Stop" ) == 2) {
  76. mes "[Unpleasant Royal Guard]";
  77. mes "Even now all the royal guards are fighting and dying from the monsters.";
  78. next;
  79. mes "[Unpleasant Royal Guard]";
  80. mes "We must, no matter how much fear grips our hearts, save the princess!";
  81. close;
  82. }
  83. switch( checkquest(1261,PLAYTIME) ) {
  84. case -1:
  85. break;
  86. case 0:
  87. case 1:
  88. mes "[Unpleasant Royal Guard]";
  89. mes "The monsters that attacked the palace are wandering around the secret entrance. It would be very bad if they spotted us... Please wait.";
  90. next;
  91. mes "When the time limit for the entrance is up";
  92. mes "let's try to re-enter.";
  93. close;
  94. case 2:
  95. mes "^0000ffThe time limit for entering to the Curse of the Swordsman is finished. Please try to talk to the Unpleasent Royal Guard again..^000000";
  96. erasequest 1261;// Cursed Swordman
  97. close;
  98. }
  99. .@party_id = getcharid(1);
  100. if (is_party_leader() == false || .@party_id < 1) {
  101. mes "[Unpleasant Royal Guard]";
  102. mes "I can only open the secret passage for party leaders. Please have your party leader talk to me.";
  103. close;
  104. }
  105. .@md_name$ = "Ghost Palace";
  106. switch( instance_enter(.@md_name$) ) {
  107. case IE_OTHER:
  108. mes "An unknown error occurred.";
  109. close;
  110. case IE_NOINSTANCE:
  111. mes "^ff0000Inside the devices you see a dark hole. If you wish to enter you must to talk to the Unpleasent Royal Guard first.^000000";
  112. close;
  113. case IE_NOMEMBER:
  114. mes "Only registered members can enter the " + .@md_name$ + " instance.";
  115. close;
  116. case IE_OK:
  117. mapannounce "dali", "" + strcharinfo(0) + " of the party, " + getpartyname(.@party_id) + ", is entering the Ghost Palace.", bc_map, 0x00ff99;
  118. // warp "1@spa",42,196;
  119. setquest 1261;// Cursed Swordman
  120. end;
  121. }
  122. }
  123. // 1st floor
  124. 1@spa,41,204,5 script King#dk 4_M_RUSKING,{
  125. mes "[King]";
  126. mes "You are hereby appointed as the personal guard to Princess Tiara. I trust your loyalty above all else.";
  127. npctalk "King: You are hereby appointed as the personal guard to Princess Tiara. I trust your loyalty above all else.";
  128. next;
  129. mes "[Lurid Royal Guard]";
  130. mes "I will protect the princess with my life.";
  131. npctalk "Lurid Royal Guard: I will protect the princess with my life.", instance_npcname("Lurid Royal Guard#dk");
  132. next;
  133. mes "[King]";
  134. mes "The marriage arrangements are going as planned. The prince is here to meet with the princess.";
  135. npctalk "King: The marriage arrangements are going as planned. The prince is here to meet with the princess.";
  136. next;
  137. mes "[Lurid Royal Guard]";
  138. mes "...Yes, Your Majesty.";
  139. npctalk "Lurid Royal Guard: ...Yes, Your Majesty.", instance_npcname("Lurid Royal Guard#dk");
  140. next;
  141. mes "[King]";
  142. mes "My gods, there are monsters in the castle! Get rid of them now!";
  143. npctalk "King: My gods, there are monsters in the castle! Get rid of them now!";
  144. close2;
  145. donpcevent instance_npcname("#gp_control_1") + "::OnStart";
  146. end;
  147. OnInstanceInit:
  148. // 1: enabled potential double spawn (official), 0: disabled
  149. 'bool_double_spawn = 1;
  150. 'map_spa$ = instance_mapname("1@spa");
  151. // warps
  152. disablenpc instance_npcname("The second floor of Palace");
  153. disablenpc instance_npcname("3rd floor in the palace");
  154. disablenpc instance_npcname("4th floor in the palace");
  155. disablenpc instance_npcname("5th floor of Palace");
  156. disablenpc instance_npcname("Way out of Palace");
  157. // first floor
  158. disablenpc instance_npcname("#gp_control_1");
  159. // second floor
  160. disablenpc instance_npcname("Lurid Royal Guard#dk1");
  161. disablenpc instance_npcname("Princess Tiara#dk");
  162. disablenpc instance_npcname("#gp_control_2");
  163. // 3rd floor
  164. disablenpc instance_npcname("King#dk1");
  165. disablenpc instance_npcname("Lurid Royal Guard#dk2");
  166. disablenpc instance_npcname("Captain of the Guard#dk");
  167. disablenpc instance_npcname("Soldier#dk1");
  168. disablenpc instance_npcname("Soldier#dk2");
  169. disablenpc instance_npcname("Soldier#dk3");
  170. disablenpc instance_npcname("Lurid Royal Guard#dk3");
  171. disablenpc instance_npcname("Magic Sword Tartanos#dk1");
  172. disablenpc instance_npcname("#gp_control_3");
  173. // 4th floor
  174. disablenpc instance_npcname("#gp_control_4");
  175. disablenpc instance_npcname("#gp_control_5");
  176. disablenpc instance_npcname("Magic Sword Tartanos#dk2");
  177. disablenpc instance_npcname("Visiting Prince#dk");
  178. disablenpc instance_npcname("Lurid Royal Guard#dk4");
  179. disablenpc instance_npcname("King's Corpse#dk");
  180. disablenpc instance_npcname("Captain's Corpse#dk");
  181. disablenpc instance_npcname("Soldier's Corpse#dk");
  182. disablenpc instance_npcname("Soldier's Corpse#dk1");
  183. disablenpc instance_npcname("Soldier's Corpse#dk2");
  184. disablenpc instance_npcname("Soldier's Corpse#dk3");
  185. disablenpc instance_npcname("Soldier's Corpse#dk4");
  186. // 5th floor
  187. disablenpc instance_npcname("#gp_control_6");
  188. disablenpc instance_npcname("Princess Tiara#dk1");
  189. disablenpc instance_npcname("Lurid Royal Guard#dk5");
  190. disablenpc instance_npcname("King#dk11");
  191. disablenpc instance_npcname("Sakray#dk");
  192. disablenpc instance_npcname("Magic Sword Tartanos#dk3");
  193. disablenpc instance_npcname("#tb");
  194. disablenpc instance_npcname("#sv");
  195. disablenpc instance_npcname("#tv");
  196. end;
  197. }
  198. 1@spa,42,201,1 script Lurid Royal Guard#dk 4_M_SAKRAYROYAL,{ end; }
  199. 1@spa,1,1,1 script #gp_control_1 HIDDEN_WARP_NPC,{
  200. end;
  201. OnStart:
  202. enablenpc instance_npcname("#gp_control_1");
  203. disablenpc instance_npcname("King#dk");
  204. disablenpc instance_npcname("Lurid Royal Guard#dk");
  205. initnpctimer;
  206. end;
  207. OnTimer2000:
  208. .@label$ = instance_npcname("#gp_control_1") + "::OnMyMobDead1";
  209. monster 'map_spa$,50,194,"Cursed Soldier",2948,1, .@label$; // CURSED_SOLDIER
  210. monster 'map_spa$,34,208,"Cursed Soldier",2948,1, .@label$; // CURSED_SOLDIER
  211. monster 'map_spa$,32,194,"Cursed Gatekeeper",2949,1, .@label$; // CURSED_SENTINEL
  212. monster 'map_spa$,52,209,"Cursed Gatekeeper",2949,1, .@label$; // CURSED_SENTINEL
  213. stopnpctimer;
  214. end;
  215. OnMyMobDead1:
  216. if (mobcount('map_spa$, instance_npcname("#gp_control_1") + "::OnMyMobDead1") < (1 + 'bool_double_spawn)) {
  217. deltimer instance_npcname("#gp_control_1") + "::OnSpawn1"; // stop double spawn if timer is running
  218. addtimer 2000, instance_npcname("#gp_control_1") + "::OnSpawn1";
  219. }
  220. end;
  221. OnSpawn1:
  222. .@label$ = instance_npcname("#gp_control_1") + "::OnMyMobDead2";
  223. monster 'map_spa$,37,182,"Cursed Soldier",2948,1, .@label$; // CURSED_SOLDIER
  224. monster 'map_spa$,46,182,"Cursed Gatekeeper",2949,1, .@label$; // CURSED_SENTINEL
  225. end;
  226. OnMyMobDead2:
  227. if (mobcount('map_spa$, instance_npcname("#gp_control_1") + "::OnMyMobDead2") < 1) {
  228. deltimer instance_npcname("#gp_control_1") + "::OnSpawn1"; // stop double spawn if timer is running
  229. deltimer instance_npcname("#gp_control_1") + "::OnSpawn2";
  230. addtimer 2000, instance_npcname("#gp_control_1") + "::OnSpawn2";
  231. }
  232. end;
  233. OnSpawn2:
  234. .@label$ = instance_npcname("#gp_control_1") + "::OnMyMobDead3";
  235. monster 'map_spa$,30,200,"Cursed Soldier",2948,1, .@label$; // CURSED_SOLDIER
  236. monster 'map_spa$,51,200,"Cursed Gatekeeper",2949,1, .@label$; // CURSED_SENTINEL
  237. monster 'map_spa$,53,199,"Cursed Gatekeeper",2949,1, .@label$; // CURSED_SENTINEL
  238. end;
  239. OnMyMobDead3:
  240. if (mobcount('map_spa$, instance_npcname("#gp_control_1") + "::OnMyMobDead3") < 1) {
  241. mapannounce 'map_spa$, "The passage on the 2nd floor in the palace of ghost is open .", bc_map,0xFFFF00;
  242. enablenpc instance_npcname("The second floor of Palace");
  243. enablenpc instance_npcname("Lurid Royal Guard#dk1");
  244. enablenpc instance_npcname("Princess Tiara#dk");
  245. }
  246. end;
  247. }
  248. // 2nd floor
  249. 1@spa,132,122,7 script Lurid Royal Guard#dk1 4_M_SAKRAYROYAL,{
  250. .@tiara$ = instance_npcname("Princess Tiara#dk");
  251. cutin "npc-tiara.bmp",3;
  252. mes "[Lurid Royal Guard]";
  253. mes "Your Highness, the King has invited a prince from a neighboring country to be your betrothed. Be ready to meet him...";
  254. npctalk "Lurid Royal Guard: Your Highness, the King has invited a prince from a neighboring country to be your betrothed. Be ready to meet him...";
  255. next;
  256. mes "[Princess Tiara]";
  257. mes "If...If a marriage is arranged what should I do?";
  258. npctalk "Princess Tiara: If...If a marriage is arranged what should I do?", .@tiara$;
  259. next;
  260. mes "[Lurid Royal Guard]";
  261. mes "The only thing I can do is protect you from physical harm.";
  262. npctalk "Lurid Royal Guard: The only thing I can do is protect you from physical harm.";
  263. next;
  264. mes "[Princess Tiara]";
  265. mes "Then, what can I do?";
  266. npctalk "Princess Tiara: Then, what can I do?", .@tiara$;
  267. next;
  268. mes "[Lurid Royal Guard]";
  269. mes "You must decide that for yourself Your Highness...";
  270. npctalk "Lurid Royal Guard: You must decide that for yourself Your Highness...";
  271. next;
  272. mes "[Princess Tiara]";
  273. mes "Would it be easier for you if I were married and sent off to another country?";
  274. npctalk "Princess Tiara: Would it be easier for you if I were married and sent off to another country?", .@tiara$;
  275. next;
  276. mes "[Lurid Royal Guard]";
  277. mes "I will always stand by you and protect you forever.";
  278. npctalk "Lurid Royal Guard: I will always stand by you and protect you forever.";
  279. cutin "npc-tiara.bmp",255;
  280. next;
  281. mes "[Princess Tiara]";
  282. mes "Monsters have gotten inside the castle? Please, protect me!";
  283. npctalk "Princess Tiara: Monsters have gotten inside the castle? Please, protect me!", .@tiara$;
  284. next;
  285. mes "[Lurid Royal Guard]";
  286. mes "Stay behind me. Let's go!";
  287. npctalk "Lurid Royal Guard: Stay behind me. Let's go!";
  288. close2;
  289. donpcevent instance_npcname("#gp_control_2") + "::OnStart";
  290. end;
  291. }
  292. 1@spa,135,125,3 duplicate(Lurid Royal Guard#dk) Princess Tiara#dk 4_F_MAYSEL
  293. 1@spa,1,1,1 script #gp_control_2 HIDDEN_WARP_NPC,{
  294. end;
  295. OnStart:
  296. enablenpc instance_npcname("#gp_control_2");
  297. disablenpc instance_npcname("Lurid Royal Guard#dk1");
  298. disablenpc instance_npcname("Princess Tiara#dk");
  299. disablenpc instance_npcname("The second floor of Palace");
  300. killmonster 'map_spa$, instance_npcname("#gp_control_1") + "::OnMyMobDead1";
  301. killmonster 'map_spa$, instance_npcname("#gp_control_1") + "::OnMyMobDead2";
  302. killmonster 'map_spa$, instance_npcname("#gp_control_1") + "::OnMyMobDead3";
  303. disablenpc instance_npcname("#gp_control_1");
  304. initnpctimer;
  305. end;
  306. OnTimer2000:
  307. .@label$ = instance_npcname("#gp_control_2") + "::OnMyMobDead1";
  308. monster 'map_spa$,135,116,"Broken Promise",2950,1, .@label$; // BROKEN_MIND
  309. monster 'map_spa$,110,120,"Broken Promise",2950,1, .@label$; // BROKEN_MIND
  310. monster 'map_spa$,122,112,"Floating Sorrow",2951,1, .@label$; // FLOATING_WORD
  311. monster 'map_spa$,121,129,"Unfulfilled Love",2952,1, .@label$; // LIKE_LOVE
  312. stopnpctimer;
  313. end;
  314. OnMyMobDead1:
  315. if (mobcount('map_spa$, instance_npcname("#gp_control_2") + "::OnMyMobDead1") < 1) {
  316. sleep 2000;
  317. .@label$ = instance_npcname("#gp_control_2") + "::OnMyMobDead2";
  318. monster 'map_spa$,120,103,"Broken Promise",2950,1, .@label$; // BROKEN_MIND
  319. monster 'map_spa$,115,137,"Floating Sorrow",2951,1, .@label$; // FLOATING_WORD
  320. monster 'map_spa$,103,130,"Unfulfilled Love",2952,1, .@label$; // LIKE_LOVE
  321. }
  322. end;
  323. OnMyMobDead2:
  324. if (mobcount('map_spa$, instance_npcname("#gp_control_2") + "::OnMyMobDead2") < 1) {
  325. sleep 2000;
  326. .@label$ = instance_npcname("#gp_control_2") + "::OnMyMobDead3";
  327. monster 'map_spa$,98,119,"Floating Sorrow",2951,1, .@label$; // FLOATING_WORD
  328. monster 'map_spa$,98,120,"Floating Sorrow",2951,1, .@label$; // FLOATING_WORD
  329. monster 'map_spa$,103,109,"Unfulfilled Love",2952,1, .@label$; // LIKE_LOVE
  330. }
  331. end;
  332. OnMyMobDead3:
  333. if (mobcount('map_spa$, instance_npcname("#gp_control_2") + "::OnMyMobDead3") < 1) {
  334. mapannounce 'map_spa$, "The passage on the 3rd floor of the palace is open.", bc_map,0xFFFF00;
  335. enablenpc instance_npcname("3rd floor in the palace");
  336. enablenpc instance_npcname("King#dk1");
  337. enablenpc instance_npcname("Lurid Royal Guard#dk2");
  338. enablenpc instance_npcname("Captain of the Guard#dk");
  339. enablenpc instance_npcname("Soldier#dk1");
  340. enablenpc instance_npcname("Soldier#dk2");
  341. enablenpc instance_npcname("Soldier#dk3");
  342. disablenpc instance_npcname("#gp_control_2");
  343. }
  344. end;
  345. }
  346. // 3rd floor
  347. 1@spa,32,54,1 script King#dk1 4_M_RUSKING,{
  348. mes "[King]";
  349. mes "It was you who brought the monsters here! You want to get rid of me and have the princess for yourself?";
  350. npctalk "King: It was you who brought the monsters here! You want to get rid of me and have the princess for yourself?";
  351. next;
  352. mes "[Lurid Royal Guard]";
  353. mes "It is a trap Your Majesty! You must trust me!";
  354. npctalk "Lurid Royal Guard: It is a trap Your Majesty! You must trust me!", instance_npcname("Lurid Royal Guard#dk2");
  355. next;
  356. mes "[King]";
  357. mes "Shut up! You've betrayed me! I trusted you... you must pay for your disgrace.";
  358. npctalk "King: Shut up! You've betrayed me! I trusted you... you must pay for your disgrace.";
  359. next;
  360. mes "[King]";
  361. mes "You will suffer for the rest of your life.";
  362. npctalk "King: You will suffer for the rest of your life.";
  363. close2;
  364. disablenpc instance_npcname("3rd floor in the palace");
  365. disablenpc instance_npcname("King#dk1");
  366. disablenpc instance_npcname("Captain of the Guard#dk");
  367. disablenpc instance_npcname("Soldier#dk1");
  368. disablenpc instance_npcname("Soldier#dk2");
  369. disablenpc instance_npcname("Soldier#dk3");
  370. disablenpc instance_npcname("Lurid Royal Guard#dk2");
  371. donpcevent instance_npcname("Magic Sword Tartanos#dk1") + "::OnStart";
  372. end;
  373. }
  374. 1@spa,35,56,5 script Magic Sword Tartanos#dk1 4_TRACE,{
  375. end;
  376. OnStart:
  377. enablenpc instance_npcname("Magic Sword Tartanos#dk1");
  378. enablenpc instance_npcname("Lurid Royal Guard#dk3");
  379. initnpctimer;
  380. end;
  381. OnTimer5000:
  382. npctalk "Ominous Voice: Oh, faithful royal guard, you are trapped.";
  383. end;
  384. OnTimer8000:
  385. npctalk "Ominous Voice: The conspiracy in the palace has your princess in grave danger...";
  386. end;
  387. OnTimer12000:
  388. npctalk "Lurid Royal Guard: Who are you? Show yourself!", instance_npcname("Lurid Royal Guard#dk3");
  389. end;
  390. OnTimer15000:
  391. npctalk "Ominous Voice: Ah... so you do you hear me?";
  392. end;
  393. OnTimer20000:
  394. npctalk "Lurid Royal Guard: ...?", instance_npcname("Lurid Royal Guard#dk3");
  395. end;
  396. OnTimer23000:
  397. npctalk "Ominous Voice: I can give you unlimited power. If you make a pact with me.";
  398. end;
  399. OnTimer28000:
  400. npctalk "Lurid Royal Guard: I..I...", instance_npcname("Lurid Royal Guard#dk3");
  401. end;
  402. OnTimer33000:
  403. npctalk "Magic Sword Tartanos: Kukuku... What do you want boy?";
  404. end;
  405. OnTimer34000:
  406. stopnpctimer;
  407. disablenpc instance_npcname("Magic Sword Tartanos#dk1");
  408. disablenpc instance_npcname("Lurid Royal Guard#dk3");
  409. donpcevent instance_npcname("#gp_control_3") + "::OnStart";
  410. end;
  411. }
  412. 1@spa,28,52,7 duplicate(Lurid Royal Guard#dk) Captain of the Guard#dk 4_M_KY_KNT
  413. 1@spa,25,53,7 duplicate(Lurid Royal Guard#dk) Soldier#dk1 4_M_CRU_SOLD
  414. 1@spa,34,53,1 duplicate(Lurid Royal Guard#dk) Soldier#dk2 4_M_CRU_SOLD
  415. 1@spa,30,52,7 duplicate(Lurid Royal Guard#dk) Soldier#dk3 4_M_KY_SOLD
  416. 1@spa,30,58,5 duplicate(Lurid Royal Guard#dk) Lurid Royal Guard#dk2 4_M_SAKRAY_TIED
  417. 1@spa,31,57,5 duplicate(Lurid Royal Guard#dk) Lurid Royal Guard#dk3 4_M_SAKRAY_TIED
  418. 1@spa,1,1,1 script #gp_control_3 HIDDEN_WARP_NPC,{
  419. end;
  420. OnStart:
  421. enablenpc instance_npcname("#gp_control_3");
  422. initnpctimer;
  423. end;
  424. OnTimer2000:
  425. .@label$ = instance_npcname("#gp_control_3") + "::OnMyMobDead1";
  426. monster 'map_spa$,31,57, "Regretful Memory",2953,1, .@label$; // CURSED_MEMORY
  427. monster 'map_spa$,59,24, "Regretful Memory",2953,1, .@label$; // CURSED_MEMORY
  428. monster 'map_spa$,23,40, "Wasted Friendship",2955,1, .@label$; // OLD_FRIENDSHIP
  429. monster 'map_spa$,54,45, "Tarnished Oath",2954,1, .@label$; // COLORLESS_VOW
  430. monster 'map_spa$,26,20, "Tarnished Oath",2954,1, .@label$; // COLORLESS_VOW
  431. stopnpctimer;
  432. end;
  433. OnMyMobDead1:
  434. if (mobcount('map_spa$, instance_npcname("#gp_control_3") + "::OnMyMobDead1") < 1)
  435. addtimer 2000, instance_npcname("#gp_control_3") + "::OnSpawn1";
  436. end;
  437. OnSpawn1:
  438. .@label$ = instance_npcname("#gp_control_3") + "::OnMyMobDead2";
  439. monster 'map_spa$,30,52, "Tarnished Oath",2954,1, .@label$; // COLORLESS_VOW
  440. monster 'map_spa$,58,58, "Wasted Friendship",2955,1, .@label$; // OLD_FRIENDSHIP
  441. monster 'map_spa$,54,24, "Regretful Memory",2953,1, .@label$; // CURSED_MEMORY
  442. end;
  443. OnMyMobDead2:
  444. if (mobcount('map_spa$, instance_npcname("#gp_control_3") + "::OnMyMobDead2") < (1 + 'bool_double_spawn)) {
  445. deltimer instance_npcname("#gp_control_3") + "::OnAnnounce";
  446. addtimer 500, instance_npcname("#gp_control_3") + "::OnAnnounce";
  447. }
  448. end;
  449. OnAnnounce:
  450. mapannounce 'map_spa$, "The passage on the 4th floor of the palace is open.", bc_map,0xFFFF00;
  451. enablenpc instance_npcname("4th floor in the palace");
  452. deltimer instance_npcname("#gp_control_3") + "::OnSpawn2"; // stop double spawn if timer is running
  453. addtimer 2000, instance_npcname("#gp_control_3") + "::OnSpawn2";
  454. end;
  455. OnSpawn2:
  456. donpcevent instance_npcname("#gp_control_4") + "::OnStart";
  457. // 35 mobs
  458. .@label$ = instance_npcname("#gp_control_3") + "::OnMyMobDead3";
  459. monster 'map_spa$,67,46, "Regretful Memory",2953,1, .@label$; // CURSED_MEMORY
  460. unittalk $@mobid[0], "You are trapped...";
  461. monster 'map_spa$,62,48, "Tarnished Oath",2954,1, .@label$; // COLORLESS_VOW
  462. unittalk $@mobid[0], "Run away!";
  463. monster 'map_spa$,57,46, "Wasted Friendship",2955,1, .@label$; // OLD_FRIENDSHIP
  464. unittalk $@mobid[0], "Run away quickly!";
  465. monster 'map_spa$,51,48, "Regretful Memory",2953,1, .@label$; // CURSED_MEMORY
  466. unittalk $@mobid[0], "Faithful royal guard...";
  467. monster 'map_spa$,56,55, "Tarnished Oath",2954,1, .@label$; // COLORLESS_VOW
  468. unittalk $@mobid[0], "Run away!";
  469. monster 'map_spa$,62,56, "Wasted Friendship",2955,1, .@label$; // OLD_FRIENDSHIP
  470. unittalk $@mobid[0], "You are trapped...";
  471. monster 'map_spa$,66,58, "Regretful Memory",2953,1, .@label$; // CURSED_MEMORY
  472. unittalk $@mobid[0], "You put your princess in grave danger...";
  473. monster 'map_spa$,66,64, "Tarnished Oath",2954,1, .@label$; // COLORLESS_VOW
  474. unittalk $@mobid[0], "Faithful royal guard...";
  475. monster 'map_spa$,62,65, "Regretful Memory",2953,1, .@label$; // CURSED_MEMORY
  476. unittalk $@mobid[0], "Run away quickly!";
  477. monster 'map_spa$,57,67, "Tarnished Oath",2954,1, .@label$; // COLORLESS_VOW
  478. unittalk $@mobid[0], "You are trapped...";
  479. monster 'map_spa$,49,66, "Wasted Friendship",2955,1, .@label$; // OLD_FRIENDSHIP
  480. unittalk $@mobid[0], "Run away!";
  481. monster 'map_spa$,44,66, "Regretful Memory",2953,1, .@label$; // CURSED_MEMORY
  482. unittalk $@mobid[0], "Run away quickly!";
  483. monster 'map_spa$,45,20, "Tarnished Oath",2954,1, .@label$; // COLORLESS_VOW
  484. unittalk $@mobid[0], "Run away!";
  485. monster 'map_spa$,38,20, "Regretful Memory",2953,1, .@label$; // CURSED_MEMORY
  486. unittalk $@mobid[0], "You are trapped...";
  487. monster 'map_spa$,32,20, "Wasted Friendship",2955,1, .@label$; // OLD_FRIENDSHIP
  488. unittalk $@mobid[0], "Run away quickly!";
  489. monster 'map_spa$,51,22, "Wasted Friendship",2955,1, .@label$; // OLD_FRIENDSHIP
  490. unittalk $@mobid[0], "Run away quickly!";
  491. monster 'map_spa$,26,34,"Wasted Friendship",2955,1, .@label$; // OLD_FRIENDSHIP
  492. unittalk $@mobid[0], "Run away!";
  493. monster 'map_spa$,21,37,"Tarnished Oath",2954,1, .@label$; // COLORLESS_VOW
  494. unittalk $@mobid[0], "Faithful royal guard...";
  495. monster 'map_spa$,18,39,"Regretful Memory",2953,1, .@label$; // CURSED_MEMORY
  496. unittalk $@mobid[0], "Run away quickly!";
  497. monster 'map_spa$,21,45,"Tarnished Oath",2954,1, .@label$; // COLORLESS_VOW
  498. unittalk $@mobid[0], "Run away!";
  499. monster 'map_spa$,23,49,"Regretful Memory",2953,1, .@label$; // CURSED_MEMORY
  500. unittalk $@mobid[0], "You are trapped...";
  501. monster 'map_spa$,25,54,"Wasted Friendship",2955,1, .@label$; // OLD_FRIENDSHIP
  502. unittalk $@mobid[0], "Run away quickly!";
  503. monster 'map_spa$,29,54,"Tarnished Oath",2954,1, .@label$; // COLORLESS_VOW
  504. unittalk $@mobid[0], "You put your princess in grave danger...";
  505. monster 'map_spa$,56,39,"Regretful Memory",2953,1, .@label$; // CURSED_MEMORY
  506. unittalk $@mobid[0], "Run away!";
  507. monster 'map_spa$,61,36,"Tarnished Oath",2954,1, .@label$; // COLORLESS_VOW
  508. unittalk $@mobid[0], "Faithful royal guard...";
  509. monster 'map_spa$,66,38,"Wasted Friendship",2955,1, .@label$; // OLD_FRIENDSHIP
  510. unittalk $@mobid[0], "Run away quickly!";
  511. monster 'map_spa$,42,54,"Wasted Friendship",2955,1, .@label$; // OLD_FRIENDSHIP
  512. unittalk $@mobid[0], "Run away!";
  513. monster 'map_spa$,35,54,"Regretful Memory",2953,1, .@label$; // CURSED_MEMORY
  514. unittalk $@mobid[0], "You are trapped...";
  515. monster 'map_spa$,43,60,"Tarnished Oath",2954,1, .@label$; // COLORLESS_VOW
  516. unittalk $@mobid[0], "Faithful royal guard...";
  517. monster 'map_spa$,30,25,"Tarnished Oath",2954,1, .@label$; // COLORLESS_VOW
  518. unittalk $@mobid[0], "You put your princess in grave danger...";
  519. monster 'map_spa$,30,31,"Regretful Memory",2953,1, .@label$; // CURSED_MEMORY
  520. unittalk $@mobid[0], "You are trapped...";
  521. monster 'map_spa$,65,64, "Regretful Memory",2953,1, .@label$; // CURSED_MEMORY
  522. monster 'map_spa$,65,67, "Regretful Memory",2953,1, .@label$; // CURSED_MEMORY
  523. monster 'map_spa$,18,43,"Regretful Memory",2953,1, .@label$; // CURSED_MEMORY
  524. monster 'map_spa$,21,43,"Regretful Memory",2953,1, .@label$; // CURSED_MEMORY
  525. end;
  526. OnMyMobDead3:
  527. end;
  528. }
  529. // 4th floor
  530. 1@spa,1,1,1 script #gp_control_4 HIDDEN_WARP_NPC,{
  531. end;
  532. OnStart:
  533. enablenpc instance_npcname("#gp_control_4");
  534. .@label$ = instance_npcname("#gp_control_4") + "::OnMyMobDead1";
  535. monster 'map_spa$,215,194, "Sweet Slaughter",2956,1, .@label$; // SWEET_SLAUGHTER
  536. monster 'map_spa$,194,178, "Sweet Slaughter",2956,1, .@label$; // SWEET_SLAUGHTER
  537. monster 'map_spa$,191,211, "Sweet Slaughter",2956,1, .@label$; // SWEET_SLAUGHTER
  538. monster 'map_spa$,185,203, "Cursed Gatekeeper",2949,1, .@label$; // CURSED_SENTINEL
  539. monster 'map_spa$,209,218, "Cursed Gatekeeper",2949,1, .@label$; // CURSED_SENTINEL
  540. end;
  541. OnMyMobDead1:
  542. if (mobcount('map_spa$, instance_npcname("#gp_control_4") + "::OnMyMobDead1") < (1 + 'bool_double_spawn)) {
  543. deltimer instance_npcname("#gp_control_4") + "::OnSpawn1";
  544. addtimer 2000, instance_npcname("#gp_control_4") + "::OnSpawn1";
  545. }
  546. end;
  547. OnSpawn1:
  548. .@label$ = instance_npcname("#gp_control_4") + "::OnMyMobDead2";
  549. monster 'map_spa$,189,192, "Cursed Gatekeeper",2949,1, .@label$; // CURSED_SENTINEL
  550. monster 'map_spa$,211,209, "Sweet Slaughter",2956,1, .@label$; // SWEET_SLAUGHTER
  551. end;
  552. OnMyMobDead2:
  553. if (mobcount('map_spa$, instance_npcname("#gp_control_4") + "::OnMyMobDead2") < 1) {
  554. enablenpc instance_npcname("Magic Sword Tartanos#dk2");
  555. enablenpc instance_npcname("Visiting Prince#dk");
  556. enablenpc instance_npcname("Lurid Royal Guard#dk4");
  557. enablenpc instance_npcname("King's Corpse#dk");
  558. enablenpc instance_npcname("Captain's Corpse#dk");
  559. enablenpc instance_npcname("Soldier's Corpse#dk");
  560. enablenpc instance_npcname("Soldier's Corpse#dk1");
  561. enablenpc instance_npcname("Soldier's Corpse#dk2");
  562. enablenpc instance_npcname("Soldier's Corpse#dk3");
  563. enablenpc instance_npcname("Soldier's Corpse#dk4");
  564. }
  565. end;
  566. }
  567. 1@spa,199,214,1 script Lurid Royal Guard#dk4 4_M_SAKRAYROYAL,{
  568. .@prince$ = instance_npcname("Visiting Prince#dk");
  569. mes "[Lurid Royal Guard]";
  570. mes "Where is Princess Tiara?";
  571. npctalk "Lurid Royal Guard: Where is Princess Tiara?";
  572. next;
  573. mes "[Visiting Prince]";
  574. mes "You are too late... but you brought what I was looking for. Thanks for your help.";
  575. npctalk "Visiting Prince: You are too late... but you brought what I was looking for. Thanks for your help.", .@prince$;
  576. next;
  577. mes "[Visiting Prince]";
  578. mes "Cursed Magic Sword Tartanos! Are you ready to have a new master?";
  579. npctalk "Visiting Prince: Cursed Magic Sword Tartanos! Are you ready to have a new master?", .@prince$;
  580. next;
  581. cutin "tartanos.bmp",3;
  582. mes "[Magic Sword Tartanos]";
  583. mes "How dare you!";
  584. npctalk "Magic Sword Tartanos: How dare you!", instance_npcname("Magic Sword Tartanos#dk2");
  585. next;
  586. mes "[Visiting Prince]";
  587. mes "aah, aah !!!";
  588. npctalk "Visiting Prince: Aah, aah!!!", .@prince$;
  589. donpcevent instance_npcname("#gp_control_5") + "::OnStart";
  590. close2;
  591. cutin "",255;
  592. end;
  593. }
  594. 1@spa,201,214,1 duplicate(Lurid Royal Guard#dk) Magic Sword Tartanos#dk2 CLEAR_NPC
  595. 1@spa,197,218,5 duplicate(Lurid Royal Guard#dk) Visiting Prince#dk 4_M_KNIGHT_SILVER
  596. 1@spa,194,214,5 duplicate(Lurid Royal Guard#dk) King's Corpse#dk 4_M_TRISTAN
  597. 1@spa,211,194,3 duplicate(Lurid Royal Guard#dk) Captain's Corpse#dk 4_M_LIEMAN
  598. 1@spa,201,198,1 duplicate(Lurid Royal Guard#dk) Soldier's Corpse#dk 4_M_DIEMAN
  599. 1@spa,197,190,1 duplicate(Lurid Royal Guard#dk) Soldier's Corpse#dk1 4_M_DIEMAN
  600. 1@spa,191,207,7 duplicate(Lurid Royal Guard#dk) Soldier's Corpse#dk2 4_M_DIEMAN
  601. 1@spa,206,209,7 duplicate(Lurid Royal Guard#dk) Soldier's Corpse#dk3 4_M_DIEMAN
  602. 1@spa,189,195,1 duplicate(Lurid Royal Guard#dk) Soldier's Corpse#dk4 4_M_DIEMAN
  603. 1@spa,1,1,1 script #gp_control_5 HIDDEN_WARP_NPC,{
  604. end;
  605. OnStart:
  606. enablenpc instance_npcname("#gp_control_5");
  607. disablenpc instance_npcname("Magic Sword Tartanos#dk2");
  608. disablenpc instance_npcname("Visiting Prince#dk");
  609. disablenpc instance_npcname("Lurid Royal Guard#dk4");
  610. disablenpc instance_npcname("King's Corpse#dk");
  611. disablenpc instance_npcname("Captain's Corpse#dk");
  612. disablenpc instance_npcname("Soldier's Corpse#dk");
  613. disablenpc instance_npcname("Soldier's Corpse#dk1");
  614. disablenpc instance_npcname("Soldier's Corpse#dk2");
  615. disablenpc instance_npcname("Soldier's Corpse#dk3");
  616. disablenpc instance_npcname("Soldier's Corpse#dk4");
  617. sleep 1000;
  618. .@label$ = instance_npcname("#gp_control_5") + "::OnMyMobDead";
  619. monster 'map_spa$,198,218, "Torturous Redeemer",2959,1, .@label$; // TORTUROUS_REDEEMER
  620. monster 'map_spa$,198,182, "Sweet Slaughter",2956,1, .@label$; // SWEET_SLAUGHTER
  621. end;
  622. OnMyMobDead:
  623. if (mobcount('map_spa$, instance_npcname("#gp_control_5") + "::OnMyMobDead") < 1) {
  624. deltimer instance_npcname("#gp_control_4") + "::OnSpawn1"; // stop double spawn if timer is running
  625. mapannounce 'map_spa$, "The passage on the 5th floor of the palace is open.", bc_map,0xFFFF00;
  626. disablenpc instance_npcname("4th floor in the palace");
  627. enablenpc instance_npcname("5th floor of Palace");
  628. enablenpc instance_npcname("Princess Tiara#dk1");
  629. enablenpc instance_npcname("Lurid Royal Guard#dk5");
  630. killmonster 'map_spa$, instance_npcname("#gp_control_3") + "::OnMyMobDead2";
  631. killmonster 'map_spa$, instance_npcname("#gp_control_3") + "::OnMyMobDead3";
  632. disablenpc instance_npcname("#gp_control_3");
  633. }
  634. end;
  635. }
  636. // 5th floor
  637. 1@spa,216,43,3 script Princess Tiara#dk1 4_F_MAYSEL,{
  638. .@guard$ = instance_npcname("Lurid Royal Guard#dk5");
  639. mes "[Princess Tiara]";
  640. mes "You kept your promise.";
  641. npctalk "Princess Tiara: You kept your promise.";
  642. next;
  643. mes "[Lurid Royal Guard]";
  644. mes "princess!";
  645. npctalk "Lurid Royal Guard: Princess!", .@guard$;
  646. next;
  647. cutin "npc-tiara.bmp",3;
  648. mes "[Princess Tiara]";
  649. mes "Thank you... now I can rest beside you...";
  650. npctalk "Princess Tiara: Thank you... now I can rest beside you...";
  651. next;
  652. mes "[Lurid Royal Guard]";
  653. mes "No..No!!!!!";
  654. npctalk "Lurid Royal Guard: No..No!!!!!", .@guard$;
  655. next;
  656. mes "[The voice of Princess Tiara]";
  657. mes "I want to be with you forever in peace...forever...";
  658. npctalk "Princess Tiara: I want to be with you forever in peace...forever...";
  659. next;
  660. cutin "b-tiara.BMP",3;
  661. mes "[Lurid Royal Guard]";
  662. mes "no.....Ahh ahh ahh!!!!~!";
  663. npctalk "Lurid Royal Guard: no.....Ahh ahh ahh!!!!~!", .@guard$;
  664. next;
  665. mes "[The voice of Princess Tiara]";
  666. mes "I love you...";
  667. npctalk "Princess Tiara: I love you...";
  668. cutin "",255;
  669. close2;
  670. donpcevent instance_npcname("#gp_control_6") + "::OnStart";
  671. end;
  672. }
  673. 1@spa,213,42,7 duplicate(Lurid Royal Guard#dk) Lurid Royal Guard#dk5 4_M_SAKRAYROYAL
  674. 1@spa,1,1,1 script #gp_control_6 HIDDEN_WARP_NPC,{
  675. end;
  676. OnStart:
  677. enablenpc instance_npcname("#gp_control_6");
  678. disablenpc instance_npcname("Princess Tiara#dk1");
  679. disablenpc instance_npcname("Lurid Royal Guard#dk5");
  680. killmonster 'map_spa$, instance_npcname("#gp_control_4") + "::OnMyMobDead1";
  681. killmonster 'map_spa$, instance_npcname("#gp_control_4") + "::OnMyMobDead2";
  682. killmonster 'map_spa$, instance_npcname("#gp_control_5") + "::OnMyMobDead";
  683. disablenpc instance_npcname("#gp_control_4");
  684. disablenpc instance_npcname("#gp_control_5");
  685. disablenpc instance_npcname("5th floor of Palace");
  686. sleep 2000;
  687. .@label$ = instance_npcname("#gp_control_6") + "::OnMyMobDead1";
  688. monster 'map_spa$,217,52, "Forgotten Name" ,2957,1, .@label$; // FORGOTTEN_NAME
  689. unittalk $@mobid[0], "Wake up! look at us... We are monsters?";
  690. monster 'map_spa$,190,21, "Tarnished Oath" ,2954,1, .@label$; // COLORLESS_VOW
  691. unittalk $@mobid[0], "Sakray killed the King and tried to kill us!";
  692. monster 'map_spa$,198,49, "Tarnished Oath" ,2954,1, .@label$; // COLORLESS_VOW
  693. unittalk $@mobid[0], "What is this..??";
  694. monster 'map_spa$,212,28, "Fatal Days" ,2958,1, .@label$; // FATAL_DAYS
  695. unittalk $@mobid[0], "Sakray killed a princess!";
  696. end;
  697. OnMyMobDead1:
  698. if (mobcount('map_spa$, instance_npcname("#gp_control_6") + "::OnMyMobDead1") < 1) {
  699. sleep 2000;
  700. .@label$ = instance_npcname("#gp_control_6") + "::OnMyMobDead2";
  701. monster 'map_spa$,217,43, "Forgotten Name" ,2957,1, .@label$; // FORGOTTEN_NAME
  702. unittalk $@mobid[0], "Wake up! look at us... We are monsters?";
  703. monster 'map_spa$,193,24, "Forgotten Name" ,2957,1, .@label$; // FORGOTTEN_NAME
  704. unittalk $@mobid[0], "Sakray..?? why.....Sakray!";
  705. monster 'map_spa$,216,59, "Tarnished Oath" ,2954,1, .@label$; // COLORLESS_VOW
  706. unittalk $@mobid[0], "Sakray killed the King and tried to kill us!";
  707. monster 'map_spa$,197,57, "Fatal Days" ,2958,1, .@label$; // FATAL_DAYS
  708. unittalk $@mobid[0], "Sakray killed a princess!";
  709. }
  710. end;
  711. OnMyMobDead2:
  712. if (mobcount('map_spa$, instance_npcname("#gp_control_6") + "::OnMyMobDead2") < 1) {
  713. sleep 2000;
  714. .@label$ = instance_npcname("#gp_control_6") + "::OnMyMobDead3";
  715. monster 'map_spa$,193,39, "Forgotten Name" ,2957,1, .@label$; // FORGOTTEN_NAME
  716. unittalk $@mobid[0], "Wake up! look at us... We are monsters?";
  717. monster 'map_spa$,212,34, "Forgotten Name" ,2957,1, .@label$; // FORGOTTEN_NAME
  718. unittalk $@mobid[0], "Sakray..?? why.....Sakray!";
  719. monster 'map_spa$,201,64, "Tarnished Oath" ,2954,1, .@label$; // COLORLESS_VOW
  720. unittalk $@mobid[0], "Sakray killed the King and tried to kill us!";
  721. monster 'map_spa$,175,44, "Fatal Days" ,2958,1, .@label$; // FATAL_DAYS
  722. unittalk $@mobid[0], "Sakray killed a princess!";
  723. }
  724. end;
  725. OnMyMobDead3:
  726. if (mobcount('map_spa$, instance_npcname("#gp_control_6") + "::OnMyMobDead3") < 1) {
  727. sleep 2000;
  728. monster 'map_spa$,200,45, "Torturous Redeemer" ,2961,1, instance_npcname("#gp_control_6") + "::OnMyMobDead4"; // E_TORTUROUS_REDEEMER
  729. unittalk $@mobid[0], "Magic Sword Tartanos! I will destroy you if I can't have you... Oh no! How could this be?";
  730. sleep 5000;
  731. killmonster 'map_spa$, instance_npcname("#gp_control_6") + "::OnMyMobDead4";
  732. enablenpc instance_npcname("Sakray#dk");
  733. enablenpc instance_npcname("Magic Sword Tartanos#dk3");
  734. disablenpc instance_npcname("#gp_control_6");
  735. }
  736. end;
  737. OnMyMobDead4:
  738. end;
  739. }
  740. 1@spa,196,44,5 script Sakray#dk 4_M_SAKRAY,{
  741. mes "[Lurid Royal Guard]";
  742. mes "Are you satisfied..? Magic Sword Tartanos?";
  743. npctalk "Lurid Royal Guard: Are you satisfied..? Magic Sword Tartanos?";
  744. next;
  745. mes "[Magic Sword Tartanos]";
  746. mes "I need more blood..Sakray, offer me his blood.";
  747. npctalk "Magic Sword Tartanos: I need more blood..Sakray, offer me his blood.", instance_npcname("Magic Sword Tartanos#dk3");
  748. next;
  749. mes "[Sakray]";
  750. mes "Okay, that is good. A traveller. Did you see?";
  751. npctalk "Sakray: Okay, that is good. A traveller. Did you see?";
  752. next;
  753. mes "[" + strcharinfo(0) + "]";
  754. mes "Sakray, what do you want? Sympathy? Or is it a trap?";
  755. unittalk getcharid(3), "" + strcharinfo(0) + " : Sakray, what do you want? Sympathy? Or is it a trap?";
  756. next;
  757. mes "[Sakray]";
  758. mes "No... I do not need to make any effort to catch a novice.";
  759. npctalk "Sakray: No... I do not need to make any effort to catch a novice.";
  760. next;
  761. mes "[" + strcharinfo(0) + "]";
  762. mes "If so... then why...?";
  763. unittalk getcharid(3), "" + strcharinfo(0) + " : If so... then why...?";
  764. next;
  765. cutin "cry-b.bmp",2;
  766. mes "[Sakray]";
  767. mes "I wanted to get rid of a piece of humanity inside of me through you.";
  768. npctalk "Sakray: I wanted to get rid of a piece of humanity inside of me through you.";
  769. next;
  770. mes "[Sakray]";
  771. mes "I am quite satisfied with the result.";
  772. npctalk "Sakray: I am quite satisfied with the result.";
  773. next;
  774. mes "[Magic Sword Tartanos]";
  775. mes "Sakray, offer the blood to me now!";
  776. npctalk "Magic Sword Tartanos: Sakray, offer the blood to me now!", instance_npcname("Magic Sword Tartanos#dk3");
  777. next;
  778. mes "[Sakray]";
  779. mes "If you were me, what would you do?";
  780. npctalk "Sakray: If you were me, what would you do?";
  781. next;
  782. mes "[Sakray]";
  783. mes "Can you set yourself free from this curse?";
  784. npctalk "Sakray: Can you set yourself free from this curse?";
  785. next;
  786. mes "[" + strcharinfo(0) + "]";
  787. mes "...";
  788. unittalk getcharid(3), "" + strcharinfo(0) + " : ...";
  789. next;
  790. mes "[Sakray]";
  791. mes "Heh heh... I will keep watching you until the day comes when you are old enough.";
  792. npctalk "Sakray: Heh heh... I will keep watching you until the day comes when you are old enough.";
  793. next;
  794. mes "[Sakray]";
  795. mes "I am willing to hunt you later for Tartanos.";
  796. npctalk "Sakray: I am willing to hunt you later for Tartanos.";
  797. cutin "",255;
  798. next;
  799. mes "[Sakray]";
  800. mes "Farewell then.";
  801. npctalk "Sakray: Farewell then.";
  802. close2;
  803. donpcevent instance_npcname("#tb") + "::OnStart";
  804. end;
  805. }
  806. 1@spa,196,46,1 script #tb CLEAR_NPC,{
  807. end;
  808. OnStart:
  809. disablenpc instance_npcname("Sakray#dk");
  810. disablenpc instance_npcname("Magic Sword Tartanos#dk3");
  811. enablenpc instance_npcname("#tb");
  812. enablenpc instance_npcname("#sv");
  813. enablenpc instance_npcname("#tv");
  814. initnpctimer;
  815. end;
  816. OnTimer3000:
  817. npctalk "Voice of Princess Tiara : What can I do for you?";
  818. end;
  819. OnTimer8000:
  820. npctalk "Voice of Sakray : I will always stand by you. Please rest beside me.", instance_npcname("#sv");
  821. end;
  822. OnTimer13000:
  823. npctalk "Magic Sword Tartanos: Sakray, do not forget the covenant of blood between us.", instance_npcname("#tv");
  824. end;
  825. OnTimer17000:
  826. npctalk "Magic Sword Tartanos: Your soul is mine until you find the blood that satisfies me...", instance_npcname("#tv");
  827. end;
  828. OnTimer22000:
  829. npctalk "Voice of Sakray : Rest in the shadow with me.", instance_npcname("#sv");
  830. end;
  831. OnTimer25000:
  832. npctalk "Voice of Sakray : In the dark forever...", instance_npcname("#sv");
  833. end;
  834. OnTimer28500:
  835. disablenpc instance_npcname("#tb");
  836. disablenpc instance_npcname("#sv");
  837. disablenpc instance_npcname("#tv");
  838. mapannounce 'map_spa$, "It is time to leave the Ghost Palace.", bc_map,0xFFFF00;
  839. enablenpc instance_npcname("Way out of Palace");
  840. enablenpc instance_npcname("King#dk11");
  841. end;
  842. }
  843. 1@spa,195,41,1 duplicate(Lurid Royal Guard#dk) Magic Sword Tartanos#dk3 CLEAR_NPC
  844. 1@spa,198,43,1 duplicate(Lurid Royal Guard#dk) #sv CLEAR_NPC
  845. 1@spa,196,41,1 duplicate(Lurid Royal Guard#dk) #tv CLEAR_NPC
  846. 1@spa,204,29,1 script King#dk11 4_M_RUSKING,{
  847. disable_items;
  848. mes "[King]";
  849. mes "Hey there, are you alive?";
  850. mes "I did not expect to meet someone who is still alive.";
  851. next;
  852. .@item_name_req$ = getitemname(6672);// Gray_Shard
  853. mes "[King]";
  854. mes "Do you possibly have the ^006400" + .@item_name_req$ + "^000000?";
  855. mes "Can you give it to me?";
  856. mes "The memories of the faithful royal guard";
  857. mes "and the memories of everyone he loved";
  858. mes "are contained inside of these shards.";
  859. next;
  860. mes "[King]";
  861. mes "Will you give the ^006400" + .@item_name_req$ + "^000000 to me?";
  862. mes "The guilt is eating my soul.";
  863. mes "My soul is trapped inside the Ghost Palace.";
  864. next;
  865. mes "[King]";
  866. mes "I am collecting Sakray's abandoned memories from these shards.";
  867. next;
  868. mes "[King]";
  869. mes "If you give any ^006400" + .@item_name_req$ + "^000000s to me, I can make equipment for you.";
  870. next;
  871. mes "[King]";
  872. mes "The cursed knight...";
  873. mes "Please help me save the soul of Sakray.";
  874. next;
  875. setarray .@item_name$[0],
  876. "Thanos Sword", "Thanos Broadsword", "Thanos Spear", "Thanos Two-Handed Spear", "Thanos Staff",
  877. "Thanos Two-handed Staff", "Thanos Bow", "Thanos Dagger", "Thanos Katar", "Thanos Knuckle",
  878. "Thanos Hammer", "Thanos Axe", "Thanos Violin", "Thanos Whip",
  879. "Gray Shield", "Gray Armor", "Gray Robe", "Gray Cloak", "Gray Shoes", "Gray Helmet";
  880. setarray .@items_list[0],13441,21009,1438,1496,1669,2023,18119,13093,28000,1836,16028,28100,1933,1988,2187,15090,15091,20721,22033,18820;
  881. for ( .@i = 0; .@i < 20; .@i++ )
  882. .@menu$ += .@item_name$[.@i] + ":";
  883. .@menu$ += "Cancel";
  884. while(true) {
  885. .@s = select(.@menu$) - 1;
  886. if (.@s == 20) {
  887. mes "[King]";
  888. mes "Someday, Sakray will";
  889. mes "get out of this curse for sure.";
  890. mes "I believe";
  891. mes "^006400" + .@item_name_req$ + "^000000s are the only method";
  892. mes "to save him....";
  893. close;
  894. }
  895. .@cost = ( .@s > 13 ? 100 : 200 );
  896. mes "[King]";
  897. mes "To make a ^FF0000" + .@item_name$[.@s] + "^000000";
  898. mes "I need " + .@cost + " ^006400" + .@item_name_req$ + "^000000.";
  899. next;
  900. if (select( "Cancel", "Hand over " + .@cost + " " + .@item_name_req$ + "." ) == 1) {
  901. mes "[King]";
  902. mes "Someday, Sakray will";
  903. mes "get out of this curse for sure.";
  904. next;
  905. continue;
  906. }
  907. if (countitem(6672) < .@cost) {
  908. mes "[King]";
  909. mes "You do not have enough ^006400" + .@item_name_req$ + "^000000";
  910. mes "to make a ^FF0000" + .@item_name$[.@s] + "^000000.";
  911. mes "I need " + .@cost + " ^006400" + .@item_name_req$ + "^000000.";
  912. next;
  913. continue;
  914. }
  915. mes "[King]";
  916. mes "I will make a ^FF0000" + .@item_name$[.@s] + "^000000";
  917. mes "with " + .@cost + " ^006400" + .@item_name_req$ + "^000000.";
  918. next;
  919. mes "You see a light through the folded hands of the king and it gradually takes on a shape.";
  920. next;
  921. mes "[King]";
  922. mes "All right, it is done.";
  923. mes "Take this ^FF0000" + .@item_name$[.@s] + "^000000";
  924. mes "to confront Sakray and Tartanos.";
  925. next;
  926. mes "[King]";
  927. mes "The power requires a sacrifice.";
  928. mes "Please be careful...";
  929. delitem 6672,.@cost;// Gray Shard
  930. getitem .@items_list[.@s],1;
  931. close;
  932. }
  933. }
  934. 1@spa,210,28,0 script Way out of Palace WARPNPC,2,2,{
  935. end;
  936. OnTouch_:
  937. mes "It is time to leave the Ghost Palace.";
  938. mes "Everything is now complete";
  939. mes "and will vanish..";
  940. close2;
  941. if (isbegin_quest(1263) == 2)
  942. getitem 6672,1;// Gray Shard
  943. else {
  944. setquest 1263;// Cursed Swordman
  945. completequest 1263;
  946. getexp 900000,500000;
  947. getitem 6672,2;// Gray Shard
  948. }
  949. warp "dali02",46,129;
  950. end;
  951. }
  952. 1@spa,41,217,0 warp The second floor of Palace 2,2,1@spa,114,120
  953. 1@spa,117,137,0 warp 3rd floor in the palace 2,2,1@spa,60,43
  954. 1@spa,54,28,0 warp 4th floor in the palace 2,2,1@spa,218,186
  955. 1@spa,178,186,0 warp 5th floor of Palace 2,2,1@spa,186,57