From 288490094a7fe9167747dc78d416940759a31197 Mon Sep 17 00:00:00 2001 From: FlavioJS Date: Tue, 5 Dec 2006 13:23:07 +0000 Subject: - Massive EOL normalization & 'svn:eol-style native' flag setting for all txt/conf/h/c files. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9410 54d463be-8e91-2dee-dedb-b68131a5f0ec --- npc/jobs/1-1/acolyte.txt | 700 ++++++++-------- npc/jobs/1-1/archer.txt | 366 ++++----- npc/jobs/1-1/mage.txt | 992 +++++++++++------------ npc/jobs/1-1/merchant.txt | 1946 ++++++++++++++++++++++----------------------- npc/jobs/1-1/swordman.txt | 1600 ++++++++++++++++++------------------- npc/jobs/1-1/thief.txt | 920 ++++++++++----------- 6 files changed, 3262 insertions(+), 3262 deletions(-) (limited to 'npc/jobs/1-1') diff --git a/npc/jobs/1-1/acolyte.txt b/npc/jobs/1-1/acolyte.txt index 962f40be9..523ed36be 100644 --- a/npc/jobs/1-1/acolyte.txt +++ b/npc/jobs/1-1/acolyte.txt @@ -1,350 +1,350 @@ -//===== eAthena Script ======================================= -//= Acolyte Job Quest -//===== By: ================================================== -//= kobra_k88 -//===== Current Version: ===================================== -//= 1.6 -//===== Compatible With: ===================================== -//= eAthena 1.0 + -//===== Description: ========================================= -//= -//===== Additional Comments: ================================= -//= v1.0 Fully working. -//= v1.1 Added function calls for Priest Quest. -//= v1.2 Fixed Marthilda, Yosuke bugs. [Lupus] -//= v1.2a Added instant job change for High Novice [Lupus] -//= v1.3 Added Baby Class support [Lupus] -//= v1.4 Optimised and moved first checker to Jfunc1-1 [massdriller] -//= 1.5 Now saves/restores all quest skills [Lupus] -//= 1.6 Merged back JFunc [Lupus] -//============================================================ - - -// -- Father Mareusis -- -prt_church.gat,184,41,4 script Father Mareusis 60,{ - callfunc "F_ToHigh",Job_Acolyte_High,"Acolyte High",Job_High_Priest,"Father Mareusis"; - mes "[Father Mareusis]"; - if(BaseJob == Job_Novice && job_acolyte_q > 0) goto L_Check; - mes "What is it you are looking for?"; - next; - menu "Father, I want to become an Acolyte.",M_0,"The Requirements.",M_1,"I'm just looking around that's all",M_End; - close; - - M_0: - mes "[Father Mareusis]"; - if(BaseJob == Job_Acolyte) { - mes "Are you feeling okay?...."; - emotion e_hmm; - next; - mes "[Father Mareusis]"; - mes "...your attire..."; - next; - mes "[Father Mareusis]"; - mes "You're already are an Acolyte....."; - next; - mes "[Father Mareusis]"; - mes "You are not joking with me, are you? Hoho!!..kids these days."; - emotion e_heh; - close; - } - if(BaseJob != Job_Novice) { - mes "I am sorry child. You have already devoted your life to another profession. I am afraid that you will no longer be able to devote it to God."; - close; - } - if(JobLevel < 10) { - mes "My child you do not yet possess the necessary skills to serve the lord."; - mes "Please come back when your faith in God has become stronger"; - next; - mes "[Father Mareusis]"; - mes "May God bless you."; - close; - } - mes "Do you truly wish to become a servant of God?"; - next; - menu "Yes, Father, I do.",sM_0,"Nope, I lied.",sM_1; - close; - - sM_0: - mes "[Father Mareusis]"; - mes "Good. I accept your will to become an Acolyte."; - mes "You understand that you need to do penance before you become a servant of God, don't you?"; - next; - mes "[Father Mareusis]"; - mes "Well then, here is your Divine Quest....."; - next; - mes "[Father Mareusis]"; - set job_acolyte_q, rand(1,3); - if(job_acolyte_q == 2) goto sR_2; - if(job_acolyte_q == 3) goto sR_3; - - sR_1: - mes "Please visit ^0000ffFather Rubalkabara^000000, a member of the Prontera Parish and report back here."; - mes "He has been Practicing Asceticism near the ^0000ffSt. Capitolina Abbey, 1 map North, and 2 maps East of Prontera City.^000000."; - goto sL_End; - - sR_2: - mes "Please Visit ^0000ffMother Marthilda^000000 and report back here."; - mes "She has been Practicing Asceticism in the ^0000ffSograt Desert, one map north from the town of Morroc^000000. Morroc is SouthWest from Prontera."; - goto sL_End; - - sR_3: - mes "Please Visit ^0000ffFather Yosuke^000000 and report back here."; - mes "He has been Practicing Asceticism on ^0000ffa very small island 2 maps West, and 1 map North, of Prontera City.^000000."; - - sL_End: - next; - mes "[Father Mareusis]"; - mes "May the Grace of God enlighten your path."; - close; - - sM_1: - mes "[Father Mareusis]"; - mes "Lying is a sin my child!"; - mes "Please come back when you are ready"; - emotion e_swt2; - close; - - M_1: - mes "[Father Mareusis]"; - if(BaseJob == Job_Acolyte) goto M1b; - if(BaseJob != Job_Novice) goto M1a; - - mes "So you wish to become an Acolyte do you?"; - mes "Here are the two requirements you must fullfill first in order to do so."; - next; - mes "[Father Mareusis]"; - mes "First of all, you have to reach ^0000ffnovice job Level 9^000000 and learn the ^0000ffBasic Skills^000000 that come with it."; - next; - mes "[Father Mareusis]"; - mes "Secondly, you have to embark on a Divine Quest!!"; - next; - mes "[Father Mareusis]"; - mes "You'll will become an Acolyte in no time if, from the bottom of your heart, you are truly eager to become a servant of God."; - close; - - M1a: - mes "You have already devoted your life to another profession...."; - close; - M1b: - mes "You have already devoted your life to the lord my child. Please go with God's blessing."; - close; - - M_End: - mes "[Father Mareusis]"; - mes "I see. I pray for your salvation."; - close; - -L_Check: - mes "Oh, You've come back. Let me check to see if you are ready to serve God... Let's see..."; - next; - mes "[Father Mareusis]"; - if(job_acolyte_q < 4) goto sL_NotRdy; - if(SkillPoint > 0) goto sL_Skpoint; - mes "Your prayers have been answered my child. That which has been asked of you has been fullfilled!!."; - next; - mes "[Father Mareusis]"; - mes "With the powers vested in me I hearby make you, ^0000ff"+strcharinfo(0)+"^000000, an Acolyte!!!"; - next; - mes "(whispers a prayer)"; - next; - callfunc "Job_Change",Job_Acolyte; - callfunc "F_ClearJobVar"; // clears all job variables for the current player - mes "[Father Mareusis]"; - mes "Remember to be thankful to God, who is taking care of us all of the time."; - mes "That you have the unique chance to serve him...you should feel very fortunate and blessed."; - next; - mes "[Father Mareusis]"; - mes "Now go forth my child and VANQUISH the EVILS of this world. You have my blessing and the blessing of the church."; - close; - - sL_NotRdy: - mes "Hmm... you don't seem to have finished your Divine Quest my child."; - next; - mes "[Father Mareusis]"; - if(job_acolyte_q == 1) goto sR_1; - if(job_acolyte_q == 2) goto sR_2; - if(job_acolyte_q == 3) goto sR_3; - close; - - sL_Skpoint: - mes "Before we can move on, please use up all of your skill points my child."; - close; -} - - -// == Devine Quest == -// -- Father Rubalkabara -- -prt_fild03.gat,365,259,2 script Father Rubalkabara 110,{ - mes "[Father Rubalkabara]"; - if(BaseJob == Job_Acolyte || BaseJob == Job_Priest) callfunc "F_FatherRub"; - if(BaseJob == Job_Novice) goto L_Novice; - -L_Other: - mes "Oh.. Have you come here to train Or are you just a Wanderer..?"; - next; - mes "[Father Rubalkabara]"; - mes "Whoever you are, please take care of yourself. Monsters in here are shockingly Strong contrary to their Cute apprearance."; - close; - -L_Novice: - if(job_acolyte_q==4) goto QuestOver; - if(job_acolyte_q > 0) goto L_Start; - mes "Huh..? What brings you here? This is a Very dangerous place for a Novice like you. Please Go back quickly."; - emotion e_gasp; - close; - -L_Start: - mes "Oh... Are you the young one who wishes to become an Acolyte...? I've already received the news of your comming from the Santuary."; - next; - mes "[Father Rubalkabara]"; - mes "Let me just check my list of candidates here to make sure you are at the right place......"; - next; - mes "[Father Rubalkabara]"; - if(job_acolyte_q != 1) goto Goback; - mes "You're ^0000ff"+strcharinfo(0)+"^000000, right? Thank you for comming to vist me."; - next; - mes "[Father Rubalkabara]"; - mes "I believe you have already been informed about Acolytes from Father Mareusis. So I won't bother to bore you with any futher lectures on the subject."; - next; - mes "[Father Rubalkabara]"; - mes "Besides, I know your generation doesn't like to be lectured by old men like myself. Hahaha..."; - emotion e_heh; - next; - mes "[Father Rubalkabara]"; - mes "But you might have to learn to endure what your elders say, because God loves to teach his children. You will see."; - next; - mes "[Father Rubalkabara]"; - mes "I will send a message to Father Mareusis stating that you visted me as proof of the completion of your Divine Quest."; - next; - mes "[Father Rubalkabara]"; - mes "You may go back to Prontera now. Farewell and may God bless you."; - set job_acolyte_q,4; - close; - - QuestOver: - mes "Your Divine Quest is has been completed. You may continue in your journey to serve God."; - close; - - Goback: - mes "Hmmm... I do not think you name is on my list of candidates."; - emotion e_hmm; - next; - mes "[Father Rubalkabara]"; - mes "...... Why don't you go back to the Santuary and check again."; - close; -} - -// -- Mother Marthilda -- -moc_fild07.gat,36,354,4 script Mother Marthilda 79,{ - mes "[Mother Marthilda]"; - if(BaseJob == Job_Acolyte || BaseJob == Job_Priest) callfunc "F_MotherMart"; - if(BaseJob == Job_Novice) goto L_Novice; - -L_Other: - mes "Hello and welcome. I am Mother Marthilda. Are you a weary traveler or a mighty warrior?"; - mes "Whoever you are please make sure to keep your faith in God."; - close; - -L_Novice: - if(job_acolyte_q == 5) goto QuestOver; - if(job_acolyte_q > 0) goto L_Start; - mes "My!! Aren't you a little far from your town? A novice like you could get hurt. Please be safe."; - emotion e_gasp; - close; -L_Start: - mes "Ah, You are one of the Acolyte Applicants. I sincerely welcome you."; - next; - mes "[Mother Marthilda]"; - mes "Let me just check my list of candidates here to make sure you are at the right place......"; - next; - if(job_acolyte_q != 2) goto Goback; - mes "[Mother Marthilda]"; - mes ".... ^0000ff"+strcharinfo(0)+"^000000, Yes! I found you."; - next; - mes "[Mother Marthilda]"; - mes "I will send a message to 'Father Mareusis' stating that you visted me as proof of the completion of your Divine Quest."; - next; - mes "[Mother Marthilda]"; - mes "Thank you for visiting me. I am even more greatfull that you chose to follow your heart and devote your life to the divinity."; - mes "God is only as powerfull as our devotion to him. Remember that."; - next; - mes "[Mother Marthilda]"; - mes "You may go back to Prontera now."; - mes "Be safe and may God bless."; - set job_acolyte_q,5; - close; - - Goback: - mes "[Mother Marthilda]"; - mes "Hmm....let's see...."; - mes "..Well... I can't find your name on the List ...."; - emotion e_hmm; - next; - mes "[Mother Marthilda]"; - mes "I recommend that you to return to the Santuary and Check again."; - close; - - QuestOver: - mes "Your Divine Quest is has been completed. You may continue in your journey to serve God."; - close; -} - -// -- Father Yosuke -- -prt_fild00.gat,208,218,6 script Father Yosuke 120,{ - mes "[Father Yosuke]"; - if(BaseJob == Job_Acolyte || BaseJob == Job_Priest) callfunc "F_FatherYos"; - if(BaseJob == Job_Novice) goto L_Novice; - -L_Other: - mes "What brings you to this place. Try not to bother me ok."; - close; - -L_Novice: - if(job_acolyte_q == 6) goto QuestOver; - if(job_acolyte_q > 0) goto L_Start; - mes "You, Novice...wanna tell me something?"; - mes "If not go back home."; - close; - -L_Start: - mes "Hey!! You there."; - next; - mes "[Father Yosuke]"; - mes "You look like an Acolyte Applicant...am I right?"; - next; - mes "[Father Yosuke]"; - mes "Let me just check my list of candidates here to make sure you are at the right place......"; - next; - if(job_acolyte_q != 3) goto Goback; - mes "[Father Yosuke]"; - mes "Here we are, ^0000ff"+strcharinfo(0)+"^000000, correct? Not bad, Not bad. You withstood the long journey to get here pretty well."; - next; - mes "[Father Yosuke]"; - mes "I will send a message to 'Father Mareusis' stating that you visted me as proof of the completion of your Divine Quest."; - next; - mes "[Father Yosuke]"; - mes "Now go back to the Sanctuary and don't forget to carry God's teachings with you where ever you go!"; - emotion e_go; - set job_acolyte_q,6; - close; - - Goback: - mes "[Father Yosuke]"; - mes "Interesting.. I can't find your name on my list.."; - emotion e_hmm; - next; - mes "[Father Yosuke]"; - mes "I think you've come here by mistake."; - mes "Go back to the Santuary and check with Father Mareusis."; - close; - - QuestOver: - mes "What ? You Have more Business with me?"; - emotion e_what; - next; - mes "[Father Yosuke]"; - mes "Your Divine Quest is complete. Go back to the Sanctuary Now!"; - emotion e_go; - close; -} - +//===== eAthena Script ======================================= +//= Acolyte Job Quest +//===== By: ================================================== +//= kobra_k88 +//===== Current Version: ===================================== +//= 1.6 +//===== Compatible With: ===================================== +//= eAthena 1.0 + +//===== Description: ========================================= +//= +//===== Additional Comments: ================================= +//= v1.0 Fully working. +//= v1.1 Added function calls for Priest Quest. +//= v1.2 Fixed Marthilda, Yosuke bugs. [Lupus] +//= v1.2a Added instant job change for High Novice [Lupus] +//= v1.3 Added Baby Class support [Lupus] +//= v1.4 Optimised and moved first checker to Jfunc1-1 [massdriller] +//= 1.5 Now saves/restores all quest skills [Lupus] +//= 1.6 Merged back JFunc [Lupus] +//============================================================ + + +// -- Father Mareusis -- +prt_church.gat,184,41,4 script Father Mareusis 60,{ + callfunc "F_ToHigh",Job_Acolyte_High,"Acolyte High",Job_High_Priest,"Father Mareusis"; + mes "[Father Mareusis]"; + if(BaseJob == Job_Novice && job_acolyte_q > 0) goto L_Check; + mes "What is it you are looking for?"; + next; + menu "Father, I want to become an Acolyte.",M_0,"The Requirements.",M_1,"I'm just looking around that's all",M_End; + close; + + M_0: + mes "[Father Mareusis]"; + if(BaseJob == Job_Acolyte) { + mes "Are you feeling okay?...."; + emotion e_hmm; + next; + mes "[Father Mareusis]"; + mes "...your attire..."; + next; + mes "[Father Mareusis]"; + mes "You're already are an Acolyte....."; + next; + mes "[Father Mareusis]"; + mes "You are not joking with me, are you? Hoho!!..kids these days."; + emotion e_heh; + close; + } + if(BaseJob != Job_Novice) { + mes "I am sorry child. You have already devoted your life to another profession. I am afraid that you will no longer be able to devote it to God."; + close; + } + if(JobLevel < 10) { + mes "My child you do not yet possess the necessary skills to serve the lord."; + mes "Please come back when your faith in God has become stronger"; + next; + mes "[Father Mareusis]"; + mes "May God bless you."; + close; + } + mes "Do you truly wish to become a servant of God?"; + next; + menu "Yes, Father, I do.",sM_0,"Nope, I lied.",sM_1; + close; + + sM_0: + mes "[Father Mareusis]"; + mes "Good. I accept your will to become an Acolyte."; + mes "You understand that you need to do penance before you become a servant of God, don't you?"; + next; + mes "[Father Mareusis]"; + mes "Well then, here is your Divine Quest....."; + next; + mes "[Father Mareusis]"; + set job_acolyte_q, rand(1,3); + if(job_acolyte_q == 2) goto sR_2; + if(job_acolyte_q == 3) goto sR_3; + + sR_1: + mes "Please visit ^0000ffFather Rubalkabara^000000, a member of the Prontera Parish and report back here."; + mes "He has been Practicing Asceticism near the ^0000ffSt. Capitolina Abbey, 1 map North, and 2 maps East of Prontera City.^000000."; + goto sL_End; + + sR_2: + mes "Please Visit ^0000ffMother Marthilda^000000 and report back here."; + mes "She has been Practicing Asceticism in the ^0000ffSograt Desert, one map north from the town of Morroc^000000. Morroc is SouthWest from Prontera."; + goto sL_End; + + sR_3: + mes "Please Visit ^0000ffFather Yosuke^000000 and report back here."; + mes "He has been Practicing Asceticism on ^0000ffa very small island 2 maps West, and 1 map North, of Prontera City.^000000."; + + sL_End: + next; + mes "[Father Mareusis]"; + mes "May the Grace of God enlighten your path."; + close; + + sM_1: + mes "[Father Mareusis]"; + mes "Lying is a sin my child!"; + mes "Please come back when you are ready"; + emotion e_swt2; + close; + + M_1: + mes "[Father Mareusis]"; + if(BaseJob == Job_Acolyte) goto M1b; + if(BaseJob != Job_Novice) goto M1a; + + mes "So you wish to become an Acolyte do you?"; + mes "Here are the two requirements you must fullfill first in order to do so."; + next; + mes "[Father Mareusis]"; + mes "First of all, you have to reach ^0000ffnovice job Level 9^000000 and learn the ^0000ffBasic Skills^000000 that come with it."; + next; + mes "[Father Mareusis]"; + mes "Secondly, you have to embark on a Divine Quest!!"; + next; + mes "[Father Mareusis]"; + mes "You'll will become an Acolyte in no time if, from the bottom of your heart, you are truly eager to become a servant of God."; + close; + + M1a: + mes "You have already devoted your life to another profession...."; + close; + M1b: + mes "You have already devoted your life to the lord my child. Please go with God's blessing."; + close; + + M_End: + mes "[Father Mareusis]"; + mes "I see. I pray for your salvation."; + close; + +L_Check: + mes "Oh, You've come back. Let me check to see if you are ready to serve God... Let's see..."; + next; + mes "[Father Mareusis]"; + if(job_acolyte_q < 4) goto sL_NotRdy; + if(SkillPoint > 0) goto sL_Skpoint; + mes "Your prayers have been answered my child. That which has been asked of you has been fullfilled!!."; + next; + mes "[Father Mareusis]"; + mes "With the powers vested in me I hearby make you, ^0000ff"+strcharinfo(0)+"^000000, an Acolyte!!!"; + next; + mes "(whispers a prayer)"; + next; + callfunc "Job_Change",Job_Acolyte; + callfunc "F_ClearJobVar"; // clears all job variables for the current player + mes "[Father Mareusis]"; + mes "Remember to be thankful to God, who is taking care of us all of the time."; + mes "That you have the unique chance to serve him...you should feel very fortunate and blessed."; + next; + mes "[Father Mareusis]"; + mes "Now go forth my child and VANQUISH the EVILS of this world. You have my blessing and the blessing of the church."; + close; + + sL_NotRdy: + mes "Hmm... you don't seem to have finished your Divine Quest my child."; + next; + mes "[Father Mareusis]"; + if(job_acolyte_q == 1) goto sR_1; + if(job_acolyte_q == 2) goto sR_2; + if(job_acolyte_q == 3) goto sR_3; + close; + + sL_Skpoint: + mes "Before we can move on, please use up all of your skill points my child."; + close; +} + + +// == Devine Quest == +// -- Father Rubalkabara -- +prt_fild03.gat,365,259,2 script Father Rubalkabara 110,{ + mes "[Father Rubalkabara]"; + if(BaseJob == Job_Acolyte || BaseJob == Job_Priest) callfunc "F_FatherRub"; + if(BaseJob == Job_Novice) goto L_Novice; + +L_Other: + mes "Oh.. Have you come here to train Or are you just a Wanderer..?"; + next; + mes "[Father Rubalkabara]"; + mes "Whoever you are, please take care of yourself. Monsters in here are shockingly Strong contrary to their Cute apprearance."; + close; + +L_Novice: + if(job_acolyte_q==4) goto QuestOver; + if(job_acolyte_q > 0) goto L_Start; + mes "Huh..? What brings you here? This is a Very dangerous place for a Novice like you. Please Go back quickly."; + emotion e_gasp; + close; + +L_Start: + mes "Oh... Are you the young one who wishes to become an Acolyte...? I've already received the news of your comming from the Santuary."; + next; + mes "[Father Rubalkabara]"; + mes "Let me just check my list of candidates here to make sure you are at the right place......"; + next; + mes "[Father Rubalkabara]"; + if(job_acolyte_q != 1) goto Goback; + mes "You're ^0000ff"+strcharinfo(0)+"^000000, right? Thank you for comming to vist me."; + next; + mes "[Father Rubalkabara]"; + mes "I believe you have already been informed about Acolytes from Father Mareusis. So I won't bother to bore you with any futher lectures on the subject."; + next; + mes "[Father Rubalkabara]"; + mes "Besides, I know your generation doesn't like to be lectured by old men like myself. Hahaha..."; + emotion e_heh; + next; + mes "[Father Rubalkabara]"; + mes "But you might have to learn to endure what your elders say, because God loves to teach his children. You will see."; + next; + mes "[Father Rubalkabara]"; + mes "I will send a message to Father Mareusis stating that you visted me as proof of the completion of your Divine Quest."; + next; + mes "[Father Rubalkabara]"; + mes "You may go back to Prontera now. Farewell and may God bless you."; + set job_acolyte_q,4; + close; + + QuestOver: + mes "Your Divine Quest is has been completed. You may continue in your journey to serve God."; + close; + + Goback: + mes "Hmmm... I do not think you name is on my list of candidates."; + emotion e_hmm; + next; + mes "[Father Rubalkabara]"; + mes "...... Why don't you go back to the Santuary and check again."; + close; +} + +// -- Mother Marthilda -- +moc_fild07.gat,36,354,4 script Mother Marthilda 79,{ + mes "[Mother Marthilda]"; + if(BaseJob == Job_Acolyte || BaseJob == Job_Priest) callfunc "F_MotherMart"; + if(BaseJob == Job_Novice) goto L_Novice; + +L_Other: + mes "Hello and welcome. I am Mother Marthilda. Are you a weary traveler or a mighty warrior?"; + mes "Whoever you are please make sure to keep your faith in God."; + close; + +L_Novice: + if(job_acolyte_q == 5) goto QuestOver; + if(job_acolyte_q > 0) goto L_Start; + mes "My!! Aren't you a little far from your town? A novice like you could get hurt. Please be safe."; + emotion e_gasp; + close; +L_Start: + mes "Ah, You are one of the Acolyte Applicants. I sincerely welcome you."; + next; + mes "[Mother Marthilda]"; + mes "Let me just check my list of candidates here to make sure you are at the right place......"; + next; + if(job_acolyte_q != 2) goto Goback; + mes "[Mother Marthilda]"; + mes ".... ^0000ff"+strcharinfo(0)+"^000000, Yes! I found you."; + next; + mes "[Mother Marthilda]"; + mes "I will send a message to 'Father Mareusis' stating that you visted me as proof of the completion of your Divine Quest."; + next; + mes "[Mother Marthilda]"; + mes "Thank you for visiting me. I am even more greatfull that you chose to follow your heart and devote your life to the divinity."; + mes "God is only as powerfull as our devotion to him. Remember that."; + next; + mes "[Mother Marthilda]"; + mes "You may go back to Prontera now."; + mes "Be safe and may God bless."; + set job_acolyte_q,5; + close; + + Goback: + mes "[Mother Marthilda]"; + mes "Hmm....let's see...."; + mes "..Well... I can't find your name on the List ...."; + emotion e_hmm; + next; + mes "[Mother Marthilda]"; + mes "I recommend that you to return to the Santuary and Check again."; + close; + + QuestOver: + mes "Your Divine Quest is has been completed. You may continue in your journey to serve God."; + close; +} + +// -- Father Yosuke -- +prt_fild00.gat,208,218,6 script Father Yosuke 120,{ + mes "[Father Yosuke]"; + if(BaseJob == Job_Acolyte || BaseJob == Job_Priest) callfunc "F_FatherYos"; + if(BaseJob == Job_Novice) goto L_Novice; + +L_Other: + mes "What brings you to this place. Try not to bother me ok."; + close; + +L_Novice: + if(job_acolyte_q == 6) goto QuestOver; + if(job_acolyte_q > 0) goto L_Start; + mes "You, Novice...wanna tell me something?"; + mes "If not go back home."; + close; + +L_Start: + mes "Hey!! You there."; + next; + mes "[Father Yosuke]"; + mes "You look like an Acolyte Applicant...am I right?"; + next; + mes "[Father Yosuke]"; + mes "Let me just check my list of candidates here to make sure you are at the right place......"; + next; + if(job_acolyte_q != 3) goto Goback; + mes "[Father Yosuke]"; + mes "Here we are, ^0000ff"+strcharinfo(0)+"^000000, correct? Not bad, Not bad. You withstood the long journey to get here pretty well."; + next; + mes "[Father Yosuke]"; + mes "I will send a message to 'Father Mareusis' stating that you visted me as proof of the completion of your Divine Quest."; + next; + mes "[Father Yosuke]"; + mes "Now go back to the Sanctuary and don't forget to carry God's teachings with you where ever you go!"; + emotion e_go; + set job_acolyte_q,6; + close; + + Goback: + mes "[Father Yosuke]"; + mes "Interesting.. I can't find your name on my list.."; + emotion e_hmm; + next; + mes "[Father Yosuke]"; + mes "I think you've come here by mistake."; + mes "Go back to the Santuary and check with Father Mareusis."; + close; + + QuestOver: + mes "What ? You Have more Business with me?"; + emotion e_what; + next; + mes "[Father Yosuke]"; + mes "Your Divine Quest is complete. Go back to the Sanctuary Now!"; + emotion e_go; + close; +} + diff --git a/npc/jobs/1-1/archer.txt b/npc/jobs/1-1/archer.txt index 2ed2c0afe..f72f7b11b 100644 --- a/npc/jobs/1-1/archer.txt +++ b/npc/jobs/1-1/archer.txt @@ -1,183 +1,183 @@ -//===== eAthena Script ======================================= -//= Archer Job Quest -//===== By: ================================================== -//= kobra_k88 -//===== Current Version: ===================================== -//= 1.6 -//===== Compatible With: ===================================== -//= eAthena 1.0 + -//===== Description: ========================================= -//= -//===== Additional Comments: ================================= -//= Fully working -//= v1.1 Added instant job change for High Novice [Lupus] -//= v1.3 Added Baby Class support [Lupus] -//= v1.4 Optimised and moved first checker to Jfunc1-1 [massdriller] -//= 1.5 Now saves/restores all quest skills [Lupus] -//= 1.6 Merged back JFunc [Lupus] -//============================================================ - - -// -- Archer Guildsman -- -payon_in02.gat,64,71,4 script Archer Guildsman 59,{ - callfunc "F_ToHigh",Job_Archer_High,"High Archer",Job_Sniper,"Archer Guildsman"; - mes "[Archer Guildsman]"; - if(BaseJob == Job_Novice && job_archer_q == 1) goto L_Check; - mes "Good Day. How may I help you?"; - next; - menu "I would like to become an Archer.",M_0,"What are the Requirements?",M_1,"Never mind.",M_End; - - M_0: - mes "[Archer Guildsman]"; - if(BaseJob == Job_Archer) { - mes "Your free spirited nature tells me that you're already an archer....that and the bow and arrow in your hands...Haha"; - emotion e_heh; - close; - } - if(BaseJob != Job_Novice) { - mes "I'm sorry but you cannot leave your current job to become an Archer...though I can understand why you would want to do so."; - close; - } - mes "You have made an excellent job choice."; - mes "Please submit your resume so that I can check your qualifications."; - next; - mes "(You hand over your resume)"; - next; - mes "[Archer Guildsman]"; - if(JobLevel < 10) { - mes "It seems that you are not qualified to become an Archer yet. Please take a look at the job requirments once more."; - close; - } - set job_archer_q,1; - mes "Looks good. You have the necesssary skills to become an archer...."; - next; - mes "[Archer Guildsman]"; - mes "but.... "; - next; - mes "[Archer Guildsman]"; - mes "you must first pass a test in order to do so. I hope you didn't think becoming an archer was going to be that easy. Ha ha!"; - next; - mes "[Archer Guildsman]"; - mes "A well made bow is essential for a good archer, and high quality wood is in turn essential for a well made bow."; - mes "You will be tested on how well you are able to gather high quality wood."; - next; - mes "[Archer Guildsman]"; - mes "The higher the quality of the wood you gather the higher your score."; - mes "You must recieve a score of ^ff0000at least 25^000000 in order to ^ff0000pass the test^000000."; - next; - mes "[Archer Guildsman]"; - mes "You can find wood by battling ^0000ff'Willows'^000000, a type of tree monster found outside of town in Payon forest."; - mes "They drop the wood in the form of^0000ff 'Trunks'^000000."; - next; - mes "[Archer Guildsman]"; - mes "There are a total of 4 different kind of trunks each with a different point value. Gather a variety of trunks and bring them back here for me to grade."; - next; - mes "[Archer Guildsman]"; - mes "I must warn you, the Willows can be tough monsters so be carefull and remember to rest and use your healing items. Good luck!"; - close; - - M_1: - mes "[Archer Guildsman]"; - if(BaseJob == Job_Archer) goto sM_1a; - if(BaseJob != Job_Novice) goto sM_1b; - mes "Let me explain the requirements for becoming an archer to you:"; - next; - mes "[Archer Guildsman]"; - mes "First of all, you have to have a job level of 9 and you must learn all of the skills that come with that job level."; - next; - mes "[Archer Guildsman]"; - mes "Secondly, you will have to take a test that will determine whether or not you have the skills to become an archer."; - next; - mes "[Archer Guildsman]"; - mes "Those are the requirements. Fullfill them and you will be able to live life as only an Archer can."; - close; - - sM_1a: - mes "Have you already forgotten how you became an Archer?...."; - emotion 1; - close; - sM_1b: - mes "Telling you the requirements won't help you become an Archer since you already have another job."; - close; - - M_End: - mes "[Archer Guildsman]"; - mes "Ok then, take care."; - close; - -L_Check: - mes "Oh, I see you've come back."; - next; - mes "[Archer Guildsman]"; - if((countitem(1066) == 0) && (countitem(1067) == 0) && (countitem(1068) == 0) && (countitem(1019) == 0)) goto sL_NotRdy; - if(SkillPoint > 0) goto sL_SkPoints; - set @Trunk1, countitem(1066)*5; - set @Trunk2, countitem(1067)*3; - set @Trunk3, countitem(1068)*2; - set @Trunk4, countitem(1019); - set @TrunkTotal, @Trunk1 + @Trunk2 + @Trunk3 + @Trunk4; - - mes "Lets see....."; - next; - mes "[Archer Guildsman]"; - mes "You have:"; - mes "^0000FF" +countitem(1066)+ "^000000 Fine grained trunks for ^ff0000" +@Trunk1+ "^000000 points,"; - mes "^0000FF" +countitem(1067)+ "^000000 Solid trunks for ^ff0000" +@Trunk2+ "^000000 points,"; - mes "^0000FF" +countitem(1068)+ "^000000 Barren trunks for ^ff0000" +@Trunk3+ "^000000 points,"; - mes "^0000FF" +countitem(1019)+ "^000000 Trunks for ^ff0000" +@Trunk4+ "^000000 points....."; - next; - mes "[Archer Guildsman]"; - mes "That gives you a total score of: ^ff0000" +@TrunkTotal+"^000000"; - next; - mes "[Archer Guildsman]"; - if(@TrunkTotal < 25) goto sL_Failed; - - mes "Very good! You have passed the test. Congratulations, you are now fully qualified to become an archer."; - emotion 21; - next; - mes "[Archer Guildsman]"; - mes "I will now transform you..."; - next; - callfunc "Job_Change",Job_Archer; - callfunc "F_ClearJobVar"; // clears all job variables for the current player - mes "[Archer Guildsman]"; - mes "In exchange for the trunks you brought in I will give you this Bow and some arrows. Please take them."; - next; - getitem 1702,1;//Items: Bow_, - getitem 1750,200;//Items: Arrow, - delitem 1066, countitem(1066);//Items: Fine-grained_Trunk, - delitem 1067, countitem(1067);//Items: Solid_Trunk, - delitem 1068, countitem(1068);//Items: Barren_Trunk, - delitem 1019, countitem(1019);//Items: Trunk, - mes "[Archer Guildsman]"; - mes "An Archer knows no bounds so live your life to its fullest. I know you will make an exellent archer."; - next; - mes "[Archer Guildsman]"; - mes "Farewell and good luck on your journey."; - close; - - sL_NotRdy: - mes "What? You didn't bring any trunks back for me to grade? Let me explain the test requirements again just in case you forgot..."; - emotion 1; - next; - mes "[Archer Guildsman]"; - mes "There are a total of ^5555FF4 different kind of Trunks^000000 each with a different point value."; - mes "Gather a variety of Trunks and bring them back here for me to grade."; - next; - mes "[Archer Guildsman]"; - mes "You can find Trunks by battling ^0000ff'Willows'^000000, a type of tree monster found outside of town in Payon forest."; - close; - sL_SkPoints: - mes "You need to use up all of your skill points before I can make you an Archer."; - close; - sL_Failed: - mes "I'm sorry but your score is too low. I'm afraid that you have failed the test."; - next; - mes "[Archer Guildsman]"; - mes "Fortunatley for you I'm somewhat softhearted so I'll give you another chance. Go gather some more trunks and come back."; - next; - mes "[Archer Guildsman]"; - mes "Hopefull they will be of a high enough quality for you to pass the test."; - close; - -} +//===== eAthena Script ======================================= +//= Archer Job Quest +//===== By: ================================================== +//= kobra_k88 +//===== Current Version: ===================================== +//= 1.6 +//===== Compatible With: ===================================== +//= eAthena 1.0 + +//===== Description: ========================================= +//= +//===== Additional Comments: ================================= +//= Fully working +//= v1.1 Added instant job change for High Novice [Lupus] +//= v1.3 Added Baby Class support [Lupus] +//= v1.4 Optimised and moved first checker to Jfunc1-1 [massdriller] +//= 1.5 Now saves/restores all quest skills [Lupus] +//= 1.6 Merged back JFunc [Lupus] +//============================================================ + + +// -- Archer Guildsman -- +payon_in02.gat,64,71,4 script Archer Guildsman 59,{ + callfunc "F_ToHigh",Job_Archer_High,"High Archer",Job_Sniper,"Archer Guildsman"; + mes "[Archer Guildsman]"; + if(BaseJob == Job_Novice && job_archer_q == 1) goto L_Check; + mes "Good Day. How may I help you?"; + next; + menu "I would like to become an Archer.",M_0,"What are the Requirements?",M_1,"Never mind.",M_End; + + M_0: + mes "[Archer Guildsman]"; + if(BaseJob == Job_Archer) { + mes "Your free spirited nature tells me that you're already an archer....that and the bow and arrow in your hands...Haha"; + emotion e_heh; + close; + } + if(BaseJob != Job_Novice) { + mes "I'm sorry but you cannot leave your current job to become an Archer...though I can understand why you would want to do so."; + close; + } + mes "You have made an excellent job choice."; + mes "Please submit your resume so that I can check your qualifications."; + next; + mes "(You hand over your resume)"; + next; + mes "[Archer Guildsman]"; + if(JobLevel < 10) { + mes "It seems that you are not qualified to become an Archer yet. Please take a look at the job requirments once more."; + close; + } + set job_archer_q,1; + mes "Looks good. You have the necesssary skills to become an archer...."; + next; + mes "[Archer Guildsman]"; + mes "but.... "; + next; + mes "[Archer Guildsman]"; + mes "you must first pass a test in order to do so. I hope you didn't think becoming an archer was going to be that easy. Ha ha!"; + next; + mes "[Archer Guildsman]"; + mes "A well made bow is essential for a good archer, and high quality wood is in turn essential for a well made bow."; + mes "You will be tested on how well you are able to gather high quality wood."; + next; + mes "[Archer Guildsman]"; + mes "The higher the quality of the wood you gather the higher your score."; + mes "You must recieve a score of ^ff0000at least 25^000000 in order to ^ff0000pass the test^000000."; + next; + mes "[Archer Guildsman]"; + mes "You can find wood by battling ^0000ff'Willows'^000000, a type of tree monster found outside of town in Payon forest."; + mes "They drop the wood in the form of^0000ff 'Trunks'^000000."; + next; + mes "[Archer Guildsman]"; + mes "There are a total of 4 different kind of trunks each with a different point value. Gather a variety of trunks and bring them back here for me to grade."; + next; + mes "[Archer Guildsman]"; + mes "I must warn you, the Willows can be tough monsters so be carefull and remember to rest and use your healing items. Good luck!"; + close; + + M_1: + mes "[Archer Guildsman]"; + if(BaseJob == Job_Archer) goto sM_1a; + if(BaseJob != Job_Novice) goto sM_1b; + mes "Let me explain the requirements for becoming an archer to you:"; + next; + mes "[Archer Guildsman]"; + mes "First of all, you have to have a job level of 9 and you must learn all of the skills that come with that job level."; + next; + mes "[Archer Guildsman]"; + mes "Secondly, you will have to take a test that will determine whether or not you have the skills to become an archer."; + next; + mes "[Archer Guildsman]"; + mes "Those are the requirements. Fullfill them and you will be able to live life as only an Archer can."; + close; + + sM_1a: + mes "Have you already forgotten how you became an Archer?...."; + emotion 1; + close; + sM_1b: + mes "Telling you the requirements won't help you become an Archer since you already have another job."; + close; + + M_End: + mes "[Archer Guildsman]"; + mes "Ok then, take care."; + close; + +L_Check: + mes "Oh, I see you've come back."; + next; + mes "[Archer Guildsman]"; + if((countitem(1066) == 0) && (countitem(1067) == 0) && (countitem(1068) == 0) && (countitem(1019) == 0)) goto sL_NotRdy; + if(SkillPoint > 0) goto sL_SkPoints; + set @Trunk1, countitem(1066)*5; + set @Trunk2, countitem(1067)*3; + set @Trunk3, countitem(1068)*2; + set @Trunk4, countitem(1019); + set @TrunkTotal, @Trunk1 + @Trunk2 + @Trunk3 + @Trunk4; + + mes "Lets see....."; + next; + mes "[Archer Guildsman]"; + mes "You have:"; + mes "^0000FF" +countitem(1066)+ "^000000 Fine grained trunks for ^ff0000" +@Trunk1+ "^000000 points,"; + mes "^0000FF" +countitem(1067)+ "^000000 Solid trunks for ^ff0000" +@Trunk2+ "^000000 points,"; + mes "^0000FF" +countitem(1068)+ "^000000 Barren trunks for ^ff0000" +@Trunk3+ "^000000 points,"; + mes "^0000FF" +countitem(1019)+ "^000000 Trunks for ^ff0000" +@Trunk4+ "^000000 points....."; + next; + mes "[Archer Guildsman]"; + mes "That gives you a total score of: ^ff0000" +@TrunkTotal+"^000000"; + next; + mes "[Archer Guildsman]"; + if(@TrunkTotal < 25) goto sL_Failed; + + mes "Very good! You have passed the test. Congratulations, you are now fully qualified to become an archer."; + emotion 21; + next; + mes "[Archer Guildsman]"; + mes "I will now transform you..."; + next; + callfunc "Job_Change",Job_Archer; + callfunc "F_ClearJobVar"; // clears all job variables for the current player + mes "[Archer Guildsman]"; + mes "In exchange for the trunks you brought in I will give you this Bow and some arrows. Please take them."; + next; + getitem 1702,1;//Items: Bow_, + getitem 1750,200;//Items: Arrow, + delitem 1066, countitem(1066);//Items: Fine-grained_Trunk, + delitem 1067, countitem(1067);//Items: Solid_Trunk, + delitem 1068, countitem(1068);//Items: Barren_Trunk, + delitem 1019, countitem(1019);//Items: Trunk, + mes "[Archer Guildsman]"; + mes "An Archer knows no bounds so live your life to its fullest. I know you will make an exellent archer."; + next; + mes "[Archer Guildsman]"; + mes "Farewell and good luck on your journey."; + close; + + sL_NotRdy: + mes "What? You didn't bring any trunks back for me to grade? Let me explain the test requirements again just in case you forgot..."; + emotion 1; + next; + mes "[Archer Guildsman]"; + mes "There are a total of ^5555FF4 different kind of Trunks^000000 each with a different point value."; + mes "Gather a variety of Trunks and bring them back here for me to grade."; + next; + mes "[Archer Guildsman]"; + mes "You can find Trunks by battling ^0000ff'Willows'^000000, a type of tree monster found outside of town in Payon forest."; + close; + sL_SkPoints: + mes "You need to use up all of your skill points before I can make you an Archer."; + close; + sL_Failed: + mes "I'm sorry but your score is too low. I'm afraid that you have failed the test."; + next; + mes "[Archer Guildsman]"; + mes "Fortunatley for you I'm somewhat softhearted so I'll give you another chance. Go gather some more trunks and come back."; + next; + mes "[Archer Guildsman]"; + mes "Hopefull they will be of a high enough quality for you to pass the test."; + close; + +} diff --git a/npc/jobs/1-1/mage.txt b/npc/jobs/1-1/mage.txt index 890de725c..c0118db5f 100644 --- a/npc/jobs/1-1/mage.txt +++ b/npc/jobs/1-1/mage.txt @@ -1,496 +1,496 @@ -//===== eAthena Script ======================================= -//= Mage Job Quest -//===== By: ================================================== -//= kobra_k88 -//===== Current Version: ===================================== -//= 1.6 -//===== Compatible With: ===================================== -//= eAthena 1.0 + -//===== Description: ========================================= -//= -//===== Additional Comments: ================================= -//= Fully working -//= 1.1 Fixed input ingridients bug [Lupus] -//= v1.2 Added instant job change for High Novice [Lupus] -//= 1.3 Added Baby Class support [Lupus] -//= v1.4 Optimised and moved first checker to Jfunc1-1 [massdriller] -//= 1.5 Now saves/restores all quest skills [Lupus] -//= 1.6 Merged back JFunc, CHANGED NUMBERS TO CONSTANTS [Lupus] -//============================================================ - - -// -- Expert Mage -- -geffen_in.gat,164,124,4 script Expert Mage 123,{ - callfunc "F_ToHigh",Job_Mage_High,"High Mage",Job_High_Wizard,"Expert Mage"; - if(BaseJob == Job_Novice && job_magician_q >= 1) goto L_BeMage; - - mes "[Expert Mage]"; - mes "Hi hi! What can I help you with today?"; -M_Menu: - next; - menu "I'm in love with magic, make me a Mage!",M_0,"Tell me the Requirements.",M_1,"Nothing thanks.",M_End; - - M_0: - mes "[Expert Mage]"; - mes "You wanna be a Mage? Hmmm....."; - next; - mes "[Expert Mage]"; - if(BaseJob == Job_Mage) { - mes "You should really get yourself a mirror. Then you could see that you are ^ff0000already a Mage^000000."; - mes "It may even help you fix up your hair do."; - emotion e_swt; - close; - } - if(BaseJob != Job_Novice) { - mes "Oh...I'm sorry. I know they say 2 is always better than 1, but when it comes to Jobs, it's a No No."; - mes "Try to stay positive. Your current job can't be that bad."; - emotion e_no; - close; - } - mes "Okays, just fill out this application form pleeassse."; - next; - mes "(you fill out the form and hand it back to her)"; - next; - mes "[Expert Mage]"; - if(JobLevel < 10) { - mes "Oh...I'm sorry. You need ^ff0000Job level 9^000000 and all of the ^0000ffBasic Skills^000000 before you can become a Mage."; - mes "Go out and kill some more Fabres okays."; - emotion e_no; - close; - } - mes "Oooh~ You have very nice hand writing ^0000dd"+ strcharinfo(0) +"^000000, and more importantly you have met the necessary prerequisites to become a mage."; - next; - mes "[Expert Mage]"; - mes "The only thing left to do is to pass the official Geffen Mage Test. Let me give you the details of the test."; - next; - set job_magician_q, rand(1,4); - - L_Explain: - mes "[Expert Mage]"; - if(job_magician_q == 1) mes "Your test is to make ^0000ff'Mixed Solution No.1'^000000 and bring it back to me."; - if(job_magician_q == 2) mes "Your test is to make ^00aa00'Mixed Solution No.2'^000000 and bring it back to me."; - if(job_magician_q == 3) mes "Your test is to make ^ff0000'Mixed Solution No.3'^000000 and bring it back to me."; - if(job_magician_q == 4) mes "Your test is to make ^ffbb00'Mixed Solution No.4'^000000 and bring it back to me."; - - next; - if(countitem(1092) == 0) getitem 1092,1;//Items: Empty_Test_Tube, - mes "[Expert Mage]"; - mes "You can get the necessary ingredients in the ^5533FF'Guide Book'^000000 in this room."; - mes "Refer to it to get a list of the proper ingredients for the solution."; - next; - mes "[Expert Mage]"; - mes "When you are ready to mix it, use the ^ff0000'Mixing Machine'^000000 in the center to mix the solution."; - next; - mes "[Expert Mage]"; - mes "Good Luck! I'll be waiting."; - close; - - M_1: - mes "[Expert Mage]"; - mes "First of all, you have to reach Novice Level 9 and have learned all of the Basic Skills."; - mes "Secondly, you have to pass the Mage Test."; - goto M_Menu; - M_End: - mes "[Expert Mage]"; - mes "Okays. Bye bye."; - close; - -L_BeMage: - mes "[Expert Mage]"; - mes "Oh, you're back. Lets see...."; - next; - mes "[Expert Mage]"; - if(countitem(1090) >= 1) goto L_Retry;//Items: Unknown_Test_Tube, - if((countitem(1071)<1) && (countitem(1085)<1) && (countitem(1086)<1) && (countitem(1087)<1)) goto L_NoSol;//Items: Unknown_Test_Tube, Unknown_Test_Tube, Unknown_Test_Tube, Unknown_Test_Tube, - - if(SkillPoint > 0) mes "You need to use up all of your skill points before I can make you a Mage."; - if(SkillPoint > 0) close; - - mes ".....The color's not quit right.... there is a little to much precipitate..... hmmm......"; - next; - mes "[Expert Mage]"; - mes "Well it's not perfect but it seems you worked very hard on this so...... alright! I'll let you pass! You are now officially qualified to become a mage!"; - emotion e_no1; - next; - mes "[Expert Mage]"; - mes "Abra-kadabra and hocus pocus, turn this young novice into a ^00aa00MAGE^000000!!"; - next; - callfunc "Job_Change",Job_Mage; - - set Zeny,Zeny+500; - if(job_magician_q == 1) delitem 1071,1;//Items: Unknown_Test_Tube, - if(job_magician_q == 2) delitem 1085,1;//Items: Unknown_Test_Tube, - if(job_magician_q == 3) delitem 1086,1;//Items: Unknown_Test_Tube, - if(job_magician_q == 4) delitem 1087,1;//Items: Unknown_Test_Tube, - - callfunc "F_ClearJobVar"; // clears all job variables for the current player - mes "[Expert Mage]"; - mes "'Welcome to My World~ teh hehe. I've always wanted to say that. Anyways, congratulations! You're one of us now so let's be friends okays!"; - emotion e_heh; - next; - mes "[Expert Mage]"; - mes "Good luck to ya and take care!"; - close; - - L_Retry: - mes "I'm sorry but the solution you have is no good. I'm afraid that you didn't pass the test. You can try again though."; - mes "Let me explain the test for you once more okays."; - emotion e_swt; - next; - delitem 1090,1;//Items: Unknown_Test_Tube, - goto L_Explain; - - L_NoSol: - mes "Where is the solution I asked for? I'm sorry but I can't check the solution when you don't have it. Let me remind you what solution you need."; - emotion e_what; - next; - goto L_Explain; - -} - -// -- Solutions Guide Book -- -geffen_in.gat,177,112,1 script Solutions Guide Book 111,{ - mes "[Solutions Guide Book]"; - mes "I belong to Geffen Magic Academy. Please handle with care."; - next; - menu "Solution No. 1.",Sol1,"Solution No. 2.",Sol2,"Solution No. 3.",Sol3,"Solution No. 4.",Sol4,"Close.",Cancel; - - Sol1: - mes "[Mage Test Solution No. 1]"; - mes "* Ingredients list *"; - mes " - Jellopy 2 ea"; - mes " - Fluff 3 ea"; - mes " - Milk 1 ea"; - next; - mes "[Mage Test Solution No. 1]"; - mes "* Solvent Agent *"; - mes " Payon Solution"; - mes " Where to find: A Small Spring in"; - mes " Archer Village, Payon."; - next; - mes "[Mage Test Solution No. 1]"; - mes "* Chemical ingredients *"; - mes " - 8472"; - next; - mes "[Mage Test Solution No. 1]"; - mes "* A Catalyst *"; - mes " - Yellow Gemstone"; - mes " (Mixing Machine Will provide"; - mes " this item.)"; - close; - Sol2: - mes "[Mage Test Solution No. 2]"; - mes "* Ingredients list *"; - mes " - Jellopy 3 ea"; - mes " - Fluff 1 ea"; - mes " - Milk 1 ea"; - next; - mes "[Mage Test Solution No. 2]"; - mes "* Solvent Agent *"; - mes " - Not Appliable."; - next; - mes "[Mage Test Solution No. 2]"; - mes "* Chemical ingredients *"; - mes " - 3735"; - next; - mes "[Mage Test Solution No. 2]"; - mes "* A Catalyst *"; - mes " - Red Gemstone"; - mes " (Mixing Machine Will provide"; - mes " this item.)"; - close; - Sol3: - mes "[Mage Test Solution No. 3]"; - mes "* Ingredients list *"; - mes " - Jellopy 6 ea"; - mes " - Fluff 1 ea"; - next; - mes "[Mage Test Solution No. 3]"; - mes "* Solvent Agent *"; - mes " Payon Solution"; - mes " Where to find: A Small Spring in"; - mes " Archer Village, Payon."; - next; - mes "[Mage Test Solution No. 3]"; - mes "* Chemical ingredients *"; - mes " - 2750"; - next; - mes "[Mage Test Solution No. 3]"; - mes "* A Catalyst *"; - mes " - Blue Gemstone"; - mes " (Mixing Machine Will provide"; - mes " this item.)"; - close; - Sol4: - mes "[Mage Test Solution No. 4]"; - mes "* Ingredients list *"; - mes " - Jellopy 2 ea"; - mes " - Fluff 3 ea"; - next; - mes "[Mage Test Solution No. 4]"; - mes "* Solvent Agent *"; - mes " Morroc Solution"; - mes " Where to find: A Small Spring"; - mes " Near the Enterance of Pyramid"; - mes " in Morroc."; - next; - mes "[Mage Test Solution No. 4]"; - mes "* Chemical ingredients *"; - mes " - 5429"; - next; - mes "[Mage Test Solution No. 4]"; - mes "* A Catalyst *"; - mes " - 1 carat Diamond"; - mes " (Mixing Machine Will provide"; - mes " this item.)"; - close; - Cancel: - close; -} - -// -- Mixing Machine -- -geffen_in.gat,164,112,1 script Mixing Machine 111,{ - mes "[Mixing Machine]"; - mes "This is the unique Mixing Machine designed only for making magic solutions. It is the property of the Geffen Magic Academy."; - next; - mes "[Mixing Machine]"; - mes "Would you like to use this machine?"; - next; - menu "Yes.",M_Start, "No.",M_End; - - M_Start: - mes "[Mixing Machine]"; - mes "Please specify the ingredients you will be using."; - next; - sM_Menu: - menu "Jellopy",sM_0, "Fluff",sM_1, "Milk",sM_2, "Move on to the next step.",sM_3; - - sM_0: - input @JELLOPY; - if (@JELLOPY<0 || @JELLOPY>100) set @JELLOPY,0; //set 0 if wrong input - goto sM_Menu; - sM_1: - input @FLUFF; - if (@FLUFF<0 || @FLUFF>100) set @FLUFF,0; //set 0 if wrong input - goto sM_Menu; - sM_2: - input @MILK; - if (@MILK<0 || @MILK>100) set @MILK,0; //set 0 if wrong input - goto sM_Menu; - sM_3: - mes "[Mixing Machine]"; - mes "Please specify a solvent."; - next; - menu "Payon Solvent.",ssM_0, "Morroc Solvent",ssM_1, "No Solvent.",ssM_2; - - ssM_0: - set @SOLVENT, 1089; - set @SOLVENT$, "Payon"; - goto L_Cont; - ssM_1: - set @SOLVENT, 1088; - set @SOLVENT$, "Morroc"; - goto L_Cont; - ssM_2: - set @SOLVENT, 0; - set @SOLVENT$, "No"; - - L_Cont: - mes "[Mixing Machine]"; - mes "Here is your current list of ingredients:"; - mes "^4444FF"+@JELLOPY+"^000000 Jellopy,"; - mes "^4444FF"+@FLUFF+"^000000 Fluff,"; - mes "^4444FF"+@MILK+"^000000 Milk,"; - mes "and ^4444FF"+@SOLVENT$+"^000000 Solvent."; - mes "Is this correct?"; - next; - menu "Yes.",-, "No.",M_Start; - - mes "[Mixing Machine]"; - mes "Please put all of the items into the drum. Now enter the magic serial number."; - next; - - L_Input: - input @INPUT; - mes "[Mixing Machine]"; - mes "You have inputted the number ^5555FF"+@INPUT+". Is this correct?"; - next; - menu "Yes.",-, "No.",L_Input; - - mes "[Mixing Machine]"; - mes "For the last item, choose a catalyst stone."; - next; - menu "Yellow Gemstone.",ssM_Yell, "Red Gemstone.",ssM_Red, "Blue Gemstone.",ssM_Blue, "1 Carat Diamond.",ssM_Diamd; - - ssM_Yell: - if(countitem(909)<@JELLOPY || countitem(914)<@FLUFF || countitem(519)<@MILK) goto sL_NotEnuf;//Items: Jellopy, Fluff, Milk, - if(@SOLVENT$!=("No") && countitem(@SOLVENT)<1) goto sL_NotEnuf; - mes "[Mixing Machine]"; - mes "All set. Initiating the mixing process. Please wait."; - next; - mes "[Mixing Machine]"; - mes "~rumble~rumble~rumble~"; - next; - mes "[Mixing Machine]"; - if(job_magician_q != 1 || @INPUT != 8472 || @JELLOPY!=2 || @FLUFF!=3 || @MILK!=1 || @SOLVENT!=1089) goto sL_FAIL; - delitem 909,2;//Items: Jellopy, - delitem 914,3;//Items: Fluff, - delitem 519,1;//Items: Milk, - delitem 1089,1;//Items: Payon_Solution, - delitem 1092,1;//Items: Empty_Test_Tube, - mes "Mixing complete."; - getitem 1071,1;//Items: Unknown_Test_Tube, - close; - - ssM_Red: - if(countitem(909)<@JELLOPY || countitem(914)<@FLUFF || countitem(519)<@MILK) goto sL_NotEnuf;//Items: Jellopy, Fluff, Milk, - mes "[Mixing Machine]"; - mes "All set. Initiating the mixing process. Please wait."; - next; - mes "[Mixing Machine]"; - mes "~rumble~rumble~rumble~"; - next; - mes "[Mixing Machine]"; - if(job_magician_q != 2 || @INPUT != 3735 || @JELLOPY!=3 || @FLUFF!=1 || @MILK!=1 || @SOLVENT!=0) goto sL_FAIL; - delitem 909,3;//Items: Jellopy, - delitem 914,1;//Items: Fluff, - delitem 519,1;//Items: Milk, - delitem 1092,1;//Items: Empty_Test_Tube, - mes "Mixing complete."; - getitem 1085,1;//Items: Unknown_Test_Tube, - close; - - ssM_Blue: - if(countitem(909)<@JELLOPY || countitem(914)<@FLUFF) goto sL_NotEnuf;//Items: Jellopy, Fluff, - if(@SOLVENT$!=("No") && countitem(@SOLVENT)<1) goto sL_NotEnuf; - mes "[Mixing Machine]"; - mes "All set. Initiating the mixing process. Please wait."; - next; - mes "[Mixing Machine]"; - mes "~rumble~rumble~rumble~"; - next; - mes "[Mixing Machine]"; - if(job_magician_q != 3 || @INPUT != 2750 || @JELLOPY!=6 || @FLUFF!=1 || @MILK!=0 || @SOLVENT!=1089) goto sL_FAIL; - delitem 909,6;//Items: Jellopy, - delitem 914,1;//Items: Fluff, - delitem 1089,1;//Items: Payon_Solution, - delitem 1092,1;//Items: Empty_Test_Tube, - mes "Mixing complete."; - getitem 1086,1;//Items: Unknown_Test_Tube, - close; - - ssM_Diamd: - if(countitem(909)<@JELLOPY || countitem(914)<@FLUFF) goto sL_NotEnuf;//Items: Jellopy, Fluff, - if(@SOLVENT$!=("No") && countitem(@SOLVENT)<1) goto sL_NotEnuf; - mes "[Mixing Machine]"; - mes "All set. Initiating the mixing process. Please wait."; - next; - mes "[Mixing Machine]"; - mes "~rumble~rumble~rumble~"; - next; - mes "[Mixing Machine]"; - if(job_magician_q != 4 || @INPUT != 5429 || @JELLOPY!=2 || @FLUFF!=3 || @MILK!=0 || @SOLVENT!=1088) goto sL_FAIL; - delitem 909,2;//Items: Jellopy, - delitem 914,3;//Items: Fluff, - delitem 1088,1;//Items: Morroc_Solution, - delitem 1092,1;//Items: Empty_Test_Tube, - mes "Mixing complete."; - getitem 1087,1;//Items: Unknown_Test_Tube, - close; - - sL_FAIL: - delitem 909, @JELLOPY;//Items: Jellopy, - delitem 914, @FLUFF;//Items: Fluff, - delitem 519, @MILK;//Items: Milk, - delitem @SOLVENT,1; - mes "Mixing complete."; - getitem 1090,1;//Items: Unknown_Test_Tube, - close; - - sL_NotEnuf: - mes "[Mixing Machine]"; - mes "You do not have enough ingredients to mix into a solution."; - close; - M_End: - close; - -} - - -// -- Morroc Solution -- -moc_ruins.gat,91,150,5 script Ponka-Hontas 93,{ - mes "[Mage Guildsman]"; - mes "You want the Solution? Then give me 50 Zeny and at least 1 Empty Testube."; - next; - menu "Allright, Deal",L0,"Nah, forget it.",L1; - - L0: - if(countitem(1092)<1) goto L0NoT;//Items: Empty_Test_Tube, - if(Zeny<50) goto L0NoZ; - mes "[Mage Guildsman]"; - mes "Ok, you have the money and a empty Testube, that's good!"; - delitem 1092,1;//Items: Empty_Test_Tube, - set Zeny,Zeny-50; - next; - mes "[Mage Guildsman]"; - getitem 1088,1;//Items: Morroc_Solution, - mes "Thank you, I think you will be a great mage, you are so generous."; - mes "I hope i'll see you soon again here"; - emotion e_no1; - close; - - L0NoT: - mes "[Mage Guildsman]"; - mes "You can't Carry on Fluid without a bottle, are you sure you want to become a mage?"; - mes "Bring an Empty Testube"; - close; - - L0NoZ: - mes "[Mage Guildsman]"; - mes "Pfff, You are too poor to buy our noble Solution!"; - mes "Bring 50 Zeny, go to the mercant sell something, it will not be too hard I hope"; - close; - L1: - mes "[Mage Guildsman]"; - close; -} - - -// -- Payon Solution -- -pay_arche.gat,122,100,5 script Dollshoi 88,{ - mes "[Mage Guildsman]"; - mes "You want the Solution? Then give me 50 Zeny and at least 1 Empty Testube."; - next; - menu "Allright, Deal",L0,"Nah, forget it.",L1; - - L0: - if(countitem(1092)<1) goto L0NoT;//Items: Empty_Test_Tube, - if(Zeny<50) goto L0NoZ; - mes "[Mage Guildsman]"; - mes "Ok, you have the money and a empty Testube, that's good!"; - delitem 1092,1;//Items: Empty_Test_Tube, - set Zeny,Zeny-50; - next; - mes "[Mage Guildsman]"; - getitem 1089,1;//Items: Payon_Solution, - mes "Thank you, I think you will be a great mage, you are so generous."; - mes "I hope i'll see you soon again here"; - emotion e_no1; - close; - - L0NoT: - mes "[Mage Guildsman]"; - mes "You can't Carry on Fluid without a bottle, are you sure you want to become a mage?"; - mes "Bring an Empty Testube"; - close; - - L0NoZ: - mes "[Mage Guildsman]"; - mes "Pfff, You are too poor to buy our noble Solution!"; - mes "Bring 50 Zeny, go to the mercant sell something, it will not be too hard I hope"; - close; - L1: - mes "[Mage Guildsman]"; - close; -} - +//===== eAthena Script ======================================= +//= Mage Job Quest +//===== By: ================================================== +//= kobra_k88 +//===== Current Version: ===================================== +//= 1.6 +//===== Compatible With: ===================================== +//= eAthena 1.0 + +//===== Description: ========================================= +//= +//===== Additional Comments: ================================= +//= Fully working +//= 1.1 Fixed input ingridients bug [Lupus] +//= v1.2 Added instant job change for High Novice [Lupus] +//= 1.3 Added Baby Class support [Lupus] +//= v1.4 Optimised and moved first checker to Jfunc1-1 [massdriller] +//= 1.5 Now saves/restores all quest skills [Lupus] +//= 1.6 Merged back JFunc, CHANGED NUMBERS TO CONSTANTS [Lupus] +//============================================================ + + +// -- Expert Mage -- +geffen_in.gat,164,124,4 script Expert Mage 123,{ + callfunc "F_ToHigh",Job_Mage_High,"High Mage",Job_High_Wizard,"Expert Mage"; + if(BaseJob == Job_Novice && job_magician_q >= 1) goto L_BeMage; + + mes "[Expert Mage]"; + mes "Hi hi! What can I help you with today?"; +M_Menu: + next; + menu "I'm in love with magic, make me a Mage!",M_0,"Tell me the Requirements.",M_1,"Nothing thanks.",M_End; + + M_0: + mes "[Expert Mage]"; + mes "You wanna be a Mage? Hmmm....."; + next; + mes "[Expert Mage]"; + if(BaseJob == Job_Mage) { + mes "You should really get yourself a mirror. Then you could see that you are ^ff0000already a Mage^000000."; + mes "It may even help you fix up your hair do."; + emotion e_swt; + close; + } + if(BaseJob != Job_Novice) { + mes "Oh...I'm sorry. I know they say 2 is always better than 1, but when it comes to Jobs, it's a No No."; + mes "Try to stay positive. Your current job can't be that bad."; + emotion e_no; + close; + } + mes "Okays, just fill out this application form pleeassse."; + next; + mes "(you fill out the form and hand it back to her)"; + next; + mes "[Expert Mage]"; + if(JobLevel < 10) { + mes "Oh...I'm sorry. You need ^ff0000Job level 9^000000 and all of the ^0000ffBasic Skills^000000 before you can become a Mage."; + mes "Go out and kill some more Fabres okays."; + emotion e_no; + close; + } + mes "Oooh~ You have very nice hand writing ^0000dd"+ strcharinfo(0) +"^000000, and more importantly you have met the necessary prerequisites to become a mage."; + next; + mes "[Expert Mage]"; + mes "The only thing left to do is to pass the official Geffen Mage Test. Let me give you the details of the test."; + next; + set job_magician_q, rand(1,4); + + L_Explain: + mes "[Expert Mage]"; + if(job_magician_q == 1) mes "Your test is to make ^0000ff'Mixed Solution No.1'^000000 and bring it back to me."; + if(job_magician_q == 2) mes "Your test is to make ^00aa00'Mixed Solution No.2'^000000 and bring it back to me."; + if(job_magician_q == 3) mes "Your test is to make ^ff0000'Mixed Solution No.3'^000000 and bring it back to me."; + if(job_magician_q == 4) mes "Your test is to make ^ffbb00'Mixed Solution No.4'^000000 and bring it back to me."; + + next; + if(countitem(1092) == 0) getitem 1092,1;//Items: Empty_Test_Tube, + mes "[Expert Mage]"; + mes "You can get the necessary ingredients in the ^5533FF'Guide Book'^000000 in this room."; + mes "Refer to it to get a list of the proper ingredients for the solution."; + next; + mes "[Expert Mage]"; + mes "When you are ready to mix it, use the ^ff0000'Mixing Machine'^000000 in the center to mix the solution."; + next; + mes "[Expert Mage]"; + mes "Good Luck! I'll be waiting."; + close; + + M_1: + mes "[Expert Mage]"; + mes "First of all, you have to reach Novice Level 9 and have learned all of the Basic Skills."; + mes "Secondly, you have to pass the Mage Test."; + goto M_Menu; + M_End: + mes "[Expert Mage]"; + mes "Okays. Bye bye."; + close; + +L_BeMage: + mes "[Expert Mage]"; + mes "Oh, you're back. Lets see...."; + next; + mes "[Expert Mage]"; + if(countitem(1090) >= 1) goto L_Retry;//Items: Unknown_Test_Tube, + if((countitem(1071)<1) && (countitem(1085)<1) && (countitem(1086)<1) && (countitem(1087)<1)) goto L_NoSol;//Items: Unknown_Test_Tube, Unknown_Test_Tube, Unknown_Test_Tube, Unknown_Test_Tube, + + if(SkillPoint > 0) mes "You need to use up all of your skill points before I can make you a Mage."; + if(SkillPoint > 0) close; + + mes ".....The color's not quit right.... there is a little to much precipitate..... hmmm......"; + next; + mes "[Expert Mage]"; + mes "Well it's not perfect but it seems you worked very hard on this so...... alright! I'll let you pass! You are now officially qualified to become a mage!"; + emotion e_no1; + next; + mes "[Expert Mage]"; + mes "Abra-kadabra and hocus pocus, turn this young novice into a ^00aa00MAGE^000000!!"; + next; + callfunc "Job_Change",Job_Mage; + + set Zeny,Zeny+500; + if(job_magician_q == 1) delitem 1071,1;//Items: Unknown_Test_Tube, + if(job_magician_q == 2) delitem 1085,1;//Items: Unknown_Test_Tube, + if(job_magician_q == 3) delitem 1086,1;//Items: Unknown_Test_Tube, + if(job_magician_q == 4) delitem 1087,1;//Items: Unknown_Test_Tube, + + callfunc "F_ClearJobVar"; // clears all job variables for the current player + mes "[Expert Mage]"; + mes "'Welcome to My World~ teh hehe. I've always wanted to say that. Anyways, congratulations! You're one of us now so let's be friends okays!"; + emotion e_heh; + next; + mes "[Expert Mage]"; + mes "Good luck to ya and take care!"; + close; + + L_Retry: + mes "I'm sorry but the solution you have is no good. I'm afraid that you didn't pass the test. You can try again though."; + mes "Let me explain the test for you once more okays."; + emotion e_swt; + next; + delitem 1090,1;//Items: Unknown_Test_Tube, + goto L_Explain; + + L_NoSol: + mes "Where is the solution I asked for? I'm sorry but I can't check the solution when you don't have it. Let me remind you what solution you need."; + emotion e_what; + next; + goto L_Explain; + +} + +// -- Solutions Guide Book -- +geffen_in.gat,177,112,1 script Solutions Guide Book 111,{ + mes "[Solutions Guide Book]"; + mes "I belong to Geffen Magic Academy. Please handle with care."; + next; + menu "Solution No. 1.",Sol1,"Solution No. 2.",Sol2,"Solution No. 3.",Sol3,"Solution No. 4.",Sol4,"Close.",Cancel; + + Sol1: + mes "[Mage Test Solution No. 1]"; + mes "* Ingredients list *"; + mes " - Jellopy 2 ea"; + mes " - Fluff 3 ea"; + mes " - Milk 1 ea"; + next; + mes "[Mage Test Solution No. 1]"; + mes "* Solvent Agent *"; + mes " Payon Solution"; + mes " Where to find: A Small Spring in"; + mes " Archer Village, Payon."; + next; + mes "[Mage Test Solution No. 1]"; + mes "* Chemical ingredients *"; + mes " - 8472"; + next; + mes "[Mage Test Solution No. 1]"; + mes "* A Catalyst *"; + mes " - Yellow Gemstone"; + mes " (Mixing Machine Will provide"; + mes " this item.)"; + close; + Sol2: + mes "[Mage Test Solution No. 2]"; + mes "* Ingredients list *"; + mes " - Jellopy 3 ea"; + mes " - Fluff 1 ea"; + mes " - Milk 1 ea"; + next; + mes "[Mage Test Solution No. 2]"; + mes "* Solvent Agent *"; + mes " - Not Appliable."; + next; + mes "[Mage Test Solution No. 2]"; + mes "* Chemical ingredients *"; + mes " - 3735"; + next; + mes "[Mage Test Solution No. 2]"; + mes "* A Catalyst *"; + mes " - Red Gemstone"; + mes " (Mixing Machine Will provide"; + mes " this item.)"; + close; + Sol3: + mes "[Mage Test Solution No. 3]"; + mes "* Ingredients list *"; + mes " - Jellopy 6 ea"; + mes " - Fluff 1 ea"; + next; + mes "[Mage Test Solution No. 3]"; + mes "* Solvent Agent *"; + mes " Payon Solution"; + mes " Where to find: A Small Spring in"; + mes " Archer Village, Payon."; + next; + mes "[Mage Test Solution No. 3]"; + mes "* Chemical ingredients *"; + mes " - 2750"; + next; + mes "[Mage Test Solution No. 3]"; + mes "* A Catalyst *"; + mes " - Blue Gemstone"; + mes " (Mixing Machine Will provide"; + mes " this item.)"; + close; + Sol4: + mes "[Mage Test Solution No. 4]"; + mes "* Ingredients list *"; + mes " - Jellopy 2 ea"; + mes " - Fluff 3 ea"; + next; + mes "[Mage Test Solution No. 4]"; + mes "* Solvent Agent *"; + mes " Morroc Solution"; + mes " Where to find: A Small Spring"; + mes " Near the Enterance of Pyramid"; + mes " in Morroc."; + next; + mes "[Mage Test Solution No. 4]"; + mes "* Chemical ingredients *"; + mes " - 5429"; + next; + mes "[Mage Test Solution No. 4]"; + mes "* A Catalyst *"; + mes " - 1 carat Diamond"; + mes " (Mixing Machine Will provide"; + mes " this item.)"; + close; + Cancel: + close; +} + +// -- Mixing Machine -- +geffen_in.gat,164,112,1 script Mixing Machine 111,{ + mes "[Mixing Machine]"; + mes "This is the unique Mixing Machine designed only for making magic solutions. It is the property of the Geffen Magic Academy."; + next; + mes "[Mixing Machine]"; + mes "Would you like to use this machine?"; + next; + menu "Yes.",M_Start, "No.",M_End; + + M_Start: + mes "[Mixing Machine]"; + mes "Please specify the ingredients you will be using."; + next; + sM_Menu: + menu "Jellopy",sM_0, "Fluff",sM_1, "Milk",sM_2, "Move on to the next step.",sM_3; + + sM_0: + input @JELLOPY; + if (@JELLOPY<0 || @JELLOPY>100) set @JELLOPY,0; //set 0 if wrong input + goto sM_Menu; + sM_1: + input @FLUFF; + if (@FLUFF<0 || @FLUFF>100) set @FLUFF,0; //set 0 if wrong input + goto sM_Menu; + sM_2: + input @MILK; + if (@MILK<0 || @MILK>100) set @MILK,0; //set 0 if wrong input + goto sM_Menu; + sM_3: + mes "[Mixing Machine]"; + mes "Please specify a solvent."; + next; + menu "Payon Solvent.",ssM_0, "Morroc Solvent",ssM_1, "No Solvent.",ssM_2; + + ssM_0: + set @SOLVENT, 1089; + set @SOLVENT$, "Payon"; + goto L_Cont; + ssM_1: + set @SOLVENT, 1088; + set @SOLVENT$, "Morroc"; + goto L_Cont; + ssM_2: + set @SOLVENT, 0; + set @SOLVENT$, "No"; + + L_Cont: + mes "[Mixing Machine]"; + mes "Here is your current list of ingredients:"; + mes "^4444FF"+@JELLOPY+"^000000 Jellopy,"; + mes "^4444FF"+@FLUFF+"^000000 Fluff,"; + mes "^4444FF"+@MILK+"^000000 Milk,"; + mes "and ^4444FF"+@SOLVENT$+"^000000 Solvent."; + mes "Is this correct?"; + next; + menu "Yes.",-, "No.",M_Start; + + mes "[Mixing Machine]"; + mes "Please put all of the items into the drum. Now enter the magic serial number."; + next; + + L_Input: + input @INPUT; + mes "[Mixing Machine]"; + mes "You have inputted the number ^5555FF"+@INPUT+". Is this correct?"; + next; + menu "Yes.",-, "No.",L_Input; + + mes "[Mixing Machine]"; + mes "For the last item, choose a catalyst stone."; + next; + menu "Yellow Gemstone.",ssM_Yell, "Red Gemstone.",ssM_Red, "Blue Gemstone.",ssM_Blue, "1 Carat Diamond.",ssM_Diamd; + + ssM_Yell: + if(countitem(909)<@JELLOPY || countitem(914)<@FLUFF || countitem(519)<@MILK) goto sL_NotEnuf;//Items: Jellopy, Fluff, Milk, + if(@SOLVENT$!=("No") && countitem(@SOLVENT)<1) goto sL_NotEnuf; + mes "[Mixing Machine]"; + mes "All set. Initiating the mixing process. Please wait."; + next; + mes "[Mixing Machine]"; + mes "~rumble~rumble~rumble~"; + next; + mes "[Mixing Machine]"; + if(job_magician_q != 1 || @INPUT != 8472 || @JELLOPY!=2 || @FLUFF!=3 || @MILK!=1 || @SOLVENT!=1089) goto sL_FAIL; + delitem 909,2;//Items: Jellopy, + delitem 914,3;//Items: Fluff, + delitem 519,1;//Items: Milk, + delitem 1089,1;//Items: Payon_Solution, + delitem 1092,1;//Items: Empty_Test_Tube, + mes "Mixing complete."; + getitem 1071,1;//Items: Unknown_Test_Tube, + close; + + ssM_Red: + if(countitem(909)<@JELLOPY || countitem(914)<@FLUFF || countitem(519)<@MILK) goto sL_NotEnuf;//Items: Jellopy, Fluff, Milk, + mes "[Mixing Machine]"; + mes "All set. Initiating the mixing process. Please wait."; + next; + mes "[Mixing Machine]"; + mes "~rumble~rumble~rumble~"; + next; + mes "[Mixing Machine]"; + if(job_magician_q != 2 || @INPUT != 3735 || @JELLOPY!=3 || @FLUFF!=1 || @MILK!=1 || @SOLVENT!=0) goto sL_FAIL; + delitem 909,3;//Items: Jellopy, + delitem 914,1;//Items: Fluff, + delitem 519,1;//Items: Milk, + delitem 1092,1;//Items: Empty_Test_Tube, + mes "Mixing complete."; + getitem 1085,1;//Items: Unknown_Test_Tube, + close; + + ssM_Blue: + if(countitem(909)<@JELLOPY || countitem(914)<@FLUFF) goto sL_NotEnuf;//Items: Jellopy, Fluff, + if(@SOLVENT$!=("No") && countitem(@SOLVENT)<1) goto sL_NotEnuf; + mes "[Mixing Machine]"; + mes "All set. Initiating the mixing process. Please wait."; + next; + mes "[Mixing Machine]"; + mes "~rumble~rumble~rumble~"; + next; + mes "[Mixing Machine]"; + if(job_magician_q != 3 || @INPUT != 2750 || @JELLOPY!=6 || @FLUFF!=1 || @MILK!=0 || @SOLVENT!=1089) goto sL_FAIL; + delitem 909,6;//Items: Jellopy, + delitem 914,1;//Items: Fluff, + delitem 1089,1;//Items: Payon_Solution, + delitem 1092,1;//Items: Empty_Test_Tube, + mes "Mixing complete."; + getitem 1086,1;//Items: Unknown_Test_Tube, + close; + + ssM_Diamd: + if(countitem(909)<@JELLOPY || countitem(914)<@FLUFF) goto sL_NotEnuf;//Items: Jellopy, Fluff, + if(@SOLVENT$!=("No") && countitem(@SOLVENT)<1) goto sL_NotEnuf; + mes "[Mixing Machine]"; + mes "All set. Initiating the mixing process. Please wait."; + next; + mes "[Mixing Machine]"; + mes "~rumble~rumble~rumble~"; + next; + mes "[Mixing Machine]"; + if(job_magician_q != 4 || @INPUT != 5429 || @JELLOPY!=2 || @FLUFF!=3 || @MILK!=0 || @SOLVENT!=1088) goto sL_FAIL; + delitem 909,2;//Items: Jellopy, + delitem 914,3;//Items: Fluff, + delitem 1088,1;//Items: Morroc_Solution, + delitem 1092,1;//Items: Empty_Test_Tube, + mes "Mixing complete."; + getitem 1087,1;//Items: Unknown_Test_Tube, + close; + + sL_FAIL: + delitem 909, @JELLOPY;//Items: Jellopy, + delitem 914, @FLUFF;//Items: Fluff, + delitem 519, @MILK;//Items: Milk, + delitem @SOLVENT,1; + mes "Mixing complete."; + getitem 1090,1;//Items: Unknown_Test_Tube, + close; + + sL_NotEnuf: + mes "[Mixing Machine]"; + mes "You do not have enough ingredients to mix into a solution."; + close; + M_End: + close; + +} + + +// -- Morroc Solution -- +moc_ruins.gat,91,150,5 script Ponka-Hontas 93,{ + mes "[Mage Guildsman]"; + mes "You want the Solution? Then give me 50 Zeny and at least 1 Empty Testube."; + next; + menu "Allright, Deal",L0,"Nah, forget it.",L1; + + L0: + if(countitem(1092)<1) goto L0NoT;//Items: Empty_Test_Tube, + if(Zeny<50) goto L0NoZ; + mes "[Mage Guildsman]"; + mes "Ok, you have the money and a empty Testube, that's good!"; + delitem 1092,1;//Items: Empty_Test_Tube, + set Zeny,Zeny-50; + next; + mes "[Mage Guildsman]"; + getitem 1088,1;//Items: Morroc_Solution, + mes "Thank you, I think you will be a great mage, you are so generous."; + mes "I hope i'll see you soon again here"; + emotion e_no1; + close; + + L0NoT: + mes "[Mage Guildsman]"; + mes "You can't Carry on Fluid without a bottle, are you sure you want to become a mage?"; + mes "Bring an Empty Testube"; + close; + + L0NoZ: + mes "[Mage Guildsman]"; + mes "Pfff, You are too poor to buy our noble Solution!"; + mes "Bring 50 Zeny, go to the mercant sell something, it will not be too hard I hope"; + close; + L1: + mes "[Mage Guildsman]"; + close; +} + + +// -- Payon Solution -- +pay_arche.gat,122,100,5 script Dollshoi 88,{ + mes "[Mage Guildsman]"; + mes "You want the Solution? Then give me 50 Zeny and at least 1 Empty Testube."; + next; + menu "Allright, Deal",L0,"Nah, forget it.",L1; + + L0: + if(countitem(1092)<1) goto L0NoT;//Items: Empty_Test_Tube, + if(Zeny<50) goto L0NoZ; + mes "[Mage Guildsman]"; + mes "Ok, you have the money and a empty Testube, that's good!"; + delitem 1092,1;//Items: Empty_Test_Tube, + set Zeny,Zeny-50; + next; + mes "[Mage Guildsman]"; + getitem 1089,1;//Items: Payon_Solution, + mes "Thank you, I think you will be a great mage, you are so generous."; + mes "I hope i'll see you soon again here"; + emotion e_no1; + close; + + L0NoT: + mes "[Mage Guildsman]"; + mes "You can't Carry on Fluid without a bottle, are you sure you want to become a mage?"; + mes "Bring an Empty Testube"; + close; + + L0NoZ: + mes "[Mage Guildsman]"; + mes "Pfff, You are too poor to buy our noble Solution!"; + mes "Bring 50 Zeny, go to the mercant sell something, it will not be too hard I hope"; + close; + L1: + mes "[Mage Guildsman]"; + close; +} + diff --git a/npc/jobs/1-1/merchant.txt b/npc/jobs/1-1/merchant.txt index d04f0c2b0..874fcf4e2 100644 --- a/npc/jobs/1-1/merchant.txt +++ b/npc/jobs/1-1/merchant.txt @@ -1,973 +1,973 @@ -//===== eAthena Script ======================================= -//= Merchant Job Quest -//===== By: ================================================== -//= kobra_k88 -//===== Current Version: ===================================== -//= 1.6 -//===== Compatible With: ===================================== -//= eAthena 1.0 + -//===== Description: ========================================= -//= -//===== Additional Comments: ================================= -//= Fully working -//= v1.1 Added instant job change for High Novice [Lupus] -//= v1.3 Added Baby Class support [Lupus] -//= v1.4 Optimised and moved first checker to Jfunc1-1 [massdriller] -//= 1.5 Changed Prontera->Izlude teleport price to 600 [Lupus] -//= 1.5.1 Removed Duplicates [Silent] -//= 1.5.2 Now saves/restores all quest skills [Lupus] -//= 1.6 Merged back JFunc, CHANGED NUMBERS TO CONSTANTS [Lupus] -//============================================================ - - -// == Guild NPCs == -// -- Mahnsoo -- -alberta_in.gat,53,43,6 script Chief Mahnsoo 86,{ - callfunc "F_ToHigh",Job_Merchant_High,"Merchant High",Job_Whitesmith,"Chief Mahnsoo"; - mes "[Chief Mahnsoo]"; - if(BaseJob == Job_Novice && job_merchant_q3 == 4) goto L_MakeMerc; - if(BaseJob == Job_Novice && job_merchant_q3 == 3) goto L_GiveRecpt; - if(BaseJob == Job_Novice && job_merchant_q3 == 5) goto L_Failed; - if(BaseJob == Job_Novice && job_merchant_q2 > 0) goto L_Back; - - mes "What brings you here? Something on your mind?"; -M_Menu: - next; - menu "I want to be a Merchant.",M_0,"What exactly is a Merchant?",M_1,"Give me the Requirements.",M_2,"End.",M_End; - - M_0: - - if(BaseJob == Job_Merchant) { - mes "[Chief Mahnsoo]"; - mes "Huh? What did you say? You noodle head! Take a good look at yourself. Your ALREADY A MERCHANT! Good lord!"; - emotion e_what; - emotion e_gasp; - close; - } - if(BaseJob != Job_Novice) { - mes "[Chief Mahnsoo]"; - mes "We Merchants really don't like people who work during the day, and then go out to crazy bars at night. When it comes to money, for them it's 'easy come easy go."; - next; - mes "[Chief Mahnsoo]"; - mes "Well.. I talked a little too long, I guess... but since you already have an occupation, we don't need you."; - close; - } - if(JobLevel < 10) { - mes "[Chief Mahnsoo]"; - mes "I'm sorry but you have to have a Novice Job level of 9 with all 9 of the basic Skills."; - close; - } - mes "[Chief Mahnsoo]"; - mes "A Merchant you say? Well..."; - next; - mes "[Chief Mahnsoo]"; - mes "Alright. First fill out an application form and submit 1000 Zeny for the Memebership Fee."; - mes "If you don't have enough money right now, you can pay 500 Zeny first and then pay the rest later after you've passed the Merchant License Test."; - next; - mes "[Chief Mahnsoo]"; - mes "How does that sound? Are you still interested?"; - - next; - menu "Sure why not. Who needs college anyways.",sM_0a,"Maybe, later...",sM_0b; - - sM_0a: - mes "[Chief Mahnsoo]"; - mes "I'm glad to hear that. So how do you wish to pay the Membership Fee?"; - sM_Menu: - next; - menu "Pay 1000 Zeny Now.",m_0a,"2 payments of 500 Zeny.",m_0b,"Nevermind.",m_0End; - - m_0a: - mes "[Chief Mahnsoo]"; - if(Zeny < 1000) goto sl_Short1k; - set Zeny,Zeny-1000; - set job_merchant_q,1; - mes "Let's see... 1000 Zeny.... Good."; - goto L_Cont0; - - sl_Short1k: - mes "Looks like your a little short on zeny. Why not make a minimal payment of 500 Zeny first?"; - mes "You can worry about the rest later."; - emotion e_swt; - goto sM_Menu; - close; - - m_0b: - mes "[Chief Mahnsoo]"; - if(Zeny < 500) goto sl_Short500z; - set Zeny,Zeny-500; - set job_merchant_q,2; - mes "Let's See... 500 Zeny.... Good enough to start off... though I don't really think splitting paymenst is a good habbit for any Merchant."; - goto L_Cont0; - - sl_Short500z: - mes "Looks like your a little short on zeny. Come back when you have enough."; - emotion e_swt; - close; - - m_0End: - mes "[Chief Mahnsoo]"; - mes "You have no money now? Ok, No Problem. Take your time, Ok?"; - close; - - sM_0b: - mes "[Chief Mahnsoo]"; - mes "Feel free to return anytime when you are ready, Alright?."; - close; - - - L_Cont0: - next; - mes "[Chief Mahnsoo]"; - mes "Now that that's settled, let me talk to you about the Merchant License Test. You will be given a task to fullfill."; - mes "How well you perform the task will determine whether or not you will become a merchant."; - next; - mes "[Chief Mahnsoo]"; - mes "Oh, but before we get started I must say one thing....."; - next; - mes "[Chief Mahnsoo]"; - mes "There are some dumb and greedy people out there who do not know what it means to be a Merchant."; - mes "I sincerely hope you will not turn out to be like them. You won't... will you??..... (stares at you intently)"; - next; - mes "[Chief Mahnsoo]"; - mes "Anywho, here is your task. You will need to...."; - next; - mes "[Chief Mahnsoo]"; - - set @TEMP,rand(4); - if(@TEMP ==1) goto R_1; - if(@TEMP ==2) goto R_2; - if(@TEMP ==3) goto R_3; - - R_0: - mes "retrieve a ^ff0000product^000000 from the ^0000ffWharehouse^000000 and deliver it to the ^00aa00Kafra Worker in the Former Swordman Association in Prontera^000000."; - if(job_merchant_q2 == 1) goto sR_0a; - if(job_merchant_q2 == 2) goto sR_0b; - set @TEMP,rand(2); - if(@TEMP !=0) goto sR_0b; - - sR_0a: - mes "The ^0000ff'Serial Number'^000000 of the product is ^ff00002485741^000000."; - set job_merchant_q2, 1; - next; - goto L_Cont1; - sR_0b: - mes "The ^0000ff'Serial Number'^000000 of the product is ^ff00002328137^000000."; - set job_merchant_q2, 2; - next; - goto L_Cont1; - - R_1: - mes "retrieve a ^ff0000product^000000 from the ^0000ffWharehouse^000000 and deliver it to a member of the ^00aa00Mage Guild in Geffen^000000."; - next; - mes "[Chief Mahnsoo]"; - if(job_merchant_q2 == 3) goto sR_1a; - if(job_merchant_q2 == 4) goto sR_1b; - set @TEMP,rand(2); - if(@TEMP !=0) goto sR_1b; - - sR_1a: - mes "The ^0000ff'Serial Number'^000000 of the product is ^ff00002989396^000000."; - set job_merchant_q2, 3; - next; - goto L_Cont1; - sR_1b: - mes "The ^0000ff'Serial Number'^000000 of the product is ^ff00002191737^000000."; - set job_merchant_q2, 4; - next; - goto L_Cont1; - - R_2: - mes "retrieve a ^ff0000product^000000 from the ^0000ffWharehouse^000000 and deliver it to ^00aa00Java Dullihan, the Dyermaker in Morroc^000000."; - next; - mes "[Chief Mahnsoo]"; - if(job_merchant_q2 == 5) goto sR_2a; - if(job_merchant_q2 == 6) goto sR_2b; - set @TEMP,rand(2); - if(@TEMP !=0) goto sR_2b; - - sR_2a: - mes "The ^0000ff'Serial Number'^000000 of the product is ^ff00003012685^000000."; - set job_merchant_q2,5; - next; - goto L_Cont1; - sR_2b: - mes "The ^0000ff'Serial Number'^000000 of the product is ^ff00003487372^000000."; - set job_merchant_q2,6; - next; - goto L_Cont1; - - R_3: - mes "retrieve a ^ff0000product^000000 from the ^0000ffWharehouse^000000 and deliver it to the ^00aa00Kafra worker in Byalan island^000000."; - next; - mes "[Chief Mahnsoo]"; - if(job_merchant_q2 == 7) goto sR_3a; - if(job_merchant_q2 == 8) goto sR_3b; - set @TEMP,rand(2); - if(@TEMP !=0) goto sR_3b; - - sR_3a: - - mes "The ^0000ff'Serial Number'^000000 of the product is ^ff00003318702^000000."; - set job_merchant_q2,7; - goto M00R3; - sR_3b: - mes "The ^0000ff'Serial Number'^000000 of the product is ^ff00003543625^000000."; - set job_merchant_q2,8; - goto M00R3; - - M00R3: - next; - mes "[Chief Mahnsoo]"; - mes "Umm and... this is my personal request. Include this message in your delivery please~"; - if(countitem(1072)==0) getitem 1072,1;//Items: Delivery_Message, - next; - goto L_Cont1; - - - L_Cont1: - mes "[Chief Mahnsoo]"; - mes "Keep track of the ^ff0000'Serial Number'^000000 and the ^ff0000'Destination'^000000 of the product."; - mes "The Wharehouse Manager will need them to assist you in getting the right product."; - next; - mes "[Chief Mahnsoo]"; - mes "The Wharehouse itself is located to my right."; - next; - mes "[Chief Mahnsoo]"; - mes "After you've finished making the delivery come back here and give the Receipt to the Wharehouse Manager. Then come see me. Is that clear?"; - next; - mes "[Chief Mahnsoo]"; - mes "Alright, good luck!"; - close; - - M_1: - mes "[Chief Mahnsoo]"; - mes "Merchants are people who are in the business of buying and selling goods. We focus on finding rare items and selling them to those who desire or need them."; - mes "We are not particularly good at fighting nor do we have any usefull support skills. What we Merchants can do is buy Goods at lower prices as well as sell them at Highter prices."; - next; - mes "[Chief Mahnsoo]"; - mes "As far as what weapons go, we can use most of them. Bows, Rods, and Two-Handed Swords are the only types of weapons we can't use."; - mes "The skill Mannomite even lets us use zeny as a weapon."; - next; - mes "[Chief Mahnsoo]"; - mes "Whatever people may say about us, making money is important to a merchants lively hood."; - goto M_Menu; - close; - - M_2: - mes "[Chief Mahnsoo]"; - mes "There are three conditions to be qualified if you want to be a Merchant."; - next; - mes "[Chief Mahnsoo]"; - mes "First of all, You have to be at Novice job level 9 with fulfilled Basic Skills."; - next; - mes "[Chief Mahnsoo]"; - mes "Secondly, You have to pay 1000 Zeny for acquire a Memebrship. I believe a Merchant Candidate will be able to earn 1000 Zeny at ease. Oh yeah~"; - next; - mes "[Chief Mahnsoo]"; - mes "Third, There is a License Test to examine your basic Physical Strength and a Sense of Direction. You must Deliever the Goods to the Specific person in the Specific Town."; - goto M_Menu; - close; - - M_End: - close; - -L_GiveRecpt: - mes "Ah, " + strcharinfo(0) + ". You're back! I take it things went well? Tell you what, go give the Receipt to the Storekeeper and then hurry back here ok."; - close; - -L_Back: - mes "What are you doing back here?"; - emotion e_what; - next; - mes "[Chief Mahnsoo]"; - mes "You didn't leave yet?"; - next; - mes "[Chief Mahnsoo]"; - mes "You are supposed to be on your way by now. Don't tell me you already forgot the product number and destination?"; - next; - mes "[Chief Mahnsoo]"; - mes "Alright numskull, do you want me to repeat it to you one more time?"; - next; - menu "Yes please", M_Yes,"Never mind.",M_No; - - M_Yes: - mes "[Chief Mahnsoo]"; - if((job_merchant_q2==1) || (job_merchant_q2==2)) goto R_0; - if((job_merchant_q2==3) || (job_merchant_q2==4)) goto R_1; - if((job_merchant_q2==5) || (job_merchant_q2==6)) goto R_2; - if((job_merchant_q2==7) || (job_merchant_q2==8)) goto R_3; - close; - - M_No: - close; - -L_MakeMerc: - if(Sex == 1) mes "Mr. ^0000cc" + strcharinfo(0) + "^000000....."; - if(Sex == 0) mes "Ms. ^0000cc" + strcharinfo(0) + "^000000......."; - next; - mes "[Chief Mahnsoo]"; - if(SkillPoint > 0) mes "You need to use up all of your skill points before I can make you a Merchant."; - if(SkillPoint > 0) close; - - mes "WELL DONE! Well done indeed!! I just read Wharehouse Manager Kays' evaluation of your performance, and I was very impressed. I have great news for you!"; - next; - if(job_merchant_q == 2) goto L_MemFee; - - mes "[Chief Mahnsoo]"; - mes "Because of your HARD work, The Merchant Guild as decided to ACCEPT YOU as one of its members!"; - next; - callfunc "Job_Change",Job_Merchant; - callfunc "F_ClearJobVar"; // clears all job variables for the current player - - mes "[Chief Mahnsoo]"; - mes "Congratulations! You are now one of us, A PROUD MERCHANT!!"; - emotion e_no1; - next; - mes "[Chief Mahnsoo]"; - mes "I am very pleased that you decided to join the Merchant Guild and I hope you will play an active role in Rune Midgards' economy! The best of luck to you!!"; - if((job_merchant_q2==7) || (job_merchant_q2==8)) goto L_Favor; - close; - - L_Favor: - next; - mes "[Chief Mahnsoo]"; - mes "(Oh, here is a little something for Delivering the Message for me. Thanks very much)"; - set Zeny,Zeny+100; - close; - - L_MemFee: - mes "[Chief Mahnsoo]"; - mes "Um... before I go on... there was the little issue of the Membership Fee if you recall. I will need the rest of it before I can proceed with your initiation."; - emotion e_hmm; - next; - menu "Pay the remaining 500 Zeny",sM_1a,"...(run away!)...",sM_1b; - - sM_1a: - if(Zeny < 500) goto sL_NotEnough; - set Zeny,Zeny-500; - set job_merchant_q,1; - - mes "[Chief Mahnsoo]"; - mes "Very good! Now I can go on. Now where was I?..... oh yes, I remember....."; - goto L_MakeMerc; - - sL_NotEnough: - mes "[Chief Mahnsoo]"; - mes "Eh em.... you seem to be a little short. Now that you've come this far, don't let a little fee impede your progress. Go forth and do something about it!"; - emotion e_swt; - close; - - sM_1b: - mes "[Chief Mahnsoo]"; - mes "WHAT THE??? Hey come back here! YOU STILL HAVE TO PAY THE FEE!!!!!"; - emotion e_swt2; - close; - -L_Failed: - set job_merchant_q2,0; - set job_merchant_q3,0; - - mes "I just finished reading Wharehouse Manager Kays' evalutation of your work......"; - next; - mes "[Chief Mahnsoo]"; - mes "What a shame, what a shame! HOW could you be so CARLESS??!! I'm sure Wharehouse Manager Kay has already given you an earfull so I will not go on with anymore critizism."; - emotion e_pif; - next; - mes "[Chief Mahnsoo]"; - mes "^ff0000"+strcharinfo(0) + "^000000, you have failed in the Merchant License Test! However...... if you are TRUELY interested in becoming a Merchant, and will work EXTREMELY HARD to do so...."; - next; - mes "[Chief Mahnsoo]"; - mes "... I will allow you to retake the test. What do you say?"; - next; - menu "Thank you very much for this opportunity!",M_Thanks,"Maybe some other time",M_NoThanks; - - M_Thanks: - set job_merchant_q2,0; - set job_merchant_q3,0; - goto L_Cont0; - - M_NoThanks: - mes "[Chief Mahnsoo]"; - mes "Remeber these words: In life, failure is NOT an option!!!"; - emotion e_gasp; - set job_merchant_q,0; - set job_merchant_q2,0; - set job_merchant_q3,0; - close; - -} - - -// -- Wharehouse Manager Kay -- -alberta_in.gat,28,29,2 script Merchant Guildsman 83,{ - if(BaseJob == Job_Novice && job_merchant_q3 > 0) goto L_Check; - - mes "[Wharehouse Manager Kay]"; - mes "Hey~ What brings you here?"; - next; - menu "I came here for the Merchant Test.",M_0,"I came here for a Part Time job.",M_1,"Nope,Nothing.",M_End; - - M_0: - mes "[Wharehouse Manager Kay]"; - if(BaseJob != Job_Novice) goto L_NotNov; - if(job_merchant_q==0) goto L_NotRdy; - mes "You're ^0000cc"+ strcharinfo(0) +"^000000, right? Ok I'll give you a product to deliver. First I'll need the destination"; - next; - menu "Prontera.",sM_0,"Geffen.",sM_1,"Morroc.",sM_2,"Byalan Island(Izlude).",sM_3; - - sM_0: - set @s_flag,1; - goto L_Cont0; - sM_1: - set @s_flag,2; - goto L_Cont0; - sM_2: - set @s_flag,3; - goto L_Cont0; - sM_3: - set @s_flag,4; - - L_Cont0: - mes "[Wharehouse Manager Kay]"; - mes "Now, I'll need the Serial Number of the product. Just type it in the box. If you want to Cancel, just type '0' in the box, alright?"; - next; - input @input; - if(@input ==0 ) goto sL_Cancel; - if((@input < 1000000) || (@input > 5000000)) goto sL_Error; - - mes "[Wharehouse Manager Kay]"; - if(@s_flag==1) mes "Destination is Prontera. The Serial Number is "+@input+" . ^ff0000Is this correct^000000?"; - if(@s_flag==2) mes "Destination is Geffen. Phew~ Really far from here~ A little unlucky there huh? The Serial Number is "+@input+" . ^ff0000Is this correct^000000?"; - if(@s_flag==3) mes "Destination is Morroc. Phew~ Really far from here~ A little unlucky there huh? The Serial Number is "+@input+" . ^ff0000Is this correct^000000?"; - if(@s_flag==4) mes "Destination is Byalan. The Serial Number is "+@input+" . ^ff0000Is this correct^000000?"; - next; - menu "Positive.",sM_Pos,"Negative.",sM_Neg; - - sM_Pos: - if(@s_flag==1 && @input==2485741 && job_merchant_q2 == 1) goto ssL_Prod1; - if(@s_flag==2 && @input==2989396 && job_merchant_q2 == 3) goto ssL_Prod1; - if(@s_flag==3 && @input==3012685 && job_merchant_q2 == 5) goto ssL_Prod1; - if(@s_flag==4 && @input==3318702 && job_merchant_q2 == 7) goto ssL_Prod1; - if(@s_flag==1 && @input==2328137 && job_merchant_q2 == 2) goto ssL_Prod2; - if(@s_flag==2 && @input==2191737 && job_merchant_q2 == 4) goto ssL_Prod2; - if(@s_flag==3 && @input==3487372 && job_merchant_q2 == 6) goto ssL_Prod2; - if(@s_flag==4 && @input==3543625 && job_merchant_q2 == 8) goto ssL_Prod2; - getitem 1083,1;//Items: Delivery_Box__, - goto L_Cont1; - - ssL_Prod1: - getitem 1081,1;//Items: Delivery_Box, - goto L_Cont1; - - ssL_Prod2: - getitem 1082,1;//Items: Delivery_Box_, - goto L_Cont1; - - sM_Neg: - close; - - sL_Cancel: - mes "[Wharehouse Manager Kay]"; - mes "Are you sure that you wanna cancel?"; - next; - menu "Oh yes.",m_yes,"No way.",m_no; - - m_yes: - mes "[Wharehouse Manager Kay]"; - mes "Do as you wish~I cancel~"; - close; - m_no: - next; - goto L_Cont0; - - sL_Error: - mes "[Wharehouse Manager Kay]"; - mes "Hey~ Hey~ That number is out of the valid Serial number range. A valid Serial number should be betwwen 1000000 and 5000000."; - next; - goto L_Cont0; - - - L_Cont1: - mes "[Wharehouse Manager Kay]"; - mes "Be very carefull with this product and make sure you do not loose it. It cannot be replaced. If you do loose it you will not be able to become a Merchant."; - next; - mes "[Wharehouse Manager Kay]"; - mes "After you've made the delivery be sure to get a Receipt. Good luck!"; - set job_merchant_q3, 1; - close; - - L_NotRdy: - mes "Speak with the chief about that"; - close; - - L_NotNov: - mes "I'm sorry but only novices are allowed to take the Merchant License Test."; - close; - - M_1: - mes "[Wharehouse Manager Kay]"; - mes "Part Time job? Nothing is available right now. We're currently in a budget crisis and can't afford to hire any new employees."; - close; - M_End: - mes "[Wharehouse Manager Kay]"; - mes "...? Huh..? Huh..? What..?"; - close; - -L_Check: - if( job_merchant_q3 == 4) goto L_Done; - mes "[Wharehouse Manager Kay]"; - if(job_merchant_q3 == 1) goto L_Back; - if(job_merchant_q3 == 5) goto L_Failed; - if((job_merchant_q3 == 2) && (countitem(1083) ==1)) goto L_WrongProd;//Items: Delivery_Box__, - - mes "I see your back ^0000cc"+ strcharinfo(0) +"^000000. I hope things went well. Lets see.... you were supposed to deliver a product to a...."; - next; - mes "[Wharehouse Manager Kay]"; - if((countitem(1073) == 1) || (countitem(1074) == 1)) goto L_0;//Items: Voucher, Voucher_, - if((countitem(1075) == 1) || (countitem(1076) == 1)) goto L_1;//Items: Voucher__, Voucher___, - if((countitem(1077) == 1) || (countitem(1078) == 1)) goto L_2;//Items: Voucher____, Voucher_____, - if((countitem(1079) == 1) || (countitem(1080) == 1)) goto L_3;//Items: Voucher______, Voucher_______, - goto L_LostRecpt; - - L_0: - mes "...Kafra employee in Prontera. And indeed the receipt veryifies that the delivery was successfully made."; - if(countitem(1073) == 1) delitem 1073,1;//Items: Voucher, - if(countitem(1074) == 1) delitem 1074,1;//Items: Voucher_, - next; - goto L_Done; - - L_1: - mes "...member of the Geffen Magic Academy. And indeed the receipt veryifies that the delivery was successfully made"; - if(countitem(1075) == 1) delitem 1075,1;//Items: Voucher__, - if(countitem(1076) == 1) delitem 1076,1;//Items: Voucher___, - next; - goto L_Done; - - L_2: - mes "...Dyermaker in Morroc. And indeed the receipt veryifies that the delivery was successfully made."; - if(countitem(1077) == 1) delitem 1077,1;//Items: Voucher____, - if(countitem(1078) == 1) delitem 1078,1;//Items: Voucher_____, - next; - goto L_Done; - - L_3: - mes "...Kafra employee in Byalan. And indeed the receipt veryifies that the delivery was successfully made."; - if(countitem(1079) == 1) delitem 1079,1;//Items: Voucher______, - if(countitem(1080) == 1) delitem 1080,1;//Items: Voucher_______, - next; - - L_Done: - mes "[Wharehouse Manager Kay]"; - mes "Great! Everything went perfectly! I will send my evaluation of your performance to 'Chief Mahnsoo' imiediately."; - mes "Go ahead and speak with Chief Mahnsoo so that he can finalize the process to make you a Merchant."; - emotion e_no1; - set job_merchant_q3,4; - close; - L_LostRecpt: - mes "Lets see here...... you say you delivered the correct Product to the correct person...... but you have no reciept....."; - next; - mes "[Wharehouse Manager Kay]"; - mes "YOU HAVE NO RECIEPT?????"; - emotion e_omg; - next; - mes "[Wharehouse Manager Kay]"; - mes "HOW the HECK am I gonna know that you delievered it then? This was an ABSOLUTE FAILURE!!"; - mes "Your evaluation is not going to look good. I suggest you find some good excuses by the time you speak with Chief Mahnsoo."; - emotion e_pif; - set job_merchant_q3,5; - close; - L_WrongProd: - mes "You delivered the WRONG PRODUCT??? DO YOU know how much TIME you've WASTED???? UCK! This was a total failure!"; - emotion e_an; - next; - mes "[Wharehouse Manager Kay]"; - mes "Your evaluation is not going to look good. I suggest you find some good excuses when you go to speak with Chief Mahnsoo."; - delitem 1083, 1;//Items: Delivery_Box__, - set job_merchant_q3,5; - close; - L_Failed: - mes "Go speak to the Chief about your failure........"; - close; - -L_Back: - if((countitem(1081) != 1) && (countitem(1082) != 1) && (countitem(1083) != 1)) goto L_LostProd;//Items: Delivery_Box, Delivery_Box_, Delivery_Box__, - mes "Huh? Back so soon? Don't tell me you ran into problems already...."; - emotion e_hmm; - next; - menu "Please Exchange the Product.",M_Exch,"Nope, never mind.",M_Nvmnd; - - M_Exch: - mes "[Wharehouse Manager Kay]"; - mes "Sigh... this is not a good way to start your test you know. Make sure you get the RIGHT Product this time! "; - emotion e_pif; - if(countitem(1081) ==1) delitem 1081,1;//Items: Delivery_Box, - if(countitem(1082) ==1) delitem 1082,1;//Items: Delivery_Box_, - if(countitem(1083) ==1) delitem 1083,1;//Items: Delivery_Box__, - set job_merchant_q3,0; - next; - goto M_0; - - M_Nvmnd: - close; - - L_LostProd: - mes "Huh? Oh~ How was the Trip?"; - next; - mes "[Wharehouse Manager Kay]"; - mes "WHAT???"; - emotion e_what; - next; - mes "[Wharehouse Manager Kay]"; - mes "Holy crap!! YOU LOST the product??!! What have you done, you moron!!!"; - emotion e_omg; - next; - mes "[Wharehouse Manager Kay]"; - mes "Your evaluation is not going to look good. I suggest you find some good excuses when you go to speak with Chief Mahnsoo."; - emotion e_ag; - set job_merchant_q3,5; - close; - -} - - - -// == Customers == -// -- Kafra(Byalan) -- -function script F_MercKafra { - - if (job_merchant_q3 == 3) goto L_3; - - mes "[Kafra]"; - if(job_merchant_q3 ==2) goto L_WrongProd; - mes "A delivery from the Merchant Guild?? Oh, Right! Yes! I almost forgot."; - next; - mes "[Kafra]"; - mes "Let's see, the serial number for the product should be......."; - next; - mes "[Kafra]"; - if((countitem(1081) ==0) && (countitem(1082) ==0) && (countitem(1083) ==0)) goto L_NoProd;//Items: Delivery_Box, Delivery_Box_, Delivery_Box__, - if((job_merchant_q2 !=7) && (job_merchant_q2 !=8)) goto L_WrongDest; - if(countitem(1083) == 1) goto L_WrongProd;//Items: Delivery_Box__, - - mes "Oh, here it is. Yes! This is the one we ordered. Thank you very much. Here is your receipt."; - next; - - set job_merchant_q3, 3; - if(countitem(1081) == 1) goto L_0;//Items: Delivery_Box, - if(countitem(1082) == 1) goto L_1;//Items: Delivery_Box_, - - L_0: - getitem 1079,1;//Items: Voucher______, - delitem 1081,1;//Items: Delivery_Box, - goto L_3; - - L_1: - getitem 1080,1;//Items: Voucher_______, - delitem 1082,1;//Items: Delivery_Box_, - goto L_3; - - L_3: - if(countitem(1072) == 1) goto L_Msg;//Items: Delivery_Message, - mes "[Kafra]"; - mes "Thanks so much for comming all this way to deliver the product to me. Take care now. By bye."; - emotion e_thx; - cutin "kafra_03",255; - close; - - L_Msg: - mes "[Kafra]"; - mes "Oh,My good Lord! Mr. Mansoo wrote me a Letter? Thank you, Thank you~"; - mes "I though he would send one, one of these days, but I've never expected it would be at a time like this....."; - emotion e_what; - next; - mes "[Kafra]"; - mes "I really appreciate what you've done for me. Here is a small gift to show you my thanks."; - emotion e_thx; - delitem 1072,1;//Items: Delivery_Message, - set @TEMP,rand(2); - if(@TEMP !=0) goto R1; - - R0: - - getitem 513,3;//Items: Banana, - cutin "kafra_03",255; - close; - R1: - getitem 512,3;//Items: Apple, - cutin "kafra_03",255; - close; - -L_NoProd: - mes ".... I thought we what we ordered was OVERSIZED and HEAVY.... but.... you seem to carry it on without any difficulty........."; - emotion e_what; - cutin "kafra_03",255; - close; - -L_WrongProd: - mes "......? Excuse me! I think you gave me the wrong item. Our order should have the serial number 3318702 or 3543625..."; - emotion e_swt; - set job_merchant_q3,2; - cutin "kafra_03",255; - close; - -L_WrongDest: - mes "......? Excuse me.... I think you have the wrong person.... our order should have the serial number 3318702 or 3543625..."; - emotion e_swt; - cutin "kafra_03",255; - close; -} - -// -- Kafra(Prontera) -- -prontera.gat,248,42,8 script Kafra#01 115,{ - cutin "kafra_03",2; - if(BaseJob == Job_Novice && job_merchant_q3>0) goto L_Start; -L_Other: - mes "[Kafra]"; - mes "Hello. I am a Kafra Service Agent. As you can see, the ^3355FFSwordsman Association^000000 has moved to Izlude."; - mes "I can warp you there for a small fee of 600 zeny however."; - next; - menu "Warp.",M_Warp, "Cancel.",M_End; - - M_Warp: - if(Zeny < 600) goto sL_NdZeny; - set Zeny, Zeny - 600; - set RESRVPTS, RESRVPTS + 37; - warp "izlude.gat",91,105; - cutin "kafra_03",255; - end; - - sL_NdZeny: - mes "[Kafra]"; - mes "I'm sorry but you do not have enough zeny."; - cutin "kafra_03",255; - close; - - M_Pass: - if(countitem(1084)<1) goto sL_NdPass;//Items: Kafra_Pass, - mes "[Kafra]"; - mes "You are now using a Kafra Pass."; - delitem 1084,1;//Items: Kafra_Pass, - cutin "kafra_03",255; - close; - - sL_NdPass: - mes "[Kafra]"; - mes "I'm sorry but you have no pass...."; - cutin "kafra_03",255; - close; - M_End: - mes "[Kafra]"; - mes "Thank you for using Kafra Corp. Services. We will be with you wherever you go."; - emotion e_thx; - cutin "kafra_03",255; - close; - - -L_Start: - if(job_merchant_q3 ==3) goto L_3; - mes "[Kafra]"; - if(job_merchant_q3 ==2) goto L_WrongProd; - - mes "Oh, you're from the Merchant Guild and you have a delivery for me?"; - mes "I really appreciate you comming all this way.........."; - next; - mes "[Kafra]"; - - if((countitem(1081) ==0) && (countitem(1082) ==0) && (countitem(1083) ==0)) goto L_NoProd;//Items: Delivery_Box, Delivery_Box_, Delivery_Box__, - if((job_merchant_q2 !=1) && (job_merchant_q2 !=2)) goto L_WrongDest; - if(countitem(1083) == 1) goto L_WrongProd;//Items: Delivery_Box__, - - mes "Yes! This is the Product we ordered. Thank you. Here, let me give you a Receipt."; - next; - - set job_merchant_q3,3; - if(countitem(1081) == 1) goto L_0;//Items: Delivery_Box, - if(countitem(1082) == 1) goto L_1;//Items: Delivery_Box_, - - L_0: - getitem 1073,1;//Items: Voucher, - delitem 1081,1;//Items: Delivery_Box, - goto L_3; - - L_1: - getitem 1074,1;//Items: Voucher_, - delitem 1082,1;//Items: Delivery_Box_, - goto L_3; - - L_3: - mes "[Kafra]"; - mes "Thank you again for the delivery."; - emotion e_thx; - cutin "kafra_03",255; - close; - -L_NoProd: - mes "Umm......... excuse me... but where is the Product your supposed to give me....?"; - emotion e_hmm; - cutin "kafra_03",255; - close; - -L_WrongProd: - mes "Oh, Dear... this isn't what I ordered. It should have a serial number of either ^ff00002485741 or 2328137^000000."; - mes "It looks like there was a mix up at the wharehouse and you got the wrong product. I'd appreciate it if you could sort this out."; - emotion e_swt; - set job_merchant_q3,2; - cutin "kafra_03",255; - close; - -L_WrongDest: - mes "Oh, Dear... this isn't what I ordered. You see here, it's addressed to someone else. It looks like this Product is supposed to go to someone else."; - emotion e_swt; - cutin "kafra_03",255; - close; -} - - -// == Other Npcs == -// -- Guild Staff -- -geffen_in.gat,155,122,4 script Guild Staff 47,{ - - if(BaseJob == Job_Novice && job_merchant_q3>0) goto L_Start; -L_Other: - mes "[Guild Staff]"; - mes "It should be arriving any time now...... it seems to be late.... Hmm..."; - close; - -L_Start: - if(job_merchant_q3 ==3) goto L_3; - mes "[Guild Staff]"; - if(job_merchant_q3 ==2) goto L_WrongProd; - - mes "Oh hi there. You're from the Merchant Guild you say? That means........."; - next; - mes "[Guild Staff]"; - mes "WOW! IT'S HERE! It's here!! They FINALLY sent the Box!...... "; - next; - mes "[Guild Staff]"; - mes "Oh excuse me, I'm so sorry. You must be very tired from having to travel in such hot weather. My thanks for your effort."; - next; - mes "[Guild Staff]"; - mes "Alright, let me just ckeck the Serial Number to make sure........."; - next; - mes "[Guild Staff]"; - if((countitem(1081) !=1) && (countitem(1082) !=1) && (countitem(1083) !=1)) goto L_NoProd;//Items: Delivery_Box, Delivery_Box_, Delivery_Box__, - if((job_merchant_q2 !=3) && (job_merchant_q2 !=4)) goto L_WrongDest; - if(countitem(1083) == 1) goto L_WrongProd;//Items: Delivery_Box__, - - mes "YES! This is it! Here, let me give you a Receipt."; - next; - set job_merchant_q3,3; - if(countitem(1081) == 1) goto L_0;//Items: Delivery_Box, - if(countitem(1082) == 1) goto L_1;//Items: Delivery_Box_, - - L_0: - getitem 1075,1;//Items: Voucher__, - delitem 1081,1;//Items: Delivery_Box, - goto L_3; - - L_1: - getitem 1076,1;//Items: Voucher___, - delitem 1082,1;//Items: Delivery_Box_, - goto L_3; - - L_3: - mes "[Guild Staff]"; - mes "Heheh~ Thank you, Bye Bye."; - emotion e_thx; - close; -L_NoProd: - mes "Huh? Where? Where is the Box?"; - emotion e_what; - close; - -L_WrongDest: - mes "Hey wait a Minute! This is not what we ordered! The Serial Number should either be 2989396 or 2191737."; - mes "It looks like this is addressed to someone else. I think you got the wrong delivery destination."; - emotion e_swt2; - close; - -L_WrongProd: - mes "Hey wait a Minute! This is not what we ordered! The Serial Number should either be 2989396 or 2191737."; - mes "I don't know how you could make this mistake but please correct it. I really need that Product."; - emotion e_swt2; - set job_merchant_q3,2; - close; -} - - -// -- Dyer's Student -- -morocc_in.gat,140,102,4 script Dyer's Student 86,{ - if(BaseJob == Job_Novice && job_merchant_q3>0) goto L_Start; - -L_Other: - mes "[Dyer's Student]"; - mes "Mr. JavaDullihan is one and Only the Best in Midgard continent."; - mes "Aaaand I am his Student!! How proude of I am!!!!"; - next; - mes "[Dyer's Student]"; - mes ".....That's what I am saying.."; - close; - -L_Start: - if(job_merchant_q3 ==3) goto L_3; - mes "[Dyer's Student]"; - if(job_merchant_q3 ==2) goto L_WrongProd; - - mes "You're from the Merchant Guild...? Ah, Yes! I've been expecting you."; - next; - mes "[Dyer's Student]"; - mes "Let me check the Serial Number of the Product just to make sure......."; - next; - mes "[Dyer's Student]"; - if((countitem(1081) !=1) && (countitem(1082) !=1) && (countitem(1083) !=1)) goto L_NoProd;//Items: Delivery_Box, Delivery_Box_, Delivery_Box__, - if((job_merchant_q2 !=5) && (job_merchant_q2 !=6)) goto L_WrongDest; - if(countitem(1083) == 1) goto L_WrongProd;//Items: Delivery_Box__, - - mes "Great! This is what we ordered. Here, let me give you a Receipt."; - set job_merchant_q3,3; - if(countitem(1081) == 1) goto L_0;//Items: Delivery_Box, - if(countitem(1082) == 1) goto L_1;//Items: Delivery_Box_, - - L_0: - getitem 1077,1;//Items: Voucher____, - delitem 1081,1;//Items: Delivery_Box, - goto L_3; - - L_1: - getitem 1078,1;//Items: Voucher_____, - delitem 1082,1;//Items: Delivery_Box_, - goto L_3; - - L_3: - mes "[Dyer's Student]"; - mes "Thank you, See you next time~"; - emotion e_thx; - close; - -L_NoProd: - mes "But where's the Product?"; - emotion e_hmm; - close; - -L_WrongProd: - mes "Um..... excuse me? I don't think this is what we ordered? The Serial Number should be either 3012685 or 3487372."; - emotion e_hmm; - next; - mes "[Dyer's Student]"; - mes "I see. There was a mix up at the wharehouse and you got the wrong product."; - next; - mes "[Dyer's Student]"; - mes "Well this sucks. Please come back with the correct Product."; - emotion e_pif; - set job_merchant_q3,2; - close; - -L_WrongDest: - mes "Um.... excuse me? I don't think this is what we ordered? The Serial Number should be either 3012685 or 3487372."; - mes "I think you have the wrong delivery destination. Maybe you should try someone else."; - emotion e_hmm; - close; - - -} +//===== eAthena Script ======================================= +//= Merchant Job Quest +//===== By: ================================================== +//= kobra_k88 +//===== Current Version: ===================================== +//= 1.6 +//===== Compatible With: ===================================== +//= eAthena 1.0 + +//===== Description: ========================================= +//= +//===== Additional Comments: ================================= +//= Fully working +//= v1.1 Added instant job change for High Novice [Lupus] +//= v1.3 Added Baby Class support [Lupus] +//= v1.4 Optimised and moved first checker to Jfunc1-1 [massdriller] +//= 1.5 Changed Prontera->Izlude teleport price to 600 [Lupus] +//= 1.5.1 Removed Duplicates [Silent] +//= 1.5.2 Now saves/restores all quest skills [Lupus] +//= 1.6 Merged back JFunc, CHANGED NUMBERS TO CONSTANTS [Lupus] +//============================================================ + + +// == Guild NPCs == +// -- Mahnsoo -- +alberta_in.gat,53,43,6 script Chief Mahnsoo 86,{ + callfunc "F_ToHigh",Job_Merchant_High,"Merchant High",Job_Whitesmith,"Chief Mahnsoo"; + mes "[Chief Mahnsoo]"; + if(BaseJob == Job_Novice && job_merchant_q3 == 4) goto L_MakeMerc; + if(BaseJob == Job_Novice && job_merchant_q3 == 3) goto L_GiveRecpt; + if(BaseJob == Job_Novice && job_merchant_q3 == 5) goto L_Failed; + if(BaseJob == Job_Novice && job_merchant_q2 > 0) goto L_Back; + + mes "What brings you here? Something on your mind?"; +M_Menu: + next; + menu "I want to be a Merchant.",M_0,"What exactly is a Merchant?",M_1,"Give me the Requirements.",M_2,"End.",M_End; + + M_0: + + if(BaseJob == Job_Merchant) { + mes "[Chief Mahnsoo]"; + mes "Huh? What did you say? You noodle head! Take a good look at yourself. Your ALREADY A MERCHANT! Good lord!"; + emotion e_what; + emotion e_gasp; + close; + } + if(BaseJob != Job_Novice) { + mes "[Chief Mahnsoo]"; + mes "We Merchants really don't like people who work during the day, and then go out to crazy bars at night. When it comes to money, for them it's 'easy come easy go."; + next; + mes "[Chief Mahnsoo]"; + mes "Well.. I talked a little too long, I guess... but since you already have an occupation, we don't need you."; + close; + } + if(JobLevel < 10) { + mes "[Chief Mahnsoo]"; + mes "I'm sorry but you have to have a Novice Job level of 9 with all 9 of the basic Skills."; + close; + } + mes "[Chief Mahnsoo]"; + mes "A Merchant you say? Well..."; + next; + mes "[Chief Mahnsoo]"; + mes "Alright. First fill out an application form and submit 1000 Zeny for the Memebership Fee."; + mes "If you don't have enough money right now, you can pay 500 Zeny first and then pay the rest later after you've passed the Merchant License Test."; + next; + mes "[Chief Mahnsoo]"; + mes "How does that sound? Are you still interested?"; + + next; + menu "Sure why not. Who needs college anyways.",sM_0a,"Maybe, later...",sM_0b; + + sM_0a: + mes "[Chief Mahnsoo]"; + mes "I'm glad to hear that. So how do you wish to pay the Membership Fee?"; + sM_Menu: + next; + menu "Pay 1000 Zeny Now.",m_0a,"2 payments of 500 Zeny.",m_0b,"Nevermind.",m_0End; + + m_0a: + mes "[Chief Mahnsoo]"; + if(Zeny < 1000) goto sl_Short1k; + set Zeny,Zeny-1000; + set job_merchant_q,1; + mes "Let's see... 1000 Zeny.... Good."; + goto L_Cont0; + + sl_Short1k: + mes "Looks like your a little short on zeny. Why not make a minimal payment of 500 Zeny first?"; + mes "You can worry about the rest later."; + emotion e_swt; + goto sM_Menu; + close; + + m_0b: + mes "[Chief Mahnsoo]"; + if(Zeny < 500) goto sl_Short500z; + set Zeny,Zeny-500; + set job_merchant_q,2; + mes "Let's See... 500 Zeny.... Good enough to start off... though I don't really think splitting paymenst is a good habbit for any Merchant."; + goto L_Cont0; + + sl_Short500z: + mes "Looks like your a little short on zeny. Come back when you have enough."; + emotion e_swt; + close; + + m_0End: + mes "[Chief Mahnsoo]"; + mes "You have no money now? Ok, No Problem. Take your time, Ok?"; + close; + + sM_0b: + mes "[Chief Mahnsoo]"; + mes "Feel free to return anytime when you are ready, Alright?."; + close; + + + L_Cont0: + next; + mes "[Chief Mahnsoo]"; + mes "Now that that's settled, let me talk to you about the Merchant License Test. You will be given a task to fullfill."; + mes "How well you perform the task will determine whether or not you will become a merchant."; + next; + mes "[Chief Mahnsoo]"; + mes "Oh, but before we get started I must say one thing....."; + next; + mes "[Chief Mahnsoo]"; + mes "There are some dumb and greedy people out there who do not know what it means to be a Merchant."; + mes "I sincerely hope you will not turn out to be like them. You won't... will you??..... (stares at you intently)"; + next; + mes "[Chief Mahnsoo]"; + mes "Anywho, here is your task. You will need to...."; + next; + mes "[Chief Mahnsoo]"; + + set @TEMP,rand(4); + if(@TEMP ==1) goto R_1; + if(@TEMP ==2) goto R_2; + if(@TEMP ==3) goto R_3; + + R_0: + mes "retrieve a ^ff0000product^000000 from the ^0000ffWharehouse^000000 and deliver it to the ^00aa00Kafra Worker in the Former Swordman Association in Prontera^000000."; + if(job_merchant_q2 == 1) goto sR_0a; + if(job_merchant_q2 == 2) goto sR_0b; + set @TEMP,rand(2); + if(@TEMP !=0) goto sR_0b; + + sR_0a: + mes "The ^0000ff'Serial Number'^000000 of the product is ^ff00002485741^000000."; + set job_merchant_q2, 1; + next; + goto L_Cont1; + sR_0b: + mes "The ^0000ff'Serial Number'^000000 of the product is ^ff00002328137^000000."; + set job_merchant_q2, 2; + next; + goto L_Cont1; + + R_1: + mes "retrieve a ^ff0000product^000000 from the ^0000ffWharehouse^000000 and deliver it to a member of the ^00aa00Mage Guild in Geffen^000000."; + next; + mes "[Chief Mahnsoo]"; + if(job_merchant_q2 == 3) goto sR_1a; + if(job_merchant_q2 == 4) goto sR_1b; + set @TEMP,rand(2); + if(@TEMP !=0) goto sR_1b; + + sR_1a: + mes "The ^0000ff'Serial Number'^000000 of the product is ^ff00002989396^000000."; + set job_merchant_q2, 3; + next; + goto L_Cont1; + sR_1b: + mes "The ^0000ff'Serial Number'^000000 of the product is ^ff00002191737^000000."; + set job_merchant_q2, 4; + next; + goto L_Cont1; + + R_2: + mes "retrieve a ^ff0000product^000000 from the ^0000ffWharehouse^000000 and deliver it to ^00aa00Java Dullihan, the Dyermaker in Morroc^000000."; + next; + mes "[Chief Mahnsoo]"; + if(job_merchant_q2 == 5) goto sR_2a; + if(job_merchant_q2 == 6) goto sR_2b; + set @TEMP,rand(2); + if(@TEMP !=0) goto sR_2b; + + sR_2a: + mes "The ^0000ff'Serial Number'^000000 of the product is ^ff00003012685^000000."; + set job_merchant_q2,5; + next; + goto L_Cont1; + sR_2b: + mes "The ^0000ff'Serial Number'^000000 of the product is ^ff00003487372^000000."; + set job_merchant_q2,6; + next; + goto L_Cont1; + + R_3: + mes "retrieve a ^ff0000product^000000 from the ^0000ffWharehouse^000000 and deliver it to the ^00aa00Kafra worker in Byalan island^000000."; + next; + mes "[Chief Mahnsoo]"; + if(job_merchant_q2 == 7) goto sR_3a; + if(job_merchant_q2 == 8) goto sR_3b; + set @TEMP,rand(2); + if(@TEMP !=0) goto sR_3b; + + sR_3a: + + mes "The ^0000ff'Serial Number'^000000 of the product is ^ff00003318702^000000."; + set job_merchant_q2,7; + goto M00R3; + sR_3b: + mes "The ^0000ff'Serial Number'^000000 of the product is ^ff00003543625^000000."; + set job_merchant_q2,8; + goto M00R3; + + M00R3: + next; + mes "[Chief Mahnsoo]"; + mes "Umm and... this is my personal request. Include this message in your delivery please~"; + if(countitem(1072)==0) getitem 1072,1;//Items: Delivery_Message, + next; + goto L_Cont1; + + + L_Cont1: + mes "[Chief Mahnsoo]"; + mes "Keep track of the ^ff0000'Serial Number'^000000 and the ^ff0000'Destination'^000000 of the product."; + mes "The Wharehouse Manager will need them to assist you in getting the right product."; + next; + mes "[Chief Mahnsoo]"; + mes "The Wharehouse itself is located to my right."; + next; + mes "[Chief Mahnsoo]"; + mes "After you've finished making the delivery come back here and give the Receipt to the Wharehouse Manager. Then come see me. Is that clear?"; + next; + mes "[Chief Mahnsoo]"; + mes "Alright, good luck!"; + close; + + M_1: + mes "[Chief Mahnsoo]"; + mes "Merchants are people who are in the business of buying and selling goods. We focus on finding rare items and selling them to those who desire or need them."; + mes "We are not particularly good at fighting nor do we have any usefull support skills. What we Merchants can do is buy Goods at lower prices as well as sell them at Highter prices."; + next; + mes "[Chief Mahnsoo]"; + mes "As far as what weapons go, we can use most of them. Bows, Rods, and Two-Handed Swords are the only types of weapons we can't use."; + mes "The skill Mannomite even lets us use zeny as a weapon."; + next; + mes "[Chief Mahnsoo]"; + mes "Whatever people may say about us, making money is important to a merchants lively hood."; + goto M_Menu; + close; + + M_2: + mes "[Chief Mahnsoo]"; + mes "There are three conditions to be qualified if you want to be a Merchant."; + next; + mes "[Chief Mahnsoo]"; + mes "First of all, You have to be at Novice job level 9 with fulfilled Basic Skills."; + next; + mes "[Chief Mahnsoo]"; + mes "Secondly, You have to pay 1000 Zeny for acquire a Memebrship. I believe a Merchant Candidate will be able to earn 1000 Zeny at ease. Oh yeah~"; + next; + mes "[Chief Mahnsoo]"; + mes "Third, There is a License Test to examine your basic Physical Strength and a Sense of Direction. You must Deliever the Goods to the Specific person in the Specific Town."; + goto M_Menu; + close; + + M_End: + close; + +L_GiveRecpt: + mes "Ah, " + strcharinfo(0) + ". You're back! I take it things went well? Tell you what, go give the Receipt to the Storekeeper and then hurry back here ok."; + close; + +L_Back: + mes "What are you doing back here?"; + emotion e_what; + next; + mes "[Chief Mahnsoo]"; + mes "You didn't leave yet?"; + next; + mes "[Chief Mahnsoo]"; + mes "You are supposed to be on your way by now. Don't tell me you already forgot the product number and destination?"; + next; + mes "[Chief Mahnsoo]"; + mes "Alright numskull, do you want me to repeat it to you one more time?"; + next; + menu "Yes please", M_Yes,"Never mind.",M_No; + + M_Yes: + mes "[Chief Mahnsoo]"; + if((job_merchant_q2==1) || (job_merchant_q2==2)) goto R_0; + if((job_merchant_q2==3) || (job_merchant_q2==4)) goto R_1; + if((job_merchant_q2==5) || (job_merchant_q2==6)) goto R_2; + if((job_merchant_q2==7) || (job_merchant_q2==8)) goto R_3; + close; + + M_No: + close; + +L_MakeMerc: + if(Sex == 1) mes "Mr. ^0000cc" + strcharinfo(0) + "^000000....."; + if(Sex == 0) mes "Ms. ^0000cc" + strcharinfo(0) + "^000000......."; + next; + mes "[Chief Mahnsoo]"; + if(SkillPoint > 0) mes "You need to use up all of your skill points before I can make you a Merchant."; + if(SkillPoint > 0) close; + + mes "WELL DONE! Well done indeed!! I just read Wharehouse Manager Kays' evaluation of your performance, and I was very impressed. I have great news for you!"; + next; + if(job_merchant_q == 2) goto L_MemFee; + + mes "[Chief Mahnsoo]"; + mes "Because of your HARD work, The Merchant Guild as decided to ACCEPT YOU as one of its members!"; + next; + callfunc "Job_Change",Job_Merchant; + callfunc "F_ClearJobVar"; // clears all job variables for the current player + + mes "[Chief Mahnsoo]"; + mes "Congratulations! You are now one of us, A PROUD MERCHANT!!"; + emotion e_no1; + next; + mes "[Chief Mahnsoo]"; + mes "I am very pleased that you decided to join the Merchant Guild and I hope you will play an active role in Rune Midgards' economy! The best of luck to you!!"; + if((job_merchant_q2==7) || (job_merchant_q2==8)) goto L_Favor; + close; + + L_Favor: + next; + mes "[Chief Mahnsoo]"; + mes "(Oh, here is a little something for Delivering the Message for me. Thanks very much)"; + set Zeny,Zeny+100; + close; + + L_MemFee: + mes "[Chief Mahnsoo]"; + mes "Um... before I go on... there was the little issue of the Membership Fee if you recall. I will need the rest of it before I can proceed with your initiation."; + emotion e_hmm; + next; + menu "Pay the remaining 500 Zeny",sM_1a,"...(run away!)...",sM_1b; + + sM_1a: + if(Zeny < 500) goto sL_NotEnough; + set Zeny,Zeny-500; + set job_merchant_q,1; + + mes "[Chief Mahnsoo]"; + mes "Very good! Now I can go on. Now where was I?..... oh yes, I remember....."; + goto L_MakeMerc; + + sL_NotEnough: + mes "[Chief Mahnsoo]"; + mes "Eh em.... you seem to be a little short. Now that you've come this far, don't let a little fee impede your progress. Go forth and do something about it!"; + emotion e_swt; + close; + + sM_1b: + mes "[Chief Mahnsoo]"; + mes "WHAT THE??? Hey come back here! YOU STILL HAVE TO PAY THE FEE!!!!!"; + emotion e_swt2; + close; + +L_Failed: + set job_merchant_q2,0; + set job_merchant_q3,0; + + mes "I just finished reading Wharehouse Manager Kays' evalutation of your work......"; + next; + mes "[Chief Mahnsoo]"; + mes "What a shame, what a shame! HOW could you be so CARLESS??!! I'm sure Wharehouse Manager Kay has already given you an earfull so I will not go on with anymore critizism."; + emotion e_pif; + next; + mes "[Chief Mahnsoo]"; + mes "^ff0000"+strcharinfo(0) + "^000000, you have failed in the Merchant License Test! However...... if you are TRUELY interested in becoming a Merchant, and will work EXTREMELY HARD to do so...."; + next; + mes "[Chief Mahnsoo]"; + mes "... I will allow you to retake the test. What do you say?"; + next; + menu "Thank you very much for this opportunity!",M_Thanks,"Maybe some other time",M_NoThanks; + + M_Thanks: + set job_merchant_q2,0; + set job_merchant_q3,0; + goto L_Cont0; + + M_NoThanks: + mes "[Chief Mahnsoo]"; + mes "Remeber these words: In life, failure is NOT an option!!!"; + emotion e_gasp; + set job_merchant_q,0; + set job_merchant_q2,0; + set job_merchant_q3,0; + close; + +} + + +// -- Wharehouse Manager Kay -- +alberta_in.gat,28,29,2 script Merchant Guildsman 83,{ + if(BaseJob == Job_Novice && job_merchant_q3 > 0) goto L_Check; + + mes "[Wharehouse Manager Kay]"; + mes "Hey~ What brings you here?"; + next; + menu "I came here for the Merchant Test.",M_0,"I came here for a Part Time job.",M_1,"Nope,Nothing.",M_End; + + M_0: + mes "[Wharehouse Manager Kay]"; + if(BaseJob != Job_Novice) goto L_NotNov; + if(job_merchant_q==0) goto L_NotRdy; + mes "You're ^0000cc"+ strcharinfo(0) +"^000000, right? Ok I'll give you a product to deliver. First I'll need the destination"; + next; + menu "Prontera.",sM_0,"Geffen.",sM_1,"Morroc.",sM_2,"Byalan Island(Izlude).",sM_3; + + sM_0: + set @s_flag,1; + goto L_Cont0; + sM_1: + set @s_flag,2; + goto L_Cont0; + sM_2: + set @s_flag,3; + goto L_Cont0; + sM_3: + set @s_flag,4; + + L_Cont0: + mes "[Wharehouse Manager Kay]"; + mes "Now, I'll need the Serial Number of the product. Just type it in the box. If you want to Cancel, just type '0' in the box, alright?"; + next; + input @input; + if(@input ==0 ) goto sL_Cancel; + if((@input < 1000000) || (@input > 5000000)) goto sL_Error; + + mes "[Wharehouse Manager Kay]"; + if(@s_flag==1) mes "Destination is Prontera. The Serial Number is "+@input+" . ^ff0000Is this correct^000000?"; + if(@s_flag==2) mes "Destination is Geffen. Phew~ Really far from here~ A little unlucky there huh? The Serial Number is "+@input+" . ^ff0000Is this correct^000000?"; + if(@s_flag==3) mes "Destination is Morroc. Phew~ Really far from here~ A little unlucky there huh? The Serial Number is "+@input+" . ^ff0000Is this correct^000000?"; + if(@s_flag==4) mes "Destination is Byalan. The Serial Number is "+@input+" . ^ff0000Is this correct^000000?"; + next; + menu "Positive.",sM_Pos,"Negative.",sM_Neg; + + sM_Pos: + if(@s_flag==1 && @input==2485741 && job_merchant_q2 == 1) goto ssL_Prod1; + if(@s_flag==2 && @input==2989396 && job_merchant_q2 == 3) goto ssL_Prod1; + if(@s_flag==3 && @input==3012685 && job_merchant_q2 == 5) goto ssL_Prod1; + if(@s_flag==4 && @input==3318702 && job_merchant_q2 == 7) goto ssL_Prod1; + if(@s_flag==1 && @input==2328137 && job_merchant_q2 == 2) goto ssL_Prod2; + if(@s_flag==2 && @input==2191737 && job_merchant_q2 == 4) goto ssL_Prod2; + if(@s_flag==3 && @input==3487372 && job_merchant_q2 == 6) goto ssL_Prod2; + if(@s_flag==4 && @input==3543625 && job_merchant_q2 == 8) goto ssL_Prod2; + getitem 1083,1;//Items: Delivery_Box__, + goto L_Cont1; + + ssL_Prod1: + getitem 1081,1;//Items: Delivery_Box, + goto L_Cont1; + + ssL_Prod2: + getitem 1082,1;//Items: Delivery_Box_, + goto L_Cont1; + + sM_Neg: + close; + + sL_Cancel: + mes "[Wharehouse Manager Kay]"; + mes "Are you sure that you wanna cancel?"; + next; + menu "Oh yes.",m_yes,"No way.",m_no; + + m_yes: + mes "[Wharehouse Manager Kay]"; + mes "Do as you wish~I cancel~"; + close; + m_no: + next; + goto L_Cont0; + + sL_Error: + mes "[Wharehouse Manager Kay]"; + mes "Hey~ Hey~ That number is out of the valid Serial number range. A valid Serial number should be betwwen 1000000 and 5000000."; + next; + goto L_Cont0; + + + L_Cont1: + mes "[Wharehouse Manager Kay]"; + mes "Be very carefull with this product and make sure you do not loose it. It cannot be replaced. If you do loose it you will not be able to become a Merchant."; + next; + mes "[Wharehouse Manager Kay]"; + mes "After you've made the delivery be sure to get a Receipt. Good luck!"; + set job_merchant_q3, 1; + close; + + L_NotRdy: + mes "Speak with the chief about that"; + close; + + L_NotNov: + mes "I'm sorry but only novices are allowed to take the Merchant License Test."; + close; + + M_1: + mes "[Wharehouse Manager Kay]"; + mes "Part Time job? Nothing is available right now. We're currently in a budget crisis and can't afford to hire any new employees."; + close; + M_End: + mes "[Wharehouse Manager Kay]"; + mes "...? Huh..? Huh..? What..?"; + close; + +L_Check: + if( job_merchant_q3 == 4) goto L_Done; + mes "[Wharehouse Manager Kay]"; + if(job_merchant_q3 == 1) goto L_Back; + if(job_merchant_q3 == 5) goto L_Failed; + if((job_merchant_q3 == 2) && (countitem(1083) ==1)) goto L_WrongProd;//Items: Delivery_Box__, + + mes "I see your back ^0000cc"+ strcharinfo(0) +"^000000. I hope things went well. Lets see.... you were supposed to deliver a product to a...."; + next; + mes "[Wharehouse Manager Kay]"; + if((countitem(1073) == 1) || (countitem(1074) == 1)) goto L_0;//Items: Voucher, Voucher_, + if((countitem(1075) == 1) || (countitem(1076) == 1)) goto L_1;//Items: Voucher__, Voucher___, + if((countitem(1077) == 1) || (countitem(1078) == 1)) goto L_2;//Items: Voucher____, Voucher_____, + if((countitem(1079) == 1) || (countitem(1080) == 1)) goto L_3;//Items: Voucher______, Voucher_______, + goto L_LostRecpt; + + L_0: + mes "...Kafra employee in Prontera. And indeed the receipt veryifies that the delivery was successfully made."; + if(countitem(1073) == 1) delitem 1073,1;//Items: Voucher, + if(countitem(1074) == 1) delitem 1074,1;//Items: Voucher_, + next; + goto L_Done; + + L_1: + mes "...member of the Geffen Magic Academy. And indeed the receipt veryifies that the delivery was successfully made"; + if(countitem(1075) == 1) delitem 1075,1;//Items: Voucher__, + if(countitem(1076) == 1) delitem 1076,1;//Items: Voucher___, + next; + goto L_Done; + + L_2: + mes "...Dyermaker in Morroc. And indeed the receipt veryifies that the delivery was successfully made."; + if(countitem(1077) == 1) delitem 1077,1;//Items: Voucher____, + if(countitem(1078) == 1) delitem 1078,1;//Items: Voucher_____, + next; + goto L_Done; + + L_3: + mes "...Kafra employee in Byalan. And indeed the receipt veryifies that the delivery was successfully made."; + if(countitem(1079) == 1) delitem 1079,1;//Items: Voucher______, + if(countitem(1080) == 1) delitem 1080,1;//Items: Voucher_______, + next; + + L_Done: + mes "[Wharehouse Manager Kay]"; + mes "Great! Everything went perfectly! I will send my evaluation of your performance to 'Chief Mahnsoo' imiediately."; + mes "Go ahead and speak with Chief Mahnsoo so that he can finalize the process to make you a Merchant."; + emotion e_no1; + set job_merchant_q3,4; + close; + L_LostRecpt: + mes "Lets see here...... you say you delivered the correct Product to the correct person...... but you have no reciept....."; + next; + mes "[Wharehouse Manager Kay]"; + mes "YOU HAVE NO RECIEPT?????"; + emotion e_omg; + next; + mes "[Wharehouse Manager Kay]"; + mes "HOW the HECK am I gonna know that you delievered it then? This was an ABSOLUTE FAILURE!!"; + mes "Your evaluation is not going to look good. I suggest you find some good excuses by the time you speak with Chief Mahnsoo."; + emotion e_pif; + set job_merchant_q3,5; + close; + L_WrongProd: + mes "You delivered the WRONG PRODUCT??? DO YOU know how much TIME you've WASTED???? UCK! This was a total failure!"; + emotion e_an; + next; + mes "[Wharehouse Manager Kay]"; + mes "Your evaluation is not going to look good. I suggest you find some good excuses when you go to speak with Chief Mahnsoo."; + delitem 1083, 1;//Items: Delivery_Box__, + set job_merchant_q3,5; + close; + L_Failed: + mes "Go speak to the Chief about your failure........"; + close; + +L_Back: + if((countitem(1081) != 1) && (countitem(1082) != 1) && (countitem(1083) != 1)) goto L_LostProd;//Items: Delivery_Box, Delivery_Box_, Delivery_Box__, + mes "Huh? Back so soon? Don't tell me you ran into problems already...."; + emotion e_hmm; + next; + menu "Please Exchange the Product.",M_Exch,"Nope, never mind.",M_Nvmnd; + + M_Exch: + mes "[Wharehouse Manager Kay]"; + mes "Sigh... this is not a good way to start your test you know. Make sure you get the RIGHT Product this time! "; + emotion e_pif; + if(countitem(1081) ==1) delitem 1081,1;//Items: Delivery_Box, + if(countitem(1082) ==1) delitem 1082,1;//Items: Delivery_Box_, + if(countitem(1083) ==1) delitem 1083,1;//Items: Delivery_Box__, + set job_merchant_q3,0; + next; + goto M_0; + + M_Nvmnd: + close; + + L_LostProd: + mes "Huh? Oh~ How was the Trip?"; + next; + mes "[Wharehouse Manager Kay]"; + mes "WHAT???"; + emotion e_what; + next; + mes "[Wharehouse Manager Kay]"; + mes "Holy crap!! YOU LOST the product??!! What have you done, you moron!!!"; + emotion e_omg; + next; + mes "[Wharehouse Manager Kay]"; + mes "Your evaluation is not going to look good. I suggest you find some good excuses when you go to speak with Chief Mahnsoo."; + emotion e_ag; + set job_merchant_q3,5; + close; + +} + + + +// == Customers == +// -- Kafra(Byalan) -- +function script F_MercKafra { + + if (job_merchant_q3 == 3) goto L_3; + + mes "[Kafra]"; + if(job_merchant_q3 ==2) goto L_WrongProd; + mes "A delivery from the Merchant Guild?? Oh, Right! Yes! I almost forgot."; + next; + mes "[Kafra]"; + mes "Let's see, the serial number for the product should be......."; + next; + mes "[Kafra]"; + if((countitem(1081) ==0) && (countitem(1082) ==0) && (countitem(1083) ==0)) goto L_NoProd;//Items: Delivery_Box, Delivery_Box_, Delivery_Box__, + if((job_merchant_q2 !=7) && (job_merchant_q2 !=8)) goto L_WrongDest; + if(countitem(1083) == 1) goto L_WrongProd;//Items: Delivery_Box__, + + mes "Oh, here it is. Yes! This is the one we ordered. Thank you very much. Here is your receipt."; + next; + + set job_merchant_q3, 3; + if(countitem(1081) == 1) goto L_0;//Items: Delivery_Box, + if(countitem(1082) == 1) goto L_1;//Items: Delivery_Box_, + + L_0: + getitem 1079,1;//Items: Voucher______, + delitem 1081,1;//Items: Delivery_Box, + goto L_3; + + L_1: + getitem 1080,1;//Items: Voucher_______, + delitem 1082,1;//Items: Delivery_Box_, + goto L_3; + + L_3: + if(countitem(1072) == 1) goto L_Msg;//Items: Delivery_Message, + mes "[Kafra]"; + mes "Thanks so much for comming all this way to deliver the product to me. Take care now. By bye."; + emotion e_thx; + cutin "kafra_03",255; + close; + + L_Msg: + mes "[Kafra]"; + mes "Oh,My good Lord! Mr. Mansoo wrote me a Letter? Thank you, Thank you~"; + mes "I though he would send one, one of these days, but I've never expected it would be at a time like this....."; + emotion e_what; + next; + mes "[Kafra]"; + mes "I really appreciate what you've done for me. Here is a small gift to show you my thanks."; + emotion e_thx; + delitem 1072,1;//Items: Delivery_Message, + set @TEMP,rand(2); + if(@TEMP !=0) goto R1; + + R0: + + getitem 513,3;//Items: Banana, + cutin "kafra_03",255; + close; + R1: + getitem 512,3;//Items: Apple, + cutin "kafra_03",255; + close; + +L_NoProd: + mes ".... I thought we what we ordered was OVERSIZED and HEAVY.... but.... you seem to carry it on without any difficulty........."; + emotion e_what; + cutin "kafra_03",255; + close; + +L_WrongProd: + mes "......? Excuse me! I think you gave me the wrong item. Our order should have the serial number 3318702 or 3543625..."; + emotion e_swt; + set job_merchant_q3,2; + cutin "kafra_03",255; + close; + +L_WrongDest: + mes "......? Excuse me.... I think you have the wrong person.... our order should have the serial number 3318702 or 3543625..."; + emotion e_swt; + cutin "kafra_03",255; + close; +} + +// -- Kafra(Prontera) -- +prontera.gat,248,42,8 script Kafra#01 115,{ + cutin "kafra_03",2; + if(BaseJob == Job_Novice && job_merchant_q3>0) goto L_Start; +L_Other: + mes "[Kafra]"; + mes "Hello. I am a Kafra Service Agent. As you can see, the ^3355FFSwordsman Association^000000 has moved to Izlude."; + mes "I can warp you there for a small fee of 600 zeny however."; + next; + menu "Warp.",M_Warp, "Cancel.",M_End; + + M_Warp: + if(Zeny < 600) goto sL_NdZeny; + set Zeny, Zeny - 600; + set RESRVPTS, RESRVPTS + 37; + warp "izlude.gat",91,105; + cutin "kafra_03",255; + end; + + sL_NdZeny: + mes "[Kafra]"; + mes "I'm sorry but you do not have enough zeny."; + cutin "kafra_03",255; + close; + + M_Pass: + if(countitem(1084)<1) goto sL_NdPass;//Items: Kafra_Pass, + mes "[Kafra]"; + mes "You are now using a Kafra Pass."; + delitem 1084,1;//Items: Kafra_Pass, + cutin "kafra_03",255; + close; + + sL_NdPass: + mes "[Kafra]"; + mes "I'm sorry but you have no pass...."; + cutin "kafra_03",255; + close; + M_End: + mes "[Kafra]"; + mes "Thank you for using Kafra Corp. Services. We will be with you wherever you go."; + emotion e_thx; + cutin "kafra_03",255; + close; + + +L_Start: + if(job_merchant_q3 ==3) goto L_3; + mes "[Kafra]"; + if(job_merchant_q3 ==2) goto L_WrongProd; + + mes "Oh, you're from the Merchant Guild and you have a delivery for me?"; + mes "I really appreciate you comming all this way.........."; + next; + mes "[Kafra]"; + + if((countitem(1081) ==0) && (countitem(1082) ==0) && (countitem(1083) ==0)) goto L_NoProd;//Items: Delivery_Box, Delivery_Box_, Delivery_Box__, + if((job_merchant_q2 !=1) && (job_merchant_q2 !=2)) goto L_WrongDest; + if(countitem(1083) == 1) goto L_WrongProd;//Items: Delivery_Box__, + + mes "Yes! This is the Product we ordered. Thank you. Here, let me give you a Receipt."; + next; + + set job_merchant_q3,3; + if(countitem(1081) == 1) goto L_0;//Items: Delivery_Box, + if(countitem(1082) == 1) goto L_1;//Items: Delivery_Box_, + + L_0: + getitem 1073,1;//Items: Voucher, + delitem 1081,1;//Items: Delivery_Box, + goto L_3; + + L_1: + getitem 1074,1;//Items: Voucher_, + delitem 1082,1;//Items: Delivery_Box_, + goto L_3; + + L_3: + mes "[Kafra]"; + mes "Thank you again for the delivery."; + emotion e_thx; + cutin "kafra_03",255; + close; + +L_NoProd: + mes "Umm......... excuse me... but where is the Product your supposed to give me....?"; + emotion e_hmm; + cutin "kafra_03",255; + close; + +L_WrongProd: + mes "Oh, Dear... this isn't what I ordered. It should have a serial number of either ^ff00002485741 or 2328137^000000."; + mes "It looks like there was a mix up at the wharehouse and you got the wrong product. I'd appreciate it if you could sort this out."; + emotion e_swt; + set job_merchant_q3,2; + cutin "kafra_03",255; + close; + +L_WrongDest: + mes "Oh, Dear... this isn't what I ordered. You see here, it's addressed to someone else. It looks like this Product is supposed to go to someone else."; + emotion e_swt; + cutin "kafra_03",255; + close; +} + + +// == Other Npcs == +// -- Guild Staff -- +geffen_in.gat,155,122,4 script Guild Staff 47,{ + + if(BaseJob == Job_Novice && job_merchant_q3>0) goto L_Start; +L_Other: + mes "[Guild Staff]"; + mes "It should be arriving any time now...... it seems to be late.... Hmm..."; + close; + +L_Start: + if(job_merchant_q3 ==3) goto L_3; + mes "[Guild Staff]"; + if(job_merchant_q3 ==2) goto L_WrongProd; + + mes "Oh hi there. You're from the Merchant Guild you say? That means........."; + next; + mes "[Guild Staff]"; + mes "WOW! IT'S HERE! It's here!! They FINALLY sent the Box!...... "; + next; + mes "[Guild Staff]"; + mes "Oh excuse me, I'm so sorry. You must be very tired from having to travel in such hot weather. My thanks for your effort."; + next; + mes "[Guild Staff]"; + mes "Alright, let me just ckeck the Serial Number to make sure........."; + next; + mes "[Guild Staff]"; + if((countitem(1081) !=1) && (countitem(1082) !=1) && (countitem(1083) !=1)) goto L_NoProd;//Items: Delivery_Box, Delivery_Box_, Delivery_Box__, + if((job_merchant_q2 !=3) && (job_merchant_q2 !=4)) goto L_WrongDest; + if(countitem(1083) == 1) goto L_WrongProd;//Items: Delivery_Box__, + + mes "YES! This is it! Here, let me give you a Receipt."; + next; + set job_merchant_q3,3; + if(countitem(1081) == 1) goto L_0;//Items: Delivery_Box, + if(countitem(1082) == 1) goto L_1;//Items: Delivery_Box_, + + L_0: + getitem 1075,1;//Items: Voucher__, + delitem 1081,1;//Items: Delivery_Box, + goto L_3; + + L_1: + getitem 1076,1;//Items: Voucher___, + delitem 1082,1;//Items: Delivery_Box_, + goto L_3; + + L_3: + mes "[Guild Staff]"; + mes "Heheh~ Thank you, Bye Bye."; + emotion e_thx; + close; +L_NoProd: + mes "Huh? Where? Where is the Box?"; + emotion e_what; + close; + +L_WrongDest: + mes "Hey wait a Minute! This is not what we ordered! The Serial Number should either be 2989396 or 2191737."; + mes "It looks like this is addressed to someone else. I think you got the wrong delivery destination."; + emotion e_swt2; + close; + +L_WrongProd: + mes "Hey wait a Minute! This is not what we ordered! The Serial Number should either be 2989396 or 2191737."; + mes "I don't know how you could make this mistake but please correct it. I really need that Product."; + emotion e_swt2; + set job_merchant_q3,2; + close; +} + + +// -- Dyer's Student -- +morocc_in.gat,140,102,4 script Dyer's Student 86,{ + if(BaseJob == Job_Novice && job_merchant_q3>0) goto L_Start; + +L_Other: + mes "[Dyer's Student]"; + mes "Mr. JavaDullihan is one and Only the Best in Midgard continent."; + mes "Aaaand I am his Student!! How proude of I am!!!!"; + next; + mes "[Dyer's Student]"; + mes ".....That's what I am saying.."; + close; + +L_Start: + if(job_merchant_q3 ==3) goto L_3; + mes "[Dyer's Student]"; + if(job_merchant_q3 ==2) goto L_WrongProd; + + mes "You're from the Merchant Guild...? Ah, Yes! I've been expecting you."; + next; + mes "[Dyer's Student]"; + mes "Let me check the Serial Number of the Product just to make sure......."; + next; + mes "[Dyer's Student]"; + if((countitem(1081) !=1) && (countitem(1082) !=1) && (countitem(1083) !=1)) goto L_NoProd;//Items: Delivery_Box, Delivery_Box_, Delivery_Box__, + if((job_merchant_q2 !=5) && (job_merchant_q2 !=6)) goto L_WrongDest; + if(countitem(1083) == 1) goto L_WrongProd;//Items: Delivery_Box__, + + mes "Great! This is what we ordered. Here, let me give you a Receipt."; + set job_merchant_q3,3; + if(countitem(1081) == 1) goto L_0;//Items: Delivery_Box, + if(countitem(1082) == 1) goto L_1;//Items: Delivery_Box_, + + L_0: + getitem 1077,1;//Items: Voucher____, + delitem 1081,1;//Items: Delivery_Box, + goto L_3; + + L_1: + getitem 1078,1;//Items: Voucher_____, + delitem 1082,1;//Items: Delivery_Box_, + goto L_3; + + L_3: + mes "[Dyer's Student]"; + mes "Thank you, See you next time~"; + emotion e_thx; + close; + +L_NoProd: + mes "But where's the Product?"; + emotion e_hmm; + close; + +L_WrongProd: + mes "Um..... excuse me? I don't think this is what we ordered? The Serial Number should be either 3012685 or 3487372."; + emotion e_hmm; + next; + mes "[Dyer's Student]"; + mes "I see. There was a mix up at the wharehouse and you got the wrong product."; + next; + mes "[Dyer's Student]"; + mes "Well this sucks. Please come back with the correct Product."; + emotion e_pif; + set job_merchant_q3,2; + close; + +L_WrongDest: + mes "Um.... excuse me? I don't think this is what we ordered? The Serial Number should be either 3012685 or 3487372."; + mes "I think you have the wrong delivery destination. Maybe you should try someone else."; + emotion e_hmm; + close; + + +} diff --git a/npc/jobs/1-1/swordman.txt b/npc/jobs/1-1/swordman.txt index 92de98d25..85ffaaf1c 100644 --- a/npc/jobs/1-1/swordman.txt +++ b/npc/jobs/1-1/swordman.txt @@ -1,800 +1,800 @@ -//===== eAthena Script ======================================= -//= Swordsman Job Quest -//===== By: ================================================== -//= kobra_k88 -//===== Current Version: ===================================== -//= 1.7.1 -//===== Compatible With: ===================================== -//= eAthena 1.0 + -//===== Description: ========================================= -//= -//===== Additional Comments: ================================= -//= Fully working. I have created a custom warp to get into the test room so disable -//= the one in your warp script or scripts. It is this warp: "izlude_in.gat",40,170. -//= 1.1 Added instant job change for High Novice [Lupus] -//= 1.3 Added Baby Class support [Lupus] -//= 1.4 Changed the timing system to initnpctimer, now you do get warnings about time -//= and are limited to 7min to complete the quest [Fredzilla] -//= 1.5 Optimised and moved first checker to Jfunc1-1 [massdriller] -//= 1.5.1 Fixed possible EXP abuse [Lupus] -//= 1.5.2 Now saves/restores all quest skills [Lupus] -//= 1.5.3 Removed Duplicates [Silent] -//= 1.6 Merged back JFunc, CHANGED NUMBERS TO CONSTANTS [Lupus] -//= 1.7 changed location from its clone to the original [Lupus] -//= 1.7.1 Fixed warp on timeout [KarLaeda] -//============================================================ - - -// == Npcs == -// -- Master Swordsman -- -izlude_in.gat,74,172,5 script Master Swordsman 119,{ - callfunc "F_ToHigh",Job_Swordman_High,"Swordman High",Job_Lord_Knight,"Master Swordsman"; - mes "[Master Swordsman]"; - if(BaseJob == Job_Novice && job_sword_q == 2) goto L_Done; - mes "Welcome to the Swordsman Association! So.. What business brings you to us?"; -L_Menu: - next; - menu "Make me a Swordsman!",M_0,"About being a Swordsman.",M_1,"The job requirements.",M_2,"Cancel.",M_End; - close; - - M_0: - mes "[Master Swordsman]"; - if(BaseJob == Job_Swordman) { - mes "Muhahaha! You must be kidding me! You're already a swordsman."; - emotion e_heh; - close; - } - if(BaseJob != Job_Novice) { - mes "Im sorry but you can not hold more than one job at a time and therefore I must refuse your request."; - next; - mes "[Master Swordsman]"; - mes "Try picking up a hobby to make use of your spare time. Muhahahahah!!"; - emotion e_heh; - close; - } - mes "So you wish to become a Swordsman aye? A very good choice!! Fill out this application form first."; - next; - mes "..(you fill out the form and hand it to him).."; - next; - mes "[Master Swordsman]"; - if(JobLevel < 10) { - mes "A hem...., you have yet to learn all of the 'Basic Skills' needed to become a Swordsman. Please check the requirements again."; - close; - } - - set job_sword_q,1; - savepoint "izlude_in.gat",65,165; - mes "Okay. Let me just review your information......"; - next; - mes "[Master Swordsman]"; - mes "Ah!! I see that you have met the necessary requirements....."; - next; - mes "[Master Swordsman]"; - mes "But there is one last thing you need to do to before I can make you an offical Swordsman."; - mes "You must prove your valour by taking the Izlude Swordsman Test!!!"; - next; - mes "[Master Swordsman]"; - mes "Are you willing to do so?"; - next; - menu "Yes.",sM_0,"No.",sM_1; - - sM_0: - mes "[Master Swordsman]"; - mes "Very good!!! The testing room is too my right."; - next; - mes "[Master Swordsman]"; - mes "Good luck young warrior!!!"; - close; - - sM_1: - mes "[Master Swordsman]"; - mes "Very well then. Your registration is complete. When you are ready to take the test, just enter the testing room to my right."; - close; - - M_1: - mes "[Master Swordsman]"; - mes "So you wish to know about the Swordsman profession... very good then! I will explain it to you."; - next; - mes "[Master Swordsman]"; - mes "The primary advantage of being a Swordsman is that you will become superior in pure strength and mele combat compared with those in the other professions."; - next; - mes "[Master Swordsman]"; - mes "There are 3 reasons why the swordsman is unparalled in hand to hand combat v.s. those of the other job types!"; - next; - mes "[Master Swordsman]"; - mes " - 1st, the swordsman has a skill that gives him/her an excellent hp regeration rate."; - mes " - 2nd, the swordsman is capable of using more kinds of weapons than those in the other job types."; - mes " - 3rd, Most of the swordsman's skills enhance and increase physical attacks making him/her an elite warrior."; - next; - mes "[Master Swordsman]"; - mes "A Simple but adequte explanation for a newbie like you."; - next; - mes "[Master Swordsman]"; - mes "Aside from this, in my personal opinion, being a 'Swordsman' is greatest job in all the land!"; - mes "Muhahahah!!!"; - emotion e_heh; - goto L_Menu; - - M_2: - mes "[Master Swordsman]"; - mes "So you wish to become a swordsman...."; - next; - if(BaseJob == Job_Novice) goto O_2a; - if(BaseJob == Job_Swordman) { - mes "[Master Swordsman]"; - mes "....but you're already a Swordsman...????"; - emotion e_hmm; - close; - } - mes "[Master Swordsman]"; - mes "But you already have another job.... it's too late for you to become a Swordsman."; - next; - mes "[Master Swordsman]"; - mes "Still you seek knowledge about the Swordsman proffession ay?... very well then...."; - next; - - O_2a: - mes "[Master Swordsman]"; - mes "First, You must learn all 9 Basic Skills. If you can't satisfy this condition, you won't be able to become anything."; - next; - mes "[Master Swordsman]"; - mes "Secondly you must pass the legendary Izlude Swordsman Test."; - next; - mes "[Master Swordsman]"; - mes "When you fullfill these 2 conditions, you can become an offical Swordsman."; - goto L_Menu; - - M_End: - mes "[Master Swordsman]"; - mes "Enjoy your youth before you lose it~~ Muhahahaha!!!!"; - emotion e_heh; - close; - -L_Done: - mes "Let me see here....so you've past the test aye??...."; - next; - if(SkillPoint > 0) goto L_Skillpt; - mes "[Master Swordsman]"; - mes "Congratulations! Now you are now fully qualified to become a Real Swordsman! I will transform you right away!!"; - next; - callfunc "Job_Change",Job_Swordman; - callfunc "F_ClearJobVar"; // clears all job variables for the current player - mes "[Master Swordsman]"; - mes "As you set forth on your journey I will expect you to represent the Swordsman Assosiation of Izlude with great honor and integrity."; - next; - mes "[Master Swordsman]"; - mes "Muhahahaha!!!"; - close; - - L_Skillpt: - mes "[Master Swordsman]"; - mes "Hmm... just a momement... it seems you still have skill points left over."; - mes "Please use them up so that I can make you a Swordsman."; - close; -} - -// == Warp == -// -- Warp to test room -- -izlude_in.gat,62,170,0 script w1039 45,1,1,{ - if(BaseJob == Job_Novice && job_sword_q > 0) warp "izlude_in.gat",40,170; - if(job_sword_q == 0) doevent "Swordsman#02::OnStart"; - end; -} - -// -- Swordsman -- -izlude_in.gat,65,171,5 script Swordsman#01 85,{ - doevent "Swordsman#02::OnStart"; - end; -} - -// -- Hidden Npc -- -izlude_in.gat,65,171,5 script Swordsman#02 -1,{ - -OnStart: - mes "[Swordsman]"; - if(BaseJob == Job_Swordman) goto L_Sword; - if(BaseJob == Job_Novice) goto L_Novice; - -L_Other: - mes "Who might you be?! Those who are not Novices are not permitted to go in! Please leave."; - emotion e_what; - close; -L_Sword: - mes "You're already a Swordsman!! You don't need to take this silly test!"; - emotion e_gasp; - close; - -L_Novice: - if(job_sword_q == 1) goto L_Start; - if(job_sword_q == 2) goto L_Done; - - mes "Halt! Do you want to take the Swordsman Test?"; - mes "If so, please fill out the swordsman application first."; - mes "Speak with the 'Master Swordsman' for more information."; - emotion e_gasp; - close; - - L_Start: - mes "Please enter the testing room when you are ready. Good luck!"; - close; - - L_Done: - mes "Speak with the Master Swordsman so that he can make you a Swordsman."; - close; -} - -// -- Test Guide -- -izlude_in.gat,30,175,4 script Test Guide 92,{ - mes "[Test Guide]"; - mes "I will tell you about the legendary Izlude Swordsman Test! Listen VERY CAREFULLY for I won't repeat this again!"; - next; - mes "[Test Guide]"; - mes "The purpose of this test is to decide wheather or not you qualify to become a Swordsman."; - mes "As you know, a Swordsman needs superior physical Strength as well as an iron will!"; - mes "If you possess neither of these attributes you will surely fail this grueling test."; - next; - mes "[Test Guide]"; - mes "The objective of the test is very simple!"; - next; - mes "[Test Guide]"; - mes "You need to make through an obsticale course within ^FF00007 minutes^000000 in order to pass."; - next; - mes "[Test Guide]"; - mes "The obsticale course is made up of 3 parts and is littered with booby-traps so be carefull!"; - mes "Some traps will reduce your HP while others will warp you to an random underground cave causing you to start over."; - next; - mes "[Test Guide]"; - mes "If you `Surrender' or if you excede the 'time limit', you will be fail the test."; - next; - mes "[Test Guide]"; - mes "That is everything you need to know in order to take the test."; - mes "May God bless you."; - close; -} - - -// -- Test Hall Staff 1 -- -izlude_in.gat,30,163,8 script Test Hall Staff 105,{ - mes "[Test Hall Staff]"; - if(SWTEST == 1) goto L_Option2; - if(SWTEST >= 2) goto L_Option3; - set SWTEST, 0; - - mes " So you want to take the test huh? You look confident.. that's good. Stay relaxed and do your best. This is not a difficult test."; - next; - mes "[Test Hall Staff]"; - mes "Are you ready?"; - next; - menu "Let me at it!!",-,"Ah..maybe later..",M_no; - - M_yes: - set SWTEST, SWTEST + 1; - savepoint "izlude_in.gat",39,170; - stopnpctimer; - initnpctimer "TimerSwrdmn"; - warp "job_sword1.gat",10,245; - end; - - M_no: - mes "[Test Hall Staff]"; - mes "Check back with me when you are ready."; - close; - -L_Option2: - mes "Taking the test over?.... Keep your head up. I like those who never back down from a challange! Now take this and cheer up!"; - getitem 512,3;//Items: Apple, - next; - goto M_yes; - end; -L_Option3: - mes "Don't give up! I know you will pass this time!"; - mes "(you catch him whispering '...loooooseerrr...')"; - getitem 512,5;//Items: Apple, - next; - goto M_yes; - end; -} -job_sword1.gat,1,1,0 script TimerSwrdmn -1,{ - OnTimer4000: - areaannounce "job_sword1.gat", 0, 0, 400, 400, "[Test Hall Staff]: Your 7 minutes starts now!",0; - end; - OnTimer184000: - areaannounce "job_sword1.gat", 0, 0, 400, 400, "[Test Hall Staff]: You have 4 minutes left!",0; - end; - OnTimer304000: - areaannounce "job_sword1.gat", 0, 0, 400, 400, "[Test Hall Staff]: You have 2 minutes left!",0; - end; - OnTimer364000: - areaannounce "job_sword1.gat", 0, 0, 400, 400, "[Test Hall Staff]: You have 1 minutes left!",0; - end; - OnTimer394000: - areaannounce "job_sword1.gat", 0, 0, 400, 400, "[Test Hall Staff]: You have 30 seconds left, hurry!",0; - end; - OnTimer424000: - areaannounce "job_sword1.gat", 0, 0, 400, 400, "[Test Hall Staff]: Your times up! You failed the test.",0; - end; - OnTimer428000: - stopnpctimer; - areawarp "job_sword1.gat",0,0,400,400,"izlude_in.gat",39,170; - end; -} - - -// -- Medic 1 -- -job_sword1.gat,230,245,2 script Medic#01 105,{ - mes "[Medic]"; - mes "This is the 1st check point! You're doing great!"; - percentheal 100, 100; - close; -} - -// -- Test Hall Staff 2 -- -job_sword1.gat,230,242,2 script Test Hall Staff#01 105,{ - mes "[Test Hall Staff]"; - mes "Do you surrender?"; - next; - menu "Yes.",M_0,"No.",M_1; - - M_0: - warp "izlude_in.gat",65,165; - close; - M_1: - mes "[Test Hall Staff]"; - mes "Bravo! Go for it again!"; - close; -} - -// -- Medic 2 -- -job_sword1.gat,230,207,2 script Medic#02 105,{ - mes "[Medic]"; - mes "This is the 2nd check point! Keep up the good work!"; - percentheal 100, 100; - close; -} - -// -- Test Hall Staff 3 -- -job_sword1.gat,230,204,2 script Test Hall Staff#02 105,{ - mes "[Test Hall Staff]"; - mes "Do you surrender?"; - next; - menu "Yes.",M_0,"No.",M_1; - - M_0: - warp "izlude_in.gat",65,165; - close; - M_1: - mes "[Test Hall Staff]"; - mes "Bravo! Go for it again!"; - close; -} - -// -- Mae (Medic 3) -- -job_sword1.gat,223,167,2 script Mae 92,{ - mes "[Mae]"; - mes "I sincerely congratulate you for passing the test!"; - mes "I've already sent your test results to the 'Master Swordsman'."; - mes "Please inquire with him about your results. Thank you."; - next; - stopnpctimer "TimerSwrdmn"; - percentheal 100, 100; - set job_sword_q,2; - set SWTEST,0; - warp "izlude_in.gat",66,173; - close; -} - - - - -// == Green Traps == -// reduce hp when stepped on - -// -- First Section -- -// - Left - -job_sword1.gat,22,172,1 script 1green_1::green 139,0,0,{ - heal (-4),0; - end; -} - -// -- Duplicates -- -job_sword1.gat,22,173,1 duplicate(green) 1green_2 139,0,0 -job_sword1.gat,23,172,1 duplicate(green) 1green_3 139,0,0 -job_sword1.gat,23,173,1 duplicate(green) 1green_4 139,0,0 -job_sword1.gat,34,172,1 duplicate(green) 1green_5 139,0,0 -job_sword1.gat,34,173,1 duplicate(green) 1green_6 139,0,0 -job_sword1.gat,35,172,1 duplicate(green) 1green_7 139,0,0 -job_sword1.gat,35,173,1 duplicate(green) 1green_8 139,0,0 -job_sword1.gat,66,170,1 duplicate(green) 1green_9 139,0,0 -job_sword1.gat,66,171,1 duplicate(green) 1green_10 139,0,0 -job_sword1.gat,67,170,1 duplicate(green) 1green_11 139,0,0 -job_sword1.gat,67,171,1 duplicate(green) 1green_12 139,0,0 -job_sword1.gat,70,170,1 duplicate(green) 1green_13 139,0,0 -job_sword1.gat,70,171,1 duplicate(green) 1green_14 139,0,0 -job_sword1.gat,71,170,1 duplicate(green) 1green_15 139,0,0 -job_sword1.gat,71,171,1 duplicate(green) 1green_16 139,0,0 - -// - Right - -job_sword1.gat,22,164,1 duplicate(green) 1green_17 139,0,0 -job_sword1.gat,22,165,1 duplicate(green) 1green_18 139,0,0 -job_sword1.gat,23,164,1 duplicate(green) 1green_19 139,0,0 -job_sword1.gat,23,165,1 duplicate(green) 1green_20 139,0,0 -job_sword1.gat,34,164,1 duplicate(green) 1green_21 139,0,0 -job_sword1.gat,34,165,1 duplicate(green) 1green_22 139,0,0 -job_sword1.gat,35,164,1 duplicate(green) 1green_23 139,0,0 -job_sword1.gat,35,165,1 duplicate(green) 1green_24 139,0,0 -job_sword1.gat,66,166,1 duplicate(green) 1green_25 139,0,0 -job_sword1.gat,66,167,1 duplicate(green) 1green_26 139,0,0 -job_sword1.gat,67,166,1 duplicate(green) 1green_27 139,0,0 -job_sword1.gat,67,167,1 duplicate(green) 1green_28 139,0,0 -job_sword1.gat,70,166,1 duplicate(green) 1green_29 139,0,0 -job_sword1.gat,70,167,1 duplicate(green) 1green_30 139,0,0 -job_sword1.gat,71,166,1 duplicate(green) 1green_31 139,0,0 -job_sword1.gat,71,167,1 duplicate(green) 1green_32 139,0,0 -// - Center - -job_sword1.gat,86,168,1 duplicate(green) 1green_33 139,0,0 -job_sword1.gat,86,169,1 duplicate(green) 1green_34 139,0,0 -job_sword1.gat,87,168,1 duplicate(green) 1green_35 139,0,0 -job_sword1.gat,87,169,1 duplicate(green) 1green_36 139,0,0 - -// -- Second Section -- -// - Left - -job_sword1.gat,83,171,1 duplicate(green) 2green_1 139,0,1 -job_sword1.gat,82,171,1 duplicate(green) 2green_2 139,0,1 -job_sword1.gat,90,171,1 duplicate(green) 2green_3 139,0,1 -job_sword1.gat,91,171,1 duplicate(green) 2green_4 139,0,1 -job_sword1.gat,84,173,1 duplicate(green) 2green_5 139,1,0 -job_sword1.gat,90,173,1 duplicate(green) 2green_6 139,1,0 -job_sword1.gat,83,166,1 duplicate(green) 2green_7 139,0,1 -job_sword1.gat,82,166,1 duplicate(green) 2green_8 139,0,1 -job_sword1.gat,90,166,1 duplicate(green) 2green_9 139,0,1 -job_sword1.gat,91,166,1 duplicate(green) 2green_10 139,0,1 -job_sword1.gat,84,164,1 duplicate(green) 2green_11 139,1,0 -job_sword1.gat,90,164,1 duplicate(green) 2green_12 139,1,0 -job_sword1.gat,102,168,1 duplicate(green) 2green_13 139,0,0 -job_sword1.gat,102,169,1 duplicate(green) 2green_14 139,0,0 -// - Right - -job_sword1.gat,102,172,1 duplicate(green) 2green_15 139,0,0 -job_sword1.gat,102,173,1 duplicate(green) 2green_16 139,0,0 -job_sword1.gat,103,172,1 duplicate(green) 2green_17 139,0,0 -job_sword1.gat,103,173,1 duplicate(green) 2green_18 139,0,0 -job_sword1.gat,106,172,1 duplicate(green) 2green_19 139,0,0 -job_sword1.gat,106,173,1 duplicate(green) 2green_20 139,0,0 -job_sword1.gat,107,172,1 duplicate(green) 2green_21 139,0,0 -job_sword1.gat,107,173,1 duplicate(green) 2green_22 139,0,0 -job_sword1.gat,110,172,1 duplicate(green) 2green_23 139,0,0 -job_sword1.gat,110,173,1 duplicate(green) 2green_24 139,0,0 -job_sword1.gat,111,172,1 duplicate(green) 2green_25 139,0,0 -job_sword1.gat,111,173,1 duplicate(green) 2green_26 139,0,0 -// - Center - -job_sword1.gat,102,164,1 duplicate(green) 2green_27 139,0,0 -job_sword1.gat,102,165,1 duplicate(green) 2green_28 139,0,0 -job_sword1.gat,103,164,1 duplicate(green) 2green_29 139,0,0 -job_sword1.gat,103,165,1 duplicate(green) 2green_30 139,0,0 -job_sword1.gat,106,164,1 duplicate(green) 2green_31 139,0,0 -job_sword1.gat,106,165,1 duplicate(green) 2green_32 139,0,0 -job_sword1.gat,107,164,1 duplicate(green) 2green_33 139,0,0 -job_sword1.gat,107,165,1 duplicate(green) 2green_34 139,0,0 -job_sword1.gat,110,164,1 duplicate(green) 2green_35 139,0,0 -job_sword1.gat,110,165,1 duplicate(green) 2green_36 139,0,0 -job_sword1.gat,111,164,1 duplicate(green) 2green_37 139,0,0 -job_sword1.gat,111,165,1 duplicate(green) 2green_38 139,0,0 - - -// -- Third Section -- -job_sword1.gat,121,172,1 duplicate(green) 3green_1 139,2,0 -job_sword1.gat,121,173,1 duplicate(green) 3green_2 139,2,0 -job_sword1.gat,121,164,1 duplicate(green) 3green_3 139,2,0 -job_sword1.gat,121,165,1 duplicate(green) 3green_4 139,2,0 -job_sword1.gat,121,168,1 duplicate(green) 3green_5 139,2,0 -job_sword1.gat,121,169,1 duplicate(green) 3green_6 139,2,0 - -// -- Fourth Section -- -job_sword1.gat,130,169,1 duplicate(green) 4green_1 139,0,4 -job_sword1.gat,131,169,1 duplicate(green) 4green_2 139,0,4 -job_sword1.gat,135,164,1 duplicate(green) 4green_3 139,5,0 -job_sword1.gat,136,165,1 duplicate(green) 4green_4 139,4,0 -job_sword1.gat,140,169,1 duplicate(green) 4green_5 139,0,3 -job_sword1.gat,141,168,1 duplicate(green) 4green_6 139,0,4 -job_sword1.gat,137,172,1 duplicate(green) 4green_7 139,2,0 -job_sword1.gat,138,173,1 duplicate(green) 4green_8 139,3,0 -job_sword1.gat,134,171,1 duplicate(green) 4green_9 139,0,2 -job_sword1.gat,135,168,1 duplicate(green) 4green_10 139,0,1 -job_sword1.gat,135,170,1 duplicate(green) 4green_11 139,1,0 - -// -- Fifth Section -- -job_sword1.gat,144,169,1 duplicate(green) 5green_1 139,0,4 -job_sword1.gat,145,169,1 duplicate(green) 5green_2 139,0,4 -job_sword1.gat,148,164,1 duplicate(green) 5green_3 139,4,0 -job_sword1.gat,149,165,1 duplicate(green) 5green_4 139,3,0 -job_sword1.gat,156,166,1 duplicate(green) 5green_5 139,0,2 -job_sword1.gat,157,166,1 duplicate(green) 5green_6 139,0,2 -job_sword1.gat,153,169,1 duplicate(green) 5green_7 139,4,0 -job_sword1.gat,152,168,1 duplicate(green) 5green_8 139,3,0 -job_sword1.gat,149,171,1 duplicate(green) 5green_9 139,0,1 -job_sword1.gat,148,171,1 duplicate(green) 5green_10 139,0,2 -job_sword1.gat,154,173,1 duplicate(green) 5green_11 139,2,0 -job_sword1.gat,154,172,1 duplicate(green) 5green_12 139,2,0 - -// -- Last Section -- -job_sword1.gat,164,172,1 duplicate(green) 6green_1 139,0,0 -job_sword1.gat,164,173,1 duplicate(green) 6green_2 139,0,0 -job_sword1.gat,165,172,1 duplicate(green) 6green_3 139,0,0 -job_sword1.gat,165,173,1 duplicate(green) 6green_4 139,0,0 -job_sword1.gat,172,172,1 duplicate(green) 6green_5 139,0,0 -job_sword1.gat,172,173,1 duplicate(green) 6green_6 139,0,0 -job_sword1.gat,173,172,1 duplicate(green) 6green_7 139,0,0 -job_sword1.gat,173,173,1 duplicate(green) 6green_8 139,0,0 - -job_sword1.gat,164,168,1 duplicate(green) 6green_9 139,0,0 -job_sword1.gat,164,169,1 duplicate(green) 6green_10 139,0,0 -job_sword1.gat,165,168,1 duplicate(green) 6green_11 139,0,0 -job_sword1.gat,165,169,1 duplicate(green) 6green_12 139,0,0 -job_sword1.gat,172,168,1 duplicate(green) 6green_13 139,0,0 -job_sword1.gat,172,169,1 duplicate(green) 6green_14 139,0,0 -job_sword1.gat,173,168,1 duplicate(green) 6green_15 139,0,0 -job_sword1.gat,173,169,1 duplicate(green) 6green_16 139,0,0 - -job_sword1.gat,164,164,1 duplicate(green) 6green_17 139,0,0 -job_sword1.gat,164,165,1 duplicate(green) 6green_18 139,0,0 -job_sword1.gat,165,164,1 duplicate(green) 6green_19 139,0,0 -job_sword1.gat,165,165,1 duplicate(green) 6green_20 139,0,0 -job_sword1.gat,172,164,1 duplicate(green) 6green_21 139,0,0 -job_sword1.gat,172,165,1 duplicate(green) 6green_22 139,0,0 -job_sword1.gat,173,164,1 duplicate(green) 6green_23 139,0,0 -job_sword1.gat,173,165,1 duplicate(green) 6green_24 139,0,0 - - - -// == Fall Warps == - -job_sword1.gat,16,251,4 script 1_blank_1a#1::1_blank 139,0,1,{ - set @TEMP,rand(5); - if (@TEMP==0) warp "job_sword1.gat",65,56; - if (@TEMP==1) warp "job_sword1.gat",29,26; - if (@TEMP==2) warp "job_sword1.gat",43,16; - if (@TEMP==3) warp "job_sword1.gat",23,112; - if (@TEMP==4) warp "job_sword1.gat",58,83; - end; -} - -// -- Duplicates -- -job_sword1.gat,19,251,4 duplicate(1_blank) 1_blank_1b 139,0,1 -job_sword1.gat,17,250,4 duplicate(1_blank) 1_blank_1c 139,1,0 -job_sword1.gat,17,251,4 duplicate(1_blank) 1_blank_1d 139,1,1 -job_sword1.gat,18,251,4 duplicate(1_blank) 1_blank_1e 139,1,1 -job_sword1.gat,17,251,4 duplicate(1_blank) 1_blank_1f 139,1,1 -job_sword1.gat,16,238,4 duplicate(1_blank) 1_blank_2a 139,0,1 -job_sword1.gat,19,238,4 duplicate(1_blank) 1_blank_2b 139,0,1 -job_sword1.gat,17,239,4 duplicate(1_blank) 1_blank_2c 139,0,1 -job_sword1.gat,28,246,4 duplicate(1_blank) 1_blank_3a 139,4,1 -job_sword1.gat,33,245,4 duplicate(1_blank) 1_blank_3b 139,0,2 -job_sword1.gat,29,242,4 duplicate(1_blank) 1_blank_3c 139,4,0 -job_sword1.gat,24,244,4 duplicate(1_blank) 1_blank_3d 139,0,2 -job_sword1.gat,38,251,4 duplicate(1_blank) 1_blank_4a 139,0,1 -job_sword1.gat,41,251,4 duplicate(1_blank) 1_blank_4b 139,0,1 -job_sword1.gat,39,250,4 duplicate(1_blank) 1_blank_4c 139,1,0 -job_sword1.gat,38,238,4 duplicate(1_blank) 1_blank_5a 139,0,1 -job_sword1.gat,41,238,4 duplicate(1_blank) 1_blank_5_b 139,0,1 -job_sword1.gat,39,239,4 duplicate(1_blank) 1_blank_5_c 139,1,0 -job_sword1.gat,54,251,4 duplicate(1_blank) 1_blank_6_a 139,0,1 -job_sword1.gat,71,251,4 duplicate(1_blank) 1_blank_6_b 139,0,1 -job_sword1.gat,62,250,4 duplicate(1_blank) 1_blank_6_c 139,9,0 -job_sword1.gat,62,247,4 duplicate(1_blank) 1_blank_7_a 139,8,0 -job_sword1.gat,71,244,4 duplicate(1_blank) 1_blank_7_b 139,0,2 -job_sword1.gat,63,242,4 duplicate(1_blank) 1_blank_7_c 139,8,0 -job_sword1.gat,54,244,4 duplicate(1_blank) 1_blank_7_d 139,0,2 -job_sword1.gat,54,238,4 duplicate(1_blank) 1_blank_8_a 139,0,1 -job_sword1.gat,71,238,4 duplicate(1_blank) 1_blank_8_b 139,0,1 -job_sword1.gat,62,239,4 duplicate(1_blank) 1_blank_8_c 139,9,0 -job_sword1.gat,102,247,4 duplicate(1_blank) 1_blank_9_a 139,2,0 -job_sword1.gat,105,245,4 duplicate(1_blank) 1_blank_9_b 139,0,2 -job_sword1.gat,103,242,4 duplicate(1_blank) 1_blank_9_c 139,2,0 -job_sword1.gat,100,244,4 duplicate(1_blank) 1_blank_9_d 139,0,2 -job_sword1.gat,156,249,4 duplicate(1_blank) 1_blank_10_a 139,14,0 -job_sword1.gat,156,248,4 duplicate(1_blank) 1_blank_10_b 139,14,0 -job_sword1.gat,170,249,4 duplicate(1_blank) 1_blank_10_c 139,1,0 -job_sword1.gat,170,248,4 duplicate(1_blank) 1_blank_10_d 139,1,0 -job_sword1.gat,156,245,4 duplicate(1_blank) 1_blank_11_a 139,14,0 -job_sword1.gat,156,244,4 duplicate(1_blank) 1_blank_11_b 139,14,0 -job_sword1.gat,170,245,4 duplicate(1_blank) 1_blank_11_c 139,1,0 -job_sword1.gat,170,244,4 duplicate(1_blank) 1_blank_11_d 139,1,0 -job_sword1.gat,156,241,4 duplicate(1_blank) 1_blank_12_a 139,14,0 -job_sword1.gat,156,240,4 duplicate(1_blank) 1_blank_12_b 139,14,0 -job_sword1.gat,170,241,4 duplicate(1_blank) 1_blank_12_c 139,1,0 -job_sword1.gat,170,240,4 duplicate(1_blank) 1_blank_12_d 139,1,0 -job_sword1.gat,180,251,4 duplicate(1_blank) 1_blank_13_a 139,0,1 -job_sword1.gat,183,251,4 duplicate(1_blank) 1_blank_13_b 139,0,1 -job_sword1.gat,181,250,4 duplicate(1_blank) 1_blank_13_c 139,1,0 -job_sword1.gat,180,238,4 duplicate(1_blank) 1_blank_14_a 139,0,1 -job_sword1.gat,183,238,4 duplicate(1_blank) 1_blank_14_b 139,0,1 -job_sword1.gat,181,239,4 duplicate(1_blank) 1_blank_14_c 139,1,0 - - -job_sword1.gat,56,212,4 script 2_blank_1_a::2_blank 139,40,0,{ - set @TEMP,rand(5); - if (@TEMP==0) warp "job_sword1.gat",162,120; - if (@TEMP==1) warp "job_sword1.gat",94,120; - if (@TEMP==2) warp "job_sword1.gat",94,85; - if (@TEMP==3) warp "job_sword1.gat",162,85; - if (@TEMP==4) warp "job_sword1.gat",130,47; - end; -} - -// -- Duplicates -- -job_sword1.gat,95,212,4 duplicate(2_blank) 2_blank_1_b 139,2,0 -job_sword1.gat,56,210,4 duplicate(2_blank) 2_blank_2_a 139,40,0 -job_sword1.gat,95,210,4 duplicate(2_blank) 2_blank_2_b 139,2,0 -job_sword1.gat,16,206,4 duplicate(2_blank) 2_blank_2_c 139,0,3 -job_sword1.gat,97,206,4 duplicate(2_blank) 2_blank_2_d 139,0,3 -job_sword1.gat,56,203,4 duplicate(2_blank) 2_blank_2_e 139,40,0 -job_sword1.gat,95,203,4 duplicate(2_blank) 2_blank_2_f 139,2,0 -job_sword1.gat,56,201,4 duplicate(2_blank) 2_blank_3_a 139,40,0 -job_sword1.gat,95,201,4 duplicate(2_blank) 2_blank_3_b 139,2,0 - -// - part 2 - -job_sword1.gat,113,212,4 duplicate(2_blank) 2_blank_4_a 139,14,0 -job_sword1.gat,125,212,4 duplicate(2_blank) 2_blank_4_b 139,2,0 -job_sword1.gat,113,210,4 duplicate(2_blank) 2_blank_5_a 139,14,0 -job_sword1.gat,125,210,4 duplicate(2_blank) 2_blank_5_b 139,2,0 -job_sword1.gat,100,206,4 duplicate(2_blank) 2_blank_5_c 139,0,3 -job_sword1.gat,127,206,4 duplicate(2_blank) 2_blank_5_d 139,0,3 -job_sword1.gat,113,203,4 duplicate(2_blank) 2_blank_5_e 139,14,0 -job_sword1.gat,125,210,4 duplicate(2_blank) 2_blank_5_f 139,2,0 -job_sword1.gat,113,201,4 duplicate(2_blank) 2_blank_6_a 139,14,0 -job_sword1.gat,113,201,4 duplicate(2_blank) 2_blank_6_b 139,2,0 - -// - part 3 - -job_sword1.gat,155,212,4 duplicate(2_blank) 2_blank_7_a 139,21,0 -job_sword1.gat,181,212,4 duplicate(2_blank) 2_blank_7_b 139,2,0 -job_sword1.gat,155,210,4 duplicate(2_blank) 2_blank_8_a 139,21,0 -job_sword1.gat,181,210,4 duplicate(2_blank) 2_blank_8_b 139,2,0 -job_sword1.gat,130,206,4 duplicate(2_blank) 2_blank_8_c 139,0,3 -job_sword1.gat,183,206,4 duplicate(2_blank) 2_blank_8_d 139,0,3 -job_sword1.gat,155,203,4 duplicate(2_blank) 2_blank_8_e 139,21,0 -job_sword1.gat,181,203,4 duplicate(2_blank) 2_blank_8_f 139,2,0 -job_sword1.gat,155,201,4 duplicate(2_blank) 2_blank_9_a 139,40,0 -job_sword1.gat,181,201,4 duplicate(2_blank) 2_blank_9_b 139,2,0 - -job_sword1.gat,17,174,4 script 3_blank_1_a::3_blank 139,2,0,{ - set @TEMP,rand(5); - if (@TEMP==0) warp "job_sword1.gat",195,15; - if (@TEMP==1) warp "job_sword1.gat",195,38; - if (@TEMP==2) warp "job_sword1.gat",231,30; - if (@TEMP==3) warp "job_sword1.gat",198,65; - if (@TEMP==4) warp "job_sword1.gat",196,116; - end; -} - -// -- Duplicates -- -job_sword1.gat,17,163,4 duplicate(3_blank) 3_blank_2_a 139,2,0 -job_sword1.gat,29,171,4 duplicate(3_blank) 3_blank_3_a 139,2,0 -job_sword1.gat,31,168,4 duplicate(3_blank) 3_blank_3_b 139,0,2 -job_sword1.gat,28,166,4 duplicate(3_blank) 3_blank_3_c 139,2,0 -job_sword1.gat,26,168,4 duplicate(3_blank) 3_blank_3_d 139,0,2 -job_sword1.gat,36,169,4 duplicate(3_blank) 3_blank_4_a 139,0,0 -job_sword1.gat,37,169,4 duplicate(3_blank) 3_blank_4_b 139,0,0 -job_sword1.gat,37,168,4 duplicate(3_blank) 3_blank_4_c 139,0,0 -job_sword1.gat,36,168,4 duplicate(3_blank) 3_blank_4_d 139,0,0 -job_sword1.gat,40,175,4 duplicate(3_blank) 3_blank_5_a 139,0,1 -job_sword1.gat,41,175,4 duplicate(3_blank) 3_blank_5_b 139,0,1 -job_sword1.gat,41,171,4 duplicate(3_blank) 3_blank_6_a 139,1,0 -job_sword1.gat,41,170,4 duplicate(3_blank) 3_blank_6_b 139,1,0 -job_sword1.gat,41,167,4 duplicate(3_blank) 3_blank_6_c 139,1,0 -job_sword1.gat,41,166,4 duplicate(3_blank) 3_blank_6_d 139,1,0 -job_sword1.gat,42,169,4 duplicate(3_blank) 3_blank_6_e 139,0,1 -job_sword1.gat,43,170,4 duplicate(3_blank) 3_blank_6_f 139,0,1 -job_sword1.gat,43,167,4 duplicate(3_blank) 3_blank_6_g 139,0,1 -job_sword1.gat,40,162,4 duplicate(3_blank) 3_blank_7_a 139,0,1 -job_sword1.gat,41,162,4 duplicate(3_blank) 3_blank_7_b 139,0,1 -job_sword1.gat,46,175,4 duplicate(3_blank) 3_blank_8_a 139,0,1 -job_sword1.gat,51,175,4 duplicate(3_blank) 3_blank_8_b 139,0,1 -job_sword1.gat,47,174,4 duplicate(3_blank) 3_blank_8_c 139,1,0 -job_sword1.gat,50,174,4 duplicate(3_blank) 3_blank_8_d 139,1,0 -job_sword1.gat,48,173,4 duplicate(3_blank) 3_blank_8_e 139,0,1 -job_sword1.gat,49,173,4 duplicate(3_blank) 3_blank_8_f 139,0,1 -job_sword1.gat,46,162,4 duplicate(3_blank) 3_blank_9_a 139,0,1 -job_sword1.gat,51,162,4 duplicate(3_blank) 3_blank_9_b 139,0,1 -job_sword1.gat,47,163,4 duplicate(3_blank) 3_blank_9_c 139,1,0 -job_sword1.gat,50,163,4 duplicate(3_blank) 3_blank_9_d 139,1,0 -job_sword1.gat,48,164,4 duplicate(3_blank) 3_blank_9_e 139,0,1 -job_sword1.gat,49,164,4 duplicate(3_blank) 3_blank_9_f 139,0,1 -job_sword1.gat,54,170,4 duplicate(3_blank) 3_blank_10_a 139,0,1 -job_sword1.gat,55,170,4 duplicate(3_blank) 3_blank_10_b 139,0,1 -job_sword1.gat,54,167,4 duplicate(3_blank) 3_blank_10_c 139,0,1 -job_sword1.gat,55,167,4 duplicate(3_blank) 3_blank_10_d 139,0,1 -job_sword1.gat,53,169,4 duplicate(3_blank) 3_blank_10_e 139,1,0 -job_sword1.gat,53,168,4 duplicate(3_blank) 3_blank_10_f 139,1,0 -job_sword1.gat,56,169,4 duplicate(3_blank) 3_blank_10_g 139,1,0 -job_sword1.gat,56,168,4 duplicate(3_blank) 3_blank_10_h 139,1,0 -job_sword1.gat,58,175,4 duplicate(3_blank) 3_blank_11_a 139,0,1 -job_sword1.gat,59,174,4 duplicate(3_blank) 3_blank_11_b 139,1,0 -job_sword1.gat,60,173,4 duplicate(3_blank) 3_blank_11_c 139,0,1 -job_sword1.gat,61,172,4 duplicate(3_blank) 3_blank_11_d 139,1,0 -job_sword1.gat,58,162,4 duplicate(3_blank) 3_blank_12_a 139,0,1 -job_sword1.gat,59,163,4 duplicate(3_blank) 3_blank_12_b 139,1,0 -job_sword1.gat,60,164,4 duplicate(3_blank) 3_blank_12_c 139,0,1 -job_sword1.gat,61,165,4 duplicate(3_blank) 3_blank_12_d 139,1,0 -job_sword1.gat,76,172,4 duplicate(3_blank) 3_blank_13_a 139,1,0 -job_sword1.gat,77,173,4 duplicate(3_blank) 3_blank_13_b 139,0,1 -job_sword1.gat,78,174,4 duplicate(3_blank) 3_blank_13_c 139,1,0 -job_sword1.gat,79,175,4 duplicate(3_blank) 3_blank_13_d 139,0,1 -job_sword1.gat,76,165,4 duplicate(3_blank) 3_blank_14_a 139,1,0 -job_sword1.gat,77,164,4 duplicate(3_blank) 3_blank_14_b 139,0,1 -job_sword1.gat,78,163,4 duplicate(3_blank) 3_blank_14_c 139,1,0 -job_sword1.gat,79,162,4 duplicate(3_blank) 3_blank_14_d 139,0,1 -job_sword1.gat,94,175,4 duplicate(3_blank) 3_blank_15_a 139,0,1 -job_sword1.gat,95,174,4 duplicate(3_blank) 3_blank_15_b 139,1,0 -job_sword1.gat,98,174,4 duplicate(3_blank) 3_blank_15_c 139,1,0 -job_sword1.gat,99,175,4 duplicate(3_blank) 3_blank_16_d 139,0,1 -job_sword1.gat,96,169,4 duplicate(3_blank) 3_blank_17_a 139,0,0 -job_sword1.gat,97,169,4 duplicate(3_blank) 3_blank_17_b 139,0,0 -job_sword1.gat,97,168,4 duplicate(3_blank) 3_blank_17_c 139,0,0 -job_sword1.gat,96,168,4 duplicate(3_blank) 3_blank_17_d 139,0,0 -job_sword1.gat,94,162,4 duplicate(3_blank) 3_blank_18_a 139,0,1 -job_sword1.gat,95,163,4 duplicate(3_blank) 3_blank_18_b 139,1,0 -job_sword1.gat,98,163,4 duplicate(3_blank) 3_blank_18_c 139,1,0 -job_sword1.gat,99,162,4 duplicate(3_blank) 3_blank_18_d 139,0,1 -job_sword1.gat,114,175,4 duplicate(3_blank) 3_blank_19_a 139,0,1 -job_sword1.gat,115,175,4 duplicate(3_blank) 3_blank_19_b 139,0,1 -job_sword1.gat,114,162,4 duplicate(3_blank) 3_blank_20_a 139,0,1 -job_sword1.gat,115,162,4 duplicate(3_blank) 3_blank_20_b 139,0,1 -job_sword1.gat,126,175,4 duplicate(3_blank) 3_blank_21_a 139,0,1 -job_sword1.gat,127,175,4 duplicate(3_blank) 3_blank_21_b 139,0,1 -job_sword1.gat,126,162,4 duplicate(3_blank) 3_blank_23_a 139,0,1 -job_sword1.gat,127,162,4 duplicate(3_blank) 3_blank_23_b 139,0,1 -job_sword1.gat,160,174,4 duplicate(3_blank) 3_blank_24_a 139,0,2 -job_sword1.gat,161,174,4 duplicate(3_blank) 3_blank_24_b 139,0,2 -job_sword1.gat,160,163,4 duplicate(3_blank) 3_blank_25_a 139,0,2 -job_sword1.gat,161,163,4 duplicate(3_blank) 3_blank_25_b 139,0,2 -job_sword1.gat,168,175,4 duplicate(3_blank) 3_blank_26_a 139,0,2 -job_sword1.gat,169,175,4 duplicate(3_blank) 3_blank_26_b 139,0,2 -job_sword1.gat,168,162,4 duplicate(3_blank) 3_blank_27_a 139,0,2 -job_sword1.gat,169,162,4 duplicate(3_blank) 3_blank_27_b 139,0,2 -job_sword1.gat,176,174,4 duplicate(3_blank) 3_blank_28_a 139,0,2 -job_sword1.gat,177,174,4 duplicate(3_blank) 3_blank_28_b 139,0,2 -job_sword1.gat,178,173,4 duplicate(3_blank) 3_blank_28_c 139,1,0 -job_sword1.gat,178,172,4 duplicate(3_blank) 3_blank_28_d 139,1,0 -job_sword1.gat,181,174,4 duplicate(3_blank) 3_blank_28_e 139,2,0 -job_sword1.gat,179,169,4 duplicate(3_blank) 3_blank_29_a 139,3,0 -job_sword1.gat,179,168,4 duplicate(3_blank) 3_blank_29_b 139,3,0 -job_sword1.gat,182,169,4 duplicate(3_blank) 3_blank_29_c 139,0,2 -job_sword1.gat,183,169,4 duplicate(3_blank) 3_blank_29_d 139,0,2 -job_sword1.gat,181,167,4 duplicate(3_blank) 3_blank_29_e 139,1,0 -job_sword1.gat,181,166,4 duplicate(3_blank) 3_blank_29_f 139,1,0 -job_sword1.gat,183,167,4 duplicate(3_blank) 3_blank_29_g 139,0,1 -job_sword1.gat,176,163,4 duplicate(3_blank) 3_blank_30_a 139,0,2 -job_sword1.gat,177,163,4 duplicate(3_blank) 3_blank_30_b 139,0,2 -job_sword1.gat,181,163,4 duplicate(3_blank) 3_blank_30_c 139,2,0 - -// == Monsters == -//Spawn is included in this file so make shure its not elsewhere to! -job_sword1.gat,35,78,0,0 monster Fabre 1184,4,0,0,0 -job_sword1.gat,50,108,0,0 monster Fabre 1184,2,0,0,0 -job_sword1.gat,61,28,0,0 monster Fabre 1184,4,0,0,0 -job_sword1.gat,61,92,0,0 monster Fabre 1184,2,0,0,0 -// -job_sword1.gat,110,112,0,0 monster Fabre 1184,3,0,0,0 -job_sword1.gat,161,94,0,0 monster Fabre 1184,2,0,0,0 -job_sword1.gat,130,76,0,0 monster Fabre 1184,2,0,0,0 -job_sword1.gat,103,58,0,0 monster Fabre 1184,2,0,0,0 -job_sword1.gat,130,24,0,0 monster Fabre 1184,3,0,0,0 -// -job_sword1.gat,201,36,0,0 monster Fabre 1184,2,0,0,0 -job_sword1.gat,201,16,0,0 monster Fabre 1184,2,0,0,0 -job_sword1.gat,239,44,0,0 monster Fabre 1184,2,0,0,0 -job_sword1.gat,239,76,0,0 monster Fabre 1184,2,0,0,0 -job_sword1.gat,231,101,0,0 monster Fabre 1184,2,0,0,0 -job_sword1.gat,234,117,0,0 monster Fabre 1184,2,0,0,0 -job_sword1.gat,198,91,0,0 monster Fabre 1184,2,0,0,0 -job_sword1.gat,200,63,0,0 monster Fabre 1184,2,0,0,0 - -//============================================================================== -// mapflag -//============================================================================== -job_sword1.gat mapflag nomemo -job_sword1.gat mapflag noteleport -job_sword1.gat mapflag nosave SavePoint -job_sword1.gat mapflag nopenalty -job_sword1.gat mapflag nobranch -job_sword1.gat mapflag noexp -job_sword1.gat mapflag noloot +//===== eAthena Script ======================================= +//= Swordsman Job Quest +//===== By: ================================================== +//= kobra_k88 +//===== Current Version: ===================================== +//= 1.7.1 +//===== Compatible With: ===================================== +//= eAthena 1.0 + +//===== Description: ========================================= +//= +//===== Additional Comments: ================================= +//= Fully working. I have created a custom warp to get into the test room so disable +//= the one in your warp script or scripts. It is this warp: "izlude_in.gat",40,170. +//= 1.1 Added instant job change for High Novice [Lupus] +//= 1.3 Added Baby Class support [Lupus] +//= 1.4 Changed the timing system to initnpctimer, now you do get warnings about time +//= and are limited to 7min to complete the quest [Fredzilla] +//= 1.5 Optimised and moved first checker to Jfunc1-1 [massdriller] +//= 1.5.1 Fixed possible EXP abuse [Lupus] +//= 1.5.2 Now saves/restores all quest skills [Lupus] +//= 1.5.3 Removed Duplicates [Silent] +//= 1.6 Merged back JFunc, CHANGED NUMBERS TO CONSTANTS [Lupus] +//= 1.7 changed location from its clone to the original [Lupus] +//= 1.7.1 Fixed warp on timeout [KarLaeda] +//============================================================ + + +// == Npcs == +// -- Master Swordsman -- +izlude_in.gat,74,172,5 script Master Swordsman 119,{ + callfunc "F_ToHigh",Job_Swordman_High,"Swordman High",Job_Lord_Knight,"Master Swordsman"; + mes "[Master Swordsman]"; + if(BaseJob == Job_Novice && job_sword_q == 2) goto L_Done; + mes "Welcome to the Swordsman Association! So.. What business brings you to us?"; +L_Menu: + next; + menu "Make me a Swordsman!",M_0,"About being a Swordsman.",M_1,"The job requirements.",M_2,"Cancel.",M_End; + close; + + M_0: + mes "[Master Swordsman]"; + if(BaseJob == Job_Swordman) { + mes "Muhahaha! You must be kidding me! You're already a swordsman."; + emotion e_heh; + close; + } + if(BaseJob != Job_Novice) { + mes "Im sorry but you can not hold more than one job at a time and therefore I must refuse your request."; + next; + mes "[Master Swordsman]"; + mes "Try picking up a hobby to make use of your spare time. Muhahahahah!!"; + emotion e_heh; + close; + } + mes "So you wish to become a Swordsman aye? A very good choice!! Fill out this application form first."; + next; + mes "..(you fill out the form and hand it to him).."; + next; + mes "[Master Swordsman]"; + if(JobLevel < 10) { + mes "A hem...., you have yet to learn all of the 'Basic Skills' needed to become a Swordsman. Please check the requirements again."; + close; + } + + set job_sword_q,1; + savepoint "izlude_in.gat",65,165; + mes "Okay. Let me just review your information......"; + next; + mes "[Master Swordsman]"; + mes "Ah!! I see that you have met the necessary requirements....."; + next; + mes "[Master Swordsman]"; + mes "But there is one last thing you need to do to before I can make you an offical Swordsman."; + mes "You must prove your valour by taking the Izlude Swordsman Test!!!"; + next; + mes "[Master Swordsman]"; + mes "Are you willing to do so?"; + next; + menu "Yes.",sM_0,"No.",sM_1; + + sM_0: + mes "[Master Swordsman]"; + mes "Very good!!! The testing room is too my right."; + next; + mes "[Master Swordsman]"; + mes "Good luck young warrior!!!"; + close; + + sM_1: + mes "[Master Swordsman]"; + mes "Very well then. Your registration is complete. When you are ready to take the test, just enter the testing room to my right."; + close; + + M_1: + mes "[Master Swordsman]"; + mes "So you wish to know about the Swordsman profession... very good then! I will explain it to you."; + next; + mes "[Master Swordsman]"; + mes "The primary advantage of being a Swordsman is that you will become superior in pure strength and mele combat compared with those in the other professions."; + next; + mes "[Master Swordsman]"; + mes "There are 3 reasons why the swordsman is unparalled in hand to hand combat v.s. those of the other job types!"; + next; + mes "[Master Swordsman]"; + mes " - 1st, the swordsman has a skill that gives him/her an excellent hp regeration rate."; + mes " - 2nd, the swordsman is capable of using more kinds of weapons than those in the other job types."; + mes " - 3rd, Most of the swordsman's skills enhance and increase physical attacks making him/her an elite warrior."; + next; + mes "[Master Swordsman]"; + mes "A Simple but adequte explanation for a newbie like you."; + next; + mes "[Master Swordsman]"; + mes "Aside from this, in my personal opinion, being a 'Swordsman' is greatest job in all the land!"; + mes "Muhahahah!!!"; + emotion e_heh; + goto L_Menu; + + M_2: + mes "[Master Swordsman]"; + mes "So you wish to become a swordsman...."; + next; + if(BaseJob == Job_Novice) goto O_2a; + if(BaseJob == Job_Swordman) { + mes "[Master Swordsman]"; + mes "....but you're already a Swordsman...????"; + emotion e_hmm; + close; + } + mes "[Master Swordsman]"; + mes "But you already have another job.... it's too late for you to become a Swordsman."; + next; + mes "[Master Swordsman]"; + mes "Still you seek knowledge about the Swordsman proffession ay?... very well then...."; + next; + + O_2a: + mes "[Master Swordsman]"; + mes "First, You must learn all 9 Basic Skills. If you can't satisfy this condition, you won't be able to become anything."; + next; + mes "[Master Swordsman]"; + mes "Secondly you must pass the legendary Izlude Swordsman Test."; + next; + mes "[Master Swordsman]"; + mes "When you fullfill these 2 conditions, you can become an offical Swordsman."; + goto L_Menu; + + M_End: + mes "[Master Swordsman]"; + mes "Enjoy your youth before you lose it~~ Muhahahaha!!!!"; + emotion e_heh; + close; + +L_Done: + mes "Let me see here....so you've past the test aye??...."; + next; + if(SkillPoint > 0) goto L_Skillpt; + mes "[Master Swordsman]"; + mes "Congratulations! Now you are now fully qualified to become a Real Swordsman! I will transform you right away!!"; + next; + callfunc "Job_Change",Job_Swordman; + callfunc "F_ClearJobVar"; // clears all job variables for the current player + mes "[Master Swordsman]"; + mes "As you set forth on your journey I will expect you to represent the Swordsman Assosiation of Izlude with great honor and integrity."; + next; + mes "[Master Swordsman]"; + mes "Muhahahaha!!!"; + close; + + L_Skillpt: + mes "[Master Swordsman]"; + mes "Hmm... just a momement... it seems you still have skill points left over."; + mes "Please use them up so that I can make you a Swordsman."; + close; +} + +// == Warp == +// -- Warp to test room -- +izlude_in.gat,62,170,0 script w1039 45,1,1,{ + if(BaseJob == Job_Novice && job_sword_q > 0) warp "izlude_in.gat",40,170; + if(job_sword_q == 0) doevent "Swordsman#02::OnStart"; + end; +} + +// -- Swordsman -- +izlude_in.gat,65,171,5 script Swordsman#01 85,{ + doevent "Swordsman#02::OnStart"; + end; +} + +// -- Hidden Npc -- +izlude_in.gat,65,171,5 script Swordsman#02 -1,{ + +OnStart: + mes "[Swordsman]"; + if(BaseJob == Job_Swordman) goto L_Sword; + if(BaseJob == Job_Novice) goto L_Novice; + +L_Other: + mes "Who might you be?! Those who are not Novices are not permitted to go in! Please leave."; + emotion e_what; + close; +L_Sword: + mes "You're already a Swordsman!! You don't need to take this silly test!"; + emotion e_gasp; + close; + +L_Novice: + if(job_sword_q == 1) goto L_Start; + if(job_sword_q == 2) goto L_Done; + + mes "Halt! Do you want to take the Swordsman Test?"; + mes "If so, please fill out the swordsman application first."; + mes "Speak with the 'Master Swordsman' for more information."; + emotion e_gasp; + close; + + L_Start: + mes "Please enter the testing room when you are ready. Good luck!"; + close; + + L_Done: + mes "Speak with the Master Swordsman so that he can make you a Swordsman."; + close; +} + +// -- Test Guide -- +izlude_in.gat,30,175,4 script Test Guide 92,{ + mes "[Test Guide]"; + mes "I will tell you about the legendary Izlude Swordsman Test! Listen VERY CAREFULLY for I won't repeat this again!"; + next; + mes "[Test Guide]"; + mes "The purpose of this test is to decide wheather or not you qualify to become a Swordsman."; + mes "As you know, a Swordsman needs superior physical Strength as well as an iron will!"; + mes "If you possess neither of these attributes you will surely fail this grueling test."; + next; + mes "[Test Guide]"; + mes "The objective of the test is very simple!"; + next; + mes "[Test Guide]"; + mes "You need to make through an obsticale course within ^FF00007 minutes^000000 in order to pass."; + next; + mes "[Test Guide]"; + mes "The obsticale course is made up of 3 parts and is littered with booby-traps so be carefull!"; + mes "Some traps will reduce your HP while others will warp you to an random underground cave causing you to start over."; + next; + mes "[Test Guide]"; + mes "If you `Surrender' or if you excede the 'time limit', you will be fail the test."; + next; + mes "[Test Guide]"; + mes "That is everything you need to know in order to take the test."; + mes "May God bless you."; + close; +} + + +// -- Test Hall Staff 1 -- +izlude_in.gat,30,163,8 script Test Hall Staff 105,{ + mes "[Test Hall Staff]"; + if(SWTEST == 1) goto L_Option2; + if(SWTEST >= 2) goto L_Option3; + set SWTEST, 0; + + mes " So you want to take the test huh? You look confident.. that's good. Stay relaxed and do your best. This is not a difficult test."; + next; + mes "[Test Hall Staff]"; + mes "Are you ready?"; + next; + menu "Let me at it!!",-,"Ah..maybe later..",M_no; + + M_yes: + set SWTEST, SWTEST + 1; + savepoint "izlude_in.gat",39,170; + stopnpctimer; + initnpctimer "TimerSwrdmn"; + warp "job_sword1.gat",10,245; + end; + + M_no: + mes "[Test Hall Staff]"; + mes "Check back with me when you are ready."; + close; + +L_Option2: + mes "Taking the test over?.... Keep your head up. I like those who never back down from a challange! Now take this and cheer up!"; + getitem 512,3;//Items: Apple, + next; + goto M_yes; + end; +L_Option3: + mes "Don't give up! I know you will pass this time!"; + mes "(you catch him whispering '...loooooseerrr...')"; + getitem 512,5;//Items: Apple, + next; + goto M_yes; + end; +} +job_sword1.gat,1,1,0 script TimerSwrdmn -1,{ + OnTimer4000: + areaannounce "job_sword1.gat", 0, 0, 400, 400, "[Test Hall Staff]: Your 7 minutes starts now!",0; + end; + OnTimer184000: + areaannounce "job_sword1.gat", 0, 0, 400, 400, "[Test Hall Staff]: You have 4 minutes left!",0; + end; + OnTimer304000: + areaannounce "job_sword1.gat", 0, 0, 400, 400, "[Test Hall Staff]: You have 2 minutes left!",0; + end; + OnTimer364000: + areaannounce "job_sword1.gat", 0, 0, 400, 400, "[Test Hall Staff]: You have 1 minutes left!",0; + end; + OnTimer394000: + areaannounce "job_sword1.gat", 0, 0, 400, 400, "[Test Hall Staff]: You have 30 seconds left, hurry!",0; + end; + OnTimer424000: + areaannounce "job_sword1.gat", 0, 0, 400, 400, "[Test Hall Staff]: Your times up! You failed the test.",0; + end; + OnTimer428000: + stopnpctimer; + areawarp "job_sword1.gat",0,0,400,400,"izlude_in.gat",39,170; + end; +} + + +// -- Medic 1 -- +job_sword1.gat,230,245,2 script Medic#01 105,{ + mes "[Medic]"; + mes "This is the 1st check point! You're doing great!"; + percentheal 100, 100; + close; +} + +// -- Test Hall Staff 2 -- +job_sword1.gat,230,242,2 script Test Hall Staff#01 105,{ + mes "[Test Hall Staff]"; + mes "Do you surrender?"; + next; + menu "Yes.",M_0,"No.",M_1; + + M_0: + warp "izlude_in.gat",65,165; + close; + M_1: + mes "[Test Hall Staff]"; + mes "Bravo! Go for it again!"; + close; +} + +// -- Medic 2 -- +job_sword1.gat,230,207,2 script Medic#02 105,{ + mes "[Medic]"; + mes "This is the 2nd check point! Keep up the good work!"; + percentheal 100, 100; + close; +} + +// -- Test Hall Staff 3 -- +job_sword1.gat,230,204,2 script Test Hall Staff#02 105,{ + mes "[Test Hall Staff]"; + mes "Do you surrender?"; + next; + menu "Yes.",M_0,"No.",M_1; + + M_0: + warp "izlude_in.gat",65,165; + close; + M_1: + mes "[Test Hall Staff]"; + mes "Bravo! Go for it again!"; + close; +} + +// -- Mae (Medic 3) -- +job_sword1.gat,223,167,2 script Mae 92,{ + mes "[Mae]"; + mes "I sincerely congratulate you for passing the test!"; + mes "I've already sent your test results to the 'Master Swordsman'."; + mes "Please inquire with him about your results. Thank you."; + next; + stopnpctimer "TimerSwrdmn"; + percentheal 100, 100; + set job_sword_q,2; + set SWTEST,0; + warp "izlude_in.gat",66,173; + close; +} + + + + +// == Green Traps == +// reduce hp when stepped on + +// -- First Section -- +// - Left - +job_sword1.gat,22,172,1 script 1green_1::green 139,0,0,{ + heal (-4),0; + end; +} + +// -- Duplicates -- +job_sword1.gat,22,173,1 duplicate(green) 1green_2 139,0,0 +job_sword1.gat,23,172,1 duplicate(green) 1green_3 139,0,0 +job_sword1.gat,23,173,1 duplicate(green) 1green_4 139,0,0 +job_sword1.gat,34,172,1 duplicate(green) 1green_5 139,0,0 +job_sword1.gat,34,173,1 duplicate(green) 1green_6 139,0,0 +job_sword1.gat,35,172,1 duplicate(green) 1green_7 139,0,0 +job_sword1.gat,35,173,1 duplicate(green) 1green_8 139,0,0 +job_sword1.gat,66,170,1 duplicate(green) 1green_9 139,0,0 +job_sword1.gat,66,171,1 duplicate(green) 1green_10 139,0,0 +job_sword1.gat,67,170,1 duplicate(green) 1green_11 139,0,0 +job_sword1.gat,67,171,1 duplicate(green) 1green_12 139,0,0 +job_sword1.gat,70,170,1 duplicate(green) 1green_13 139,0,0 +job_sword1.gat,70,171,1 duplicate(green) 1green_14 139,0,0 +job_sword1.gat,71,170,1 duplicate(green) 1green_15 139,0,0 +job_sword1.gat,71,171,1 duplicate(green) 1green_16 139,0,0 + +// - Right - +job_sword1.gat,22,164,1 duplicate(green) 1green_17 139,0,0 +job_sword1.gat,22,165,1 duplicate(green) 1green_18 139,0,0 +job_sword1.gat,23,164,1 duplicate(green) 1green_19 139,0,0 +job_sword1.gat,23,165,1 duplicate(green) 1green_20 139,0,0 +job_sword1.gat,34,164,1 duplicate(green) 1green_21 139,0,0 +job_sword1.gat,34,165,1 duplicate(green) 1green_22 139,0,0 +job_sword1.gat,35,164,1 duplicate(green) 1green_23 139,0,0 +job_sword1.gat,35,165,1 duplicate(green) 1green_24 139,0,0 +job_sword1.gat,66,166,1 duplicate(green) 1green_25 139,0,0 +job_sword1.gat,66,167,1 duplicate(green) 1green_26 139,0,0 +job_sword1.gat,67,166,1 duplicate(green) 1green_27 139,0,0 +job_sword1.gat,67,167,1 duplicate(green) 1green_28 139,0,0 +job_sword1.gat,70,166,1 duplicate(green) 1green_29 139,0,0 +job_sword1.gat,70,167,1 duplicate(green) 1green_30 139,0,0 +job_sword1.gat,71,166,1 duplicate(green) 1green_31 139,0,0 +job_sword1.gat,71,167,1 duplicate(green) 1green_32 139,0,0 +// - Center - +job_sword1.gat,86,168,1 duplicate(green) 1green_33 139,0,0 +job_sword1.gat,86,169,1 duplicate(green) 1green_34 139,0,0 +job_sword1.gat,87,168,1 duplicate(green) 1green_35 139,0,0 +job_sword1.gat,87,169,1 duplicate(green) 1green_36 139,0,0 + +// -- Second Section -- +// - Left - +job_sword1.gat,83,171,1 duplicate(green) 2green_1 139,0,1 +job_sword1.gat,82,171,1 duplicate(green) 2green_2 139,0,1 +job_sword1.gat,90,171,1 duplicate(green) 2green_3 139,0,1 +job_sword1.gat,91,171,1 duplicate(green) 2green_4 139,0,1 +job_sword1.gat,84,173,1 duplicate(green) 2green_5 139,1,0 +job_sword1.gat,90,173,1 duplicate(green) 2green_6 139,1,0 +job_sword1.gat,83,166,1 duplicate(green) 2green_7 139,0,1 +job_sword1.gat,82,166,1 duplicate(green) 2green_8 139,0,1 +job_sword1.gat,90,166,1 duplicate(green) 2green_9 139,0,1 +job_sword1.gat,91,166,1 duplicate(green) 2green_10 139,0,1 +job_sword1.gat,84,164,1 duplicate(green) 2green_11 139,1,0 +job_sword1.gat,90,164,1 duplicate(green) 2green_12 139,1,0 +job_sword1.gat,102,168,1 duplicate(green) 2green_13 139,0,0 +job_sword1.gat,102,169,1 duplicate(green) 2green_14 139,0,0 +// - Right - +job_sword1.gat,102,172,1 duplicate(green) 2green_15 139,0,0 +job_sword1.gat,102,173,1 duplicate(green) 2green_16 139,0,0 +job_sword1.gat,103,172,1 duplicate(green) 2green_17 139,0,0 +job_sword1.gat,103,173,1 duplicate(green) 2green_18 139,0,0 +job_sword1.gat,106,172,1 duplicate(green) 2green_19 139,0,0 +job_sword1.gat,106,173,1 duplicate(green) 2green_20 139,0,0 +job_sword1.gat,107,172,1 duplicate(green) 2green_21 139,0,0 +job_sword1.gat,107,173,1 duplicate(green) 2green_22 139,0,0 +job_sword1.gat,110,172,1 duplicate(green) 2green_23 139,0,0 +job_sword1.gat,110,173,1 duplicate(green) 2green_24 139,0,0 +job_sword1.gat,111,172,1 duplicate(green) 2green_25 139,0,0 +job_sword1.gat,111,173,1 duplicate(green) 2green_26 139,0,0 +// - Center - +job_sword1.gat,102,164,1 duplicate(green) 2green_27 139,0,0 +job_sword1.gat,102,165,1 duplicate(green) 2green_28 139,0,0 +job_sword1.gat,103,164,1 duplicate(green) 2green_29 139,0,0 +job_sword1.gat,103,165,1 duplicate(green) 2green_30 139,0,0 +job_sword1.gat,106,164,1 duplicate(green) 2green_31 139,0,0 +job_sword1.gat,106,165,1 duplicate(green) 2green_32 139,0,0 +job_sword1.gat,107,164,1 duplicate(green) 2green_33 139,0,0 +job_sword1.gat,107,165,1 duplicate(green) 2green_34 139,0,0 +job_sword1.gat,110,164,1 duplicate(green) 2green_35 139,0,0 +job_sword1.gat,110,165,1 duplicate(green) 2green_36 139,0,0 +job_sword1.gat,111,164,1 duplicate(green) 2green_37 139,0,0 +job_sword1.gat,111,165,1 duplicate(green) 2green_38 139,0,0 + + +// -- Third Section -- +job_sword1.gat,121,172,1 duplicate(green) 3green_1 139,2,0 +job_sword1.gat,121,173,1 duplicate(green) 3green_2 139,2,0 +job_sword1.gat,121,164,1 duplicate(green) 3green_3 139,2,0 +job_sword1.gat,121,165,1 duplicate(green) 3green_4 139,2,0 +job_sword1.gat,121,168,1 duplicate(green) 3green_5 139,2,0 +job_sword1.gat,121,169,1 duplicate(green) 3green_6 139,2,0 + +// -- Fourth Section -- +job_sword1.gat,130,169,1 duplicate(green) 4green_1 139,0,4 +job_sword1.gat,131,169,1 duplicate(green) 4green_2 139,0,4 +job_sword1.gat,135,164,1 duplicate(green) 4green_3 139,5,0 +job_sword1.gat,136,165,1 duplicate(green) 4green_4 139,4,0 +job_sword1.gat,140,169,1 duplicate(green) 4green_5 139,0,3 +job_sword1.gat,141,168,1 duplicate(green) 4green_6 139,0,4 +job_sword1.gat,137,172,1 duplicate(green) 4green_7 139,2,0 +job_sword1.gat,138,173,1 duplicate(green) 4green_8 139,3,0 +job_sword1.gat,134,171,1 duplicate(green) 4green_9 139,0,2 +job_sword1.gat,135,168,1 duplicate(green) 4green_10 139,0,1 +job_sword1.gat,135,170,1 duplicate(green) 4green_11 139,1,0 + +// -- Fifth Section -- +job_sword1.gat,144,169,1 duplicate(green) 5green_1 139,0,4 +job_sword1.gat,145,169,1 duplicate(green) 5green_2 139,0,4 +job_sword1.gat,148,164,1 duplicate(green) 5green_3 139,4,0 +job_sword1.gat,149,165,1 duplicate(green) 5green_4 139,3,0 +job_sword1.gat,156,166,1 duplicate(green) 5green_5 139,0,2 +job_sword1.gat,157,166,1 duplicate(green) 5green_6 139,0,2 +job_sword1.gat,153,169,1 duplicate(green) 5green_7 139,4,0 +job_sword1.gat,152,168,1 duplicate(green) 5green_8 139,3,0 +job_sword1.gat,149,171,1 duplicate(green) 5green_9 139,0,1 +job_sword1.gat,148,171,1 duplicate(green) 5green_10 139,0,2 +job_sword1.gat,154,173,1 duplicate(green) 5green_11 139,2,0 +job_sword1.gat,154,172,1 duplicate(green) 5green_12 139,2,0 + +// -- Last Section -- +job_sword1.gat,164,172,1 duplicate(green) 6green_1 139,0,0 +job_sword1.gat,164,173,1 duplicate(green) 6green_2 139,0,0 +job_sword1.gat,165,172,1 duplicate(green) 6green_3 139,0,0 +job_sword1.gat,165,173,1 duplicate(green) 6green_4 139,0,0 +job_sword1.gat,172,172,1 duplicate(green) 6green_5 139,0,0 +job_sword1.gat,172,173,1 duplicate(green) 6green_6 139,0,0 +job_sword1.gat,173,172,1 duplicate(green) 6green_7 139,0,0 +job_sword1.gat,173,173,1 duplicate(green) 6green_8 139,0,0 + +job_sword1.gat,164,168,1 duplicate(green) 6green_9 139,0,0 +job_sword1.gat,164,169,1 duplicate(green) 6green_10 139,0,0 +job_sword1.gat,165,168,1 duplicate(green) 6green_11 139,0,0 +job_sword1.gat,165,169,1 duplicate(green) 6green_12 139,0,0 +job_sword1.gat,172,168,1 duplicate(green) 6green_13 139,0,0 +job_sword1.gat,172,169,1 duplicate(green) 6green_14 139,0,0 +job_sword1.gat,173,168,1 duplicate(green) 6green_15 139,0,0 +job_sword1.gat,173,169,1 duplicate(green) 6green_16 139,0,0 + +job_sword1.gat,164,164,1 duplicate(green) 6green_17 139,0,0 +job_sword1.gat,164,165,1 duplicate(green) 6green_18 139,0,0 +job_sword1.gat,165,164,1 duplicate(green) 6green_19 139,0,0 +job_sword1.gat,165,165,1 duplicate(green) 6green_20 139,0,0 +job_sword1.gat,172,164,1 duplicate(green) 6green_21 139,0,0 +job_sword1.gat,172,165,1 duplicate(green) 6green_22 139,0,0 +job_sword1.gat,173,164,1 duplicate(green) 6green_23 139,0,0 +job_sword1.gat,173,165,1 duplicate(green) 6green_24 139,0,0 + + + +// == Fall Warps == + +job_sword1.gat,16,251,4 script 1_blank_1a#1::1_blank 139,0,1,{ + set @TEMP,rand(5); + if (@TEMP==0) warp "job_sword1.gat",65,56; + if (@TEMP==1) warp "job_sword1.gat",29,26; + if (@TEMP==2) warp "job_sword1.gat",43,16; + if (@TEMP==3) warp "job_sword1.gat",23,112; + if (@TEMP==4) warp "job_sword1.gat",58,83; + end; +} + +// -- Duplicates -- +job_sword1.gat,19,251,4 duplicate(1_blank) 1_blank_1b 139,0,1 +job_sword1.gat,17,250,4 duplicate(1_blank) 1_blank_1c 139,1,0 +job_sword1.gat,17,251,4 duplicate(1_blank) 1_blank_1d 139,1,1 +job_sword1.gat,18,251,4 duplicate(1_blank) 1_blank_1e 139,1,1 +job_sword1.gat,17,251,4 duplicate(1_blank) 1_blank_1f 139,1,1 +job_sword1.gat,16,238,4 duplicate(1_blank) 1_blank_2a 139,0,1 +job_sword1.gat,19,238,4 duplicate(1_blank) 1_blank_2b 139,0,1 +job_sword1.gat,17,239,4 duplicate(1_blank) 1_blank_2c 139,0,1 +job_sword1.gat,28,246,4 duplicate(1_blank) 1_blank_3a 139,4,1 +job_sword1.gat,33,245,4 duplicate(1_blank) 1_blank_3b 139,0,2 +job_sword1.gat,29,242,4 duplicate(1_blank) 1_blank_3c 139,4,0 +job_sword1.gat,24,244,4 duplicate(1_blank) 1_blank_3d 139,0,2 +job_sword1.gat,38,251,4 duplicate(1_blank) 1_blank_4a 139,0,1 +job_sword1.gat,41,251,4 duplicate(1_blank) 1_blank_4b 139,0,1 +job_sword1.gat,39,250,4 duplicate(1_blank) 1_blank_4c 139,1,0 +job_sword1.gat,38,238,4 duplicate(1_blank) 1_blank_5a 139,0,1 +job_sword1.gat,41,238,4 duplicate(1_blank) 1_blank_5_b 139,0,1 +job_sword1.gat,39,239,4 duplicate(1_blank) 1_blank_5_c 139,1,0 +job_sword1.gat,54,251,4 duplicate(1_blank) 1_blank_6_a 139,0,1 +job_sword1.gat,71,251,4 duplicate(1_blank) 1_blank_6_b 139,0,1 +job_sword1.gat,62,250,4 duplicate(1_blank) 1_blank_6_c 139,9,0 +job_sword1.gat,62,247,4 duplicate(1_blank) 1_blank_7_a 139,8,0 +job_sword1.gat,71,244,4 duplicate(1_blank) 1_blank_7_b 139,0,2 +job_sword1.gat,63,242,4 duplicate(1_blank) 1_blank_7_c 139,8,0 +job_sword1.gat,54,244,4 duplicate(1_blank) 1_blank_7_d 139,0,2 +job_sword1.gat,54,238,4 duplicate(1_blank) 1_blank_8_a 139,0,1 +job_sword1.gat,71,238,4 duplicate(1_blank) 1_blank_8_b 139,0,1 +job_sword1.gat,62,239,4 duplicate(1_blank) 1_blank_8_c 139,9,0 +job_sword1.gat,102,247,4 duplicate(1_blank) 1_blank_9_a 139,2,0 +job_sword1.gat,105,245,4 duplicate(1_blank) 1_blank_9_b 139,0,2 +job_sword1.gat,103,242,4 duplicate(1_blank) 1_blank_9_c 139,2,0 +job_sword1.gat,100,244,4 duplicate(1_blank) 1_blank_9_d 139,0,2 +job_sword1.gat,156,249,4 duplicate(1_blank) 1_blank_10_a 139,14,0 +job_sword1.gat,156,248,4 duplicate(1_blank) 1_blank_10_b 139,14,0 +job_sword1.gat,170,249,4 duplicate(1_blank) 1_blank_10_c 139,1,0 +job_sword1.gat,170,248,4 duplicate(1_blank) 1_blank_10_d 139,1,0 +job_sword1.gat,156,245,4 duplicate(1_blank) 1_blank_11_a 139,14,0 +job_sword1.gat,156,244,4 duplicate(1_blank) 1_blank_11_b 139,14,0 +job_sword1.gat,170,245,4 duplicate(1_blank) 1_blank_11_c 139,1,0 +job_sword1.gat,170,244,4 duplicate(1_blank) 1_blank_11_d 139,1,0 +job_sword1.gat,156,241,4 duplicate(1_blank) 1_blank_12_a 139,14,0 +job_sword1.gat,156,240,4 duplicate(1_blank) 1_blank_12_b 139,14,0 +job_sword1.gat,170,241,4 duplicate(1_blank) 1_blank_12_c 139,1,0 +job_sword1.gat,170,240,4 duplicate(1_blank) 1_blank_12_d 139,1,0 +job_sword1.gat,180,251,4 duplicate(1_blank) 1_blank_13_a 139,0,1 +job_sword1.gat,183,251,4 duplicate(1_blank) 1_blank_13_b 139,0,1 +job_sword1.gat,181,250,4 duplicate(1_blank) 1_blank_13_c 139,1,0 +job_sword1.gat,180,238,4 duplicate(1_blank) 1_blank_14_a 139,0,1 +job_sword1.gat,183,238,4 duplicate(1_blank) 1_blank_14_b 139,0,1 +job_sword1.gat,181,239,4 duplicate(1_blank) 1_blank_14_c 139,1,0 + + +job_sword1.gat,56,212,4 script 2_blank_1_a::2_blank 139,40,0,{ + set @TEMP,rand(5); + if (@TEMP==0) warp "job_sword1.gat",162,120; + if (@TEMP==1) warp "job_sword1.gat",94,120; + if (@TEMP==2) warp "job_sword1.gat",94,85; + if (@TEMP==3) warp "job_sword1.gat",162,85; + if (@TEMP==4) warp "job_sword1.gat",130,47; + end; +} + +// -- Duplicates -- +job_sword1.gat,95,212,4 duplicate(2_blank) 2_blank_1_b 139,2,0 +job_sword1.gat,56,210,4 duplicate(2_blank) 2_blank_2_a 139,40,0 +job_sword1.gat,95,210,4 duplicate(2_blank) 2_blank_2_b 139,2,0 +job_sword1.gat,16,206,4 duplicate(2_blank) 2_blank_2_c 139,0,3 +job_sword1.gat,97,206,4 duplicate(2_blank) 2_blank_2_d 139,0,3 +job_sword1.gat,56,203,4 duplicate(2_blank) 2_blank_2_e 139,40,0 +job_sword1.gat,95,203,4 duplicate(2_blank) 2_blank_2_f 139,2,0 +job_sword1.gat,56,201,4 duplicate(2_blank) 2_blank_3_a 139,40,0 +job_sword1.gat,95,201,4 duplicate(2_blank) 2_blank_3_b 139,2,0 + +// - part 2 - +job_sword1.gat,113,212,4 duplicate(2_blank) 2_blank_4_a 139,14,0 +job_sword1.gat,125,212,4 duplicate(2_blank) 2_blank_4_b 139,2,0 +job_sword1.gat,113,210,4 duplicate(2_blank) 2_blank_5_a 139,14,0 +job_sword1.gat,125,210,4 duplicate(2_blank) 2_blank_5_b 139,2,0 +job_sword1.gat,100,206,4 duplicate(2_blank) 2_blank_5_c 139,0,3 +job_sword1.gat,127,206,4 duplicate(2_blank) 2_blank_5_d 139,0,3 +job_sword1.gat,113,203,4 duplicate(2_blank) 2_blank_5_e 139,14,0 +job_sword1.gat,125,210,4 duplicate(2_blank) 2_blank_5_f 139,2,0 +job_sword1.gat,113,201,4 duplicate(2_blank) 2_blank_6_a 139,14,0 +job_sword1.gat,113,201,4 duplicate(2_blank) 2_blank_6_b 139,2,0 + +// - part 3 - +job_sword1.gat,155,212,4 duplicate(2_blank) 2_blank_7_a 139,21,0 +job_sword1.gat,181,212,4 duplicate(2_blank) 2_blank_7_b 139,2,0 +job_sword1.gat,155,210,4 duplicate(2_blank) 2_blank_8_a 139,21,0 +job_sword1.gat,181,210,4 duplicate(2_blank) 2_blank_8_b 139,2,0 +job_sword1.gat,130,206,4 duplicate(2_blank) 2_blank_8_c 139,0,3 +job_sword1.gat,183,206,4 duplicate(2_blank) 2_blank_8_d 139,0,3 +job_sword1.gat,155,203,4 duplicate(2_blank) 2_blank_8_e 139,21,0 +job_sword1.gat,181,203,4 duplicate(2_blank) 2_blank_8_f 139,2,0 +job_sword1.gat,155,201,4 duplicate(2_blank) 2_blank_9_a 139,40,0 +job_sword1.gat,181,201,4 duplicate(2_blank) 2_blank_9_b 139,2,0 + +job_sword1.gat,17,174,4 script 3_blank_1_a::3_blank 139,2,0,{ + set @TEMP,rand(5); + if (@TEMP==0) warp "job_sword1.gat",195,15; + if (@TEMP==1) warp "job_sword1.gat",195,38; + if (@TEMP==2) warp "job_sword1.gat",231,30; + if (@TEMP==3) warp "job_sword1.gat",198,65; + if (@TEMP==4) warp "job_sword1.gat",196,116; + end; +} + +// -- Duplicates -- +job_sword1.gat,17,163,4 duplicate(3_blank) 3_blank_2_a 139,2,0 +job_sword1.gat,29,171,4 duplicate(3_blank) 3_blank_3_a 139,2,0 +job_sword1.gat,31,168,4 duplicate(3_blank) 3_blank_3_b 139,0,2 +job_sword1.gat,28,166,4 duplicate(3_blank) 3_blank_3_c 139,2,0 +job_sword1.gat,26,168,4 duplicate(3_blank) 3_blank_3_d 139,0,2 +job_sword1.gat,36,169,4 duplicate(3_blank) 3_blank_4_a 139,0,0 +job_sword1.gat,37,169,4 duplicate(3_blank) 3_blank_4_b 139,0,0 +job_sword1.gat,37,168,4 duplicate(3_blank) 3_blank_4_c 139,0,0 +job_sword1.gat,36,168,4 duplicate(3_blank) 3_blank_4_d 139,0,0 +job_sword1.gat,40,175,4 duplicate(3_blank) 3_blank_5_a 139,0,1 +job_sword1.gat,41,175,4 duplicate(3_blank) 3_blank_5_b 139,0,1 +job_sword1.gat,41,171,4 duplicate(3_blank) 3_blank_6_a 139,1,0 +job_sword1.gat,41,170,4 duplicate(3_blank) 3_blank_6_b 139,1,0 +job_sword1.gat,41,167,4 duplicate(3_blank) 3_blank_6_c 139,1,0 +job_sword1.gat,41,166,4 duplicate(3_blank) 3_blank_6_d 139,1,0 +job_sword1.gat,42,169,4 duplicate(3_blank) 3_blank_6_e 139,0,1 +job_sword1.gat,43,170,4 duplicate(3_blank) 3_blank_6_f 139,0,1 +job_sword1.gat,43,167,4 duplicate(3_blank) 3_blank_6_g 139,0,1 +job_sword1.gat,40,162,4 duplicate(3_blank) 3_blank_7_a 139,0,1 +job_sword1.gat,41,162,4 duplicate(3_blank) 3_blank_7_b 139,0,1 +job_sword1.gat,46,175,4 duplicate(3_blank) 3_blank_8_a 139,0,1 +job_sword1.gat,51,175,4 duplicate(3_blank) 3_blank_8_b 139,0,1 +job_sword1.gat,47,174,4 duplicate(3_blank) 3_blank_8_c 139,1,0 +job_sword1.gat,50,174,4 duplicate(3_blank) 3_blank_8_d 139,1,0 +job_sword1.gat,48,173,4 duplicate(3_blank) 3_blank_8_e 139,0,1 +job_sword1.gat,49,173,4 duplicate(3_blank) 3_blank_8_f 139,0,1 +job_sword1.gat,46,162,4 duplicate(3_blank) 3_blank_9_a 139,0,1 +job_sword1.gat,51,162,4 duplicate(3_blank) 3_blank_9_b 139,0,1 +job_sword1.gat,47,163,4 duplicate(3_blank) 3_blank_9_c 139,1,0 +job_sword1.gat,50,163,4 duplicate(3_blank) 3_blank_9_d 139,1,0 +job_sword1.gat,48,164,4 duplicate(3_blank) 3_blank_9_e 139,0,1 +job_sword1.gat,49,164,4 duplicate(3_blank) 3_blank_9_f 139,0,1 +job_sword1.gat,54,170,4 duplicate(3_blank) 3_blank_10_a 139,0,1 +job_sword1.gat,55,170,4 duplicate(3_blank) 3_blank_10_b 139,0,1 +job_sword1.gat,54,167,4 duplicate(3_blank) 3_blank_10_c 139,0,1 +job_sword1.gat,55,167,4 duplicate(3_blank) 3_blank_10_d 139,0,1 +job_sword1.gat,53,169,4 duplicate(3_blank) 3_blank_10_e 139,1,0 +job_sword1.gat,53,168,4 duplicate(3_blank) 3_blank_10_f 139,1,0 +job_sword1.gat,56,169,4 duplicate(3_blank) 3_blank_10_g 139,1,0 +job_sword1.gat,56,168,4 duplicate(3_blank) 3_blank_10_h 139,1,0 +job_sword1.gat,58,175,4 duplicate(3_blank) 3_blank_11_a 139,0,1 +job_sword1.gat,59,174,4 duplicate(3_blank) 3_blank_11_b 139,1,0 +job_sword1.gat,60,173,4 duplicate(3_blank) 3_blank_11_c 139,0,1 +job_sword1.gat,61,172,4 duplicate(3_blank) 3_blank_11_d 139,1,0 +job_sword1.gat,58,162,4 duplicate(3_blank) 3_blank_12_a 139,0,1 +job_sword1.gat,59,163,4 duplicate(3_blank) 3_blank_12_b 139,1,0 +job_sword1.gat,60,164,4 duplicate(3_blank) 3_blank_12_c 139,0,1 +job_sword1.gat,61,165,4 duplicate(3_blank) 3_blank_12_d 139,1,0 +job_sword1.gat,76,172,4 duplicate(3_blank) 3_blank_13_a 139,1,0 +job_sword1.gat,77,173,4 duplicate(3_blank) 3_blank_13_b 139,0,1 +job_sword1.gat,78,174,4 duplicate(3_blank) 3_blank_13_c 139,1,0 +job_sword1.gat,79,175,4 duplicate(3_blank) 3_blank_13_d 139,0,1 +job_sword1.gat,76,165,4 duplicate(3_blank) 3_blank_14_a 139,1,0 +job_sword1.gat,77,164,4 duplicate(3_blank) 3_blank_14_b 139,0,1 +job_sword1.gat,78,163,4 duplicate(3_blank) 3_blank_14_c 139,1,0 +job_sword1.gat,79,162,4 duplicate(3_blank) 3_blank_14_d 139,0,1 +job_sword1.gat,94,175,4 duplicate(3_blank) 3_blank_15_a 139,0,1 +job_sword1.gat,95,174,4 duplicate(3_blank) 3_blank_15_b 139,1,0 +job_sword1.gat,98,174,4 duplicate(3_blank) 3_blank_15_c 139,1,0 +job_sword1.gat,99,175,4 duplicate(3_blank) 3_blank_16_d 139,0,1 +job_sword1.gat,96,169,4 duplicate(3_blank) 3_blank_17_a 139,0,0 +job_sword1.gat,97,169,4 duplicate(3_blank) 3_blank_17_b 139,0,0 +job_sword1.gat,97,168,4 duplicate(3_blank) 3_blank_17_c 139,0,0 +job_sword1.gat,96,168,4 duplicate(3_blank) 3_blank_17_d 139,0,0 +job_sword1.gat,94,162,4 duplicate(3_blank) 3_blank_18_a 139,0,1 +job_sword1.gat,95,163,4 duplicate(3_blank) 3_blank_18_b 139,1,0 +job_sword1.gat,98,163,4 duplicate(3_blank) 3_blank_18_c 139,1,0 +job_sword1.gat,99,162,4 duplicate(3_blank) 3_blank_18_d 139,0,1 +job_sword1.gat,114,175,4 duplicate(3_blank) 3_blank_19_a 139,0,1 +job_sword1.gat,115,175,4 duplicate(3_blank) 3_blank_19_b 139,0,1 +job_sword1.gat,114,162,4 duplicate(3_blank) 3_blank_20_a 139,0,1 +job_sword1.gat,115,162,4 duplicate(3_blank) 3_blank_20_b 139,0,1 +job_sword1.gat,126,175,4 duplicate(3_blank) 3_blank_21_a 139,0,1 +job_sword1.gat,127,175,4 duplicate(3_blank) 3_blank_21_b 139,0,1 +job_sword1.gat,126,162,4 duplicate(3_blank) 3_blank_23_a 139,0,1 +job_sword1.gat,127,162,4 duplicate(3_blank) 3_blank_23_b 139,0,1 +job_sword1.gat,160,174,4 duplicate(3_blank) 3_blank_24_a 139,0,2 +job_sword1.gat,161,174,4 duplicate(3_blank) 3_blank_24_b 139,0,2 +job_sword1.gat,160,163,4 duplicate(3_blank) 3_blank_25_a 139,0,2 +job_sword1.gat,161,163,4 duplicate(3_blank) 3_blank_25_b 139,0,2 +job_sword1.gat,168,175,4 duplicate(3_blank) 3_blank_26_a 139,0,2 +job_sword1.gat,169,175,4 duplicate(3_blank) 3_blank_26_b 139,0,2 +job_sword1.gat,168,162,4 duplicate(3_blank) 3_blank_27_a 139,0,2 +job_sword1.gat,169,162,4 duplicate(3_blank) 3_blank_27_b 139,0,2 +job_sword1.gat,176,174,4 duplicate(3_blank) 3_blank_28_a 139,0,2 +job_sword1.gat,177,174,4 duplicate(3_blank) 3_blank_28_b 139,0,2 +job_sword1.gat,178,173,4 duplicate(3_blank) 3_blank_28_c 139,1,0 +job_sword1.gat,178,172,4 duplicate(3_blank) 3_blank_28_d 139,1,0 +job_sword1.gat,181,174,4 duplicate(3_blank) 3_blank_28_e 139,2,0 +job_sword1.gat,179,169,4 duplicate(3_blank) 3_blank_29_a 139,3,0 +job_sword1.gat,179,168,4 duplicate(3_blank) 3_blank_29_b 139,3,0 +job_sword1.gat,182,169,4 duplicate(3_blank) 3_blank_29_c 139,0,2 +job_sword1.gat,183,169,4 duplicate(3_blank) 3_blank_29_d 139,0,2 +job_sword1.gat,181,167,4 duplicate(3_blank) 3_blank_29_e 139,1,0 +job_sword1.gat,181,166,4 duplicate(3_blank) 3_blank_29_f 139,1,0 +job_sword1.gat,183,167,4 duplicate(3_blank) 3_blank_29_g 139,0,1 +job_sword1.gat,176,163,4 duplicate(3_blank) 3_blank_30_a 139,0,2 +job_sword1.gat,177,163,4 duplicate(3_blank) 3_blank_30_b 139,0,2 +job_sword1.gat,181,163,4 duplicate(3_blank) 3_blank_30_c 139,2,0 + +// == Monsters == +//Spawn is included in this file so make shure its not elsewhere to! +job_sword1.gat,35,78,0,0 monster Fabre 1184,4,0,0,0 +job_sword1.gat,50,108,0,0 monster Fabre 1184,2,0,0,0 +job_sword1.gat,61,28,0,0 monster Fabre 1184,4,0,0,0 +job_sword1.gat,61,92,0,0 monster Fabre 1184,2,0,0,0 +// +job_sword1.gat,110,112,0,0 monster Fabre 1184,3,0,0,0 +job_sword1.gat,161,94,0,0 monster Fabre 1184,2,0,0,0 +job_sword1.gat,130,76,0,0 monster Fabre 1184,2,0,0,0 +job_sword1.gat,103,58,0,0 monster Fabre 1184,2,0,0,0 +job_sword1.gat,130,24,0,0 monster Fabre 1184,3,0,0,0 +// +job_sword1.gat,201,36,0,0 monster Fabre 1184,2,0,0,0 +job_sword1.gat,201,16,0,0 monster Fabre 1184,2,0,0,0 +job_sword1.gat,239,44,0,0 monster Fabre 1184,2,0,0,0 +job_sword1.gat,239,76,0,0 monster Fabre 1184,2,0,0,0 +job_sword1.gat,231,101,0,0 monster Fabre 1184,2,0,0,0 +job_sword1.gat,234,117,0,0 monster Fabre 1184,2,0,0,0 +job_sword1.gat,198,91,0,0 monster Fabre 1184,2,0,0,0 +job_sword1.gat,200,63,0,0 monster Fabre 1184,2,0,0,0 + +//============================================================================== +// mapflag +//============================================================================== +job_sword1.gat mapflag nomemo +job_sword1.gat mapflag noteleport +job_sword1.gat mapflag nosave SavePoint +job_sword1.gat mapflag nopenalty +job_sword1.gat mapflag nobranch +job_sword1.gat mapflag noexp +job_sword1.gat mapflag noloot diff --git a/npc/jobs/1-1/thief.txt b/npc/jobs/1-1/thief.txt index 62412614d..a86a673fe 100644 --- a/npc/jobs/1-1/thief.txt +++ b/npc/jobs/1-1/thief.txt @@ -1,460 +1,460 @@ -//===== eAthena Script ======================================= -//= Thief Job Quest -//===== By: ================================================== -//= eAthena dev team -//===== Current Version: ===================================== -//= 1.6a -//===== Compatible With: ===================================== -//= eAthena 1.0 + -//===== Description: ========================================= -//= -//===== Additional Comments: ================================= -//= Fully working -//= v1.1 Added instant job change for High Novice [Lupus] -//= 1.3 Added Baby Class support [Lupus] -//= v1.4 Optimised and moved first checker to Jfunc1-1 [massdriller] -//= Fixed possible EXP abuse [Lupus] -//= 1.5 Now saves/restores all quest skills [Lupus] -//= 1.6 Merged back JFunc [Lupus] 1.6a typos -//============================================================ - - -// == Monsters == -//Spawn is included in this file so make shure its not elsewhere to! -job_thief1.gat,0,0,0,0 monster Orange Mushroom 1182,180,0,0,0 -job_thief1.gat,0,0,0,0 monster Fabre 1184,50,0,0,0 -job_thief1.gat,0,0,0,0 monster Chonchon 1183,50,0,0,0 -job_thief1.gat,0,0,0,0 monster Spore 1014,30,0,0,0 - - -// == NPCs == -// -- Interviewer -- -moc_prydb1.gat,39,129,5 script Thief Guide 69,{ - - mes "[Thief Guide]"; - if(BaseJob == Job_Thief) { - mes "You're already a thief..... What do you want from me... go away!"; - emotion e_swt; - close; - } - if(BaseClass == Job_Swordman) { - mes "What the heck...? Meh!~Here's another 'Bash' head. Do me a favor... why don't you go 'BASH', yourself in the head. Ha!"; - emotion e_gg; - close; - } - if(BaseClass == Job_Mage) { - mes "What the heck...? Ehhh??? A Circus Sideshow? Make a fire without a Matchstick, will ya?"; - emotion e_swt2; - close; - } - if(BaseClass == Job_Archer) { - mes "What the heck...? Hahahaha~are you a 'Kill Stealing' Archer...?"; - emotion e_heh; - close; - } - if(BaseClass == Job_Acolyte) { - mes "What the heck...? Ohhhhhh~GOD... PORING's worshipper, Acolyte..."; - mes "So why aren't you in church praying, instead of wandering about here, huh?"; - close; - } - if(BaseClass == Job_Merchant) { - mes "What the heck...? Eeeeeek~Merchant Scammer here...!!!! I am gonna report you to the GM!!!"; - emotion e_gasp; - close; - } - if(BaseClass != Job_Novice) { - mes "You already have a job. Stop bothering me and go help out some newbies or something."; - emotion e_no1; - close; - } - - if(job_thief_q==2) goto L_1; - if(job_thief_q==1) goto L_Back; - - if(Sex) { - mes "Heh... You look like a well to do boy... what brought you down to this rat hole?"; - }else{ - mes "Heh... You look like a well to do girl... what brought you down to this rat hole?"; - } - next; -M_Menu: - menu "'I didn't come here for the atmosphere.....",M_0,"Me? I'm just looking around...",M_End,"Just looking for the one truth",M_Truth; - - M_0: - mes "[Thief Guide]"; - mes "Hmph... you sound a little cocky.... Yah know, being a Thief isn't all it's cracked up to be...."; - mes "That reminds me.... I must have been at lvl 9 or 10 when I did my first robbery...."; - next; - mes "[Thief Guide]"; - mes "Hahahaha... I can still remember the look on that guy's face..."; - emotion e_heh; - next; - mes "[Thief Guide]"; - mes "But anyways... I assume you're here to become a thief..."; - next; - menu "You got it.",sM_0a, "Nope. Just wasting your time. ^ ^",sM_0b, "Why did you steal from that man?",sM_0c; - - sM_0a: - goto L_Test; - sM_0b: - mes "[Thief Guide]"; - mes "Wow... thanks... now get the HELL OUTA HERE!!"; - emotion e_an; - close; - sM_0c: - mes "[Thief Guide]"; - mes "Eh? Me?... Well... I really had no other choice at the time.... It was either I stole or I starved."; - mes "I really couldn't go hungry another day."; - close; - - M_Truth: - mes "[Thief Guide]"; - mes "To see one's light, you need to be under the magic of the book where the royalty looms."; - close; - - M_End: - mes "[Thief Guide]"; - mes "Must you people keep wasting my time!!?"; - emotion e_pif; - close; - - L_Test: - mes "[Thief Guide]"; - mes "Okay then; first, fill out this application form."; - next; - mes "^0000FF(You fill out the form and hand it back)^000000"; - next; - if(JobLevel < 10) goto sL_JobLvl; - - mes "[Thief Guide]"; - mes "Alrighty ^FF0000"+ strcharinfo(0) + "^000000, if that IS your real name..... looks like you've got quite a 'record' here."; - mes "Let's see.... aggravated assualt... felony larson..... hmm...."; - next; - mes "[Thief Guide]"; - mes "Ah, here we go...... you've got the job and skill requirements to become a Thief. Now all you've got to do is pass the ^FF0000Morroc Thief Test^000000."; - next; - - L_Explain: - mes "[Thief Guide]"; - mes " The test will require you to ^FF0000'sneak'^000000 into ^FF0000'Shibu's Farm'^000000, and ^FF0000'borrow'^000000 some ^AAAA00'Mushrooms'^000000."; - mes " There are ^ff00002^000000 kinds of ^AAAA00Mushrooms^000000 on the farm, ^FFBB00Orange Net Mushrooms^000000 and ^FFBB00Orange Gooey Mushrooms^000000."; - next; - mes "[Thief Guide]"; - mes "'Shibu just happens to be the worst merchant scammer in Morroc, in case you're wondering why he's our target."; - next; - mes "[Thief Guide]"; - mes " Bring the Mushrooms back here and someone will give you a score based on the type and the amount of mushrooms you get."; - mes " 1 Orange Net Mushroom = ^0000FF3 points^000000 while 1 Orange Gooey Mushroom = ^0000FF1 point^000000. You need ^FF000025^000000 points to pass the test."; - next; - mes "[Thief Guide]"; - mes " In order to get into Shibu's Farm you'll need to talk to one of our 'associates'. You can find him just ouside of this pyramid standing near some columns."; - mes " He goes by the name ^DDCC00'Irrelevant Man'^000000."; - next; - mes "[Thief Guide]"; - mes " Here are his exact coordinates just in case you are 'directionaly challenged': '^FF0000141, 125^000000'."; - mes " Find him and he'll show you a secrect way into the Farm."; - next; - mes "[Thief Guide]"; - mes " This sounds easy but ^009900do know, there are Monsters who guard Mushrooms^000000?"; - mes " Stop reading Fairy Tales and ^FF0000brace up your nerves; this will be the toughest experience ever^000000."; - next; - mes "[Thief Guide]"; - mes " So, I will give you one tip. ^FF0000Elaborate the Strategy^000000 before you going inside the Farm."; - next; - mes "[Thief Guide]"; - mes " Try to steal the mushrooms as quickly as you can. You may even have to ^0000FFunequip some weapons or armor to attack faster^000000."; - mes " Try not to get killed while doing this... at the very least try to give me the mushrooms first.... then you can go get yourself killed... HA!"; - next; - mes "[Thief Guide]"; - mes " If you don't have any questions... then GET moving!"; - emotion e_go; - set job_thief_q,1; - close; - - sL_JobLvl: - mes "[Thief Guide]"; - mes "Err... I can see how ambitious you are, but we can't hand a gun to a baby only for that. Come back when you learn all Basic Skills."; - close; - - L_Back: - if(countitem(1069)>0 || countitem(1070)>0) goto sL_1;//Items: Orange_Net_Mushroom, Orange_Gooey_Mushroom_, - - mes "..... What are you doing here? You're supposed to be gathering mushrooms remember??"; - mes "Don't tell me you forget what to do??? Jeeze... do you want me to explain it to you one more time?......"; - emotion e_hmm; - next; - menu "Heh.. yeah I guess..",sM_1a, "Nope.",sM_1b; - - sM_1a: - mes "[Thief Guide]"; - mes "(~sigh~) There's always someone who gets left behind.... This is the last time so listen CAREFULLY!!...."; - emotion e_pif; - next; - goto L_Explain; - sM_1b: - mes "[Thief Guide]"; - mes ".... Then what is it??? Do you have something to tell me? YOUR the one who came TO ME..."; - mes "What... you wanna a piece of me?? HUH!!??"; - emotion e_ag; - close; - - sL_1: - mes "What? You actually went and stole some mushrooms?? Are you some kinda idiot?"; - mes "Haha... I can't believe you listened to me..... "; - emotion e_what; - next; - mes "[Thief Guide]"; - mes ".... Psych!! Just kidding... heheheh! Speak with the guy next to me about rating the mushrooms you swiped."; - emotion e_heh; - close; - - L_1: - mes "So how was the Mushroom Farm? Did yah have much fun?"; - next; - menu "Yeah, kinda Cool.",M_Cool,"It was horrible.",M_Not; - - M_Cool: - mes "[Thief Guide]"; - mes " Wow! I like you! Fabulous! Everyone before you was #&$@ bloody As#$%^&s#!"; - next; - mes "[Thief Guide]"; - mes "...... You won't take my place, will you? If you have any ambition like that, I'll ^ff0000DESTROY YOU^000000!"; - // mes "...... You won't take my place, will you? If you have any ambition like that, I will kick your ^ff0000'ASS OUT OF YOUR BUTT'^000000!"; - // this is just too much lol. - // That line before was just too precious to delete. [KillerBox] - emotion e_gasp; - next; - mes "[Thief Guide]"; - mes " Still, in order to pass the test you need to go get some mushrooms."; - close; - M_Not: - mes "[Thief Guide]"; - mes " I know what yah mean. I was there before and it was awful: all those smelly mushrooms and aggressive monsters."; - next; - mes "[Thief Guide]"; - mes " Eeewww! Yuuuckk! Still, in order to pass the test you need to go get some mushrooms."; - emotion e_wah; - close; -} - - -// -- Test Grader -- -moc_prydb1.gat,42,133,2 script Comrade Brad 118,{ - callfunc "F_ToHigh",Job_Thief_High,"Thief High",Job_Assassin_Cross,"Brad"; - if(BaseJob == Job_Novice) goto L_Novice; - if(BaseJob == Job_Thief) goto L_Thief; - -L_Other: - mes "[Brad]"; - mes "Hey~ Hey~!! You don't look like a Thief. What the heck? You'd BETTER NOT be trying to start someting on THIEF TERRITORY!!"; - emotion e_omg; - close; -L_Thief: - mes "[Brad]"; - mes "We don't have any Special events for Thieves yet. Come back some other time, alright?"; - close; - -L_Novice: - mes "[Comrade Brad]"; - if((job_thief_q == 2) && ((countitem(1069) > 0) || (countitem(1070) > 0))) goto L_4;//Items: Orange_Net_Mushroom, Orange_Gooey_Mushroom_, - if(job_thief_q >= 1) goto L_3; - - mes "Errr? What's matter newbie? If you want to be a thief, speak to the girl beside me."; - close; -L_3: - mes "Go get some mushrooms so that I can grade them ok."; - close; -L_4: - mes "Good. You got some mushrooms from that crooked merchant Shibu"; - next; - - set @mushrm1,countitem(1069)*3;//Items: Orange_Net_Mushroom, - set @mushrm2,countitem(1070);//Items: Orange_Gooey_Mushroom_, - set @TotMush,@mushrm1 + @mushrm2; - set @money_thief,((countitem(1069) * 5) + (countitem(1070)* 2)) + 200;//Items: Orange_Net_Mushroom, Orange_Gooey_Mushroom_, - - mes "[Comrade Brad]"; - mes "Let's see you got:"; - mes "^0000ff"+countitem(1069)+"^000000 Orange Net Mushrooms for ^ffbb00"+@mushrm1+"^000000 points,";//Items: Orange_Net_Mushroom, - mes "^0000ff"+countitem(1070)+"^000000 Orange Gooey Mushrooms for ^ffbb00"+@mushrm2+"^000000 points,";//Items: Orange_Gooey_Mushroom_, - mes "Giving you a total score of ^ff0000"+@TotMush+"^000000."; - next; - if (@TotMush > 25) goto L_High; - if (@TotMush == 25) goto L_Medium; - - mes "[Comrade Brad]"; - mes "Meh!.... looks like you failed. C'mon! You can do better than that! Go get some more mushrooms!!!"; - close; - - L_Medium: - mes "[Comrade Brad]"; - mes "Good. You passed the Test."; - next; - goto L_Final; - - L_High: - mes "[Comrade Brad]"; - mes "Ooooh. Above 25, you will make an excellent thief."; - next; - L_Final: - mes "[Comrade Brad]"; - mes "Congratulations ^ff0000"+strcharinfo(0)+"^000000, you passed the official Thief Test! You can now become a Thief!!"; - emotion e_no1; - next; - if(SkillPoint > 0) goto sL_SkPoint; - delitem 1069, countitem(1069);//Items: Orange_Net_Mushroom, - delitem 1070, countitem(1070);//Items: Orange_Gooey_Mushroom_, - - callfunc "Job_Change",Job_Thief; - callfunc "F_ClearJobVar"; // clears all job variables for the current player - - mes "[Comrade Brad]"; - mes "Here's a small reward for your hard work. Spend it any way you want to."; - next; - set Zeny,Zeny+@money_thief; - mes "[Comrade Brad]"; - mes "From now on you must act, think, and even smell like a Thief."; - mes "You are one of us now, which means you have the trust and freindship of Thieves all over Rune Midgard"; - next; - mes "[Comrade Brad]"; - mes "However, If you bring disgrace to our Guild, or ever betray us, we will not hesitate to have you......"; - mes "How shall I say, ^ff0000'REMOVED'^000000 from the Thief Guild."; - emotion e_gg; - next; - mes "[Comrade Brad]"; - mes "Good luck and always remeber the ^0000cc'Thief Motto'^000000: ^ff0000DON'T Get Caught^000000l!"; - close; - - sL_SkPoint: - mes "[Comrade Brad]"; - mes "But before that happens please use up all of your skill points, okay?"; - close; - -} - - -// -- Irrelevant Man -- -moc_ruins.gat,141,125,3 script Irrelevant Man 118,{ - if(BaseJob == Job_Thief) goto L_Thief; - if(BaseJob == Job_Novice) goto L_Novice; - -L_Other: - if(@s_flag==1) goto L_1b; - if(@s_flag==2) goto L_1c; - if(@s_flag==3) goto L_1d; - if(@s_flag==4) goto L_1e; - set @s_flag, 0; - - L_1a: - mes "[Irrelevant Man]"; - mes "Howdy~ Howdy. What a Wonderful day today,isn't it?"; - mes "I feel like going on a 'Picnic' in the Pyramids with a couple freinds of mine today."; - set @s_flag, @s_flag+1; - close; - L_1b: - mes "[Irrelevant Man]"; - mes "'Lalalala, Home sweet Home.'"; - mes "I like this saying. Home Sweet Home...."; - set @s_flag, @s_flag+1; - close; - L_1c: - mes "[Irrelevant Man]"; - mes "...... I could fly if I fell off............ "; - set @s_flag, @s_flag+1; - close; - L_1d: - mes "[Irrelevant Man]"; - mes ".......Hmm?....."; - next; - mes "[Irrelevent Man]"; - mes "Hey!! DON'T LOOK AT ME like that! I'M NOT some WACKO okay!!!"; - set @s_flag, @s_flag+1; - emotion e_an; - close; - L_1e: - mes "[Irrelevant Man]"; - mes "Dude! I got nothin to say with you! Mind your own business! Sheesh!!"; - emotion e_pif; - close; - -L_Thief: - mes "[Irrelevant Man]"; - mes "Yah Hoo! Look at you! You became a Kool Thief!"; - emotion e_no1; - next; - mes "[Irrelevant Man]"; - mes "Don't worry about Shibu's Farm. Let the newbies handle that. Why don't yah go out and kill some stronger monsters?"; - close; - -L_Novice: - if(job_thief_q==2) goto L_3; - if(job_thief_q==1) goto L_2; - mes "[Irrelevant Man]"; - mes "Hey!! Novice! Want to be Stronger and more Powerful!? Do you like hiding and sneeking around?"; - mes "If so, Join the Thief Guild! You are always welcome! Join now!"; - next; - mes "[Irrelevant Man]"; - mes "You can get more information in the 1st floor basement of the Pyramid!"; - close; -L_2: - mes "[Irrelevant Man]"; - mes "Pssst......Pssst......hey you! You look like your gonna take the ^ff0000'Test'^000000. Am I right?"; - next; - mes "[Irrelevant Man]"; - mes "Lets see here.....(checks his list).... you're ^ff0000"+ strcharinfo(0) +"^000000 right? Good."; - next; - mes "[Irrelevant Man]"; - mes "Okay! I'm gonna show you the way in but keep quite. I can't guarantee your safety so watch your back."; - next; - - L_Warp: - set @TEMP,rand(5); - set job_thief_q,2; - if(@TEMP != 0) goto warpL03a; - warp "job_thief1.gat",228,106; - close; - warpL03a: - if(@TEMP != 1) goto warpL03b; - warp "job_thief1.gat",38,50; - close; - warpL03b: - if(@TEMP != 2) goto warpL03c; - warp "job_thief1.gat",66,331; - close; - warpL03c: - if(@TEMP != 3) goto warpL03d; - warp "job_thief1.gat",196,331; - close; - warpL03d: - warp "job_thief1.gat",309,234; - close; - -L_3: - mes "[Irrelevant Man]"; - mes "Muhahahaha~~ WHAT???~~ You HAVEN'T PASSED the Test yet? Are you some sort of Idiot!! Kakakaka!!"; - emotion e_heh; - next; - mes "[Irrelevant Man]"; - mes "Just kidding..... NOT!!. Anywho I'll let yah back in!"; - next; - menu "Ready",M_Yes,"Not yet",M_No; - - M_Yes: - goto L_Warp; - - M_No: - mes "[Irrelevant Man]"; - mes "Okay, let me know when you are."; - close; - -} - -//============================================================================== -// mapflag -//============================================================================== -job_thief1.gat mapflag nomemo -job_thief1.gat mapflag noteleport -job_thief1.gat mapflag nosave SavePoint -job_thief1.gat mapflag nopenalty -job_thief1.gat mapflag nobranch -job_thief1.gat mapflag noexp +//===== eAthena Script ======================================= +//= Thief Job Quest +//===== By: ================================================== +//= eAthena dev team +//===== Current Version: ===================================== +//= 1.6a +//===== Compatible With: ===================================== +//= eAthena 1.0 + +//===== Description: ========================================= +//= +//===== Additional Comments: ================================= +//= Fully working +//= v1.1 Added instant job change for High Novice [Lupus] +//= 1.3 Added Baby Class support [Lupus] +//= v1.4 Optimised and moved first checker to Jfunc1-1 [massdriller] +//= Fixed possible EXP abuse [Lupus] +//= 1.5 Now saves/restores all quest skills [Lupus] +//= 1.6 Merged back JFunc [Lupus] 1.6a typos +//============================================================ + + +// == Monsters == +//Spawn is included in this file so make shure its not elsewhere to! +job_thief1.gat,0,0,0,0 monster Orange Mushroom 1182,180,0,0,0 +job_thief1.gat,0,0,0,0 monster Fabre 1184,50,0,0,0 +job_thief1.gat,0,0,0,0 monster Chonchon 1183,50,0,0,0 +job_thief1.gat,0,0,0,0 monster Spore 1014,30,0,0,0 + + +// == NPCs == +// -- Interviewer -- +moc_prydb1.gat,39,129,5 script Thief Guide 69,{ + + mes "[Thief Guide]"; + if(BaseJob == Job_Thief) { + mes "You're already a thief..... What do you want from me... go away!"; + emotion e_swt; + close; + } + if(BaseClass == Job_Swordman) { + mes "What the heck...? Meh!~Here's another 'Bash' head. Do me a favor... why don't you go 'BASH', yourself in the head. Ha!"; + emotion e_gg; + close; + } + if(BaseClass == Job_Mage) { + mes "What the heck...? Ehhh??? A Circus Sideshow? Make a fire without a Matchstick, will ya?"; + emotion e_swt2; + close; + } + if(BaseClass == Job_Archer) { + mes "What the heck...? Hahahaha~are you a 'Kill Stealing' Archer...?"; + emotion e_heh; + close; + } + if(BaseClass == Job_Acolyte) { + mes "What the heck...? Ohhhhhh~GOD... PORING's worshipper, Acolyte..."; + mes "So why aren't you in church praying, instead of wandering about here, huh?"; + close; + } + if(BaseClass == Job_Merchant) { + mes "What the heck...? Eeeeeek~Merchant Scammer here...!!!! I am gonna report you to the GM!!!"; + emotion e_gasp; + close; + } + if(BaseClass != Job_Novice) { + mes "You already have a job. Stop bothering me and go help out some newbies or something."; + emotion e_no1; + close; + } + + if(job_thief_q==2) goto L_1; + if(job_thief_q==1) goto L_Back; + + if(Sex) { + mes "Heh... You look like a well to do boy... what brought you down to this rat hole?"; + }else{ + mes "Heh... You look like a well to do girl... what brought you down to this rat hole?"; + } + next; +M_Menu: + menu "'I didn't come here for the atmosphere.....",M_0,"Me? I'm just looking around...",M_End,"Just looking for the one truth",M_Truth; + + M_0: + mes "[Thief Guide]"; + mes "Hmph... you sound a little cocky.... Yah know, being a Thief isn't all it's cracked up to be...."; + mes "That reminds me.... I must have been at lvl 9 or 10 when I did my first robbery...."; + next; + mes "[Thief Guide]"; + mes "Hahahaha... I can still remember the look on that guy's face..."; + emotion e_heh; + next; + mes "[Thief Guide]"; + mes "But anyways... I assume you're here to become a thief..."; + next; + menu "You got it.",sM_0a, "Nope. Just wasting your time. ^ ^",sM_0b, "Why did you steal from that man?",sM_0c; + + sM_0a: + goto L_Test; + sM_0b: + mes "[Thief Guide]"; + mes "Wow... thanks... now get the HELL OUTA HERE!!"; + emotion e_an; + close; + sM_0c: + mes "[Thief Guide]"; + mes "Eh? Me?... Well... I really had no other choice at the time.... It was either I stole or I starved."; + mes "I really couldn't go hungry another day."; + close; + + M_Truth: + mes "[Thief Guide]"; + mes "To see one's light, you need to be under the magic of the book where the royalty looms."; + close; + + M_End: + mes "[Thief Guide]"; + mes "Must you people keep wasting my time!!?"; + emotion e_pif; + close; + + L_Test: + mes "[Thief Guide]"; + mes "Okay then; first, fill out this application form."; + next; + mes "^0000FF(You fill out the form and hand it back)^000000"; + next; + if(JobLevel < 10) goto sL_JobLvl; + + mes "[Thief Guide]"; + mes "Alrighty ^FF0000"+ strcharinfo(0) + "^000000, if that IS your real name..... looks like you've got quite a 'record' here."; + mes "Let's see.... aggravated assualt... felony larson..... hmm...."; + next; + mes "[Thief Guide]"; + mes "Ah, here we go...... you've got the job and skill requirements to become a Thief. Now all you've got to do is pass the ^FF0000Morroc Thief Test^000000."; + next; + + L_Explain: + mes "[Thief Guide]"; + mes " The test will require you to ^FF0000'sneak'^000000 into ^FF0000'Shibu's Farm'^000000, and ^FF0000'borrow'^000000 some ^AAAA00'Mushrooms'^000000."; + mes " There are ^ff00002^000000 kinds of ^AAAA00Mushrooms^000000 on the farm, ^FFBB00Orange Net Mushrooms^000000 and ^FFBB00Orange Gooey Mushrooms^000000."; + next; + mes "[Thief Guide]"; + mes "'Shibu just happens to be the worst merchant scammer in Morroc, in case you're wondering why he's our target."; + next; + mes "[Thief Guide]"; + mes " Bring the Mushrooms back here and someone will give you a score based on the type and the amount of mushrooms you get."; + mes " 1 Orange Net Mushroom = ^0000FF3 points^000000 while 1 Orange Gooey Mushroom = ^0000FF1 point^000000. You need ^FF000025^000000 points to pass the test."; + next; + mes "[Thief Guide]"; + mes " In order to get into Shibu's Farm you'll need to talk to one of our 'associates'. You can find him just ouside of this pyramid standing near some columns."; + mes " He goes by the name ^DDCC00'Irrelevant Man'^000000."; + next; + mes "[Thief Guide]"; + mes " Here are his exact coordinates just in case you are 'directionaly challenged': '^FF0000141, 125^000000'."; + mes " Find him and he'll show you a secrect way into the Farm."; + next; + mes "[Thief Guide]"; + mes " This sounds easy but ^009900do know, there are Monsters who guard Mushrooms^000000?"; + mes " Stop reading Fairy Tales and ^FF0000brace up your nerves; this will be the toughest experience ever^000000."; + next; + mes "[Thief Guide]"; + mes " So, I will give you one tip. ^FF0000Elaborate the Strategy^000000 before you going inside the Farm."; + next; + mes "[Thief Guide]"; + mes " Try to steal the mushrooms as quickly as you can. You may even have to ^0000FFunequip some weapons or armor to attack faster^000000."; + mes " Try not to get killed while doing this... at the very least try to give me the mushrooms first.... then you can go get yourself killed... HA!"; + next; + mes "[Thief Guide]"; + mes " If you don't have any questions... then GET moving!"; + emotion e_go; + set job_thief_q,1; + close; + + sL_JobLvl: + mes "[Thief Guide]"; + mes "Err... I can see how ambitious you are, but we can't hand a gun to a baby only for that. Come back when you learn all Basic Skills."; + close; + + L_Back: + if(countitem(1069)>0 || countitem(1070)>0) goto sL_1;//Items: Orange_Net_Mushroom, Orange_Gooey_Mushroom_, + + mes "..... What are you doing here? You're supposed to be gathering mushrooms remember??"; + mes "Don't tell me you forget what to do??? Jeeze... do you want me to explain it to you one more time?......"; + emotion e_hmm; + next; + menu "Heh.. yeah I guess..",sM_1a, "Nope.",sM_1b; + + sM_1a: + mes "[Thief Guide]"; + mes "(~sigh~) There's always someone who gets left behind.... This is the last time so listen CAREFULLY!!...."; + emotion e_pif; + next; + goto L_Explain; + sM_1b: + mes "[Thief Guide]"; + mes ".... Then what is it??? Do you have something to tell me? YOUR the one who came TO ME..."; + mes "What... you wanna a piece of me?? HUH!!??"; + emotion e_ag; + close; + + sL_1: + mes "What? You actually went and stole some mushrooms?? Are you some kinda idiot?"; + mes "Haha... I can't believe you listened to me..... "; + emotion e_what; + next; + mes "[Thief Guide]"; + mes ".... Psych!! Just kidding... heheheh! Speak with the guy next to me about rating the mushrooms you swiped."; + emotion e_heh; + close; + + L_1: + mes "So how was the Mushroom Farm? Did yah have much fun?"; + next; + menu "Yeah, kinda Cool.",M_Cool,"It was horrible.",M_Not; + + M_Cool: + mes "[Thief Guide]"; + mes " Wow! I like you! Fabulous! Everyone before you was #&$@ bloody As#$%^&s#!"; + next; + mes "[Thief Guide]"; + mes "...... You won't take my place, will you? If you have any ambition like that, I'll ^ff0000DESTROY YOU^000000!"; + // mes "...... You won't take my place, will you? If you have any ambition like that, I will kick your ^ff0000'ASS OUT OF YOUR BUTT'^000000!"; + // this is just too much lol. + // That line before was just too precious to delete. [KillerBox] + emotion e_gasp; + next; + mes "[Thief Guide]"; + mes " Still, in order to pass the test you need to go get some mushrooms."; + close; + M_Not: + mes "[Thief Guide]"; + mes " I know what yah mean. I was there before and it was awful: all those smelly mushrooms and aggressive monsters."; + next; + mes "[Thief Guide]"; + mes " Eeewww! Yuuuckk! Still, in order to pass the test you need to go get some mushrooms."; + emotion e_wah; + close; +} + + +// -- Test Grader -- +moc_prydb1.gat,42,133,2 script Comrade Brad 118,{ + callfunc "F_ToHigh",Job_Thief_High,"Thief High",Job_Assassin_Cross,"Brad"; + if(BaseJob == Job_Novice) goto L_Novice; + if(BaseJob == Job_Thief) goto L_Thief; + +L_Other: + mes "[Brad]"; + mes "Hey~ Hey~!! You don't look like a Thief. What the heck? You'd BETTER NOT be trying to start someting on THIEF TERRITORY!!"; + emotion e_omg; + close; +L_Thief: + mes "[Brad]"; + mes "We don't have any Special events for Thieves yet. Come back some other time, alright?"; + close; + +L_Novice: + mes "[Comrade Brad]"; + if((job_thief_q == 2) && ((countitem(1069) > 0) || (countitem(1070) > 0))) goto L_4;//Items: Orange_Net_Mushroom, Orange_Gooey_Mushroom_, + if(job_thief_q >= 1) goto L_3; + + mes "Errr? What's matter newbie? If you want to be a thief, speak to the girl beside me."; + close; +L_3: + mes "Go get some mushrooms so that I can grade them ok."; + close; +L_4: + mes "Good. You got some mushrooms from that crooked merchant Shibu"; + next; + + set @mushrm1,countitem(1069)*3;//Items: Orange_Net_Mushroom, + set @mushrm2,countitem(1070);//Items: Orange_Gooey_Mushroom_, + set @TotMush,@mushrm1 + @mushrm2; + set @money_thief,((countitem(1069) * 5) + (countitem(1070)* 2)) + 200;//Items: Orange_Net_Mushroom, Orange_Gooey_Mushroom_, + + mes "[Comrade Brad]"; + mes "Let's see you got:"; + mes "^0000ff"+countitem(1069)+"^000000 Orange Net Mushrooms for ^ffbb00"+@mushrm1+"^000000 points,";//Items: Orange_Net_Mushroom, + mes "^0000ff"+countitem(1070)+"^000000 Orange Gooey Mushrooms for ^ffbb00"+@mushrm2+"^000000 points,";//Items: Orange_Gooey_Mushroom_, + mes "Giving you a total score of ^ff0000"+@TotMush+"^000000."; + next; + if (@TotMush > 25) goto L_High; + if (@TotMush == 25) goto L_Medium; + + mes "[Comrade Brad]"; + mes "Meh!.... looks like you failed. C'mon! You can do better than that! Go get some more mushrooms!!!"; + close; + + L_Medium: + mes "[Comrade Brad]"; + mes "Good. You passed the Test."; + next; + goto L_Final; + + L_High: + mes "[Comrade Brad]"; + mes "Ooooh. Above 25, you will make an excellent thief."; + next; + L_Final: + mes "[Comrade Brad]"; + mes "Congratulations ^ff0000"+strcharinfo(0)+"^000000, you passed the official Thief Test! You can now become a Thief!!"; + emotion e_no1; + next; + if(SkillPoint > 0) goto sL_SkPoint; + delitem 1069, countitem(1069);//Items: Orange_Net_Mushroom, + delitem 1070, countitem(1070);//Items: Orange_Gooey_Mushroom_, + + callfunc "Job_Change",Job_Thief; + callfunc "F_ClearJobVar"; // clears all job variables for the current player + + mes "[Comrade Brad]"; + mes "Here's a small reward for your hard work. Spend it any way you want to."; + next; + set Zeny,Zeny+@money_thief; + mes "[Comrade Brad]"; + mes "From now on you must act, think, and even smell like a Thief."; + mes "You are one of us now, which means you have the trust and freindship of Thieves all over Rune Midgard"; + next; + mes "[Comrade Brad]"; + mes "However, If you bring disgrace to our Guild, or ever betray us, we will not hesitate to have you......"; + mes "How shall I say, ^ff0000'REMOVED'^000000 from the Thief Guild."; + emotion e_gg; + next; + mes "[Comrade Brad]"; + mes "Good luck and always remeber the ^0000cc'Thief Motto'^000000: ^ff0000DON'T Get Caught^000000l!"; + close; + + sL_SkPoint: + mes "[Comrade Brad]"; + mes "But before that happens please use up all of your skill points, okay?"; + close; + +} + + +// -- Irrelevant Man -- +moc_ruins.gat,141,125,3 script Irrelevant Man 118,{ + if(BaseJob == Job_Thief) goto L_Thief; + if(BaseJob == Job_Novice) goto L_Novice; + +L_Other: + if(@s_flag==1) goto L_1b; + if(@s_flag==2) goto L_1c; + if(@s_flag==3) goto L_1d; + if(@s_flag==4) goto L_1e; + set @s_flag, 0; + + L_1a: + mes "[Irrelevant Man]"; + mes "Howdy~ Howdy. What a Wonderful day today,isn't it?"; + mes "I feel like going on a 'Picnic' in the Pyramids with a couple freinds of mine today."; + set @s_flag, @s_flag+1; + close; + L_1b: + mes "[Irrelevant Man]"; + mes "'Lalalala, Home sweet Home.'"; + mes "I like this saying. Home Sweet Home...."; + set @s_flag, @s_flag+1; + close; + L_1c: + mes "[Irrelevant Man]"; + mes "...... I could fly if I fell off............ "; + set @s_flag, @s_flag+1; + close; + L_1d: + mes "[Irrelevant Man]"; + mes ".......Hmm?....."; + next; + mes "[Irrelevent Man]"; + mes "Hey!! DON'T LOOK AT ME like that! I'M NOT some WACKO okay!!!"; + set @s_flag, @s_flag+1; + emotion e_an; + close; + L_1e: + mes "[Irrelevant Man]"; + mes "Dude! I got nothin to say with you! Mind your own business! Sheesh!!"; + emotion e_pif; + close; + +L_Thief: + mes "[Irrelevant Man]"; + mes "Yah Hoo! Look at you! You became a Kool Thief!"; + emotion e_no1; + next; + mes "[Irrelevant Man]"; + mes "Don't worry about Shibu's Farm. Let the newbies handle that. Why don't yah go out and kill some stronger monsters?"; + close; + +L_Novice: + if(job_thief_q==2) goto L_3; + if(job_thief_q==1) goto L_2; + mes "[Irrelevant Man]"; + mes "Hey!! Novice! Want to be Stronger and more Powerful!? Do you like hiding and sneeking around?"; + mes "If so, Join the Thief Guild! You are always welcome! Join now!"; + next; + mes "[Irrelevant Man]"; + mes "You can get more information in the 1st floor basement of the Pyramid!"; + close; +L_2: + mes "[Irrelevant Man]"; + mes "Pssst......Pssst......hey you! You look like your gonna take the ^ff0000'Test'^000000. Am I right?"; + next; + mes "[Irrelevant Man]"; + mes "Lets see here.....(checks his list).... you're ^ff0000"+ strcharinfo(0) +"^000000 right? Good."; + next; + mes "[Irrelevant Man]"; + mes "Okay! I'm gonna show you the way in but keep quite. I can't guarantee your safety so watch your back."; + next; + + L_Warp: + set @TEMP,rand(5); + set job_thief_q,2; + if(@TEMP != 0) goto warpL03a; + warp "job_thief1.gat",228,106; + close; + warpL03a: + if(@TEMP != 1) goto warpL03b; + warp "job_thief1.gat",38,50; + close; + warpL03b: + if(@TEMP != 2) goto warpL03c; + warp "job_thief1.gat",66,331; + close; + warpL03c: + if(@TEMP != 3) goto warpL03d; + warp "job_thief1.gat",196,331; + close; + warpL03d: + warp "job_thief1.gat",309,234; + close; + +L_3: + mes "[Irrelevant Man]"; + mes "Muhahahaha~~ WHAT???~~ You HAVEN'T PASSED the Test yet? Are you some sort of Idiot!! Kakakaka!!"; + emotion e_heh; + next; + mes "[Irrelevant Man]"; + mes "Just kidding..... NOT!!. Anywho I'll let yah back in!"; + next; + menu "Ready",M_Yes,"Not yet",M_No; + + M_Yes: + goto L_Warp; + + M_No: + mes "[Irrelevant Man]"; + mes "Okay, let me know when you are."; + close; + +} + +//============================================================================== +// mapflag +//============================================================================== +job_thief1.gat mapflag nomemo +job_thief1.gat mapflag noteleport +job_thief1.gat mapflag nosave SavePoint +job_thief1.gat mapflag nopenalty +job_thief1.gat mapflag nobranch +job_thief1.gat mapflag noexp -- cgit v1.2.3-70-g09d2