archer_skills.txt 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212
  1. //===== eAthena Script =======================================
  2. //= Archer Skill Quest
  3. //===== By: ==================================================
  4. //= eAthena dev team
  5. //===== Current Version: =====================================
  6. //= 1.4
  7. //===== Compatible With: =====================================
  8. //= eAthena 7.15 +
  9. //===== Description: =========================================
  10. //= Arrow crafting, Arrow Repel skills
  11. //===== Additional Comments: =================================
  12. //= v1.0 Roberto message text is based off RO npc. Jason message
  13. //= text is custom from old version.
  14. //= All items are from official quests though.[kobra_k88]
  15. //= v1.0a Now using functions found in "Global_Functions.txt"
  16. //= for class checks.[kobra_k88]
  17. //= 1.2 Added Baby Class Support [Lupus]
  18. //= 1.3 Removed callfunc Is_####_Class in favor of baseClass [Silentdragon]
  19. //= 1.4 Fixed exploits [Lupus]
  20. //= 1.4a Fixed some typos [IVBela]
  21. //============================================================
  22. //<======================== Roberto: Arrow crafting =========================>\\
  23. morocc.gat,121,109,5 script Roberto 88,{
  24. mes "[Roberto]";
  25. if (baseClass == Job_Archer) goto L_Start;
  26. L_Other:
  27. mes "Eh?... First time seeing an archer or something? Why don't you just";
  28. mes "go about your business and leave me be. I only talk to high level";
  29. mes "Archer types........";
  30. emotion e_what;
  31. close;
  32. L_Start:
  33. if (BaseJob==Job_Archer && JobLevel<30) goto L_LowLvl;
  34. if (getskilllv(147)>0) goto L_GotSkill;
  35. if (ARWCRFT == 1) goto L_GetSkill;
  36. mes "Hmmm?.... Oh you seem to be a high level Archer type. Why don't we";
  37. mes "converse for a while, eh? Let me start off by talking about my";
  38. mes "childhood.... . . . . . . . . . . .";
  39. next;
  40. mes "[Roberto]";
  41. mes "When I turned 15, I decided I'd work for a Blacksmith........";
  42. next;
  43. mes "[Roberto]";
  44. mes "............... ~(blah blah blah)~...................";
  45. next;
  46. mes "[Roberto]";
  47. mes ".... man was my Junior Prom a mess...........";
  48. next;
  49. mes "[Roberto]";
  50. mes "..~(blah blah)~........ ~(blah blah)~.........";
  51. next;
  52. mes "(many grueling hours later.....)";
  53. next;
  54. mes "[Roberto]";
  55. mes "So that's how I found out how to create all of these different";
  56. mes "kinds of arrows for myself. It definitely comes in handy.";
  57. next;
  58. mes "[Roberto]";
  59. mes "Say, would you like me to teach you? We've had such a nice talk";
  60. mes "that I feel like can trust you with this knowledge.......";
  61. next;
  62. menu "Zzz... Eh!! Uh, Arrows... making... yes, teach.",M_0, "Zzzzz... Eh! Uh... where am I????",M_1;
  63. M_0:
  64. mes "[Roberto]";
  65. mes "Alright then! In order for me to teach you the art of ^5533FF'Arrow";
  66. mes "Crafting'^000000, you must first bring me these items:";
  67. mes "^FF335520 Resin,";
  68. mes "7 Poison Spores,";
  69. mes "41 Pointed Scales,";
  70. mes "13 Trunks,";
  71. mes "1 Red potion^000000";
  72. set ARWCRFT, 1;
  73. emotion e_ic;
  74. close;
  75. M_1:
  76. mes "[Roberto]";
  77. mes "................................................................";
  78. emotion e_ag;
  79. next;
  80. mes "[Roberto]";
  81. mes "Let me teach you this special skill.... It's called, my boot up";
  82. mes "your A........";
  83. emotion e_pif;
  84. next;
  85. mes "!!!!SMACK!!!!";
  86. percentheal -5,0;
  87. close;
  88. L_GetSkill:
  89. if ((countitem(907)<20) || (countitem(7033)<7) || (countitem(906)<41) || (countitem(1019)<13) || (countitem(501)<1)) goto L_NotEnuf;
  90. delitem 907, 20;
  91. delitem 7033, 7;
  92. delitem 906, 41;
  93. delitem 1019, 13;
  94. delitem 501, 1;
  95. mes "You've brought all of the items... very good. Lets begin.....";
  96. next;
  97. mes "~ hands you a very long list of ingredients ~";
  98. next;
  99. mes "[Roberto]";
  100. mes "There you are. You're all set.";
  101. next;
  102. mes ".......................";
  103. next;
  104. mes "[Roberto]";
  105. mes "Hmm?...... What do you mean 'that's it'?....... What else were you";
  106. mes "expecting...... With that list you will be able to make any kind of";
  107. mes "arrows you want.......";
  108. next;
  109. mes "[Roberto]";
  110. mes "I hope you didn't expect some kind of elaborate ceremony or some";
  111. mes "kind of unique and lengthy training.......";
  112. next;
  113. skill 147,1,0;
  114. set ARWCRFT, 0;
  115. mes "[Roberto]";
  116. mes "...... Well good luck and have fun making arrows. I've got other";
  117. mes "things to do if you don't mind.......";
  118. close;
  119. L_NotEnuf:
  120. mes "You don't have everything I need.";
  121. next;
  122. goto M_0;
  123. L_GotSkill:
  124. mes "Hmmm?.... Sorry but I've got nothing left to teach you. Just keep";
  125. mes "on making those arrows..... For us Archer types there can never be";
  126. mes "too many arrows.....";
  127. close;
  128. L_LowLvl:
  129. mes "Hmm?... Do you have something to say to me? Unfortunately I have";
  130. mes "nothing to say to you.....";
  131. emotion e_what;
  132. next;
  133. mes "[Roberto]";
  134. mes "It's sad but conversations with people who have ^5533FFlow job levels^000000 such";
  135. mes "as yourself always seem to end abruptly..... Maybe if you trained a";
  136. mes "little bit longer we would have more to talk about............";
  137. close;
  138. }
  139. //<============================== Arrow Repel ===============================>\\
  140. payon.gat,103,63,5 script Jason 88,{
  141. mes "[Jason]";
  142. if (baseClass == Job_Archer) goto L_Start;
  143. L_Other:
  144. mes "What does life need from a lonely lad like me?";
  145. close;
  146. L_Start:
  147. if (getskilllv(148)>0) goto L_GotSkill;
  148. if (BaseJob == Job_Archer && JobLevel < 35) goto L_LowLvl;
  149. if (ARWREP == 1) goto L_Check;
  150. mes "Hi, I'm the master of the skill ^0033FFArrow Repel^000000. I might be able to";
  151. mes "teach you the skill, but only if you help me get the ingredients";
  152. mes "for my Grandma's soup.";
  153. next;
  154. mes "[Jason]";
  155. mes "Arrow Repel allows you to use your arrows to repel, push back, an";
  156. mes "enemy and keep them at a distance. This is a great skill for us";
  157. mes "Archer types.";
  158. next;
  159. L_List:
  160. mes "[Jason]";
  161. mes "I need the following:";
  162. mes "- 2 ^FF0000Emeralds^000000";
  163. mes "- 3 ^FF0000Yoyo tails^000000";
  164. mes "- 10 ^FF0000Tentacles^000000";
  165. mes "- 10 ^FF0000Bill of birds^000000";
  166. mes "- 36 ^FF0000Banana Juices^000000";
  167. next;
  168. mes "[Jason]";
  169. mes "Hurry hurry!";
  170. set ARWREP, 1;
  171. close;
  172. L_LowLvl:
  173. mes "Oh I think you're a bit inexperienced to learn anything from me,";
  174. mes "come back later! Maybe around ^5533FFjob level 35^000000 or so.....";
  175. close;
  176. L_Check:
  177. if ((countitem(721)<2) || (countitem(942)<3) || (countitem(962)<10) || (countitem(925)<10) || (countitem(532)<36)) goto L_NotEnuf;
  178. delitem 721,2;
  179. delitem 942,3;
  180. delitem 962,10;
  181. delitem 925,10;
  182. delitem 532,36;
  183. mes "OH! Marvelous you brought me all the ingredients!";
  184. mes "Now it'll be my pleasure to teach you the skill ^0033FFArrow Repel^000000";
  185. next;
  186. skill 148,1,0;
  187. set ARWREP, 0;
  188. mes "[Jason]";
  189. mes "There you go! Happy hunting in the future.";
  190. close;
  191. L_NotEnuf:
  192. mes "You don't have everything I need.";
  193. next;
  194. goto L_List;
  195. L_GotSkill:
  196. mes "Hey! It's you again? I'm afraid I've taught you everything I know.";
  197. close;
  198. }