91-99.txt 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218
  1. //===== rAthena Script =======================================
  2. //= Eden Group Quests - Mission [91 - 99]
  3. //===== By: ==================================================
  4. //= Chilly
  5. //===== Current Version: =====================================
  6. //= 1.5
  7. //===== Compatible With: =====================================
  8. //= rAthena Project
  9. //===== Description: =========================================
  10. //= Repetable Quests for Players between Baselevel 91 - 99.
  11. //===== Additional Comments: =================================
  12. //= 1.0 First Version. [Chilly]
  13. //= 1.1 Some little improvements here and there. [Masao]
  14. //= 1.2 Optimized. [Euphy]
  15. //= 1.3 Updated to match the official script. [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,48,177,3 script 91-99 Mission Board 857,{
  20. if (!callfunc("F_HasEdenGroupMark")) {
  21. mes "Wait a minute!";
  22. mes "-You need to have an-";
  23. mes "-^4d4dff'Eden Group Mark'^000000-";
  24. mes "-to receive these missions.-";
  25. next;
  26. switch(select("Just walk away.:^0000FFEden Group^000000 missions?:How can I be a member of the ^0000FFEden Group^000000?")) {
  27. case 1:
  28. close;
  29. case 2:
  30. mes "::The Eden Group Missions";
  31. mes "::are basically missions";
  32. mes "::requested by";
  33. mes "::people from all around the kingdom.";
  34. mes "::We just categorize them.";
  35. next;
  36. mes "::In the Eden Group,";
  37. mes "::we sorted out the missions";
  38. mes "::according to the level of difficulty.";
  39. mes "::According to this level,";
  40. mes "::you can find";
  41. mes "::missions that";
  42. mes "::suit you.";
  43. next;
  44. mes "::When you are done,";
  45. mes "::you can come back";
  46. mes "::to the mission board.";
  47. next;
  48. mes "::Then you will be";
  49. mes "::rewarded!!";
  50. mes "::Simple, isn't it!!";
  51. mes "::No commission required!!";
  52. close;
  53. case 3:
  54. mes "::You can become a member";
  55. mes "::of the Eden Group";
  56. mes "::to ^0000FFLaime Evenor^000000,";
  57. mes "::who is waiting on the 1st floor.";
  58. next;
  59. mes "::If you become a member,";
  60. mes "::you will get an";
  61. mes "::\"^006400Eden Group Mark^000000\".";
  62. mes "::Then you will be able";
  63. mes "::to see the mission board.";
  64. close;
  65. }
  66. }
  67. if (BaseLevel < 91 || BaseLevel > 99) {
  68. // Quest IDs: 4181-4196
  69. // Quest cooldown IDs: 4212-4227
  70. setarray .@names$[0],
  71. "Solider","Freezer","Heater",
  72. "Injustice","Rybio","Dark Priest",
  73. "Stapo","Roween","Siroma",
  74. "Shinobi","Evil Nymph",
  75. "Deviruchi","Mineral","Kaho","Neraid","Disguise";
  76. setarray .@exp[0],
  77. 90000,94000,114000,
  78. 96000,96000,146000,
  79. 96000,102000,110000,
  80. 102000,108000,
  81. 110000,138000,118000,96000,134000;
  82. mes "You must be within level 91-99 to accept these missions.";
  83. for(set .@quest,4181; .@quest<=4196; set .@quest,.@quest+1) {
  84. set .@hunting, checkquest(.@quest,HUNTING);
  85. if (.@hunting == 0 || .@hunting == 1) {
  86. next;
  87. mes ":: You cannot proceed in";
  88. mes ":: ^0000FF"+.@names$[.@quest-4181]+" Hunting^000000.";
  89. mes ":: The registration to the mission";
  90. mes ":: is cancelled.";
  91. erasequest .@quest;
  92. close;
  93. } else if (.@hunting == 2) {
  94. next;
  95. mes ":: You added information";
  96. mes ":: about the mission";
  97. mes ":: ^0000FF"+.@names$[.@quest-4181]+" Hunting^000000";
  98. mes ":: on the mission board.";
  99. mes ":: You've got a";
  100. mes ":: salutary experience.";
  101. erasequest .@quest;
  102. getexp .@exp[.@quest-4181],0;
  103. close;
  104. }
  105. }
  106. close;
  107. }
  108. mes "[91-99 Mission Board]";
  109. mes "There are several requests on this board.";
  110. next;
  111. switch(select("^8B4513Turtle Island^000000:^8B4513Glast Heim^000000:^8B4513Rachel / Veins^000000:^8B4513Expansion Cities^000000:^8B4513Other regions^000000")) {
  112. case 1:
  113. mes "^8B4513Turtle Island^000000.";
  114. mes "Which monster will you hunt or have you finished hunting?";
  115. next;
  116. switch(select("^0000FFSolider^000000:^0000FFFreezer^000000:^0000FFHeater^000000")) {
  117. case 1: callsub L_Quest,4181,"Solider",90000,"솔리더카드","There is a monster that only can be found on ^8B4513Turtle Island^000000.";
  118. case 2: callsub L_Quest,4182,"Freezer",94000,"프리저카드","There is a monster that only can be found on ^8B4513Turtle Island^000000.";
  119. case 3: callsub L_Quest,4183,"Heater",114000,"히터카드","There is a monster that only can be found on ^8B4513Turtle Island^000000.";
  120. }
  121. case 2:
  122. mes "^8B4513Glast Heim^000000.";
  123. mes "Which monster will you hunt or have you finished hunting?";
  124. next;
  125. switch(select("^0000FFInjustice^000000:^0000FFRybio^000000:^0000FFDark Priest^000000")) {
  126. case 1: callsub L_Quest,4184,"Injustice",96000,"인저스티스카드","There is a monster only found in ^8B4513Glast Heim prison^000000.";
  127. case 2: callsub L_Quest,4185,"Rybio",96000,"리비오카드","There is a monster only found in ^8B4513Glast Heim prison^000000.";
  128. case 3: callsub L_Quest,4186,"Dark Priest",146000,"다크프리스트카드","There is a monster only found in ^8B4513Glast Heim prison^000000.";
  129. }
  130. case 3:
  131. mes "^8B4513Rachel / Veins^000000.";
  132. mes "Which monster will you hunt or have you finished hunting?";
  133. next;
  134. switch(select("^0000FFStapo^000000:^0000FFRoween^000000:^0000FFSiroma^000000")) {
  135. case 1: callsub L_Quest,4187,"Stapo",96000,"스태포카드","There is a monster only found in ^8B4513Veins^000000.";
  136. case 2: callsub L_Quest,4188,"Roween",102000,"로우윈카드","There is a monster only found in ^8B4513Rachel^000000.";
  137. case 3: callsub L_Quest,4189,"Siroma",110000,"시로마카드","There is a monster only found in ^8B4513Ice Dungeon^000000.";
  138. }
  139. case 4:
  140. mes "^8B4513Expansion Cities^000000.";
  141. mes "Which monster will you hunt or have you finished hunting?";
  142. next;
  143. switch(select("^0000FFShinobi^000000:^0000FFEvil Nymph^000000")) {
  144. case 1: callsub L_Quest,4190,"Shinobi",102000,"시노비카드","There is a monster only found in ^8B4513Amatsu Dungeon^000000.";
  145. case 2: callsub L_Quest,4191,"Evil Nymph",108000,"요선녀카드","There is a monster only found in ^8B4513Kunlun Dungeon^000000.";
  146. }
  147. case 5:
  148. mes "Other Regions.";
  149. mes "Which monster will you hunt or have you finished hunting?";
  150. next;
  151. switch(select("^0000FFDeviruchi^000000:^0000FFMineral^000000:^0000FFKaho^000000:^0000FFNeraid^000000:^0000FFDisguise^000000")) {
  152. case 1: callsub L_Quest,4192,"Deviruchi",110000,"데비루치카드","There is a monster only found in ^8B4513Geffen Dungeon^000000.";
  153. case 2: callsub L_Quest,4193,"Mineral",138000,"미네랄","There is a monster only found in ^8B4513Einbech Dungeon^000000.";
  154. case 3: callsub L_Quest,4194,"Kaho",118000,"카호카드","There is a monster found in ^8B4513Nogg Road Magma 1^000000.";
  155. case 4: callsub L_Quest,4195,"Neraid",96000,"네레이드카드","There is a monster only found in ^8B4513Comodo Dungeon^000000.";
  156. case 5: callsub L_Quest,4196,"Disguise",134000,"디스가이즈카드","There is a monster only found in ^8B4513Niflheim^000000.";
  157. }
  158. }
  159. end;
  160. //callsub L_Quest,<quest ID>,"<monster name>",<reward EXP>,"<cutin image>","<description>"{,"s"};
  161. L_Quest:
  162. set .@quest1, getarg(0);
  163. set .@quest2, .@quest1+31;
  164. .@cutin$ = getarg(3);
  165. set .@playtime, checkquest(.@quest2,PLAYTIME);
  166. if (.@playtime == 0 || .@playtime == 1) {
  167. mes "[91-99 Mission Board]";
  168. mes "You need to wait 3 hours before you can take this mission again.";
  169. close;
  170. }
  171. set .@hunting, checkquest(.@quest1,HUNTING);
  172. if (.@hunting == 0 || .@hunting == 1) {
  173. mes "[91-99 Mission Board]";
  174. mes "Have you finished hunting all 30 "+getarg(1)+getarg(5,"")+" yet?";
  175. close;
  176. } else if (.@hunting == 2) {
  177. mes "[91-99 Mission Board]";
  178. mes "You have completed the hunting.";
  179. mes "Please accept this reward as a compensation.";
  180. erasequest .@quest1;
  181. if (.@playtime > -1) erasequest .@quest2;
  182. setquest .@quest2;
  183. // Job Experience calculation.
  184. if (JobLevel > 50 && JobLevel < 56) set .@jexp,67000;
  185. else if (JobLevel > 55 && JobLevel < 61) set .@jexp,94000;
  186. else if (JobLevel > 60 && JobLevel < 66) set .@jexp,141000;
  187. else if (JobLevel > 65 && JobLevel < 69) set .@jexp,212000;
  188. else if (JobLevel == 69) set .@jexp,311000;
  189. getexp getarg(2),.@jexp;
  190. close;
  191. }/* else if (.@hunting == 3) {
  192. // recall_completequest .@quest1
  193. erasequest .@quest1;
  194. mes "[91-99 Mission Board]";
  195. mes "You have re-accepted the "+getarg(1)+" Hunting mission.";
  196. close;
  197. }*/ else {
  198. mes "[91-99 Mission Board]";
  199. mes getarg(4);
  200. next;
  201. if (.@cutin$ != "") cutin .@cutin$,3;
  202. mes "[91-99 Mission Board]";
  203. mes "Hunt 30 "+getarg(1)+" monsters there and post your success on this board.";
  204. next;
  205. if (.@cutin$ != "") cutin .@cutin$,255;
  206. if(select("I'll hunt them.:No thanks.") == 1) {
  207. mes "[91-99 Mission Board]";
  208. mes "When you have completed the mission, post it on this board and collect your reward.";
  209. if (.@playtime > -1) erasequest .@quest2;
  210. setquest .@quest1;
  211. }
  212. close;
  213. }
  214. }