//===== eAthena Script ======================================= //= Wizard Job Quest //===== By: ================================================== //= (Aegis) Translated by yoshiki, converted by kobra_k88 //= Further bugfixed and tested by Lupus //===== Current Version: ===================================== //= 2.2a //===== 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. 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] 2.2a Removed extra MES, added missing NEXT //= 2.3 Bigfoot monster summon corrected [Zairik] //============================================================ //<=================== Some dog =========================> gef_tower,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 "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; next; 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",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,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,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",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",106,29; warp "job_wiz",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",106,29; warp "job_wiz",57,154; end; sM_b: mes "[Raul Expagarus]"; mes "Good choice. Have a nice peaceful life!"; warp "geffen",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",106,29; warp "job_wiz",55,156; end; } //<====================================================== Test Arena ========================================================>\\ // Test Guide --------------------------------------------------------------------------------- job_wiz,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",106, 35; end; OnInit: waitingroom "Wizard Test Waiting Room",8,"WzTG::OnStart",1; end; OnStart: set $@WzUsers, getareausers("job_wiz", 98, 154, 129, 185); // get user count for first lvl set $@WzUsers, $@WzUsers + getareausers("job_wiz", 100, 82, 131, 113); // get user count for second lvl + first lvl set $@WzUsers, $@WzUsers + getareausers("job_wiz", 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"; //makes sure there are no left over mobs from other testers warpwaitingpc "job_wiz",114,169; donpcevent "WaterRm::OnStart"; end; } // Room of Water ----------------------------------------------------------------------------- job_wiz,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",109,174,"Phen",1158,1,"WaterRm::OnMyMobDead1"; monster "job_wiz",118,174,"Kukre",1070,1,"WaterRm::OnMyMobDead1"; monster "job_wiz",98,170,"Kukre",1070,1,"WaterRm::OnMyMobDead1"; monster "job_wiz",109,165,"Vadon",1066,1,"WaterRm::OnMyMobDead1"; monster "job_wiz",118,165,"Cornutus",1067,1,"WaterRm::OnMyMobDead1"; monster "job_wiz",101,157,"Marina",1141,1,"WaterRm::OnMyMobDead1"; monster "job_wiz",126,157,"Marin",1242,1,"WaterRm::OnMyMobDead1"; monster "job_wiz",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", 98, 154, 129, 185, "[Test Guide]: You must now defeat the door gaurds! Hurry!",8; monster "job_wiz",114,169,"Marine Sphere",1142,1,"WaterRm::OnMyMobDead2"; monster "job_wiz",112,169,"Hydra",1068,1,"WaterRm::OnMyMobDead2"; monster "job_wiz",116,169,"Hydra",1068,1,"WaterRm::OnMyMobDead2"; monster "job_wiz",114,171,"Hydra",1068,1,"WaterRm::OnMyMobDead2"; monster "job_wiz",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", 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,1,1,1 script EarthRm -1,{ OnStart: set $@WzRm, 2; set $@WzMOB, 10; monster "job_wiz",111,102,"Yoyo",1057,1,"EarthRm::OnMyMobDead1"; monster "job_wiz",120,102, "Deniro",1105,1,"EarthRm::OnMyMobDead1"; monster "job_wiz",111,102, "Caramel",1103,1,"EarthRm::OnMyMobDead1"; monster "job_wiz",120,102,"Hode",1127,1,"EarthRm::OnMyMobDead1"; monster "job_wiz",111,93,"Savage",1166,1,"EarthRm::OnMyMobDead1"; monster "job_wiz",120,93,"Giearth",1121,1,"EarthRm::OnMyMobDead1"; monster "job_wiz",107,98,"Bigfoot",1060,1,"EarthRm::OnMyMobDead1"; monster "job_wiz",124,98,"Orc Warrior",1023,1,"EarthRm::OnMyMobDead1"; monster "job_wiz",104,86,"Vitata",1176,1,"EarthRm::OnMyMobDead1"; monster "job_wiz",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", 100, 82, 131, 113, "[Test Guide]: You now must defeat the door gaurds! Hurry!.",8; monster "job_wiz",116,97,"Flora",1118,1,"EarthRm::OnMyMobDead2"; monster "job_wiz",114,95,"Mandragora",1020,1,"EarthRm::OnMyMobDead2"; monster "job_wiz",118,95,"Mandragora",1020,1,"EarthRm::OnMyMobDead2"; monster "job_wiz",114,99,"Mandragora",1020,1,"EarthRm::OnMyMobDead2"; monster "job_wiz",118,99,"Mandragora",1020,1,"EarthRm::OnMyMobDead2"; monster "job_wiz",116,94,"Mandragora",1020,1,"EarthRm::OnMyMobDead2"; monster "job_wiz",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", 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,1,1,1 script FireRm -1,{ OnStart: set $@WzRm, 3; set $@WzMOB, 7; monster "job_wiz",58,110,"Zerom",1178,1,"FireRm::OnMyMobDead1"; monster "job_wiz",33,110,"Flail Goblin",1123,1,"FireRm::OnMyMobDead1"; monster "job_wiz",40,103,"Scorpion",1001,1,"FireRm::OnMyMobDead1"; monster "job_wiz",51,103,"Frilldora",1119,1,"FireRm::OnMyMobDead1"; monster "job_wiz",40,92,"Peco Peco",1019,1,"FireRm::OnMyMobDead1"; monster "job_wiz",51,92,"Elder Willow",1033,1,"FireRm::OnMyMobDead1"; monster "job_wiz",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", 30, 82, 61, 113, "[Test Guide]: You now must defeat the door gaurds! Hurry!.",8; monster "job_wiz",44,99,"Greatest General",1277,1,"FireRm::OnMyMobDead2"; monster "job_wiz",43,99,"Horong",1129,1,"FireRm::OnMyMobDead2"; monster "job_wiz",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", 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,1,1,1 script TimerWz -1,{ OnTimer1000: if($@WzRm==1) areaannounce "job_wiz", 98, 154, 129, 185, "[Test Guide]: Room of Water, testing will begin.",8; if($@WzRm==2) areaannounce "job_wiz", 100, 82, 131, 113, "[Test Guide]: Room of Earth, testing will begin.",8; if($@WzRm==3) areaannounce "job_wiz", 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", 98, 154, 129, 185, "gef_tower",106, 35; if($@WzRm==2) areawarp "job_wiz", 100, 82, 131, 113, "gef_tower",106, 35; if($@WzRm==3) areawarp "job_wiz", 30, 82, 61, 113, "gef_tower",106, 35; killmonsterall "job_wiz"; donpcevent "WzTG::OnStart"; end; AnnounceWz: if($@WzRm==1) areaannounce "job_wiz", 98, 154, 129, 185, "[Test Guide]: "+$@WzTime$+".",8; if($@WzRm==2) areaannounce "job_wiz", 100, 82, 131, 113, "[Test Guide]: "+$@WzTime$+".",8; if($@WzRm==3) areaannounce "job_wiz", 30, 82, 61, 113, "[Test Guide]: "+$@WzTime$+".",8; end; } // Warps ------------------------------------------------------------------------------------------ // Water job_wiz,129,169,1 script waterwarpE::waterwrp 45,1,1,{ OnTimer30000: stopnpctimer "waterwrp"; areawarp "job_wiz", 98, 154, 129, 185, "job_wiz",116,98; donpcevent "EarthRm::OnStart"; end; } job_wiz,98,169,1 duplicate(waterwrp) waterwarpW 45,1,1 job_wiz,114,185,1 duplicate(waterwrp) waterwarpN 45,1,1 job_wiz,114,154,1 duplicate(waterwrp) waterwarpS 45,1,1 // Earth job_wiz,131,98,1 script earthwarpE::earthwrp 45,1,1,{ OnTimer30000: stopnpctimer "earthwrp"; areawarp "job_wiz", 100, 82, 131, 113, "job_wiz",47,98; donpcevent "FireRm::OnStart"; end; } job_wiz,100,98,1 duplicate(earthwrp) earthwarpW 45,1,1 job_wiz,116,82,1 duplicate(earthwrp) earthwarpN 45,1,1 job_wiz,116,113,1 duplicate(earthwrp) earthwarpS 45,1,1 // Fire job_wiz,61,97,1 script firewarpE::firewrp 45,1,1,{ OnTimer30000: stopnpctimer "firewrp"; areawarp "job_wiz", 30, 82, 61, 113, "gef_tower",106,35; donpcevent "WzTG::OnStart"; end; } job_wiz,30,97,1 duplicate(firewrp) firewarpW 45,1,1 job_wiz,46,113,1 duplicate(firewrp) firewarpN 45,1,1 job_wiz,46,82,1 duplicate(firewrp) firewarpS 45,1,1 //============================================================================== // mapflag //============================================================================== job_wiz mapflag nomemo job_wiz mapflag noteleport job_wiz mapflag nosave SavePoint job_wiz mapflag nopenalty job_wiz mapflag nobranch job_wiz mapflag noexp job_wiz mapflag noloot