71-85.txt 9.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228
  1. //===== rAthena Script =======================================
  2. //= Eden Group Quests - Mission [71 - 85]
  3. //===== By: ==================================================
  4. //= L0ne_W0lf
  5. //===== Current Version: =====================================
  6. //= 1.5
  7. //===== Compatible With: =====================================
  8. //= rAthena Project
  9. //===== Description: =========================================
  10. //= Repetable Quests for Players between Baselevel 71 - 85.
  11. //===== Additional Comments: =================================
  12. //= 1.0 First Version.
  13. //= 1.1 Some little optimization here and there. [Masao]
  14. //= 1.2 Optimized. [Euphy]
  15. //= 1.3 Updated to match the official scripts. [Euphy]
  16. //= 1.4 Added support to Para_Team_Mark_ in Eden Group. [Ragno]
  17. //= 1.5 Added use of F_HasEdenGroupMark function. [Ragno]
  18. //============================================================
  19. moc_para01,44,38,3 script Mission [71 - 85] 857,{
  20. if (!callfunc("F_HasEdenGroupMark")) {
  21. mes "- Only members of the -";
  22. mes "- Eden Group can read -";
  23. mes "- this bulletin board. -";
  24. close;
  25. }
  26. // Clear the original quest data (no longer used).
  27. if (slv_quest) set slv_quest,0;
  28. if (checkquest(10102) > -1 || checkquest(10103) > -1 || checkquest(10104) > -1 || checkquest(10105) > -1 || checkquest(10106) > -1) {
  29. for(set .@quest,10102; .@quest<=10106; set .@quest,.@quest+1) {
  30. if (checkquest(.@quest) > -1)
  31. erasequest .@quest;
  32. }
  33. mes "- Since the client has moved -";
  34. mes "- to another place, -";
  35. mes "- the application form has been removed. -";
  36. next;
  37. }
  38. if (BaseLevel < 71) {
  39. mes "- Only members of the -";
  40. mes "- right level can read -";
  41. mes "- this bulletin board. -";
  42. mes "- Try to find a board -";
  43. mes "- that suits your level. -";
  44. close;
  45. } else if (BaseLevel > 85) {
  46. // Quest IDs: 10107-10123, 5055-5057
  47. setarray .@quests[0],
  48. 10107,10108,10109,
  49. 10110,10111,10112,10113,
  50. 10114,10115,10116,10117,
  51. 10118,10119,10120,
  52. 10121,10122,10123,5055,5056;
  53. for(set .@i,0; .@i<getarraysize(.@quests); set .@i,.@i+1) {
  54. if (checkquest(.@quests[.@i],HUNTING) == 2)
  55. set .@complete[getarraysize(.@complete)], .@quests[.@i];
  56. }
  57. if (checkquest(5057) > -1 && countitem(7187) >= 30)
  58. set .@complete[getarraysize(.@complete)],5057;
  59. if (getarraysize(.@complete)) {
  60. mes "You have quests in progress.";
  61. mes "Do you want to turn them in?";
  62. next;
  63. if(select("Of course.:No.") == 2)
  64. close;
  65. for(set .@i,0; .@i<getarraysize(.@complete); set .@i,.@i+1)
  66. callsub L_Quest,.@complete[.@i];
  67. close;
  68. }
  69. mes "- Only members of the -";
  70. mes "- right level can read -";
  71. mes "- this bulletin board. -";
  72. mes "- Try to find a board -";
  73. mes "- that suits your level. -";
  74. close;
  75. }
  76. mes "- Choose where you -";
  77. mes "- would like to hunt. -";
  78. next;
  79. switch(select("Sphinx Dungeon:Glast Heim:Juno Area:Clock Tower:Localized Islands")) {
  80. case 1:
  81. mes "- There are several requests -";
  82. mes "- related to the Sphinx Dungeon -";
  83. mes "- on this mission Board. -";
  84. next;
  85. set .@str1$,"The villagers of Morroc are worried by the increasing number of monsters in the Sphinx Dungeon. ";
  86. set .@str2$,"- Meidi from Morroc -";
  87. switch(select("Hunt Requiem:Hunt Marduk:Hunt Pasana")) {
  88. case 1: callsub L_Quest,10107,.@str1$+"Hunt 10 Requiems.",.@str2$;
  89. case 2: callsub L_Quest,10108,.@str1$+"Hunt 10 Marduks.",.@str2$;
  90. case 3: callsub L_Quest,10109,.@str1$+"Hunt 10 Pasanas.",.@str2$;
  91. }
  92. case 2:
  93. mes "- There are several requests -";
  94. mes "- related to Glast Heim -";
  95. mes "- on this mission Board. -";
  96. next;
  97. set .@str1$,"I am very afraid that the monsters from Glast Heim will attack us. ";
  98. set .@str2$,"- Ancellia from Geffen -";
  99. switch(select("Hunt Dark Frame:Hunt Evil Druid:Hunt Wraith:Hunt Raydric Archer")) {
  100. case 1: callsub L_Quest,10110,.@str1$+"Hunt 10 Dark Frames.",.@str2$;
  101. case 2: callsub L_Quest,10111,.@str1$+"Hunt 10 Evil Druids.",.@str2$;
  102. case 3: callsub L_Quest,10112,.@str1$+"Hunt 10 Wraiths.",.@str2$;
  103. case 4: callsub L_Quest,10113,.@str1$+"Hunt 10 Raydric Archers.",.@str2$;
  104. }
  105. case 3:
  106. mes "- There are several requests -";
  107. mes "- related to the area -";
  108. mes "- around Juno. -";
  109. next;
  110. set .@str1$,"Those who can't fight, like me, find it much more difficult to travel due to the large number of monsters. ";
  111. set .@str2$,"- Jeanbai, traveler -";
  112. switch(select("Hunt Grand Peco:Hunt Sleeper:Hunt Goat:Hunt Harpy")) {
  113. case 1: callsub L_Quest,10114,.@str1$+"Hunt 20 Grand Pecos.",.@str2$;
  114. case 2: callsub L_Quest,10115,.@str1$+"Hunt 20 Sleepers.",.@str2$;
  115. case 3: callsub L_Quest,10116,.@str1$+"Hunt 20 Goats.",.@str2$;
  116. case 4: callsub L_Quest,10117,.@str1$+"Hunt 20 Harpies.",.@str2$;
  117. }
  118. case 4:
  119. mes "- There are several requests -";
  120. mes "- related to the Clock Tower -";
  121. mes "- on this mission Board. -";
  122. next;
  123. set .@str1$,"I used to love listening to the sweet melody of the Al De Baran Clock Tower but I can't hear anything anymore because of all the noises the monsters are making. ";
  124. set .@str2$,"- Rizingsetter, President of the Love Clock community -";
  125. switch(select("Hunt Clock:Hunt Punk:Hunt Rideword")) {
  126. case 1: callsub L_Quest,10118,.@str1$+"Hunt 15 Clocks before it breaks.",.@str2$;
  127. case 2: callsub L_Quest,10119,.@str1$+"Hunt 15 Punks before it breaks.",.@str2$;
  128. case 3: callsub L_Quest,10120,.@str1$+"Hunt 15 Ridewords before it breaks.",.@str2$;
  129. }
  130. case 5:
  131. mes "- There are several requests -";
  132. mes "- related to the Localized Islands -";
  133. mes "- on this mission Board. -";
  134. next;
  135. set .@str1$,"I want to go on an adventure but there are so many things I have to deal with. If I can't, then others can't either! ";
  136. set .@str2$,"- Funfy, who wants to go on an adventure -";
  137. switch(select("Hunt Kikimora:Hunt Miyabi Doll:Hunt Mi Gao:Hunt Headless Mule:Hunt Tamruan:Gather Festival Masks for the Festival")) {
  138. case 1: callsub L_Quest,10121,.@str1$+"Hunt 15 Kikimoras in Moscovia!",.@str2$;
  139. case 2: callsub L_Quest,10122,.@str1$+"Hunt 15 Miyabi Dolls in Amatsu!",.@str2$;
  140. case 3: callsub L_Quest,10123,.@str1$+"Hunt 15 Mi Gaos in Louyang!",.@str2$;
  141. case 4: callsub L_Quest,5055,"I know there are many terrifying monsters outside the city, but what terrifies me are these Headless Mules lurking around. I hope they will never venture into town. Hunt 15 Headless Mules!","- Mariana from Brasilis -";
  142. case 5: callsub L_Quest,5056,"Tamruans make a lot of noise. I don't mind in the morning but they keep me from falling asleep at night. I want to sleep. Hunt 15 Tamruans!","- Shaman Pumo from Ayotaya -";
  143. case 6: callsub L_Quest,5057,"The Dumpling Childs stole all the masks that I had prepared for the festival. Try to get a hold of 30 masks! I'll owe you~","- SaYumMoon Chief of Kunlun -";
  144. }
  145. }
  146. end;
  147. //callsub L_Quest,<quest ID>{,"<description1>","<description2>"};
  148. L_Quest:
  149. set .@quest, getarg(0);
  150. switch(.@quest) {
  151. case 10107: set .@name$,"Hunt Requiem"; set .@exp,15000; break;
  152. case 10108: set .@name$,"Hunt Marduk"; set .@exp,15000; break;
  153. case 10109: set .@name$,"Hunt Pasana"; set .@exp,15000; break;
  154. case 10110: set .@name$,"Hunt Dark Frame"; set .@exp,20000; break;
  155. case 10111: set .@name$,"Hunt Evil Druid"; set .@exp,20000; break;
  156. case 10112: set .@name$,"Hunt Wraith"; set .@exp,20000; break;
  157. case 10113: set .@name$,"Hunt Raydric Archer"; set .@exp,20000; break;
  158. case 10114: set .@name$,"Hunt Grand Peco"; set .@exp,30000; break;
  159. case 10115: set .@name$,"Hunt Sleeper"; set .@exp,30000; break;
  160. case 10116: set .@name$,"Hunt Goat"; set .@exp,30000; break;
  161. case 10117: set .@name$,"Hunt Harpy"; set .@exp,30000; break;
  162. case 10118: set .@name$,"Hunt Clock"; set .@exp,25000; break;
  163. case 10119: set .@name$,"Hunt Punk"; set .@exp,25000; break;
  164. case 10120: set .@name$,"Hunt Rideword"; set .@exp,25000; break;
  165. case 10121: set .@name$,"Hunt Kikimora"; set .@exp,30000; break;
  166. case 10122: set .@name$,"Hunt Miyabi Doll"; set .@exp,30000; break;
  167. case 10123: set .@name$,"Hunt Mi Gao"; set .@exp,30000; break;
  168. case 5055: set .@name$,"Hunt Headless Mule"; set .@exp,30000; break;
  169. case 5056: set .@name$,"Hunt Tamruan"; set .@exp,30000; break;
  170. case 5057: set .@name$,"Gather Festival Masks for the Festival"; set .@exp,30000; break;
  171. }
  172. if (getargcount() == 1) {
  173. mes "'"+.@name$+"' completed. Do you want to turn it in and receive your reward?";
  174. next;
  175. if(select("Turn in quest.:Cancel.") == 1) {
  176. if (.@quest == 5057) delitem 7187,30; //Festival_Mask
  177. erasequest .@quest;
  178. getexp .@exp,0;
  179. mes "You've received EXP for finishing the quest.";
  180. next;
  181. return;
  182. }
  183. close;
  184. } else {
  185. if (.@quest == 5057) {
  186. // Quest 5057 is the only collection quest, so separate conditions are unnecessary.
  187. if (checkquest(5057) == -1)
  188. set .@hunting,-1;
  189. else if (countitem(7187) >= 30)
  190. set .@hunting,2;
  191. } else
  192. set .@hunting, checkquest(.@quest,HUNTING);
  193. if (.@hunting == 0 || .@hunting == 1) {
  194. mes getarg(1);
  195. mes getarg(2);
  196. next;
  197. mes "Return here when you've finished the quest.";
  198. } else if (.@hunting == 2) {
  199. mes "You have completed the quest.";
  200. next;
  201. if(select("Turn in quest.:Cancel.") == 1) {
  202. if (.@quest == 5057) delitem 7187,30; //Festival_Mask
  203. erasequest .@quest;
  204. getexp .@exp,0;
  205. mes "You've received EXP for finishing the quest.";
  206. }
  207. }/* else if (.@hunting == 3) {
  208. // recall_completequest .@quest
  209. erasequest .@quest;
  210. mes "You have re-accepted the quest '"+.@name$+"'.";
  211. }*/ else {
  212. mes getarg(1);
  213. mes getarg(2);
  214. next;
  215. mes "Do you want to accept the quest?";
  216. next;
  217. if(select("Yes.:No.") == 1) {
  218. mes "You've received the quest '"+.@name$+"'. View your quest info for more details.";
  219. setquest .@quest;
  220. }
  221. }
  222. close;
  223. }
  224. }