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/2-1/wizard.txt | 3032 +++++++++++++++++++++++------------------------ 1 file changed, 1516 insertions(+), 1516 deletions(-) (limited to 'npc/jobs/2-1/wizard.txt') diff --git a/npc/jobs/2-1/wizard.txt b/npc/jobs/2-1/wizard.txt index 6849257a6..ac79f48ba 100644 --- a/npc/jobs/2-1/wizard.txt +++ b/npc/jobs/2-1/wizard.txt @@ -1,1516 +1,1516 @@ -//===== eAthena Script ======================================= -//= Wizard Job Quest -//===== By: ================================================== -//= (Aegis) Translated by yoshiki -//= converted by kobra_k88 -//= Further bugfixed and tested by Lupus -//===== Current Version: ===================================== -//= 2.2 -//===== Compatible With: ===================================== -//= eAthena 1.0 -//===== Description: ========================================= -//= Wizard job quest converted from aegis script, plus my own RO screenies. -//===== Additional Comments: ================================= -//= 1.1 Now using the initnpctimer command, donpcevent, -//= and new waitingroom event commands. No more addtimer spamming. -//= No longer have to talk to the npc to take the test. Just enter the chat room. -//= 1.2 Changed global variable names to unique ones. -//= 1.2a Rollback from the wrong Kashy's fix -//= 1.2b Fixed issue with duplicating monsters thx to Bison.[kobra_k88] -//= 1.2c changed one Horong to Frilldora (now 3rd room contains 1 agressive mob.) -//= 1.2d more simplified fire room - removed agressive Desert Wolf [Lupus] -//= 1.3 Added Baby Class support [Lupus] -//= 1.5 Fixed possible EXP abuse [Lupus] -//= 1.6 Added a func which prevent advanced classes passing -//= 2nd Job Quests again. It also guides adv classes where -//= to go. [Lupus] -//= 1.7 Replaced 2 Hodes with 2 Horong's (according to the official guide) [Lupus] -//= 1.8 Removed callfunc Is_####_Class in favor of baseClass [Silentdragon] -//= 2.1 Changed numbers to constants. [Vicious] -//= 2.2 Merged back JFunc [Lupus] -//============================================================ - - -//<=================== Some dog =========================> -gef_tower.gat,107,35,5 script Some Dog 81,{ - callfunc "F_BlockHigh",Job_Mage_High,"High Mage",Job_High_Wizard,"High Wizard","Dog"; - mes "[Dog]"; - if(baseJob == Job_Mage) goto L_JobMage; - if(baseClass == Job_Mage){ - mes "Ah! High level magic users, welcome. It's always nice to see experienced magic users around here."; - mes "Actually it's nice to see them anywhere! ~Woof!~"; - close; - } - if(baseClass == Job_Acolyte){ - mes "Eeek! What's a holy type person doing up here? I thought you people didn't like magic...."; - mes "You religious types are always calling it the 'dark arts'......... ooooh scary!!!...... ~grrr!~WOOF!~"; - close; - } - mes "Sheesh....... Why would someone who can't even cast a single spell come all the way up here???"; - next; - mes "[Dog]"; - mes "If you're that bored, do the world a favor and climb to the top of this building from the outside, then do some acrobatics...."; - emotion e_pif; - next; - mes "[Dog]"; - mes "~WOOF~ Get lost! I don't have time for people like you!!"; - emotion e_go; - close; - -L_JobMage: - mes "[Dog]"; - mes "Ah... I know what you're about to say.... You want to become a Wizard right?"; - next; - mes "[Dog]"; - mes "Speak with Catherine. She'll help you out."; - next; - mes "[Dog]"; - mes "If you want to know more about the job change process for Wizards, I can be of help."; - next; - menu "..................",M_0, "A dog is talking to me......",M_1; - - M_0: - mes "[Dog]"; - mes "~Woof~ What is it? Why are you looking at me like that?? Is this the first time you've seen a dog talk?"; - emotion e_what; - mes "[Dog]"; - mes "~Woof~ I suppose it's not that common to see a talking dog..... ~Woof~..... Yeah, it is a rare site actually....."; - next; - mes "[Dog]"; - mes "~GRRRR!!~.... Hey! Stop GAWKING at me for goodness sake!! ~WOOOF~"; - emotion e_an; - next; - - L_Cont: - mes "[Dog]"; - mes "My name is Maria Splodofska. Just call me Maria. I'm assisting candidates for the Wizard class."; - next; - mes "[Maria]"; - mes "~Woof~ You see, the reason I became a dog was.... I was helping my boyfriend with his experiment in preperation for his Final."; - mes "He is studying for a Magic Degree. Well, before I knew what happened he accidentally turned me into a dog....."; - next; - mes "[Maria]"; - mes "~Grrrrr~ In a couple of months the chemicals should wear off and I should return to normal. Well theoretically speaking anyhow."; - next; - mes "[Maria]"; - mes "Uh, anyways..... where were we?"; - emotion e_hmm; - next; - mes "[Maria]"; - mes "Like I said before, if you want to become a Wizard you must first speak with Catherine."; - mes "She just recently became a Wizard so she should be a great help."; - next; - mes "[Maria]"; - mes "I can tell you more about the job changing process, but I wouldn't want to take up anymore of your time."; - mes "That is unless, you want me to go on about what's in store for Wizards to be?........."; - next; - menu "Yes, please continue.",sM_0, "No, it's ok.",sM_1, "A talking dog......",sM_2; - - sM_0: - mes "[Maria]"; - mes "Ok then. Let me explain the process for becoming a Wizard to you...."; - next; - mes "[Maria]"; - mes "There are 3 Tests in the Wizard job change process. The ^5555FF1st Test^000000 will require you to collect a number of ^FF5555magic items^000000."; - next; - mes "[Maria]"; - mes "Catherine will give you that test. She will ask to you collect either a variety of ^5555FFGemstones^000000, or ^5555FFElemental Ores^000000."; - next; - mes "[Maria]"; - mes "The ^5555FF2nd Test^000000 will be administered by the, ever gloomy Raul, in the corner over there."; - mes "It is a multiple choice Q&A exam about the different aspects of magic."; - next; - mes "[Maria]"; - mes "The exam will consist of 10 questions. If you miss any of those questions you will fail the exam."; - next; - mes "[Maria]"; - mes "Raul will also administer the ^5555FF3rd Test^000000. This is the last test and it requires that defeat a series of monsters."; - mes "There will be three rooms each filled with monsters of a specific elemental attribute."; - next; - mes "[Maria]"; - mes "It is up to you to figure what spells work best on which monsters."; - next; - mes "[Maria]"; - mes "Well, that's all I can tell you. Go ahead and apply now."; - close; - sM_1: - mes "[Maria]"; - mes "Oh, ok. Go ahead and apply and do your best."; - close; - sM_2: - mes "[Maria]"; - mes "I'M NOT A DOG!!! ~ ARROOOOOOOOOWWWWW!!!! ~"; - emotion e_an; - next; - mes "[Maria]"; - mes "Dang it! I hope you FAIL!! Now go get lost!"; - emotion e_go; - next; - warp "gef_dun00.gat",54,23; - end; - M_1: - mes "[Dog]"; - mes "~WOOF~Woof~woof~ You DON'T have to state the obvious! I KNOW I'm a dog!"; - emotion e_pif; - next; - goto L_Cont; - -} - - -//<=========================================== Registrar and Examiner Catherine Medichi ==============================================>\\ -gef_tower.gat,111,37,4 script Catherine Medichi 68,{ - callfunc "F_BlockHigh",26,"High Mage",33,"High Wizard","Catherine Medichi"; - - mes "[Catherine Medichi]"; - if(BaseJob == Job_Mage) goto L_Mage; - - if(BaseJob == Job_Wizard){ - mes "What do you need fellow Wizard? If it's nothing, please leave..."; - next; - mes "[Catherine Medichi]"; - if(sex){ - mes "... Of course, if your here to ask me out... (*giggles*)...."; - } else { - mes "If you get yourself a boyfriend, feel free to drop by and show him off. XD"; - } - emotion e_lv; - close; - } - if(BaseJob == Job_Novice){ - mes "Awwww, a little novice! How cute! This place is for Wizards only though."; - emotion e_lv2; - next; - mes "[Catherine Medichi]"; - mes "If you're interested in magic, the ^0000FFMagician's Guild^000000 is the place for you."; - close; - } - mes "Hmm? What brings you all the way up here? If you have nothing to do here, please leave."; - mes "This place is for wizards only. =P"; - next; - mes "[Catherine Medichi]"; - mes "Try not to fall as you go back down...."; - close; - -L_Mage: - if(WIZ_Q == 2) goto L_Test2; - if(WIZ_Q == 3) goto L_Test3; - if(WIZ_Q == 4) goto L_Done; - if(WIZ_Q2 > 0) goto L_Test1; - - mes "My name's Catherine Medichi, and I just became a Wizard. Relax, you can call me Catherine."; - next; - mes "[Catherine Medichi]"; - mes "What brings you all the way up here? You want to be a wizard, right?"; - next; - menu "Of course!",M_0a, "The requirements",M_0b,"Not really",M_0End; - - M_0a: - mes "[Catherine Medichi]"; - mes "Please fill out this application form first."; - next; - mes "(you fill out the form and hand it back)"; - next; - if(JobLevel < 40) goto sL_JobLvl; - if(JobLevel == 50) goto sL_Job50; - - mes "[Catherine]"; - mes "Alright ^ff0000"+strcharinfo(0)+"^000000, it looks like you have everything in order."; - next; - mes "[Catherine Medichi]"; - mes "Now let me tell you about the test. It is divided into 3 parts."; - mes "- The 1st part involves the collecting of a number of magical items,"; - mes "- the 2nd part is a Q&A exam,"; - mes "- and the 3rd section is our favorite, the field exam."; - next; - mes "[Catherine Medichi]"; - mes "People with a job lvl of 50 can skip the first test. They have already worked hard enough."; - next; - mes "[Catherine Medichi]"; - mes "Now for the first part of the test. This requires the gathering of a number of magic items."; - next; - set WIZ_Q2, rand(1,2); - - mes "[Catherine Medichi]"; - mes "The items you need to bring are:"; - if(WIZ_Q2 == 2) goto R_2; - - R_1: - mes "- 10 ^ff0000Red gemstones^000000"; - mes "- 10 ^0000ffBlue gemstones^000000"; - mes "- and 10 ^ddcc11Yellow gemstones^000000."; - goto L_Cont0; - - R_2: - mes "5 ^0000ffCrystal Blues^000000,"; - mes "5 ^009900Green Lives^000000,"; - mes "5 ^ff0000Red Bloods^000000,"; - mes "and 5 ^ddcc11Wind of Verdures^000000."; - - L_Cont0: - next; - mes "[Catherine Medichi]"; - mes "This test isn't THAT hard, so get going!"; - next; - mes "[Catherine Medichi]"; - mes "Good luck! I'll be waiting!"; - set WIZ_Q, 1; - close; - - sL_JobLvl: - mes "[Catherine Medichi]"; - mes "Hey, I told you already. You have to have at least job lvl 40."; - mes "Don't you remember me telling you that?"; - close; - - sL_Job50: - mes "[Catherine Medichi]"; - mes "Wow! You're at job level 50! You must have worked really hard! I'm impressed!"; - next; - mes "[Catherine Medichi]"; - mes "Okay, I'll record that you're job 50. You get to skip the first test, but you still got 2 left."; - next; - mes "[Catherine Medichi]"; - mes "Now, talk to that man in the corner for the test. It's hard, so be careful."; - set WIZ_Q, 2; - close; - - M_0b: - mes "[Catherine Medichi]"; - mes "Even though many people want to become Wizards, only those with a job level of 40 can qualify."; - mes "Anyone with a job level less then that wouldn't have enough magic power to become a Wizard."; - next; - mes "[Catherine Medichi]"; - mes "Then there is the matter of the Wizard's Test. The test is made up of 3 sections."; - mes "Each section focuses on different asspects of Wizardry."; - next; - mes "[Catherine Medichi]"; - mes "Once you pass the test you'll be a Wizard just like me. Yay!"; - mes "Unfortunately a lot people have trouble with the test and never quite make it.(*sighs*)"; - next; - mes "[Catherine Medichi]"; - mes "Maybe you'll have better luck."; - close; - - M_0End: - mes "[Catherine Medichi]"; - mes "What? You came up here for nothing!?"; - emotion e_what; - close; - - - L_Test1: - mes "Did you get all of the items? Let's see......"; - next; - mes "[Catherine Medichi]"; - if(WIZ_Q2 == 1) goto sL_Gems; - if(WIZ_Q2 == 2) goto sL_Ores; - - sL_Gems: - if (countitem(716)<10 || countitem(717)<10 || countitem(715)<10) goto ssL_NotDone; - mes "Great! You've brought everything! The guild will use these well."; - next; - delitem 716, 10; - delitem 717, 10; - delitem 715, 10; - goto ssL_Done; - - sL_Ores: - if (countitem(991)<4 || countitem(993)<4 || countitem(990)<4 || countitem(992)<4) goto ssL_NotDone; - mes "Great! You've found them all! The guild will use them well."; - next; - delitem 991, 5; - delitem 993, 5; - delitem 990, 5; - delitem 992, 5; - - ssL_Done: - mes "[Catherine Medichi]"; - mes "Congrats, you passed the first test."; - mes "Don't relax yet, you still got 2 tests left."; - emotion e_no1; - next; - mes "[Catherine Medichi]"; - mes "Now talk to the man in the corner for the tests."; - mes "It's pretty hard, so be carefull."; - set WIZ_Q, 2; - set WIZ_Q2, 0; - close; - - ssL_NotDone: - mes "It seems you didn't bring everything that's needed."; - next; - mes "[Catherine Medichi]"; - mes "It's hard work to get all the way up here so make sure you have all of the right items okay?"; - next; - mes "[Catherine Medichi]"; - mes "You need:"; - if(WIZ_Q2 == 1) goto R_1; - if(WIZ_Q2 == 2) goto R_2; - close; - - L_Test2: - if(WIZ_Q2 == 1)goto sL_Failed2; - mes "Hey, did you go talk to the man? No? You can't just become a wizard by getting items."; - next; - mes "[Catherine Medichi]"; - mes "There are 2 more tests left. I'll be waiting, so go finish them."; - close; - - sL_Failed2: - mes "Huh?? You failed the Q&A test!?"; - emotion e_what; - next; - mes "[Catherine Medichi]"; - mes "You want to be a wizard and you can't answer a couple of questions?? Sheesh."; - emotion e_swt; - next; - mes "[Catherine Medichi]"; - mes "Well, do you want big sis to give you a hint? If you do, go buy me ^0099001 apple juice^000000. I'm a bit thirsty. =P"; - next; - menu "Can I have a hint?",M_1a, "I can pass on my own!",M_1b; - - M_1a: - if (countitem(531) < 1) goto sL_NoJuice; - delitem 531, 1; - - mes "[Catherine Medichi]"; - mes "Mmmmmmmmmmmmm, apple juice. ~gulp~gulp~"; - next; - mes "[Catherine Medichi]"; - mes "Thanks, I'll give you the hint now."; - next; - mes "[Catherine Medichi]"; - mes "The man gives you 3 major types of questions, about:"; - mes "- ^ff0000spells^000000,"; - mes "- ^ff0000monsters^000000,"; - mes "- and ^ff0000the caster^000000."; - next; - mes "[Catherine Medichi]"; - mes "It's up to him to pick the questions."; - next; - mes "[Catherine Medichi]"; - mes "Ya know... if he got a hair cut and shaved, he might look cool..."; - mes "But obviously he wouln't do it...."; - next; - mes "[Catherine Medichi]"; - mes "Anyways, about his questions on spells, there are obviously some on spells you've learned."; - next; - mes "[Catherine Medichi]"; - mes "There are also questions about spells you DON'T know much about, so go ask some Wizards for that info."; - next; - mes "[Catherine Medichi]"; - mes "There are also places out there with lots of information about spells, such as www.emperium.org."; - mes "You can probably find other sites as well."; - next; - mes "[Catherine Medichi]"; - mes "As far as the questions on monsters go, you COULD fight them to learn about them... OR..."; - next; - mes "[Catherine Medichi]"; - mes "... If I remember correctly, there's a libary in Prontera that has lots of information on monsters."; - mes "You could just go there and read about them."; - next; - mes "[Catherine Medichie]"; - mes "Now, about the questions about the caster.... You're on your own for this one.."; - mes "Why? Because YOU ARE the caster!"; - next; - mes "[Catherine Medichi]"; - mes "If you don't know anything about yourself, how would a stranger like me know?"; - next; - mes "[Catherine Medichi]"; - mes "Well good luck! Mister Examiner is waiting!"; - close; - - sL_NoJuice: - mes "[Catherine Medichi]"; - mes "Well, if you want hints, I need apple juice!. Otherwise, you're on your own =P."; - close; - - M_1b: - mes "[Catherine Medichi]"; - mes "That's right! Tests are meant to be done alone! That's definatly the way a Wizard should think!"; - next; - mes "[Catherine Medichi]"; - mes "Good luck! Mister Examiner is waiting!"; - close; - - L_Test3: - if(WIZ_Q2 == 1) goto sL_Failed3; - mes "He he, I could hear you in there working hard on those questions."; - next; - mes "[Catherine Medichi]"; - mes "Good job, only one test left! Finish that and you'll be a wizard!"; - next; - mes "[Catherine Medichi]"; - mes "Good luck! The examiner's waiting!"; - close; - - sL_Failed3: - mes "Why did you come out during the test? I never thought you were that weak..."; - next; - if(sex==1) goto ssL_M3; - if(sex==0) goto ssL_F3; - - ssL_M3: - mes "[Catherine Medichi]"; - mes "How could a powerful mage like you get beaten so easily!! Go back in and try harder."; - close; - - ssL_F3: - mes "[Catherine Medichi]"; - mes "You can't act all weak, just because you're a girl! If you want to be a wizard, go and pass the test!"; - next; - mes "[Catherine Medichi]"; - mes "I thought it was hard too, but it wasn't enough to make me quit! You just have to face hardship sometimes!"; - close; - - - L_Done: - if(SkillPoint > 0) mes "You need to use up all of your skill points before I can make you a Wizard."; - if(SkillPoint > 0) close; - - mes "Great! You finished all of the tests! Congrats, congrats, congrats!!"; - emotion e_no1; - next; - mes "[Catherine Medichi]"; - mes "Ack, I'm wasting time, I better change you!"; - next; - callfunc "Job_Change",Job_Wizard; - callfunc "F_ClearJobVar"; // clears all job variables for the current player - - mes "[Catherine Medichi]"; - mes "Now you're a wizard! Act responsibly!"; - next; - mes "[Catherine Medichi]"; - mes "Make sure when you cast a spell, you know exactly what's going to happen!"; - next; - mes "[Catherine Medichi]"; - mes "Don't do stupid things like casting in the middle of town!"; - mes "It causes lag and magic is supposed to be used on monsters anyways!"; - next; - mes "[Catherine Medichi]"; - mes "Become mightier by partying with others! Oh yea, here's a present!"; - next; - mes "[Catherine Medichi]"; - mes "(Rustle Rustle)"; - next; - getitem 505, 6; - mes "[Catherine Medichi]"; - mes "Use them wisely. It's a present from me, so you better use them all!"; - next; - mes "[Catherine Medichi]"; - mes "Well my fellow Wizard, take care and have a great life!"; - close; -} - - -//<================================================ Examiner: Raul Expagarus ==================================================>\\ -gef_tower.gat,102,24,3 script Raul Expagarus 735,{ - mes "[Raul Expagarus]"; - if(BaseJob == Job_Mage) goto L_Mage; - if(BaseJob == Job_Wizard) goto L_Wizard; - if(baseClass == Job_Acolyte) goto L_Holy; - if(BaseJob == Job_Novice) goto L_Novice; -L_Other: - mes "Ugh, I don't feel good....I feel like I'm trapped in ice........"; - next; - mes "[Raul Expagarus]"; - mes "Who're you?! Leave!"; - emotion e_gasp; - close; -L_Novice: - mes "What's a little kid like you doing here? Get out!!"; - emotion e_gasp; - next; - warp "geffen.gat",120,110; - close; -L_Holy: - mes "Leave holy ones!"; - mes "Magic is considered to be a power that is not from God......."; - next; - mes "[Raul Expagarus]"; - mes "Besides, I'm not feeling too good. So Leave now!"; - close; -L_Wizard: - mes "Cough Cough, what can I do for you? Hmmm... you're a magic user too..."; - next; - mes "[Raul Expagarus]"; - if(sex==1) goto L_M; - if(sex==0) goto L_F; - - L_M: - mes "If you're not responsible, you might accidently learn useless spells."; - mes "Instead of that, you might want to focus on learning spells you'll be using now."; - next; - mes "[Raul Expagarus]"; - mes "In a fight for love, you might become crippled hehe."; - close; - - L_F: - mes "If you're not responsible, you might accidently learn useless spells."; - mes "You should learn a spell with all of your heart or not learn it at all."; - next; - mes "[Raul Expagarus]"; - mes "If you don't wish to study like that............... Heh, then go be a housewife."; - close; - -L_Mage: - if(WIZ_Q == 1) goto L_NotRdy; - if(WIZ_Q == 2) goto L_Test2; - if(WIZ_Q == 3) goto L_Test3; - if(WIZ_Q == 4) goto L_Done; - - mes "Cough, I don't have any time to talk."; - next; - mes "[Raul Expagarus]"; - mes "Sorry, but please leave."; - close; - - L_NotRdy: - mes "Heh, a wizard trainee eh?!"; - next; - mes "[Raul Expagarus]"; - mes "You COULD just stay as a mage and live a pretty decent life....."; - next; - mes "[Raul Expagarus]"; - mes "Then again, wizards ARE much more high class....."; - close; - - L_Done: - mes "Congratulations on finishing the final test! You have now finished all of the Wizards tests and are ready to become a Wizard!"; - emotion e_no1; - next; - mes "[Raul Expagarus]"; - mes "Go speak to Catherine to become a Wizard. But be careful! Magic is a powerfull force and can easily destroy you!!"; - close; - - L_Test2: - if(WIZ_Q2 == 1) goto sL_ReTest2; - - mes "I see you've passed the 1st test. My name is Raul Expagarus, I'm your test examiner."; - next; - mes "[Raul Expagarus]"; - mes "It's not too late! You can still return to a peaceful life in town if you wish."; - next; - mes "[Raul Expagarus]"; - mes "You probably have no clue how dangerous it is to use magic."; - next; - menu "You're right. I quit.",M_0a, "I want to take test!",M_0b; - - sL_ReTest2: - mes "Hmph, you want to try again?"; - next; - mes "[Raul Expagarus]"; - mes "How can you hate a peaceful life so much?"; - next; - mes "[Raul Expagarus]"; - mes "Be that way! If you miss one question, you fail! What do you say!?"; - emotion e_pif; - next; - menu "I want to live in peace..........",M_0a, "I want to try again.",M_0b; - - M_0a: - mes "[Raul Expagarus]"; - mes "Good choice, cough cough. Being a Wizard is a difficult job, and magic is not meant to be used by mere mortals........."; - next; - mes "[Raul Expagarus]"; - mes "Go down the tower and don't look back. Use the magic you have now and live a peaceful life."; - close; - - M_0b: - mes "[Raul Expagarus]"; - mes "Hmph, we'll see how GREAT you do."; - next; - mes "[Raul Expagarus]"; - mes "Lets start the test! If you miss one question, you're screwed! HA!"; - emotion e_gg; - next; - mes "[Raul Expagarus]"; - mes "10 questions, get them right! I won't tell you the correct answer for the ones you miss."; - next; - set @SCORE,0; - set @temp,rand(0,2); - if(@temp == 1) goto R_1; - if(@temp == 2) goto R_2; - - //Spell Quiz - R_0: - mes "[Raul Expagarus]"; - mes "Cough, here are the questions!"; - next; - mes "[Raul Expagarus]"; - mes "1. Which of the following is not"; - mes "necessary to learn Fire Wall?"; - next; - menu "Fire Bolt Lv 4",sM0_0b, "Fire Ball Lv 5",sM0_0b, "Sight Lv 1",sM0_0b, "Napalm Beat Lv 4",sM0_0a; - - sM0_0a: - set @SCORE, @SCORE + 10; - - sM0_0b: - - mes "[Raul Expagarus]"; - mes "2. Regardless of it's previous"; - mes "attribute. What does the monster's"; - mes "attribute change to when you cast"; - mes "Frost Diver on it?"; - next; - menu "Water",sM0_1a, "Earth",sM0_1b, "Fire",sM0_1b, "Wind",sM0_1b; - - sM0_1a: - set @SCORE, @SCORE + 10; - - sM0_1b: - - mes "[Raul Expagarus]"; - mes "3. When you completely master"; - mes "Napalm Beat, what is the ratio of"; - mes "the increased MATK using that"; - mes "spell?"; - next; - menu "1.6 times",sM0_2b, "1.7 times",sM0_2a, "2 times",sM0_2b, "20 times",sM0_2b; - - sM0_2a: - set @SCORE, @SCORE + 10; - - sM0_2b: - - mes "[Raul Expagarus]"; - mes "4. What item do you need when"; - mes "casting Stone Curse?"; - next; - menu "Red Blood",sM0_3b, "Blue Gemstone",sM0_3b, "Yellow Gemstone",sM0_3b, "Red Gemstone",sM0_3a; - - sM0_3a: - set @SCORE, @SCORE + 10; - - sM0_3b: - - mes "[Raul Expagarus]"; - mes "5. Which of the following is not"; - mes "required to master Safety Wall?"; - next; - menu "Napalm Beat Lv 4",sM0_4b, "Soul Strike Lv 5",sM0_4b, "SP Recovery Lv 6",sM0_4a, "Safety Wall Lv 7",sM0_4b; - - sM0_4a: - set @SCORE, @SCORE + 10; - - sM0_4b: - - mes "[Raul Expagarus]"; - mes "6. Without the INT bonus, what"; - mes "amount of SP is recovered every 10"; - mes "seconds when you have learned"; - mes "Increase SP Recovery Lv 7?"; - next; - menu "14",sM0_5b, "21",sM0_5a, "28",sM0_5b, "35",sM0_5b; - - sM0_5a: - set @SCORE, @SCORE + 10; - - sM0_5b: - - mes "[Raul Expagarus]"; - mes "7. Using Energy Coat, when you have"; - mes "50% of your SP remaining, how much"; - mes "SP is used when hit, and what"; - mes "percentage is damage reduced by?"; - next; - menu "Damage 18% SP1.5%",sM0_6b, "Damage 18% SP2%",sM0_6a, "Damage 24% SP1.5%",sM0_6b, "Damage 24% SP2%",sM0_6b; - - sM0_6a: - set @SCORE, @SCORE + 10; - - sM0_6b: - - mes "[Raul Expagarus]"; - mes "8. How much SP is consumed and how"; - mes "many times can you avoid attacks"; - mes "when using Safety Wall Lv 6?"; - next; - menu "SP 40, 6hits",sM0_7b, "SP 35, 6hits",sM0_7b, "SP 40, 7hits",sM0_7b, "SP 35, 7hits",sM0_7a; - - sM0_7a: - set @SCORE, @SCORE + 10; - - sM0_7b: - - mes "[Raul Expagarus]"; - mes "9. How much SP is needed when using"; - mes "Lv 10 Thunderstorm?"; - next; - menu "84",sM0_8b, "74",sM0_8a, "64",sM0_8b, "54",sM0_8b; - - sM0_8a: - set @SCORE, @SCORE + 10; - - sM0_8b: - - mes "[Raul Expagarus]"; - mes "10. Which skill is most useful"; - mes "training in the Byalan Dungeon?"; - next; - menu "Lightning Bolt",sM0_9a, "Fire Bolt",sM0_9b, "Ice Bolt",sM0_9b, "Sight",sM0_9b; - - sM0_9a: - set @SCORE, @SCORE + 10; - - sM0_9b: - goto L_Cont0; - - //Monster Quiz - R_1: - mes "[Raul Expagarus]"; - mes "1. Which monster can you obtain a"; - mes "slotted Guard from?"; - next; - menu "Thief Bug",sM1_0b, "Peco Peco",sM1_0b, "Pupa",sM1_0a, "Kobold (Hammer)",sM1_0b; - - sM1_0a: - set @SCORE, @SCORE + 10; - - sM1_0b: - - mes "[Raul Expagarus]"; - mes "2. Which of the following is the"; - mes "easiest monster for a low level"; - mes "Mage to hunt?"; - next; - menu "Flora",sM1_1a, "Gierth",sM1_1b, "Golem",sM1_1b, "Myst",sM1_1b; - - sM1_1a: - set @SCORE, @SCORE + 10; - - sM1_1b: - - mes "[Raul Expagarus]"; - mes "3. Which monster will not be"; - mes "affected by Stone Curse?"; - next; - menu "Elder Willow",sM1_2b, "Evil Druid",sM1_2a, "Magnolia",sM1_2b, "Marc",sM1_2b; - - sM1_2a: - set @SCORE, @SCORE + 10; - - sM1_2b: - - mes "[Raul Expagarus]"; - mes "4. When attacking a Lv 3 water"; - mes "attribute monster with a wind"; - mes "attribute weapon, what is the"; - mes "damage percentage?"; - next; - menu "125%",sM1_3b, "150%",sM1_3b, "175%",sM1_3b, "200%",sM1_3a; - - sM1_3a: - set @SCORE, @SCORE + 10; - - sM1_3b: - - mes "[Raul Expagarus]"; - mes "5. If a Baby Desert Wolf and a"; - mes "Familiar fought, which one would"; - mes "win?"; - next; - menu "Baby Desert Wolf",sM1_4a, "Familiar",sM1_4b, "Neither",sM1_4b, "I don't know",sM1_4b; - - sM1_4a: - set @SCORE, @SCORE + 10; - - sM1_4b: - - mes "[Raul Expagarus]"; - mes "6. Which of the following cannot be"; - mes "a Cute Pet?"; - next; - menu "Poporing",sM1_5b, "Roda Frog",sM1_5a, "Smokie",sM1_5b, "Poison Spore",sM1_5b; - - sM1_5a: - set @SCORE, @SCORE + 10; - - sM1_5b: - - mes "[Raul Expagarus]"; - mes "7. Choose the monster that is weak"; - mes "against a fire attribute attack."; - next; - menu "Dagger Goblin",sM1_6b, "Mace Goblin",sM1_6b, "Morningstar Goblin",sM1_6b, "Hammer Goblin",sM1_6a; - - sM1_6a: - set @SCORE, @SCORE + 10; - - sM1_6b: - - mes "[Raul Expagarus]"; - mes "8. Which of the following monsters"; - mes "has the highest defence?"; - next; - menu "Horn",sM1_7b, "Chonchon",sM1_7b, "Andre",sM1_7b, "Caramel",sM1_7a; - - sM1_7a: - set @SCORE, @SCORE + 10; - - sM1_7b: - - mes "[Raul Expagarus]"; - mes "9. Choose the monster that's a"; - mes "different species."; - next; - menu "Poring",sM1_8b, "Mastering",sM1_8b, "Ghostring",sM1_8a, "Spore",sM1_8b; - - sM1_8a: - set @SCORE, @SCORE + 10; - - sM1_8b: - - mes "[Raul Expagarus]"; - mes "10. Which of the following is not"; - mes "an Undead monster?"; - next; - menu "Drake",sM1_9b, "Megalodon",sM1_9b, "Deviace",sM1_9a, "Khalitzburg",sM1_9b; - - sM1_9a: - set @SCORE, @SCORE + 10; - - sM1_9b: - goto L_Cont0; - - //Wizard Quiz - R_2: - mes "[Raul Expagarus]"; - mes "1. Which stat is most important"; - mes "for a Mage?"; - next; - menu "INT",sM2_0a, "AGI",sM2_0b, "DEX",sM2_0b, "VIT",sM2_0b; - - sM2_0a: - set @SCORE, @SCORE + 10; - - sM2_0b: - - mes "[Raul Expagarus]"; - mes "2. Which attribute does not have a"; - mes "'Bolt' type attack?"; - next; - menu "Water",sM2_1b, "Earth",sM2_1a, "Fire",sM2_1b, "Wind",sM2_1b; - - sM2_1a: - set @SCORE, @SCORE + 10; - - sM2_1b: - - mes "[Raul Expagarus]"; - mes "3. Choose the one that does not"; - mes "relate to a mage."; - next; - menu "Weak physical strength.",sM2_2b, "Attacks at a distance.",sM2_2b, "Good at selling stuff.",sM2_2a, "Magic Defense is high.",sM2_2b; - - sM2_2a: - set @SCORE, @SCORE + 10; - - sM2_2b: - - mes "[Raul Expagarus]"; - mes "4. Which town is the home of the"; - mes "Mages?"; - next; - menu "Prontera",sM2_3b, "Morroc",sM2_3b, "Alberta",sM2_3b, "Geffen",sM2_3a; - - sM2_3a: - set @SCORE, @SCORE + 10; - - sM2_3b: - - mes "[Raul Expagarus]"; - mes "5. Which of the following cards has?"; - mes "nothing to do with INT?"; - next; - menu "Andre Larva Card",sM2_4b, "Soldier Andre Card",sM2_4a, "Baby Desert Wolf Card",sM2_4b, "Elder Willow Card",sM2_4b; - - sM2_4a: - set @SCORE, @SCORE + 10; - - sM2_4b: - - mes "[Raul Expagarus]"; - mes "6. What is the Mage good at"; - mes "compared to other job classes?"; - next; - menu "Exceptional Vocal Ability",sM2_5b, "Exceptional Acting Ability",sM2_5b, "Exceptional Dance Skills",sM2_5b, "Exceptional Magic Skills",sM2_5a; - - sM2_5a: - set @SCORE, @SCORE + 10; - - sM2_5b: - - mes "[Raul Expagarus]"; - mes "7. What is the INT bonus at Job Lv"; - mes "40 for a mage?"; - next; - menu "8",sM2_6b, "7",sM2_6b, "6",sM2_6b, "5",sM2_6a; - - sM2_6a: - set @SCORE, @SCORE + 10; - - sM2_6b: - - mes "[Raul Expagarus]"; - mes "8. Which item can't be equipped by mages?"; - next; - menu "Knife",sM2_7b, "Cap",sM2_7a, "Sandals",sM2_7b, "Eye of Dullahan",sM2_7b; - - sM2_7a: - set @SCORE, @SCORE + 10; - - sM2_7b: - - mes "[Raul Expagarus]"; - mes "9. Which of the following is the"; - mes "catalyst when making the Mage test"; - mes "solution 3?"; - next; - menu "Blue Gemstone",sM2_8a, "Red Gemstone",sM2_8b, "Yellow Gemstone",sM2_8b, "Red Blood",sM2_8b; - - sM2_8a: - set @SCORE, @SCORE + 10; - - sM2_8b: - - mes "[Raul Expagarus]"; - mes "10. Which card is irrelevant to"; - mes "magic?"; - next; - menu "Marduk Card",sM2_9b, "Magnolia Card",sM2_9a, "Willow Card",sM2_9b, "Maya Card",sM2_9b; - - sM2_9a: - set @SCORE, @SCORE + 10; - - sM2_9b: - - - L_Cont0: - mes "[Raul Expagarus]"; - mes "Well that's the end of the test. When you get some time afterwards, go get something to eat okay."; - next; - mes "[Raul Expagarus]"; - mes "Anyway, here is your score: ^ff0000"+@SCORE+"^000000 points."; - next; - mes "[Raul Expagarus]"; - if(@SCORE == 100) goto sL_Pass100; - if(@SCORE == 90) goto sL_Pass90; - - sL_Failed: - set WIZ_Q2, 1; - mes "Hmf... You failed, go study some more."; - next; - mes "[Raul Expagarus]"; - mes "You're a long way away. With that low of an intelligence, you have no chance of surviving as a wizard."; - close; - - sL_Pass90: - set WIZ_Q, 3; - set WIZ_Q2, 0; - mes "Hmm, you've missed one question, but I'll let you pass."; - next; - mes "[Raul Expagarus]"; - mes "Don't relax yet! There is still a 3rd test left. While we prepare for the next test, sit and rest a bit."; - close; - - sL_Pass100: - set WIZ_Q, 3; - set WIZ_Q2, 0; - mes "Wonderful! You've passed the 2nd test."; - next; - mes "[Raul Expagarus]"; - mes "Don't relax yet! There is still a 3rd test left. While we prepare for the next test, sit and rest a bit."; - close; - - - L_Test3: - if(WIZ_Q2 == 1) goto sL_ReTest3; - mes "Got some rest? Good. Now, let's start the last test."; - next; - mes "[Raul Expagarus]"; - mes "I'll make a quick explanation of the test, want to hear it?"; - next; - menu "No thank you.",M_1a, "Please go on",M_1b; - - M_1a: - mes "[Raul Expagarus]"; - mes "Ignorant fool! Fine, go die if you wish! Your corpse will be left as food for the monsters."; - emotion e_omg; - next; - mes "[Raul Expagarus]"; - mes "I'll send you now... By the way, have fun getting slaughtered!"; - next; - savepoint "gef_tower.gat",106,29; - warp "job_wiz.gat",57,154; - end; - - M_1b: - mes "[Raul Expagarus]"; - mes "Good choice. Listen carefully."; - next; - mes "[Raul Expagarus]"; - mes "The is a test of your ability to fight monsters of varying elemental properites."; - mes "There will be 3 different rooms, each containing monsters of a different elemental property."; - next; - mes "[Raul Expagarus]"; - mes "There will be the Room of Water which will have monsters of the water property, followed by the "; - mes "Room of Earth with earth property monsters, and finally the Room of Fire with fire property monsters."; - next; - mes "[Raul Expagarus]"; - mes "You will have 3 minutes for each room. You must kill all of the monsters in the room to be able to advance to the next room."; - next; - mes "[Raul Expagarus]"; - mes "If you use that right spells you should be able to finish the test rather easily. That's all there is to it."; - next; - mes "[Raul Expagarus]"; - mes "You look a little frightened.... give up now and you can return to town....."; - next; - menu "I have no fear! Give me the test!",sM_a, "... tooo scaaarryy... lemme go home(*sob*sob*)",sM_b; - - sM_a: - mes "[Raul Expagarus]"; - mes "Kid, you have courage. We'll start right away!"; - next; - set WIZ_Q2, 1; - savepoint "gef_tower.gat",106,29; - warp "job_wiz.gat",57,154; - end; - - sM_b: - mes "[Raul Expagarus]"; - mes "Good choice. Have a nice peaceful life!"; - warp "geffen.gat",120,110; - end; - - sL_ReTest3: - mes "You want to take the test AGAIN!? You love magic THAT much!?"; - emotion e_what; - next; - mes "[Raul Expagarus]"; - mes "You failed last time, so it's time for a quiz! If you don't want to take it, TOO BAD!."; - next; - mes "[Raul Expagarus]"; - mes "Let's start."; - next; - set @SCORE, 0; - - mes "[Raul Expagarus]"; - mes "1. Choose the monster with a"; - mes "different attribute than the"; - mes "others."; - next; - menu "Mantis",sM_0b, "Cornutus",sM_0a, "Giearth",sM_0b, "Caramel",sM_0b; - - sM_0a: - set @SCORE, @SCORE + 20; - - sM_0b: - - mes "[Raul Expagarus]"; - mes "2. Choose the monster that is not a"; - mes "looting one."; - next; - menu "Yoyo",sM_1b, "Magnolia",sM_1b, "Metaller",sM_1b, "Zerom",sM_1a; - - sM_1a: - set @SCORE, @SCORE + 20; - - sM_1b: - - mes "[Raul Expagarus]"; - mes "3. Which of these monsters does not"; - mes "recognize casting?"; - next; - menu "Marina",sM_2a, "Vitata",sM_2b, "Scorpion",sM_2b, "Giearth",sM_2b; - - sM_2a: - set @SCORE, @SCORE + 20; - - sM_2b: - - mes "[Raul Expagarus]"; - mes "4. Chose the spell that would be"; - mes "efficient against a Marine Sphere."; - next; - menu "Cold Bolt",sM_3b, "Fire Bolt",sM_3b, "Lightning Bolt",sM_3a, "Stone Curse",sM_3b; - - sM_3a: - set @SCORE, @SCORE + 20; - - sM_3b: - - mes "[Raul Expagarus]"; - mes "5. Choose the monster that can"; - mes "move."; - next; - menu "Hydra",sM_4b, "Mandragora",sM_4b, "Greatest General",sM_4b, "Frilldora",sM_4a; - - sM_4a: - set @SCORE, @SCORE + 20; - - sM_4b: - - mes "[Raul Expagarus]"; - mes "Your score is ^ff0000" +@SCORE+ "^000000 pts."; - next; - mes "[Raul Expagarus]"; - if (@SCORE >= 80) goto sL_Passed3; - - sL_Failed3: - mes "You Failed! Go study some more!"; - next; - mes "[Raul Expagarus]"; - mes "You aren't fit to be a wizard, why do you think you failed!?"; - close; - - sL_Passed3: - if (@SCORE == 100) mes "If you're so smart, why couldn't you pass the test the first time?"; - if (@SCORE == 80) mes "Kehe, almost perfect. I'll let you try again."; - next; - menu "Let's start!",M_2a, "Explain the test again please.",M_1b; - - M_2a: - mes "[Raul Expagarus]"; - mes "I won't help you even if you die this time. Don't come crying to me if you fail again.... hehe."; - next; - percentheal 100,100; - mes "[Raul Expagarus]"; - mes "I'll send you to the arena now. Have fun getting your butt whooped!"; - next; - savepoint "gef_tower.gat",106,29; - warp "job_wiz.gat",55,156; - end; -} - - -//<====================================================== Test Arena ========================================================>\\ -// Test Guide --------------------------------------------------------------------------------- -job_wiz.gat,50,165,4 script Wizard Test Guide::WzTG 123,{ - mes "[Test Guide]"; - mes "Welcome. I will be your guide for the Wizard Test."; - next; - menu "I would like to take the test.",M_0, "I would like to leave.",M_1; - - M_0: - mes "[Test Guide]"; - mes "As you have been told you will have 3 minutes to finish each portion of the test."; - mes "I will periodically announce how much time you have left for each room on a minute by minute basis."; - next; - mes "[Test Guide]"; - mes "Please enter the 'Wizard Test Waiting Room' when you are ready to take the test."; - mes "When the testing room is ready you will be automatically warped there and the exam will begin."; - next; - mes "[Test Guide]"; - mes "Good luck!"; - close; - M_1: - mes "[Test Guide]"; - mes "I see. I will send you back."; - next; - warp "gef_tower.gat",106, 35; - end; - -OnInit: - waitingroom "Wizard Test Waiting Room",8,"WzTG::OnStart",1; - end; - -OnStart: - set $@WzUsers, getareausers("job_wiz.gat", 98, 154, 129, 185); // get user count for first lvl - set $@WzUsers, $@WzUsers + getareausers("job_wiz.gat", 100, 82, 131, 113); // get user count for second lvl + first lvl - set $@WzUsers, $@WzUsers + getareausers("job_wiz.gat", 30, 82, 61, 113); // get user count for third lvl + second lvl + first lvl - if ($@WzUsers > 0) end; - - if ((getwaitingroomstate(33)) == 0) end; // finds out if there is anyone in the waiting room - disablenpc "waterwrp"; //disables the warps - disablenpc "waterwarpW"; - disablenpc "waterwarpN"; - disablenpc "waterwarpS"; - disablenpc "earthwrp"; - disablenpc "earthwarpW"; - disablenpc "earthwarpN"; - disablenpc "earthwarpS"; - disablenpc "firewrp"; - disablenpc "firewarpN"; - disablenpc "firewarpW"; - disablenpc "firewarpS"; - killmonsterall "job_wiz.gat"; //makes sure there are no left over mobs from other testers - warpwaitingpc "job_wiz.gat",114,169; - donpcevent "WaterRm::OnStart"; - end; -} - -// Room of Water ----------------------------------------------------------------------------- -job_wiz.gat,1,1,1 script WaterRm -1,{ - -OnStart: - set $@WzRm, 1; // used to determine which map area(room) to make time announcements in - set $@WzMOB, 8; //used as a counter for the monsters that are summoned - monster "job_wiz.gat",109,174,"Phen",1158,1,"WaterRm::OnMyMobDead1"; - monster "job_wiz.gat",118,174,"Kukre",1070,1,"WaterRm::OnMyMobDead1"; - monster "job_wiz.gat",98,170,"Kukre",1070,1,"WaterRm::OnMyMobDead1"; - monster "job_wiz.gat",109,165,"Vadon",1066,1,"WaterRm::OnMyMobDead1"; - monster "job_wiz.gat",118,165,"Cornutus",1067,1,"WaterRm::OnMyMobDead1"; - monster "job_wiz.gat",101,157,"Marina",1141,1,"WaterRm::OnMyMobDead1"; - monster "job_wiz.gat",126,157,"Marin",1242,1,"WaterRm::OnMyMobDead1"; - monster "job_wiz.gat",129,170,"Obeaune",1044,1,"WaterRm::OnMyMobDead1"; - initnpctimer "TimerWz"; - end; - -OnMyMobDead1: //when a monster dies this portion of script is run - set $@WzMOB, $@WzMOB - 1; - if ($@WzMOB > 0) end; - - stopnpctimer "TimerWz"; - set $@WzMOB, 0; - addtimer 2000, "WaterRm::OnTimer2000"; - end; - -OnTimer2000: - set $@WzMOB, 5; - areaannounce "job_wiz.gat", 98, 154, 129, 185, "[Test Guide]: You must now defeat the door gaurds! Hurry!",8; - monster "job_wiz.gat",114,169,"Marine Sphere",1142,1,"WaterRm::OnMyMobDead2"; - monster "job_wiz.gat",112,169,"Hydra",1068,1,"WaterRm::OnMyMobDead2"; - monster "job_wiz.gat",116,169,"Hydra",1068,1,"WaterRm::OnMyMobDead2"; - monster "job_wiz.gat",114,171,"Hydra",1068,1,"WaterRm::OnMyMobDead2"; - monster "job_wiz.gat",114,167,"Hydra",1068,1,"WaterRm::OnMyMobDead2"; - setnpctimer 120000, "TimerWz"; - startnpctimer "TimerWz"; - end; - -OnMyMobDead2: - set $@WzMOB, $@WzMOB - 1; - if ($@WzMOB > 0) end; - - stopnpctimer "TimerWz"; - set $@WzMOB, 0; - areaannounce "job_wiz.gat", 98, 154, 129, 185, "[Test Guide]: Well done. You have completed the Room of Water. Get ready for the Room of Earth.",8; - percentheal 100,100; - enablenpc "waterwrp"; - enablenpc "waterwarpW"; - enablenpc "waterwarpN"; - enablenpc "waterwarpS"; - initnpctimer "waterwrp"; // warps the player after 30 secs even if they don't enter the warps - end; -} - -// Room of Earth ----------------------------------------------------------------------------------------------- -job_wiz.gat,1,1,1 script EarthRm -1,{ - -OnStart: - set $@WzRm, 2; - set $@WzMOB, 10; - monster "job_wiz.gat",111,102,"Yoyo",1057,1,"EarthRm::OnMyMobDead1"; - monster "job_wiz.gat",120,102, "Deniro",1105,1,"EarthRm::OnMyMobDead1"; - monster "job_wiz.gat",111,102, "Caramel",1103,1,"EarthRm::OnMyMobDead1"; - monster "job_wiz.gat",120,102,"Hode",1127,1,"EarthRm::OnMyMobDead1"; - monster "job_wiz.gat",111,93,"Savage",1166,1,"EarthRm::OnMyMobDead1"; - monster "job_wiz.gat",120,93,"Giearth",1121,1,"EarthRm::OnMyMobDead1"; - monster "job_wiz.gat",107,98,"Bigfoot",1160,1,"EarthRm::OnMyMobDead1"; - monster "job_wiz.gat",124,98,"Orc Warrior",1023,1,"EarthRm::OnMyMobDead1"; - monster "job_wiz.gat",104,86,"Vitata",1176,1,"EarthRm::OnMyMobDead1"; - monster "job_wiz.gat",127,86,"Mantis",1139,1,"EarthRm::OnMyMobDead1"; - initnpctimer "TimerWz"; - end; - -OnMyMobDead1: - set $@WzMOB, $@WzMOB - 1; - if ($@WzMOB > 0) end; - - stopnpctimer "TimerWz"; - addtimer 2000, "EarthRm::OnTimer2000"; - set $@WzMOB, 0; - end; - -OnTimer2000: - set $@WzMOB, 7; - areaannounce "job_wiz.gat", 100, 82, 131, 113, "[Test Guide]: You now must defeat the door gaurds! Hurry!.",8; - monster "job_wiz.gat",116,97,"Flora",1118,1,"EarthRm::OnMyMobDead2"; - monster "job_wiz.gat",114,95,"Mandragora",1020,1,"EarthRm::OnMyMobDead2"; - monster "job_wiz.gat",118,95,"Mandragora",1020,1,"EarthRm::OnMyMobDead2"; - monster "job_wiz.gat",114,99,"Mandragora",1020,1,"EarthRm::OnMyMobDead2"; - monster "job_wiz.gat",118,99,"Mandragora",1020,1,"EarthRm::OnMyMobDead2"; - monster "job_wiz.gat",116,94,"Mandragora",1020,1,"EarthRm::OnMyMobDead2"; - monster "job_wiz.gat",116,100,"Mandragora",1020,1,"EarthRm::OnMyMobDead2"; - setnpctimer 120000, "TimerWz"; - startnpctimer "TimerWz"; - end; - -OnMyMobDead2: - set $@WzMOB, $@WzMOB - 1; - if ($@WzMOB > 0) end; - - stopnpctimer "TimerWz"; - set $@WzMOB, 0; - areaannounce "job_wiz.gat", 100, 82, 131, 113, "[Test Guide]: Well done. You have completed the Room of Earth. Get ready for the Room of Fire.",8; - percentheal 100,100; - enablenpc "earthwrp"; - enablenpc "earthwarpN"; - enablenpc "earthwarpW"; - enablenpc "earthwarpS"; - initnpctimer "earthwrp"; - end; -} - -// Room of Fire ------------------------------------------------------------------------------------------------------------ -job_wiz.gat,1,1,1 script FireRm -1,{ - -OnStart: - set $@WzRm, 3; - set $@WzMOB, 7; - monster "job_wiz.gat",58,110,"Zerom",1178,1,"FireRm::OnMyMobDead1"; - monster "job_wiz.gat",33,110,"Flail Goblin",1123,1,"FireRm::OnMyMobDead1"; - monster "job_wiz.gat",40,103,"Scorpion",1001,1,"FireRm::OnMyMobDead1"; - monster "job_wiz.gat",51,103,"Frilldora",1119,1,"FireRm::OnMyMobDead1"; - monster "job_wiz.gat",40,92,"Peco Peco",1019,1,"FireRm::OnMyMobDead1"; - monster "job_wiz.gat",51,92,"Elder Willow",1033,1,"FireRm::OnMyMobDead1"; - monster "job_wiz.gat",37,89,"Metaller",1058,1,"FireRm::OnMyMobDead1"; - initnpctimer "TimerWz"; - end; - -OnMyMobDead1: - set $@WzMOB, $@WzMOB - 1; - if ($@WzMOB > 0) end; - - stopnpctimer "TimerWz"; - addtimer 2000, "FireRm::OnTimer2000"; - set $@WzMOB, 0; - end; - -OnTimer2000: - set $@WzMOB, 3; - areaannounce "job_wiz.gat", 30, 82, 61, 113, "[Test Guide]: You now must defeat the door gaurds! Hurry!.",8; - monster "job_wiz.gat",44,99,"Greatest General",1277,1,"FireRm::OnMyMobDead2"; - monster "job_wiz.gat",43,99,"Horong",1129,1,"FireRm::OnMyMobDead2"; - monster "job_wiz.gat",45,99,"Horong",1129,1,"FireRm::OnMyMobDead2"; - setnpctimer 120000, "TimerWz"; - startnpctimer "TimerWz"; - end; - -OnMyMobDead2: - set $@WzMOB, $@WzMOB - 1; - if ($@WzMOB > 0) end; - - stopnpctimer "TimerWz"; - set $@WzMOB, 0; - set WIZ_Q, 4; - set WIZ_Q2, 0; - areaannounce "job_wiz.gat", 30, 82, 61, 113, "[Test Guide]: Well done. You have completed the Room of Fire and the entire test.",0; - enablenpc "firewrp"; - enablenpc "firewarpN"; - enablenpc "firewarpW"; - enablenpc "firewarpS"; - initnpctimer "firewrp"; - end; -} - - -// Timer ----------------------------------------------------------------------------------------------- -job_wiz.gat,1,1,1 script TimerWz -1,{ - -OnTimer1000: - if($@WzRm==1) areaannounce "job_wiz.gat", 98, 154, 129, 185, "[Test Guide]: Room of Water, testing will begin.",8; - if($@WzRm==2) areaannounce "job_wiz.gat", 100, 82, 131, 113, "[Test Guide]: Room of Earth, testing will begin.",8; - if($@WzRm==3) areaannounce "job_wiz.gat", 30, 82, 61, 113, "[Test Guide]: Room of Fire, testing will begin.",8; - end; -OnTimer4000: - set $@WzTime$, "You have 3 minutes to defeat all of the monsters in this room starting now!"; - donpcevent "WzTG::OnStart"; //checks to see if anyone is still in the room, in case of logout or KO - callsub AnnounceWz; -OnTimer34000: - donpcevent "WzTG::OnStart"; - end; -OnTimer64000: - set $@WzTime$, "You have 2 minutes left!"; - donpcevent "WzTG::OnStart"; - callsub AnnounceWz; -OnTimer94000: - donpcevent "WzTG::OnStart"; - end; -OnTimer124000: - set $@WzTime$, "You have 1 minute left!"; - donpcevent "WzTG::OnStart"; - callsub AnnounceWz; -OnTimer154000: - set $@WzTime$, "You have 30 seconds left!"; - donpcevent "WzTG::OnStart"; - callsub AnnounceWz; -OnTimer174000: - set $@WzTime$, "You have 10 seconds left!"; - callsub AnnounceWz; -OnTimer184000: - set $@WzTime$, "Time is up. You have failed the test."; - callsub AnnounceWz; -OnTimer188000: - stopnpctimer; - if($@WzRm==1) areawarp "job_wiz.gat", 98, 154, 129, 185, "gef_tower.gat",106, 35; - if($@WzRm==2) areawarp "job_wiz.gat", 100, 82, 131, 113, "gef_tower.gat",106, 35; - if($@WzRm==3) areawarp "job_wiz.gat", 30, 82, 61, 113, "gef_tower.gat",106, 35; - killmonsterall "job_wiz.gat"; - donpcevent "WzTG::OnStart"; - end; - -AnnounceWz: - if($@WzRm==1) areaannounce "job_wiz.gat", 98, 154, 129, 185, "[Test Guide]: "+$@WzTime$+".",8; - if($@WzRm==2) areaannounce "job_wiz.gat", 100, 82, 131, 113, "[Test Guide]: "+$@WzTime$+".",8; - if($@WzRm==3) areaannounce "job_wiz.gat", 30, 82, 61, 113, "[Test Guide]: "+$@WzTime$+".",8; - end; -} - - -// Warps ------------------------------------------------------------------------------------------ - -// Water -job_wiz.gat,129,169,1 script waterwarpE::waterwrp 45,1,1,{ - -OnTimer30000: - stopnpctimer "waterwrp"; - areawarp "job_wiz.gat", 98, 154, 129, 185, "job_wiz.gat",116,98; - donpcevent "EarthRm::OnStart"; - end; -} -job_wiz.gat,98,169,1 duplicate(waterwrp) waterwarpW 45,1,1 -job_wiz.gat,114,185,1 duplicate(waterwrp) waterwarpN 45,1,1 -job_wiz.gat,114,154,1 duplicate(waterwrp) waterwarpS 45,1,1 - - -// Earth -job_wiz.gat,131,98,1 script earthwarpE::earthwrp 45,1,1,{ - -OnTimer30000: - stopnpctimer "earthwrp"; - areawarp "job_wiz.gat", 100, 82, 131, 113, "job_wiz.gat",47,98; - donpcevent "FireRm::OnStart"; - end; -} -job_wiz.gat,100,98,1 duplicate(earthwrp) earthwarpW 45,1,1 -job_wiz.gat,116,82,1 duplicate(earthwrp) earthwarpN 45,1,1 -job_wiz.gat,116,113,1 duplicate(earthwrp) earthwarpS 45,1,1 - - -// Fire -job_wiz.gat,61,97,1 script firewarpE::firewrp 45,1,1,{ - -OnTimer30000: - stopnpctimer "firewrp"; - areawarp "job_wiz.gat", 30, 82, 61, 113, "gef_tower.gat",106,35; - donpcevent "WzTG::OnStart"; - end; -} -job_wiz.gat,30,97,1 duplicate(firewrp) firewarpW 45,1,1 -job_wiz.gat,46,113,1 duplicate(firewrp) firewarpN 45,1,1 -job_wiz.gat,46,82,1 duplicate(firewrp) firewarpS 45,1,1 - - -//============================================================================== -// mapflag -//============================================================================== -job_wiz.gat mapflag nomemo -job_wiz.gat mapflag noteleport -job_wiz.gat mapflag nosave SavePoint -job_wiz.gat mapflag nopenalty -job_wiz.gat mapflag nobranch -job_wiz.gat mapflag noexp -job_wiz.gat mapflag noloot +//===== eAthena Script ======================================= +//= Wizard Job Quest +//===== By: ================================================== +//= (Aegis) Translated by yoshiki +//= converted by kobra_k88 +//= Further bugfixed and tested by Lupus +//===== Current Version: ===================================== +//= 2.2 +//===== Compatible With: ===================================== +//= eAthena 1.0 +//===== Description: ========================================= +//= Wizard job quest converted from aegis script, plus my own RO screenies. +//===== Additional Comments: ================================= +//= 1.1 Now using the initnpctimer command, donpcevent, +//= and new waitingroom event commands. No more addtimer spamming. +//= No longer have to talk to the npc to take the test. Just enter the chat room. +//= 1.2 Changed global variable names to unique ones. +//= 1.2a Rollback from the wrong Kashy's fix +//= 1.2b Fixed issue with duplicating monsters thx to Bison.[kobra_k88] +//= 1.2c changed one Horong to Frilldora (now 3rd room contains 1 agressive mob.) +//= 1.2d more simplified fire room - removed agressive Desert Wolf [Lupus] +//= 1.3 Added Baby Class support [Lupus] +//= 1.5 Fixed possible EXP abuse [Lupus] +//= 1.6 Added a func which prevent advanced classes passing +//= 2nd Job Quests again. It also guides adv classes where +//= to go. [Lupus] +//= 1.7 Replaced 2 Hodes with 2 Horong's (according to the official guide) [Lupus] +//= 1.8 Removed callfunc Is_####_Class in favor of baseClass [Silentdragon] +//= 2.1 Changed numbers to constants. [Vicious] +//= 2.2 Merged back JFunc [Lupus] +//============================================================ + + +//<=================== Some dog =========================> +gef_tower.gat,107,35,5 script Some Dog 81,{ + callfunc "F_BlockHigh",Job_Mage_High,"High Mage",Job_High_Wizard,"High Wizard","Dog"; + mes "[Dog]"; + if(baseJob == Job_Mage) goto L_JobMage; + if(baseClass == Job_Mage){ + mes "Ah! High level magic users, welcome. It's always nice to see experienced magic users around here."; + mes "Actually it's nice to see them anywhere! ~Woof!~"; + close; + } + if(baseClass == Job_Acolyte){ + mes "Eeek! What's a holy type person doing up here? I thought you people didn't like magic...."; + mes "You religious types are always calling it the 'dark arts'......... ooooh scary!!!...... ~grrr!~WOOF!~"; + close; + } + mes "Sheesh....... Why would someone who can't even cast a single spell come all the way up here???"; + next; + mes "[Dog]"; + mes "If you're that bored, do the world a favor and climb to the top of this building from the outside, then do some acrobatics...."; + emotion e_pif; + next; + mes "[Dog]"; + mes "~WOOF~ Get lost! I don't have time for people like you!!"; + emotion e_go; + close; + +L_JobMage: + mes "[Dog]"; + mes "Ah... I know what you're about to say.... You want to become a Wizard right?"; + next; + mes "[Dog]"; + mes "Speak with Catherine. She'll help you out."; + next; + mes "[Dog]"; + mes "If you want to know more about the job change process for Wizards, I can be of help."; + next; + menu "..................",M_0, "A dog is talking to me......",M_1; + + M_0: + mes "[Dog]"; + mes "~Woof~ What is it? Why are you looking at me like that?? Is this the first time you've seen a dog talk?"; + emotion e_what; + mes "[Dog]"; + mes "~Woof~ I suppose it's not that common to see a talking dog..... ~Woof~..... Yeah, it is a rare site actually....."; + next; + mes "[Dog]"; + mes "~GRRRR!!~.... Hey! Stop GAWKING at me for goodness sake!! ~WOOOF~"; + emotion e_an; + next; + + L_Cont: + mes "[Dog]"; + mes "My name is Maria Splodofska. Just call me Maria. I'm assisting candidates for the Wizard class."; + next; + mes "[Maria]"; + mes "~Woof~ You see, the reason I became a dog was.... I was helping my boyfriend with his experiment in preperation for his Final."; + mes "He is studying for a Magic Degree. Well, before I knew what happened he accidentally turned me into a dog....."; + next; + mes "[Maria]"; + mes "~Grrrrr~ In a couple of months the chemicals should wear off and I should return to normal. Well theoretically speaking anyhow."; + next; + mes "[Maria]"; + mes "Uh, anyways..... where were we?"; + emotion e_hmm; + next; + mes "[Maria]"; + mes "Like I said before, if you want to become a Wizard you must first speak with Catherine."; + mes "She just recently became a Wizard so she should be a great help."; + next; + mes "[Maria]"; + mes "I can tell you more about the job changing process, but I wouldn't want to take up anymore of your time."; + mes "That is unless, you want me to go on about what's in store for Wizards to be?........."; + next; + menu "Yes, please continue.",sM_0, "No, it's ok.",sM_1, "A talking dog......",sM_2; + + sM_0: + mes "[Maria]"; + mes "Ok then. Let me explain the process for becoming a Wizard to you...."; + next; + mes "[Maria]"; + mes "There are 3 Tests in the Wizard job change process. The ^5555FF1st Test^000000 will require you to collect a number of ^FF5555magic items^000000."; + next; + mes "[Maria]"; + mes "Catherine will give you that test. She will ask to you collect either a variety of ^5555FFGemstones^000000, or ^5555FFElemental Ores^000000."; + next; + mes "[Maria]"; + mes "The ^5555FF2nd Test^000000 will be administered by the, ever gloomy Raul, in the corner over there."; + mes "It is a multiple choice Q&A exam about the different aspects of magic."; + next; + mes "[Maria]"; + mes "The exam will consist of 10 questions. If you miss any of those questions you will fail the exam."; + next; + mes "[Maria]"; + mes "Raul will also administer the ^5555FF3rd Test^000000. This is the last test and it requires that defeat a series of monsters."; + mes "There will be three rooms each filled with monsters of a specific elemental attribute."; + next; + mes "[Maria]"; + mes "It is up to you to figure what spells work best on which monsters."; + next; + mes "[Maria]"; + mes "Well, that's all I can tell you. Go ahead and apply now."; + close; + sM_1: + mes "[Maria]"; + mes "Oh, ok. Go ahead and apply and do your best."; + close; + sM_2: + mes "[Maria]"; + mes "I'M NOT A DOG!!! ~ ARROOOOOOOOOWWWWW!!!! ~"; + emotion e_an; + next; + mes "[Maria]"; + mes "Dang it! I hope you FAIL!! Now go get lost!"; + emotion e_go; + next; + warp "gef_dun00.gat",54,23; + end; + M_1: + mes "[Dog]"; + mes "~WOOF~Woof~woof~ You DON'T have to state the obvious! I KNOW I'm a dog!"; + emotion e_pif; + next; + goto L_Cont; + +} + + +//<=========================================== Registrar and Examiner Catherine Medichi ==============================================>\\ +gef_tower.gat,111,37,4 script Catherine Medichi 68,{ + callfunc "F_BlockHigh",26,"High Mage",33,"High Wizard","Catherine Medichi"; + + mes "[Catherine Medichi]"; + if(BaseJob == Job_Mage) goto L_Mage; + + if(BaseJob == Job_Wizard){ + mes "What do you need fellow Wizard? If it's nothing, please leave..."; + next; + mes "[Catherine Medichi]"; + if(sex){ + mes "... Of course, if your here to ask me out... (*giggles*)...."; + } else { + mes "If you get yourself a boyfriend, feel free to drop by and show him off. XD"; + } + emotion e_lv; + close; + } + if(BaseJob == Job_Novice){ + mes "Awwww, a little novice! How cute! This place is for Wizards only though."; + emotion e_lv2; + next; + mes "[Catherine Medichi]"; + mes "If you're interested in magic, the ^0000FFMagician's Guild^000000 is the place for you."; + close; + } + mes "Hmm? What brings you all the way up here? If you have nothing to do here, please leave."; + mes "This place is for wizards only. =P"; + next; + mes "[Catherine Medichi]"; + mes "Try not to fall as you go back down...."; + close; + +L_Mage: + if(WIZ_Q == 2) goto L_Test2; + if(WIZ_Q == 3) goto L_Test3; + if(WIZ_Q == 4) goto L_Done; + if(WIZ_Q2 > 0) goto L_Test1; + + mes "My name's Catherine Medichi, and I just became a Wizard. Relax, you can call me Catherine."; + next; + mes "[Catherine Medichi]"; + mes "What brings you all the way up here? You want to be a wizard, right?"; + next; + menu "Of course!",M_0a, "The requirements",M_0b,"Not really",M_0End; + + M_0a: + mes "[Catherine Medichi]"; + mes "Please fill out this application form first."; + next; + mes "(you fill out the form and hand it back)"; + next; + if(JobLevel < 40) goto sL_JobLvl; + if(JobLevel == 50) goto sL_Job50; + + mes "[Catherine]"; + mes "Alright ^ff0000"+strcharinfo(0)+"^000000, it looks like you have everything in order."; + next; + mes "[Catherine Medichi]"; + mes "Now let me tell you about the test. It is divided into 3 parts."; + mes "- The 1st part involves the collecting of a number of magical items,"; + mes "- the 2nd part is a Q&A exam,"; + mes "- and the 3rd section is our favorite, the field exam."; + next; + mes "[Catherine Medichi]"; + mes "People with a job lvl of 50 can skip the first test. They have already worked hard enough."; + next; + mes "[Catherine Medichi]"; + mes "Now for the first part of the test. This requires the gathering of a number of magic items."; + next; + set WIZ_Q2, rand(1,2); + + mes "[Catherine Medichi]"; + mes "The items you need to bring are:"; + if(WIZ_Q2 == 2) goto R_2; + + R_1: + mes "- 10 ^ff0000Red gemstones^000000"; + mes "- 10 ^0000ffBlue gemstones^000000"; + mes "- and 10 ^ddcc11Yellow gemstones^000000."; + goto L_Cont0; + + R_2: + mes "5 ^0000ffCrystal Blues^000000,"; + mes "5 ^009900Green Lives^000000,"; + mes "5 ^ff0000Red Bloods^000000,"; + mes "and 5 ^ddcc11Wind of Verdures^000000."; + + L_Cont0: + next; + mes "[Catherine Medichi]"; + mes "This test isn't THAT hard, so get going!"; + next; + mes "[Catherine Medichi]"; + mes "Good luck! I'll be waiting!"; + set WIZ_Q, 1; + close; + + sL_JobLvl: + mes "[Catherine Medichi]"; + mes "Hey, I told you already. You have to have at least job lvl 40."; + mes "Don't you remember me telling you that?"; + close; + + sL_Job50: + mes "[Catherine Medichi]"; + mes "Wow! You're at job level 50! You must have worked really hard! I'm impressed!"; + next; + mes "[Catherine Medichi]"; + mes "Okay, I'll record that you're job 50. You get to skip the first test, but you still got 2 left."; + next; + mes "[Catherine Medichi]"; + mes "Now, talk to that man in the corner for the test. It's hard, so be careful."; + set WIZ_Q, 2; + close; + + M_0b: + mes "[Catherine Medichi]"; + mes "Even though many people want to become Wizards, only those with a job level of 40 can qualify."; + mes "Anyone with a job level less then that wouldn't have enough magic power to become a Wizard."; + next; + mes "[Catherine Medichi]"; + mes "Then there is the matter of the Wizard's Test. The test is made up of 3 sections."; + mes "Each section focuses on different asspects of Wizardry."; + next; + mes "[Catherine Medichi]"; + mes "Once you pass the test you'll be a Wizard just like me. Yay!"; + mes "Unfortunately a lot people have trouble with the test and never quite make it.(*sighs*)"; + next; + mes "[Catherine Medichi]"; + mes "Maybe you'll have better luck."; + close; + + M_0End: + mes "[Catherine Medichi]"; + mes "What? You came up here for nothing!?"; + emotion e_what; + close; + + + L_Test1: + mes "Did you get all of the items? Let's see......"; + next; + mes "[Catherine Medichi]"; + if(WIZ_Q2 == 1) goto sL_Gems; + if(WIZ_Q2 == 2) goto sL_Ores; + + sL_Gems: + if (countitem(716)<10 || countitem(717)<10 || countitem(715)<10) goto ssL_NotDone; + mes "Great! You've brought everything! The guild will use these well."; + next; + delitem 716, 10; + delitem 717, 10; + delitem 715, 10; + goto ssL_Done; + + sL_Ores: + if (countitem(991)<4 || countitem(993)<4 || countitem(990)<4 || countitem(992)<4) goto ssL_NotDone; + mes "Great! You've found them all! The guild will use them well."; + next; + delitem 991, 5; + delitem 993, 5; + delitem 990, 5; + delitem 992, 5; + + ssL_Done: + mes "[Catherine Medichi]"; + mes "Congrats, you passed the first test."; + mes "Don't relax yet, you still got 2 tests left."; + emotion e_no1; + next; + mes "[Catherine Medichi]"; + mes "Now talk to the man in the corner for the tests."; + mes "It's pretty hard, so be carefull."; + set WIZ_Q, 2; + set WIZ_Q2, 0; + close; + + ssL_NotDone: + mes "It seems you didn't bring everything that's needed."; + next; + mes "[Catherine Medichi]"; + mes "It's hard work to get all the way up here so make sure you have all of the right items okay?"; + next; + mes "[Catherine Medichi]"; + mes "You need:"; + if(WIZ_Q2 == 1) goto R_1; + if(WIZ_Q2 == 2) goto R_2; + close; + + L_Test2: + if(WIZ_Q2 == 1)goto sL_Failed2; + mes "Hey, did you go talk to the man? No? You can't just become a wizard by getting items."; + next; + mes "[Catherine Medichi]"; + mes "There are 2 more tests left. I'll be waiting, so go finish them."; + close; + + sL_Failed2: + mes "Huh?? You failed the Q&A test!?"; + emotion e_what; + next; + mes "[Catherine Medichi]"; + mes "You want to be a wizard and you can't answer a couple of questions?? Sheesh."; + emotion e_swt; + next; + mes "[Catherine Medichi]"; + mes "Well, do you want big sis to give you a hint? If you do, go buy me ^0099001 apple juice^000000. I'm a bit thirsty. =P"; + next; + menu "Can I have a hint?",M_1a, "I can pass on my own!",M_1b; + + M_1a: + if (countitem(531) < 1) goto sL_NoJuice; + delitem 531, 1; + + mes "[Catherine Medichi]"; + mes "Mmmmmmmmmmmmm, apple juice. ~gulp~gulp~"; + next; + mes "[Catherine Medichi]"; + mes "Thanks, I'll give you the hint now."; + next; + mes "[Catherine Medichi]"; + mes "The man gives you 3 major types of questions, about:"; + mes "- ^ff0000spells^000000,"; + mes "- ^ff0000monsters^000000,"; + mes "- and ^ff0000the caster^000000."; + next; + mes "[Catherine Medichi]"; + mes "It's up to him to pick the questions."; + next; + mes "[Catherine Medichi]"; + mes "Ya know... if he got a hair cut and shaved, he might look cool..."; + mes "But obviously he wouln't do it...."; + next; + mes "[Catherine Medichi]"; + mes "Anyways, about his questions on spells, there are obviously some on spells you've learned."; + next; + mes "[Catherine Medichi]"; + mes "There are also questions about spells you DON'T know much about, so go ask some Wizards for that info."; + next; + mes "[Catherine Medichi]"; + mes "There are also places out there with lots of information about spells, such as www.emperium.org."; + mes "You can probably find other sites as well."; + next; + mes "[Catherine Medichi]"; + mes "As far as the questions on monsters go, you COULD fight them to learn about them... OR..."; + next; + mes "[Catherine Medichi]"; + mes "... If I remember correctly, there's a libary in Prontera that has lots of information on monsters."; + mes "You could just go there and read about them."; + next; + mes "[Catherine Medichie]"; + mes "Now, about the questions about the caster.... You're on your own for this one.."; + mes "Why? Because YOU ARE the caster!"; + next; + mes "[Catherine Medichi]"; + mes "If you don't know anything about yourself, how would a stranger like me know?"; + next; + mes "[Catherine Medichi]"; + mes "Well good luck! Mister Examiner is waiting!"; + close; + + sL_NoJuice: + mes "[Catherine Medichi]"; + mes "Well, if you want hints, I need apple juice!. Otherwise, you're on your own =P."; + close; + + M_1b: + mes "[Catherine Medichi]"; + mes "That's right! Tests are meant to be done alone! That's definatly the way a Wizard should think!"; + next; + mes "[Catherine Medichi]"; + mes "Good luck! Mister Examiner is waiting!"; + close; + + L_Test3: + if(WIZ_Q2 == 1) goto sL_Failed3; + mes "He he, I could hear you in there working hard on those questions."; + next; + mes "[Catherine Medichi]"; + mes "Good job, only one test left! Finish that and you'll be a wizard!"; + next; + mes "[Catherine Medichi]"; + mes "Good luck! The examiner's waiting!"; + close; + + sL_Failed3: + mes "Why did you come out during the test? I never thought you were that weak..."; + next; + if(sex==1) goto ssL_M3; + if(sex==0) goto ssL_F3; + + ssL_M3: + mes "[Catherine Medichi]"; + mes "How could a powerful mage like you get beaten so easily!! Go back in and try harder."; + close; + + ssL_F3: + mes "[Catherine Medichi]"; + mes "You can't act all weak, just because you're a girl! If you want to be a wizard, go and pass the test!"; + next; + mes "[Catherine Medichi]"; + mes "I thought it was hard too, but it wasn't enough to make me quit! You just have to face hardship sometimes!"; + close; + + + L_Done: + if(SkillPoint > 0) mes "You need to use up all of your skill points before I can make you a Wizard."; + if(SkillPoint > 0) close; + + mes "Great! You finished all of the tests! Congrats, congrats, congrats!!"; + emotion e_no1; + next; + mes "[Catherine Medichi]"; + mes "Ack, I'm wasting time, I better change you!"; + next; + callfunc "Job_Change",Job_Wizard; + callfunc "F_ClearJobVar"; // clears all job variables for the current player + + mes "[Catherine Medichi]"; + mes "Now you're a wizard! Act responsibly!"; + next; + mes "[Catherine Medichi]"; + mes "Make sure when you cast a spell, you know exactly what's going to happen!"; + next; + mes "[Catherine Medichi]"; + mes "Don't do stupid things like casting in the middle of town!"; + mes "It causes lag and magic is supposed to be used on monsters anyways!"; + next; + mes "[Catherine Medichi]"; + mes "Become mightier by partying with others! Oh yea, here's a present!"; + next; + mes "[Catherine Medichi]"; + mes "(Rustle Rustle)"; + next; + getitem 505, 6; + mes "[Catherine Medichi]"; + mes "Use them wisely. It's a present from me, so you better use them all!"; + next; + mes "[Catherine Medichi]"; + mes "Well my fellow Wizard, take care and have a great life!"; + close; +} + + +//<================================================ Examiner: Raul Expagarus ==================================================>\\ +gef_tower.gat,102,24,3 script Raul Expagarus 735,{ + mes "[Raul Expagarus]"; + if(BaseJob == Job_Mage) goto L_Mage; + if(BaseJob == Job_Wizard) goto L_Wizard; + if(baseClass == Job_Acolyte) goto L_Holy; + if(BaseJob == Job_Novice) goto L_Novice; +L_Other: + mes "Ugh, I don't feel good....I feel like I'm trapped in ice........"; + next; + mes "[Raul Expagarus]"; + mes "Who're you?! Leave!"; + emotion e_gasp; + close; +L_Novice: + mes "What's a little kid like you doing here? Get out!!"; + emotion e_gasp; + next; + warp "geffen.gat",120,110; + close; +L_Holy: + mes "Leave holy ones!"; + mes "Magic is considered to be a power that is not from God......."; + next; + mes "[Raul Expagarus]"; + mes "Besides, I'm not feeling too good. So Leave now!"; + close; +L_Wizard: + mes "Cough Cough, what can I do for you? Hmmm... you're a magic user too..."; + next; + mes "[Raul Expagarus]"; + if(sex==1) goto L_M; + if(sex==0) goto L_F; + + L_M: + mes "If you're not responsible, you might accidently learn useless spells."; + mes "Instead of that, you might want to focus on learning spells you'll be using now."; + next; + mes "[Raul Expagarus]"; + mes "In a fight for love, you might become crippled hehe."; + close; + + L_F: + mes "If you're not responsible, you might accidently learn useless spells."; + mes "You should learn a spell with all of your heart or not learn it at all."; + next; + mes "[Raul Expagarus]"; + mes "If you don't wish to study like that............... Heh, then go be a housewife."; + close; + +L_Mage: + if(WIZ_Q == 1) goto L_NotRdy; + if(WIZ_Q == 2) goto L_Test2; + if(WIZ_Q == 3) goto L_Test3; + if(WIZ_Q == 4) goto L_Done; + + mes "Cough, I don't have any time to talk."; + next; + mes "[Raul Expagarus]"; + mes "Sorry, but please leave."; + close; + + L_NotRdy: + mes "Heh, a wizard trainee eh?!"; + next; + mes "[Raul Expagarus]"; + mes "You COULD just stay as a mage and live a pretty decent life....."; + next; + mes "[Raul Expagarus]"; + mes "Then again, wizards ARE much more high class....."; + close; + + L_Done: + mes "Congratulations on finishing the final test! You have now finished all of the Wizards tests and are ready to become a Wizard!"; + emotion e_no1; + next; + mes "[Raul Expagarus]"; + mes "Go speak to Catherine to become a Wizard. But be careful! Magic is a powerfull force and can easily destroy you!!"; + close; + + L_Test2: + if(WIZ_Q2 == 1) goto sL_ReTest2; + + mes "I see you've passed the 1st test. My name is Raul Expagarus, I'm your test examiner."; + next; + mes "[Raul Expagarus]"; + mes "It's not too late! You can still return to a peaceful life in town if you wish."; + next; + mes "[Raul Expagarus]"; + mes "You probably have no clue how dangerous it is to use magic."; + next; + menu "You're right. I quit.",M_0a, "I want to take test!",M_0b; + + sL_ReTest2: + mes "Hmph, you want to try again?"; + next; + mes "[Raul Expagarus]"; + mes "How can you hate a peaceful life so much?"; + next; + mes "[Raul Expagarus]"; + mes "Be that way! If you miss one question, you fail! What do you say!?"; + emotion e_pif; + next; + menu "I want to live in peace..........",M_0a, "I want to try again.",M_0b; + + M_0a: + mes "[Raul Expagarus]"; + mes "Good choice, cough cough. Being a Wizard is a difficult job, and magic is not meant to be used by mere mortals........."; + next; + mes "[Raul Expagarus]"; + mes "Go down the tower and don't look back. Use the magic you have now and live a peaceful life."; + close; + + M_0b: + mes "[Raul Expagarus]"; + mes "Hmph, we'll see how GREAT you do."; + next; + mes "[Raul Expagarus]"; + mes "Lets start the test! If you miss one question, you're screwed! HA!"; + emotion e_gg; + next; + mes "[Raul Expagarus]"; + mes "10 questions, get them right! I won't tell you the correct answer for the ones you miss."; + next; + set @SCORE,0; + set @temp,rand(0,2); + if(@temp == 1) goto R_1; + if(@temp == 2) goto R_2; + + //Spell Quiz + R_0: + mes "[Raul Expagarus]"; + mes "Cough, here are the questions!"; + next; + mes "[Raul Expagarus]"; + mes "1. Which of the following is not"; + mes "necessary to learn Fire Wall?"; + next; + menu "Fire Bolt Lv 4",sM0_0b, "Fire Ball Lv 5",sM0_0b, "Sight Lv 1",sM0_0b, "Napalm Beat Lv 4",sM0_0a; + + sM0_0a: + set @SCORE, @SCORE + 10; + + sM0_0b: + + mes "[Raul Expagarus]"; + mes "2. Regardless of it's previous"; + mes "attribute. What does the monster's"; + mes "attribute change to when you cast"; + mes "Frost Diver on it?"; + next; + menu "Water",sM0_1a, "Earth",sM0_1b, "Fire",sM0_1b, "Wind",sM0_1b; + + sM0_1a: + set @SCORE, @SCORE + 10; + + sM0_1b: + + mes "[Raul Expagarus]"; + mes "3. When you completely master"; + mes "Napalm Beat, what is the ratio of"; + mes "the increased MATK using that"; + mes "spell?"; + next; + menu "1.6 times",sM0_2b, "1.7 times",sM0_2a, "2 times",sM0_2b, "20 times",sM0_2b; + + sM0_2a: + set @SCORE, @SCORE + 10; + + sM0_2b: + + mes "[Raul Expagarus]"; + mes "4. What item do you need when"; + mes "casting Stone Curse?"; + next; + menu "Red Blood",sM0_3b, "Blue Gemstone",sM0_3b, "Yellow Gemstone",sM0_3b, "Red Gemstone",sM0_3a; + + sM0_3a: + set @SCORE, @SCORE + 10; + + sM0_3b: + + mes "[Raul Expagarus]"; + mes "5. Which of the following is not"; + mes "required to master Safety Wall?"; + next; + menu "Napalm Beat Lv 4",sM0_4b, "Soul Strike Lv 5",sM0_4b, "SP Recovery Lv 6",sM0_4a, "Safety Wall Lv 7",sM0_4b; + + sM0_4a: + set @SCORE, @SCORE + 10; + + sM0_4b: + + mes "[Raul Expagarus]"; + mes "6. Without the INT bonus, what"; + mes "amount of SP is recovered every 10"; + mes "seconds when you have learned"; + mes "Increase SP Recovery Lv 7?"; + next; + menu "14",sM0_5b, "21",sM0_5a, "28",sM0_5b, "35",sM0_5b; + + sM0_5a: + set @SCORE, @SCORE + 10; + + sM0_5b: + + mes "[Raul Expagarus]"; + mes "7. Using Energy Coat, when you have"; + mes "50% of your SP remaining, how much"; + mes "SP is used when hit, and what"; + mes "percentage is damage reduced by?"; + next; + menu "Damage 18% SP1.5%",sM0_6b, "Damage 18% SP2%",sM0_6a, "Damage 24% SP1.5%",sM0_6b, "Damage 24% SP2%",sM0_6b; + + sM0_6a: + set @SCORE, @SCORE + 10; + + sM0_6b: + + mes "[Raul Expagarus]"; + mes "8. How much SP is consumed and how"; + mes "many times can you avoid attacks"; + mes "when using Safety Wall Lv 6?"; + next; + menu "SP 40, 6hits",sM0_7b, "SP 35, 6hits",sM0_7b, "SP 40, 7hits",sM0_7b, "SP 35, 7hits",sM0_7a; + + sM0_7a: + set @SCORE, @SCORE + 10; + + sM0_7b: + + mes "[Raul Expagarus]"; + mes "9. How much SP is needed when using"; + mes "Lv 10 Thunderstorm?"; + next; + menu "84",sM0_8b, "74",sM0_8a, "64",sM0_8b, "54",sM0_8b; + + sM0_8a: + set @SCORE, @SCORE + 10; + + sM0_8b: + + mes "[Raul Expagarus]"; + mes "10. Which skill is most useful"; + mes "training in the Byalan Dungeon?"; + next; + menu "Lightning Bolt",sM0_9a, "Fire Bolt",sM0_9b, "Ice Bolt",sM0_9b, "Sight",sM0_9b; + + sM0_9a: + set @SCORE, @SCORE + 10; + + sM0_9b: + goto L_Cont0; + + //Monster Quiz + R_1: + mes "[Raul Expagarus]"; + mes "1. Which monster can you obtain a"; + mes "slotted Guard from?"; + next; + menu "Thief Bug",sM1_0b, "Peco Peco",sM1_0b, "Pupa",sM1_0a, "Kobold (Hammer)",sM1_0b; + + sM1_0a: + set @SCORE, @SCORE + 10; + + sM1_0b: + + mes "[Raul Expagarus]"; + mes "2. Which of the following is the"; + mes "easiest monster for a low level"; + mes "Mage to hunt?"; + next; + menu "Flora",sM1_1a, "Gierth",sM1_1b, "Golem",sM1_1b, "Myst",sM1_1b; + + sM1_1a: + set @SCORE, @SCORE + 10; + + sM1_1b: + + mes "[Raul Expagarus]"; + mes "3. Which monster will not be"; + mes "affected by Stone Curse?"; + next; + menu "Elder Willow",sM1_2b, "Evil Druid",sM1_2a, "Magnolia",sM1_2b, "Marc",sM1_2b; + + sM1_2a: + set @SCORE, @SCORE + 10; + + sM1_2b: + + mes "[Raul Expagarus]"; + mes "4. When attacking a Lv 3 water"; + mes "attribute monster with a wind"; + mes "attribute weapon, what is the"; + mes "damage percentage?"; + next; + menu "125%",sM1_3b, "150%",sM1_3b, "175%",sM1_3b, "200%",sM1_3a; + + sM1_3a: + set @SCORE, @SCORE + 10; + + sM1_3b: + + mes "[Raul Expagarus]"; + mes "5. If a Baby Desert Wolf and a"; + mes "Familiar fought, which one would"; + mes "win?"; + next; + menu "Baby Desert Wolf",sM1_4a, "Familiar",sM1_4b, "Neither",sM1_4b, "I don't know",sM1_4b; + + sM1_4a: + set @SCORE, @SCORE + 10; + + sM1_4b: + + mes "[Raul Expagarus]"; + mes "6. Which of the following cannot be"; + mes "a Cute Pet?"; + next; + menu "Poporing",sM1_5b, "Roda Frog",sM1_5a, "Smokie",sM1_5b, "Poison Spore",sM1_5b; + + sM1_5a: + set @SCORE, @SCORE + 10; + + sM1_5b: + + mes "[Raul Expagarus]"; + mes "7. Choose the monster that is weak"; + mes "against a fire attribute attack."; + next; + menu "Dagger Goblin",sM1_6b, "Mace Goblin",sM1_6b, "Morningstar Goblin",sM1_6b, "Hammer Goblin",sM1_6a; + + sM1_6a: + set @SCORE, @SCORE + 10; + + sM1_6b: + + mes "[Raul Expagarus]"; + mes "8. Which of the following monsters"; + mes "has the highest defence?"; + next; + menu "Horn",sM1_7b, "Chonchon",sM1_7b, "Andre",sM1_7b, "Caramel",sM1_7a; + + sM1_7a: + set @SCORE, @SCORE + 10; + + sM1_7b: + + mes "[Raul Expagarus]"; + mes "9. Choose the monster that's a"; + mes "different species."; + next; + menu "Poring",sM1_8b, "Mastering",sM1_8b, "Ghostring",sM1_8a, "Spore",sM1_8b; + + sM1_8a: + set @SCORE, @SCORE + 10; + + sM1_8b: + + mes "[Raul Expagarus]"; + mes "10. Which of the following is not"; + mes "an Undead monster?"; + next; + menu "Drake",sM1_9b, "Megalodon",sM1_9b, "Deviace",sM1_9a, "Khalitzburg",sM1_9b; + + sM1_9a: + set @SCORE, @SCORE + 10; + + sM1_9b: + goto L_Cont0; + + //Wizard Quiz + R_2: + mes "[Raul Expagarus]"; + mes "1. Which stat is most important"; + mes "for a Mage?"; + next; + menu "INT",sM2_0a, "AGI",sM2_0b, "DEX",sM2_0b, "VIT",sM2_0b; + + sM2_0a: + set @SCORE, @SCORE + 10; + + sM2_0b: + + mes "[Raul Expagarus]"; + mes "2. Which attribute does not have a"; + mes "'Bolt' type attack?"; + next; + menu "Water",sM2_1b, "Earth",sM2_1a, "Fire",sM2_1b, "Wind",sM2_1b; + + sM2_1a: + set @SCORE, @SCORE + 10; + + sM2_1b: + + mes "[Raul Expagarus]"; + mes "3. Choose the one that does not"; + mes "relate to a mage."; + next; + menu "Weak physical strength.",sM2_2b, "Attacks at a distance.",sM2_2b, "Good at selling stuff.",sM2_2a, "Magic Defense is high.",sM2_2b; + + sM2_2a: + set @SCORE, @SCORE + 10; + + sM2_2b: + + mes "[Raul Expagarus]"; + mes "4. Which town is the home of the"; + mes "Mages?"; + next; + menu "Prontera",sM2_3b, "Morroc",sM2_3b, "Alberta",sM2_3b, "Geffen",sM2_3a; + + sM2_3a: + set @SCORE, @SCORE + 10; + + sM2_3b: + + mes "[Raul Expagarus]"; + mes "5. Which of the following cards has?"; + mes "nothing to do with INT?"; + next; + menu "Andre Larva Card",sM2_4b, "Soldier Andre Card",sM2_4a, "Baby Desert Wolf Card",sM2_4b, "Elder Willow Card",sM2_4b; + + sM2_4a: + set @SCORE, @SCORE + 10; + + sM2_4b: + + mes "[Raul Expagarus]"; + mes "6. What is the Mage good at"; + mes "compared to other job classes?"; + next; + menu "Exceptional Vocal Ability",sM2_5b, "Exceptional Acting Ability",sM2_5b, "Exceptional Dance Skills",sM2_5b, "Exceptional Magic Skills",sM2_5a; + + sM2_5a: + set @SCORE, @SCORE + 10; + + sM2_5b: + + mes "[Raul Expagarus]"; + mes "7. What is the INT bonus at Job Lv"; + mes "40 for a mage?"; + next; + menu "8",sM2_6b, "7",sM2_6b, "6",sM2_6b, "5",sM2_6a; + + sM2_6a: + set @SCORE, @SCORE + 10; + + sM2_6b: + + mes "[Raul Expagarus]"; + mes "8. Which item can't be equipped by mages?"; + next; + menu "Knife",sM2_7b, "Cap",sM2_7a, "Sandals",sM2_7b, "Eye of Dullahan",sM2_7b; + + sM2_7a: + set @SCORE, @SCORE + 10; + + sM2_7b: + + mes "[Raul Expagarus]"; + mes "9. Which of the following is the"; + mes "catalyst when making the Mage test"; + mes "solution 3?"; + next; + menu "Blue Gemstone",sM2_8a, "Red Gemstone",sM2_8b, "Yellow Gemstone",sM2_8b, "Red Blood",sM2_8b; + + sM2_8a: + set @SCORE, @SCORE + 10; + + sM2_8b: + + mes "[Raul Expagarus]"; + mes "10. Which card is irrelevant to"; + mes "magic?"; + next; + menu "Marduk Card",sM2_9b, "Magnolia Card",sM2_9a, "Willow Card",sM2_9b, "Maya Card",sM2_9b; + + sM2_9a: + set @SCORE, @SCORE + 10; + + sM2_9b: + + + L_Cont0: + mes "[Raul Expagarus]"; + mes "Well that's the end of the test. When you get some time afterwards, go get something to eat okay."; + next; + mes "[Raul Expagarus]"; + mes "Anyway, here is your score: ^ff0000"+@SCORE+"^000000 points."; + next; + mes "[Raul Expagarus]"; + if(@SCORE == 100) goto sL_Pass100; + if(@SCORE == 90) goto sL_Pass90; + + sL_Failed: + set WIZ_Q2, 1; + mes "Hmf... You failed, go study some more."; + next; + mes "[Raul Expagarus]"; + mes "You're a long way away. With that low of an intelligence, you have no chance of surviving as a wizard."; + close; + + sL_Pass90: + set WIZ_Q, 3; + set WIZ_Q2, 0; + mes "Hmm, you've missed one question, but I'll let you pass."; + next; + mes "[Raul Expagarus]"; + mes "Don't relax yet! There is still a 3rd test left. While we prepare for the next test, sit and rest a bit."; + close; + + sL_Pass100: + set WIZ_Q, 3; + set WIZ_Q2, 0; + mes "Wonderful! You've passed the 2nd test."; + next; + mes "[Raul Expagarus]"; + mes "Don't relax yet! There is still a 3rd test left. While we prepare for the next test, sit and rest a bit."; + close; + + + L_Test3: + if(WIZ_Q2 == 1) goto sL_ReTest3; + mes "Got some rest? Good. Now, let's start the last test."; + next; + mes "[Raul Expagarus]"; + mes "I'll make a quick explanation of the test, want to hear it?"; + next; + menu "No thank you.",M_1a, "Please go on",M_1b; + + M_1a: + mes "[Raul Expagarus]"; + mes "Ignorant fool! Fine, go die if you wish! Your corpse will be left as food for the monsters."; + emotion e_omg; + next; + mes "[Raul Expagarus]"; + mes "I'll send you now... By the way, have fun getting slaughtered!"; + next; + savepoint "gef_tower.gat",106,29; + warp "job_wiz.gat",57,154; + end; + + M_1b: + mes "[Raul Expagarus]"; + mes "Good choice. Listen carefully."; + next; + mes "[Raul Expagarus]"; + mes "The is a test of your ability to fight monsters of varying elemental properites."; + mes "There will be 3 different rooms, each containing monsters of a different elemental property."; + next; + mes "[Raul Expagarus]"; + mes "There will be the Room of Water which will have monsters of the water property, followed by the "; + mes "Room of Earth with earth property monsters, and finally the Room of Fire with fire property monsters."; + next; + mes "[Raul Expagarus]"; + mes "You will have 3 minutes for each room. You must kill all of the monsters in the room to be able to advance to the next room."; + next; + mes "[Raul Expagarus]"; + mes "If you use that right spells you should be able to finish the test rather easily. That's all there is to it."; + next; + mes "[Raul Expagarus]"; + mes "You look a little frightened.... give up now and you can return to town....."; + next; + menu "I have no fear! Give me the test!",sM_a, "... tooo scaaarryy... lemme go home(*sob*sob*)",sM_b; + + sM_a: + mes "[Raul Expagarus]"; + mes "Kid, you have courage. We'll start right away!"; + next; + set WIZ_Q2, 1; + savepoint "gef_tower.gat",106,29; + warp "job_wiz.gat",57,154; + end; + + sM_b: + mes "[Raul Expagarus]"; + mes "Good choice. Have a nice peaceful life!"; + warp "geffen.gat",120,110; + end; + + sL_ReTest3: + mes "You want to take the test AGAIN!? You love magic THAT much!?"; + emotion e_what; + next; + mes "[Raul Expagarus]"; + mes "You failed last time, so it's time for a quiz! If you don't want to take it, TOO BAD!."; + next; + mes "[Raul Expagarus]"; + mes "Let's start."; + next; + set @SCORE, 0; + + mes "[Raul Expagarus]"; + mes "1. Choose the monster with a"; + mes "different attribute than the"; + mes "others."; + next; + menu "Mantis",sM_0b, "Cornutus",sM_0a, "Giearth",sM_0b, "Caramel",sM_0b; + + sM_0a: + set @SCORE, @SCORE + 20; + + sM_0b: + + mes "[Raul Expagarus]"; + mes "2. Choose the monster that is not a"; + mes "looting one."; + next; + menu "Yoyo",sM_1b, "Magnolia",sM_1b, "Metaller",sM_1b, "Zerom",sM_1a; + + sM_1a: + set @SCORE, @SCORE + 20; + + sM_1b: + + mes "[Raul Expagarus]"; + mes "3. Which of these monsters does not"; + mes "recognize casting?"; + next; + menu "Marina",sM_2a, "Vitata",sM_2b, "Scorpion",sM_2b, "Giearth",sM_2b; + + sM_2a: + set @SCORE, @SCORE + 20; + + sM_2b: + + mes "[Raul Expagarus]"; + mes "4. Chose the spell that would be"; + mes "efficient against a Marine Sphere."; + next; + menu "Cold Bolt",sM_3b, "Fire Bolt",sM_3b, "Lightning Bolt",sM_3a, "Stone Curse",sM_3b; + + sM_3a: + set @SCORE, @SCORE + 20; + + sM_3b: + + mes "[Raul Expagarus]"; + mes "5. Choose the monster that can"; + mes "move."; + next; + menu "Hydra",sM_4b, "Mandragora",sM_4b, "Greatest General",sM_4b, "Frilldora",sM_4a; + + sM_4a: + set @SCORE, @SCORE + 20; + + sM_4b: + + mes "[Raul Expagarus]"; + mes "Your score is ^ff0000" +@SCORE+ "^000000 pts."; + next; + mes "[Raul Expagarus]"; + if (@SCORE >= 80) goto sL_Passed3; + + sL_Failed3: + mes "You Failed! Go study some more!"; + next; + mes "[Raul Expagarus]"; + mes "You aren't fit to be a wizard, why do you think you failed!?"; + close; + + sL_Passed3: + if (@SCORE == 100) mes "If you're so smart, why couldn't you pass the test the first time?"; + if (@SCORE == 80) mes "Kehe, almost perfect. I'll let you try again."; + next; + menu "Let's start!",M_2a, "Explain the test again please.",M_1b; + + M_2a: + mes "[Raul Expagarus]"; + mes "I won't help you even if you die this time. Don't come crying to me if you fail again.... hehe."; + next; + percentheal 100,100; + mes "[Raul Expagarus]"; + mes "I'll send you to the arena now. Have fun getting your butt whooped!"; + next; + savepoint "gef_tower.gat",106,29; + warp "job_wiz.gat",55,156; + end; +} + + +//<====================================================== Test Arena ========================================================>\\ +// Test Guide --------------------------------------------------------------------------------- +job_wiz.gat,50,165,4 script Wizard Test Guide::WzTG 123,{ + mes "[Test Guide]"; + mes "Welcome. I will be your guide for the Wizard Test."; + next; + menu "I would like to take the test.",M_0, "I would like to leave.",M_1; + + M_0: + mes "[Test Guide]"; + mes "As you have been told you will have 3 minutes to finish each portion of the test."; + mes "I will periodically announce how much time you have left for each room on a minute by minute basis."; + next; + mes "[Test Guide]"; + mes "Please enter the 'Wizard Test Waiting Room' when you are ready to take the test."; + mes "When the testing room is ready you will be automatically warped there and the exam will begin."; + next; + mes "[Test Guide]"; + mes "Good luck!"; + close; + M_1: + mes "[Test Guide]"; + mes "I see. I will send you back."; + next; + warp "gef_tower.gat",106, 35; + end; + +OnInit: + waitingroom "Wizard Test Waiting Room",8,"WzTG::OnStart",1; + end; + +OnStart: + set $@WzUsers, getareausers("job_wiz.gat", 98, 154, 129, 185); // get user count for first lvl + set $@WzUsers, $@WzUsers + getareausers("job_wiz.gat", 100, 82, 131, 113); // get user count for second lvl + first lvl + set $@WzUsers, $@WzUsers + getareausers("job_wiz.gat", 30, 82, 61, 113); // get user count for third lvl + second lvl + first lvl + if ($@WzUsers > 0) end; + + if ((getwaitingroomstate(33)) == 0) end; // finds out if there is anyone in the waiting room + disablenpc "waterwrp"; //disables the warps + disablenpc "waterwarpW"; + disablenpc "waterwarpN"; + disablenpc "waterwarpS"; + disablenpc "earthwrp"; + disablenpc "earthwarpW"; + disablenpc "earthwarpN"; + disablenpc "earthwarpS"; + disablenpc "firewrp"; + disablenpc "firewarpN"; + disablenpc "firewarpW"; + disablenpc "firewarpS"; + killmonsterall "job_wiz.gat"; //makes sure there are no left over mobs from other testers + warpwaitingpc "job_wiz.gat",114,169; + donpcevent "WaterRm::OnStart"; + end; +} + +// Room of Water ----------------------------------------------------------------------------- +job_wiz.gat,1,1,1 script WaterRm -1,{ + +OnStart: + set $@WzRm, 1; // used to determine which map area(room) to make time announcements in + set $@WzMOB, 8; //used as a counter for the monsters that are summoned + monster "job_wiz.gat",109,174,"Phen",1158,1,"WaterRm::OnMyMobDead1"; + monster "job_wiz.gat",118,174,"Kukre",1070,1,"WaterRm::OnMyMobDead1"; + monster "job_wiz.gat",98,170,"Kukre",1070,1,"WaterRm::OnMyMobDead1"; + monster "job_wiz.gat",109,165,"Vadon",1066,1,"WaterRm::OnMyMobDead1"; + monster "job_wiz.gat",118,165,"Cornutus",1067,1,"WaterRm::OnMyMobDead1"; + monster "job_wiz.gat",101,157,"Marina",1141,1,"WaterRm::OnMyMobDead1"; + monster "job_wiz.gat",126,157,"Marin",1242,1,"WaterRm::OnMyMobDead1"; + monster "job_wiz.gat",129,170,"Obeaune",1044,1,"WaterRm::OnMyMobDead1"; + initnpctimer "TimerWz"; + end; + +OnMyMobDead1: //when a monster dies this portion of script is run + set $@WzMOB, $@WzMOB - 1; + if ($@WzMOB > 0) end; + + stopnpctimer "TimerWz"; + set $@WzMOB, 0; + addtimer 2000, "WaterRm::OnTimer2000"; + end; + +OnTimer2000: + set $@WzMOB, 5; + areaannounce "job_wiz.gat", 98, 154, 129, 185, "[Test Guide]: You must now defeat the door gaurds! Hurry!",8; + monster "job_wiz.gat",114,169,"Marine Sphere",1142,1,"WaterRm::OnMyMobDead2"; + monster "job_wiz.gat",112,169,"Hydra",1068,1,"WaterRm::OnMyMobDead2"; + monster "job_wiz.gat",116,169,"Hydra",1068,1,"WaterRm::OnMyMobDead2"; + monster "job_wiz.gat",114,171,"Hydra",1068,1,"WaterRm::OnMyMobDead2"; + monster "job_wiz.gat",114,167,"Hydra",1068,1,"WaterRm::OnMyMobDead2"; + setnpctimer 120000, "TimerWz"; + startnpctimer "TimerWz"; + end; + +OnMyMobDead2: + set $@WzMOB, $@WzMOB - 1; + if ($@WzMOB > 0) end; + + stopnpctimer "TimerWz"; + set $@WzMOB, 0; + areaannounce "job_wiz.gat", 98, 154, 129, 185, "[Test Guide]: Well done. You have completed the Room of Water. Get ready for the Room of Earth.",8; + percentheal 100,100; + enablenpc "waterwrp"; + enablenpc "waterwarpW"; + enablenpc "waterwarpN"; + enablenpc "waterwarpS"; + initnpctimer "waterwrp"; // warps the player after 30 secs even if they don't enter the warps + end; +} + +// Room of Earth ----------------------------------------------------------------------------------------------- +job_wiz.gat,1,1,1 script EarthRm -1,{ + +OnStart: + set $@WzRm, 2; + set $@WzMOB, 10; + monster "job_wiz.gat",111,102,"Yoyo",1057,1,"EarthRm::OnMyMobDead1"; + monster "job_wiz.gat",120,102, "Deniro",1105,1,"EarthRm::OnMyMobDead1"; + monster "job_wiz.gat",111,102, "Caramel",1103,1,"EarthRm::OnMyMobDead1"; + monster "job_wiz.gat",120,102,"Hode",1127,1,"EarthRm::OnMyMobDead1"; + monster "job_wiz.gat",111,93,"Savage",1166,1,"EarthRm::OnMyMobDead1"; + monster "job_wiz.gat",120,93,"Giearth",1121,1,"EarthRm::OnMyMobDead1"; + monster "job_wiz.gat",107,98,"Bigfoot",1160,1,"EarthRm::OnMyMobDead1"; + monster "job_wiz.gat",124,98,"Orc Warrior",1023,1,"EarthRm::OnMyMobDead1"; + monster "job_wiz.gat",104,86,"Vitata",1176,1,"EarthRm::OnMyMobDead1"; + monster "job_wiz.gat",127,86,"Mantis",1139,1,"EarthRm::OnMyMobDead1"; + initnpctimer "TimerWz"; + end; + +OnMyMobDead1: + set $@WzMOB, $@WzMOB - 1; + if ($@WzMOB > 0) end; + + stopnpctimer "TimerWz"; + addtimer 2000, "EarthRm::OnTimer2000"; + set $@WzMOB, 0; + end; + +OnTimer2000: + set $@WzMOB, 7; + areaannounce "job_wiz.gat", 100, 82, 131, 113, "[Test Guide]: You now must defeat the door gaurds! Hurry!.",8; + monster "job_wiz.gat",116,97,"Flora",1118,1,"EarthRm::OnMyMobDead2"; + monster "job_wiz.gat",114,95,"Mandragora",1020,1,"EarthRm::OnMyMobDead2"; + monster "job_wiz.gat",118,95,"Mandragora",1020,1,"EarthRm::OnMyMobDead2"; + monster "job_wiz.gat",114,99,"Mandragora",1020,1,"EarthRm::OnMyMobDead2"; + monster "job_wiz.gat",118,99,"Mandragora",1020,1,"EarthRm::OnMyMobDead2"; + monster "job_wiz.gat",116,94,"Mandragora",1020,1,"EarthRm::OnMyMobDead2"; + monster "job_wiz.gat",116,100,"Mandragora",1020,1,"EarthRm::OnMyMobDead2"; + setnpctimer 120000, "TimerWz"; + startnpctimer "TimerWz"; + end; + +OnMyMobDead2: + set $@WzMOB, $@WzMOB - 1; + if ($@WzMOB > 0) end; + + stopnpctimer "TimerWz"; + set $@WzMOB, 0; + areaannounce "job_wiz.gat", 100, 82, 131, 113, "[Test Guide]: Well done. You have completed the Room of Earth. Get ready for the Room of Fire.",8; + percentheal 100,100; + enablenpc "earthwrp"; + enablenpc "earthwarpN"; + enablenpc "earthwarpW"; + enablenpc "earthwarpS"; + initnpctimer "earthwrp"; + end; +} + +// Room of Fire ------------------------------------------------------------------------------------------------------------ +job_wiz.gat,1,1,1 script FireRm -1,{ + +OnStart: + set $@WzRm, 3; + set $@WzMOB, 7; + monster "job_wiz.gat",58,110,"Zerom",1178,1,"FireRm::OnMyMobDead1"; + monster "job_wiz.gat",33,110,"Flail Goblin",1123,1,"FireRm::OnMyMobDead1"; + monster "job_wiz.gat",40,103,"Scorpion",1001,1,"FireRm::OnMyMobDead1"; + monster "job_wiz.gat",51,103,"Frilldora",1119,1,"FireRm::OnMyMobDead1"; + monster "job_wiz.gat",40,92,"Peco Peco",1019,1,"FireRm::OnMyMobDead1"; + monster "job_wiz.gat",51,92,"Elder Willow",1033,1,"FireRm::OnMyMobDead1"; + monster "job_wiz.gat",37,89,"Metaller",1058,1,"FireRm::OnMyMobDead1"; + initnpctimer "TimerWz"; + end; + +OnMyMobDead1: + set $@WzMOB, $@WzMOB - 1; + if ($@WzMOB > 0) end; + + stopnpctimer "TimerWz"; + addtimer 2000, "FireRm::OnTimer2000"; + set $@WzMOB, 0; + end; + +OnTimer2000: + set $@WzMOB, 3; + areaannounce "job_wiz.gat", 30, 82, 61, 113, "[Test Guide]: You now must defeat the door gaurds! Hurry!.",8; + monster "job_wiz.gat",44,99,"Greatest General",1277,1,"FireRm::OnMyMobDead2"; + monster "job_wiz.gat",43,99,"Horong",1129,1,"FireRm::OnMyMobDead2"; + monster "job_wiz.gat",45,99,"Horong",1129,1,"FireRm::OnMyMobDead2"; + setnpctimer 120000, "TimerWz"; + startnpctimer "TimerWz"; + end; + +OnMyMobDead2: + set $@WzMOB, $@WzMOB - 1; + if ($@WzMOB > 0) end; + + stopnpctimer "TimerWz"; + set $@WzMOB, 0; + set WIZ_Q, 4; + set WIZ_Q2, 0; + areaannounce "job_wiz.gat", 30, 82, 61, 113, "[Test Guide]: Well done. You have completed the Room of Fire and the entire test.",0; + enablenpc "firewrp"; + enablenpc "firewarpN"; + enablenpc "firewarpW"; + enablenpc "firewarpS"; + initnpctimer "firewrp"; + end; +} + + +// Timer ----------------------------------------------------------------------------------------------- +job_wiz.gat,1,1,1 script TimerWz -1,{ + +OnTimer1000: + if($@WzRm==1) areaannounce "job_wiz.gat", 98, 154, 129, 185, "[Test Guide]: Room of Water, testing will begin.",8; + if($@WzRm==2) areaannounce "job_wiz.gat", 100, 82, 131, 113, "[Test Guide]: Room of Earth, testing will begin.",8; + if($@WzRm==3) areaannounce "job_wiz.gat", 30, 82, 61, 113, "[Test Guide]: Room of Fire, testing will begin.",8; + end; +OnTimer4000: + set $@WzTime$, "You have 3 minutes to defeat all of the monsters in this room starting now!"; + donpcevent "WzTG::OnStart"; //checks to see if anyone is still in the room, in case of logout or KO + callsub AnnounceWz; +OnTimer34000: + donpcevent "WzTG::OnStart"; + end; +OnTimer64000: + set $@WzTime$, "You have 2 minutes left!"; + donpcevent "WzTG::OnStart"; + callsub AnnounceWz; +OnTimer94000: + donpcevent "WzTG::OnStart"; + end; +OnTimer124000: + set $@WzTime$, "You have 1 minute left!"; + donpcevent "WzTG::OnStart"; + callsub AnnounceWz; +OnTimer154000: + set $@WzTime$, "You have 30 seconds left!"; + donpcevent "WzTG::OnStart"; + callsub AnnounceWz; +OnTimer174000: + set $@WzTime$, "You have 10 seconds left!"; + callsub AnnounceWz; +OnTimer184000: + set $@WzTime$, "Time is up. You have failed the test."; + callsub AnnounceWz; +OnTimer188000: + stopnpctimer; + if($@WzRm==1) areawarp "job_wiz.gat", 98, 154, 129, 185, "gef_tower.gat",106, 35; + if($@WzRm==2) areawarp "job_wiz.gat", 100, 82, 131, 113, "gef_tower.gat",106, 35; + if($@WzRm==3) areawarp "job_wiz.gat", 30, 82, 61, 113, "gef_tower.gat",106, 35; + killmonsterall "job_wiz.gat"; + donpcevent "WzTG::OnStart"; + end; + +AnnounceWz: + if($@WzRm==1) areaannounce "job_wiz.gat", 98, 154, 129, 185, "[Test Guide]: "+$@WzTime$+".",8; + if($@WzRm==2) areaannounce "job_wiz.gat", 100, 82, 131, 113, "[Test Guide]: "+$@WzTime$+".",8; + if($@WzRm==3) areaannounce "job_wiz.gat", 30, 82, 61, 113, "[Test Guide]: "+$@WzTime$+".",8; + end; +} + + +// Warps ------------------------------------------------------------------------------------------ + +// Water +job_wiz.gat,129,169,1 script waterwarpE::waterwrp 45,1,1,{ + +OnTimer30000: + stopnpctimer "waterwrp"; + areawarp "job_wiz.gat", 98, 154, 129, 185, "job_wiz.gat",116,98; + donpcevent "EarthRm::OnStart"; + end; +} +job_wiz.gat,98,169,1 duplicate(waterwrp) waterwarpW 45,1,1 +job_wiz.gat,114,185,1 duplicate(waterwrp) waterwarpN 45,1,1 +job_wiz.gat,114,154,1 duplicate(waterwrp) waterwarpS 45,1,1 + + +// Earth +job_wiz.gat,131,98,1 script earthwarpE::earthwrp 45,1,1,{ + +OnTimer30000: + stopnpctimer "earthwrp"; + areawarp "job_wiz.gat", 100, 82, 131, 113, "job_wiz.gat",47,98; + donpcevent "FireRm::OnStart"; + end; +} +job_wiz.gat,100,98,1 duplicate(earthwrp) earthwarpW 45,1,1 +job_wiz.gat,116,82,1 duplicate(earthwrp) earthwarpN 45,1,1 +job_wiz.gat,116,113,1 duplicate(earthwrp) earthwarpS 45,1,1 + + +// Fire +job_wiz.gat,61,97,1 script firewarpE::firewrp 45,1,1,{ + +OnTimer30000: + stopnpctimer "firewrp"; + areawarp "job_wiz.gat", 30, 82, 61, 113, "gef_tower.gat",106,35; + donpcevent "WzTG::OnStart"; + end; +} +job_wiz.gat,30,97,1 duplicate(firewrp) firewarpW 45,1,1 +job_wiz.gat,46,113,1 duplicate(firewrp) firewarpN 45,1,1 +job_wiz.gat,46,82,1 duplicate(firewrp) firewarpS 45,1,1 + + +//============================================================================== +// mapflag +//============================================================================== +job_wiz.gat mapflag nomemo +job_wiz.gat mapflag noteleport +job_wiz.gat mapflag nosave SavePoint +job_wiz.gat mapflag nopenalty +job_wiz.gat mapflag nobranch +job_wiz.gat mapflag noexp +job_wiz.gat mapflag noloot -- cgit v1.2.3-60-g2f50