summaryrefslogtreecommitdiff
path: root/npc/jobs/1-1/mage.txt
diff options
context:
space:
mode:
Diffstat (limited to 'npc/jobs/1-1/mage.txt')
-rw-r--r--npc/jobs/1-1/mage.txt1055
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;
+ }
}