swordman_skills.txt 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487
  1. //===== rAthena Script =======================================
  2. //= Swordsman Skills Quests
  3. //===== By: ==================================================
  4. //= kobra_k88
  5. //===== Current Version: =====================================
  6. //= 1.9
  7. //===== Compatible With: =====================================
  8. //= rAthena Project
  9. //===== Description: =========================================
  10. //= Quests for skills: Fatal Blow, Mobile HP Recovery,
  11. // Auto-Berserk
  12. //===== Additional Comments: =================================
  13. //= 1.6 Rescripted to Aegis 10.3 stadards. [L0ne_W0lf]
  14. //= 1.7 Updated to latest available official file. [Masao]
  15. //= 1.8 Fixed JobLevel requirements. [Euphy]
  16. //= 1.9 Moved Izlude NPC to pre-re/re paths. [Euphy]
  17. //= Updated "Knight De Thomas" NPC to latest version.
  18. //============================================================
  19. - script ::KnightDeThomas 98,4,4,{
  20. if ((BaseClass == Job_Swordman) && (JobLevel >= 35 || (BaseJob == Job_Knight || BaseJob == Job_Crusader))) {
  21. if (getskilllv("SM_MOVINGRECOVERY") == 1) {
  22. mes "[De Thomas]";
  23. mes "Oh, it's you?";
  24. mes "Long time no see!";
  25. mes "You seem healthier than before.";
  26. mes "Hahahaha!";
  27. mes "Take care! See you again!";
  28. close;
  29. } else if (countitem(713) >= 200 && countitem(1058) >= 1) {
  30. mes "[De Thomas]";
  31. mes "Welcome back...";
  32. mes "Are you ready to learn Body Movin'?";
  33. next;
  34. switch (select("Yes.:No, I'm not ready yet.")) {
  35. case 1:
  36. mes "[De Thomas]";
  37. mes "Let's see.....";
  38. next;
  39. mes "[De Thomas]";
  40. mes "Ok! I shall now teach you...";
  41. mes "...The Body Movin' skill!";
  42. next;
  43. delitem 713,200; //Empty_Bottle
  44. delitem 1058,1; //Wing_Of_Moth
  45. skill "SM_MOVINGRECOVERY",1,SKILL_PERM;
  46. mes "[De Thomas]";
  47. mes "There you go!";
  48. mes "Try it yourself.";
  49. mes "But don't overdo it.";
  50. next;
  51. mes "[De Thomas]";
  52. mes "Oh yeah, I won't be needing your";
  53. mes "armor so you can keep it.";
  54. mes "Good luck now!";
  55. close;
  56. case 2:
  57. mes "[De Thomas]";
  58. mes "Is that so?";
  59. mes "Then come when you are prepared.";
  60. close;
  61. }
  62. } else {
  63. mes "[De Thomas]";
  64. mes "Hmmm... He's a swordsman...";
  65. mes "You know that I am De Thomas Carlos, right?";
  66. mes "Knight of Prontera's 3rd Calvary.";
  67. mes "De Thomas Carlos!";
  68. next;
  69. mes "[De Thomas]";
  70. // bug: official script always states that job level is too low
  71. //mes "Wait a second, your Job level isn't above ^00880035^000000!";
  72. //mes "Come back when it is.";
  73. // custom: old dialog
  74. mes "You do not have all the items I asked for.";
  75. next;
  76. mes "[De Thomas]";
  77. mes "Remember, I need ^008800200 empty bottles^000000, your armor, and a ^008800Moth Wing^000000. Come back when you have it all.";
  78. close;
  79. }
  80. } else {
  81. mes "[De Thomas]";
  82. mes "My name is De Thomas Carlos.";
  83. mes "Knight of Prontera's 3rd Calvary.";
  84. mes "I have a certain duty these days.";
  85. mes "Ehem! Need I say more.";
  86. close;
  87. }
  88. end;
  89. OnTouch:
  90. if ((BaseClass == Job_Swordman) && (JobLevel >= 35 || (BaseJob == Job_Knight || BaseJob == Job_Crusader))) {
  91. mes "[De Thomas]";
  92. mes "Oh, no! You must have been hurt! Are you ok?";
  93. mes "You must have fought hard to get such serious injuries..";
  94. mes "Being a swordsman must come with a lot of responsibility and sacrifice.";
  95. next;
  96. mes "[De Thomas]";
  97. if (Sex == 0)
  98. mes "For these swordsmen and knights, there is a wonderful skill.";
  99. else
  100. mes "For these swordswomen and knights, there is a wonderful skill young lady.";
  101. mes "I present to you - HP Recovery While Moving!";
  102. mes "Body moving is a splendid skill";
  103. mes "that allows you to regain strength(HP)";
  104. mes "while you are moving!";
  105. next;
  106. mes "[De Thomas]";
  107. mes "It is currently under development";
  108. mes "so it may not recover that much,";
  109. mes "but it will help a little.";
  110. mes "What do you think? Would you like to learn this skill?";
  111. next;
  112. switch (select("What a nice skill! I want to learn it!:No, thank you.")) {
  113. case 1:
  114. mes "[De Thomas]";
  115. mes "Very well. I will tell you what you need to learn this skill.";
  116. mes "First, your job level must be higher than ^00880035^000000.";
  117. mes "You will also need ^008800200 empty bottles^000000.";
  118. mes "Why? Because it is proof that you fought fiercely to have used that many potions.";
  119. next;
  120. mes "[De Thomas]";
  121. mes "Also, the armor you used in battle.";
  122. mes "This is also proof of an experienced fighter.";
  123. mes "For the armor... your armor is perfect!";
  124. mes "Bring your armor!";
  125. mes "Last but not least... bring me one ^008800Moth Wing^000000.";
  126. next;
  127. select("Eh? You need that, too?");
  128. mes "[De Thomas]";
  129. mes "Not really.. I don't really NEED it.";
  130. mes "It's just that my niece has gotten a bug hunting as a holiday task during the summer vacation.";
  131. mes "Of course! It would be much easier for me to get it myself.";
  132. mes "but I must work here all the time so I don't exactly have the time to go out and get it.";
  133. next;
  134. mes "[De Thomas]";
  135. mes "Don't you think it is pitiful that I have to stay in once place everyday, not being able to go outside?";
  136. mes "Please, find me one...*sniffsniff*";
  137. mes "If you don't...";
  138. close;
  139. case 2:
  140. mes "[De Thomas]";
  141. mes "...";
  142. close;
  143. }
  144. }
  145. end;
  146. }
  147. prt_in,75,88,5 script Leon Von Frich 85,3,3,{
  148. if ((BaseClass == Job_Swordman) && (JobLevel >= 25 || (BaseJob == Job_Knight || BaseJob == Job_Crusader))) {
  149. if (getskilllv("SM_FATALBLOW") == 1) {
  150. mes "[Leon]";
  151. mes "Eh?";
  152. mes "I was wondering who that was!";
  153. mes "Why it's you from before!";
  154. mes "Nice to see you again! How are you?";
  155. mes "Be careful! Hahaha!";
  156. close;
  157. }
  158. else if ((countitem(1752) > 9) && (countitem(1751) > 9) && (countitem(532) > 0) && (countitem(962) > 29) && (countitem(526) > 4)) {
  159. mes "[Leon]";
  160. mes "Ooh! You are more than ready";
  161. mes "to learn Fatal Blow!";
  162. mes "So how about it? Would you like to learn?";
  163. next;
  164. switch (select("Yes!:No, I don't want to.:But, what is Fatal Blow?")) {
  165. case 1:
  166. mes "[Leon]";
  167. mes "OK, lets begin!";
  168. next;
  169. delitem 1752,10; //Fire_Arrow
  170. delitem 1751,10; //Silver_Arrow
  171. delitem 532,1; //Banana_Juice
  172. delitem 962,30; //Tentacle
  173. delitem 526,5; //Royal_Jelly
  174. skill "SM_FATALBLOW",1,SKILL_PERM;
  175. mes "[Leon]";
  176. mes "Success!";
  177. mes "Go use your new skill to its full potential.";
  178. mes "Hahahahahahahaha!";
  179. close;
  180. case 2:
  181. mes "[Leon]";
  182. mes "I don't like you!!!";
  183. close;
  184. case 3:
  185. mes "[Leon]";
  186. mes "I developed this skill recently.";
  187. mes "When you use bash, depending ";
  188. mes "on your level, you can stun ";
  189. mes "your opponent. .";
  190. mes "You have learned bash, haven't you?";
  191. next;
  192. mes "[Leon]";
  193. mes "What do you think. Stun is";
  194. mes "a very useful technique. Don't you find this skill attractive?";
  195. mes "When you think you do, just come right back to me!";
  196. close;
  197. }
  198. }
  199. mes "[Leon]";
  200. mes "Ooh! A young and strong swordsman!";
  201. next;
  202. mes "[Leon]";
  203. mes "Wow, seeing your arm, you must enjoy using bash?";
  204. next;
  205. select("Eh, I... just...");
  206. mes "[Leon]";
  207. if (Sex == 0) {
  208. mes "No need to be surprised.";
  209. mes "If you use a sword, of course you ought to have a good arm!";
  210. }
  211. else {
  212. mes "Nothing to be embarrassed about.";
  213. mes "Even if you are a female you need a strong arm to use a sword!";
  214. }
  215. mes "In times of only useless and lazy youngsters,";
  216. mes "I'm glad I met someone strong like you.";
  217. next;
  218. mes "[Leon]";
  219. mes "Yes, I would like to give a present to an awesome swordsman like you.";
  220. next;
  221. switch (select("What present?:It's ok.")) {
  222. case 1:
  223. mes "[Leon]";
  224. mes "Haha nothing special, but a skill to attack the vital point!";
  225. next;
  226. case 2:
  227. mes "[Leon]";
  228. mes "...Haha nothing special, just a skill that aims at the vital spot!";
  229. next;
  230. }
  231. mes "[Leon]";
  232. mes "It's a skill I developed recently.";
  233. mes "When you use bash, depending on";
  234. mes "your level, your opponent can";
  235. mes "become stunned.";
  236. mes "You have learned bash, haven't you?";
  237. next;
  238. mes "[Leon]";
  239. mes "When I was a swordsman like you,";
  240. mes "I used to enjoy using Bash. Every time, I thought";
  241. mes "- maybe the attack would be more powerful";
  242. mes "if I use stun at the same time.";
  243. next;
  244. mes "[Leon]";
  245. mes "I drew back from the battlefield to do research";
  246. mes "and finally, I developed this wonderful new skill!";
  247. mes "Would you like to learn this skill?";
  248. next;
  249. switch (select("Yes.:No.:Do you have any advice on how to eat sushi?")) {
  250. case 1:
  251. mes "[Leon]";
  252. mes "Ok. I'll tell you the requirements.";
  253. mes "First you need to have level 5 Bash.";
  254. mes "You will also need to prepare 10 Fire Arrows, 10 Silver Arrows, 1 bottle of Banana Juice, 30 Tentacles, and 5 bottles of Royal Jelly.";
  255. mes "They are.. somewhat like ingredients.";
  256. next;
  257. mes "[Leon]";
  258. mes "come to me again once you have all the materials.";
  259. mes "We shall talk then.";
  260. close;
  261. case 2:
  262. mes "[Leon]";
  263. mes "Hahahahahahahahahaha!";
  264. mes "... ";
  265. mes " ... ";
  266. mes " ...";
  267. mes "I'm at a loss of words!?";
  268. close;
  269. case 3:
  270. mes "[Sushi King Leon]";
  271. mes "The best way to eat sushi is";
  272. mes "with your hands.";
  273. mes "That is the basic.";
  274. mes "And dip the fish, not the rice,";
  275. mes "in the soy sauce.";
  276. next;
  277. mes "[Sushi King Leon]";
  278. mes "That way you get a richer flavor.";
  279. mes "Also, always eat the kind that is in season.";
  280. mes "Eating in the order of white fish then";
  281. mes "blue fish will make it taste better!";
  282. mes "Mmm! I like sushi~~!";
  283. close;
  284. }
  285. }
  286. mes "[Leon]";
  287. mes "Oh, no! I have nothing to offer you!";
  288. mes "I can't say nice and fun things to anyone";
  289. mes "other than swordsmen!";
  290. mes "See you in a better world!";
  291. close;
  292. OnTouch:
  293. mes "[Leon]";
  294. mes "Hahahahahahaha!";
  295. mes "Hahahahahahaha!";
  296. close;
  297. }
  298. prt_in,94,57,3 script Juan 85,4,4,{
  299. if (BaseClass == Job_Swordman) {
  300. if (getskilllv("SM_AUTOBERSERK") == 1) {
  301. mes "[Juan]";
  302. mes "Mmm? Long time no see!";
  303. mes "How are you?";
  304. mes "You got stronger than before.";
  305. mes "Many expect great things from you.";
  306. mes "You can do it.";
  307. close;
  308. }
  309. else if (JobLevel < 10 && (BaseJob != Job_Knight && BaseJob != Job_Crusader)) {
  310. mes "[?]";
  311. mes "What are you?";
  312. mes "Eh, still a beginner.";
  313. mes "I'm busy, so go train a little more";
  314. mes "before coming back.";
  315. close;
  316. }
  317. else if (JobLevel < 30 && (BaseJob != Job_Knight && BaseJob != Job_Crusader)) {
  318. mes "[Juan]";
  319. mes "Oh, nice to meet you.";
  320. mes "You can be on your way. (smiley~)";
  321. close;
  322. }
  323. else if ((countitem(924) > 34) && (countitem(958) > 9) && (countitem(957) > 9) && (countitem(518) > 9)) {
  324. mes "[Juan]";
  325. mes "Ooh. Young swordsman!";
  326. mes "You are ready to learn the";
  327. mes "newest skill, Auto Berserk?!";
  328. next;
  329. switch (select("Hoho, I would like to learn it now.:What is that?")) {
  330. case 1:
  331. mes "[Juan]";
  332. mes "Ok. Then...";
  333. next;
  334. delitem 924,35; //Powder_Of_Butterfly
  335. delitem 958,10; //Horrendous_Mouth
  336. delitem 957,10; //Decayed_Nail
  337. delitem 518,10; //Honey
  338. skill "SM_AUTOBERSERK",1,SKILL_PERM;
  339. mes "[Juan]";
  340. mes "You have just become a swordsman";
  341. mes "that can use Auto Berserk.";
  342. mes "You can go about ";
  343. mes "and achieve great things!";
  344. next;
  345. mes "[Juan]";
  346. mes "Good luck!";
  347. next;
  348. mes "[Juan]";
  349. mes "....................................oh yeah.";
  350. mes "I forgot to say something.";
  351. mes "There are some things you must keep in mind.";
  352. next;
  353. mes "[Juan]";
  354. mes "Once you regain health,";
  355. mes "this skill will subside.";
  356. mes "Also, there isn't really a time limit";
  357. mes "but it can still disappear when";
  358. mes "it is attacked with a skill that can";
  359. mes "nullify provoke.";
  360. next;
  361. mes "[Juan]";
  362. mes "If you don't remember these characteristics,";
  363. mes "you may run into some problems on the battlefield";
  364. mes "when the skill disappears all of a sudden.";
  365. next;
  366. mes "[Juan]";
  367. mes "Then... bye for real~";
  368. close;
  369. case 2:
  370. mes "[Juan]";
  371. mes "Auto Berserk?";
  372. mes "It's a skill crucial on the battlefield.";
  373. mes "When your health is in red,";
  374. mes "your hidden potential provokes yourself";
  375. mes "to help you in battle.";
  376. next;
  377. mes "[Juan]";
  378. mes "It is perfect for those that";
  379. mes "fight on the battlefield like fire!";
  380. mes "With your ability, you can learn";
  381. mes "this skill right now.";
  382. mes "Then, I shall tell you the necessary materials.";
  383. next;
  384. mes "[Juan]";
  385. mes "You need 35 Powder of Butterfly.";
  386. mes "The energy from the magnificent";
  387. mes "wings of a butterfly will";
  388. mes "help you gather your strength!";
  389. mes "And 10 Horrendous Mouth.";
  390. mes "10 Decayed Nail.";
  391. mes "and last but not least...";
  392. mes "10 Honey!";
  393. next;
  394. mes "[Juan]";
  395. mes "Did you get all that down?";
  396. mes "As always, please come back";
  397. mes "when you are ready.";
  398. mes "I look forward to seeing you again.";
  399. close;
  400. }
  401. }
  402. mes "[Juan]";
  403. mes "Oh no, you have more injuries";
  404. mes "since the last time I saw you.";
  405. mes "You went into battle like this?";
  406. mes "Seems like you are straining yourself.";
  407. next;
  408. mes "[Juan]";
  409. mes "Even though you may have a lot of strength";
  410. mes "you can't do much when you reach your limits so";
  411. mes "don't overestimate your powers.";
  412. mes "Of course you could always use the";
  413. mes "skill we developed to overcome these limits.";
  414. next;
  415. switch (select("Eh! What are you talking about?:Haha, there can't be such a thing.:Keuuuuuuuh!")) {
  416. case 1:
  417. mes "[Juan]";
  418. mes "The skill is called Berserk.";
  419. mes "It is deemed the flower of a battlefield.";
  420. mes "When your health is red,";
  421. mes "your hidden potential is provokes yourself";
  422. mes "to help you in battle.";
  423. next;
  424. mes "[Juan]";
  425. mes "It is perfect for those that";
  426. mes "fight on the battlefield like fire!";
  427. mes "With your ability, you can learn";
  428. mes "this skill right now.";
  429. mes "Then, I shall tell you the necessary materials.";
  430. next;
  431. mes "[Juan]";
  432. mes "You need 35 Powder of Butterfly.";
  433. mes "The energy from the magnificent";
  434. mes "wings of a butterfly will";
  435. mes "help you gather your strength!";
  436. mes "And 10 Horrendous Mouth.";
  437. mes "10 Decayed Nail.";
  438. mes "and last but not least...";
  439. mes "10 Honeys!";
  440. next;
  441. mes "[Juan]";
  442. mes "Did you get all that down?";
  443. mes "As always, please come back";
  444. mes "when you are ready.";
  445. mes "I look forward to seeing you again.";
  446. close;
  447. case 2:
  448. mes "[Juan]";
  449. mes "Bleh, were you fooled all your life.";
  450. mes "I don't know. Don't talk to me.";
  451. close;
  452. case 3:
  453. mes "[Juan]";
  454. mes "Keuuuuuuuuuuuuuh!";
  455. mes "Ooowwwwwuuuuuuuuuuuuuhhh!";
  456. mes "Keuaaaaaaaaaaah!";
  457. close;
  458. }
  459. }
  460. mes "[Juan]";
  461. mes "Are you enjoying your trip?";
  462. mes "I hope you have nice days ahead of you.";
  463. mes "Ah, I am just a kind knight Juan.";
  464. mes "Don't worry about me too much. Hahaha...";
  465. close;
  466. }
  467. //============================================================
  468. // Old changelog
  469. //============================================================
  470. //= Fully working
  471. //= 1.0a Now using functions found in "Global_Functions.txt"
  472. //= for class checks.
  473. //= 1.1 Added missing delitem [Lupus]
  474. //= 1.2 Added Baby Class Support [Lupus]
  475. //= 1.3 Removed callfunc Is_####_Class in favor of baseClass [Silentdragon]
  476. //= 1.4 Updated the NPC to allow subclasses of swordsman to learn the skills, [MasterOfMuppets]
  477. //= 1.5 Fixed exploits [Lupus]
  478. //= 1.5a Fixed some typos [IVBela]
  479. //============================================================