//===== eAthena Script ======================================= //= Sage Job Quest //===== By: ================================================== //= jAthena (0.9) - I guess //= Unknown Translator (1.0) //= Darkchild (1.2) //===== Current Version: ===================================== //= 1.3 //===== Compatible With: ===================================== //= eAthena 1.0 + //===== Description: ========================================= //= Sage job quest based off of official servers. //===== Additional Comments: ================================= //= Script mostly based on translated jA script //= Written test questions/answers weren't translated 100% corectly //= So a lot of those are based upon mRO site and my own info //= IF you by excident have (or can get) screenshots of these questions //= Then PLEASE send them to Darkchild //= 1.3 Baby class Support added [Lupus] //============================================================ //================================== //Sage Castle //================================== yuno_in02.gat,38,61,4 script Magic Academy Headmaster 743,{ if (BaseJob == 16) goto L_Menu3_3; if (BaseJob != 2) goto L_Menu2_1; if (SAGE_Q == 11) goto L_Menu3_1; if (SAGE_Q >= 3) goto L_Menu2_2; mes "[Keiron]"; mes "All who appreciate the fine art"; mes "of magic are welcome here."; mes "How can I help you?"; next; menu "Change class to Sage",L_Menu1_1,"About the Sage class",-,"Just looking around",L_Menu1_2; mes "[Keiron]"; mes "So you're interested in being a Sage?"; mes "Well, I can't just make you one straight away."; next; mes "[Keiron]"; mes "In order to become a Sage, you'll need to file an application for entry into the Shubaichul Magic Academy and take the placement test."; next; mes "[Keiron]"; mes "Once you're placed, you'll need to complete coursework and finally write and defend a thesis."; next; mes "[Keiron]"; mes "If you successfully complete the requirements, you'll be granted a Sage license."; next; mes "[Keiron]"; mes "If you wish to apply, go see Mathias in the Shubaichul Magic Academy."; mes "Tell him I sent you."; close; L_Menu1_1: mes "[Keiron]"; mes "A Sage?"; mes "Well..."; mes "In order to change you way of living, you have to change your way of thinking."; next; mes "[Keiron]"; mes "Sages actively contribute knowledge to the kingdom through rigorous research."; mes "They also help society through its worst problems."; mes "Just because you dress as a Sage doesn't mean you're a Sage."; next; mes "[Keiron]"; mes "To become a Sage, please apply for entry into the Shubaichul Magic Academy."; mes "The admissions officer will explain the educational requirements."; close; L_Menu1_2: mes "[Keiron]"; mes "Excellent. If you have some free time, why not peruse a a volume from our library?"; mes "Our library is truly a bastion of knowledge."; next; mes "[Keiron]"; mes "Of course, there is much that can't be learned from reading books, but it's a good start."; close; L_Menu2_1: mes "[Keiron]"; mes "We Sages do a lot of research about the world on our own,"; mes "but to maximize our knowledge,"; mes "we regularly form interdisciplinary research teams."; next; mes "[Keiron]"; mes "You should talk to our Sages and share any research you may have been doing within your own profession."; close; L_Menu2_2: mes "[Keiron]"; mes "The road to becoming a Sage isn't easy."; mes "You need to have a strong dedication to mastering magic."; next; mes "[Keiron]"; mes "You need to keep plugging away at that thesis."; mes "Good luck!"; close; L_Menu3_1: if (countitem(1550) >= 1) goto L_Menu3_2; mes "[Keiron]"; mes "Where's your thesis?"; mes "I'm eager to evaulate it."; next; mes "[Keiron]"; mes "Did you forget it?"; mes "In any case, please bring it post-haste."; close; L_Menu3_2: mes "[Keiron]"; mes "It looks like you have a thesis to present. Let's have a look..."; next; mes "[Keiron]"; mes "Hmmm..."; next; mes "[Keiron]"; mes "Yes...."; next; mes "[Keiron]"; mes "Interesting..."; next; mes "[Keiron]"; mes "It's not stylistically"; mes "cohesive, but your zeal for research is amply proven by your thesis. I approve."; next; if(SkillPoint == 0) goto LCHANGE; mes "[Keiron]"; mes "Well you are all set for the jobchange except for 1 thing!"; mes "You have unused Skill Points!!!"; mes "Please use those first!"; close; LCHANGE: callfunc "Job_Change",Job_Sage; callfunc "F_ClearJobVar"; mes "[Keiron]"; mes "Congratulations!"; mes "You're a Sage now."; mes "Don't let that passion for research ever be dampened."; next; mes "[Keiron]"; mes "Keep your thesis around, since it may be useful in a publish-or-perish environment later on."; next; mes "[Keiron]"; mes "Some day, you'll be a bastion of knowledge all by yourself!"; close; L_Menu3_3: mes "[Keiron]"; mes "Hmmm? What's up?"; mes "Just because you're a Sage doesn't mean you should quit your studies."; next; mes "[Keiron]"; mes "In order to maintain our role as the kingdom's gatherers and dissemenators of knowledge, we can never miss an opportunity to gather data."; close; } //=============================== //Biotech Lab //=============================== yuno_in03.gat,244,31,3 script Physics Professor 120,{ if (BaseJob == 16) goto L_Menu3_2; if (BaseJob != 2) goto L_Menu1_1; if (SAGE_Q == 11) goto L_Menu3_1; if (SAGE_Q2 == 8) goto L_Menu2_1; if (SAGE_Q2 == 9) goto L_Menu2_3; if (SAGE_Q2 == 10) goto L_Menu2_5; if (SAGE_Q2 == 11) goto L_ThesisStart1; if (SAGE_Q == 9) goto L_Menu1_2; mes "[Ebeshi]"; mes "What?"; next; mes "[Ebeshi]"; mes "Did you come to study under my guidance?"; next; mes "[Ebeshi]"; mes "Well, you need to enroll first."; mes "Heheheheh..."; close; L_Menu1_1: mes "[Ebeshi]"; mes "Eh???????????????????????????????"; next; mes "[Ebeshi]"; mes "I don't think there's anything someone like you can learn from me."; next; mes "[Ebeshi]"; mes "Are you disappointed?"; mes "Hehehehe...."; close; L_Menu1_2: set SAGE_Q2,8; mes "[Ebeshi]"; mes "Well, I'm glad to meet another fine student such as yourself."; next; mes "[Ebeshi]"; mes "Aren't you excited that you're going to study under me?!"; mes "Hehehehe...."; next; mes "[Ebeshi]"; mes "I hate to be intrusive, but could you get something for me before I start my class?"; next; mes "[Ebeshi]"; mes "I need ^3051FD30x Stone^000000 as part of the class materials."; mes "Can you get that?"; next; mes "[Ebeshi]"; mes "If you really want to get stones quick,"; mes "you should look up a friendly thief to assist you! Thanks for helping out."; close; L_Menu2_1: if (countitem(7049) >= 30) goto L_Menu2_2; mes "[Ebeshi]"; mes "Hey, what are you up to?"; mes "Are you trying to slack off?"; mes "Come on, set your eyes on the goal."; next; mes "[Ebeshi]"; mes "I need ^3051FD30x Stone^000000 to proceed."; mes "With all the stones lying around,"; mes "shouldn't they be easy to find?"; close; L_Menu2_2: mes "[Ebeshi]"; mes "Awesome! You've got all the stones I need."; mes "Now, watch this!"; next; mes "[Ebeshi]"; mes "Abracadabra!!"; next; mes "[Ebeshi]"; mes "Abracadabra!!"; next; mes "[Ebeshi]"; mes "Abracadabra!!"; next; delitem 7049,30; set SAGE_Q2,9; mes "[Ebeshi]"; mes "You see that?"; mes "I created three elemental stones!"; next; mes "[Ebeshi]"; mes "Pretty cool, don't you think?"; mes "Have them for yourself!"; next; getitem 991,1; getitem 993,1; getitem 992,1; mes "[Ebeshi]"; mes "Now, for your next lesson, you need to synthesize some different kinds of arrows with those stones."; next; mes "[Ebeshi]"; mes "Specifically..."; mes "^3051FD50x Crystal Arrow^000000"; mes "^3051FD50x Stone Arrow^000000"; mes "^3051FD50x Wind Arrow^000000"; next; mes "[Ebeshi]"; mes "An archer friend can help you make the arrows."; mes "Give it a try!"; close; L_Menu2_3: if ((countitem(1754) >= 50) && (countitem(1756) >= 50) && (countitem(1755) >= 50)) goto L_Menu2_4; mes "[Ebeshi]"; mes "Hmmm?"; mes "What did you do with those stones I gave you?"; mes "You didn't sell them, I hope..."; next; mes "[Ebeshi]"; mes "You need to use them to make"; mes "^3051FD50x Crystal Arrow^000000"; mes "^3051FD50x Stone Arrow^000000"; mes "^3051FD50x Wind Arrow^000000"; mes "An archer friend can help you make the arrows."; close; L_Menu2_4: mes "[Ebeshi]"; mes "You made the arrows! Good job."; mes "Now, to continue with the lesson..."; next; mes "[Ebeshi]"; mes "This lesson covers the Elemental Affinity chapter in your textbook."; next; mes "[Ebeshi]"; mes "The first affinity is really easy."; mes "Water magic is very effective against fire."; mes "It's easy to remember."; mes "All you need to remember is water being splashed on fire."; next; mes "[Ebeshi]"; mes "Wind magic will decimate water-based monsters."; mes "Observe what happens when a lake is struck by lightning."; next; mes "[Ebeshi]"; mes "Earth magic will crush wind-based monsters easily."; mes "Don't you build a house on a strong foundation to keep the wind away?"; next; mes "[Ebeshi]"; mes "Fire magic mercilessly scorches the earth."; mes "Won't a tree burn if a fire breaks out?"; mes "Same with an earth-based monster."; next; mes "[Ebeshi]"; mes "Do you understand?"; mes "Here's some homework for next time..."; next; delitem 1754,50; delitem 1756,50; delitem 1755,50; set SAGE_Q2,10; mes "[Ebeshi]"; mes "Next time you come, bring ^3051FD1x Holy Water^000000."; mes "We'll need it for the lesson."; mes "It will be easy to acquire if you have contacts in the church."; close; L_Menu2_5: if (countitem(523) >= 1) goto L_Menu2_6; mes "[Ebeshi]"; mes "Ooops!"; mes "Did you forget about the item I asked you to bring?"; next; mes "[Ebeshi]"; mes "I need ^3051FD1x Holy Water^000000 for the lesson."; mes "Ask an Acolyte to help you make it."; mes "Hehehehe..."; close; L_Menu2_6: mes "[Ebeshi]"; mes "Alright, you have the Holy Water!"; mes "Let's continue the lesson!"; next; mes "[Ebeshi]"; mes "Please take good notes about this part."; mes "It will be on the test."; next; mes "[Ebeshi]"; mes "Water magic sucks against wind!"; mes "Would a lightning bolt care if it was frozen?"; mes "Heheheheh...."; next; mes "[Ebeshi]"; mes "Wind magic is totally useless against the earth."; mes "Will a tree suffer permanent damage if it's blown about?"; next; mes "[Ebeshi]"; mes "Earth magic is ineffective against fire."; mes "If you put some leaves on a fire, will the fire go out?"; mes "No, just the opposite will happen."; next; mes "[Ebeshi]"; mes "Fire won't do much against water."; mes "If you heat water, doesn't it just become more dangerous?"; next; mes "[Ebeshi]"; mes "That was a pretty informative lecture!"; mes "You think so too, right?"; next; delitem 523,1; set SAGE_Q2,11; mes "[Ebeshi]"; mes "Now, you have enough knowledge to prepare a defensible thesis."; mes "Hehehehehe!"; next; mes "[Ebeshi]"; mes "To put the thesis together, you'll need:"; mes "^3051FD1x Feather of Birds^000000 for your writing instrument."; mes "^3051FD1x Animal Skin^000000 for the pages."; mes "^3051FD1x Trunk^000000 to bind the pages."; mes "^3051FD1x Squid Ink^000000 for your ink."; mes "^3051FD1x Empty Bottle^000000 to store your ink."; next; mes "[Ebeshi]"; mes "Come and see me once you've gotten all of these items together."; close; L_ThesisStart1: if ((countitem(916) >= 1) && (countitem(919) >= 1) && (countitem(1019) >= 1) && (countitem(1024) >= 1) && (countitem(713) >= 1)) goto L_ThesisStart2; mes "[Ebeshi]"; mes "Hmmm?"; mes "You can't forget important things like this!"; next; mes "[Ebeshi]"; mes "You need these items to start your thesis:"; mes "^3051FD1x Feather of Birds^000000 for your writing instrument."; mes "^3051FD1x Animal Skin^000000 for the pages."; mes "^3051FD1x Trunk^000000 to bind the pages."; mes "^3051FD1x Squid Ink^000000 for your ink."; mes "^3051FD1x Empty Bottle^000000 to store your ink."; next; mes "[Ebeshi]"; mes "Do you have some friends that might be able to help you gather the materials?"; mes "That will make it a simple task!"; close; L_ThesisStart2: delitem 916,1; delitem 919,1; delitem 1019,1; delitem 1024,1; delitem 713,1; mes "[Ebeshi]"; mes "Alright..."; mes "You need to write this yourself."; mes "I'm simply your research advisor!"; mes "Hehehehe..."; next; mes "......"; next; mes "......"; next; mes "......"; next; mes "Elemental magic is divided into four types..."; menu "...called Fire, Wind, Water, and Earth",L_ThesisMenu1_1,"...named Fire, Wind, Water, and Earth",L_ThesisMenu1_2,"...that oppose each other: Fire, Wind, Water, and Earth",L_ThesisMenu1_3; L_ThesisMenu1_1: mes "...called Fire, Wind, Water, and Earth"; goto L_Thesis2; L_ThesisMenu1_2: mes "...named Fire, Wind, Water, and Earth"; goto L_Thesis2; L_ThesisMenu1_3: mes "...that oppose each other: Fire, Wind, Water, and Earth"; goto L_Thesis2; L_Thesis2: mes "Each attribute has certain properties."; menu "Wind conquers water...",L_ThesisMenu2_1,"Water douses fire...",L_ThesisMenu2_2,"Fire scorches Earth...",L_ThesisMenu2_3; L_ThesisMenu2_1: mes "Wind conquers Water and Earth attacks Wind"; goto L_Thesis3; L_ThesisMenu2_2: mes "Water douses fire, while Wind zaps Water"; goto L_Thesis3; L_ThesisMenu2_3: mes "Fire scorches Earth, and Water douses Fire."; goto L_Thesis3; L_Thesis3: menu "But weaknesses exist, too",L_ThesisMenu3_1,"You can customize your weapon element, also",L_ThesisMenu3_2,"Elemental affinity varies by monster type, also",L_ThesisMenu3_3; L_ThesisMenu3_1: mes "But weaknesses exist, too"; goto L_Thesis4; L_ThesisMenu3_2: mes "You can customize your weapon element, also"; goto L_Thesis4; L_ThesisMenu3_3: mes "Elemental affinity varies by monster type, also"; goto L_Thesis4; L_Thesis4: menu "You need to be circumspect when facing monsters...",L_ThesisMenu4_1,"So, you should customize your weapon to the situation",L_ThesisMenu4_2,"Red Potions have a delicious strawberry flavor",L_ThesisMenu4_3; L_ThesisMenu4_1: mes "You need to be circumspect when facing monster with an unfamiliar affinity."; goto L_Thesis5; L_ThesisMenu4_2: mes "You should customize your weapon to the situation."; goto L_Thesis5; L_ThesisMenu4_3: mes "Red Potions have a delicious strawberry flavor."; goto L_Thesis5; L_Thesis5: next; menu "Eimi of Prontera is hot",L_ThesisMenu5_1,"I wonder how Red Potions are made",L_ThesisMenu5_2,"The complexity of magic exceeds man's capacity to learn",L_ThesisMenu5_3; L_ThesisMenu5_1: mes "Eimi of Prontera is hot."; goto L_Thesis6; L_ThesisMenu5_2: mes "I wonder how Red Potions are made."; goto L_Thesis6; L_ThesisMenu5_3: mes "The complexity of magic exceeds man's capacity to learn."; goto L_Thesis6; L_Thesis6: menu "The women in Morok are hot, too",L_ThesisMenu6_1,"Maybe it's a secret recipe",L_ThesisMenu6_2,"It's dangerous to depend on magic too much...",L_ThesisMenu6_3; L_ThesisMenu6_1: mes "The women in Morok are hot, too."; goto L_Thesis7; L_ThesisMenu6_2: mes "Maybe it's a secret recipe."; goto L_Thesis7; L_ThesisMenu6_3: mes "It's dangerous to depend on magic too much..."; goto L_Thesis7; L_Thesis7: menu "I wish I had a Rabbit Headband",L_ThesisMenu7_1,"That taste of a White potion...",L_ThesisMenu7_2,"...if you want to stay safe. power...",L_ThesisMenu7_3; L_ThesisMenu7_1: mes "I wish I had a Rabbit Headband."; goto L_Thesis8; L_ThesisMenu7_2: mes "The taste of a White Potion..."; goto L_Thesis8; L_ThesisMenu7_3: mes "...if you want to stay safe. power..."; goto L_Thesis8; L_Thesis8: menu "That would make me happy",L_ThesisMenu8_1,"...is difficult to imagine",L_ThesisMenu8_2,"In the interest of a safe battle...",L_ThesisMenu8_3; L_ThesisMenu8_1: mes "That would make me happy."; goto L_Thesis9; L_ThesisMenu8_2: mes "...is difficult to imagine"; goto L_Thesis9; L_ThesisMenu8_3: mes "In the interest of a safe battle..."; goto L_Thesis9; L_Thesis9: menu "Rabbit Headbands make great Acolyte accessories",L_ThesisMenu9_1,"It makes me wonder if...",L_ThesisMenu9_2,"...you should bring along friends",L_ThesisMenu9_3; L_ThesisMenu9_1: mes "Rabbit Headbands make great Acolyte accessories."; goto L_Thesis10; L_ThesisMenu9_2: mes "It makes me wonder if..."; goto L_Thesis10; L_ThesisMenu9_3: mes "...you should bring along friends."; goto L_Thesis10; L_Thesis10: menu "I wonder if a Knight could wear one, too",L_ThesisMenu10_1,"...people might drink them when they're not hurt",L_ThesisMenu10_2,"It's the responsible thing to do",L_ThesisMenu10_3; L_ThesisMenu10_1: mes "I wonder if a Knight could wear one, too."; next; goto L_ThesisEnd; L_ThesisMenu10_2: mes "...people might drink them when they're not hurt"; next; goto L_ThesisEnd; L_ThesisMenu10_3: mes "It's the responsible thing to do."; next; goto L_ThesisEnd; L_ThesisEnd: mes "......"; next; mes "......"; next; mes "......"; next; set SAGE_Q,11; getitem 1550,1; mes "[Ebeshi]"; mes "Alright!"; mes "You've finished! It looks pretty good!"; next; mes "[Ebeshi]"; mes "You should take that to the Headmaster!"; mes "He'll decide whether you graduate or not."; mes "Hehehehehe...."; close; L_Menu3_1: mes "[Ebeshi]"; mes "What's up? Did you forget something?!"; next; mes "[Ebeshi]"; mes "You should see the Headmaster and present your thesis so you can graduate!"; close; L_Menu3_2: mes "[Ebeshi]"; mes "Good afternoon!"; mes "It's good to meet other Sages and exchange information."; mes "Heheheheh!!"; next; mes "[Ebeshi]"; mes "Even though company is good sometimes, I need to continue my magical research!"; next; mes "[Ebeshi]"; mes "Do you want to continue your study here?"; mes "Please feel free to talk to the other professors and read the literature here."; mes "Hehehehe!"; close; } //================================== //Monster Museum //================================== yuno_in03.gat,32,102,0 script Biology Professor 755,{ if (BaseJob == 16) goto L_Menu5_4; if (BaseJob != 2) goto L_Menu1_1; if (SAGE_Q == 11) goto L_Menu5_3; if ((SAGE_Q2 >= 1) && (SAGE_Q2 <= 3)) goto L_Menu3_1; if ((SAGE_Q2 >= 4) && (SAGE_Q2 <= 6)) goto L_Menu4_1; if (SAGE_Q2 == 7) goto L_Menu5_1; if (SAGE_Q == 8) goto L_Menu2_1; mes "[Lucias]"; mes "I have a headache..."; mes "I've got too many things going on at once!"; next; mes "[Lucias]"; mes "Of course, I'll teach people about biology even with a headache!"; close; L_Menu1_1: mes "[Lucias]"; mes "Hmmm? Are you just poking around?"; next; mes "[Lucias]"; mes "That's fine, but please don't touch anything."; mes "We keep dangerous bioagents in here!"; next; mes "[Lucias]"; mes "If you have information about rare monsters, we'll pay you handsomely."; close; L_Menu2_1: mes "[Lucias]"; mes "Oh, you've taken the placement test?"; mes "I'm Lucias, a preeminent researcher in the biological sciences."; next; mes "[Lucias]"; mes "What's your name, young one?"; next; menu "I'm " + strcharinfo(0) + "!",-; mes "[Lucias]"; mes "That's a nice name."; mes "Now, let me explain about our research objectives."; next; mes "[Lucias]"; mes "My area of expertise is monsters."; mes "I'm sure that you've encountered and defeated many monsters by now."; mes "Am I right?"; next; menu "You're quite right",-,"Well, not really...",L_Menu2_2; mes "[Lucias]"; mes "Really?"; mes "I hope your background knowledge is diverse."; mes "My class isn't a cakewalk by any means."; next; goto L_Menu2_3; L_Menu2_2: //================================== //If you respond negatively mes "[Lucias]"; mes "You might be at a disadvantage."; mes "My coursework assumes a lot of background knowledge."; mes "My class wasn't designed to be a cakewalk..."; next; //================================== L_Menu2_3: mes "[Lucias]"; mes "So, shall we get started?"; mes "You'll learn a lot in this class if you're vigilant."; next; set @sagerand,0; set @sagerand,rand(3); mes "[Lucias]"; mes "So, first, you need to collect "; if (@sagerand == 1) goto L_Menu2_4; if (@sagerand == 2) goto L_Menu2_5; set SAGE_Q2,1; mes "^3051FD5x Tendons^000000"; mes "^3051FD5x Nippers^000000"; mes "^3051FD5x Sharp Scales^000000"; next; goto L_Menu2_6; L_Menu2_4: set SAGE_Q2,2; //================================== //mes–¢‰ñŽû mes "^3051FD5x Clam Flesh^000000"; mes "^3051FD5x Nippers^000000"; mes "^3051FD5x Heart of Mermaid^000000"; next; goto L_Menu2_6; L_Menu2_5: set SAGE_Q2,3; mes "^3051FD5x Single Cells^000000"; mes "^3051FD5x Tentacles^000000"; mes "^3051FD5x Fish Tails^000000"; //================================== next; L_Menu2_6: mes "[Lucias]"; mes "We'll continue once you've gathered those."; close; L_Menu3_1: if ((countitem(1050) >= 5) && (countitem(960) >= 5) && (countitem(963) >= 5) && (SAGE_Q2 == 1)) goto L_Menu3_4; if ((countitem(966) >= 5) && (countitem(960) >= 5) && (countitem(950) >= 5) && (SAGE_Q2 == 2)) goto L_Menu3_4; if ((countitem(1052) >= 5) && (countitem(962) >= 5) && (countitem(1023) >= 5) && (SAGE_Q2 == 3)) goto L_Menu3_4; mes "[Lucias]"; mes "You don't have the necessary items."; mes "Let me repeat what you need:"; next; mes "[Lucias]"; if (SAGE_Q2 == 2) goto L_Menu3_2; if (SAGE_Q2 == 3) goto L_Menu3_3; mes "^3051FD5x Tendon^000000"; mes "^3051FD5x Nipper^000000"; mes "^3051FD5x Sharp Scale^000000"; close; L_Menu3_2: mes "^3051FD5x Clam Flesh^000000"; mes "^3051FD5x Nipper^000000"; mes "^3051FD5x Heart of Mermaid^000000"; close; L_Menu3_3: mes "^3051FD5x Single Cell^000000"; mes "^3051FD5x Tentacle^000000"; mes "^3051FD5x Fish Tail^000000"; close; L_Menu3_4: mes "[Lucias]"; mes "Well, you have the items, but I can't be sure if you bought them or collected them yourself."; next; mes "[Lucias]"; mes "There is a similarity in the characteristics of the monsters that drop those items."; mes "Do you know what it is?"; next; menu "Water element affinity",L_Menu3_5,"They're fish and shells",L_Menu3_5,"They were quite active",-,"They're monsters",-; //================================== mes "[Lucias]"; mes "...I'm disappointed in you."; mes "The correct answer is that all of the monsters have water element affinity."; mes "Monsters that live in an aquatic environment have evolved bodies adapted to that environment."; //================================== next; goto L_Menu3_6; L_Menu3_5: mes "[Lucias]"; mes "Right!"; mes "Most aquatic monsters have water element affinity because they're adapted to their environment."; mes "Fish and shells evolved in a logical way."; next; L_Menu3_6: mes "[Lucias]"; mes "Not every fish and shell has water element affinity, but you can count on it as a general rule."; mes "Now, which type of magic do you think would be most effective against them?"; next; menu "Lightning Bolt",L_Menu3_7,"Firebolt",-,"Thunderstorm",L_Menu3_8,"Frost Deva",-; //================================== //mes–¢‰ñŽû mes "[Lucias]"; mes "That's not correct."; mes "You need to use magic like Lightning Bolt or Thunderstorm."; mes "Check the elemental affinity matrix again."; next; //================================== goto L_Menu3_9; L_Menu3_7: mes "[Lucias]"; mes "Great! That's right!"; mes "Using Lightning Bolt is an easy way to victory."; next; mes "[Lucias]"; mes "You need to be careful of monsters like the Penomeni and starfish because their attribute is different."; next; goto L_Menu3_9; L_Menu3_8: mes "[Lucias]"; mes "Great! That's right!"; mes "Using Thunderstorm is an easy way to victory."; next; mes "[Lucias]"; mes "You need to be careful of monsters like the Penomeni and starfish because their attribute is different."; next; L_Menu3_9: mes "[Lucias]"; mes "Next, let's turn our attention to insectoid monsters."; next; set @sagerand,rand(3); mes "[Lucias]"; mes "Next, you need to collect "; if (@sagerand == 1) goto L_Menu3_10; if (@sagerand == 2) goto L_Menu3_11; set SAGE_Q2,4; mes "^3051FD5x Cobweb^000000"; mes "^3051FD5x Shell^000000"; mes "^3051FD5x Insect Feeler^000000"; next; goto L_Menu2_6; L_Menu3_10: set SAGE_Q2,5; //================================== //mes–¢‰ñŽû mes "^3051FD5x Moth Dust^000000"; mes "^3051FD5x Snail's Shell^000000"; mes "^3051FD5x Horn^000000"; next; goto L_Menu2_6; L_Menu3_11: set SAGE_Q2,6; mes "^3051FD5x Mantis Leg^000000"; mes "^3051FD5x Worm Peeling^000000"; mes "^3051FD5x Rainbow Shell^000000"; //================================== next; goto L_Menu2_6; L_Menu4_1: if ((countitem(1025) >= 5) && (countitem(935) >= 5) && (countitem(928) >= 5) && (SAGE_Q2 == 4)) goto L_Menu4_4; if ((countitem(1057) >= 5) && (countitem(946) >= 5) && (countitem(947) >= 5) && (SAGE_Q2 == 5)) goto L_Menu4_4; if ((countitem(1031) >= 5) && (countitem(955) >= 5) && (countitem(1013) >= 5) && (SAGE_Q2 == 6)) goto L_Menu4_4; mes "[Lucias]"; mes "You forgot what you're supposed to gather?"; mes "Listen carefully this time! You need to gather:"; next; mes "[Lucias]"; if (SAGE_Q2 == 5) goto L_Menu4_2; if (SAGE_Q2 == 6) goto L_Menu4_3; mes "^3051FD5x Cobweb^000000"; mes "^3051FD5x Shell^000000"; mes "^3051FD5x Insect Feeler^000000"; close; L_Menu4_2: mes "^3051FD5x Moth Dust^000000"; mes "^3051FD5x Snail's Shell^000000"; mes "^3051FD5x Horn^000000"; close; L_Menu4_3: mes "^3051FD5x Mantis Leg^000000"; mes "^3051FD5x Worm Peeling^000000"; mes "^3051FD5x Rainbow Shell^000000"; close; L_Menu4_4: set SAGE_Q2,7; mes "[Lucias]"; mes "Excellent. You've done well."; mes "I hope you were also dilligent in observing your surroundings when you collected the items."; next; mes "[Lucias]"; mes "With insects, you'll need to carefully consider which magic to use, since insects have affinity with a variety of elements."; next; mes "[Lucias]"; mes "You should also be aware that Thief hiding and Assassin cloaking aren't effective against some insects."; next; mes "[Lucias]"; mes "Insects can also act in groups."; mes "Often the insect bosses will have considerable numbers of subordinates."; next; mes "[Lucias]"; mes "Ant Lord Maya..."; mes "Queen Bee Mistress..."; mes "Goblin Chief Goldfinger..."; next; mes "[Lucias]"; mes "If you face a boss monster alone, you had best prepare to die."; mes "You ought to take a group of friends to face these creatures down."; next; mes "[Lucias]"; mes "Well, you've studied quite a bit."; mes "Now you need to write a thesis."; mes "You need some materials before you can begin writing it, however."; mes "They are:"; next; mes "[Lucias]"; mes "^3051FD1x Feather of Birds^000000 for your writing instrument."; mes "^3051FD1x Animal Skin^000000 for the pages."; mes "^3051FD1x Trunk^000000 to bind the pages."; mes "^3051FD1x Squid Ink^000000 for your ink."; mes "^3051FD1x Empty Bottle^000000 to store your ink."; next; mes "[Lucias]"; mes "We can get started when you return."; close; L_Menu5_1: if ((countitem(916) >= 1) && (countitem(919) >= 1) && (countitem(1019) >= 1) && (countitem(1024) >= 1) && (countitem(713) >= 1) && (SAGE_Q2 == 7)) goto L_Menu5_2; mes "[Lucias]"; mes "You need to gather those items first."; mes "They are:"; next; mes "[Lucias]"; mes "^3051FD1x Feather of Birds^000000 for your writing instrument."; mes "^3051FD1x Animal Skin^000000 for the pages."; mes "^3051FD1x Trunk^000000 to bind the pages."; mes "^3051FD1x Squid Ink^000000 for your ink."; mes "^3051FD1x Empty Bottle^000000 to store your ink."; next; mes "[Lucias]"; mes "You've done great so far."; mes "Just a little more and you can graduate."; close; L_Menu5_2: delitem 916,1; delitem 919,1; delitem 1019,1; delitem 1024,1; delitem 713,1; mes "[Lucias]"; mes "Looks like you have everything."; next; mes "[Lucias]"; mes "Now, you need to write this yourself."; mes "I'm only taking an advisory role."; next; mes "[Lucias]"; mes "Are you ready to begin?"; mes "Let's see if you've acquired enough knowledge to write a coherent thesis."; next; mes "......"; next; mes "......"; next; mes "......"; next; menu "Monsters come in different types",-; mes "Monsters come in different types."; menu "They have different elemental affinities",-; mes "They have different elemental affinities."; menu "If you know the monster's element beforehand...",-; mes "If you know the monster's element beforehand..."; menu "...you can optimize your battle experience",-; mes "...you can optimize your battle experience"; menu "You should especially be careful of...",-; mes "You should especially be careful of..."; menu "...monsters with Holy and Darkness affinity",-; mes "...monsters with Holy and Darkness affinity"; next; mes "......"; next; mes "......"; next; mes "......"; next; set SAGE_Q,11; getitem 1550,1; mes "[Lucias]"; mes "This is pretty good!"; mes "I'm proud of you!"; next; mes "[Lucias]"; mes "Show this to the Headmaster and you'll be sure to graduate."; mes "Good luck."; close; L_Menu5_3: mes "[Lucias]"; mes "Hmmm? What's the matter?"; mes "You need to show your thesis to the Headmaster."; close; L_Menu5_4: mes "[Lucias]"; mes "Are you confused about something?"; mes "I'm pretty busy, so you need to make an appointment a week in advance."; next; mes "[Lucias]"; mes "Hahaha...Once you've been a Sage for awhile, you'll be saying the same thing."; next; mes "[Lucias]"; mes "Also, if you have some spare time,"; mes "you should head over to the dungeon and lie down on the floor."; mes "Look up and study the ceiling."; mes "You might learn something."; close; } //================================= //Academy Interior //================================= yuno_in03.gat,154,35,4 script Academy Staff 742,{ if (BaseJob == 16) goto L_Menu6_4; if (BaseJob != 2) goto L_Menu1_1; if (SAGE_Q == 11) goto L_Menu6_3; if (SAGE_Q >= 4) goto L_Menu6_2; if (SAGE_Q == 3) goto L_Menu6_1; if (SAGE_Q == 2) goto L_Menu5_1; mes "[Mathias]"; mes "Hello."; mes "This is the Shubaichul Magic Academy?"; mes "You seem to be a Magician."; mes "How can I help you?"; next; menu "Sage class-change information",-,"I want to apply for admission to the Academy",L_Menu3_1,"Forget it",L_Menu2; mes "[Mathias]"; mes "You want to change class to Sage?"; mes "I can't just change your class right here."; next; mes "[Mathias]"; mes "You need to complete a program of rigorous coursework and research."; next; mes "[Mathias]"; mes "Once you graduate from the academy,"; mes "you can change class."; mes "In order to proceed, you need to pay tuition and take the placement test."; next; mes "[Mathias]"; mes "Only those who have an ^3051FDOld Magic Book^000000 and a ^3051FDNecklace Of Wisdom^000000 can have tuition waived."; next; mes "[Mathias]"; mes "Once you've paid the fee, you first take the placement test."; mes "If you score highly enough to be placed in our program, you then perform research according to your placement."; mes "Finally, you must prepare and defend a thesis."; next; mes "[Mathias]"; mes "The Headmaster decides whether or not the thesis meets standards for graduation."; mes "If he approves, you can formally begin your career as a Sage."; next; mes "[Mathias]"; mes "If you're interested, you need only file an application to get started."; mes "Have a good day."; close; L_Menu2: mes "[Mathias]"; mes "Oh?"; mes "Are you hesitant?"; mes "See you later, then."; close; L_Menu1_1: mes "[Mathias]"; mes "Welcome."; mes "This is Shubaichul Magic Academy."; next; mes "[Mathias]"; mes "We do research on magic and monsters here."; mes "We also train fledgling Sages."; next; mes "[Mathias]"; mes "Any Magician who is at or above class level 40 can apply for admission to the Academy."; mes "Once you complete our prescribed process for degree acquisition, you can become a Sage."; next; mes "[Mathias]"; mes "Good bye."; close; L_Menu3_1: mes "[Mathias]"; mes "You want to apply? Wonderful!"; next; mes "[Mathias]"; mes "In order to enter the Academy,"; mes "you need to be a Magician of class level 40 or above."; mes "You will also need to pay tuition to cover instruction and materials."; next; mes "[Mathias]"; mes "Tuition is 70,000Zeny."; mes "If you have an ^3051FDOld Magic Book^000000 and a ^3051FDNecklace Of Wisdom^000000, the tuition fee will be waived."; next; mes "[Mathias]"; mes "So, you would like to apply for admission?"; next; menu "Yes, I would",L_Menu5_5,"Tuition is too expensive!",-,"I'll try again later",L_Menu3_2; mes "[Mathias]"; mes "Well...we need the tuition money to cover instruction and materials..."; next; menu "Isn't there another way?",-,"I'll try again later.",L_Menu3_2; set SAGE_Q,2; mes "[Mathias]"; mes "Well...Perhaps there is. I can lower the tuition to 30000 Zeny if you can bring us some materials we need for our research department:"; next; mes "[Mathias]"; mes "Specifically, we need:"; mes "^3051FD50x Feather of Birds^000000"; mes "^3051FD50x Fluff^000000"; mes "^3051FD50x Clover^000000"; mes "^3051FD50x Feathers^000000"; next; mes "[Mathias]"; mes "If you can get all that, I'll discount the fee to 30000 Zeny."; mes "Please do your best to collect them."; next; mes "[Mathias]"; mes "Of course, you can also acquire 70000 Zeny instead of gathering the items if you wish."; next; mes "[Mathias]"; mes "Please do your best to collect the items."; mes "See you later."; close; L_Menu3_2: mes "[Mathias]"; mes "Oh, alright."; mes "Take your time."; mes "Thanks for stopping by."; close; L_Menu5_1: mes "[Mathias]"; mes "So, would you like to apply for admission?"; next; if (JobLevel < 40) goto L_Menu5_9; if ((countitem(1006) >= 1) && (countitem(1007) >= 1)) goto L_Menu5_4; if (Zeny < 70000) goto L_Menu5_2; set Zeny,Zeny-70000; set SAGE_Q,3; mes "[Mathias]"; mes "I see you have 70000 Zeny."; mes "I'll take that for tuition. You are now enrolled into the school."; next; L_Menu5_5: if (JobLevel < 40) goto L_Menu5_9; mes "[Mathias]"; mes "We need your signature on this form to proceed."; mes "Please sign at the X."; next; menu "" + strcharinfo(0) + "",-; mes "[Mathias]"; mes "Alright, so you're "; mes "" + strcharinfo(0) + "."; mes "That's a nice name."; next; if (JobLevel == 50) goto L_JobMax; if (SAGE_Q == 3) goto L_Menu5_6; if ((countitem(1006) >= 1) || (countitem(1007) >= 1)) goto L_Menu5_7; if (Zeny < 70000) goto L_Menu5_2; set Zeny,Zeny-70000; set SAGE_Q,3; mes "[Mathias]"; mes "I see you have 70000 Zeny."; mes "I'll take that for tuition."; mes "You are now enrolled into the school."; next; L_Menu5_6: mes "[Mathias]"; mes "First, you need to take the placement test from Professor Kreitos."; next; mes "[Mathias]"; mes "Professor Kreitos is in the Academy library."; mes "It's on the far left side of the building."; next; mes "[Mathias]"; mes "Good luck on the test."; close; L_JobMax: set SAGE_Q,3; mes "[Mathias]"; mes "You've trained yourself up to the maximum class level for Magicians!"; mes "In that case, I'll give you a full scholarship!"; next; mes "[Mathias]"; mes "Now, all you need to do is go take the placement test."; next; mes "[Mathias]"; mes "Go see Professor Kreitos in the library on the far left side of the building."; close; L_Menu5_2: if (SAGE_Q != 2) goto L_Menu5_8; if ((countitem(916) >= 50) && (countitem(914) >= 50) && (countitem(949) >= 50) && (countitem(705) >= 50)) goto L_Menu5_3; mes "[Mathias]"; mes "You don't seem to have the materials yet."; next; mes "[Mathias]"; mes "You need to gather:"; mes "^3051FD50x Feather of Birds^000000"; mes "^3051FD50x Fluff^000000"; mes "^3051FD50x Clover^000000"; mes "^3051FD50x Feathers^000000"; next; mes "[Mathias]"; mes "If you can get all that, I'll discount the fee to 30000 Zeny."; mes "Please do your best to collect them."; close; L_Menu5_3: //================================== //mes–¢‰ñŽû if (Zeny < 30000) goto L_Menu5_8; delitem 916,50; delitem 914,50; delitem 705,50; delitem 949,50; set Zeny,Zeny-30000; set SAGE_Q,3; mes "[Mathias]"; mes "It seems like you have the materials I asked for and 30000 Zeny."; mes "Congratulations."; mes "You're now enrolled in the Academy."; set SAGE_Q,3; next; goto L_Menu5_5; L_Menu5_4: delitem 1006,1; delitem 1007,1; set SAGE_Q,3; mes "[Mathias]"; mes "Oh, you have the special items."; mes "I'll accept those in lieu of tuition."; next; goto L_Menu5_5; L_Menu5_7: delitem 1006,1; delitem 1007,1; set SAGE_Q,3; mes "[Mathias]"; mes "Oh, you have the special items."; mes "I'll accept those in lieu of tuition."; next; goto L_Menu5_6; L_Menu5_8: mes "[Mathias]"; mes "You don't seem to have enough money."; mes "Please earn some money and return here."; close; L_Menu5_9: mes "[Mathias]"; mes "Your class level is too low."; mes "Complete some more training and return here."; close; //================================== L_Menu6_1: mes "[Mathias]"; mes "Hmmm? Did you forget what you need to do next?"; mes "Head over and see Professor Kreitos on the left side of the building."; close; L_Menu6_2: mes "[Mathias]"; mes "Oh, forgive me. I have so much to do that I can't help you at the moment."; mes "Again, I apologize..."; close; L_Menu6_3: mes "[Mathias]"; mes "Oh! Did you finish your thesis?"; mes "You need to see Headmaster Keiron so he can evaluate it."; next; mes "[Mathias]"; mes "If he approves, you can graduate!"; mes "Good luck."; close; L_Menu6_4: mes "[Mathias]"; mes "Welcome, colleague."; mes "How is your research coming along?"; next; mes "[Mathias]"; mes "In order to be a truly great researcher, you need to supplement your book-based research with encounters with real monsters."; next; mes "[Mathias]"; mes "If you know others with what it takes to become a Sage, please send them here."; mes "Give my regards to my other colleagues, also."; close; } yuno_in03.gat,169,180,4 script Test Professor 755,{ if (BaseJob == 16) goto L_Menu4_5; if (BaseJob != 2) goto L_Menu1_1; if (SAGE_Q == 5) goto L_Menu2_1; if (SAGE_Q == 6) goto L_Menu2_3; if (SAGE_Q == 7) goto L_Menu3_1; if (SAGE_Q == 8) goto L_Menu4_1; if (SAGE_Q == 9) goto L_Menu4_2; if (SAGE_Q == 11) goto L_Menu4_4; mes "[Hermes]"; mes "Hello, I'm Hermes. I am part of the skill testing staff."; mes "Are you a Sage candidate?"; next; if (SAGE_Q == 3) goto L_Menu1_2; if (SAGE_Q >= 3) goto L_Menu1_2; mes "[Hermes]"; mes "Oh, alright."; mes "First you need to enroll and take the placement test."; close; L_Menu1_1: mes "[Hermes]"; mes "This is Shubaichul Magic Academy."; next; mes "[Hermes]"; mes "There are Sages that are less magicians than researchers."; mes "Having a party supporting this kind of person is extremely important."; next; mes "[Hermes]"; mes "Keep supporting your party to the best of your ability."; mes "That's all you need to do."; close; L_Menu1_2: mes "[Hermes]"; mes "You need to take the placement test from Kreitos before you can take my test."; close; L_Menu2_1: set SAGE_Q,6; mes "[Hermes]"; mes "Oh? You took and passed the placement test?"; mes "Now you need to take the skill test from me."; next; mes "[Hermes]"; mes "The rules for the skill test are simple."; mes "You need to kill all the monsters within the prescribed time limit."; next; mes "[Hermes]"; mes "There's an old proverb that one experience is worth a hundred words, so why not try it once?"; next; menu "Sounds good",-,"I'm not ready yet",L_Menu2_2; mes "[Hermes]"; mes "Well, let's get started."; mes "Do your best!"; next; warp "job_sage",50,154; end; L_Menu2_2: mes "[Hermes]"; mes "Okay."; mes "Please prepare quickly."; close; L_Menu2_3: mes "[Hermes]"; mes "Are you ready to take the skill test?"; mes "It's not too tough."; next; mes "[Hermes]"; mes "How about it?"; next; menu "Sounds good",-,"I'm not ready yet",L_Menu2_2; mes "[Hermes]"; mes "Well, let's get started."; mes "Do your best!"; next; warp "job_sage",50,154; next; warp "job_sage",50,154; end; L_Menu3_1: mes "[Hermes]"; mes "Good job! You passed"; mes "the skill test! Now you can proceed to the research phase!"; next; mes "[Hermes]"; mes "Before I decide your research concentration, let's look at your score on the placement test and the amount of time you spent in the skill test."; next; mes "[Hermes]"; mes "Hmmm..."; mes "Looking good."; next; //It's not clear how the script decides if (sagecheck >= 12) goto L_Menu3_2; set SAGE_Q,8; mes "[Hermes]"; mes "It looks like monster research would be your best bet."; next; mes "[Hermes]"; mes "In order to gain the necessary information to put together a coherent research paper,"; mes "you should take the biology course from Professor Lucias."; next; goto L_Menu3_4; L_Menu3_2: set SAGE_Q,9; mes "[Hermes]"; mes "It looks like we have a budding elemental magic researcher here."; mes "This field is fundamental to the advancement of magical knowledge."; next; mes "[Hermes]"; mes "You need to take a course from Professor Ebeshi in the biotech lab to gain a deeper understanding of elemental magic."; next; L_Menu3_4: mes "[Hermes]"; mes "I hope the coursework goes well."; close; L_Menu4_1: mes "[Hermes]"; mes "Weren't you listening?"; mes "You need to see Professor Lucias so you can begin your study of monster biology."; close; L_Menu4_2: mes "[Hermes]"; mes "Weren't you listening?"; mes "You need to see Professor Ebeshi so you can begin your study of elemental magic."; close; L_Menu4_4: mes "[Hermes]"; mes "Great job on completing your thesis, but you need to show it to the Headmaster."; mes "He's the one who will judge whether or not you graduate."; close; L_Menu4_5: mes "[Hermes]"; mes "How are you?"; mes "Your face reveals that you've endured a lot of stress lately."; next; mes "[Hermes]"; mes "As stressful as hands-on research is,"; mes "it is still fundamentally different from research using abstract concepts."; next; mes "[Hermes]"; mes "Of course, if you go to difficult dungeons,"; mes "there's no shame in bringing a friend or five to help you out."; close; } yuno_in03.gat,62,176,3 script History Professor 109,{ if (BaseJob == 16) goto L_Menu2_2; if (BaseJob != 2) goto L_Menu1_1; if (SAGE_Q == 11) goto L_Menu2_1; mes "[Sapien]"; mes "You don't seem sure of your intended direction of study."; mes "Perhaps you should consider it..."; close; L_Menu1_1: mes "[Sapien]"; mes "Yes, I teach history."; next; mes "[Sapien]"; mes "As the present fades into memory, it becomes the past."; mes "The kwoledge we have acquired in the past is the bridge between the present and the future."; next; mes "[Sapien]"; mes "You should study your own past, too."; mes "By understanding what's happened to you already,"; mes "you can blaze a trail into the future unhindered by unresolved problems."; close; L_Menu2_1: mes "[Sapien]"; mes "What are you doing?"; mes "Hurry up and show the Headmaster your thesis before you lose it!"; close; L_Menu2_2: mes "[Sapien]"; mes "Yes...?"; mes "Ah, it's a former student here."; mes "Congratulations on graduating."; next; mes "[Sapien]"; mes "The present can only be understood by understanding the past."; mes "Such understanding allows us to envision our future."; next; mes "[Sapien]"; mes "You should study your own past, too."; mes "By understanding what's happened to you already,"; mes "you can blaze a trail into the future unhindered by unresolved problems."; close; } yuno_in03.gat,105,177,4 script Placement Test Professor 754,{ if (BaseJob == 16) goto L_Menu3_4; if (BaseJob != 2) goto L_Menu1_1; if (SAGE_Q == 11) goto L_Menu3_3; if (SAGE_Q >= 6) goto L_Menu3_2; if (SAGE_Q == 3) goto L_Menu1_2; if (SAGE_Q == 4) goto L_Menu2_1; if (SAGE_Q == 5) goto L_Menu3_1; mes "[Kreitos]"; mes "You have that look in your eye..."; mes "You want to be a Sage, I take it."; next; mes "[Kreitos]"; mes "You need to formally enroll in the Academy before I can help you any further."; close; L_Menu1_1: mes "[Kreitos]"; mes "Oh, you're not interested in our brand of magic?"; mes "That's alright..."; next; mes "[Kreitos]"; mes "Anyone who teaches others and has a good heart is of value to society."; mes "Please keep that in mind."; close; L_Menu1_2: set SAGE_Q,4; set sagecheck,10; mes "[Kreitos]"; mes "It looks like you've enrolled in the Shubaichul Magic Academy."; mes "Is that right?"; next; mes "[Kreitos]"; mes "So, let me find your paperwork..."; mes "You're " + strcharinfo(0) + ","; mes "right?"; mes "Let's start the placement test."; next; mes "[Kreitos]"; mes "This test consists of twenty questions concerning the entire world."; mes "If you score at least 80 points, you'll be placed in our program."; mes "Each correct answer is worth 5 points."; next; mes "[Kreitos]"; mes "If you cancel, you'll have to start over, so be careful."; next; goto L_Menu2_2; L_Menu2_1: mes "[Kreitos]"; mes "Are you ready to try again?"; mes "Have you studied hard?"; next; mes "[Kreitos]"; mes "The passing grade is as before."; mes "You need to score 80 points, with each question being worth 5 points."; next; mes "[Kreitos]"; mes "So, let's get started."; mes "Give it your best effort."; mes "As before, if you cancel,"; mes "you'll have to start over."; next; L_Menu2_2: callfunc "SagQ_check"; } //================================== //Skill Test Room //================================== job_sage.gat mapflag nobranch dummy job_sage.gat mapflag noteleport dummy job_sage.gat mapflag nopenalty dummy job_sage.gat mapflag nosave SavePoint job_sage.gat,50,165,4 script Skill Test Coordinator::jobsage_wroom 700,{ mes "[Skill Test Coordinator]"; mes "Welcome to the Sage skill test."; mes "Please go to the waiting area if you want to take the test."; next; mes "[Skill Test Coordinator]"; mes "Others are being tested at the moment."; mes "When it's time for you to be tested, we'll call your name."; next; mes "[Skill Test Coordinator]"; mes "It takes around 5-10 minutes to test one person."; close; OnInit: waitingroom "Test Waiting Area",10,"jobsage_wroom::OnStart",1; end; OnStart: disablewaitingroomevent; warpwaitingpc "job_sage.gat",118,99; set $@jobsage_pid,$@warpwaitingpc[0]; if( attachrid($@jobsage_pid)==0 ) goto L_Error; set $@jobsage_pname$,strcharinfo(0); donpcevent "jobsage_1st::OnStart"; end; L_Error: enablewaitingroomevent; end; OnEnable: enablewaitingroomevent; end; } //======== Test Step 1 job_sage.gat,1,1,1 script jobsage_1st -1,{ end; OnStart: set $@jobsage_m,16; monster "job_sage.gat",115,106,"Unit",1183,1,"jobsage_1st::OnKilled"; monster "job_sage.gat",120,102,"Unit",1183,1,"jobsage_1st::OnKilled"; monster "job_sage.gat",124,98,"Unit",1183,1,"jobsage_1st::OnKilled"; monster "job_sage.gat",120,93,"Unit",1183,1,"jobsage_1st::OnKilled"; monster "job_sage.gat",115,90,"Unit",1183,1,"jobsage_1st::OnKilled"; monster "job_sage.gat",111,93,"Unit",1183,1,"jobsage_1st::OnKilled"; monster "job_sage.gat",107,98,"Unit",1183,1,"jobsage_1st::OnKilled"; monster "job_sage.gat",111,102,"Unit",1183,1,"jobsage_1st::OnKilled"; monster "job_sage.gat",128,110,"Unit",1184,1,"jobsage_1st::OnKilled"; monster "job_sage.gat",124,106,"Unit",1184,1,"jobsage_1st::OnKilled"; monster "job_sage.gat",124,89,"Unit",1184,1,"jobsage_1st::OnKilled"; monster "job_sage.gat",128,85,"Unit",1184,1,"jobsage_1st::OnKilled"; monster "job_sage.gat",107,89,"Unit",1184,1,"jobsage_1st::OnKilled"; monster "job_sage.gat",103,85,"Unit",1184,1,"jobsage_1st::OnKilled"; monster "job_sage.gat",107,106,"Unit",1184,1,"jobsage_1st::OnKilled"; monster "job_sage.gat",103,110,"Unit",1184,1,"jobsage_1st::OnKilled"; initnpctimer; end; OnReset: killmonster "job_sage.gat","All"; end; OnKilled: set $@jobsage_m,$@jobsage_m-1; if( $@jobsage_m > 0 )goto L_NotWin; if (getnpctimer(1,"jobsage_1st") < 60000 ) set sagecheck,sagecheck+1; if ((getnpctimer(1,"jobsage_1st") >= 120000 ) && (getnpctimer(1,"jobsage_1st") <= 170000 )) set sagecheck,sagecheck-1; if (getnpctimer(1,"jobsage_1st") > 170000 ) set sagecheck,sagecheck-2; stopnpctimer; mapannounce "job_sage.gat","Examiner: " + $@jobsage_pname$ + " killed all the monsters!",8; donpcevent "jobsage_2nd::OnStart"; L_NotWin: end; OnTimer1000: mapannounce "job_sage.gat","Examiner: The skill test begins now.",8; end; OnTimer2500: mapannounce "job_sage.gat","Examiner: The time limit for this portion of the test is 3 minutes.",8; end; OnTimer4000: mapannounce "job_sage.gat","Examiner: You must kill all the monsters within that time period.",8; end; OnTimer30000: mapannounce "job_sage.gat","Examiner: 2 minutes, 30 seconds remaining.",8; end; OnTimer60000: mapannounce "job_sage.gat","Examiner: 2 minutes remaining.",8; end; OnTimer90000: mapannounce "job_sage.gat","Examiner: 1 minute, 30 seconds remaining.",8; end; OnTimer120000: mapannounce "job_sage.gat","Examiner: 1 minute remaining.",8; end; OnTimer150000: mapannounce "job_sage.gat","Examiner: 30 seconds remaining.",8; end; OnTimer170000: mapannounce "job_sage.gat","Examiner: 10 seconds remaining.",8; end; OnTimer180000: donpcevent "jobsage_1st::OnReset"; mapannounce "job_sage.gat","Examiner: Time has expired.",8; end; OnTimer181500: mapannounce "job_sage.gat","Examiner:" + $@jobsage_pname$ + "failed the test.",8; areawarp "job_sage.gat",100,82,131,113,"yuno.gat",324,258; end; OnTimer183000: mapannounce "job_sage.gat","Next candidate, please step forward.",8; end; OnTimer184000: donpcevent "jobsage_wroom::OnEnable"; stopnpctimer; end; } //======== Test Step 2 job_sage.gat,1,1,1 script jobsage_2nd -1,{ end; OnStart: donpcevent "jobsage_2nd::OnReset"; set $@jobsage_m,24; monster "job_sage.gat",120,102,"GeographyInfo",1063,1,"jobsage_2nd::OnKilled"; monster "job_sage.gat",120,102,"StatisticsInfo",1063,1,"jobsage_2nd::OnKilled"; monster "job_sage.gat",120,102,"MeteorologyInfo",1063,1,"jobsage_2nd::OnKilled"; monster "job_sage.gat",120,102,"AstronomyInfo",1063,1,"jobsage_2nd::OnKilled"; monster "job_sage.gat",120,102,"LinguisticsInfo",1063,1,"jobsage_2nd::OnKilled"; monster "job_sage.gat",120,102,"CityLifeInfo",1063,1,"jobsage_2nd::OnKilled"; monster "job_sage.gat",124,98,"ForestryInfo",1063,1,"jobsage_2nd::OnKilled"; monster "job_sage.gat",124,98,"HealthInfo",1063,1,"jobsage_2nd::OnKilled"; monster "job_sage.gat",124,98,"PsychologyInfo",1063,1,"jobsage_2nd::OnKilled"; monster "job_sage.gat",120,93,"AnthropologyInfo",1063,1,"jobsage_2nd::OnKilled"; monster "job_sage.gat",120,93,"BiologyInfo",1063,1,"jobsage_2nd::OnKilled"; monster "job_sage.gat",120,93,"EthicsInfo",1063,1,"jobsage_2nd::OnKilled"; monster "job_sage.gat",111,93,"ArchitectureInfo",1063,1,"jobsage_2nd::OnKilled"; monster "job_sage.gat",111,93,"PlasticsInfo",1063,1,"jobsage_2nd::OnKilled"; monster "job_sage.gat",111,93,"NutritionInfo",1063,1,"jobsage_2nd::OnKilled"; monster "job_sage.gat",111,93,"FoodInfo",1063,1,"jobsage_2nd::OnKilled"; monster "job_sage.gat",111,93,"ManagementInfo",1063,1,"jobsage_2nd::OnKilled"; monster "job_sage.gat",111,93,"SociologyInfo",1063,1,"jobsage_2nd::OnKilled"; monster "job_sage.gat",107,98,"EconomicsInfo",1063,1,"jobsage_2nd::OnKilled"; monster "job_sage.gat",107,98,"MagicInfo",1063,1,"jobsage_2nd::OnKilled"; monster "job_sage.gat",107,98,"PoliSciInfo",1063,1,"jobsage_2nd::OnKilled"; monster "job_sage.gat",111,102,"MathInfo",1063,1,"jobsage_2nd::OnKilled"; monster "job_sage.gat",111,102,"HistoryInfo",1063,1,"jobsage_2nd::OnKilled"; monster "job_sage.gat",111,102,"PhysicsInfo",1063,1,"jobsage_2nd::OnKilled"; initnpctimer; end; OnReset: killmonster "job_sage.gat","All"; end; OnKilled: set $@jobsage_m,$@jobsage_m-1; if( $@jobsage_m > 0 )goto L_NotWin; stopnpctimer; if (getnpctimer(1,"jobsage_2nd") < 60000 ) set sagecheck,sagecheck+1; if ((getnpctimer(1,"jobsage_2nd") >= 120000 ) && (getnpctimer(1,"jobsage_2nd") <= 170000 )) set sagecheck,sagecheck-1; if (getnpctimer(1,"jobsage_2nd") > 170000 ) set sagecheck,sagecheck-2; mapannounce "job_sage.gat","Examiner: " + $@jobsage_pname$ + " killed all the monsters!",8; donpcevent "jobsage_3rd::OnStart"; L_NotWin: end; OnTimer1500: mapannounce "job_sage.gat","Examiner: The time limit for this portion of the test is 3 minutes.",8; end; OnTimer3000: mapannounce "job_sage.gat","Examiner: You must kill all the monsters within that time period.",8; end; OnTimer30000: mapannounce "job_sage.gat","Examiner: 2 minutes, 30 seconds remaining.",8; end; OnTimer60000: mapannounce "job_sage.gat","Examiner: 2 minutes remaining.",8; end; OnTimer90000: mapannounce "job_sage.gat","Examiner: 1 minute, 30 seconds remaining.",8; end; OnTimer120000: mapannounce "job_sage.gat","Examiner: 1 minute remaining.",8; end; OnTimer150000: mapannounce "job_sage.gat","Examiner: 30 seconds remaining.",8; end; OnTimer170000: mapannounce "job_sage.gat","Examiner: 10 seconds remaining.",8; end; OnTimer180000: donpcevent "jobsage_2nd::OnReset"; mapannounce "job_sage.gat","Examiner: Time has expired.",8; end; OnTimer181500: mapannounce "job_sage.gat","Examiner: " + $@jobsage_pname$ + "has failed the test.",8; areawarp "job_sage.gat",100,82,131,113,"yuno.gat",324,258; end; OnTimer183000: mapannounce "job_sage.gat","Next candidate, please step forward.",8; end; OnTimer184000: donpcevent "jobsage_wroom::OnEnable"; stopnpctimer; end; } //======== Test Step 3 job_sage.gat,1,1,1 script jobsage_3rd -1,{ end; OnStart: donpcevent "jobsage_3rd::OnReset"; set $@jobsage_m,1; monster "job_sage.gat",116,98,"Bachelor",1179,1,"jobsage_3rd::OnKilled"; monster "job_sage.gat",124,106,"Tardy",1185,1; monster "job_sage.gat",124,89,"Loaner",1185,1; monster "job_sage.gat",107,89,"Cheater",1185,1; monster "job_sage.gat",107,106,"Absentee",1185,1; initnpctimer; end; OnReset: end; OnKilled: set $@jobsage_m,$@jobsage_m-1; if( $@jobsage_m > 0 )goto L_NotWin; stopnpctimer; killmonster "job_sage.gat","All"; set SAGE_Q,7; if (getnpctimer(1,"jobsage_3rd") < 20000 ) set sagecheck,sagecheck+1; if ((getnpctimer(1,"jobsage_3rd") >= 30000 ) && (getnpctimer(1,"jobsage_2nd") <= 50000 )) set sagecheck,sagecheck-1; if (getnpctimer(1,"jobsage_3rd") > 50000 ) set sagecheck,sagecheck-2; mapannounce "job_sage.gat","Examiner: Congratulations. " + $@jobsage_pname$ + "passed the test!",8; donpcevent "jobsage_success::OnSuccess"; L_NotWin: end; OnTimer1500: mapannounce "job_sage.gat","Examiner: 1 minute remaining.",8; end; OnTimer30000: mapannounce "job_sage.gat","Examiner: 30 seconds remaining.",8; end; OnTimer50000: mapannounce "job_sage.gat","Examiner: 10 seconds remaining.",8; end; OnTimer60000: donpcevent "jobsage_3rd::OnReset"; mapannounce "job_sage.gat","Examiner: Time has expired.",8; end; OnTimer61500: mapannounce "job_sage.gat","Examiner: " + $@jobsage_pname$ + "failed the test.",8; areawarp "job_sage.gat",100,82,131,113,"yuno.gat",324,258; end; OnTimer63000: mapannounce "job_sage.gat","Examiner: This concludes the test. Next candidate, please step forward.",8; end; OnTimer64000: donpcevent "jobsage_wroom::OnEnable"; stopnpctimer; end; } //======== Successful job_sage.gat,1,7,1 script jobsage_success 66,{ OnSuccess: killmonster "job_sage.gat","All"; initnpctimer; end; OnTimer3000: mapannounce "job_sage.gat","Examiner: Please allow me to guide you out.",8; end; OnTimer6000: mapannounce "job_sage.gat","Next candidate, please step forward.",8; areawarp "job_sage.gat",100,82,131,113,"yuno_in03.gat",163,180; end; OnTimer7000: donpcevent "jobsage_wroom::OnEnable"; stopnpctimer; end; }