quests_niflheim.txt 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300
  1. //===== eAthena Script =======================================
  2. //= Quest NPCs related to Niflheim
  3. //===== By: ==================================================
  4. //= The eAthena Dev Team
  5. //===== Current Version: =====================================
  6. //= 1.1
  7. //===== Compatible With: =====================================
  8. //= eAthena 7.15 +
  9. //===== Description: =========================================
  10. //= Book of Devil (MISC_QUEST | 256)
  11. //= Piano Key Ouest (MISC_QUEST | 32)
  12. //===== Additional Comments: =================================
  13. //= 1.0 Initial release, moved Book of Devil and Piano quest
  14. //= from npc/cities/niflheim.txt [Evera]
  15. //= 1.1 Optimized Book of Devil quest. used bit-wise var,
  16. //= Optimized Piano Quest - now uses 1 variable [Lupus]
  17. //============================================================
  18. //=============================================================
  19. //Quest for Book of Devil
  20. //=============================================================
  21. niflheim.gat,184,199,5 script Little Girl#02 793,{
  22. mes "[Sairin]";
  23. if(MISC_QUEST & 256){
  24. mes "Thanks again!";
  25. close;
  26. }
  27. if(@niflheimlost == 2){
  28. mes "You found him?";
  29. mes "Oh thank you!";
  30. mes "Please, take this as a token of my appreciation.";
  31. getitem 642,1;//Items: Book of Devil,
  32. set MISC_QUEST,MISC_QUEST | 256;
  33. set @niflheimlost,0;
  34. close;
  35. }
  36. if(@niflheimlost == 1){
  37. M_YES:
  38. set @niflheimlost,1;
  39. mes "Please find him and tell him where I am! I saw him last in Niflheim Field, the first one...";
  40. close;
  41. }
  42. mes "Sir, will you please help me?";
  43. if(BaseJob==Job_Novice){
  44. mes "Oh... you are lost, too...";
  45. close;
  46. }
  47. next;
  48. menu "Yes",-, "No",M_NO;
  49. mes "[Sairin]";
  50. mes "My friend and I went for a hike and ended up wandering into a strange field.";
  51. next;
  52. mes "[Sairin]";
  53. mes "Suddenly, I found a doll. I picked it up, and it turned into a ghost!";
  54. next;
  55. mes "[Sairin]";
  56. mes "I screamed and ran as fast as I could. When I stopped running, I ended up in this strange town..";
  57. next;
  58. mes "[Sairin]";
  59. mes "No one here will help me, and there are ghosts everywhere! Could you help me find my friend?";
  60. next;
  61. menu "Sure",M_YES, "No",M_NO;
  62. M_NO:
  63. close;
  64. }
  65. nif_fild01.gat,213,268,5 script Little Boy 797,{
  66. if(MISC_QUEST & 256){
  67. L_DONE:
  68. set @niflheimlost,2;
  69. mes "[Marius]";
  70. mes "Thank you for helping us!";
  71. close;
  72. }
  73. if(@niflheimlost == 2) goto L_PART2;
  74. if(@niflheimlost == 1){
  75. mes "[Marius]";
  76. mes "Who are you?";
  77. mes "...";
  78. mes "You found Sairin?";
  79. mes "She ran to Niflheim?";
  80. next;
  81. L_PART2:
  82. mes "[Marius]";
  83. mes "Could you tell her that I am on my way?";
  84. mes "I am a little slow, and its very important that she knows.";
  85. next;
  86. menu "Yes",L_DONE, "No",-;
  87. close;
  88. }
  89. mes "[Marius]";
  90. mes "Sairin... where are you?";
  91. close;
  92. }
  93. //=============================================================
  94. //Piano Quest
  95. //=============================================================
  96. niflheim.gat,224,243,3 script Alager 795,{
  97. mes "[Alager]";
  98. mes "Muahaha, I love to eat meat...";
  99. mes "You look... delicious!";
  100. next;
  101. mes "[Alager]";
  102. mes "I'm going to eat you...";
  103. next;
  104. mes "-Chomp bite slurp-";
  105. if(nif_piano&1 || (MISC_QUEST & 32)) goto L_end;
  106. percentheal -60,0;
  107. next;
  108. mes "[Alager]";
  109. mes "Ahhh, it's been some time since I had such delicious meat!";
  110. // 50% made up, not the slightest idea how to translate these ^^;
  111. mes "as an ex-barbeque chef, my favourite meat";
  112. mes "would be like preparing beef fillet,";
  113. mes "crossed and grilled to perfection";
  114. mes "that would be really delicious... ";
  115. next;
  116. mes "[Alager]";
  117. mes "Ah, let me thank you with this,";
  118. mes "I found it on the ground, hoho~";
  119. getitem 7184,1;//Items: Piano Key,
  120. set nif_piano, nif_piano|1;
  121. close;
  122. L_end:
  123. percentheal -30,0;
  124. close;
  125. }
  126. nif_in.gat,105,81,3 script Crayu 794,{
  127. mes "[Crayu]";
  128. mes "Ah, there was this poem...";
  129. mes "in which author and time of writing was unknown,";
  130. mes "and has been circulating since long ago...";
  131. next;
  132. mes "[Crayu]";
  133. mes "^FF0000When the sun sets in the western hills,^000000";
  134. mes "^FF0000Where points the velvet gloom of dawn,^000000";
  135. mes "^FF0000The beautiful melody surrounding thy soul,^000000";
  136. mes "^FF0000Is the key from Lord Death's wrath.^000000";
  137. next;
  138. mes "[Crayu]";
  139. if(nif_piano&2 || (MISC_QUEST & 32)){
  140. mes "I wonder what does it mean...";
  141. mes "If you read it carefully,";
  142. mes "it seems to have a deep meaning,";
  143. mes "as if there is a mysterious secret";
  144. mes "hidden within these words...";
  145. close;
  146. }
  147. set @nif_random,rand(1,4);
  148. mes "Heh, let me give you a little exam!";
  149. mes "Repeat line no. " + @nif_random + " of the poem";
  150. mes "that you have just heard to me!";
  151. next;
  152. input @inputstr1$;
  153. switch(@nif_random){
  154. case 1:
  155. set @str1$,"When the sun sets in the western hills,";
  156. break;
  157. case 2:
  158. set @str1$,"Where points the velvet gloom of dawn,";
  159. break;
  160. case 3:
  161. set @str1$,"The beautiful melody surrounding thy soul,";
  162. break;
  163. case 4:
  164. set @str1$,"Is the key from Lord Death's wrath.";
  165. break;
  166. }
  167. mes "[Crayu]";
  168. if(@inputstr1$ == @str1$){
  169. mes "Hoho... I see you have paid attention!";
  170. mes "I am Grey, a wandering poet of yore,";
  171. mes "you are the best audience I have had so far,";
  172. mes "here, take this as a reward.";
  173. getitem 7184,1;//Items: Piano Key,
  174. set nif_piano, nif_piano|2;
  175. next;
  176. mes "[Crayu]";
  177. mes "I hope you will treat other poets";
  178. mes "as well as you treated me, farewell.";
  179. close;
  180. }
  181. mes "Aih... If you had paid more attention,";
  182. mes "you would have known the correct answer!";
  183. mes "Come back for the challenge again,";
  184. mes "when you have thought over it!";
  185. close;
  186. }
  187. nif_in.gat,31,20,3 script Kurtz 794,{
  188. mes "[Kurtz]";
  189. mes "Business nowadays is really bad...";
  190. mes "Back when I used to be alive,";
  191. mes "my business was this bad too~!";
  192. if(nif_piano&4 || (MISC_QUEST & 32)) close;
  193. next;
  194. mes "[Kurtz]";
  195. mes "Hey! You there! Dump this for me";
  196. mes "on the way out will you!";
  197. getitem 7184,1;//Items: Piano Key,
  198. set nif_piano, nif_piano|4;
  199. next;
  200. mes "[Kurtz]";
  201. mes "Why is business so bad lately...";
  202. mes "(mumble mumble)";
  203. close;
  204. }
  205. niflheim.gat,169,71,5 script #1 111,2,2{
  206. if(MISC_QUEST & 32 || nif_piano&8) end;
  207. mes "- In the nearby tombs -";
  208. mes "- you see something -";
  209. mes "- half buried in the ground -";
  210. mes "- What is it? -";
  211. mes "- Looks like it broke off something -";
  212. next;
  213. mes "- Pick it up? -";
  214. menu "Yes",-,"No",L_end;
  215. getitem 7184,1;//Items: Piano Key,
  216. set nif_piano, nif_piano|8;
  217. L_end:
  218. close;
  219. }
  220. niflheim.gat,208,103,5 script #2 111,2,2{
  221. if(MISC_QUEST & 32 || nif_piano&32) end;
  222. if(nif_piano&16){
  223. mes "- In the hole you have dug -";
  224. mes "- there is something else -";
  225. mes "- buried deep in the ground -";
  226. mes "- Looks like its another fragment -";
  227. next;
  228. mes "- Pick it up? -";
  229. menu "Yes",-,"No",L_end;
  230. getitem 7184,1;//Items: Piano Key,
  231. set nif_piano, nif_piano|32;
  232. L_end:
  233. close;
  234. }
  235. mes "- In the nearby tombs -";
  236. mes "- you see something -";
  237. mes "- half buried in the ground -";
  238. mes "- What is it? -";
  239. mes "- Looks like it broke off something -";
  240. next;
  241. mes "- Pick it up? -";
  242. menu "Yes",-,"No",L_end;
  243. getitem 7184,1;//Items: Piano Key,
  244. set nif_piano, nif_piano|16;
  245. close;
  246. }
  247. nif_in.gat,115,181,5 script #4 111,3,3{
  248. mes "- You see a huge old piano -";
  249. if((MISC_QUEST & 32)==0) mes "- with a few keys missing -";
  250. if(MISC_QUEST & 32) mes "- with one key missing -";
  251. if(MISC_QUEST & 32 || countitem(7184) < 6) close;
  252. delitem 7184,countitem(7184);//Items: Piano Key,
  253. set MISC_QUEST,MISC_QUEST | 32;
  254. set nif_piano, 0;
  255. mes "- You slide the 6 piano keys one -";
  256. mes "- by one into the missing slots -";
  257. mes "- on the piano, but you realize -";
  258. mes "- the left-most side seems to be -";
  259. mes "- missing one more key. -";
  260. close;
  261. }
  262. nif_in.gat,118,151,5 script #5 111,3,3{
  263. if((MISC_QUEST & 32)==0) end;
  264. mes "- The very moment the long shadow -";
  265. mes "- of your body falls on the piano -";
  266. next;
  267. mes "- You suddenly seem to feel lighter -";
  268. mes "- and your vision starts to blur... -";
  269. next;
  270. warp "nif_in.gat",179,163;
  271. close;
  272. }
  273. nif_in.gat,188,168,3 script Witch 792,{
  274. mes "[Kirkena]";
  275. mes "Hmm?... Aren't you a living human?";
  276. mes "Must have took you some effort";
  277. mes "to get to this place...";
  278. mes "Whatever reason though, this is not a place";
  279. mes "the living shall belong...";
  280. next;
  281. mes "[Kirkena]";
  282. mes "I shall use my powers to send you back";
  283. mes "but you should not return in the future.";
  284. close2;
  285. warp "umbala.gat",138,208;
  286. end;
  287. }