Jfunc2-1.txt 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385
  1. //===== eAthena Script =======================================
  2. //= Global Job Function
  3. //===== By: ==================================================
  4. //= massdriller
  5. //===== Current Version: =====================================
  6. //= 0.2
  7. //===== Compatible With: =====================================
  8. //= eAthena 1.0 +
  9. //===== Description: =========================================
  10. //= Optimised scripts by moving all their checkers here.
  11. //===== Additional Comments: =================================
  12. //= For 2-1 Jobs
  13. //= 0.2 Removed callfunc Is_####_Class in favor of baseClass [Silentdragon]
  14. //============================================================
  15. //Assasin Check
  16. function script Ass_check {
  17. if(BaseJob==Job_Assassin) goto L_JobSin;
  18. mes "[Angry looking man]";
  19. if(baseClass == Job_Swordman) goto L_JobSwo;
  20. if(baseClass == Job_Mage) goto L_JobMag;
  21. if(baseClass == Job_Archer) goto L_JobArch;
  22. if(baseClass == Job_Acolyte) goto L_JobAco;
  23. if(baseClass == Job_Merchant) goto L_JobMerc;
  24. if(baseClass == Job_Thief) goto L_JobOther;
  25. L_JobNov:
  26. mes "....HEY Novice!!! GET out of here now!! I won't be held responsible if anything bad happens to you.......";
  27. emotion e_gasp;
  28. close;
  29. L_JobSwo:
  30. mes "....What are you doing here???";
  31. emotion e_what;
  32. next;
  33. mes "[Angry looking man]";
  34. mes "Doing what you're ordered to do eh?........ You guys are nothing more than dogs that listen to their owners.............";
  35. emotion e_pif;
  36. close;
  37. L_JobMag:
  38. mes "...What's a mage like you doing here? You should be paying more attention to your training.....";
  39. emotion e_hmm;
  40. close;
  41. L_JobArch:
  42. mes "Uh.... you're one of those people with bows right? Sorry but there are no cute pets here for u to kill..........";
  43. emotion e_swt;
  44. next;
  45. mes "[Angry looking man]";
  46. mes "Wait...... You're not here to create trouble eh!!? ....LEAVE AT ONCE!!";
  47. emotion e_gasp;
  48. close;
  49. L_JobAco:
  50. mes "...Oh God's little helper..... What are you doing down in a dreadful place like this?";
  51. mes "Trust me, you're not going to find any salvation here........ why don't you just run along ok?........";
  52. emotion e_hmm;
  53. close;
  54. L_JobMerc:
  55. mes ".... What the??? Do you have any idea where you are??...... GREEDY SCAMMERS like you are not welcome here!!";
  56. emotion e_gg;
  57. close;
  58. L_JobOther:
  59. mes ".... Hmm.... although you're not an Assassin or Thief... I have to say I like your sense of style.";
  60. close;
  61. L_JobSin:
  62. mes "[Assassin Huey]";
  63. mes "Oohh, its you. You're...." + strcharinfo(0) + " right?";
  64. next;
  65. mes "[Assassin Huey]";
  66. mes "Too bad there's nothing to do right now. You should go train more. Bye.";
  67. close;
  68. }
  69. //Blacksmith Check
  70. function script Bla_check {
  71. if (BaseJob == 0) goto L_Nov;
  72. if (baseClass == Job_Swordman) goto L_Sword;
  73. if (baseClass == Job_Acolyte) goto L_Aco;
  74. if (baseClass == Job_Thief) goto L_Thief;
  75. if (baseClass == Job_Mage) goto L_Wiz;
  76. if (baseClass == Job_Archer) goto L_Arc;
  77. if (BaseJob == 10) goto L_Black;
  78. mes "Only Merchants can become Blacksmiths.";
  79. close;
  80. L_Nov:
  81. if(sex==0) mes "...Hello little lady! If you wish to be a blacksmith, you have to be a merchant first!";
  82. if(sex==1) mes "Hmmm, you look like you wish to be a blacksmith! Sorry, but only merchants can be blacksmiths!.";
  83. close;
  84. L_Sword:
  85. mes "Hello! Come here to order a sword? Sorry, but I have some paperwork to do, so I can't forge anything now.";
  86. close;
  87. L_Arc:
  88. mes "Hmmm, sorry, but we're not hiring anyone that isn't a merchent.";
  89. close;
  90. L_Wiz:
  91. mes "Interested in training? Our guild cannot assist magic users is such matters.";
  92. close;
  93. L_Aco:
  94. mes "Oh! A Holy one...! Do me a favor and bless the sword I'm crafting!";
  95. close;
  96. L_Thief:
  97. mes "Sorry, but this is more of a office, so there's nothing worth money. We CAN do knife forges though.";
  98. close;
  99. L_Black:
  100. mes "Hey! Been a while, running a errand for Christopher? I feel like my hammer is getting rusty after all this office work.";
  101. close;
  102. }
  103. //Hunter Check
  104. function script Hun_check {
  105. if(BaseJob==Job_Hunter) goto L_Hunt;
  106. if(baseClass == Job_Archer) goto L_Other;
  107. if(baseClass == Job_Swordman) goto L_Swo;
  108. if(baseClass == Job_Mage) goto L_Mage;
  109. if(baseClass == Job_Thief) goto L_Thf;
  110. if(baseClass == Job_Acolyte) goto L_Aco;
  111. if(baseClass == Job_Merchant) goto L_Merc;
  112. L_Nov:
  113. mes "[Hunter Sharon]";
  114. mes "What's a novice like you doing here? Leave, we have nothing for you.";
  115. emotion e_what;
  116. close;
  117. L_Swo:
  118. mes "[Hunter Sharon]";
  119. mes "A follower of the way of the blade! We have nothing for you here so please leave.";
  120. close;
  121. L_Mage:
  122. mes "[Hunter Sharon]";
  123. mes "Hello mage type person. If you have no business here, please leave,";
  124. close;
  125. L_Aco:
  126. mes "[Hunter Sharon]";
  127. mes "Good day, religious zealot! It's nice to meet you and all, but you have no buisiness here.";
  128. close;
  129. L_Merc:
  130. mes "[Hunter Sharon]";
  131. mes "Hey, how's buisiness? Perhaps if you want to sell something, go back to town.";
  132. close;
  133. L_Thf:
  134. mes "[Hunter Sharon]";
  135. mes "Eeep! There's nothing to steal here!! Leave us alone..... go rob an old lady or something......";
  136. emotion e_omg;
  137. close;
  138. L_Hunt:
  139. mes "[Hunter Sharon]";
  140. mes "What up! "+strcharinfo(0)+" Why did you come back? Falcon run away or something? Te hehe.";
  141. emotion e_heh;
  142. next;
  143. mes "[Hunter Sharon]";
  144. mes "I hope you didn't think you could get free stuff from us just because your part of our guild now......";
  145. close;
  146. L_Other:
  147. mes "[Hunter Sharon]";
  148. mes "What are YOU doing here? Did you come to do a little song and dance... ke.. keke....kekekeHahahahhaha!!!";
  149. emotion e_heh;
  150. close;
  151. }
  152. //Knight Check
  153. function script Kni_check {
  154. if(BaseJob != Job_Swordman) goto L_NotSwo;
  155. mes "Well then, first fill out this application form....";
  156. next;
  157. mes "...(you fill out the form and hand it back)...";
  158. next;
  159. mes "[Chivalry Captain Herman]";
  160. if(JobLevel < 40) goto L_NotLvl;
  161. mes "Impressive. You have the job qualifications to become a knight..., however you will need much more than that to actually become one.";
  162. next;
  163. return;
  164. L_NotLvl:
  165. mes "Hmm...it looks like you have not reached Job Level 40 yet. Please come back when you do. I shall be waiting here.";
  166. close;
  167. L_NotSwo:
  168. if(BaseJob == Job_Knight) goto sL_JobKni;
  169. if(BaseJob == Job_Novice) goto sL_JobNov;
  170. sL_JobOther:
  171. mes "I'm sorry but only Swordsmen can become Knights.";
  172. close;
  173. sL_JobKni:
  174. mes "...(sighs)...what are you doing here WASTING my time?? GO FORTH!!, and continue protecting Rune Midgard my young Knight.";
  175. emotion e_pif;
  176. close;
  177. sL_JobNov:
  178. mes "Hahahaha!! You have no job experience what so ever and yet you stumble in here asking to be a knight. Hahahaha!!";
  179. emotion e_heh;
  180. next;
  181. mes "[Chivalry Captain Herman]";
  182. mes "You must first become a Swordsman before even thinking about becoming a Knight. Now scurry along little novice. Hahahahaha!!!";
  183. close;
  184. }
  185. //Priest Check
  186. function script Pri_check {
  187. if (BaseJob == Job_Novice) goto L_Novice;
  188. if (BaseJob == Job_Priest) goto L_Priest;
  189. mes "May God bless you my child.";
  190. next;
  191. mes "[Father Thomas]";
  192. mes "Please feel free to rest, the church is the safest place in this world.";
  193. next;
  194. mes "[Father Thomas]";
  195. mes "I hope God will bless you.";
  196. return;
  197. L_Novice:
  198. mes "May God bless you, child. This is the Prontera Church. What are you here for?";
  199. next;
  200. menu "I want to become an Acolyte.",M_0a, "I want to become a ^5533FFPriest^000000.",M_0b, "I'm just walking around.",M_0End;
  201. M_0a:
  202. mes "[Father Thomas]";
  203. mes "Haha.. so you want to become an Acolyte eh? To apply to become an Acolyte, please go to the room opposite of here.";
  204. close;
  205. M_0b:
  206. mes "[Father Thomas]";
  207. mes "Haha...in order to become a priest you must first become an Acolyte. To become an Acolyte, go to the room opposite of here.";
  208. close;
  209. M_0End:
  210. mes "[Father Thomas]";
  211. mes "Please feel free to rest here. The church is a sanctuary for all those, who seek to escape the outside world.";
  212. next;
  213. mes "[Father Thomas]";
  214. mes "May God be with you in your thoughts and prayers.";
  215. close;
  216. L_Priest:
  217. mes "God bless you, child. You are here again because you listened to God's orders.";
  218. next;
  219. mes "[Father Thomas]";
  220. mes "I don't know if God's sons and daughters are going on the path of light or the path of darkness... I can only pray for the best.";
  221. next;
  222. mes "[Father Thomas]";
  223. mes "So why are you here today?";
  224. next;
  225. menu "I just wanted to see how you were.",M_1a, "I'm here to help the Acolytes.",M_1b, "Life is really hard... I was wondering if you could help.",M_1End;
  226. M_1a:
  227. mes "[Father Thomas]";
  228. mes "Oh, well I'm fine thank you. Please send my regards to all of the other Priests, and Priestess.";
  229. next;
  230. mes "[Father Thomas]";
  231. mes "We, the ones who follow the devine path, are here for one reason.... to obey Gods orders.";
  232. mes "If you come across anyone who needs help, please remember to assist them in any way you can...";
  233. close;
  234. M_1b:
  235. mes "[Father Thomas]";
  236. mes "Oh...thats a great idea! Since you're a priest, you can't forget that you have to help the Acolytes when they need it.";
  237. emotion e_ic;
  238. next;
  239. mes "[Father Thomas]";
  240. mes "Even so, you must be carefull not to do everyting for them. It is important that they gain their own experiences through training ";
  241. next;
  242. mes "[Father Thomas]";
  243. mes "In order to go in and help you'll need a ^5533FFROSARY^000000.";
  244. mes "There will be 3 trials for the Acolyte to face, but in only 2 of them will your assistance be needed.";
  245. next;
  246. mes "[Father Thomas]";
  247. mes "Are you prepared to help?";
  248. next;
  249. menu "Yes, i will help them with all my might.",sM_1a, "I will come back later.",sM_1End;
  250. sM_1a:
  251. if (countitem(2608) < 1) goto sL_NoRosary;
  252. mes "[Father Thomas]";
  253. mes "Very well then. I will send you to an Acolyte in just a moment.";
  254. next;
  255. mes "[Father Thomas]";
  256. mes "I hope you will also take this opportunity to teach them what it means to be a good Priest.";
  257. next;
  258. if((getareausers("job_prist.gat", 8, 34, 39,109)) == 1) warp "job_prist.gat", 24, 44;
  259. if((getareausers("job_prist.gat", 160, 14, 175, 178)) == 1) warp "job_prist.gat", 98, 40;
  260. if((getareausers("job_prist.gat", 90, 34, 105,105)) == 1) warp "job_prist.gat", 168, 17;
  261. mes "[Father Thomas]";
  262. mes "Hmm........ wait a minute..... let me check my list.... Either no one is taking the test right now, or another Priest is already helping out.";
  263. mes "In any case please check with me again later.";
  264. close;
  265. sL_NoRosary:
  266. mes "[Father Thomas]";
  267. mes "Hmm... it doesn't look like you have a ^5533FFROSARY^000000 with you.";
  268. next;
  269. mes "[Father Thomas]";
  270. mes "If you want to help the Acolytes, you must first get a ^5533FFROSARY^000000.";
  271. mes "Please come back when you have one.";
  272. close;
  273. sM_1End:
  274. mes "[Father Thomas]";
  275. mes "Oh, alright. Just remember to bring a ^5533FFFROSARY^000000 when you come back.";
  276. close;
  277. M_1End:
  278. mes "[Father Thomas]";
  279. mes "Keep up the good work. I will ask God to ease your pain.";
  280. next;
  281. mes "[Father Thomas]";
  282. mes "God, one of your children is suffering. Please use your powers, to heal the wounds on this battered body.....";
  283. next;
  284. mes "[Father Thomas]";
  285. mes "Please look after us, so that under any condition we will be able to think clearly and maintain our faith";
  286. percentheal 100,100;
  287. next;
  288. mes "[Father Thomas]";
  289. mes "You should be feeling better now. Please stay on the path to rightousness and may God bless you.";
  290. close;
  291. }
  292. //Wizard Checker 1
  293. function script Wiz1_check {
  294. if(baseClass == Job_Mage) goto L_Magic;
  295. if(baseClass == Job_Acolyte) goto L_Holy;
  296. L_Other:
  297. mes "[Dog]";
  298. mes "Sheesh....... Why would someone who can't even cast a single spell come all the way up here???";
  299. next;
  300. mes "[Dog]";
  301. mes "If you're that bored, do the world a favor and climb to the top of this building from the outside, then do some acrobatics....";
  302. emotion e_pif;
  303. next;
  304. mes "[Dog]";
  305. mes "~WOOF~ Get lost! I don't have time for people like you!!";
  306. emotion e_go;
  307. close;
  308. L_Holy:
  309. mes "[Dog]";
  310. mes "Eeek! What's a holy type person doing up here? I thought you people didn't like magic....";
  311. mes "You religious types are always calling it the 'dark arts'......... ooooh scary!!!...... ~grrr!~WOOF!~";
  312. close;
  313. L_Magic:
  314. mes "[Dog]";
  315. mes "Ah! High level magic users, welcome. It's always nice to see experienced magic users around here.";
  316. mes "Actually it's nice to see them anywhere! ~Woof!~";
  317. close;
  318. }
  319. function script Wiz2_check {
  320. if(BaseJob == Job_Wizard) goto L_Wizard;
  321. if(BaseJob == Job_Novice) goto L_Novice;
  322. L_Other:
  323. mes "Hmm? What brings you all the way up here? If you have nothing to do here, please leave.";
  324. mes "This place is for wizards only. =P";
  325. next;
  326. mes "[Catherine Medichi]";
  327. mes "Try not to fall as you go back down....";
  328. close;
  329. L_Novice:
  330. mes "Awwww, a little novice! How cute! This place is for Wizards only though.";
  331. emotion e_lv2;
  332. next;
  333. mes "[Catherine Medichi]";
  334. mes "If you're interested in magic, the ^0000FFMagician's Guild^000000 is the place for you.";
  335. close;
  336. L_Wizard:
  337. mes "What do you need fellow Wizard? If it's nothing, please leave...";
  338. next;
  339. mes "[Catherine Medichi]";
  340. if(sex==1) mes "... Of course, if your here to ask me out... (*giggles*)....";
  341. if(sex==0) mes "If you get yourself a boyfriend, feel free to drop by and show him off. XD";
  342. emotion e_lv;
  343. close;
  344. }