//===== eAthena Script =======================================
//= Global Job Function
//===== By: ==================================================
//= massdriller
//===== Current Version: =====================================
//= 0.2
//===== Compatible With: =====================================
//= eAthena 1.0 +
//===== Description: =========================================
//= Optimised scripts by moving all their checkers here.
//===== Additional Comments: =================================
//= For 2-1 Jobs
//= 0.2 Removed callfunc Is_####_Class in favor of baseClass [Silentdragon]
//============================================================
//Assasin Check
function script Ass_check {
if(BaseJob==Job_Assassin) goto L_JobSin;
mes "[Angry looking man]";
if(baseClass == Job_Swordman) goto L_JobSwo;
if(baseClass == Job_Mage) goto L_JobMag;
if(baseClass == Job_Archer) goto L_JobArch;
if(baseClass == Job_Acolyte) goto L_JobAco;
if(baseClass == Job_Merchant) goto L_JobMerc;
if(baseClass == Job_Thief) goto L_JobOther;
L_JobNov:
mes "....HEY Novice!!! GET out of here now!! I won't be held responsible if anything bad happens to you.......";
emotion e_gasp;
close;
L_JobSwo:
mes "....What are you doing here???";
emotion e_what;
next;
mes "[Angry looking man]";
mes "Doing what you're ordered to do eh?........ You guys are nothing more than dogs that listen to their owners.............";
emotion e_pif;
close;
L_JobMag:
mes "...What's a mage like you doing here? You should be paying more attention to your training.....";
emotion e_hmm;
close;
L_JobArch:
mes "Uh.... you're one of those people with bows right? Sorry but there are no cute pets here for u to kill..........";
emotion e_swt;
next;
mes "[Angry looking man]";
mes "Wait...... You're not here to create trouble eh!!? ....LEAVE AT ONCE!!";
emotion e_gasp;
close;
L_JobAco:
mes "...Oh God's little helper..... What are you doing down in a dreadful place like this?";
mes "Trust me, you're not going to find any salvation here........ why don't you just run along ok?........";
emotion e_hmm;
close;
L_JobMerc:
mes ".... What the??? Do you have any idea where you are??...... GREEDY SCAMMERS like you are not welcome here!!";
emotion e_gg;
close;
L_JobOther:
mes ".... Hmm.... although you're not an Assassin or Thief... I have to say I like your sense of style.";
close;
L_JobSin:
mes "[Assassin Huey]";
mes "Oohh, its you. You're...." + strcharinfo(0) + " right?";
next;
mes "[Assassin Huey]";
mes "Too bad there's nothing to do right now. You should go train more. Bye.";
close;
}
//Blacksmith Check
function script Bla_check {
if (BaseJob == 0) goto L_Nov;
if (baseClass == Job_Swordman) goto L_Sword;
if (baseClass == Job_Acolyte) goto L_Aco;
if (baseClass == Job_Thief) goto L_Thief;
if (baseClass == Job_Mage) goto L_Wiz;
if (baseClass == Job_Archer) goto L_Arc;
if (BaseJob == 10) goto L_Black;
mes "Only Merchants can become Blacksmiths.";
close;
L_Nov:
if(sex==0) mes "...Hello little lady! If you wish to be a blacksmith, you have to be a merchant first!";
if(sex==1) mes "Hmmm, you look like you wish to be a blacksmith! Sorry, but only merchants can be blacksmiths!.";
close;
L_Sword:
mes "Hello! Come here to order a sword? Sorry, but I have some paperwork to do, so I can't forge anything now.";
close;
L_Arc:
mes "Hmmm, sorry, but we're not hiring anyone that isn't a merchent.";
close;
L_Wiz:
mes "Interested in training? Our guild cannot assist magic users is such matters.";
close;
L_Aco:
mes "Oh! A Holy one...! Do me a favor and bless the sword I'm crafting!";
close;
L_Thief:
mes "Sorry, but this is more of a office, so there's nothing worth money. We CAN do knife forges though.";
close;
L_Black:
mes "Hey! Been a while, running a errand for Christopher? I feel like my hammer is getting rusty after all this office work.";
close;
}
//Hunter Check
function script Hun_check {
if(BaseJob==Job_Hunter) goto L_Hunt;
if(baseClass == Job_Archer) goto L_Other;
if(baseClass == Job_Swordman) goto L_Swo;
if(baseClass == Job_Mage) goto L_Mage;
if(baseClass == Job_Thief) goto L_Thf;
if(baseClass == Job_Acolyte) goto L_Aco;
if(baseClass == Job_Merchant) goto L_Merc;
L_Nov:
mes "[Hunter Sharon]";
mes "What's a novice like you doing here? Leave, we have nothing for you.";
emotion e_what;
close;
L_Swo:
mes "[Hunter Sharon]";
mes "A follower of the way of the blade! We have nothing for you here so please leave.";
close;
L_Mage:
mes "[Hunter Sharon]";
mes "Hello mage type person. If you have no business here, please leave,";
close;
L_Aco:
mes "[Hunter Sharon]";
mes "Good day, religious zealot! It's nice to meet you and all, but you have no buisiness here.";
close;
L_Merc:
mes "[Hunter Sharon]";
mes "Hey, how's buisiness? Perhaps if you want to sell something, go back to town.";
close;
L_Thf:
mes "[Hunter Sharon]";
mes "Eeep! There's nothing to steal here!! Leave us alone..... go rob an old lady or something......";
emotion e_omg;
close;
L_Hunt:
mes "[Hunter Sharon]";
mes "What up! "+strcharinfo(0)+" Why did you come back? Falcon run away or something? Te hehe.";
emotion e_heh;
next;
mes "[Hunter Sharon]";
mes "I hope you didn't think you could get free stuff from us just because your part of our guild now......";
close;
L_Other:
mes "[Hunter Sharon]";
mes "What are YOU doing here? Did you come to do a little song and dance... ke.. keke....kekekeHahahahhaha!!!";
emotion e_heh;
close;
}
//Knight Check
function script Kni_check {
if(BaseJob != Job_Swordman) goto L_NotSwo;
mes "Well then, first fill out this application form....";
next;
mes "...(you fill out the form and hand it back)...";
next;
mes "[Chivalry Captain Herman]";
if(JobLevel < 40) goto L_NotLvl;
mes "Impressive. You have the job qualifications to become a knight..., however you will need much more than that to actually become one.";
next;
return;
L_NotLvl:
mes "Hmm...it looks like you have not reached Job Level 40 yet. Please come back when you do. I shall be waiting here.";
close;
L_NotSwo:
if(BaseJob == Job_Knight) goto sL_JobKni;
if(BaseJob == Job_Novice) goto sL_JobNov;
sL_JobOther:
mes "I'm sorry but only Swordsmen can become Knights.";
close;
sL_JobKni:
mes "...(sighs)...what are you doing here WASTING my time?? GO FORTH!!, and continue protecting Rune Midgard my young Knight.";
emotion e_pif;
close;
sL_JobNov:
mes "Hahahaha!! You have no job experience what so ever and yet you stumble in here asking to be a knight. Hahahaha!!";
emotion e_heh;
next;
mes "[Chivalry Captain Herman]";
mes "You must first become a Swordsman before even thinking about becoming a Knight. Now scurry along little novice. Hahahahaha!!!";
close;
}
//Priest Check
function script Pri_check {
if (BaseJob == Job_Novice) goto L_Novice;
if (BaseJob == Job_Priest) goto L_Priest;
mes "May God bless you my child.";
next;
mes "[Father Thomas]";
mes "Please feel free to rest, the church is the safest place in this world.";
next;
mes "[Father Thomas]";
mes "I hope God will bless you.";
return;
L_Novice:
mes "May God bless you, child. This is the Prontera Church. What are you here for?";
next;
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;
M_0a:
mes "[Father Thomas]";
mes "Haha.. so you want to become an Acolyte eh? To apply to become an Acolyte, please go to the room opposite of here.";
close;
M_0b:
mes "[Father Thomas]";
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.";
close;
M_0End:
mes "[Father Thomas]";
mes "Please feel free to rest here. The church is a sanctuary for all those, who seek to escape the outside world.";
next;
mes "[Father Thomas]";
mes "May God be with you in your thoughts and prayers.";
close;
L_Priest:
mes "God bless you, child. You are here again because you listened to God's orders.";
next;
mes "[Father Thomas]";
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.";
next;
mes "[Father Thomas]";
mes "So why are you here today?";
next;
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;
M_1a:
mes "[Father Thomas]";
mes "Oh, well I'm fine thank you. Please send my regards to all of the other Priests, and Priestess.";
next;
mes "[Father Thomas]";
mes "We, the ones who follow the devine path, are here for one reason.... to obey Gods orders.";
mes "If you come across anyone who needs help, please remember to assist them in any way you can...";
close;
M_1b:
mes "[Father Thomas]";
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.";
emotion e_ic;
next;
mes "[Father Thomas]";
mes "Even so, you must be carefull not to do everyting for them. It is important that they gain their own experiences through training ";
next;
mes "[Father Thomas]";
mes "In order to go in and help you'll need a ^5533FFROSARY^000000.";
mes "There will be 3 trials for the Acolyte to face, but in only 2 of them will your assistance be needed.";
next;
mes "[Father Thomas]";
mes "Are you prepared to help?";
next;
menu "Yes, i will help them with all my might.",sM_1a, "I will come back later.",sM_1End;
sM_1a:
if (countitem(2608) < 1) goto sL_NoRosary;
mes "[Father Thomas]";
mes "Very well then. I will send you to an Acolyte in just a moment.";
next;
mes "[Father Thomas]";
mes "I hope you will also take this opportunity to teach them what it means to be a good Priest.";
next;
if((getareausers("job_prist.gat", 8, 34, 39,109)) == 1) warp "job_prist.gat", 24, 44;
if((getareausers("job_prist.gat", 160, 14, 175, 178)) == 1) warp "job_prist.gat", 98, 40;
if((getareausers("job_prist.gat", 90, 34, 105,105)) == 1) warp "job_prist.gat", 168, 17;
mes "[Father Thomas]";
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.";
mes "In any case please check with me again later.";
close;
sL_NoRosary:
mes "[Father Thomas]";
mes "Hmm... it doesn't look like you have a ^5533FFROSARY^000000 with you.";
next;
mes "[Father Thomas]";
mes "If you want to help the Acolytes, you must first get a ^5533FFROSARY^000000.";
mes "Please come back when you have one.";
close;
sM_1End:
mes "[Father Thomas]";
mes "Oh, alright. Just remember to bring a ^5533FFFROSARY^000000 when you come back.";
close;
M_1End:
mes "[Father Thomas]";
mes "Keep up the good work. I will ask God to ease your pain.";
next;
mes "[Father Thomas]";
mes "God, one of your children is suffering. Please use your powers, to heal the wounds on this battered body.....";
next;
mes "[Father Thomas]";
mes "Please look after us, so that under any condition we will be able to think clearly and maintain our faith";
percentheal 100,100;
next;
mes "[Father Thomas]";
mes "You should be feeling better now. Please stay on the path to rightousness and may God bless you.";
close;
}
//Wizard Checker 1
function script Wiz1_check {
if(baseClass == Job_Mage) goto L_Magic;
if(baseClass == Job_Acolyte) goto L_Holy;
L_Other:
mes "[Dog]";
mes "Sheesh....... Why would someone who can't even cast a single spell come all the way up here???";
next;
mes "[Dog]";
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....";
emotion e_pif;
next;
mes "[Dog]";
mes "~WOOF~ Get lost! I don't have time for people like you!!";
emotion e_go;
close;
L_Holy:
mes "[Dog]";
mes "Eeek! What's a holy type person doing up here? I thought you people didn't like magic....";
mes "You religious types are always calling it the 'dark arts'......... ooooh scary!!!...... ~grrr!~WOOF!~";
close;
L_Magic:
mes "[Dog]";
mes "Ah! High level magic users, welcome. It's always nice to see experienced magic users around here.";
mes "Actually it's nice to see them anywhere! ~Woof!~";
close;
}
function script Wiz2_check {
if(BaseJob == Job_Wizard) goto L_Wizard;
if(BaseJob == Job_Novice) goto L_Novice;
L_Other:
mes "Hmm? What brings you all the way up here? If you have nothing to do here, please leave.";
mes "This place is for wizards only. =P";
next;
mes "[Catherine Medichi]";
mes "Try not to fall as you go back down....";
close;
L_Novice:
mes "Awwww, a little novice! How cute! This place is for Wizards only though.";
emotion e_lv2;
next;
mes "[Catherine Medichi]";
mes "If you're interested in magic, the ^0000FFMagician's Guild^000000 is the place for you.";
close;
L_Wizard:
mes "What do you need fellow Wizard? If it's nothing, please leave...";
next;
mes "[Catherine Medichi]";
if(sex==1) mes "... Of course, if your here to ask me out... (*giggles*)....";
if(sex==0) mes "If you get yourself a boyfriend, feel free to drop by and show him off. XD";
emotion e_lv;
close;
}