diff options
Diffstat (limited to 'npc/jobs/1-1/mage.txt')
-rw-r--r-- | npc/jobs/1-1/mage.txt | 1055 |
1 files changed, 638 insertions, 417 deletions
diff --git a/npc/jobs/1-1/mage.txt b/npc/jobs/1-1/mage.txt index 93ad891f5..2be2c586d 100644 --- a/npc/jobs/1-1/mage.txt +++ b/npc/jobs/1-1/mage.txt @@ -1,13 +1,14 @@ //===== eAthena Script ======================================= //= Mage Job Quest //===== By: ================================================== -//= kobra_k88 +//= kobra_k88; L0ne_W0lf //===== Current Version: ===================================== -//= 1.6 +//= 1.7 //===== Compatible With: ===================================== -//= eAthena 1.0 + +//= eAthena SVN //===== Description: ========================================= -//= <Description> +//= [Aegis Conversion] +//= Job quest for Mage classes //===== Additional Comments: ================================= //= Fully working //= 1.1 Fixed input ingridients bug [Lupus] @@ -16,480 +17,700 @@ //= 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] +//= 1.7 Rescripted to Aegis 10.3 stadards. [L0ne_W0lf] +//= No longer uses function "F_ToHigh" //============================================================ - -// -- Expert Mage -- -geffen_in,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: +geffen_in,164,124,4 script Mage Guildsman 123,{ + if (Upper == 1) { + if (ADVJOB == Job_High_Wizard || ADVJOB == Job_Professer) { + if (Class == Job_Novice_High) { + mes "[Mage Guildsman]"; + mes "Whoa, long time no see! But weren't you supposed to be dead?"; + next; + mes "[Mage Guildsman]"; + mes "Ah, you must have been reborn. Well, I'm glad to have you back."; + next; + if (getskilllv(1) < 9) { + mes "[Mage Guildsman]"; + mes "I'm sorry, but I don't think you're ready to learn magic yet. Why don't you go finish learning the Basic Skills first?"; + next; + mes "[Mage Guildsman]"; + mes "Take your time. The more you learn, the more ready you'll be to learn magic again."; + close; + } + mes "[Mage Guildsman]"; + mes "Well, since you have passed the Mage test once, I will not question your qualification. You want to have your magic skills back immediately, don't you?"; + next; + skill 143,0,0; + jobchange Job_Mage_High; + skill 157,1,0; + mes "[Mage Guildsman]"; + mes "Wow, for some reason, you look way better than you did before. Anyway, I believe you will do a better job being a Mage as well."; + close; + } + else { + mes "[Mage Guildsman]"; + mes "Is there anything more I can help you with? If not, why don't you go test your skills? The world is waiting for you~!"; + close; + } + } + else { + mes "[Mage Guildsman]"; + mes "What, are you interested in the Mage guild? I didn't want to tell you this, but you don't belong here."; + next; + mes "[Mage Guildsman]"; + mes "I am not sure why you're still standing in front of me, but I can tell that you're not meant to be a Mage."; + close; + } + } + mes "[Mage Guildsman]"; + mes "Yo. What's up?"; 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; + switch(select("I want to be a Mage.:Tell me the Requirements.:Pretty much nothing.")) { + case 1: + mes "[Mage Guildsman]"; + if (BaseJob == Job_Mage) { + mes "Hey, haven't you realized? You're aleady a Mage, silly!"; + next; + mes "[Mage Guildsman]"; + mes "One of these days you'll realize the power inside of you when you can make Fire with your mind!"; + close; + } + if (BaseJob != Job_Novice) { + mes "Hey~ C'mon. Quit playing games. You can't be a Mage because you already have another Job."; + close; + } + if (job_magician_q == 0) { + mes "Wanna be a Mage, eh...?"; + if (sex) + mes "Hey, look at you! You're kinda cute~! Not my type though..."; + else { + mes "Oooh, you're such a hot babe~!"; + mes "I like girls like you~"; + } + next; + mes "[Mage Guildsman]"; + mes "Right, you said that you wanna be a Mage? Alright then, please sign the Mage Application."; + next; + if (select("Sign Up.:Quit.") == 1) { + mes "[Mage Guildsman]"; + mes "Okay. Sign right there. Oh, you're very good at spelling. Alright. So your name is... " + strcharinfo(0) + "."; + next; + mes "[Mage Guildsman]"; + mes "Now it's time for"; + mes "me to give you the test."; + switch(rand(3)) { + case 1: + mes "Make me a ^3355FFMixed Solution No. 1^000000"; + mes "and bring it back to me."; + set job_magician_q,1; + break; + case 2: + mes "Make me a ^3355FFMixed Solution No. 2^000000"; + mes "and bring it back to me."; + set job_magician_q,2; + break; + case 3: + mes "Make me a ^3355FFMixed Solution No. 3^000000"; + mes "and bring it back to me."; + set job_magician_q,3; + break; + default: + mes "Make me a ^3355FFMixed Solution No. 4^000000"; + mes "and bring it back to me."; + set job_magician_q,4; + } + next; + getitem 1092,1; //Empty_Cylinder + mes "[Mage Guildsman]"; + mes "You can find the neccessary ingredients inside the Guide Book in this Guild. So you better look up what you need before you go."; + next; + mes "[Mage Guildsman]"; + mes "Once you collect all the ingredients you, use the machine in the center of the room to mix the solution. Good luck!"; + close; + } + mes "[Mage Guildsman]"; + mes "Whaaaaat~?! Right after you tell me that you wanna become a Mage, you change your mind?! Be a bit more decisive!"; 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; + mes "Yeah? Ready...?"; + if (getskilllv(1) < 9) { + mes "Oh, what a bummer. You haven't met the requirements yet."; + next; + mes "[Mage Guildman]"; + mes "Go back and reach Novice Job level 9 first. Don't forget that you also have to learn all of the Basic Skills before you come back."; close; } - mes "Okays, just fill out this application form pleeassse."; + mes "" + strcharinfo(0) + "'s test was..."; + if (job_magician_q == 1) + mes "Making Mixed Solution No. 1."; + else if (job_magician_q == 2) + mes "Making Mixed Solution No. 2."; + else if (job_magician_q == 3) + mes "Making Mixed Solution No. 3."; + else + mes "Making Mixed Solution No. 4."; next; - mes "(you fill out the form and hand it back to her)"; + mes "[Mage Guildsman]"; + mes "Okay, let me"; + mes "check if you made your"; + mes "solution accurately..."; 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; + mes "[Mage Guildsman]"; + if (countitem(1071) == 0 && countitem(1085) == 0 && countitem(1086) == 0 && countitem(1087) == 0 && countitem(1090) == 0) { + mes "Hey, where's the Solution"; + mes "I asked for...? I can't check it if you don't show it to me, right?"; 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."; + else { + if (job_magician_q == 1 && countitem(1071) == 0) || (job_magician_q == 2 && countitem(1085) == 0 || job_magician_q == 3 && countitem(1086) == 0 || job_magician_q == 4 && countitem(1087) == 0) { + mes "Wait."; + mes "This isn't the"; + mes "Solution I asked for!"; + next; + mes "[Mage Guildsman]"; + if (job_magician_q == 1) + mes "You're supposed to make Mixed Solution No. 1 and bring it back to me. Now go and try it again."; + else if (job_magician_q == 2) + mes "You're supposed to make Mixed Solution No. 2 and bring it back to me. Now go and try it again."; + else if (job_magician_q == 3) + mes "You're supposed to make Mixed Solution No. 3 and bring it back to me. Now go and try it again."; + else + mes "You're supposed to make Mixed Solution No. 4 and bring it back to me. Now go and try it again."; + + if (countitem(1071) != 0) delitem 1071,1; //Mage_Test_1 + else if (countitem(1085) != 0) delitem 1085,1; //Mage_Test_2 + else if (countitem(1086) != 0) delitem 1086,1; //Mage_Test_3 + else if (countitem(1087) != 0) delitem 1087,1; //Mage_Test_4 + else delitem 1090,1; //Mage_Test_Etc + close; + } + } + if (countitem(1071) != 0) delitem 1071,1; //Mage_Test_1 + else if (countitem(1085) != 0) delitem 1085,1; //Mage_Test_2 + else if (countitem(1086) != 0) delitem 1086,1; //Mage_Test_3 + else if (countitem(1087) != 0) delitem 1087,1; //Mage_Test_4 + else delitem 1090,1; //Mage_Test_Etc + mes "Hmm. I can see that you tried really hard. For a beginner's attempt, this is really good."; + mes "Great work!"; 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."; + mes "[Mage Guildsman]"; + mes "Alright! I'm pleased to say that you've passed the Mage Test. I will transform you right away!"; 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."; - + mes "[Mage Guildsman]"; + mes "*Ahem*"; + mes "Congratulations!"; + mes "You are now a Mage!"; 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."; + callfunc "Job_Change",Job_Mage; + callfunc "F_ClearJobVar"; + set Zeny,Zeny+50; + mes "[Mage Guildsman]"; + mes "'Welcome to My World~'"; + mes "Heh heh, I just wanted to say that. You know, it's a quote from a well-known movie~"; 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."; + mes "[Mage Guildsman]"; + mes "Now that you're a Mage just like us, let's be friends, okay?"; + close; + case 2: + mes "[Mage Guildsman]"; + mes "Wanna be a Mage, eh?"; + if (sex) + mes "For a cutie like you, I'd be happy to explain the requirements!"; + else + mes "I'd be happy to explain the requirements for a pretty girl like you!"; + next; + mes "[Mage Guildsman]"; + mes "First of all, you have to reach Novice Job Level 10 and learn all of the Basic Skills. Then, you'll have to pass the Mage Test."; + next; + if (job_magician_q != 0) { + mes "[Mage Guildsman]"; + mes "Your test is to"; + switch(job_magician_q) { + case 1: + mes "make me a"; + mes "^3355FFMixed Solution No. 1^000000"; + mes "and bring it back to me."; + break; + case 2: + mes "make me a"; + mes "^3355FFMixed Solution No. 2^000000"; + mes "and bring it back to me."; + break; + case 3: + mes "make me a"; + mes "^3355FFMixed Solution No. 3^000000"; + mes "and bring it back to me."; + break; + default: + mes "make me a"; + mes "^3355FFMixed Solution No. 4^000000"; + mes "and bring it back to me."; + } + next; + mes "[Mage Guildsman]"; + mes "You can look up the ingredients you'll need to make the Solution inside the Guide Book in this Guild."; + } + else { + mes "[Mage Guildsman]"; + mes "You will be informed as to which Mixed Solution you will need to create after signing the application form."; + } next; - mes "[Expert Mage]"; - mes "Good Luck! I'll be waiting."; + mes "[Mage Guildsman]"; + mes "Let me know when you are ready to become a Mage, alright?"; 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."; + case 3: + mes "[Mage Guildsman]"; + mes "Nothing...?"; 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; +geffen_in,164,112,4 script Mixing Machine 111,{ + mes "[Mixing Machine]"; + mes "This machine is the property of the Geffen Mage Guild and is used only for mixing solutions for magic purposes."; 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; + if (select("Use Machine.:Cancel.") == 1) { + mes "[Mixing Machine]"; + mes "Choose the"; + mes "Solvent for"; + mes "the Solution."; 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; + switch(select("Payon Solution.:Morroc Solution.:No Solvent.")) { + case 1: + if (countitem(1089) == 0) { + mes "[Mixing Machine]"; + mes "Error."; + mes "Cannot find the item."; + mes "Please check again."; + mes "Process Halting."; + close; + } + set .@mixitem2,1; + break; + case 2: + if (countitem(1088) == 0) { + mes "[Mixing Machine]"; + mes "Error."; + mes "Cannot find the item."; + mes "Please check again."; + mes "Process Halting."; + close; + } + set .@mixitem2,2; + break; + case 3: + set .@mixitem2,0; + break; + } + while (1) { + if (.@progress == 2) { + mes "[Mixing Machine]"; + if (.@mixitem1_1 != 0) mes "Jellopy: " + .@mixitem1_1 + " ea."; + if (.@mixitem1_2 != 0) mes "Fluff: " + .@mixitem1_2 + " ea."; + if (.@mixitem1_3 != 0) mes "Milk: " + .@mixitem1_3 + " ea."; + if (.@mixitem2 == 0) mes "Solvent: None."; + if (.@mixitem2 == 1) mes "Solvent: Payon Solution."; + if (.@mixitem2 == 2) mes "Solvent: Morroc Solution."; + next; + mes "[Mixing Machine]"; + mes "Please choose if you wish to begin mixing, or to re-enter the number of items to be mixed."; + next; + switch(select("Begin Mixing.:Re-Enter Number of Items.:Reset.")) { + case 1: + mes "[Mixing Machine]"; + mes "Please place the items into the Mixing Receptacle. Make sure the item amounts are correct."; + next; + mes "[Mixing Machine]"; + mes "You cannot adjust or restore items once they are placed into the Mixing Receptacle."; + next; + mes "[Mixing Machine]"; + mes "If everything is correct, press the 'Mix' button when you are ready. Otherwise, press the 'Cancel' button."; + next; + if (select("Press 'Mix' Button.:Press 'Cancel' Button.") == 1) { + mes "[Mixing Machine]"; + mes "Place items into the Mixing Receptacle now. Please wait."; + next; + mes "[Mixing Machine]"; + if (countitem(909) < .@mixitem1_1) { + mes "Insufficient Jellopy."; + mes "Please Check again."; + mes "Process Halted."; + close; + } + else if (countitem(914) < .@mixitem1_2) { + mes "Insufficient Fluff."; + mes "Please Check again."; + mes "Process Halted."; + close; + } + else if (countitem(519) < .@mixitem1_3) { + mes "Insufficient Milk."; + mes "Please Check again."; + mes "Process Halted."; + close; + } + else if (.@mixitem2 == 1 || .@mixitem2 == 2) { + if (countitem(1089) == 0 && countitem(1088) == 0) { + mes "Solution not found."; + mes "Please Check again."; + mes "Process Halted."; + close; + } + } + if (.@mixitem1_1 != 0) delitem 909,.@mixitem1_1; //Jellopy + if (.@mixitem1_2 != 0) delitem 914,.@mixitem1_2; //Fluff + if (.@mixitem1_3 != 0) delitem 519,.@mixitem1_3; //Milk + if (.@mixitem2 == 1) delitem 1089,1; //Payon_Potion + if (.@mixitem2 == 2) delitem 1088,1; //Morocc_Potion + mes "Items are Ready."; + mes "Close the Lid."; + set .@progress,3; + next; + } + break; + case 2: + set .@continue,0; + next; + break; + case 3: + set .@mixitem1_1,0; + set .@mixitem1_2,0; + set .@mixitem1_3,0; + set .@progress,0; + set .@continue,0; + mes "[Mixing Machine]"; + mes "Reset Complete."; + mes "Initiate again?"; + next; + if (select("Yes.:No.") == 1) + break; + mes "[Mixing Machine]"; + mes "Process Halted."; + mes "Thank you."; + close; + } + if (.@progress == 3) break; + } + else if (.@progress == 1) { + mes "[Mixing Machine]"; + mes "Nothing found."; + next; + } + mes "[Mixing Machine]"; + mes "Select items to mix."; + while(1) { + switch(select("Jellopy.:Fluff.:Milk.:Ready to Mix.")) { + case 1: + while(1) { + input .@input; + if (.@input > 10000) { + next; + mes "[Mixing Machine]"; + mes "Error: Item limit exceeded. Please enter values less than 10,000 try again."; + next; + } + else { + if (countitem(909) > 0) set .@mixitem1_1,.@mixitem1_1 + .@input; + set .@progress,2; + break; + } + } + break; + case 2: + while(1) { + input .@input; + if (.@input > 10000) { + next; + mes "[Mixing Machine]"; + mes "Error: Item limit exceeded. Please enter values less than 10,000 try again."; + next; + } + else { + if (countitem(914) > 0) set .@mixitem1_2,.@mixitem1_2 + .@input; + set .@progress,2; + break; + } + } + break; + case 3: + while(1) { + input .@input; + if (.@input > 10000) { + next; + mes "[Mixing Machine]"; + mes "Error: Item limit exceeded. Please enter values less than 10,000 try again."; + next; + } + else { + if (countitem(519) > 0) set .@mixitem1_3,.@mixitem1_3 + .@input; + set .@progress,2; + break; + } + } + break; + + case 4: + if (.@progress != 2) + set .@progress,1; + set .@continue,1; + next; + } + if (.@continue) break; + } + } + mes "[Mixing Machine]"; + mes "Please enter the "; + mes "Serial Number of"; + mes "the Magic Powder."; next; - goto L_Explain; + while(1) { + input .@input; + if (.@input < 1000 || .@input > 9999) { + mes "[Mixing Machine]"; + if (.@input == 0) { + mes "Do you want to skip this Menu?"; + next; + if (select("Yes.:No.") == 1) { + break; + } + } + else { + mes "Invalid Serial Number."; + mes "Please try again."; + next; + } + } + else { + mes "[Mixing Machine]"; + mes "The Serial Number is #" + .@input + ", correct?"; + next; + if (select("Confirm.:Cancel.") == 1) { + if (.@input == 8472) + set .@magic_powder,1; + else if (.@input == 3735) + set .@magic_powder,2; + else if (.@input == 2750) + set .@magic_powder,3; + else if (.@input == 5429) + set .@magic_powder,4; + else + set .@magic_powder,5; + } + break; + } + } + mes "[Mixing Machine]"; + mes "Choose a"; + mes "Catalyst Stone."; + next; + switch(select("Yellow Gemstone.:Red Gemstone.:Blue Gemstone.:1carat Diamond.:Skip.")) { + case 1: set .@mixitem3,1; break; + case 2: set .@mixitem3,2; break; + case 3: set .@mixitem3,3; break; + case 4: set .@mixitem3,4; break; + case 5: break; + } + mes "[Mixing Machine]"; + mes "All Set."; + mes "Initiating"; + mes "Mixing process."; + mes "Please Wait."; + next; + mes "[Mixing Machine]"; + mes "- Proverb of the Day -"; + switch(rand(1,5)) { + case 1: + mes "An Eye for an Eye: When you take from a person, you must replace or repay in some way."; + break; + case 2: + mes "Credibility is a Man's Currency: There's a value in genuine trust that cannot be measured."; + break; + case 3: + mes "What Goes Around Comes Around: Ultimately, you will be treated in the way you treat others."; + mes "It means 'When you harm Another you will be harmed by him in an unavoidable situation'."; + break; + case 4: + mes "A good neighbor is better than a distant brother: When you need help, you can count on those close to you."; + break; + default: + mes "Birds of a Feather Flock Together: You can look at a person's friends as an indicator of their character."; + } + next; + if (.@mixitem1_1 == 2 && .@mixitem1_2 == 3 && .@mixitem1_3 == 1 && .@mixitem2 == 1 && .@mixitem3 == 1 && .@magic_powder == 1) { + mes "[Mixing Machine]"; + mes "Mage Test Solution No. 1."; + getitem 1071,1; //Mage_Test_1 + next; + } + else if (.@mixitem1_1 == 3 && .@mixitem1_2 == 1 && .@mixitem1_3 == 1 && .@mixitem2 == 0 && .@mixitem3 == 2 && .@magic_powder == 2) { + mes "[Mixing Machine]"; + mes "Mage Test Solution No. 2."; + getitem 1085,1; //Mage_Test_2 + next; + } + else if (.@mixitem1_1 == 6 && .@mixitem1_2 == 1 && .@mixitem1_3 == 0 && .@mixitem2 == 1 && .@mixitem3 == 3 && .@magic_powder == 3) { + mes "[Mixing Machine]"; + mes "Mage Test Solution No. 3."; + getitem 1086,1; //Mage_Test_3 + next; + } + else if (.@mixitem1_1 == 2 && .@mixitem1_2 == 3 && .@mixitem1_3 == 0 && .@mixitem2 == 2 && .@mixitem3 == 4 && .@magic_powder == 4) { + mes "[Mixing Machine]"; + mes "Mage Test Solution No. 4."; + getitem 1087,1; //Mage_Test_4 + next; + } + else { + mes "[Mixing Machine]"; + mes "Unexpected"; + mes "Error Occurred."; + getitem 1090,1; //Mage_Test_Etc + next; + } + mes "[Mixing Machine]"; + mes "Mixing Complete."; + mes "Thank you."; + close; + } + close; +} +pay_arche,122,100,0 script Dollshoi 88,{ + mes "[Mage Guildsman]"; + mes "You want a Solution? Hmm, give me 50 Zeny and at least 1 Empty Test Tube."; + next; + if (select("Alright, Deal.:Nah, forget it.") == 1) { + mes "[Mage Guildsman]"; + if (Zeny < 50) { + mes "Hey! You don't have enough money to cover my 50 Zeny charge."; + close; + } + if (countitem(1092) == 0) { + mes "You can't carry solutions without a bottle! Bring me an Empty Test Tube."; + close; + } + delitem 1092,1; //Empty_Cylinder + set zeny,zeny-50; + getitem 1089,1; //Payon_Potion + } + close; } -// -- Solutions Guide Book -- -geffen_in,177,112,1 script Solutions Guide Book 111,{ - mes "[Solutions Guide Book]"; - mes "I belong to Geffen Magic Academy. Please handle with care."; +moc_ruins,91,150,0 script Ponka-Hontas 93,{ + mes "[Mage Guildsman]"; + mes "Would you like a Solution? Then please give me 50 Zeny and at least 1 Empty Testtube."; next; - menu "Solution No. 1.",Sol1,"Solution No. 2.",Sol2,"Solution No. 3.",Sol3,"Solution No. 4.",Sol4,"Close.",Cancel; + IF (select("Alright, Deal.:Nah, forget it.") == 1) { + mes "[Mage Guildsman]"; + if (zENY < 50) { + mes "I'm sorry, but you don't have enough money to cover the 50 Zeny fee."; + close; + } + if (countitem(1092) == 0) { + mes "You can't carry liquids without using a bottle. Bring an Empty Test Tube the next time you see me."; + close; + } + delitem 1092,1; //Empty_Cylinder + set zeny,zeny-50; + getitem 1088,1; //Morocc_Potion + } + CLOSE; +} - Sol1: +geffen_in,177,112,4 script Bookshelf 111,{ + mes "[Guide Book]"; + mes "This Guide Book is the property of the Geffen Mage Association. Please handle with care."; + next; + switch(select("Solution No. 1.:Solution No. 2.:Solution No. 3.:Solution No. 4.:Close.")) { + case 1: mes "[Mage Test Solution No. 1]"; - mes "* Ingredients list *"; - mes " - Jellopy 2 ea"; - mes " - Fluff 3 ea"; - mes " - Milk 1 ea"; + mes "* Ingredients List *"; + mes "2 Jellopy"; + mes "3 Fluff"; + mes "1 Milk"; 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."; + mes "Payon Solution"; + mes "Where to Find:"; + mes "A small spring in Payon, the Archer Village."; next; mes "[Mage Test Solution No. 1]"; - mes "* Chemical ingredients *"; - mes " - 8472"; + mes "* Magic Power Serial Code *"; + mes "8472"; next; mes "[Mage Test Solution No. 1]"; - mes "* A Catalyst *"; - mes " - Yellow Gemstone"; - mes " (Mixing Machine Will provide"; - mes " this item.)"; + mes "* Catalyst *"; + mes "Yellow Gemstone"; + mes "(Provided by"; + mes "Mixing Machine)"; close; - Sol2: + case 2: mes "[Mage Test Solution No. 2]"; - mes "* Ingredients list *"; - mes " - Jellopy 3 ea"; - mes " - Fluff 1 ea"; - mes " - Milk 1 ea"; + mes "* Ingredients List *"; + mes "3 Jellopy"; + mes "1 Fluff"; + mes "1 Milk"; next; mes "[Mage Test Solution No. 2]"; mes "* Solvent Agent *"; - mes " - Not Appliable."; + mes "None"; next; mes "[Mage Test Solution No. 2]"; - mes "* Chemical ingredients *"; - mes " - 3735"; + mes "* Magic Power Serial Code *"; + mes "3735"; next; mes "[Mage Test Solution No. 2]"; - mes "* A Catalyst *"; - mes " - Red Gemstone"; - mes " (Mixing Machine Will provide"; - mes " this item.)"; + mes "* Catalyst *"; + mes "Red Gemstone"; + mes "(Provided by"; + mes "Mixing Machine)"; close; - Sol3: + case 3: mes "[Mage Test Solution No. 3]"; - mes "* Ingredients list *"; - mes " - Jellopy 6 ea"; - mes " - Fluff 1 ea"; + mes "* Ingredients List *"; + mes "6 Jellopy"; + mes "1 Fluff"; 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."; + mes "Payon Solution"; + mes "Where to Find:"; + mes "A small spring in Payon, the Archer Village."; next; mes "[Mage Test Solution No. 3]"; - mes "* Chemical ingredients *"; - mes " - 2750"; + mes "* Magic Power Serial Code *"; + mes "2750"; next; mes "[Mage Test Solution No. 3]"; - mes "* A Catalyst *"; - mes " - Blue Gemstone"; - mes " (Mixing Machine Will provide"; - mes " this item.)"; + mes "* Catalyst *"; + mes "Blue Gemstone"; + mes "(Provided by"; + mes "Mixing Machine)"; close; - Sol4: + case 4: mes "[Mage Test Solution No. 4]"; - mes "* Ingredients list *"; - mes " - Jellopy 2 ea"; - mes " - Fluff 3 ea"; + mes "* Ingredients List *"; + mes "2 Jellopy"; + mes "3 Fluff"; 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."; + mes "Morroc Solution"; + mes "Where to Find:"; + mes "A small spring near entrance of pyramid in Morroc."; next; mes "[Mage Test Solution No. 4]"; - mes "* Chemical ingredients *"; - mes " - 5429"; + mes "* Magic Power Serial Code *"; + 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,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,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 a merchant and sell something, it will not be too hard I hope."; - close; - L1: - mes "[Mage Guildsman]"; - close; -} - - -// -- Payon Solution -- -pay_arche,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 a merchant and sell something, it will not be too hard I hope."; - close; - L1: - mes "[Mage Guildsman]"; + mes "* Catalyst *"; + mes "1 carat Diamond"; + mes "(Provided by"; + mes "Mixing Machine)"; close; + } } |