summaryrefslogtreecommitdiff
path: root/npc/re/jobs/3-1
diff options
context:
space:
mode:
Diffstat (limited to 'npc/re/jobs/3-1')
-rw-r--r--npc/re/jobs/3-1/archbishop.txt1897
-rw-r--r--npc/re/jobs/3-1/mechanic.txt871
-rw-r--r--npc/re/jobs/3-1/ranger.txt3218
-rw-r--r--npc/re/jobs/3-1/rune_knight.txt3984
-rw-r--r--npc/re/jobs/3-1/warlock.txt2109
5 files changed, 12079 insertions, 0 deletions
diff --git a/npc/re/jobs/3-1/archbishop.txt b/npc/re/jobs/3-1/archbishop.txt
new file mode 100644
index 000000000..395bbb6cc
--- /dev/null
+++ b/npc/re/jobs/3-1/archbishop.txt
@@ -0,0 +1,1897 @@
+//===== rAthena Script =======================================
+//= Arch Bishop Job change Quest
+//===== By: ==================================================
+//= L0ne_W0lf
+//= Credits: Gepard
+//===== Current Version: =====================================
+//= 1.5
+//===== Compatible With: =====================================
+//= rAthena SVN
+//===== Description: =========================================
+//= [Translated from the Official]
+//= Job change Quest from Priest / High Priest -> Arch Bishop.
+//===== Additional Comments: =================================
+//= 1.0 First version.
+//= 1.1 Fixed class checks for arch bishops.
+//= 1.2 Fixed Job tags typos.
+//= 1.3 Made some NPC's into duplicates and fixed some && / || checks. [Masao]
+//= 1.4 Fixed Job_Archbishop/Job_Archbishop_T typos. [Euphy]
+//= 1.5 Redone the whole Script. [Masao]
+//============================================================
+
+prt_church,103,88,3 script Praying Minister#arch 60,{
+ if ((Class != Job_Priest) && (Class != Job_High_Priest) && (Class != Job_Baby_Priest)) {
+ if (Class == Job_Arch_Bishop || Class == Job_Arch_Bishop_T || Class == Job_Baby_Bishop) {
+ mes "[Praying Minister]";
+ mes "Ah! An Archbishop.";
+ mes "You have reached the state of light.";
+ mes "I hope you give happiness and honor to people during your adventures.";
+ close;
+ }
+ mes "[Praying Minister]";
+ mes "In front of the Almighty God Odin, there shall be no person smarter than him, and there will be no person more merciful than him.";
+ next;
+ mes "[Praying Minister]";
+ mes "All ministers of Odin should be diligent. They should never be too lazy to serve Odin.";
+ next;
+ mes "[Praying Minister]";
+ mes "Thesedays, I've heard that ministers are becoming lax in their duty to Odin and adorn themselves with the splendors of the world.";
+ next;
+ mes "[Praying Minister]";
+ mes "If you see any of these ministers, can you ask to them to go to the church in prontera?";
+ next;
+ mes "[Praying Minister]";
+ mes "They give out a special aura so you can easily recognize them.";
+ mes "I'm going to make them ministers worthy of serving Odin.";
+ close;
+ }
+ if ((BaseLevel == 99) && (JobLevel > 49)) {
+ if (job_arch == 0) {
+ if (SkillPoint) {
+ mes "You can't change jobs without using all your skill points. Please use all of your skill points before applying to change jobs~";
+ close;
+ }
+ mes "[Praying Minister]";
+ mes "In front of the Almighty God Odin, there shall be no person smarter than him, and there will be no person more merciful than him.";
+ next;
+ mes "[Praying Minister]";
+ mes "All ministers of Odin should be diligent. They should never be too lazy to serve Odin.";
+ next;
+ if (Sex == 1) {
+ mes "[Praying Minister]";
+ mes "Brother, how has your life been?";
+ }
+ else {
+ mes "[Praying Minister]";
+ mes "Sister, how has your life been?";
+ }
+ mes "Have you lived it to it's fullest?";
+ mes "Have you served your life in the light of Odin?";
+ next;
+ mes "[Praying Minister]";
+ mes "We are ministers and our behavior is seen as acts of the Gods.";
+ mes "We should always be mindful of this.";
+ next;
+ mes "[Praying Minister]";
+ mes "We should always tell the truth.";
+ mes "We should not fall prey to lies and deceit.";
+ next;
+ if (Sex == 1) {
+ mes "[Praying Minister]";
+ mes "Brother...";
+ }
+ else {
+ mes "[Praying Minister]";
+ mes "Sister...";
+ }
+ mes "Even though we serve Odin, we are normal people.";
+ mes "We can be degraded in spite of ourselves and we must realize that.";
+ next;
+ mes "[Praying Minister]";
+ mes "We always try to keep our original intention in mind and spread Odin's rule.";
+ next;
+ menu "How do I become like that?",-;
+ mes "[Praying Minister]";
+ mes "That's a good question.";
+ mes "We have lots of methods.";
+ mes "But, I recommend this.";
+ next;
+ mes "[Praying Minister]";
+ mes "Have you ever heard of a";
+ mes "^3131FFHoly Pilgrimage^000000?";
+ mes "A Holy Pilgrimage means going to a holy place to pray to the God Odin for protection and grace.";
+ next;
+ mes "[Praying Minister]";
+ mes "When you pray to Odin in the holy place, you will feel that you are born again.";
+ next;
+ mes "[Praying Minister]";
+ mes "What do you think?";
+ mes "Would you like to do a Holy Pilgrimage?";
+ next;
+ switch (select("Yes I want to.:I'll think about it.")) {
+ case 1:
+ mes "[Praying Minister]";
+ mes "That's the correct attitude.";
+ mes "A person who lives in one's mundane life would better have a new mind and body and evolve to the way of a true minister of Odin.";
+ next;
+ mes "[Praying Minister]";
+ mes "There is a small village named Umbala far from here.";
+ mes "That village is a where a tribe lives in harmony with nature.";
+ next;
+ mes "[Praying Minister]";
+ mes "Go there and find Priest Dayan.";
+ mes "Tell him exactly, ''^3131FFI'm here for the Holy Pilgrimage^000000.''";
+ next;
+ mes "[Praying Minister]";
+ mes "He's very old so he is hard of hearing.";
+ mes "You have to speak loud and clearly. You got it?";
+ mes "I hope that this paves the way for you to live in the light of Odin......";
+ set job_arch,1;
+ setquest 2187;
+ close;
+ case 2:
+ mes "[Praying Minister]";
+ mes "A Holy Pilgrimage isn't that difficult.";
+ mes "Just be mindful that once you start the path you will be on your way to the way of a true minister of Odin.";
+ next;
+ mes "[Praying Minister]";
+ mes "Feel free to visit me if you change your mind.";
+ mes "I'll always be here for you.";
+ close;
+ }
+ }
+ mes "[Praying Minister]";
+ mes "How's it going?";
+ mes "Did you meet Priest Dayan in Umbala?";
+ close;
+ }
+ mes "[Praying Minister]";
+ mes "In front of the Almighty God Odin, there shall be no person smarter than him, and there will be no person more merciful than him.";
+ next;
+ mes "[Praying Minister]";
+ mes "All ministers of Odin should be diligent. They should never be too lazy to serve Odin.";
+ next;
+ mes "[Praying Minister]";
+ mes "Thesedays, I've heard that ministers are becoming lax in their duty to Odin and adorn themselves with the splendors of the world.";
+ next;
+ mes "[Praying Minister]";
+ mes "If you see any of these ministers, can you ask to them to go to the church in prontera?";
+ next;
+ mes "[Praying Minister]";
+ mes "They give out a special aura so you can easily recognize them.";
+ mes "I'm going to make them ministers worthy of serving Odin.";
+ close;
+}
+
+umbala,137,227,5 script Utan Boy#arch 787,{
+ mes "[Utan Boy]";
+ mes "........";
+ close;
+}
+
+umbala,139,227,3 script Priest#arch 60,{
+ if (job_arch < 1) {
+ mes "[Priest]";
+ mes "Un...ba... Unba?";
+ close;
+ }
+ if (job_arch == 1) {
+ mes "[Priest]";
+ mes "Un...ba... Umba?";
+ next;
+ mes "[Utan Boy]";
+ mes "...............";
+ next;
+ mes "[Priest]";
+ mes "Is that... right?";
+ mes "Hmm... so...";
+ mes "Um...ma? Umau...ma?";
+ emotion e_swt;
+ next;
+ mes "[Utan Boy]";
+ mes "...............";
+ next;
+ mes "[Priest]";
+ mes "Huuuuuu......";
+ mes "Oh, dear . I feel heavy.";
+ mes "hohohoho.";
+ next;
+ mes "- mumbling~ -";
+ next;
+ mes "[Priest]";
+ mes "hahahahaha.";
+ mes "huhuhuhu. humhum.";
+ next;
+ mes "[" + strcharinfo(0) + "]";
+ mes "Hello. are you... Priest Dayan?";
+ next;
+ mes "[Priest]";
+ mes "Huh?";
+ next;
+ mes "He turns his head towards you.";
+ next;
+ mes "[" + strcharinfo(0) + "]";
+ mes "Aren't you Priest Dayan?";
+ next;
+ mes "[Priest]";
+ mes "muttering...";
+ next;
+ mes "[" + strcharinfo(0) + "]";
+ mes "Priest! Da~yan! Right!?";
+ next;
+ mes "[Priest Dayan]";
+ mes "Ah~, yes.";
+ mes "Yes, I am.";
+ if (Sex == 1) {
+ mes "I'm Dayan. Nice to meet you Brother.";
+ }
+ else {
+ mes "I'm Dayan. Nice to meet you Sister.";
+ }
+ next;
+ mes "The old priest gives you an ear to ear grin. ";
+ next;
+ mes "[Priest Dayan]";
+ mes "I forgot to wear my hearing aid. hehe.";
+ mes "Anyway, why have you come here?";
+ next;
+ mes "[" + strcharinfo(0) + "]";
+ mes "Hmm, I wanted to tell you...";
+ next;
+ input .@inputstr$;
+ mes "[" + strcharinfo(0) + "]";
+ mes "" + .@inputstr$ + "";
+ next;
+ if (.@inputstr$ != "I'm here for the Holy Pilgrimage") {
+ mes "Priest Dayan doesn't seem to understand you. He just stares at you and smiles.";
+ next;
+ mes "[Priest]";
+ mes "Eh? Say what?";
+ close;
+ }
+ mes "[Priest Dayan]";
+ mes "..............?";
+ next;
+ mes "He cups his ears towards you.";
+ next;
+ mes "[" + strcharinfo(0) + "]";
+ mes "^FF0000I'm here for the Holy Pilgrimage!^000000";
+ mes "^FF0000I'm here for the Holy Pilgrimage!^000000";
+ mes "^FF0000I'm here for the Holy Pilgrimage!^000000";
+ mes "^FF0000I'm here for the Holy Pilgrimage!^000000";
+ next;
+ mes "[Priest Dayan]";
+ mes "Eh... are you?";
+ mes "A pilgrimage to the Holy Land...";
+ mes "It has been a long time since I've seen such a devout minister.";
+ if (Sex == 1) {
+ mes "Welcome. Brother.";
+ next;
+ }
+ else {
+ mes "Welcome. Sister.";
+ next;
+ }
+ mes "The old priest gives you a gracious smile.";
+ next;
+ mes "[Priest Dayan]";
+ mes "See this village with the huge forest surrounding it.";
+ mes "Can you see a giant tree?";
+ next;
+ mes "[Priest Dayan]";
+ mes "That big tree is called The ^3131FFYggdrasil^000000.";
+ mes "That tree was created from Ymir's body after Odin created the world as you know it, Rune Midgard.";
+ next;
+ mes "[Priest Dayan]";
+ mes "A fountain pours out from the end of Yggdrasil's roots that spread to every world.";
+ next;
+ mes "[Priest Dayan]";
+ mes "The roots head to Nifflheim where you can find Hvergelmir spring.";
+ mes "In Rune Midgard there is Mimir's spring. And in Asgard, the world of the Gods, there is the Word spring.";
+ next;
+ mes "[Priest Dayan]";
+ mes "Mimir spring wells with intelligence, myth says that if Odin lets you have his eye that you will gain all of the knowledge within that spring.";
+ next;
+ mes "[Priest Dayan]";
+ if (Sex == 1) {
+ mes "Brother.";
+ }
+ else {
+ mes "Sister.";
+ }
+ mes "Through the Holy Pilgrimage, we can make ourselves pious by cleansing our bodies and souls.";
+ next;
+ mes "[Priest Dayan]";
+ mes "Enter the Yggdrasil.";
+ mes "You may be assaulted by creatures in there but be mindful that their intentions are only to protect the Yggdrasil.";
+ next;
+ mes "[Priest Dayan]";
+ mes "Follow your steps with purpose.";
+ mes "If Odin doesn't abandon you, you can reach the beginning of the world at the stem of the Yggdrasil.";
+ mes "When you arrive there, find a quiet place.";
+ next;
+ mes "[Priest Dayan]";
+ mes "Pray for a life of faith and expiate your sins with a pious mind.";
+ next;
+ mes "[Priest Dayan]";
+ mes "Admire Odin's omniscience and omnipotence and pray for a wisdom to choose the right path.";
+ mes "^3131FFFeel free to ask me about how to pray^000000.";
+ next;
+ mes "[Priest Dayan]";
+ mes "Lets see, go to the place of the most famous creature from Odin.";
+ next;
+ mes "[Priest Dayan]";
+ mes "After making your pilgrimage, let's have a drink together and talk about your experience.";
+ next;
+ mes "- Priest Dayan smiles again. -";
+ set job_arch,2;
+ changequest 2187,2188;
+ close;
+ }
+ if (job_arch == 2) {
+ mes "[Priest Dayan]";
+ mes "This place is the holiest place in the world, Yggdrasil.";
+ mes "This holy ceremony will brighten your soul.";
+ next;
+ switch (select("How should I pray?:Cancel.")) {
+ case 1:
+ mes "[Priest Dayan]";
+ mes "Through prayer, we can follow four paths.";
+ mes "Remember what I say to you now.";
+ next;
+ mes "[Priest Dayan]";
+ mes "The 1st way is the ^3131FFway of meditation^000000.";
+ mes "In the way of meditation, we have to be ready to greet Odin with a clear conscience.";
+ next;
+ mes "[Priest Dayan]";
+ mes "Meditation starts with a ^3131FFBlessing^000000 which calms your mind down.";
+ next;
+ mes "[Priest Dayan]";
+ mes "The 2nd is the ^3131FFway of agony^000000.";
+ mes "Through the way of agony, we reflect on ourselves with confession about our retribution for the deeds of a former life.";
+ next;
+ mes "[Priest Dayan]";
+ mes "Don't be afraid of pain. That is a necessity and will be a first step to enter a way to liquidate past wounds.";
+ next;
+ mes "[Priest Dayan]";
+ mes "The 3rd way is the ^3131FFway of joy^000000.";
+ mes "As you rid yourself of pain, your mind will suffer less and you will experience the joy of life as you help and console others.";
+ next;
+ mes "[Priest Dayan]";
+ mes "They will bless you because you are an existence of joy overcoming an affliction. We call that ^3131FFAspersio^000000.";
+ mes "You must drink a ^3131FFHoly Water^000000 with appreciation of Aspersio.";
+ next;
+ mes "[Priest Dayan]";
+ mes "The last way is the ^3131FFway of light^000000.";
+ mes "You are free from all sin because you were blessed from all creation.";
+ next;
+ mes "[Priest Dayan]";
+ mes "You were reborn as light, sing a ^3131FFGloria^000000 of joy and soul that loves you.";
+ next;
+ mes "[Priest Dayan]";
+ mes "After finishing all of these prayers, just stand up with a pious mind.";
+ mes "If your prayer is truthful, Odin will lend you his wisdom.";
+ next;
+ mes "[Priest Dayan]";
+ mes "Are you ready?";
+ mes "Okay, it's time to leave and exculpate yourself.";
+ mes "If your prayer is finished, let's talk.";
+ close;
+ case 2:
+ mes "[Priest Dayan]";
+ mes "I hope that my prayer can weaken your agony...";
+ close;
+ }
+ }
+ if (job_arch == 3) {
+ mes "[Priest Dayan]";
+ mes "Oh, you've come back.";
+ mes "I can feel that you have a fresh energy. Maybe you did pray truthfully.";
+ next;
+ mes "[" + strcharinfo(0) + "]";
+ mes "I feel light-hearted. Like I was just reborn...";
+ next;
+ mes "[Priest Dayan]";
+ mes "Your faith gives you confidence and courage.";
+ mes "A smile from a peaceful mind will easily rid people of their wariness.";
+ mes "Please, inspire people with love and energy.";
+ next;
+ mes "[" + strcharinfo(0) + "]";
+ mes "Thanks for your kind words.";
+ next;
+ mes "[Priest Dayan]";
+ if (Sex == 1) {
+ mes "Brother.";
+ }
+ else {
+ mes "Sister.";
+ }
+ mes "Now, there is a place you should go to.";
+ next;
+ mes "[Priest Dayan]";
+ mes "That place is Hugel in Schwaltzvalt.";
+ mes "There is a Nun praying there named Vinue, she is a true minister who prays for the suffering people in the world.";
+ mes "But the last time I saw her she seemed sad.";
+ next;
+ mes "[Priest Dayan]";
+ mes "Can you convince her to make a pilgrimage to Yggdrasil?";
+ mes "I think she is exhausted due to praying too much. I hope the air of Yggdrasil will be helpful to her.";
+ next;
+ mes "[" + strcharinfo(0) + "]";
+ mes "Don't worry.";
+ mes "I'll go and meet her.";
+ next;
+ mes "[Priest Dayan]";
+ if (Sex == 1) {
+ mes "Feel free to visit here when you want to pray, brother.";
+ }
+ else {
+ mes "Feel free to visit here when you want to pray, sister.";
+ }
+ mes "A visit from a friend always makes me happy.";
+ set job_arch,4;
+ changequest 2188,2189;
+ close;
+ }
+ mes "[Dayan]";
+ mes "Did you find Vinue in Hugel?";
+ close;
+}
+
+yggdrasil01,220,47,0 script #A pilgrimage to the Ho 139,5,5,{
+
+OnTouch:
+ if (job_arch == 2) {
+ mes "[" + strcharinfo(0) + "]";
+ mes "Is it the spring of Hvergelmir.";
+ mes "This place is a very vivid and peaceful place.";
+ mes "It's proper to pray.";
+ next;
+ mes "[" + strcharinfo(0) + "]";
+ mes "Time to genuflect...";
+ mes "Hmm, what did that priest say to me?";
+ next;
+ mes "[" + strcharinfo(0) + "]";
+ mes "Hmm... What is the first way?";
+ next;
+ switch (select("The way of silence.:The way of confession.:The way of meditation.")) {
+ case 1:
+ mes "[" + strcharinfo(0) + "]";
+ mes "";
+ mes "I don't think so.";
+ close;
+ case 2:
+ mes "[" + strcharinfo(0) + "]";
+ mes "The way of confession...?";
+ mes "I don't think so.";
+ close;
+ case 3:
+ mes "[" + strcharinfo(0) + "]";
+ mes "The way of meditation...?";
+ mes "Yes, it's the way of meditation.";
+ next;
+ break;
+ }
+ mes "^3131FF[Priest Dayan]^000000";
+ mes "^3131FFThe 1st way is the way of meditation.^000000";
+ mes "^3131FFIn the way of meditation, we have to be ready to greet Odin with a clear conscience.^000000";
+ next;
+ mes "^3131FF[Priest Dayan]^000000";
+ mes "^3131FFMeditation starts with a Blessing which calms your mind down.^000000";
+ next;
+ mes "- You close your eyes slowly and take a deep breath. -";
+ next;
+ mes "- * BLESSING! * -";
+ specialeffect2 EF_BLESSING;
+ next;
+ mes "Your mind is refreshed with the blessing effect.";
+ mes "You continue to meditate trying to rid your mind of any ill feelings.";
+ next;
+ mes "^3131FF[Priest Dayan]^000000";
+ mes "^3131FFThe 2nd is the way of agony^000000.";
+ mes "^3131FFThrough the way of agony, we reflect on ourselves with confession about our retribution for the deeds of a former life.^000000";
+ next;
+ mes "^3131FF[Priest Dayan]^000000";
+ mes "^3131FFDon't be afraid of pain. That is a necessity and will be a first step to enter a way to liquidate past wounds.^000000";
+ next;
+ mes "[" + strcharinfo(0) + "]";
+ mes "Pain... What kind of faults have I had?";
+ input .@inputstr$;
+ next;
+ mes "[" + strcharinfo(0) + "]";
+ mes "I confess my guilt to the Almighty God Odin.";
+ next;
+ mes "[" + strcharinfo(0) + "]";
+ mes "^3131FF" + .@inputstr$ + ".^000000";
+ next;
+ mes "[" + strcharinfo(0) + "]";
+ mes "Oh benevolent Odin, Take mercy on me and pity me because I'm remiss in the discharge of my duties as a minister.";
+ mes "Please, lead the way and save a foolish minister with your wisdom.";
+ next;
+ mes "You ruminate about your confession and are lost in thought again.";
+ next;
+ mes ".............................";
+ next;
+ mes ".............................";
+ mes ".........................";
+ next;
+ mes ".............................";
+ mes ".........................";
+ mes ".....................";
+ next;
+ mes "^3131FF[Priest Dayan]^000000";
+ mes "^3131FFThe 3rd way is the way of joy.^000000";
+ mes "^3131FFAs you rid yourself of pain, your mind will suffer less and you will experience the joy of life as you help and console others.^000000";
+ next;
+ mes "^3131FF[Priest Dayan]^000000";
+ mes "^3131FFAnd also they will bless you because you are an existence of joy overcoming an affliction. We call that Aspersio^000000.";
+ mes "^3131FFYou must drink a Holy Water with appreciation of Aspersio.^000000";
+ next;
+ if (countitem(523) == 0) {
+ mes "[" + strcharinfo(0) + "]";
+ mes "Oh no! I forgot to bring a Holy Water!";
+ close;
+ }
+ mes "- You bow respectfully holding up a Holy Water and put the glass to your lips. -";
+ next;
+ mes "- * ASPERSIO ! * -";
+ specialeffect2 EF_ASPERSIO;
+ next;
+ specialeffect2 EF_RECOVERY;
+ mes ".............................";
+ next;
+ mes ".............................";
+ mes ".........................";
+ next;
+ mes ".............................";
+ mes ".........................";
+ mes ".....................";
+ next;
+ mes "^3131FF[Priest Dayan]^000000";
+ mes "^3131FFThe last way is a way of light^000000.^000000.";
+ mes "^3131FFYou are free from all sin because you were blessed from all creation.^000000";
+ next;
+ mes "^3131FF[Priest Dayan]^000000";
+ mes "^3131FFYou were reborn as light, sing a Gloria of joy and soul that love you.^000000";
+ next;
+ mes "- You breath in deep and start to sing a Gloria.";
+ mes "A chord crashs out in the spring of Hvergelmir and a waterfall sound gives you a refreshing feeling. -";
+ specialeffect2 EF_GLORIA;
+ next;
+ mes "[" + strcharinfo(0) + "]";
+ mes "~Descendants of Heimdal gather under the Ash tree Yggdrasil.~";
+ mes "~The Curdan bird which sits on a branch brings me the wisdom of whole world.~";
+ next;
+ mes "[" + strcharinfo(0) + "]";
+ mes "~The Curdan wolf protects me from all threats in the world.~";
+ specialeffect2 EF_GLORIA;
+ next;
+ mes "[" + strcharinfo(0) + "]";
+ mes "~The host of ballascalf, rise up from your seat. The whole world shouts for joy.~";
+ mes "~The father of light, the poet of wisdom, sing for me.~";
+ next;
+ mes "[" + strcharinfo(0) + "]";
+ mes "~The host of a glittering glass, give me a holy prediction.~";
+ specialeffect2 EF_GLORIA;
+ next;
+ mes "- After you finish the song, you feel light and strong with abundant devotion. -";
+ specialeffect2 EF_BLESSING;
+ specialeffect2 EF_RESURRECTION;
+ next;
+ mes "[" + strcharinfo(0) + "]";
+ mes "That was refreshing.";
+ mes "I guess I should go back to Priest Dayan.";
+ set job_arch,3;
+ close2;
+ warp "umbala",138,219;
+ end;
+ }
+ if (job_arch == 3) {
+ mes "[" + strcharinfo(0) + "]";
+ mes "The song is over. It's time to go back to Priest Dayan.";
+ close2;
+ warp "umbala",138,219;
+ end;
+ }
+ end;
+}
+
+hu_in01,205,204,7 script Praying Nun#benew 79,{
+ if (job_arch == 4) {
+ mes "- There is a nun closing her eyes as she murmurs something which sounds like a prayer. -";
+ next;
+ switch (select("Talk to her.:Stay Quiet.")) {
+ case 1:
+ break;
+ case 2:
+ mes "- You don't feel like disturbing her -";
+ close;
+ }
+ mes "[" + strcharinfo(0) + "]";
+ mes "Umm, hello sister?";
+ next;
+ mes "[Vinue]";
+ mes "Ah, Welcome.";
+ mes "It's not time to have a service yet...";
+ if (Sex == 1) {
+ mes "Are you here to pray, brother?";
+ }
+ else {
+ mes "Are you here to pray, sister?";
+ }
+ next;
+ mes "[" + strcharinfo(0) + "]";
+ mes "I came here to say hello from Priest Dayan from Prontera.";
+ next;
+ mes "[Vinue]";
+ mes "Ah, Priest Dayan.";
+ mes "Is he good?";
+ mes "He is so cute even though he's old.";
+ next;
+ mes "[" + strcharinfo(0) + "]";
+ mes "He told me that he was worried because when he saw you last time, you seemed sad.";
+ mes "He asks you to go on a Holy Pilgrimage.";
+ next;
+ mes "[" + strcharinfo(0) + "]";
+ mes "Umbala has the vital power of nature!";
+ next;
+ mes "[Vinue]";
+ mes "Ah...";
+ if (Sex == 1) {
+ mes "He's very kind. As are you brother.";
+ }
+ else {
+ mes "He's very kind. As are you sister.";
+ }
+ next;
+ mes "[Vinue]";
+ mes "But don't worry.";
+ mes "I'm just a little tired because of a bad dream.";
+ next;
+ mes "[Vinue]";
+ mes "Evil is always watching for our souls.";
+ mes "If you are indifferent to praying, it never misses an opportunity.";
+ next;
+ switch (select("A dream? What kind of dream?:Your soul should be fine.")) {
+ case 1:
+ break;
+ case 2:
+ mes "[Vinue]";
+ mes "Oh but that's where you're wrong.";
+ mes "My soul may be the most at risk.";
+ mes "Thank you for delivering the message.";
+ mes "I'll go back to my prayers.";
+ close;
+ }
+ mes "[Vinue]";
+ mes "That is...";
+ mes "Actually I started to have a bad dream from the date I was appointed.";
+ next;
+ mes "[Vinue]";
+ mes "At first, it was a dream that Valkyrie was sad and in darkness.";
+ next;
+ mes "[" + strcharinfo(0) + "]";
+ mes "Valkyrie?";
+ next;
+ mes "[Vinue]";
+ mes "Yeah...";
+ mes "She was crying in a pitch-black room.";
+ mes "Hanging down like a bird that had its wings cut.";
+ next;
+ mes "[Vinue]";
+ mes "But, as time went by, the dream became scarier. Now Valkyrie is arrested with chains and then finally she is dashed to pieces.";
+ next;
+ mes "[Vinue]";
+ mes "What a cruel performance! I suddenly can't breathe properly and then I wake up.";
+ next;
+ mes "[" + strcharinfo(0) + "]";
+ mes "To have to see the death of Valkyrie, must be a tormenting dream.";
+ next;
+ mes "[Vinue]";
+ mes "Is it just a nightmare?";
+ mes "Or do you think it is an omen?";
+ next;
+ mes "[Vinue]";
+ mes "I've been wanting to pray at Odin's shrine to make the dream go away. But that shrine became a den of evil a long time ago.";
+ next;
+ mes "[" + strcharinfo(0) + "]";
+ mes "The shrine?";
+ mes "Nobody tried to subdue the evil?";
+ next;
+ mes "[Vinue]";
+ mes "Unfortunely, I'm a nun who doesn't have any exorcism skill...";
+ mes "Residents of Hugel just stood aghast of the sight because they are not familiar with adventure.";
+ next;
+ mes "[Vinue]";
+ mes "Thesedays, there are a lot of people because of the development of the Odin shrine, but their situation is not so good.";
+ next;
+ mes "[" + strcharinfo(0) + "]";
+ mes "Is the dream related with the evil in the Odin shrine?";
+ next;
+ mes "[Vinue]";
+ mes "Hum... well.";
+ mes "I don't have any way to find out.";
+ mes "I don't have a method, so I just pray.";
+ next;
+ switch (select("I'll investgate for you.:I'll pray with you.")) {
+ case 1:
+ break;
+ case 2:
+ mes "[Vinue]";
+ mes "Thank you.";
+ mes "I'll pray that the darkness stays away.";
+ mes "I hope you have a good time with the festival here in Hugel.";
+ close;
+ }
+ mes "[Vinue]";
+ mes "Yeah?";
+ mes "But, it'll be scary inside!";
+ mes "There are lots of devils inside!";
+ next;
+ mes "[" + strcharinfo(0) + "]";
+ mes "But I can't pretend to ignore a Sister who is in trouble?";
+ mes "I'm a minister who copes with lots of asceticism!";
+ mes "Entrust me.";
+ next;
+ mes "[Vinue]";
+ mes "Ah... I'm so worried....";
+ mes "I'll never forget your warm heart.";
+ next;
+ mes "[" + strcharinfo(0) + "]";
+ mes "How do I get to Odin shrine?";
+ next;
+ mes "[Vinue]";
+ mes "There is a ferry on the right side of the church.";
+ next;
+ mes "[" + strcharinfo(0) + "]";
+ mes "Ok, wait for good news!";
+ next;
+ mes "[Vinue]";
+ mes "I'll pray for your safe return.";
+ mes "I hope that Odin gives you his protection as well.";
+ set job_arch, 5;
+ changequest 2189,2190;
+ close;
+ }
+ if ((job_arch > 4) && (job_arch < 100)) {
+ mes "[Vinue]";
+ mes "I'll pray for your safe return.";
+ close;
+ }
+ mes "[Vinue]";
+ mes "I feel refreshed.";
+ mes "It must be good news?";
+ mes "Thanks the Gods.";
+ close;
+}
+
+odin_tem02,282,263,0 script #find_val 139,3,3,{
+
+OnTouch:
+ if ((job_arch > 4) && (job_arch < 100)) {
+ hideoffnpc "Valkyrie Illusion#arch";
+ }
+ end;
+}
+
+odin_tem02,281,275,3 script Valkyrie Illusion#arch 403,{
+ if ((job_arch > 4) && (job_arch < 100)) {
+ mes "You can see Valkyrie who has a despairing face.";
+ next;
+ switch (select("Touch Valkyrie's Illusion.:Turn away.")) {
+ case 1:
+ mes "You lose your consciousness while getting a closer view of Valkyrie's Illusion.";
+ close2;
+ specialeffect2 EF_CLOAKING;
+ warp "job3_arch01",29,29;
+ hideonnpc "Valkyrie Illusion#arch";
+ end;
+ case 2:
+ mes "Out of fear, you turn away from Valkyrie's illusion.";
+ close2;
+ hideonnpc "Valkyrie Illusion#arch";
+ end;
+ }
+ }
+ end;
+
+OnInit:
+ hideonnpc "Valkyrie Illusion#arch";
+ end;
+}
+
+job3_arch01,29,34,3 script Valkyrie#arch 403,{
+
+ if(checkweight(1201,2) == 1){
+ //Custom translation
+ mes "- bags must be emptied before they can proceed. -";
+ close;
+ }
+ if ((BaseLevel != 99) && (JobLevel < 50)) {
+ warp "odin_tem02",282,263;
+ end;
+ }
+ if (getmercinfo(1)) {
+ mes "[Valkyrie]";
+ mes "If you want to talk with me, you have to ^3131FFcancel all contracts^000000 with any mercenaries you have.";
+ close;
+ }
+ if (SkillPoint) {
+ mes "You can't progress without using all your skill points. Please use all of your skill points before progressing~";
+ close;
+ }
+ if (checkweight(1201,4) == 0) {
+ mes "- Wait a moment! -";
+ mes "- Currently you are carrying -";
+ mes "- too many items with you. -";
+ mes "- Please come back after -";
+ mes "- you put some items into Kafra Storage. -";
+ close;
+ }
+ if ((MaxWeight - Weight) < 2000) {
+ mes "- Wait a moment! -";
+ mes "- Currently you are carrying -";
+ mes "- too many items with you. -";
+ mes "- Please come back after -";
+ mes "- you put some items into Kafra Storage. -";
+ close;
+ }
+ if ((Class != Job_Priest) && (Class != Job_High_Priest) && (Class == Job_Baby_Priest)) {
+ warp "odin_tem02",282,263;
+ }
+ if (Class != Job_Arch_Bishop || Class != Job_Arch_Bishop_T || Class == Job_Baby_Bishop) {
+ if (job_arch < 5) {
+ warp "odin_tem02",282,263;
+ }
+ if (job_arch == 5) {
+ mes "[Valkyrie]";
+ mes "In the heavens the sound of pipes spread out, but a bird that can't fly crawls and finally is crushed to pieces on the ground.";
+ mes "Ah, I'm resentful! so regretful!";
+ next;
+ mes "- Valkyrie holds its face, then she finds you and stares with a threatening face. -";
+ next;
+ mes "[Valkyrie]";
+ mes "You are a descendant of Heimdal living in pain as a mortal, why are you in here?";
+ mes "Are you here to ridicule my grim fate?";
+ next;
+ mes "[" + strcharinfo(0) + "]";
+ mes "No way!";
+ mes "But it's true that I'm here for you.";
+ next;
+ mes "[Valkyrie Anguhilde]";
+ mes "...me?";
+ mes "Of course I'm staying in Midgard, but we are under the yoke of fate that can't coexist in this world.";
+ next;
+ mes "[Valkyrie Anguhilde]";
+ mes "I see, is your goal to enter Valhalla?";
+ mes "If you do, it's the wrong place for you.";
+ next;
+ mes "[Valkyrie Anguhilde]";
+ mes "I was already expelled from Asgard.";
+ mes "My duty is protecting this small island from humans trying to take it from the Gods and even I don't have any energy to do so.";
+ next;
+ mes "[" + strcharinfo(0) + "]";
+ mes "It's not that kind of problem.";
+ mes "But someone who perceives your painful situation has sent me here.";
+ next;
+ mes "[Valkyrie Anguhilde]";
+ mes "Haha! You are going to help me?!";
+ next;
+ mes "[Valkyrie Anguhilde]";
+ mes "...................";
+ next;
+ mes "- Valkyrie gives you a fierce scowl. -";
+ next;
+ mes "[Valkyrie Anguhilde]";
+ mes "In fact, I can't do anything with my body now.";
+ next;
+ mes "[Valkyrie Anguhilde]";
+ mes "Human, answer me. Are you here to sincerely help me?";
+ next;
+ switch (select("Yes:No")) {
+ case 1:
+ break;
+ case 2:
+ mes "[Valkyrie Anguhilde]";
+ mes "I knew that I couldn't trust a human!";
+ close2;
+ warp "odin_tem02",282,263;
+ end;
+ }
+ mes "[Valkyrie Anguhilde]";
+ mes "Ok...";
+ mes "I don't have any energy to hold my own, so I have no choice but to trust you.";
+ next;
+ mes "[Valkyrie Anguhilde]";
+ mes "I was a normal Valkyrie that lead soldiers to Valhalla according to the order of Odin.";
+ next;
+ mes "[Valkyrie Anguhilde]";
+ mes "But I harmed Freki, one of Odin's wolves, and I was expelled form Asgard without any energy as a Valkyrie with orders to protect this island.";
+ next;
+ mes "[Valkyrie Anguhilde]";
+ mes "I was disgraced, this island is important as a temple for Odin and the various Gods.";
+ mes "I tried to do my best to protect this holy place.";
+ next;
+ mes "[Valkyrie Anguhilde]";
+ mes "But one day, the devil started to gain influence on this island.";
+ mes "I don't know why they came here and from where they came from.";
+ next;
+ mes "[Valkyrie Anguhilde]";
+ mes "They seiged the temple and I exhausted my energy tring to fight them all myself.";
+ next;
+ mes "[Valkyrie Anguhilde]";
+ mes "The holy shrine was tainted by the devils.";
+ mes "How long do I have to be under this dishonorable fate!";
+ next;
+ mes "[Valkyrie Anguhilde]";
+ mes "Mortal one, what is your name?";
+ next;
+ mes "[" + strcharinfo(0) + "]";
+ mes "My name is " + strcharinfo(0) + ".";
+ next;
+ mes "[Valkyrie Anguhilde]";
+ mes "" + strcharinfo(0) + ",";
+ mes "You told me that you want to help me, right? Even though it disgraces me, I am asking for your help.";
+ next;
+ mes "[Valkyrie Anguhilde]";
+ mes "This place may look like it was made my humans. Actually, it's a very important monument and also a part of the God's history.";
+ next;
+ mes "[Valkyrie Anguhilde]";
+ mes "I've lost all of my energy and my body is sealed so there is no way for me to protect the shrine.";
+ mes "You have to send a message to Valhalla to ask for help from a Valkyrie quickly.";
+ next;
+ menu "How can I do that?",-;
+ mes "[Valkyrie Anguhilde]";
+ mes "At the ^3131FFtop of the shrine^000000, You can contact to them with a ^3131FFGolden pipe^000000.";
+ next;
+ mes "[Valkyrie Anguhilde]";
+ mes "I'm going to give you a scroll of paper written in an ancient language.";
+ mes "In that scroll, there is my impersonation.";
+ mes "^3131FFIf you go outside, you can summon a Valkyrie with that scroll.^000000";
+ next;
+ mes "[Valkyrie Anguhilde]";
+ mes "After you summon my impersonation, you have to find a ^3131FFBroken pipe^000000.";
+ mes "Maybe it'll be spread in the shrine...";
+ next;
+ mes "[Valkyrie Anguhilde]";
+ mes "You have to go to the top of the shrine, collecting all broken pipes from the impersonation.";
+ mes "And then I'm going to take care of the matter.";
+ next;
+ mes "[Valkyrie Anguhilde]";
+ mes "An impersonation will help when you move or attack as you want through ^FF0000ALT+click^000000.";
+ mes "But you have to be careful if an imeprsonation falls down.";
+ next;
+ mes "[Valkyrie Anguhilde]";
+ mes "When you finish preparing to go on, talk to me again.";
+ mes "It'll be a long journey...";
+ set job_arch,6;
+ close;
+ }
+ if (job_arch == 6) {
+ if ($@archbs == 0) {
+ set $@archbs,1;
+ mes "[Valkyrie Anguhilde]";
+ mes "" + strcharinfo(0) + " Did you finish preparing for your way of asceticism?";
+ next;
+ if (getmapusers("job3_arch02") > 0) {
+ mes "[Valkyrie Anguhilde]";
+ //Custom translation
+ mes "Ah, it seems someone is already combating the evil in the temple.";
+ mes "I will go see who it is, please wait a moment.";
+ set $@archbs,0;
+ close;
+ }
+ mes "[Valkyrie Anguhilde]";
+ mes "Ok. Now I'm going to send you there.";
+ mes "^FF0000When you go there, you have to summon my impersonation with the scroll^000000. Don't forget.";
+ set $@archbs,0;
+ close2;
+ nude;
+ if (countitem(2798) > 0) {
+ delitem 2798,countitem(2798); //Will_Of_Exhausted_Angel
+ }
+ donpcevent "start#arch::OnEnable";
+ set job_arch,7;
+ changequest 2190,2191;
+ warp "job3_arch02",119,49;
+ hideonnpc "Valkyrie#arch";
+ end;
+ }
+ mes "[Valkyrie Anguhilde]";
+ //Custom translation
+ mes "I am already talking to someone, please wait and talk to me again.";
+ close;
+ }
+ if (job_arch == 7) {
+ if (countitem(12381) > 0 || countitem(12382) > 0) {
+ if (countitem(12381) > 0) {
+ delitem 12381,countitem(12381); //ValkyrieA_Scroll
+ }
+ if (countitem(12382) > 0) {
+ delitem 12382,countitem(12382); //ValkyrieB_Scroll
+ }
+ if ($@archbs == 0) {
+ set $@archbs,1;
+ mes "[Valkyrie Anguhilde]";
+ mes "Are you ok human?";
+ mes "It was not as easy as I expected.";
+ mes "Will you challenge again?";
+ next;
+ if (getmapusers("job3_arch02") > 0) {
+ set $@archbs,0;
+ mes "[Valkyrie Anguhilde]";
+ //Custom translation
+ mes "Ah, it seems someone is already combating the evil in the temple.";
+ mes "I will see who it is, please wait a moment.";
+ close;
+ }
+ set $@archbs,0;
+ mes "[Valkyrie Anguhilde]";
+ mes "OK. now I'm going to send you there.";
+ mes "^FF0000When you go there, you have to summon my impersonation with the scroll^000000.";
+ mes "An impersonation will help when you move or attack as you want through ^FF0000ALT+click^000000.";
+ mes "But you have to be careful if an imeprsonation falls down.";
+ close2;
+ nude;
+ if (countitem(2798) > 0) {
+ delitem 2798,countitem(2798); //Will_Of_Exhausted_Angel
+ }
+ donpcevent "start#arch::OnEnable";
+ set job_arch, 7;
+ warp "job3_arch02",119,49;
+ hideonnpc "Valkyrie#arch";
+ end;
+ }
+ mes "[Valkyrie Anguhilde]";
+ //Custom translation
+ mes "I am already talking to someone, please wait and talk to me again.";
+ close;
+ }
+ end;
+ }
+ end;
+ }
+ end;
+
+OnInit:
+ set $@archbs,0;
+ end;
+
+OnBc:
+ set $@archbs,0;
+ //Custom translation
+ mapannounce "job3_arch01","Valkyrie's Cry: I hear the laughter of the devil, someone has fallen in the temple.",bc_map,"0xFFCE00"; //FW_NORMAL 12 0 0
+ hideoffnpc "Valkyrie#arch";
+ end;
+}
+
+job3_arch02,119,49,0 script #arch_1_start 139,6,6,{
+
+OnTouch:
+ if (countitem(12381) == 0) {
+ getitem 12381,1; //ValkyrieA_Scroll
+ }
+ mapannounce "job3_arch02","Whispering of an impersonation: I feel heavy! Set me free!",bc_map,"0xFFCE00"; //FW_NORMAL 12 0 0
+ hideonnpc "#arch_1_start";
+ end;
+}
+
+- script #arch_1_01_0::archbjcq 139,5,5,{
+
+OnTouch:
+ if (countitem(12381) > 0) {
+ delitem 12381,1; //ValkyrieA_Scroll
+ mapannounce "job3_arch02","Whispering of an impersonation: You can't do anything by yourself! Let's go back!",bc_map,"0xFFCE00"; //FW_NORMAL 12 0 0
+ mapwarp "job3_arch02","job3_arch01",29,29;
+ end;
+ }
+ if (getmercinfo(1) == 2037) {
+ set .@randht, rand(1,10);
+ if (.@randht < 8) {
+ mapannounce "job3_arch02","Whispering of an impersonation: I can feel the devil's spirits! Be careful!",bc_map,"0xFFCE00"; //FW_NORMAL 12 0 0
+ }
+ else if (.@randht == 8 || .@randht == 9) {
+ mapannounce "job3_arch02","Embodiment of the voice: They are close to you!",bc_map,"0xFFCE00"; //FW_NORMAL 12 0 0 //Custom translation
+ }
+ end;
+ }
+ mapannounce "job3_arch02","Whispering of an impersonation: You can't do anything by yourself! Let's go back!",bc_map,"0xFFCE00"; //FW_NORMAL 12 0 0
+ mapwarp "job3_arch02","job3_arch01",29,29;
+ end;
+}
+
+job3_arch02,112,73,0 duplicate(archbjcq) #arch_1_01 139,5,5
+job3_arch02,94,123,0 duplicate(archbjcq) #arch_1_02 139,5,5
+job3_arch02,93,173,0 duplicate(archbjcq) #arch_1_03 139,5,5
+job3_arch02,114,186,0 duplicate(archbjcq) #arch_1_04 139,5,5
+job3_arch02,134,201,0 duplicate(archbjcq) #arch_1_05 139,5,5
+job3_arch02,154,211,0 duplicate(archbjcq) #arch_1_06 139,5,5
+job3_arch02,175,227,0 duplicate(archbjcq) #arch_1_07 139,5,5
+job3_arch02,201,240,0 duplicate(archbjcq) #arch_1_08 139,5,5
+job3_arch02,223,252,0 duplicate(archbjcq) #arch_1_09 139,5,5
+job3_arch02,255,268,0 duplicate(archbjcq) #arch_1_10 139,5,5
+job3_arch02,269,302,0 duplicate(archbjcq) #arch_1_11 139,5,5
+job3_arch02,245,289,0 duplicate(archbjcq) #arch_1_12 139,5,5
+
+job3_arch02,203,286,0 script #arch_1_boss 139,5,5,{
+
+OnTouch:
+ if (countitem(12381) > 0) {
+ delitem 12381,1; //ValkyrieA_Scroll
+ mapannounce "job3_arch02","Whispering of an impersonation: You can't do anything by yourself! Let's go back!",bc_map,"0xFFCE00"; //FW_NORMAL 12 0 0
+ mapwarp "job3_arch02","job3_arch01",29,29;
+ end;
+ }
+ if (GetMyMercenary == 2037) {
+ mapannounce "job3_arch02","Valkyrie's Nightmare: An incompetent illusion of Valkyrie came here with the assistance of humans. You wanna have that nightmare?",bc_map,"0xFF0000"; //FW_NORMAL 12 0 0
+ donpcevent "mob#arch_1::OnKill";
+ }
+ else {
+ mapannounce "job3_arch02","Whispering of an impersonation: You can't do anything by yourself! Let's go back!",bc_map,"0xFFCE00"; //FW_NORMAL 12 0 0
+ mapwarp "job3_arch02","job3_arch01",29,29;
+ }
+ end;
+}
+
+job3_arch02,390,390,1 script #arch_redcell 844,{
+ end;
+
+OnInit:
+ setcell "job3_arch02",276,290,280,294,cell_walkable,0;
+ setcell "job3_arch02",276,290,280,294,cell_shootable,0;
+ end;
+
+OnGreen:
+ setcell "job3_arch02",276,290,280,294,cell_walkable,1;
+ setcell "job3_arch02",276,290,280,294,cell_shootable,1;
+ end;
+
+OnRed:
+ setcell "job3_arch02",276,290,280,294,cell_walkable,0;
+ setcell "job3_arch02",276,290,280,294,cell_shootable,0;
+ end;
+}
+
+job3_arch02,390,389,1 script #arch_val01 844,{
+ end;
+
+OnEnable:
+ areamonster "job3_arch02",111,325,115,329,"Valkyrie's Nightmare",2036,1,"#arch_val01::OnMyMobDead";
+ end;
+
+OnMyMobDead:
+ if (mobcount ("job3_arch02","#arch_val01::OnMyMobDead") < 1) {
+ donpcevent "#arch_redcell::OnGreen";
+ mapannounce "job3_arch02","Valkyrie's Nightmare: Your win is only a false image! hahahaha!",bc_map,"0xFF0000"; //FW_NORMAL 12 0 0
+ hideoffnpc "Valkyrie#arch_01";
+ hideonnpc "#arch_1_start";
+ hideonnpc "#arch_1_01";
+ hideonnpc "#arch_1_02";
+ hideonnpc "#arch_1_03";
+ hideonnpc "#arch_1_04";
+ hideonnpc "#arch_1_05";
+ hideonnpc "#arch_1_06";
+ hideonnpc "#arch_1_07";
+ hideonnpc "#arch_1_08";
+ hideonnpc "#arch_1_09";
+ hideonnpc "#arch_1_10";
+ hideonnpc "#arch_1_11";
+ hideonnpc "#arch_1_12";
+ hideonnpc "#arch_1_boss";
+ }
+ end;
+
+OnKill:
+ killmonster "job3_arch02","#arch_val01::OnMyMobDead";
+ end;
+}
+
+job3_arch02,390,387,1 script #arch_val02 844,{
+ end;
+
+OnEnable:
+ areamonster "job3_arch02",242,44,246,48,"Valkyrie's Nightmare",2036,1,"#arch_val02::OnMyMobDead";
+ end;
+
+OnMyMobDead:
+ if (mobcount ("job3_arch02","#arch_val02::OnMyMobDead") < 1) {
+ mapannounce "job3_arch02","Valkyrie's Nightmare: You are so childish. I invite you to a devil's party. I'll make sure you have a fun!",bc_map,"0xFF0000"; //FW_NORMAL 12 0 0
+ hideoffnpc "Valkyrie#arch_02";
+ hideonnpc "#arch_2_boss";
+ viewpoint 234,279,1,1,0xFFFF9900;
+ }
+ end;
+
+OnKill:
+ killmonster "job3_arch02","#arch_val02::OnMyMobDead";
+ end;
+}
+
+job3_arch02,113,327,5 script Valkyrie#arch_01 403,{
+ if (getmercinfo(1)) {
+ mes "[Valkyrie]";
+ mes "If you want to talk with me, you have to ^3131FFcancel all contracts^000000 with any mercenaries you have.";
+ close;
+ }
+ mes "[Valkyrie Anguhilde]";
+ mes "The devil always makes an effort to agitate people's mind.";
+ mes "You don't have to care about their whisperings.";
+ next;
+ mes "[Valkyrie Anguhilde]";
+ mes "Anyway I can feel my energy coming back.";
+ mes "Show me the stuff that you found.";
+ next;
+ mes "- You show a golden piece of pipe to Valkyrie. -";
+ next;
+ mes "[Valkyrie Anguhilde]";
+ mes "Oh, It's a piece of pipe!";
+ mes "If you collect pieces, you can ask other Valkyries for help.";
+ next;
+ mes "[Valkyrie Anguhilde]";
+ mes "Because of a close battle, I could only get a little energy.";
+ mes "I'm going to give a ^3131FFnew ancient scroll^000000.";
+ mes "It'll be helpful to find the rest of pieces.";
+ next;
+ mes "[Valkyrie Anguhilde]";
+ mes "Then I look forward a good news.";
+ close2;
+ getitem 12382,1; //ValkyrieB_Scroll
+ viewpoint 46,244,1,1,0xFFFF9900;
+ hideonnpc "Valkyrie#arch_01";
+ donpcevent "#arch_2_start::OnEnable";
+ end;
+}
+
+job3_arch02,244,46,5 script Valkyrie#arch_02 403,{
+ mes "[Valkyrie Anguhilde]";
+ mes "Did you find the rest of the pieces?";
+ next;
+ if (countitem(6154) < 2) {
+ mes "[Valkyrie Anguhilde]";
+ mes "Hum?";
+ mes "I can see this one beside you.";
+ getitem 6154,2; //Broken_Horn_Pipe
+ next;
+ }
+ mes "[Valkyrie Anguhilde]";
+ mes "OK.";
+ mes "I'll complete the broken horn pipe!";
+ next;
+ mes "[Valkyrie Anguhilde]";
+ mes "But the battle is not finished yet.";
+ mes "You remember a ^3131FFruined shrine on the center of the island^000000?";
+ mes "It'll be completed only when you use a horn pipe.";
+ next;
+ mes "[Valkyrie Anguhilde]";
+ mes "I can feel the air around me is getting impure.";
+ mes "And feel the coldness of the pitch-black darkness.";
+ mes "This time will be dangerous.";
+ next;
+ mes "[Valkyrie Anguhilde]";
+ mes "I give you a necklace as a present.";
+ mes "But I'm not sure that It'll be helpful or not....";
+ mes "Take care.";
+ mes "Please, hurry up!";
+ close2;
+ getitem 2798,1; //Will_Of_Exhausted_Angel
+ hideonnpc "Valkyrie#arch_02";
+ donpcevent "#arch_3_start::OnEnable";
+ end;
+}
+
+job3_arch02,279,234,0 script #arch_end 139,7,7,{
+
+OnTouch:
+ donpcevent "#arch_3_01::OnKill";
+ donpcevent "#arch_3_02::OnKill";
+ donpcevent "#arch_3_03::OnKill";
+ donpcevent "mob#arch_2::OnKill";
+ hideoffnpc "Valkyrie Anguhilde#end";
+ if (checkweight(1201,4) == 0) {
+ mes "- Wait a moment! -";
+ mes "- Currently you are carrying -";
+ mes "- too many items with you. -";
+ mes "- Please come back after -";
+ mes "- you put some items into Kafra Storage. -";
+ close;
+ }
+ if ((MaxWeight - Weight) < 2000) {
+ mes "- Wait a moment! -";
+ mes "- Currently you are carrying -";
+ mes "- too many items with you. -";
+ mes "- Please come back after -";
+ mes "- you put some items into Kafra Storage. -";
+ close;
+ }
+ if (countitem(6154) < 2) {
+ mes "[Valkyrie Anguhilde]";
+ mes "Did you collect all of the pieces of my horn pipe?";
+ next;
+ mes "[Valkyrie Anguhilde]";
+ mes "I know you bent over backwards to help me, but I can't do anything without 2 pieces of horn pipe.";
+ next;
+ mes "[Valkyrie Anguhilde]";
+ mes "It can be dangerous, so let's go back.";
+ close2;
+ nude;
+ if (countitem(2798) > 0) {
+ delitem 2798,(2798); //Will_Of_Exhausted_Angel
+ }
+ delitem 6154,countitem(6154); //Broken_Horn_Pipe
+ mapwarp "job3_arch02","job3_arch01",29,29;
+ end;
+ }
+ mes "[Valkyrie Anguhilde]";
+ mes "Finally we finished all the preparations.";
+ next;
+ mes "Valkyrie holds the pipe and blows towards the sky.";
+ next;
+ mes "Booo - - - -";
+ next;
+ mes "Booo - - -";
+ next;
+ hideoffnpc "Valkyrie of the heavens";
+ mes "[Valkyrie Anguhilde]";
+ mes "Assistance of Odin! Soldiers of Valhalla!";
+ mes "The holy place of the God Odin is tainted by darkness!";
+ next;
+ mes "[Valkyrie of the heavens]";
+ mes "Don't worry, Anguhilde.";
+ mes "Your desire has reached Valhalla.";
+ mes "The devils were removed by other Valkyries as you wanted.";
+ next;
+ mes "[Valkyrie Anguhilde]";
+ mes "Valkyries! Then is it safe now?";
+ next;
+ mes "[Valkyrie of the heavens]";
+ mes "Yes Anguhilde.";
+ mes "Even though you were expelled because of a incident before, Odin said that he is reconsidering your banishment.";
+ next;
+ mes "[Valkyrie Anguhilde]";
+ mes "Ah! I can go back to Asgard!";
+ next;
+ mes "[Valkyrie of the heavens]";
+ mes "Don't make a hasty generalization.";
+ mes "But I think that good news will be sent to you.";
+ next;
+ mes "[Valkyrie Anguhilde]";
+ mes "Honor to Odin!";
+ mes "I feel full of grace.";
+ mes "So bright and warm....";
+ next;
+ mes "- Shoooo -";
+ specialeffect EF_CLOAKING,AREA,"Valkyrie Anguhilde#end";
+ hideonnpc "Valkyrie Anguhilde#end";
+ emotion e_omg,1;
+ next;
+ mes "[Valkyrie of the heavens]";
+ mes "Set your mind at ease.";
+ mes "She went to a place where she is supposed to be.";
+ next;
+ mes "[Valkyrie of the heavens]";
+ mes "I think you don't get it.";
+ next;
+ mes "[Valkyrie of the heavens]";
+ mes "Anguhilde is a Valkyrie who is dead for a long time ago.";
+ mes "Didn't you see a shrine covered by the devil?";
+ mes "Unfortunately, Anguhilde couldn't cope with the task and fell down.";
+ next;
+ mes "[Valkyrie of the heavens]";
+ mes "Here is an illusion of Anguhilde who doesn't want to be recognized.";
+ mes "She can't go to hell even when she is dead, and struggles from her constant nightmare.";
+ next;
+ mes "[Valkyrie of the heavens]";
+ mes "But she is relieved by your favor.";
+ mes "Even though It's different with reality but now she may be able to rest in peace.";
+ next;
+ mes "[Valkyrie of the heavens]";
+ mes "Human, the Valkyries are in your debt. Thank you.";
+ mes "I can't invite you as I want, but the power given by Odin can help you.";
+ next;
+ mes "[Valkyrie of the heavens]";
+ mes "Now, go back to your world.";
+ mes "The sound of the horn pipe and a bird's chirpings will be spread out for you.";
+ next;
+ mes "[Valkyrie of the heavens]";
+ mes "Don't forget an altruistic minister's spirit like today forever.";
+ mes "I hope we see each other in Valhalla sometime.";
+ nude;
+ if (countitem(2798) > 0) {
+ delitem 2798,countitem(2798); //Will_Of_Exhausted_Angel
+ }
+ delitem 6154,countitem(6154); //Broken_Horn_Pipe
+ set job_arch,100;
+ completequest 2191;
+ getitem 5747,1; //Mitra
+ getitem 2795,1; //Green_Apple_Ring
+ if(Class == Job_Baby_Priest){
+ jobchange Job_Baby_Bishop;
+ }
+ else if (Class == Job_Priest) {
+ jobchange Job_Arch_Bishop;
+ }
+ else {
+ jobchange Job_Arch_Bishop_T;
+ }
+ close;
+
+OnInit:
+ hideonnpc "#arch_end";
+ end;
+}
+
+job3_arch02,281,232,1 script Valkyrie Anguhilde#end 403,{
+ end;
+
+OnInit:
+ hideonnpc "Valkyrie Anguhilde#end";
+ end;
+}
+
+job3_arch02,273,235,5 script Valkyrie of the heavens 811,{
+ if (job_arch == 100) {
+ mes "[Valkyrie of the heavens]";
+ mes "Now, go back to your world.";
+ mes "The sound of the horn pipe and a bird's chirpings will be spread out for you.";
+ next;
+ mes "[Valkyrie of the heavens]";
+ mes "Don't forget an altruistic minister's spirit like today forever.";
+ mes "I hope we see each other in Valhalla sometime.";
+ close2;
+ mapwarp "job3_arch02","job3_arch01",29,29;
+ end;
+ }
+ end;
+
+OnInit:
+ hideonnpc "Valkyrie of the heavens";
+ end;
+}
+
+job3_arch02,132,323,0 script #arch_2_01 139,5,5,{
+
+OnTouch:
+ if (countitem(12382) > 0) {
+ mapannounce "job3_arch02","Whispering of Valkyrie: I see a new ancient scroll!",bc_map,"0x000000"; //FW_NORMAL 12 0 0
+ }
+ end;
+}
+
+- script #arch_2_02_0::archbjcq2 139,5,5,{
+
+OnTouch:
+ if (countitem(12382) > 0) {
+ delitem 12382,1; //ValkyrieB_Scroll
+ mapannounce "job3_arch02","Whispering of an impersonation: You can't do anything by yourself! Let's go back!",bc_map,"0xFFCE00"; //FW_NORMAL 12 0 0
+ mapwarp "job3_arch02","job3_arch01",29,29;
+ end;
+ }
+ if (getmercinfo(1) == 2038) {
+ set .@randht, rand(1,10);
+ if (.@randht < 8) {
+ mapannounce "job3_arch02","Whispering of an impersonation: I can feel the devil's spirits. Can you hear? The sound of gathering in crowds.",bc_map,"0xFFCE00"; //FW_NORMAL 12 0 0
+ }
+ else if (.@randht == 8 || .@randht == 9) {
+ mapannounce "job3_arch02","Embodiment of Sounds: Battle Stance!",bc_map,"0xFFCE00"; //FW_NORMAL 12 0 0 //Custom translation
+ }
+ else {
+ mapannounce "job3_arch02","Whispering of an impersonation: I can't leave you! Die!",bc_map,"0xFFCE00"; //FW_NORMAL 12 0 0
+ }
+ end;
+ }
+ mapannounce "job3_arch02","Whispering of an impersonation: You can't do anything by yourself! Let's go back!",bc_map,"0xFFCE00"; //FW_NORMAL 12 0 0
+ mapwarp "job3_arch02","job3_arch01",29,29;
+ end;
+}
+
+job3_arch02,167,313,0 duplicate(archbjcq2) #arch_2_02 139,5,5
+job3_arch02,127,304,0 duplicate(archbjcq2) #arch_2_03 139,5,5
+job3_arch02,207,279,0 duplicate(archbjcq2) #arch_2_04 139,5,5
+job3_arch02,239,281,0 duplicate(archbjcq2) #arch_2_05 139,5,5
+job3_arch02,269,303,0 duplicate(archbjcq2) #arch_2_06 139,5,5
+job3_arch02,288,283,0 duplicate(archbjcq2) #arch_2_07 139,5,5
+job3_arch02,278,234,0 duplicate(archbjcq2) #arch_2_08 139,5,5
+job3_arch02,234,179,0 duplicate(archbjcq2) #arch_2_09 139,5,5
+job3_arch02,227,169,0 duplicate(archbjcq2) #arch_2_10 139,5,5
+job3_arch02,190,146,0 duplicate(archbjcq2) #arch_2_11 139,5,5
+
+job3_arch02,252,267,0 script #arch_2_12 139,5,5,{
+
+OnTouch:
+ mapannounce "job3_arch02","Whispering of an impersonation: It's a crossroad. Let's go to the left side. I have to find my pipe.",bc_map,"0xFFCE00"; //FW_NORMAL 12 0 0
+ end;
+}
+
+job3_arch02,250,290,0 script #arch_2_13 139,5,5,{
+
+OnTouch:
+ mapannounce "job3_arch02","Whispering of an impersonation: I can see a ruined shrine. Take a rest in there.",bc_map,"0xFFCE00"; //FW_NORMAL 12 0 0
+ end;
+}
+
+job3_arch02,206,113,0 script #arch_2_boss 139,5,5,{
+
+OnTouch:
+ if (countitem(12382) > 0) {
+ delitem 12382,1; //ValkyrieB_Scroll
+ mapannounce "job3_arch02","Whispering of an impersonation: You can't do anything by yourself! Let's go back!",bc_map,"0xFFCE00"; //FW_NORMAL 12 0 0
+ mapwarp "job3_arch02","job3_arch01",29,29;
+ end;
+ }
+ if (getmercinfo(1) == 2038) {
+ mapannounce "job3_arch02","A shout of devil: You are so childish. I invite you a party of devil. I'll make you have a fun!",bc_map,"0xFF0000"; //FW_NORMAL 12 0 0
+ }
+ else {
+ mapannounce "job3_arch02","Whispering of an impersonation: You can't do anything by yourself! Let's go back!",bc_map,"0xFFCE00"; //FW_NORMAL 12 0 0
+ mapwarp "job3_arch02","job3_arch01",29,29;
+ }
+ end;
+}
+
+job3_arch02,284,159,0 script #arch_3_01 139,20,20,{
+
+OnTouch:
+ if ((Class != Job_Priest) && (Class != Job_Baby_Priest)) {
+ mapannounce "job3_arch02","Frus: Do you want to see God? Okay, I'll send you to the land of the dead by myself!",bc_map,"0xFF0000"; //FW_NORMAL 12 0 0
+ areamonster "job3_arch02",242,44,246,48,"Frus",1762,1;
+ }
+ hideonnpc "#arch_3_01";
+ end;
+
+OnKill:
+ killmonster "job3_arch02","#arch_3_01::OnMyMobDead";
+ end;
+
+OnInit:
+ hideoffnpc "#arch_3_01";
+ end;
+}
+
+job3_arch02,307,200,0 script #arch_3_02 139,5,5,{
+
+OnTouch:
+ if (Class == Job_Priest || Class == Job_Baby_Priest) {
+ mapannounce "job3_arch02","Skogul: You are my guest!",bc_map,"0xFF0000"; //FW_NORMAL 12 0 0
+ monster "job3_arch02",307,200,"Skogul",1761,1;
+ }
+ hideonnpc "#arch_3_02";
+ end;
+
+OnKill:
+ killmonster "job3_arch02","#arch_3_02::OnMyMobDead";
+ end;
+
+OnInit:
+ hideoffnpc "#arch_3_02";
+ end;
+
+}
+
+job3_arch02,296,216,0 script #arch_3_03 139,5,5,{
+
+OnTouch:
+ mapannounce "job3_arch02","Frus: I like your face... Can I steal it?",bc_map,"0xFF0000"; //FW_NORMAL 12 0 0
+ monster "job3_arch02",296,216,"Frus",1762,1;
+ hideonnpc "#arch_3_03";
+ end;
+
+OnKill:
+ killmonster "job3_arch02","#arch_3_03::OnMyMobDead";
+ end;
+
+OnInit:
+ hideonnpc "#arch_3_03";
+ end;
+
+}
+
+job3_arch02,389,390,1 script mob#arch_1 844,{
+ end;
+
+OnEnable:
+ monster "job3_arch02",100,102,"Shrine Invader",1394,2;
+ monster "job3_arch02",90,131,"Shrine Invader",1394,2;
+ monster "job3_arch02",91,170,"Shrine Invader",1427,1;
+ monster "job3_arch02",104,183,"Shrine Invader",1427,1;
+ monster "job3_arch02",138,205,"Shrine Invader",1394,2;
+ monster "job3_arch02",161,215,"Shrine Invader",1394,2;
+ monster "job3_arch02",165,215,"Shrine Invader",1427,1;
+ monster "job3_arch02",201,236,"Shrine Invader",1394,2;
+ monster "job3_arch02",218,250,"Shrine Invader",1427,1;
+ monster "job3_arch02",254,293,"Shrine Invader",1427,1;
+ end;
+
+OnKill:
+ killmonster "job3_arch02","mob#arch_1::OnMyMobDead";
+ end;
+}
+
+job3_arch02,389,389,1 script mob#arch_2 844,{
+ end;
+
+OnEnable:
+ monster "job3_arch02",156,321,"Shrine Invader",1480,2;
+ monster "job3_arch02",170,305,"Shrine Invader",1480,2;
+ monster "job3_arch02",183,293,"Shrine Invader",1453,1;
+ monster "job3_arch02",200,287,"Shrine Invader",1453,1;
+ monster "job3_arch02",256,293,"Shrine Invader",1480,2;
+ monster "job3_arch02",286,284,"Shrine Invader",1480,2;
+ monster "job3_arch02",278,236,"Shrine Invader",1453,1;
+ monster "job3_arch02",292,185,"Shrine Invader",1480,2;
+ monster "job3_arch02",281,170,"Shrine Invader",1453,1;
+ monster "job3_arch02",227,166,"Shrine Invader",1453,1;
+ monster "job3_arch02",190,146,"Shrine Invader",1480,1;
+ monster "job3_arch02",204,177,"Shrine Invader",1453,1;
+ end;
+
+OnKill:
+ killmonster "job3_arch02","mob#arch_2::OnMyMobDead";
+ end;
+}
+
+job3_arch02,389,388,1 script start#arch 844,{
+ end;
+
+OnInit:
+ mapwarp "job3_arch02","job3_arch02",29,29;
+ end;
+
+OnEnable:
+ mapwarp "job3_arch02","job3_arch02",29,29;
+ hideoffnpc "#arch_1_start";
+ hideoffnpc "#arch_1_01";
+ hideoffnpc "#arch_1_02";
+ hideoffnpc "#arch_1_03";
+ hideoffnpc "#arch_1_04";
+ hideoffnpc "#arch_1_05";
+ hideoffnpc "#arch_1_06";
+ hideoffnpc "#arch_1_07";
+ hideoffnpc "#arch_1_08";
+ hideoffnpc "#arch_1_09";
+ hideoffnpc "#arch_1_10";
+ hideoffnpc "#arch_1_11";
+ hideoffnpc "#arch_1_12";
+ hideoffnpc "#arch_1_boss";
+ hideonnpc "#arch_2_01";
+ hideonnpc "#arch_2_02";
+ hideonnpc "#arch_2_03";
+ hideonnpc "#arch_2_04";
+ hideonnpc "#arch_2_05";
+ hideonnpc "#arch_2_06";
+ hideonnpc "#arch_2_07";
+ hideonnpc "#arch_2_08";
+ hideonnpc "#arch_2_09";
+ hideonnpc "#arch_2_10";
+ hideonnpc "#arch_2_11";
+ hideonnpc "#arch_2_boss";
+ hideonnpc "#arch_3_01";
+ hideonnpc "#arch_3_02";
+ hideonnpc "#arch_3_03";
+ donpcevent "#arch_3_01::OnKill";
+ donpcevent "#arch_3_02::OnKill";
+ donpcevent "#arch_3_03::OnKill";
+ hideonnpc "#arch_end";
+ hideonnpc "Valkyrie#arch_01";
+ hideonnpc "Valkyrie#arch_02";
+ hideonnpc "Valkyrie Anguhilde#end";
+ hideonnpc "Valkyrie of the heavens";
+ donpcevent "#arch_redcell::OnRed";
+ donpcevent "mob#arch_1::OnKill";
+ donpcevent "mob#arch_2::OnKill";
+ donpcevent "start#arch::OnTimeoff";
+ donpcevent "start#arch::OnTimeon";
+ donpcevent "#arch_val01::OnKill";
+ donpcevent "#arch_val02::OnKill";
+ donpcevent "mob#arch_1::OnKill";
+ donpcevent "mob#arch_2::OnKill";
+ donpcevent "mob#arch_1::OnEnable";
+ donpcevent "#arch_val01::OnEnable";
+ end;
+
+OnTimeon:
+ initnpctimer;
+ end;
+
+OnTimeoff:
+ stopnpctimer;
+ end;
+
+OnTimer60000:
+ if (getmapusers("job3_arch02") == 0) {
+ mapwarp "job3_arch02","job3_arch01",29,29;
+ donpcevent "Valkyrie#arch::OnBc";
+ stopnpctimer;
+ }
+ end;
+
+OnTimer120000:
+ if (getmapusers("job3_arch02") == 0) {
+ mapwarp "job3_arch02","job3_arch01",29,29;
+ donpcevent "Valkyrie#arch::OnBc";
+ stopnpctimer;
+ }
+ end;
+
+OnTimer180000:
+ if (getmapusers("job3_arch02") == 0) {
+ mapwarp "job3_arch02","job3_arch01",29,29;
+ donpcevent "Valkyrie#arch::OnBc";
+ stopnpctimer;
+ }
+ end;
+
+OnTimer240000:
+ if (getmapusers("job3_arch02") == 0) {
+ mapwarp "job3_arch02","job3_arch01",29,29;
+ donpcevent "Valkyrie#arch::OnBc";
+ stopnpctimer;
+ }
+ end;
+
+OnTimer300000:
+ if (getmapusers("job3_arch02") == 0) {
+ mapwarp "job3_arch02","job3_arch01",29,29;
+ donpcevent "Valkyrie#arch::OnBc";
+ stopnpctimer;
+ }
+ end;
+
+OnTimer360000:
+ if (getmapusers("job3_arch02") == 0) {
+ mapwarp "job3_arch02","job3_arch01",29,29;
+ donpcevent "Valkyrie#arch::OnBc";
+ }
+ end;
+
+OnTimer420000:
+ if (getmapusers("job3_arch02") == 0) {
+ mapwarp "job3_arch02","job3_arch01",29,29;
+ donpcevent "Valkyrie#arch::OnBc";
+ stopnpctimer;
+ }
+ end;
+
+OnTimer480000:
+ if (getmapusers("job3_arch02") == 0) {
+ mapwarp "job3_arch02","job3_arch01",29,29;
+ donpcevent "Valkyrie#arch::OnBc";
+ stopnpctimer;
+ }
+ end;
+
+OnTimer540000:
+ if (getmapusers("job3_arch02") == 0) {
+ mapwarp "job3_arch02","job3_arch01",29,29;
+ donpcevent "Valkyrie#arch::OnBc";
+ stopnpctimer;
+ }
+ end;
+
+OnTimer600000:
+ mapannounce "job3_arch02","Demons cry: Too boring, can no longer imagine what will happen! Friends, we went to lessons learned that could fool arrogant guy, OK?",bc_map,"0xFF0000"; //FW_NORMAL 12 0 0 //Custom translation;
+ end;
+
+OnTimer605000:
+ mapannounce "job3_arch02","Valkyrie's voice: No! This can not be. I will send you back soon!",bc_map,"0xFFCE00"; //FW_NORMAL 12 0 0
+ mapwarp "job3_arch02","job3_arch01",29,29;
+ donpcevent "Valkyrie#arch::OnBc";
+ stopnpctimer;
+ end;
+}
+
+job3_arch02,390,388,1 script #arch_2_start 844,{
+ end;
+
+OnInit:
+ hideonnpc "#arch_2_01";
+ hideonnpc "#arch_2_02";
+ hideonnpc "#arch_2_03";
+ hideonnpc "#arch_2_04";
+ hideonnpc "#arch_2_05";
+ hideonnpc "#arch_2_06";
+ hideonnpc "#arch_2_07";
+ hideonnpc "#arch_2_08";
+ hideonnpc "#arch_2_09";
+ hideonnpc "#arch_2_10";
+ hideonnpc "#arch_2_11";
+ hideonnpc "#arch_2_boss";
+ end;
+
+OnEnable:
+ hideoffnpc "#arch_2_01";
+ hideoffnpc "#arch_2_02";
+ hideoffnpc "#arch_2_03";
+ hideoffnpc "#arch_2_04";
+ hideoffnpc "#arch_2_05";
+ hideoffnpc "#arch_2_06";
+ hideoffnpc "#arch_2_07";
+ hideoffnpc "#arch_2_08";
+ hideoffnpc "#arch_2_09";
+ hideoffnpc "#arch_2_10";
+ hideoffnpc "#arch_2_11";
+ hideoffnpc "#arch_2_boss";
+ donpcevent "#arch_val02::OnEnable";
+ donpcevent "mob#arch_2::OnEnable";
+ end;
+}
+
+job3_arch02,390,386,1 script #arch_3_start 844,{
+ end;
+
+OnEnable:
+ hideoffnpc "#arch_3_01";
+ hideoffnpc "#arch_3_02";
+ hideoffnpc "#arch_3_03";
+ hideoffnpc "#arch_end";
+ hideoffnpc "#arch_end_eff";
+ end;
+}
+
+job3_arch02,290,221,0 script #arch_end_eff 139,5,5,{
+
+OnTouch:
+ if (countitem(6154) > 0) {
+ delitem 6154,countitem(6154); //Broken_Horn_Pipe
+ }
+ if (countitem(12381) > 0) {
+ delitem 12381,countitem(12381); //ValkyrieA_Scroll
+ }
+ if (countitem(12381) > 0) {
+ delitem 12382,countitem(12382); //ValkyrieB_Scroll
+ }
+ if (countitem(2798) > 0) {
+ delitem 2798,countitem(2798); //Will_Of_Exhausted_Angel
+ }
+ end;
+}
+
+job3_arch01,29,24,0 warp #archout 1,1,odin_tem02,282,263
+
+/*
+job3_arch01,1,1,1 script ¿ØÖÆ#arch 844,{
+ mes "[Ãç¹ÌµÄÊÞÈË]";
+ mes "ÇëÊäÈëÃÜÂë¡£";
+ next;
+ input .@input;
+ if (.@input == 1854) {
+ mes "[èÃÃ]";
+ mes "ÃÖÔÚµÄÈ«¾Ö±äÿֵΪ";
+ mes "" + $@archbs + "¡£";
+ mes "ÄãÃëÃÞ¸ÄÂð?";
+ next;
+ switch (select("0:1")) {
+ case 1:
+ set $@archbs,0;
+ hideoffnpc "Valkyrie#arch";
+ close;
+ case 2:
+ set $@archbs,1;
+ hideoffnpc "Valkyrie#arch";
+ close;
+ }
+ }
+ if (.@input < 0 || .@input > 9999) {
+ mes "[Ãç¹ÌµÄÊÞÈË]";
+ mes "ÎÒ²»ÊÇ˵¹ýÃÜÂëÒªÊäÈëÕýÈ·Â𣡣¡";
+ close;
+ }
+}
+*/
+
+odin_tem02,30,181,0 script #wherearch01 139,10,10,{
+
+OnTouch:
+ if (job_arch == 5) {
+ viewpoint 263,282,1,1,0xFFFF9900;
+ }
+ end;
+}
+
+odin_tem02,30,335,0 script #wherearch02 139,10,10,{
+
+OnTouch:
+ if (job_arch == 5) {
+ viewpoint 263,282,1,1,0xFFFF9900;
+ }
+ end;
+} \ No newline at end of file
diff --git a/npc/re/jobs/3-1/mechanic.txt b/npc/re/jobs/3-1/mechanic.txt
new file mode 100644
index 000000000..a61a9a555
--- /dev/null
+++ b/npc/re/jobs/3-1/mechanic.txt
@@ -0,0 +1,871 @@
+//===== rAthena Script =======================================
+//= Mechanic Jobchange Quest
+//===== By: ==================================================
+//= Masao
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= rAthena SVN
+//===== Description: =========================================
+//= [Aegis Conversion]
+//= Jobchange Quest from Blacksmith / Whitesmith -> Mechanic.
+//===== Additional Comments: =================================
+//= v1.0 First Version.
+//= v1.1 Fixed the Door NPC - [JayPee].
+//============================================================
+
+yuno,129,156,3 script Chainheart 923,{
+
+ if(BaseLevel > 99)
+ {
+ mes "[Chainheart]";
+ mes "Living as a Mechanic is tough,";
+ mes "but I am happy that I can";
+ mes "always do what I want.";
+ close;
+ }
+ if(job__mechanic == 12)
+ {
+ mes "[Chainheart]";
+ mes "There's nothing to say specifically about Mechanics or magic machinery.";
+ mes "You would know more about it than anyone now.";
+ next;
+ mes "[Chainheart]";
+ mes "Continue to grow your knowledge by experiencing what the world has to offer.";
+ close;
+ }
+ if(job__mechanic == 11)
+ {
+ if((Class == Job_Blacksmith || Class == Job_Whitesmith || Job_Baby_Blacksmith) && (JobLevel > 49) && (SkillPoint == 0) && (BaseLevel > 98))
+ {
+ mes "[Chainheart]";
+ mes "What is it? Is that you?";
+ mes "Oh wait, you look quite different than the last time I saw you.";
+ mes "Did something happen?";
+ next;
+ mes "[Chainheart]";
+ mes "Ahh! You went to Juperos";
+ mes "like I said. As Franklson did.";
+ next;
+ mes "[Chainheart]";
+ mes "It seems there's no need";
+ mes "for more questioning.";
+ mes "I'm certain that you've gained the knowledge to be a true mechanic.";
+ next;
+ mes "[Chainheart]";
+ mes "There's nothing I can say more.";
+ mes "You are already a great Mechanic.";
+ mes "Don't lose your nerves with the";
+ mes "title. The most important thing is that you have the knowledge.";
+ next;
+ mes "[Chainheart]";
+ mes "You don't seem to be the type to be locked up inside a lab or in a library.";
+ mes "You are a type who learns";
+ mes "by actively participating.";
+ next;
+ mes "[Chainheart]";
+ mes "I like who you are and I think we need that kind of new blood for our Mechanics.";
+ next;
+ mes "[Chainheart]";
+ mes "Science is seeking and studying things that can be proven logically.";
+ mes "Ironically enough, science usually starts from uncertain theories just like magic.";
+ next;
+ mes "[Chainheart]";
+ mes "As I said before if the passion and the talent are real there would be no problem!";
+ mes "Congratulations for walking through a new path as a Mechanic!";
+ next;
+ set job__mechanic,12;
+ completequest 10101;
+ if(Sex == 1) {
+ getitem 5749,1; //Driver_Band
+ } else {
+ getitem 5760,1; //Driver_Band_
+ }
+ getitem 2795,1; //Green_Apple_Ring
+ if(Class == Job_Baby_Blacksmith){
+ jobchange Job_Baby_Mechanic;
+ }
+ else if(Class == Job_Blacksmith) {
+ jobchange Job_Mechanic;
+ } else if(Class == Job_Whitesmith) {
+ jobchange Job_Mechanic_T;
+ }
+ mes "[Chainheart]";
+ mes "Here is, a gift.";
+ mes "If you keep this well, one day";
+ mes "you'll be thankful to me.";
+ next;
+ mes "[Chainheart]";
+ mes "Well, go. This wide world is";
+ mes "your laboratory, everything in";
+ mes "this world is going to be your";
+ mes "textbook, so let there be a silver lining in the future of Mechanics!";
+ close;
+ }
+ mes "[Chainheart]";
+ mes "If not what?";
+ close;
+ }
+ if(job__mechanic >= 3)
+ {
+ mes "[Chainheart]";
+ mes "By the way, Franklson is missing.";
+ mes "He said that he wanted to study";
+ mes "and then disappeared.";
+ mes "Where could he have gone?";
+ next;
+ mes "[Chainheart]";
+ mes "If you keep walking the way to being a Mechanic you might bump into him.";
+ mes "Fate works in weird ways friend.";
+ next;
+ mes "[Chainheart]";
+ mes "Anyway, farewell.";
+ close;
+ }
+ if(job__mechanic == 2)
+ {
+ mes "[Chainheart]";
+ mes "I think I've done all the explanations, is there anything else you want to know?";
+ next;
+ switch(select("I want to know more.:Nothing."))
+ {
+ case 1:
+ mes "[Chainheart]";
+ mes "Um..? You want to know more about magic machinery. Is that it?";
+ mes "Hmm... I told you that you are talented it's difficult.";
+ next;
+ mes "[Chainheart]";
+ mes "Well, you seem talented, so it wouldn't be bad for us if you could become a Mechanic.";
+ mes "But unfortunately it doesn't";
+ mes "work just like that.";
+ next;
+ mes "[Chainheart]";
+ mes "The mechanic scholars won't just acknowledge you that easily and hand you the knowledge without you showing true effort first.";
+ next;
+ mes "[Chainheart]";
+ mes "Of course, I'm one of those scholars so I guess I can try to consider you.";
+ next;
+ mes "[Chainheart]";
+ mes "Anyhow, I just think it's unfair to exclude someone who's talented without any test.";
+ next;
+ mes "[Chainheart]";
+ mes "Hmm...";
+ next;
+ mes "[Chainheart]";
+ mes "Actually, if somebody can't teach you, you can learn by yourself.";
+ mes "If someone else can do it then anyone can figure it out for themself too right?";
+ next;
+ mes "[Chainheart]";
+ mes "It won't be easy but if your passion is strong and your talent is real then there shouldn't be any problems.";
+ next;
+ mes "[Chainheart]";
+ mes "Come to think of it...";
+ mes "Franklson developed";
+ mes "magic machinery on his own.";
+ mes "So why don't you go to";
+ mes "the Ruins of Juperos?";
+ next;
+ mes "[Chainheart]";
+ mes "As I told you before, if your passion and talent are real, you will definitely find something.";
+ next;
+ mes "[Chainheart]";
+ mes "Find out the knowledge";
+ mes "for yourself like we did.";
+ mes "Don't just wait around for someone to teach it to you. Show the passion that you claim to have.";
+ next;
+ set job__mechanic,3;
+ changequest 10091,10092;
+ mes "[Chainheart]";
+ mes "Anyway, whatever your choice might be I expect you to do your best.";
+ close;
+ case 2:
+ mes "[Chainheart]";
+ mes "What a strange person.";
+ mes "I thought that you had what it took to be a true Mechanic.";
+ close;
+ }
+ }
+ if(job__mechanic == 1)
+ {
+ mes "[Chainheart]";
+ mes "Ok let me catch my breath.";
+ mes "You must be interested in";
+ mes "magic machinery and the";
+ mes "world of Mechanics.";
+ mes "Ok, so let me explain.";
+ next;
+ mes "[Chainheart]";
+ mes "Magic machinery was born by a fusion between machines and magic.";
+ mes "The two haven't really been connected successfully together until now.";
+ next;
+ mes "[Chainheart]";
+ mes "If you use magic machinery, you really have to be familiar with the inner workings of machines.";
+ next;
+ mes "[Chainheart]";
+ mes "It can be used effectively,";
+ mes "and you don't need to rely on something that's uncertain and unstable as magic, so what can be better than this.";
+ next;
+ mes "[Chainheart]";
+ mes "The person who invented magic machinery is Franklson, a scholar from the Schwaltzvalt Republic.";
+ next;
+ mes "[Chainheart]";
+ mes "Franklson discovered an ancient machine in the ^FF0000Ruins of Juperos^000000 and fused it with the power of magic, and that was the beginning.";
+ next;
+ mes "[Chainheart]";
+ mes "So naturally, Franklson named the newborn machine Magic Machinery.";
+ next;
+ mes "[Chainheart]";
+ mes "Anyway, since it hasn't been too well known to other places outside of Juno, the study of Magic Machinery has been progressing since.";
+ next;
+ mes "[Chainheart]";
+ mes "Because we've researched";
+ mes "Magic Machinery endlessly";
+ mes "people started calling us ^FF0000Mechanics^000000.";
+ mes "The name is self-explanatory";
+ mes "so it just stuck.";
+ next;
+ mes "[Chainheart]";
+ mes "Hmm. Well I guess I'm done explaining Magic Machinery.";
+ mes "I want to explain more but it's too technical.";
+ mes "I don't want to bore you more.";
+ next;
+ set job__mechanic,2;
+ changequest 10090,10091;
+ mes "[Chainheart]";
+ mes "Anyway if you become one of us you can form your own definition and explanation of Mechanics yourself.";
+ close;
+ }
+ if (Class == Job_Blacksmith || Class == Job_Whitesmith || Class == Job_Baby_Blacksmith)
+ {
+ if ((JobLevel > 49) && (SkillPoint == 0) && (BaseLevel > 98))
+ {
+ mes "[Chainheart]";
+ mes "At a glance, you, seem to be a very versatile person on dealing with various things.";
+ mes "You look quite skilled.";
+ mes "You can be the one.";
+ next;
+ mes "[Chainheart]";
+ mes "Ah, I didn't introduce myself.";
+ mes "I am the famous Chainheart.";
+ mes "I'm a Mechanic.";
+ mes "Well, actually I'm not that famous.";
+ next;
+ mes "[Chainheart]";
+ mes "I don't think the word Mechanic";
+ mes "is familiar to you.";
+ mes "In fact, when it comes";
+ mes "to the description,";
+ mes "it's a new job that can";
+ mes "be explained simply.";
+ next;
+ mes "[Chainheart]";
+ mes "One who studies and uses Magic Machinery, that is a Mechanic.";
+ next;
+ mes "[Chainheart]";
+ mes "So, what is the Magic Machinery that a Mechanic studies and uses?";
+ mes "That isn't as simple to explain but I'll give it a try.";
+ next;
+ setquest 10090;
+ set job__mechanic,1;
+ mes "[Chainheart]";
+ mes "Sorry, I'm starting";
+ mes "to talk too much.";
+ mes "Let me catch my";
+ mes "breath for a while.";
+ mes "If you are interested,";
+ mes "please talk to me again.";
+ close;
+ }
+ mes "[Chainheart]";
+ mes "You, look like someone who has a great sense on dealing with stuff.";
+ next;
+ mes "[Chainheart]";
+ mes "That power has been used on";
+ mes "just dealing with simple things.";
+ mes "That isn't going to give";
+ mes "you true enjoyment.";
+ next;
+ mes "[Chainheart]";
+ mes "Right... If you want to enjoy";
+ mes "true feelings of dealing and";
+ mes "a deep profoundness,";
+ mes "you need to handle";
+ mes "^FF0000Magic Machinery^000000!";
+ next;
+ mes "[Chainheart]";
+ mes "Magic Machinery hasn't been";
+ mes "in the world long, so recognizing it is not common yet.";
+ mes "It's very precise and completely different from anything you've experienced in the world.";
+ next;
+ mes "[Chainheart]";
+ mes "Yeah, and the ones who deal with magic machinery are called ^FF0000Mechanics^000000.";
+ mes "I am also the one of those honorable mechanics.";
+ next;
+ mes "[Chainheart]";
+ mes "It seems like you have what it takes to be a good mechanic.";
+ mes "Here are the basic requirements.";
+ next;
+ mes "[Chainheart]";
+ mes "If you come to me after reaching ^FF0000Base level 99^000000 and ^FF0000Job level 50^000000,";
+ mes "I will guide you to the world of Mechanics.";
+ close;
+ }
+ mes "[Chainheart]";
+ mes "Living as a Mechanic is tough,";
+ mes "but I am happy that I can";
+ mes "always do what I want.";
+ next;
+ mes "[Chainheart]";
+ mes "Don't you also want to become a Mechanic and enjoy true happiness?";
+ close;
+}
+
+jupe_cave,37,55,5 script Scholar#Mechanic 883,{
+
+ if(checkweight(1201,1) == 4 || MaxWeight - Weight < 300)
+ {
+ mes "- Wait here!! -";
+ mes "- Your pack is too heavy. -";
+ mes "- Lighten your body first-";
+ mes "- and please try again.-";
+ close;
+ }
+
+ if(job__mechanic > 10)
+ {
+ mes "[Scholar]";
+ mes "How was Juperos?";
+ mes "I am so scared that I still";
+ mes "cannot go there.";
+ close;
+ }
+
+ if(job__mechanic > 3)
+ {
+ mes "[Scholar]";
+ mes "^FF0000You won't be able to reach the destination by walking.";
+ mes "^FF0000Strong enemies are not the problem here, you just won't be able to get to the destination.";
+ mes "Please make yourself at home.^000000";
+ next;
+ mes "[Scholar]";
+ mes "However comfortable it may be,";
+ mes "I have no intention to go.";
+ next;
+ mes "[Scholar]";
+ mes "Okay then, Are you ready";
+ mes "to go to the midway point";
+ mes "at Juperos?";
+ next;
+ switch(select("I am ready!:Not yet"))
+ {
+ case 1:
+ mes "[Scholar]";
+ mes "Uh... you are acting so firmly that I regret a little that I haven't gone there.";
+ mes "Should I have gone there? Uh... It's no use crying over spilled milk!";
+ next;
+ mes "[Scholar]";
+ mes "Well, I'll send you.";
+ mes "I hope you get";
+ mes "the knowledge";
+ mes "you wanted.";
+ close2;
+ warp "jupe_core2",149,288;
+ end;
+ case 2:
+ mes "[Scholar]";
+ mes "Umm... right. Of course, it's no surprise that you are hesitant.";
+ next;
+ mes "[Scholar]";
+ mes "But, if you don't take the warp that I open for you, you won't be able to get to the destination.";
+ mes "Please don't waste your energy.";
+ next;
+ mes "[Scholar]";
+ mes "Of course, no matter how comfortable you may be I wouldn't go there.";
+ close;
+ }
+ }
+ if(job__mechanic == 3)
+ {
+ mes "[Scholar]";
+ mes "I am a scholar who came here to research the ruins here in Juperos.";
+ next;
+ mes "[Scholar]";
+ mes "But... actually when";
+ mes "I try to go further";
+ mes "I get scared.";
+ mes "I can hardly go inside.";
+ mes "What can I do?";
+ next;
+ mes "[Scholar]";
+ mes "I heard a rumor that humans";
+ mes "aren't welcome inside there.";
+ mes "But it should be very useful to study the marvelous machines in there.";
+ next;
+ mes "[Scholar]";
+ mes "Umm? Are you also going to";
+ mes "Juperos to get something?";
+ mes "I have no courage to go in there.";
+ mes "Goodluck to you.";
+ next;
+ mes "[Scholar]";
+ mes "I know the way to get to";
+ mes "the midway point and I also have";
+ mes "all the stuff I need.";
+ mes "But I'm just too scared.";
+ next;
+ mes "[Scholar]";
+ mes "So if you want, I'll send you";
+ mes "to Juperos. Mr. Elder Scholar";
+ mes "has told me how to warp to";
+ mes "the midway point to Juperos.";
+ next;
+ set job__mechanic,4;
+ mes "[Scholar]";
+ mes "It is true that it becomes easy";
+ mes "but you can't help the fear";
+ mes "it's too bad. Anyway if you are";
+ mes "ready to go please tell me.";
+ close;
+ }
+ mes "[Scholar]";
+ mes "I am a scholar who came here to research the ruins here in Juperos.";
+ next;
+ mes "[Scholar]";
+ mes "But... actually when I try to go further";
+ mes "I'm scared. I can hardly go inside.";
+ mes "What can I do?";
+ next;
+ mes "[Scholar]";
+ mes "I heard a rumor that humans aren't welcome inside there.";
+ mes "But it should be very useful to study the marvelous machines in there.";
+ close;
+}
+
+jupe_core2,149,273,3 script Ghostfire#1 802,{
+
+ if(job__mechanic == 11)
+ {
+ mes "[?]";
+ mes "I've lost my body and all that's left is my spirit in this place.";
+ mes "I will live and die here in Juperos forever...";
+ close;
+ }
+
+ if(job__mechanic == 10)
+ {
+ mes "[?]";
+ mes "That appearance... Is it so? You also gained the knowledge.";
+ mes "When the future is full of possibilities...";
+ mes "An attitude of a pure child";
+ mes "like you can do anything...";
+ next;
+ mes "[?]";
+ mes "Come to think of it now the most precious thing right now might be getting confidence rather than knowledge itself...";
+ next;
+ mes "[?]";
+ mes "Please don't make any";
+ mes "faults from now on as I did.";
+ mes "I hope you get knowledge";
+ mes "by yourself someday.";
+ next;
+ mes "[?]";
+ mes "Well then go back, find a human who knows of magic machinery and show evidence that you've gained the knowledge...";
+ next;
+ mes "[?]";
+ mes "I'm the one who lost my body";
+ mes "and my spirits are disrupted";
+ mes "I'm restricted to this place, Juperos... I will live and die with Juperos";
+ mes "Forever...";
+ next;
+ mes "[?]";
+ mes "My name... name is... Fr...";
+ close2;
+ set job__mechanic,11;
+ changequest 10100,10101;
+ warp "yuno",157,83;
+ end;
+ }
+ if(job__mechanic > 4)
+ {
+ mes "[?]";
+ mes "I've lost my body and all that's left is my spirit in this place.";
+ mes "I will live and die here in Juperos forever...";
+ close;
+ }
+ if (job__mechanic == 3 || job__mechanic == 4)
+ {
+ mes "[?]";
+ mes "Talented one.";
+ mes "Make sure there are";
+ mes "no enemies around.";
+ mes "If you focus on me,";
+ mes "you might get attacked.";
+ next;
+ switch(select("Well then, later.:Focus."))
+ {
+ case 1:
+ close;
+ case 2:
+ mes "[?]";
+ mes "I was once a human scholar.";
+ mes "I wanted to know the limitation of science that humankind didn't know of, so I learned a lot of things, studied and searched...";
+ next;
+ mes "[?]";
+ mes "That's when I discovered, the uncertain magical power.";
+ next;
+ mes "[?]";
+ mes "The thing with uncertain magic is that it is highly unstable and unpredictable.";
+ mes "During my studies I encountered a pocket of highly volatile magic.";
+ next;
+ mes "[?]";
+ mes "The only memories I have";
+ mes "are from that day forward.";
+ mes "I've been trapped here since.";
+ next;
+ mes "[?]";
+ mes "Juperos is all that I know now.";
+ mes "I'm going to die here.";
+ next;
+ mes "[?]";
+ mes "I don't know who you are...";
+ mes "I won't bother to know if you";
+ mes "want to gain some knowledge.";
+ mes "Find someone who cares.";
+ next;
+ changequest 10092,10094;
+ set job__mechanic,5;
+ mes "[?]";
+ mes "Knowledge isn't obtained from others. It is found through one's own efforts.";
+ mes "Find your own knowledge path.";
+ close;
+ }
+ }
+}
+
+jupe_core2,53,75,3 script Ghostfire#2 802,{
+
+ if(job__mechanic > 5)
+ {
+ mes "[?]";
+ mes "Juperos... I...";
+ mes "Juperos... What I want";
+ mes "exists all in here...";
+ mes "The power of science...the paradise of machines...";
+ close;
+ }
+
+ if(job__mechanic == 5)
+ {
+ mes "[?]";
+ mes "Talented one.";
+ mes "Make sure there are";
+ mes "no enemies around.";
+ mes "If you focus on me,";
+ mes "you might get attacked.";
+ next;
+ switch(select("Well then, later:Focus"))
+ {
+ case 1:
+ close;
+ case 2:
+ mes "[?]";
+ mes "When I had a body";
+ mes "I wanted to prove the";
+ mes "excellence of science";
+ mes "to the ones who only believe";
+ mes "such occult things...";
+ next;
+ mes "[?]";
+ mes "I wanted to use the power of";
+ mes "magic as a reasonable form";
+ mes "which is visible. With stronger";
+ mes "results, I wanted to control";
+ mes "the power of magic by";
+ mes "using science....";
+ next;
+ mes "[?]";
+ mes "I wanted to show that science";
+ mes "is excellent to control magic";
+ mes "like the occult. I studied a lot";
+ mes "of things and agonized over";
+ mes "making science and magic";
+ mes "co-exist.";
+ next;
+ mes "[?]";
+ mes "My research led me here,";
+ mes "Juperos. In this place there";
+ mes "are many products of science";
+ mes "that could stimulate a scholar's";
+ mes "brain...";
+ next;
+ mes "[?]";
+ mes "I found that it was possible to join the power of magic with science.";
+ mes "Even if it wasn't perfect, it appealed enough to the other scholars...";
+ next;
+ mes "[?]";
+ mes "The recent events of the world have created a confusion so my research hasn't been shared with the rest of the world.";
+ next;
+ set job__mechanic,6;
+ changequest 10094,10095;
+ mes "[?]";
+ mes "So... I came back to Juperos to continue my investigation of science and magic.";
+ close;
+ }
+ }
+}
+
+jupe_core2,242,62,3 script Ghostfire#3 802,{
+
+ if(job__mechanic > 6)
+ {
+ mes "[?]";
+ mes "I want to know more about the knowledge...";
+ mes "the features of humans...";
+ mes "The things to be done first and later...";
+ mes "The door of truth will later...";
+ close;
+ }
+
+ if(job__mechanic == 6)
+ {
+ mes "[?]";
+ mes "Talented one.";
+ mes "Make sure there are";
+ mes "no enemies around.";
+ mes "If you focus on me,";
+ mes "you might get attacked.";
+ next;
+ switch(select("Well then, later:Focus"))
+ {
+ case 1:
+ close;
+ case 2:
+ mes "[?]";
+ mes "I wasn't satisfied with my success so I came back here time and time again.";
+ next;
+ mes "[?]";
+ mes "When I stepped on a marker between 2 mechanical statues, the energy I had gathered and learned was absorbed.";
+ next;
+ mes "[?]";
+ mes "But, with that energy being absorbed, I began to gain knowledge that I never knew previously.";
+ next;
+ mes "[?]";
+ mes "But it came at a price. With the knowledge I started losing my humanity.";
+ mes "I lost my body and the only";
+ mes "thing I had was my spirit.";
+ next;
+ mes "[?]";
+ mes "I don't regret gaining the knowledge. All I wish is that I could have my body back.";
+ next;
+ set job__mechanic,7;
+ changequest 10095,10096;
+ mes "[?]";
+ mes "After I had poured my energy into the statue, I discovered that I could move my energy to different statues.";
+ close;
+ }
+ }
+}
+
+jupe_core2,29,150,1 script Foothold 139,1,1,{
+
+OnTouch:
+ if(job__mechanic == 8)
+ {
+ percentheal 0,-30;
+ mes "-Suddenly I feel power is-";
+ mes "-escaping my whole body-";
+ mes "-What is happening?-";
+ next;
+ mes "-Find the door of truth-";
+ mes "-it is the source of the-";
+ mes "-power drain.-";
+ close;
+ }
+ if(job__mechanic == 7)
+ {
+ percentheal -20,0;
+ mes "-Suddenly, an unidentified-";
+ mes "-voice is ringing in my head-";
+ mes "-What is it?-";
+ next;
+ mes "-Handling machines-";
+ mes "-absorbing magic power-";
+ mes "-a sacrificial offering-";
+ mes "-the statue of a human-";
+ next;
+ set job__mechanic,8;
+ changequest 10096,10097;
+ mes "-Most certain of all is that-";
+ mes "-I started to feel the urge-";
+ mes "-to go to the door of truth-";
+ close;
+ }
+ if(job__mechanic > 2)
+ {
+ percentheal 0,-30;
+ mes "-Suddenly I feel power is-";
+ mes "-escaping from my body-";
+ mes "-What is happening?-";
+ close;
+ }
+}
+
+jupe_core2,272,149,1 script Foothold2 139,1,1,{
+
+OnTouch:
+ if(job__mechanic == 9)
+ {
+ mes "-I had a feeling that power-";
+ mes "-has been draining out,-";
+ mes "-but now, I do not-";
+ mes "-feel anything.-";
+ next;
+ mes "-Go to the south of-";
+ mes "-the foothold quickly-";
+ close;
+ }
+ if(job__mechanic == 8)
+ {
+ percentheal -20,-30;
+ mes "-Suddenly I feel power is-";
+ mes "-escaping from my body-";
+ mes "-What is happening?-";
+ next;
+ mes "-I feel my senses-";
+ mes "-are returning to me-";
+ next;
+ donpcevent "Door::OnDoorOpen";
+ changequest 10097,10098;
+ mes "-Walk to the Door of Truth-";
+ close;
+ }
+ if(job__mechanic > 2)
+ {
+ percentheal 0,-30;
+ mes "-Suddenly I feel power is-";
+ mes "-escaping from my body-";
+ mes "-What is happening?-";
+ close;
+ }
+}
+
+jupe_core2,288,142,3 script Door 844,1,1,{
+end;
+
+OnInit:
+ disablenpc "Door";
+ end;
+
+OnDoorClose:
+ disablenpc "Door";
+ end;
+
+OnDoorOpen:
+ enablenpc "Door";
+ specialeffect EF_MAPPILLAR;
+ initnpctimer;
+ end;
+
+OnTimer180000:
+ donpcevent "Door::OnDoorClose";
+ end;
+
+OnTouch:
+ if(job__mechanic == 8)
+ {
+ mes "-Once again a voice rings out-";
+ mes "-in my head. This time it is-";
+ mes "-different than before, it is a-";
+ mes "-voice of an impressive person-";
+ next;
+ mes "I know you came this far because you want the knowledge.";
+ mes "Humans are weak animals";
+ mes "and any sacrifice is a hard";
+ mes "decision for them to make.";
+ next;
+ mes "But you are lacking something to pass through this door of truth.";
+ mes "Through this door is knowledge above all human thinking.";
+ next;
+ mes "It won't harm a human's mind if it doesn't surpass your brain capacity.";
+ next;
+ mes "Try to put your body onto the foothold of knowledge at the south.";
+ next;
+ mes "If the knowledge suits you, you'll be able to obtain it without becoming a sacrificial offering.";
+ mes "If you are unqualified, you will lose your body as a sacrifice.";
+ next;
+ mes "When you are qualified, you will be able to pass through the door of truth.";
+ mes "Till that day, don't lose yourself.";
+ next;
+ mes "............";
+ next;
+ mes "-I can't hear any voices-";
+ mes "-anymore and I can't feel-";
+ mes "-anything in this place.-";
+ next;
+ mes "-As the ringing voice in my-";
+ mes "-head instructed, let's go to-";
+ mes "-the southern marker.-";
+ set job__mechanic,9;
+ changequest 10098,10099;
+ close2;
+ donpcevent "Door::OnDoorClose";
+ end;
+ }
+end;
+}
+
+jupe_core2,149,34,1 script Acquiring Knowledge 139,1,0,{
+ end;
+OnTouch:
+ if(job__mechanic == 9)
+ {
+ mes "-The moment I stepped on-";
+ mes "-the marker the voice-";
+ mes "-didn't come into my brain-";
+ mes "-rather new knowledge-";
+ mes "-came in naturally.-";
+ next;
+ mes "-Almost instantaneously-";
+ mes "-you gained all of the-";
+ mes "knowledge that you need-";
+ mes "-to know about mechanics-";
+ mes "-and magic machinery.-";
+ next;
+ set job__mechanic,10;
+ changequest 10099,10100;
+ specialeffect EF_POTION_CON;
+ mes "-This amount of-";
+ mes "-knowledge is enough-";
+ mes "-and find a way out.-";
+ close;
+ }
+}
+
+jupe_core2,150,33,1 script Acquiring Knowledge#2 139,1,0,{
+ end;
+OnTouch:
+ if(job__mechanic == 9)
+ {
+ mes "-The moment I stepped on-";
+ mes "-the marker the voice-";
+ mes "-didn't come into my brain-";
+ mes "-rather new knowledge-";
+ mes "-came in naturally.-";
+ next;
+ mes "-Almost instantaneously-";
+ mes "-you gained all of the-";
+ mes "knowledge that you need-";
+ mes "-to know about mechanics-";
+ mes "-and magic machinery.-";
+ next;
+ set job__mechanic,10;
+ changequest 10099,10100;
+ specialeffect EF_POTION_CON;
+ mes "-This amount of-";
+ mes "-knowledge is enough-";
+ mes "-and find a way out.-";
+ close;
+ }
+}
+
+jupe_core2,0,0,0,0 monster Dimik 1669,100,0,0,0 \ No newline at end of file
diff --git a/npc/re/jobs/3-1/ranger.txt b/npc/re/jobs/3-1/ranger.txt
new file mode 100644
index 000000000..84e453e35
--- /dev/null
+++ b/npc/re/jobs/3-1/ranger.txt
@@ -0,0 +1,3218 @@
+//===== rAthena Script =======================================
+// Ranger Job change Quest
+//===== By: ==================================================
+//= Masao
+//= Credits: Muad_Dib
+//===== Current Version: =====================================
+//= 1.3
+//===== Compatible With: =====================================
+//= Any rAthena SVN
+//===== Description: =========================================
+//= [Translated from the Official]
+//= Job change Quest from Hunter / Sniper -> Ranger.
+//===== Additional Comments: =================================
+//= 1.0 First Version.
+//= 1.1 Updated SC_STONE duration from 2 Seconds to 2 Minutes
+//= and fixed Mercenary check.
+//= 1.2 Fixed first Quest so that when a false poring got killed
+//= it decreases the total points by 1 also commented the SC_STONE
+//= part until M_DESERT_WOLF_B Mercenary is fully working.
+//= 1.3 Fixed waves not being announced and counted [Elias]
+//============================================================
+
+tur_dun01,156,36,5 script Survival Instructor#jr01 59,{
+
+ if (Class == Job_Hunter || Class == Job_Sniper || Class == Job_Baby_Hunter)
+ {
+ if (job_ranger01 < 1)
+ {
+ mes "[Survival Instructor, Rescue]";
+ mes "The weather is really great.";
+ next;
+ mes "[Survival Instructor, Rescue]";
+ mes "What's up?";
+ mes "The monsters here are a";
+ mes "little tough so be careful.";
+ next;
+ switch(select("I came here to become a Ranger.:I just came to look around."))
+ {
+ case 1:
+ break;
+ case 2:
+ mes "[Survival Instructor, Rescue]";
+ mes "Oh ya.?";
+ mes "The weather is really great. Shall we take a picture to commemorate it?";
+ next;
+ mes "[Survival Instructor, Rescue]";
+ mes "No?";
+ mes "Then just look around quietly and then go back.";
+ close;
+ }
+ mes "[Survival Instructor, Rescue]";
+ mes "Huh?";
+ mes "How did you find me?";
+ next;
+ mes "[Survival Instructor, Rescue]";
+ mes "Well, it's a passing mark that you recognize me... let me see.";
+ next;
+ if ((BaseLevel > 98) && (JobLevel > 49))
+ {
+ mes "[Survival Instructor, Rescue]";
+ mes "Ok!";
+ mes "It looks like you have";
+ mes "enough experience.";
+ next;
+ }else{
+ mes "[Survival Instructor, Rescue]";
+ mes "No.";
+ mes "I can tell just by looking at you that you seem to be inexperienced.";
+ next;
+ mes "[Survival Instructor, Rescue]";
+ mes "Have more pride in your job and get more experience, and then when you grow as a Hunter or a Sniper you can make an aura by yourself, please come back again.";
+ close;
+ }
+ mes "[Survival Instructor, Rescue]";
+ mes "Good.";
+ mes "First of all,let me tell you the job change qualifications to be a Ranger.";
+ next;
+ mes "[Survival Instructor, Rescue]";
+ mes "I've already checked the first qualification that you've experienced enough to make an aura as a Hunter or a Sniper.";
+ next;
+ mes "[Survival Instructor, Rescue]";
+ mes "For the second qualification to judge one's ability exactly, you need to lighten your body and mind.";
+ next;
+ if (Class == Job_Hunter || Class == Job_Baby_Hunter)
+ {
+ mes "[Survival Instructor, Rescue]";
+ mes "Ah wait, before that.";
+ mes "When you change jobs into a Ranger from a Hunter, you won't get any chance to learn the skills of a Sniper, is that okay with you?";
+ next;
+ switch(select("I'll think about it more.:I want to be a Ranger already."))
+ {
+ case 1:
+ mes "[Survival Instructor]";
+ mes "Okay.";
+ mes "Take your time to think, if it's okay then come back.";
+ close;
+ case 2:
+ mes "[Survival Instructor, Rescue]";
+ mes "All right.";
+ mes "You are ready then.";
+ next;
+ break;
+ }
+ mes "[Survival Instructor, Rescue]";
+ mes "Well let's continue our conversation.";
+ mes "Before you change into a Ranger, even though you reached the highest level of a Hunter, it is not the best evaluation of your abilities.";
+ next;
+ mes "[Survival Instructor]";
+ mes "So in order to check your abilities, I'll need to evaluate your pure abilities.~";;
+ next;
+ } else {
+ mes "[Survival Instructor]";
+ mes "Before you change into a Ranger, even though you reached the highest level of a Sniper, it is not the best evaluation of your abilities.";
+ next;
+ mes "[Survival Instructor]";
+ mes "So in order to check your abilities, I'll need to evaluate your pure abilities.~";
+ next;
+ }
+ mes "[Survival Instructor, Rescue]";
+ mes "To do this you need to be cleansed of body and soul.";
+ mes "Make sure that your weight equals '0' to continue.";
+ set job_ranger01,1;
+ setquest 8254;
+ close2;
+ warp "alberta",117,57;
+ end;
+ }
+ else if (job_ranger01 == 1)
+ {
+ if (Weight < 1)
+ {
+ mes "[Survival Instructor, Rescue]";
+ mes "Wow you've come back so quickly.";
+ next;
+ mes "[Survival Instructor, Rescue]";
+ mes "Ok, now I'll talk about the requirements to take the test to become a Ranger.";
+ next;
+ mes "[Survival Instructor, Rescue]";
+ mes "All the tests to become a Ranger are going to be done with practical means.";
+ next;
+ mes "[Survival Instructor, Rescue]";
+ mes "Will there be a written test?";
+ next;
+ mes "[Survival Instructor, Rescue]";
+ mes "Why do you want one?";
+ mes "The most important part of this test is the test of your experience on the battlefield.";
+ next;
+ mes "[Survival Instructor, Rescue]";
+ mes "Therefore, what I request of you is to prove your power of survival.";
+ next;
+ mes "[Survival Instructor, Rescue]";
+ mes "I want to see the real power of survival, even if you fall down and get beat up.";
+ next;
+ mes "[Survival Instructor, Rescue]";
+ mes "If you succeed with this survival power test, you will receive the first qualification.";
+ next;
+ mes "[Survival Instructor, Rescue]";
+ mes "Well, let's talk about the details when you get the qualification for taking the test.";
+ mes "When you want to take the survival power test, please talk to me again.";
+ set job_ranger01,2;
+ changequest 8254,8255;
+ close;
+ }
+ mes "[Survival Instructor, Rescue]";
+ mes "Before you change into a Ranger, I'll need to evaluate your pure abilities.";
+ next;
+ mes "[Survival Instructor, Rescue]";
+ mes "To do this you need to be cleansed of body and soul.";
+ mes "Make sure that your weight equals 0 to continue.";
+ close2;
+ warp "alberta",117,57;
+ end;
+ }
+ else if (job_ranger01 == 2)
+ {
+ if (Weight < 1)
+ {
+ mes "[Survival Instructor, Rescue]";
+ mes "Um. That you talked to me again means that you are determined to change into a Ranger and take the survival power test.";
+ next;
+ switch(select("I'll think about it more:I'll take the test"))
+ {
+ case 1:
+ mes "[Survival Instructor, Rescue]";
+ mes "Prepare yourself very well before taking this test.";
+ next;
+ mes "[Survival Instructor, Rescue]";
+ mes "Think about it well and come back.";
+ close;
+ case 2:
+ break;
+ }
+ mes "[Survival Instructor, Rescue]";
+ mes "If you are determined, then there's nothing to wait for.";
+ next;
+ mes "[Survival Instructor, Rescue]";
+ mes "I'll explain it simply.";
+ mes "What I'm going to provide you is 10 Fly Wings, 500 of Arrows and 1 test Bow.";
+ next;
+ mes "[Survival Instructor, Rescue]";
+ mes "Take the provided items and all you have to do for the survival power test is ^0000ffgo to the Northwestern area of Turtle Island and find Instructor Teardrop^000000.";
+ mes "Easy, right?";
+ next;
+ mes "[Survival Instructor, Rescue]";
+ mes "Remember that you don't have any other equipment on, so be careful of the monsters.";
+ mes "Ready to start?";
+ next;
+ switch(select("Wait a second:Yes, I'm ready"))
+ {
+ case 1:
+ mes "[Survival Instructor, Rescue]";
+ mes "What kind of preparation can be so long.";
+ next;
+ mes "[Survival Instructor, Rescue]";
+ mes "Come again when you are absolutely ready.";
+ close;
+ case 2:
+ break;
+ }
+ mes "[Survival Instructor, Rescue]";
+ mes "Well, then let's start.";
+ mes "There's no time to hesitate.";
+ mes "Do your best.";
+ set job_ranger01,3;
+ changequest 8255,8256;
+ getitem 1703,1;
+ getitem 12323,10;
+ getitem 1750,500;
+ close;
+ }
+ mes "[Survival Instructor, Rescue]";
+ mes "I knew it.";
+ next;
+ mes "[Survival Instructor, Rescue]";
+ mes "Why did you bring so much?";
+ mes "It's good that you do your best on the job change but, the key to this test is to test our true abilities...";
+ next;
+ mes "[Survival Instructor, Rescue]";
+ mes "If you don't make your weight 0, you wouldn't be able to take the test.";
+ close;
+ }
+ else if (job_ranger01 == 3)
+ {
+ mes "[Survival Instructor, Rescue]";
+ mes "Umm?";
+ mes "What are you waiting for?";
+ next;
+ switch(select("Tell me the mission again.:I just wanted to talk."))
+ {
+ case 1:
+ mes "[Survival Instructor, Rescue]";
+ mes "Oh, ya.";
+ mes "Is this the mind of a person who's going to take the test?";
+ next;
+ mes "[Survival Instructor, Rescue]";
+ mes "Stay alert and listen.";
+ next;
+ mes "[Survival Instructor, Rescue]";
+ mes "Take the provided items and all you have to do for the survival power test is ^0000ffgo to the Northwestern area of Turtle Island and find Instructor Teardrop^000000.";
+ mes "Isn't that so easy?";
+ next;
+ mes "[Survival Instructor, Rescue]";
+ mes "As you don't have any equipment on, be careful of the monsters in the field.";
+ mes "Well, shall we start?";
+ next;
+ switch(select("Wait a minute:I will start"))
+ {
+ case 1:
+ mes "[Survival Instructor, Rescue]";
+ mes "What kind of preparation can be so long.";
+ next;
+ mes "[Survival Instructor, Rescue]";
+ mes "Come again when you are absolutely ready.";
+ close;
+ case 2:
+ break;
+ }
+ mes "[Survival Instructor, Rescue]";
+ mes "Okay, let's start.";
+ mes "There's no time to hesitate, so do your best.";
+ close;
+ case 2:
+ break;
+ }
+ mes "[Survival Instructor, Rescue]";
+ mes "I don't think you have the time for that.";
+ next;
+ mes "[Survival Instructor, Rescue]";
+ mes "Hurry up and finish the test.";
+ close;
+ }
+ else if ((job_ranger01 > 3) && (job_ranger01 < 7))
+ {
+ mes "[Survival Instructor, Rescue]";
+ mes "Are you still wandering about here?";
+ next;
+ mes "[Survival Instructor, Rescue]";
+ mes "Well, if you are an easy person, that's none of my business but if you decided once, wouldn't it be better to take the practical test in a minute and meet me after becoming a Ranger?";
+ close;
+ }
+ else if (job_ranger01 == 7)
+ {
+ mes "[Survival Instructor, Rescue]";
+ mes "Oh, hey. What are you doing here?";
+ next;
+ mes "[Survival Instructor, Rescue]";
+ mes "Because you've disappeared suddenly, the Ranger Master was looking for you.";
+ mes "Dou you want to go to him now?";
+ next;
+ switch(select("Don't go:Go"))
+ {
+ case 1:
+ mes "[Survival Instructor, Rescue]";
+ mes "Are you busy with something else?";
+ close;
+ case 2:
+ mes "[Survival Instructor, Rescue]";
+ mes "Then I'll send you, please be well.";
+ close2;
+ warp "job3_rang01",89,38;
+ end;
+ }
+ }
+ else if (job_ranger01 > 7)
+ {
+ mes "[Survival Instructor, Rescue]";
+ mes "Umm, who's there?";
+ next;
+ mes "[Survival Instructor, Rescue]";
+ mes "Hey, you look great.";
+ mes "Congratulations on becoming a Ranger~";
+ next;
+ mes "[Survival Instructor, Rescue]";
+ mes "Next time, try not to intimidate other people.";
+ close;
+ }
+ mes "[Survival Instructor, Rescue]";
+ mes "Umm, who's there?";
+ next;
+ mes "[Survival Instructor, Rescue]";
+ mes "Hey, you look great.";
+ mes "Congratulations on becoming a Ranger~";
+ next;
+ mes "[Survival Instructor, Rescue]";
+ mes "Next time, try not to intimidate other people.";
+ close;
+ }
+ else if (Class == 4056 || Class == 4062)
+ {
+ if (job_ranger01 == 8)
+ {
+ mes "[Survival Instructor, Rescue]";
+ mes "Umm, who's there?";
+ mes "You really look like a talented...";
+ next;
+ mes "[Survival Instructor, Rescue]";
+ mes "Next time, try not to intimidate other people.";
+ close;
+ }
+ }
+ mes "[Survival Instructor, Rescue]";
+ mes "Ha ~ ha.";
+ mes "The weather is really great.";
+ next;
+ mes "[Survival Instructor, Rescue]";
+ mes "What's up?";
+ mes "The monsters here are a";
+ mes "little tough so be careful.";
+ close;
+}
+
+tur_dun01,91,169,3 script Test Instructor#jr02 732,{
+
+ if (Class == Job_Hunter || Class == Job_Sniper || Class == Job_Baby_Hunter)
+ {
+ if (job_ranger01 < 3)
+ {
+ mes "[Test Instructor, Teardrop]";
+ mes "Good to goooooo!!!!!!!";
+ next;
+ mes "[Test Instructor, Teardrop]";
+ mes "Huh? Who are you? What are you doing here, you baby archer.";
+ next;
+ mes "[Test Instructor, Teardrop]";
+ mes "May I tell you one thing?";
+ mes "If you want to change a job to a Ranger, first talk to Survival Instructor Rescue.";
+ next;
+ mes "[Test Instructor, Teardrop]";
+ mes "Then he will tell you the requirement for the job change test!!!";
+ close;
+ }
+ else if (job_ranger01 == 3)
+ {
+ mes "[Test Instructor, Teardrop]";
+ mes "Good to goooooo!!!!!!!";
+ next;
+ mes "[Test Instructor, Teardrop]";
+ mes "Huh? Who are you? What are you wandering about here, you baby archer.";
+ next;
+ mes "[Test Instructor, Teardrop]";
+ mes "That you are coming and going bugs me so, would you please stop?!";
+ next;
+ switch(select("Ranger practical test building?:I came for the test."))
+ {
+ case 1:
+ mes "[Test Instructor, Teardrop]";
+ mes "What, what are you...?";
+ next;
+ mes "[Test Instructor, Teardrop]";
+ mes "What do you think you are looking at?";
+ next;
+ mes "[Test Instructor, Teardrop]";
+ mes "How could you be a Ranger if you can't even recognize what's in front of you? Get out of here!";
+ close;
+ case 2:
+ break;
+ }
+ mes "[Test Instructor, Teardrop]";
+ mes "Ho, having come this far, it means you've passed the first survival test.";
+ next;
+ mes "[Test Instructor, Teardrop]";
+ mes "But, can you be sure that there wasn't any cheating?";
+ next;
+ if (Weight > 501)
+ {
+ mes "[Test Instructor, Teardrop]";
+ mes "Hmm. It's doubtful...";
+ next;
+ mes "[Test Instructor, Teardrop]";
+ mes "See, I knew it.";
+ next;
+ mes "[Test Instructor, Teardrop]";
+ mes "Having done the test normally, you would have adjusted your weight to 0, and hold the items provided by Rescue!";
+ mes "But, how come you weigh so much?";
+ next;
+ mes "[Test Instructor, Teardrop]";
+ mes "I consider this as cheating!";
+ mes "Come and see me again!";
+ close2;
+ warp "tur_dun01",162,33;
+ end;
+ }
+ mes "[Test Instructor, Teardrop]";
+ mes "I don't smell any signs of cheating. For now...";
+ next;
+ mes "[Test Instructor, Teardrop]";
+ mes "Before taking a practical test, I want to eat something.";
+ mes "You know the food situation isn't always so good in a foreign land.";
+ next;
+ mes "[Test Instructor, Teardrop]";
+ mes "I know that the very basic way to survive might be raising the strength of one's own body. But, I find that sending adventurers is easier for me.";
+ next;
+ mes "[Test Instructor, Teardrop]";
+ mes "So, kill ^0000ff1 Dragon Tail^000000 and bring me ^0000ff1 Wing of Dragonfly^000000.";
+ next;
+ mes "[Test Instructor, Teardrop]";
+ mes "If you run out of the provided items, we cannot support you more so take care.";
+ mes "Consider this as an extension of the survival power test.";
+ set job_ranger01,4;
+ changequest 8256,8257;
+ close;
+ }
+ else if(job_ranger01 == 4)
+ {
+ if (checkquest(8257) == 1)
+ {
+ if (countitem(7064) > 0)
+ {
+ mes "[Test Instructor, Teardrop]";
+ mes "Oh! Oh! Woooooow!";
+ mes "You've brought it! Let me see...";
+ next;
+ mes "[Test Instructor, Teardrop]";
+ mes "Hmmmm, it's still hot?!";
+ mes "You don't seem to be hurt anywhere...";
+ next;
+ mes "[Test Instructor, Teardrop]";
+ mes "Good, for now you're qualified for the practical test.";
+ next;
+ mes "[Test Instructor, Teardrop]";
+ mes "Well, before I explain, could you please give me that Dragonfly wing?";
+ mes "You've heard the saying, 'in any situation, eating comes first'?";
+ delitem 7064,1;
+ set job_ranger01,5;
+ changequest 8257,8258;
+ close;
+ }
+ mes "[Test Instructor, Teardrop]";
+ mes "What are you doing there? Standing with a blank look.";
+ next;
+ mes "[Test Instructor, Teardrop]";
+ mes "I'm hungry.";
+ mes "Before taking the practical test, I want to eat something.";
+ next;
+ mes "[Test Instructor, Teardrop]";
+ mes "I know that the very basic way to survive might be raising the strength of one's own body. But, I find that sending adventurers is easier for me.";
+ next;
+ mes "[Test Instructor, Teardrop]";
+ mes "So, kill ^0000ff1 Dragon Tail^000000 and bring me ^0000ff1 Dragon Fly Wing^000000.";
+ next;
+ mes "[Test Instructor, Teardrop]";
+ mes "If you run out of the provided items, we cannot support more so take care.";
+ mes "Consider this as an extension of the survival power test.";
+ close;
+ }
+ mes "[Test Instructor, Teardrop]";
+ mes "What are you doing there? Standing with a blank look.";
+ next;
+ mes "[Test Instructor, Teardrop]";
+ mes "I'm hungry.";
+ mes "Before taking the practical test, I want to eat something.";
+ next;
+ mes "[Test Instructor, Teardrop]";
+ mes "I know that the very basic way to survive might be raising the strength of one's own body. But, I find that sending adventurers is easier for me.";
+ next;
+ mes "[Test Instructor, Teardrop]";
+ mes "So, kill ^0000ff1 Dragon Tail^000000 and bring me ^0000ff1 Dragon Fly Wing^000000.";
+ next;
+ mes "[Test Instructor, Teardrop]";
+ mes "If you run out of the provided items, we cannot support more so take care.";
+ mes "Consider this as an extension of the survival power test.";
+ close;
+ }
+ else if (job_ranger01 == 5)
+ {
+ mes "[Test Instructor, Teardrop]";
+ mes "Awooo. Yumyum.";
+ mes "Eh? What are you looking at?";
+ mes "You want to eat some?";
+ next;
+ switch(select("Oh, just eat up:..."))
+ {
+ case 1:
+ mes "[Test Instructor, Teardrop]";
+ mes "Why aren't you eating?";
+ mes "It's quite edible.";
+ mes "If you cover it with rice, it's like roasted seaweed, very tasty and delicious.";
+ next;
+ mes "[Test Instructor, Teardrop]";
+ mes "You need to be strong enough not to be so picky with such things...";
+ next;
+ break;
+ case 2:
+ mes "["+strcharinfo(0)+"]";
+ mes "No thanks... anyway...";
+ next;
+ mes "[Test Instructor, Teardrop]";
+ mes "Hmm? Oh my, oh my, I've shown you my sloppiness.";
+ next;
+ break;
+ }
+ mes "[Test Instructor, Teardrop]";
+ mes "Ok, I'll send you to the practical test field.";
+ next;
+ mes "[Test Instructor, Teardrop]";
+ mes "The practical test consists of 3 parts in total.";
+ mes "It's to recheck the things you've learned as a hunter or a sniper, so there's nothing much to be worried.";
+ next;
+ mes "[Test Instructor, Teardrop]";
+ mes "If you get a passing mark over three tests, you'll be on your way to becoming a Ranger.";
+ next;
+ mes "[Test Instructor, Teardrop]";
+ mes "I'll explain the paths for the test.";
+ next;
+ mes "[Test Instructor, Teardrop]";
+ mes "Once you get into the test field, a staff will be waiting for you. Go into the room made by the staff, and standby.";
+ next;
+ mes "[Test Instructor, Teardrop]";
+ mes "The test is done one by one so, if there's many people, you might need to wait.";
+ next;
+ mes "[Test Instructor, Teardrop]";
+ mes "The first test is to test of how keen your eyes are.";
+ mes "Different monsters will appear in 8 places. Kill only the monster named 'Poring' and you get a point, when you reach a certain mark, then you pass. Easy, huh?";
+ next;
+ mes "[Test Instructor, Teardrop]";
+ mes "The second test is about how much you can use a trap efficiently.";
+ mes "Get rid of monsters and do the mission by using only the provided traps, and you pass. Just be careful not to be engulfed by the explosion.";
+ next;
+ mes "[Test Instructor, Teardrop]";
+ mes "For the 3rd test, when you become a Ranger you can handle a wolf, so you will be tested on how well you can handle such an animal.";
+ next;
+ mes "[Test Instructor, Teardrop]";
+ mes "When you remove a bomb by using the given wolf, you get points. You pass when you get a certain mark on the test.";
+ next;
+ mes "[Test Instructor, Teardrop]";
+ mes "The staff there will tell you more details as well.";
+ next;
+ mes "[Test Instructor, Teardrop]";
+ mes "Now, I will enter you into the practical test field, is your preparation all done?";
+ next;
+ switch(select("Please wait a little:Let's go to the practical test field!"))
+ {
+ case 1:
+ mes "[Test Instructor, Teardrop]";
+ mes "Um? Aren't you ready?";
+ next;
+ mes "[Test Instructor, Teardrop]";
+ mes "Well. To be careful is good.";
+ mes "Come back when you are ready.";
+ close;
+ case 2:
+ if (getmercinfo(1) > 0)
+ {
+ mes "[Test Instructor, Teardrop]";
+ mes "Stop!";
+ next;
+ mes "[Test Instructor, Teardrop]";
+ mes "Where do you think you're going with the mercenary?!";
+ next;
+ mes "[Test Instructor, Teardrop]";
+ mes "If you don't cancel the mercenary, you cannot get into the test field! Cancel it first!";
+ close;
+ }
+ if (Weight > 501)
+ {
+ mes "[Test Instructor, Teardrop]";
+ mes "See, for the last time, I warn you that cheating is strictly banned.";
+ next;
+ mes "[Test Instructor, Teardrop]";
+ mes "Well, then let's gooooooooo.... oo,um?";
+ next;
+ mes "[Test Instructor, Teardrop]";
+ mes "Hey, what are you hiding there?";
+ mes "I've pointed it out for several times, you should not even think to go in there secretly with anything other than the provided items!";
+ next;
+ mes "[Test Instructor, Teardrop]";
+ mes "You'd better lighten your weight.";
+ close;
+ }
+ }
+ if (countitem(1750) > 99)
+ {
+ mes "[Test Instructor, Teardrop]";
+ mes "Good luck.";
+ mes "Be a ranger and we shall meet again.";
+ set job_ranger01,6;
+ changequest 8258,8259;
+ close2;
+ warp "job3_rang01",30,36;
+ end;
+ }
+ mes "[Test Instructor, Teardrop]";
+ mes "Okay, once again I'll provide you with arrows, then I'll let you in.";
+ next;
+ mes "[Test Instructor, Teardrop]";
+ mes "Good luck.";
+ mes "Be a ranger and we shall meet again.";
+ set job_ranger01,6;
+ changequest 8258,8259;
+ getitem 1750,100;
+ close;
+ warp "job3_rang01",30,36;
+ end;
+ }
+ else if (job_ranger01 == 6)
+ {
+ mes "[Test Instructor, Teardrop]";
+ mes "Good to goooooo!!!!!!!";
+ next;
+ mes "[Test Instructor, Teardrop]";
+ mes "Um? What happened?";
+ mes "Why are you walking about here? What about the test?";
+ next;
+ mes "[Test Instructor, Teardrop]";
+ mes "Aha.. You've failed the middle!";
+ mes "You are such a fool.";
+ emotion 4;
+ next;
+ mes "[Test Instructor, Teardrop]";
+ mes "So what are you going to do? Try again?";
+ next;
+ switch(select("Wait a minute:Go to the practical test field!:I give up the job change."))
+ {
+ case 1:
+ mes "[Test Instructor, Teardrop]";
+ mes "Um? Aren't you ready yet?";
+ next;
+ mes "[Test Instructor, Teardrop]";
+ mes "All right. To be careful is good.";
+ mes "Come when you are ready.";
+ close;
+ case 2:
+ if (getmercinfo(1) > 0)
+ {
+ mes "[Test Instructor, Teardrop]";
+ mes "Stop!";
+ next;
+ mes "[Test Instructor, Teardrop]";
+ mes "Where do you think you're going with the mercenary?!";
+ next;
+ mes "[Test Instructor, Teardrop]";
+ mes "If you don't cancel the mercenary, you cannot get into the test field! Cancel it first!";
+ close;
+ }
+ if (countitem(12380) > 0)
+ {
+ mes "[Test Instructor, Teardrop]";
+ mes "What, What is this?";
+ mes "You shouldn't keep this around!";
+ delitem 12380,countitem(12380);
+ close;
+ }
+ if(countitem(12258) > 0)
+ {
+ mes "[Test Instructor, Teardrop]";
+ mes "What, What is this, a Bombring Capsule.";
+ mes "You shouldn't keep such a dangerous thing!";
+ delitem 12258,countitem(12258);
+ close;
+ }
+ if(countitem(6156) > 0)
+ {
+ mes "[Test Instructor, Teardrop]";
+ mes "What, what are all these Documents?";
+ mes "I think I know. You were going to send this to Caution, right?";
+ next;
+ mes "[Test Instructor, Teardrop]";
+ mes "If you hold such thing it would disturb your practical test so I'll take this.";
+ delitem 6156,countitem(6156);
+ close;
+ }
+ if (Weight > 501)
+ {
+ mes "[Test Instructor, Teardrop]";
+ mes "See, for the last time, I warn you that cheating is strictly banned.";
+ next;
+ mes "[Test Instructor, Teardrop]";
+ mes "Well, then let's gooooooooo.... oo,um?";
+ next;
+ mes "[Test Instructor, Teardrop]";
+ mes "Hey, what are you hiding there?";
+ mes "I've pointed it out for several times, you should not even think to go in there secretly with anything other than the provided items!";
+ next;
+ mes "[Test Instructor, Teardrop]";
+ mes "You'd better lighten your weight.";
+ close;
+ }
+ break;
+ case 3:
+ mes "[Test Instructor, Teardrop]";
+ mes "Um? What, you're kidding huh?";
+ next;
+ mes "[Test Instructor, Teardrop]";
+ mes "Think again.";
+ mes "Do you really want to give up the job change to become a Ranger?";
+ next;
+ switch(select("No, I'll try again:I give up!"))
+ {
+ case 1:
+ break;
+ case 2:
+ mes "[Test Instructor, Teardrop]";
+ mes "You don't have as many guts as I thought.";
+ nude;
+ next;
+ if (countitem(1703) > 0)
+ {
+ mes "[Test Instructor, Teardrop]";
+ mes "Okay. I'll respect your opinion.";
+ mes "I'll cancel the job change request from "+strcharinfo(0)+".";
+ delitem 1703,1;
+ set job_ranger01,0;
+ erasequest 8254;
+ erasequest 8255;
+ erasequest 8256;
+ erasequest 8257;
+ erasequest 8258;
+ erasequest 8259;
+ erasequest 8260;
+ erasequest 8261;
+ erasequest 8262;
+ close;
+ }
+ mes "[Test Instructor, Teardrop]";
+ mes "Huh? I gave you a Bow for your practical tests. Where is it?";
+ next;
+ mes "[Test Instructor, Teardrop]";
+ mes "If you don't give it to me, I can't cancel you job change request.";
+ close;
+ }
+ mes "[Test Instructor, Teardrop]";
+ mes "Hey. You were kidding after all?";
+ next;
+ mes "[Test Instructor, Teardrop]";
+ mes "It's not funny so don't do that kind of joke again.";
+ close;
+ }
+ if (countitem(1750) > 99)
+ {
+ mes "[Test Instructor, Teardrop]";
+ mes "Good luck.";
+ mes "Be a ranger and we shall meet again.";
+ erasequest 8260;
+ erasequest 8261;
+ set job_ranger01,6;
+ close2;
+ warp "job3_rang01",30,36;
+ end;
+ }
+ mes "[Test Instructor, Teardrop]";
+ mes "Okay, once again I'll provide you with arrows, then I'll let you in.";
+ next;
+ mes "[Test Instructor, Teardrop]";
+ mes "Good luck.";
+ mes "Be a ranger and we shall meet again.";
+ erasequest 8260;
+ erasequest 8261;
+ set job_ranger01,6;
+ getitem 1750,100;
+ close2;
+ warp "job3_rang01",30,36;
+ end;
+ }
+ else if (job_ranger01 == 7)
+ {
+ mes "[Test Instructor, Teardrop]";
+ mes "Oh, hey. What are you doing here?";
+ next;
+ mes "[Test Instructor, Teardrop]";
+ mes "Because you've disappeared suddenly, the Ranger Master was looking for you.";
+ mes "Dou you want to go to him now?";
+ next;
+ switch(select("Don't go:Go"))
+ {
+ case 1:
+ mes "[Test Instructor, Teardrop]";
+ mes "Are you busy with something else?";
+ close;
+ case 2:
+ break;
+ }
+ mes "[Test Instructor, Teardrop]";
+ mes "Then I'll send you, please be well.";
+ close;
+ warp "job3_rang01",89,38;
+ end;
+ }
+ else if(job_ranger01 > 7)
+ {
+ mes "[Test Instructor, Teardrop]";
+ mes "Good to gooooooooooooooo!!!!!!";
+ next;
+ mes "[Test Instructor, Teardrop]";
+ mes "Huh? What are you? Where you from?";
+ mes "Don't hang around here doing nothing. This is my area!";
+ close;
+ }
+ mes "[Test Instructor, Teardrop]";
+ mes "Good to gooooooooooooooo!!!!!!";
+ next;
+ mes "[Test Instructor, Teardrop]";
+ mes "Huh? What are you? Where you from?";
+ mes "Don't hang around here doing nothing. This is my area!";
+ close;
+ }
+ mes "[Test Instructor]";
+ mes "No way !!!!";
+ next;
+ mes "[Test Instructor]";
+ mes "Huh? What are you? Where you from?";
+ mes "Don't hang around here doing nothing. This is my area!";
+ close;
+}
+
+job3_rang01,30,40,3 script Practical Test 111,{
+
+OnInit:
+ disablenpc "Practical Test";
+ waitingroom "Practical Test Waiting Room",20,"Practical Test::OnStartArena",1;
+ enablewaitingroomevent;
+ end;
+
+OnStartArena:
+ warpwaitingpc "job3_rang02",45,48;
+ donpcevent "Test Supervisor#jr_04::OnEnable";
+ disablewaitingroomevent;
+ end;
+
+OnEnable:
+ enablewaitingroomevent;
+ end;
+
+OnDisable:
+ disablewaitingroomevent;
+ end;
+}
+
+job3_rang01,30,44,3 script Test Waiting Room#jr_03 88,{
+
+
+ mes "[Staff DTS]";
+ mes "Please wait at the practical test waiting room to start the test process.";
+ next;
+ mes "[Staff DTS]";
+ mes "In the order you enter, you can take the practical test one by one.";
+ mes "There's 3 kinds of a Ranger job change practical tests, it takes a total of about 10 minutes.";
+ next;
+ switch(select("Test explanation:Cancel:I give up the Ranger test"))
+ {
+ case 1:
+ break;
+ case 2:
+ mes "[Staff DTS]";
+ mes "Don't you need any explanation?";
+ next;
+ mes "[Staff DTS]";
+ mes "Enter into the chat room and wait for the order and take the job change practical test.";
+ close;
+ case 3:
+ mes "[Staff DTS]";
+ mes "Please think about it again.";
+ mes "If you give up here, your job change request will be cancelled. Do you really want to give up the job change to a Ranger?";
+ next;
+ switch(select("No, I'll continue with the test:I give up the Ranger job change"))
+ {
+ case 1:
+ break;
+ case 2:
+ mes "[Staff DTS]";
+ mes "You don't have as many guts as I thought.";
+ nude;
+ next;
+ if (countitem(1703) > 0)
+ {
+ mes "[Staff DTS]";
+ mes "Okay. I'll respect your opinion.";
+ mes "I'll cancel the job change request from "+strcharinfo(0)+".";
+ delitem 1703,1;
+ set job_ranger01,0;
+ erasequest 8254;
+ erasequest 8255;
+ erasequest 8256;
+ erasequest 8257;
+ erasequest 8258;
+ erasequest 8259;
+ erasequest 8260;
+ erasequest 8261;
+ erasequest 8262;
+ close2;
+ warp "alberta",117,57;
+ end;
+ }
+ mes "[Staff DTS]";
+ mes "Where is your test Bow?";
+ next;
+ mes "[Staff DTS]";
+ mes "Return it to me, or I can't cancel your job change request.";
+ close;
+ }
+ mes "[Staff DTS]";
+ mes "If you want to continue with the practical test, please enter into the chat room.";
+ close;
+ }
+ mes "[Staff DTS]";
+ mes "I'll explain the Ranger job change practical test.";
+ mes "Among the 1st, 2nd, and 3rd practical tests, which one's test method are you curious of?";
+ next;
+ switch(select("1st Test:2nd Test:3rd Test:Cancel"))
+ {
+ case 1:
+ mes "[Staff DTS]";
+ mes "For the 1st test, we test your eyesight and accuracy.";
+ next;
+ mes "[Staff DTS]";
+ mes "Monsters appear randomly from 8 sides of the left, right, up and down of the player, among them if you get rid of a monster named 'Poring' you get a point.";
+ next;
+ mes "[Staff DTS]";
+ mes "^0000ffWhatever the form looks like, you need to kill the monster named 'Poring' to get a point, and if you get rid of others your points get deducted, so be careful.^000000";
+ next;
+ mes "[Staff DTS]";
+ mes "The 1st test progressing time will be about 3 minutes. When you get 15 points or more over 20, you are sent to 2nd test field.";
+ close;
+ case 2:
+ mes "[Staff DTS]";
+ mes "The 2nd test is to test the mission performance ability and the efficient use of a trap.";
+ next;
+ mes "[Staff DTS]";
+ mes "The attendant receives 10 'Bombring Capsules'. When you consume the Bombring Capsule, a Bombring is summoned near and after the summoning when you reach a certain time, the Bombring explodes.";
+ next;
+ mes "[Staff DTS]";
+ mes "^0000ffThe Bombring explosion affects you, so be careful not to get involved in the explosion. You need to get rid of the monster by using the Bombring Capsule, accomplish the mission and come out alive.^000000";
+ next;
+ mes "[Staff DTS]";
+ mes "The 2nd test progressing time will be about 3 minutes. When you consume all the Bombring Capsules, collect a hidden equipment, and survive, you will be sent to the 3rd test field.";
+ close;
+ case 3:
+ mes "[Staff DTS]";
+ mes "The 3rd is to test how you can efficiently use a warg which is given Rangers.";
+ next;
+ mes "[Staff DTS]";
+ mes "The tester is provided with disposable warg summoning flute. Remove all bombs that are dispersed here and there by controlling the summoned warg and you get a point.";
+ next;
+ mes "[Staff DTS]";
+ mes "^0000ffThe tester cannot move while the test is going on and the test is completed when he or she removes the bombs quickly and accurately in time by using only the warg.^000000";
+ next;
+ mes "[Staff DTS]";
+ mes "The 3rd test progressing time would be about 3 minutes, when you get 10 or more over 20, all the practical tests are completed.";
+ close;
+ case 4:
+ mes "[Staff DTS]";
+ mes "When you want to progress with the practical test, please enter into the chat room.";
+ close;
+ }
+}
+
+job3_rang02,100,95,0 script Test Supervisor#jr_04 139,{
+
+OnInit:
+ set $@job_rang_point01,0;
+ disablenpc "Test Supervisor#jr_04";
+ end;
+
+OnEnable:
+ set $@job_rang_point01,0;
+ enablenpc "Test Supervisor#jr_04";
+ initnpctimer;
+ end;
+
+OnDisable:
+ stopnpctimer;
+ disablenpc "Test Supervisor#jr_04";
+ end;
+
+OnStart:
+ stopnpctimer;
+ disablenpc "Test Supervisor#jr_04";
+ donpcevent "First Test Timer#jr_05::OnEnable";
+ end;
+
+OnTimer3000:
+ mapannounce "job3_rang02","Test Supervisor, Notice : Welcome to the Ranger Job Change Test. I am Test Supervisor, Notice.",bc_map;
+ end;
+
+OnTimer6000:
+ mapannounce "job3_rang02","Test Supervisor, Notice : The first test is to test your eyesight and accuracy.",bc_map;
+ end;
+
+OnTimer9000:
+ mapannounce "job3_rang02","Test Supervisor, Notice : The test method is, to kill monsters named 'Poring' amongst the random spawned monsters on 8 locations.",bc_map;
+ end;
+
+OnTimer12000:
+ mapannounce "job3_rang02","Test Supervisor, Notice : Whatever it may look like, you need to kill the monster named 'Poring' to get a point, and if you kill others you will lose points, so be careful.",bc_map;
+ end;
+
+OnTimer15000:
+ mapannounce "job3_rang02","Test Supervisor, Notice : The test progression time would be around 3 minutes. You need to get 15 points or more to qualify for the next test.",bc_map;
+ end;
+
+OnTimer18000:
+ stopnpctimer;
+ mapannounce "job3_rang02","Test Supervisor, Notice : Then let's begin the test. Good luck.",bc_map;
+ donpcevent "Test Supervisor#jr_04::OnStart";
+ end;
+}
+
+job3_rang02,102,95,0 script First Test Timer#jr_05 139,{
+
+OnInit:
+ disablenpc "First Test Timer#jr_05";
+ end;
+
+OnEnable:
+ set $@job_rang_point01,0;
+ enablenpc "First Test Timer#jr_05";
+ initnpctimer;
+ end;
+
+OnDisable:
+ stopnpctimer;
+ disablenpc "First Test Timer#jr_05";
+ end;
+
+OnTimer3000:
+ mapannounce "job3_rang02","Test Supervisor, Notice : First Wave! Kill the Poring!",bc_map;
+ donpcevent "Correct Monster Summon::OnStart";
+ end;
+
+OnTimer8000:
+ donpcevent "Correct Monster Summon::OnReset";
+ donpcevent "False Monster Summon::OnReset";
+ end;
+
+OnTimer10000:
+ mapannounce "job3_rang02","Test Supervisor, Notice : Second Wave! Kill the Poring!",bc_map;
+ donpcevent "Correct Monster Summon::OnStart";
+ end;
+
+OnTimer15000:
+ donpcevent "Correct Monster Summon::OnReset";
+ donpcevent "False Monster Summon::OnReset";
+ end;
+
+OnTimer17000:
+ mapannounce "job3_rang02","Test Supervisor, Notice : Third Wave! Kill the Poring!",bc_map;
+ donpcevent "Correct Monster Summon::OnStart";
+ end;
+
+OnTimer22000:
+ donpcevent "Correct Monster Summon::OnReset";
+ donpcevent "False Monster Summon::OnReset";
+ end;
+
+OnTimer24000:
+ mapannounce "job3_rang02","Test Supervisor, Notice : Fourth Wave! Kill the Poring!",bc_map;
+ donpcevent "Correct Monster Summon::OnStart";
+ end;
+
+OnTimer29000:
+ donpcevent "Correct Monster Summon::OnReset";
+ donpcevent "False Monster Summon::OnReset";
+ end;
+
+OnTimer31000:
+ mapannounce "job3_rang02","Test Supervisor, Notice : Fifth Wave! Kill the Poring!",bc_map;
+ donpcevent "Correct Monster Summon::OnStart";
+ end;
+
+OnTimer36000:
+ donpcevent "Correct Monster Summon::OnReset";
+ donpcevent "False Monster Summon::OnReset";
+ end;
+
+OnTimer38000:
+ mapannounce "job3_rang02","Test Supervisor, Notice : Sixth Wave! Kill the Poring!",bc_map;
+ donpcevent "Correct Monster Summon::OnStart";
+ end;
+
+OnTimer43000:
+ donpcevent "Correct Monster Summon::OnReset";
+ donpcevent "False Monster Summon::OnReset";
+ end;
+
+OnTimer45000:
+ mapannounce "job3_rang02","Test Supervisor, Notice : Seventh Wave! Kill the Poring!",bc_map;
+ donpcevent "Correct Monster Summon::OnStart";
+ end;
+
+OnTimer50000:
+ donpcevent "Correct Monster Summon::OnReset";
+ donpcevent "False Monster Summon::OnReset";
+ end;
+
+OnTimer52000:
+ mapannounce "job3_rang02","Test Supervisor, Notice : Eight Wave! Kill the Poring!",bc_map;
+ donpcevent "Correct Monster Summon::OnStart";
+ end;
+
+OnTimer57000:
+ donpcevent "Correct Monster Summon::OnReset";
+ donpcevent "False Monster Summon::OnReset";
+ end;
+
+OnTimer59000:
+ mapannounce "job3_rang02","Test Supervisor, Notice : Nineth Wave! Kill the Poring!",bc_map;
+ donpcevent "Correct Monster Summon::OnStart";
+ end;
+
+OnTimer64000:
+ donpcevent "Correct Monster Summon::OnReset";
+ donpcevent "False Monster Summon::OnReset";
+ end;
+
+OnTimer66000:
+ mapannounce "job3_rang02","Test Supervisor, Notice : Tenth Wave! Kill the Poring!",bc_map;
+ donpcevent "Correct Monster Summon::OnStart";
+ end;
+
+OnTimer71000:
+ donpcevent "Correct Monster Summon::OnReset";
+ donpcevent "False Monster Summon::OnReset";
+ end;
+
+OnTimer73000:
+ mapannounce "job3_rang02","Test Supervisor, Notice : Eleventh Wave! Kill the Poring!",bc_map;
+ donpcevent "Correct Monster Summon::OnStart";
+ end;
+
+OnTimer78000:
+ donpcevent "Correct Monster Summon::OnReset";
+ donpcevent "False Monster Summon::OnReset";
+ end;
+
+OnTimer80000:
+ mapannounce "job3_rang02","Test Supervisor, Notice : Twelfth Wave! Kill the Poring!",bc_map;
+ donpcevent "Correct Monster Summon::OnStart";
+ end;
+
+OnTimer85000:
+ donpcevent "Correct Monster Summon::OnReset";
+ donpcevent "False Monster Summon::OnReset";
+ end;
+
+OnTimer87000:
+ mapannounce "job3_rang02","Test Supervisor, Notice : Thirteenth Wave! Kill the Poring!",bc_map;
+ donpcevent "Correct Monster Summon::OnStart";
+ end;
+
+OnTimer92000:
+ donpcevent "Correct Monster Summon::OnReset";
+ donpcevent "False Monster Summon::OnReset";
+ end;
+
+OnTimer94000:
+ mapannounce "job3_rang02","Test Supervisor, Notice : Fourteenth Wave! Kill the Poring!",bc_map;
+ donpcevent "Correct Monster Summon::OnStart";
+ end;
+
+OnTimer99000:
+ donpcevent "Correct Monster Summon::OnReset";
+ donpcevent "False Monster Summon::OnReset";
+ end;
+
+OnTimer101000:
+ mapannounce "job3_rang02","Test Supervisor, Notice : Fifteenth Wave! Kill the Poring!",bc_map;
+ donpcevent "Correct Monster Summon::OnStart";
+ end;
+
+OnTimer106000:
+ donpcevent "Correct Monster Summon::OnReset";
+ donpcevent "False Monster Summon::OnReset";
+ end;
+
+OnTimer108000:
+ mapannounce "job3_rang02","Test Supervisor, Notice : Sixteenth Wave! Kill the Poring!",bc_map;
+ donpcevent "Correct Monster Summon::OnStart";
+ end;
+
+OnTimer113000:
+ donpcevent "Correct Monster Summon::OnReset";
+ donpcevent "False Monster Summon::OnReset";
+ end;
+
+OnTimer115000:
+ mapannounce "job3_rang02","Test Supervisor, Notice : Seventeenth Wave! Kill the Poring!",bc_map;
+ donpcevent "Correct Monster Summon::OnStart";
+ end;
+
+OnTimer120000:
+ donpcevent "Correct Monster Summon::OnReset";
+ donpcevent "False Monster Summon::OnReset";
+ end;
+
+OnTimer122000:
+ mapannounce "job3_rang02","Test Supervisor, Notice : Eighteenth Wave! Kill the Poring!",bc_map;
+ donpcevent "Correct Monster Summon::OnStart";
+ end;
+
+OnTimer127000:
+ donpcevent "Correct Monster Summon::OnReset";
+ donpcevent "False Monster Summon::OnReset";
+ end;
+
+OnTimer129000:
+ mapannounce "job3_rang02","Test Supervisor, Notice : Nineteenth Wave! Kill the Poring!",bc_map;
+ donpcevent "Correct Monster Summon::OnStart";
+ end;
+
+OnTimer134000:
+ donpcevent "Correct Monster Summon::OnReset";
+ donpcevent "False Monster Summon::OnReset";
+ end;
+
+OnTimer136000:
+ mapannounce "job3_rang02","Test Supervisor, Notice : Last Wave! Kill the Poring!",bc_map;
+ donpcevent "Correct Monster Summon::OnStart";
+ end;
+
+OnTimer141000:
+ donpcevent "Correct Monster Summon::OnReset";
+ donpcevent "False Monster Summon::OnReset";
+ end;
+
+OnTimer143000:
+ mapannounce "job3_rang02","Test Supervisor, Notice : Well done! Now for your test result!",bc_map;
+ end;
+
+OnTimer146000:
+ set .total_point01,$@job_rang_point01;
+ if(.total_point01 < 1)
+ {
+ set .total_point01,0;
+ }
+ mapannounce "job3_rang02","Test Supervisor, Notice : I'll announce the test result. The number of Porings you killed out of 20 is ..."+.total_point01+"!",bc_map;
+ end;
+
+OnTimer149000:
+ if (.total_point01 > 14)
+ {
+ mapannounce "job3_rang02","Test Supervisor, Notice : Congratulations! You've killed "+.total_point01+" out of 20 Porings total, so you've passed the 1st test. I will send you to the 2nd test field.",bc_map;
+ mapwarp "job3_rang02","job3_rang02",113,58;
+ stopnpctimer;
+ donpcevent "Second Test Timer#jr_08::OnEnable";
+ } else {
+ mapannounce "job3_rang02","Test Supervisor, Notice : You couldn't kill 15 Porings or more on a total of 20 total, so you've failed the 1st test... I am sorry but please try again.",bc_map;
+ }
+ end;
+
+OnTimer151000:
+ mapannounce "job3_rang02","Test Supervisor, Notice : The adventurer's 1st test ends now. Please make yourself more capable. Goodbye.",bc_map;
+ mapwarp "job3_rang02","tur_dun01",93,165;
+ end;
+
+OnTimer154000:
+ mapwarp "job3_rang02","tur_dun01",93,165;
+ end;
+
+OnTimer157000:
+ mapwarp "job3_rang02","tur_dun01",93,165;
+ set $@job_rang_point01,0;
+ stopnpctimer;
+ donpcevent "Test Supervisor#jr_04::OnDisable";
+ donpcevent "Practical Test::OnEnable";
+ donpcevent "First Test Timer#jr_05::OnDisable";
+ end;
+}
+
+job3_rang02,104,95,0 script Correct Monster Summon 139,{
+
+OnDisable:
+ disablenpc "Correct Monster Summon";
+ end;
+
+OnStart:
+ set .@job_ranger_pattern01,rand(1,32);
+ if (.@job_ranger_pattern01 == 1)
+ {
+ donpcevent "False Monster Summon::OnOne";
+ monster "job3_rang02",35,58,"Poring",1002,1,"Correct Monster Summon::OnMyMobDead";
+ }else if (.@job_ranger_pattern01 == 2)
+ {
+ donpcevent "False Monster Summon::OnOne";
+ monster "job3_rang02",35,58,"Poring",1031,1,"Correct Monster Summon::OnMyMobDead";
+ }else if (.@job_ranger_pattern01 == 3)
+ {
+ donpcevent "False Monster Summon::OnOne";
+ monster "job3_rang02",35,58,"Poring",1242,1,"Correct Monster Summon::OnMyMobDead";
+ }else if (.@job_ranger_pattern01 == 4)
+ {
+ donpcevent "False Monster Summon::OnOne";
+ monster "job3_rang02",35,58,"Poring",1113,1,"Correct Monster Summon::OnMyMobDead";
+ }else if (.@job_ranger_pattern01 == 5)
+ {
+ donpcevent "False Monster Summon::OnTwo";
+ monster "job3_rang02",44,58,"Poring",1002,1,"Correct Monster Summon::OnMyMobDead";
+ }else if (.@job_ranger_pattern01 == 6)
+ {
+ donpcevent "False Monster Summon::OnTwo";
+ monster "job3_rang02",44,58,"Poring",1031,1,"Correct Monster Summon::OnMyMobDead";
+ }else if (.@job_ranger_pattern01 == 7)
+ {
+ donpcevent "False Monster Summon::OnTwo";
+ monster "job3_rang02",44,58,"Poring",1242,1,"Correct Monster Summon::OnMyMobDead";
+ }else if (.@job_ranger_pattern01 == 8)
+ {
+ donpcevent "False Monster Summon::OnTwo";
+ monster "job3_rang02",44,58,"Poring",1113,1,"Correct Monster Summon::OnMyMobDead";
+ }else if (.@job_ranger_pattern01 == 9)
+ {
+ donpcevent "False Monster Summon::OnThree";
+ monster "job3_rang02",54,58,"Poring",1002,1,"Correct Monster Summon::OnMyMobDead";
+ }else if (.@job_ranger_pattern01 == 10)
+ {
+ donpcevent "False Monster Summon::OnThree";
+ monster "job3_rang02",54,58,"Poring",1031,1,"Correct Monster Summon::OnMyMobDead";
+ }else if (.@job_ranger_pattern01 == 11)
+ {
+ donpcevent "False Monster Summon::OnThree";
+ monster "job3_rang02",54,58,"Poring",1242,1,"Correct Monster Summon::OnMyMobDead";
+ }else if (.@job_ranger_pattern01 == 12)
+ {
+ donpcevent "False Monster Summon::OnThree";
+ monster "job3_rang02",54,58,"Poring",1113,1,"Correct Monster Summon::OnMyMobDead";
+ }else if (.@job_ranger_pattern01 == 13)
+ {
+ donpcevent "False Monster Summon::OnFour";
+ monster "job3_rang02",35,49,"Poring",1002,1,"Correct Monster Summon::OnMyMobDead";
+ }else if (.@job_ranger_pattern01 == 14)
+ {
+ donpcevent "False Monster Summon::OnFour";
+ monster "job3_rang02",35,49,"Poring",1031,1,"Correct Monster Summon::OnMyMobDead";
+ }else if (.@job_ranger_pattern01 == 15)
+ {
+ donpcevent "False Monster Summon::OnFour";
+ monster "job3_rang02",35,49,"Poring",1242,1,"Correct Monster Summon::OnMyMobDead";
+ }else if (.@job_ranger_pattern01 == 16)
+ {
+ donpcevent "False Monster Summon::OnFour";
+ monster "job3_rang02",35,49,"Poring",1113,1,"Correct Monster Summon::OnMyMobDead";
+ }else if (.@job_ranger_pattern01 == 17)
+ {
+ donpcevent "False Monster Summon::OnFive";
+ monster "job3_rang02",54,49,"Poring",1002,1,"Correct Monster Summon::OnMyMobDead";
+ }else if (.@job_ranger_pattern01 == 18)
+ {
+ donpcevent "False Monster Summon::OnFive";
+ monster "job3_rang02",54,49,"Poring",1031,1,"Correct Monster Summon::OnMyMobDead";
+ }else if (.@job_ranger_pattern01 == 19)
+ {
+ donpcevent "False Monster Summon::OnFive";
+ monster "job3_rang02",54,49,"Poring",1242,1,"Correct Monster Summon::OnMyMobDead";
+ }else if (.@job_ranger_pattern01 == 20)
+ {
+ donpcevent "False Monster Summon::OnFive";
+ monster "job3_rang02",54,49,"Poring",1031,1,"Correct Monster Summon::OnMyMobDead";
+ }else if (.@job_ranger_pattern01 == 21)
+ {
+ donpcevent "False Monster Summon::OnSix";
+ monster "job3_rang02",35,39,"Poring",1002,1,"Correct Monster Summon::OnMyMobDead";
+ }else if (.@job_ranger_pattern01 == 22)
+ {
+ donpcevent "False Monster Summon::OnSix";
+ monster "job3_rang02",35,39,"Poring",1031,1,"Correct Monster Summon::OnMyMobDead";
+ }else if (.@job_ranger_pattern01 == 23)
+ {
+ donpcevent "False Monster Summon::OnSix";
+ monster "job3_rang02",35,39,"Poring",1242,1,"Correct Monster Summon::OnMyMobDead";
+ }else if (.@job_ranger_pattern01 == 24)
+ {
+ donpcevent "False Monster Summon::OnSix";
+ monster "job3_rang02",35,39,"Poring",1113,1,"Correct Monster Summon::OnMyMobDead";
+ }else if (.@job_ranger_pattern01 == 25)
+ {
+ donpcevent "False Monster Summon::OnSeven";
+ monster "job3_rang02",44,39,"Poring",1002,1,"Correct Monster Summon::OnMyMobDead";
+ }else if (.@job_ranger_pattern01 == 26)
+ {
+ donpcevent "False Monster Summon::OnSeven";
+ monster "job3_rang02",44,39,"Poring",1031,1,"Correct Monster Summon::OnMyMobDead";
+ }else if (.@job_ranger_pattern01 == 27)
+ {
+ donpcevent "False Monster Summon::OnSeven";
+ monster "job3_rang02",44,39,"Poring",1242,1,"Correct Monster Summon::OnMyMobDead";
+ }else if (.@job_ranger_pattern01 == 28)
+ {
+ donpcevent "False Monster Summon::OnSeven";
+ monster "job3_rang02",44,39,"Poring",1113,1,"Correct Monster Summon::OnMyMobDead";
+ }else if (.@job_ranger_pattern01 == 29)
+ {
+ donpcevent "False Monster Summon::OnEight";
+ monster "job3_rang02",54,39,"Poring",1002,1,"Correct Monster Summon::OnMyMobDead";
+ }else if (.@job_ranger_pattern01 == 30)
+ {
+ donpcevent "False Monster Summon::OnEight";
+ monster "job3_rang02",54,39,"Poring",1031,1,"Correct Monster Summon::OnMyMobDead";
+ }else if (.@job_ranger_pattern01 == 31)
+ {
+ donpcevent "False Monster Summon::OnEight";
+ monster "job3_rang02",54,39,"Poring",1242,1,"Correct Monster Summon::OnMyMobDead";
+ }else {
+ donpcevent "False Monster Summon::OnEight";
+ monster "job3_rang02",54,39,"Poring",1113,1,"Correct Monster Summon::OnMyMobDead";
+ }
+ end;
+
+OnReset:
+ killmonster "job3_rang02","Correct Monster Summon::OnMyMobDead";
+ end;
+
+OnMyMobDead:
+ specialeffect2 EF_POTION_CON;
+ set $@job_rang_point01,$@job_rang_point01+1;
+ mapannounce "job3_rang02","Test Supervisor, Notice : Correct Target! You have very good eyesight!",bc_map;
+ end;
+}
+
+job3_rang02,106,95,0 script False Monster Summon 139,{
+
+OnDisable:
+ disablenpc "False Monster Summon";
+ end;
+
+OnOne:
+ monster "job3_rang02",44,58,"Poing",1002,1,"False Monster Summon::OnMyMobDead";
+ monster "job3_rang02",54,58,"Horing",1031,1,"False Monster Summon::OnMyMobDead";
+ monster "job3_rang02",35,49,"Poporing",1242,1,"False Monster Summon::OnMyMobDead";
+ monster "job3_rang02",54,49,"Puring",1113,1,"False Monster Summon::OnMyMobDead";
+ monster "job3_rang02",35,39,"Poriring",1031,1,"False Monster Summon::OnMyMobDead";
+ monster "job3_rang02",44,39,"Marine",1242,1,"False Monster Summon::OnMyMobDead";
+ monster "job3_rang02",54,39,"Droporing",1002,1,"False Monster Summon::OnMyMobDead";
+ end;
+
+OnTwo:
+ monster "job3_rang02",35,58,"Poyong",1031,1,"False Monster Summon::OnMyMobDead";
+ monster "job3_rang02",54,58,"Puding",1113,1,"False Monster Summon::OnMyMobDead";
+ monster "job3_rang02",35,49,"Porin",1113,1,"False Monster Summon::OnMyMobDead";
+ monster "job3_rang02",54,49,"Poja",1002,1,"False Monster Summon::OnMyMobDead";
+ monster "job3_rang02",35,39,"Poporing",1031,1,"False Monster Summon::OnMyMobDead";
+ monster "job3_rang02",44,39,"Drops",1242,1,"False Monster Summon::OnMyMobDead";
+ monster "job3_rang02",54,39,"Pororing",1031,1,"False Monster Summon::OnMyMobDead";
+ end;
+
+OnThree:
+ monster "job3_rang02",35,58,"Poporing",1113,1,"False Monster Summon::OnMyMobDead";
+ monster "job3_rang02",44,58,"Podaegi",1002,1,"False Monster Summon::OnMyMobDead";
+ monster "job3_rang02",35,49,"Poing",1002,1,"False Monster Summon::OnMyMobDead";
+ monster "job3_rang02",54,49,"Poja",1031,1,"False Monster Summon::OnMyMobDead";
+ monster "job3_rang02",35,39,"Maporing",1242,1,"False Monster Summon::OnMyMobDead";
+ monster "job3_rang02",44,39,"Drops",1242,1,"False Monster Summon::OnMyMobDead";
+ monster "job3_rang02",54,39,"Pororing",1031,1,"False Monster Summon::OnMyMobDead";
+ end;
+
+OnFour:
+ monster "job3_rang02",35,58,"Poing",1242,1,"False Monster Summon::OnMyMobDead";
+ monster "job3_rang02",44,58,"Hoing",1002,1,"False Monster Summon::OnMyMobDead";
+ monster "job3_rang02",54,58,"Marine",1031,1,"False Monster Summon::OnMyMobDead";
+ monster "job3_rang02",54,49,"Drops",1113,1,"False Monster Summon::OnMyMobDead";
+ monster "job3_rang02",35,39,"Puding",1113,1,"False Monster Summon::OnMyMobDead";
+ monster "job3_rang02",44,39,"Droporing",1002,1,"False Monster Summon::OnMyMobDead";
+ monster "job3_rang02",54,39,"Marine",1242,1,"False Monster Summon::OnMyMobDead";
+ end;
+
+OnFive:
+ monster "job3_rang02",35,58,"Popuri",1002,1,"False Monster Summon::OnMyMobDead";
+ monster "job3_rang02",44,58,"Poporing",1242,1,"False Monster Summon::OnMyMobDead";
+ monster "job3_rang02",54,58,"Mariring",1031,1,"False Monster Summon::OnMyMobDead";
+ monster "job3_rang02",35,49,"Poyong",1113,1,"False Monster Summon::OnMyMobDead";
+ monster "job3_rang02",35,39,"Marine",1031,1,"False Monster Summon::OnMyMobDead";
+ monster "job3_rang02",44,39,"Puding",1002,1,"False Monster Summon::OnMyMobDead";
+ monster "job3_rang02",54,39,"Hoing",1031,1,"False Monster Summon::OnMyMobDead";
+ end;
+
+OnSix:
+ monster "job3_rang02",35,58,"Pork",1031,1,"False Monster Summon::OnMyMobDead";
+ monster "job3_rang02",44,58,"Drops",1113,1,"False Monster Summon::OnMyMobDead";
+ monster "job3_rang02",54,58,"Poja",1242,1,"False Monster Summon::OnMyMobDead";
+ monster "job3_rang02",35,49,"Poporing",1242,1,"False Monster Summon::OnMyMobDead";
+ monster "job3_rang02",54,49,"Horing",1002,1,"False Monster Summon::OnMyMobDead";
+ monster "job3_rang02",44,39,"Marun",1031,1,"False Monster Summon::OnMyMobDead";
+ monster "job3_rang02",54,39,"Drawing",1002,1,"False Monster Summon::OnMyMobDead";
+ end;
+
+OnSeven:
+ monster "job3_rang02",35,58,"Marine",1113,1,"False Monster Summon::OnMyMobDead";
+ monster "job3_rang02",44,58,"Pororing",1031,1,"False Monster Summon::OnMyMobDead";
+ monster "job3_rang02",54,58,"Pork",1031,1,"False Monster Summon::OnMyMobDead";
+ monster "job3_rang02",35,49,"Porin",1242,1,"False Monster Summon::OnMyMobDead";
+ monster "job3_rang02",54,49,"Poporing",1002,1,"False Monster Summon::OnMyMobDead";
+ monster "job3_rang02",35,39,"Horin",1113,1,"False Monster Summon::OnMyMobDead";
+ monster "job3_rang02",54,39,"Puding",1002,1,"False Monster Summon::OnMyMobDead";
+ end;
+
+OnEight:
+ monster "job3_rang02",35,58,"Marun",1242,1,"False Monster Summon::OnMyMobDead";
+ monster "job3_rang02",44,58,"Poja",1113,1,"False Monster Summon::OnMyMobDead";
+ monster "job3_rang02",54,58,"Drops",1031,1,"False Monster Summon::OnMyMobDead";
+ monster "job3_rang02",35,49,"Poing",1242,1,"False Monster Summon::OnMyMobDead";
+ monster "job3_rang02",54,49,"Puding",1002,1,"False Monster Summon::OnMyMobDead";
+ monster "job3_rang02",35,39,"Horing",1031,1,"False Monster Summon::OnMyMobDead";
+ monster "job3_rang02",44,39,"Poporing",1113,1,"False Monster Summon::OnMyMobDead";
+ end;
+
+OnReset:
+ killmonster "job3_rang02","False Monster Summon::OnMyMobDead";
+ end;
+
+OnMyMobDead:
+ specialeffect2 EF_DEVIL;
+ set $@job_rang_point01,$@job_rang_point01-1;
+ mapannounce "job3_rang02","Test Supervisor, Notice : Wrong Target! Pull yourself together!",bc_map;
+ end;
+}
+
+job3_rang02,100,93,0 script Second Test Timer#jr_08 139,{
+
+OnInit:
+ disablenpc "Second Test Timer#jr_08";
+ end;
+
+OnEnable:
+ enablenpc "Second Test Timer#jr_08";
+ initnpctimer;
+ donpcevent "Test Supervisor#jr_04::OnDisable";
+ donpcevent "First Test Timer#jr_05::OnDisable";
+ end;
+
+OnDisable:
+ stopnpctimer;
+ disablenpc "Second Test Timer#jr_08";
+ end;
+
+OnStop:
+ stopnpctimer;
+ end;
+
+OnTimer3000:
+ mapannounce "job3_rang02","Test Supervisor, Caution : Yeah. Congrats on you passing the 1st practical test. I am the 2nd practical test supervisor Caution.",bc_map;
+ end;
+
+OnTimer6000:
+ mapannounce "job3_rang02","Test Supervisor, Caution : The Second Test is about test performance ability and the effective usage of traps.",bc_map;
+ end;
+
+OnTimer9000:
+ mapannounce "job3_rang02","Test Supervisor, Caution : When the test begins, you'll recive 'Bombring Caspule's' from a staff member near you, and kill the monsters in your way.",bc_map;
+ end;
+
+OnTimer11000:
+ mapannounce "job3_rang02","Test Supervisor, Caution : When you use a 'Bombring Capsule' a Bombring is summoned near you, and after 3 seconds it will explode.",bc_map;
+ end;
+
+OnTimer14000:
+ mapannounce "job3_rang02","Test Supervisor, Caution : The explosive range of the Bombring is a 5x5 cell around the Bombring, so be carefull not to be caught in the explosion.",bc_map;
+ end;
+
+OnTimer17000:
+ mapannounce "job3_rang02","Test Supervisor, Caution : Whilst progressing, if you complete the mission given by an staff member come and see me, then you will pass the 2nd practical test!",bc_map;
+ end;
+
+OnTimer20000:
+ mapannounce "job3_rang02","Test Supervisor, Caution : Oh! When you come and see me, all 'Bombring Capsules' have to been used up.",bc_map;
+ end;
+
+OnTimer23000:
+ mapannounce "job3_rang02","Test Supervisor, Caution : The test period will take 3 minutes in total! Copmplete the mission in 3 minutes and stay alive! Then come to see me!",bc_map;
+ end;
+
+OnTimer26000:
+ mapannounce "job3_rang02","Test Supervisor, Caution : Well the test begins now!! Start going!!!!!!",bc_map;
+ donpcevent "Staff Rust#job_ranger09::OnEnable";
+ end;
+
+OnTimer80000:
+ mapannounce "job3_rang02","Test Supervisor, Caution : 1 Minute has passed. You are coming to see me, right?",bc_map;
+ end;
+
+OnTimer83000:
+ mapannounce "job3_rang02","Test Supervisor, Caution : Don't be too brave to rush and get yourself killed, be slow and careful.",bc_map;
+ end;
+
+OnTimer140000:
+ mapannounce "job3_rang02","Test Supervisor, Caution : 2 Minutes have passed. Getting here on time should be your top priority.?",bc_map;
+ end;
+
+OnTimer143000:
+ mapannounce "job3_rang02","Test Supervisor, Caution : However, you need to be alive in order to make the time limit, right? Please watch out.",bc_map;
+ end;
+
+OnTimer170000:
+ mapannounce "job3_rang02","Test Supervisor, Caution : 2 Minutes and 30 Seconds have passed. There's not much time left!",bc_map;
+ end;
+
+OnTimer173000:
+ mapannounce "job3_rang02","Test Supervisor, Caution : Hurry up! Hurry up! Come on.",bc_map;
+ end;
+
+OnTimer200000:
+ mapannounce "job3_rang02","Test Supervisor, Caution : 3 Minutes have passed! 3 Minutes!!!! I'll be a little easy on you, so hurry up!!!!!!",bc_map;
+ end;
+
+OnTimer205000:
+ mapannounce "job3_rang02","Test Supervisor, Caution : 5 Seconds remaining!!",bc_map;
+ end;
+
+OnTimer206000:
+ mapannounce "job3_rang02","Test Supervisor, Caution : 4 Seconds remaining!!",bc_map;
+ end;
+
+OnTimer207000:
+ mapannounce "job3_rang02","Test Supervisor, Caution : 3 Seconds remaining!!",bc_map;
+ end;
+
+OnTimer208000:
+ mapannounce "job3_rang02","Test Supervisor, Caution : 2 Seconds remaining!!",bc_map;
+ end;
+
+OnTimer209000:
+ mapannounce "job3_rang02","Test Supervisor, Caution : 1 Second remaining!!",bc_map;
+ end;
+
+OnTimer210000:
+ mapannounce "job3_rang02","Test Supervisor, Caution : Ugh.. What are you doing? Your time is up!",bc_map;
+ end;
+
+OnTimer213000:
+ mapannounce "job3_rang02","Test Supervisor, Caution : You couldn't get here on time, therefore the 2nd practical test ends here!",bc_map;
+ end;
+
+OnTimer217000:
+ mapannounce "job3_rang02","Test Supervisor, Caution : If you want to blame something, blame your own stupidness! Start over from the beginning! You fool!",bc_map;
+ mapwarp "job3_rang02","tur_dun01",93,165;
+ end;
+
+OnTimer220000:
+ mapannounce "job3_rang02","Test Supervisor, Caution : If you want to blame something, blame your own stupidness! Start over from the beginning! You fool!",bc_map;
+ mapwarp "job3_rang02","tur_dun01",93,165;
+ donpcevent "Staff Rust#job_ranger09::OnDisable";
+ donpcevent "Plant Summon#jr_10::OnDisable";
+ donpcevent "Test Supervisor#jr_11::OnDisable";
+ end;
+
+OnTimer223000:
+ donpcevent "Practical Test::OnEnable";
+ donpcevent "Second Test Timer#jr_08::OnDisable";
+ stopnpctimer;
+ end;
+}
+
+job3_rang02,111,56,3 script Staff Rust#job_ranger09 89,{
+
+
+ if (job_ranger01 == 6)
+ {
+ if (countitem(12258) < 1)
+ {
+ if (countitem(6156) < 1)
+ {
+ set .@ranger_weight01,MaxWeight - Weight;
+ set .@gift_paper01,(.@ranger_weight01 - 2000) / 10;
+ percentheal 100,0;
+ specialeffect2 EF_ABSORBSPIRITS;
+ mes "[Staff Rust]";
+ mes "I'll give you the 'Bombring Capsules'.";
+ mes "The 'Bombring Capsules' can be given again only for the one who used it all, so please keep that in mind.";
+ next;
+ emotion 55;
+ mes "[Staff Rust]";
+ mes "And the mission is.... to deliver these documents to the supervisor, Caution. He won't take what I give...";
+ setquest 8260;
+ getitem 6156,.@gift_paper01;
+ getitem 12258,10;
+ getitem 569,100;
+ close;
+ }
+ percentheal 100,0;
+ specialeffect2 EF_ABSORBSPIRITS;
+ mes "[Staff Rust]";
+ mes "I'll give you the 'Bombring Capsules.";
+ mes "The 'Bombring Capsules' can be given again only for the one who used it all, so please keep that in mind.";
+ getitem 12258,5;
+ close;
+ }
+ mes "[Staff Rust]";
+ mes "I'm sorry, but you already have the 'Bombring Capsules', so I cannot provide you with more.";
+ close;
+ }
+ mes "[Staff Rust]";
+ mes "I'm sorry, but how did you get in?";
+ next;
+ mes "[Staff Rust]";
+ mes "If you are not here for the job change test, please leave.";
+ close;
+
+OnInit:
+ disablenpc "Staff Rust#job_ranger09";
+ end;
+
+OnEnable:
+ enablenpc "Staff Rust#job_ranger09";
+ donpcevent "Plant Summon#jr_10::OnEnable";
+ donpcevent "Test Supervisor#jr_11::OnEnable";
+ end;
+
+OnDisable:
+ disablenpc "Staff Rust#job_ranger09";
+ end;
+}
+
+job3_rang02,136,21,5 script Plant Summon#jr_10 139,5,5,{
+
+OnInit:
+ disablenpc "Plant Summon#jr_10";
+ end;
+
+OnEnable:
+ enablenpc "Plant Summon#jr_10";
+ monster "job3_rang02",112,45,"Mandragora",1020,1,"Plant Summon#jr_10::OnMyMobDead";
+ monster "job3_rang02",114,45,"Mandragora",1020,1,"Plant Summon#jr_10::OnMyMobDead";
+ monster "job3_rang02",116,45,"Mandragora",1020,1,"Plant Summon#jr_10::OnMyMobDead";
+ monster "job3_rang02",110,30,"Flora",1118,1,"Plant Summon#jr_10::OnMyMobDead";
+ monster "job3_rang02",112,30,"Flora",1118,1,"Plant Summon#jr_10::OnMyMobDead";
+ monster "job3_rang02",114,30,"Flora",1118,1,"Plant Summon#jr_10::OnMyMobDead";
+ monster "job3_rang02",116,30,"Flora",1118,1,"Plant Summon#jr_10::OnMyMobDead";
+ monster "job3_rang02",116,41,"Geographer",1368,1,"Plant Summon#jr_10::OnMyMobDead";
+ monster "job3_rang02",114,40,"Mandragora",1020,1,"Plant Summon#jr_10::OnMyMobDead";
+ monster "job3_rang02",112,41,"Geographer",1368,1,"Plant Summon#jr_10::OnMyMobDead";
+ monster "job3_rang02",111,34,"Flora",1118,1,"Plant Summon#jr_10::OnMyMobDead";
+ monster "job3_rang02",117,22,"Muscipular",1780,1,"Plant Summon#jr_10::OnMyMobDead";
+ monster "job3_rang02",114,21,"Geographer",1368,1,"Plant Summon#jr_10::OnMyMobDead";
+ monster "job3_rang02",115,23,"Parasite",1500,1,"Plant Summon#jr_10::OnMyMobDead";
+ monster "job3_rang02",135,25,"Drosera",1781,1,"Plant Summon#jr_10::OnMyMobDead";
+ monster "job3_rang02",135,23,"Geographer",1368,1,"Plant Summon#jr_10::OnMyMobDead";
+ monster "job3_rang02",138,20,"Muscipular",1780,1,"Plant Summon#jr_10::OnMyMobDead";
+ monster "job3_rang02",137,36,"Drosera",1781,1,"Plant Summon#jr_10::OnMyMobDead";
+ monster "job3_rang02",139,34,"Geographer",1368,1,"Plant Summon#jr_10::OnMyMobDead";
+ monster "job3_rang02",144,41,"Geographer",1368,1,"Plant Summon#jr_10::OnMyMobDead";
+ monster "job3_rang02",152,41,"Parasite",1500,1,"Plant Summon#jr_10::OnMyMobDead";
+ monster "job3_rang02",168,49,"Drosera",1781,1,"Plant Summon#jr_10::OnMyMobDead";
+ monster "job3_rang02",165,48,"Muscipular",1780,1,"Plant Summon#jr_10::OnMyMobDead";
+ monster "job3_rang02",160,56,"Geographer",1368,1,"Plant Summon#jr_10::OnMyMobDead";
+ monster "job3_rang02",158,56,"Drosera",1781,1,"Plant Summon#jr_10::OnMyMobDead";
+ monster "job3_rang02",159,55,"Mandragora",1020,1,"Plant Summon#jr_10::OnMyMobDead";
+ monster "job3_rang02",170,53,"Flora",1118,1,"Plant Summon#jr_10::OnMyMobDead";
+ monster "job3_rang02",168,56,"Parasite",1500,1,"Plant Summon#jr_10::OnMyMobDead";
+ monster "job3_rang02",174,63,"Muscipular",1780,1,"Plant Summon#jr_10::OnMyMobDead";
+ monster "job3_rang02",176,60,"Geographer",1368,1,"Plant Summon#jr_10::OnMyMobDead";
+ monster "job3_rang02",170,59,"Geographer",1368,1,"Plant Summon#jr_10::OnMyMobDead";
+ monster "job3_rang02",126,19,"Nepenthes",1988,1,"Plant Summon#jr_10::OnMyMobDead";
+ end;
+
+OnDisable:
+ disablenpc "Plant Summon#jr_10";
+ killmonster "job3_rang02","Plant Summon#jr_10::OnMyMobDead";
+ end;
+
+OnTouch:
+ percentheal 10,0;
+ specialeffect2 EF_ABSORBSPIRITS;
+ mapannounce "job3_rang02","Test Supervisor, Caution : You are doing well! If you come closer a little more, you should be able to see me.",bc_map;
+ end;
+
+OnMyMobDead:
+ end;
+}
+
+job3_rang02,180,78,3 script Test Supervisor#jr_11 882,1,1,{
+
+OnTouch:
+ if (job_ranger01 == 6)
+ {
+ if (countitem(12258) < 1)
+ {
+ if (countitem(6156) > 0)
+ {
+ mes "[Test Supervisor, Caution]";
+ mes "You've arrived safely!!!";
+ donpcevent "Second Test Timer#jr_08::OnDisable";
+ donpcevent "Staff Rust#job_ranger09::OnDisable";
+ donpcevent "Plant Summon#jr_10::OnDisable";
+ initnpctimer;
+ next;
+ mes "[Test Supervisor, Caution]";
+ mes "What are those documents?";
+ emotion 74;
+ next;
+ menu "Mr. Rust asked me to give this to you.",-;
+ mes "[Test Supervisor, Caution]";
+ mes "Haaaaaaaah!!";
+ mes "I've been avoiding him so much!!";
+ delitem 6156,countitem(6156);
+ erasequest 8260;
+ next;
+ mes "[Test Supervisor, Caution]";
+ mes "I've never imagined this could be a test...";
+ emotion 28;
+ next;
+ mes "[Test Supervisor, Caution]";
+ mes "Anyway you've passed the 2nd test very well.";
+ next;
+ mes "[Test Supervisor, Caution]";
+ mes "Pass the 3rd one and you will become a great ranger.";
+ close2;
+ warp "job3_rang02",250,49;
+ donpcevent "Test Supervisor#jr_13::OnEnable";
+ end;
+ }
+ mes "[Test Supervisor, Caution]";
+ mes "You've arrived safely......uh?";
+ next;
+ mes "[Test Supervisor, Caution]";
+ mes "Didn't Rust give you something?";
+ next;
+ mes "[Test Supervisor, Caution]";
+ mes "Where did you lose that?";
+ mes "Pick it up quickly!";
+ close;
+ }
+ mes "[Test Supervisor, Caution]";
+ mes "No, no!";
+ mes "You need to use all the 'Bombring Capsules'?!";
+ next;
+ mes "[Test Supervisor, Caution]";
+ mes "Use it all and come back!";
+ mes "Time is ticking so you'd better hurry.";
+ close;
+ }
+ mes "[Test Supervisor, Caution]";
+ mes "You've arrived safely......uh?";
+ next;
+ mes "[Test Supervisor, Caution]";
+ mes "Didn't Rust give you something?";
+ next;
+ mes "[Test Supervisor, Caution]";
+ mes "Where did you lose that?";
+ mes "Pick it up quickly!";
+ close2;
+ end;
+
+OnTimer60000:
+ mapannounce "job3_rang02","Test Supervisor, Caution : Come here, you don't have to rush your test, but why are you delaying the test?",bc_map;
+ end;
+
+OnTimer63000:
+ mapannounce "job3_rang02","Test Supervisor, Caution : I hate people that make me wait! if you don't talk to me in 30 seconds to continue the test, I will end your test progress!",bc_map;
+ end;
+
+OnTimer93000:
+ mapannounce "job3_rang02","Test Supervisor, Caution : Hurry up! Hurry up! Come on.",bc_map;
+ end;
+
+OnTimer96000:
+ mapannounce "job3_rang02","Test Supervisor, Caution : You couldn't get here on time, therefore the 2nd practical test ends here!",bc_map;
+ end;
+
+OnTimer99000:
+ mapannounce "job3_rang02","Test Supervisor, Caution : If you want to blame something, blame your own stupidness! Start over from the beginning! You fool!",bc_map;
+ mapwarp "job3_rang02","tur_dun01",93,165;
+ end;
+
+OnTimer102000:
+ mapannounce "job3_rang02","Test Supervisor, Caution : If you want to blame something, blame your own stupidness! Start over from the beginning! You fool!",bc_map;
+ mapwarp "job3_rang02","tur_dun01",93,165;
+ donpcevent "Staff Rust#job_ranger09::OnDisable";
+ donpcevent "Plant Summon#jr_10::OnDisable";
+ donpcevent "Second Test Timer#jr_08::OnDisable";
+ end;
+
+OnTimer105000:
+ donpcevent "Practical Test::OnEnable";
+ donpcevent "Test Supervisor#jr_11::OnDisable";
+ stopnpctimer;
+ end;
+
+OnInit:
+ disablenpc "Test Supervisor#jr_11";
+ end;
+
+OnEnable:
+ enablenpc "Test Supervisor#jr_11";
+ end;
+
+OnDisable:
+ stopnpctimer;
+ disablenpc "Test Supervisor#jr_11";
+ end;
+
+}
+
+job3_rang02,104,93,0 script Third Test Timer#jr_12 139,{
+
+OnTimer3000:
+ mapannounce "job3_rang02","Test Supervisor, Freeze : Well, then let's start the 3rd practical test! Are you ready?",bc_map;
+ end;
+
+OnTimer6000:
+ mapannounce "job3_rang02","Test Supervisor, Freeze : From now on, every 3 seconds an 'Egg Bomb' will appear! Look at it carefully, and have your wolf attack the egg bomb to dismantle it!",bc_map;
+ end;
+
+OnTimer9000:
+ mapannounce "job3_rang02","Test Supervisor, Freeze : You can control the wolf by pressing the alt key and left click the surface, the wolf then moves to that point! Then you target the bomb and click on more time, it will then attack it!",bc_map;
+ end;
+
+OnTimer12000:
+ mapannounce "job3_rang02","Test Supervisor, Freeze : The 'Egg Bombs' will spawn 20 times! Each time you successfully dismantle one, you get 1 point! If you get 10 ore more points, you pass the preactical test, so go for it! Then I'll start!!!!!",bc_map;
+ end;
+
+OnTimer15000:
+ set .@rand,rand(1,3);
+ if (.@rand == 1)
+ {
+ donpcevent "Egg Bomb#job_ranger14::OnEnable";
+ }else if (.@rand == 2)
+ {
+ donpcevent "Egg Bomb#job_ranger15::OnEnable";
+ }else
+ {
+ donpcevent "Egg Bomb#job_ranger16::OnEnable";
+ }
+ end;
+
+OnTimer20000:
+ set .@rand,rand(1,3);
+ if (.@rand == 1)
+ {
+ donpcevent "Egg Bomb#job_ranger17::OnEnable";
+ }else if (.@rand == 2)
+ {
+ donpcevent "Egg Bomb#job_ranger18::OnEnable";
+ }else
+ {
+ donpcevent "Egg Bomb#job_ranger19::OnEnable";
+ }
+ end;
+
+OnTimer25000:
+ set .@rand,rand(1,3);
+ if (.@rand == 1)
+ {
+ donpcevent "Egg Bomb#job_ranger20::OnEnable";
+ }else if (.@rand == 2)
+ {
+ donpcevent "Egg Bomb#job_ranger21::OnEnable";
+ }else
+ {
+ donpcevent "Egg Bomb#job_ranger22::OnEnable";
+ }
+ end;
+
+OnTimer30000:
+ set .@rand,rand(1,3);
+ if (.@rand == 1)
+ {
+ donpcevent "Egg Bomb#job_ranger23::OnEnable";
+ }else if (.@rand == 2)
+ {
+ donpcevent "Egg Bomb#job_ranger24::OnEnable";
+ }else
+ {
+ donpcevent "Egg Bomb#job_ranger25::OnEnable";
+ }
+ end;
+
+OnTimer35000:
+ set .@rand,rand(1,3);
+ if (.@rand == 1)
+ {
+ donpcevent "Egg Bomb#job_ranger26::OnEnable";
+ }else if (.@rand == 2)
+ {
+ donpcevent "Egg Bomb#job_ranger27::OnEnable";
+ }else
+ {
+ donpcevent "Egg Bomb#job_ranger28::OnEnable";
+ }
+ end;
+
+OnTimer40000:
+ set .@rand,rand(1,3);
+ if (.@rand == 1)
+ {
+ donpcevent "Egg Bomb#job_ranger14::OnEnable";
+ }else if (.@rand == 2)
+ {
+ donpcevent "Egg Bomb#job_ranger15::OnEnable";
+ }else
+ {
+ donpcevent "Egg Bomb#job_ranger16::OnEnable";
+ }
+ end;
+
+OnTimer45000:
+ set .@rand,rand(1,3);
+ if (.@rand == 1)
+ {
+ donpcevent "Egg Bomb#job_ranger17::OnEnable";
+ }else if (.@rand == 2)
+ {
+ donpcevent "Egg Bomb#job_ranger18::OnEnable";
+ }else
+ {
+ donpcevent "Egg Bomb#job_ranger19::OnEnable";
+ }
+ end;
+
+OnTimer50000:
+ set .@rand,rand(1,3);
+ if (.@rand == 1)
+ {
+ donpcevent "Egg Bomb#job_ranger20::OnEnable";
+ }else if (.@rand == 2)
+ {
+ donpcevent "Egg Bomb#job_ranger21::OnEnable";
+ }else
+ {
+ donpcevent "Egg Bomb#job_ranger22::OnEnable";
+ }
+ end;
+
+OnTimer55000:
+ set .@rand,rand(1,3);
+ if (.@rand == 1)
+ {
+ donpcevent "Egg Bomb#job_ranger23::OnEnable";
+ }else if (.@rand == 2)
+ {
+ donpcevent "Egg Bomb#job_ranger24::OnEnable";
+ }else
+ {
+ donpcevent "Egg Bomb#job_ranger25::OnEnable";
+ }
+ end;
+
+OnTimer60000:
+ set .@rand,rand(1,3);
+ if (.@rand == 1)
+ {
+ donpcevent "Egg Bomb#job_ranger26::OnEnable";
+ }else if (.@rand == 2)
+ {
+ donpcevent "Egg Bomb#job_ranger27::OnEnable";
+ }else
+ {
+ donpcevent "Egg Bomb#job_ranger28::OnEnable";
+ }
+ end;
+
+OnTimer65000:
+ set .@rand,rand(1,3);
+ if (.@rand == 1)
+ {
+ donpcevent "Egg Bomb#job_ranger14::OnEnable";
+ }else if (.@rand == 2)
+ {
+ donpcevent "Egg Bomb#job_ranger15::OnEnable";
+ }else
+ {
+ donpcevent "Egg Bomb#job_ranger16::OnEnable";
+ }
+ end;
+
+OnTimer70000:
+ set .@rand,rand(1,3);
+ if (.@rand == 1)
+ {
+ donpcevent "Egg Bomb#job_ranger17::OnEnable";
+ }else if (.@rand == 2)
+ {
+ donpcevent "Egg Bomb#job_ranger18::OnEnable";
+ }else
+ {
+ donpcevent "Egg Bomb#job_ranger19::OnEnable";
+ }
+ end;
+
+OnTimer75000:
+ set .@rand,rand(1,3);
+ if (.@rand == 1)
+ {
+ donpcevent "Egg Bomb#job_ranger20::OnEnable";
+ }else if (.@rand == 2)
+ {
+ donpcevent "Egg Bomb#job_ranger21::OnEnable";
+ }else
+ {
+ donpcevent "Egg Bomb#job_ranger22::OnEnable";
+ }
+ end;
+
+OnTimer80000:
+ set .@rand,rand(1,3);
+ if (.@rand == 1)
+ {
+ donpcevent "Egg Bomb#job_ranger23::OnEnable";
+ }else if (.@rand == 2)
+ {
+ donpcevent "Egg Bomb#job_ranger24::OnEnable";
+ }else
+ {
+ donpcevent "Egg Bomb#job_ranger25::OnEnable";
+ }
+ end;
+
+OnTimer85000:
+ set .@rand,rand(1,3);
+ if (.@rand == 1)
+ {
+ donpcevent "Egg Bomb#job_ranger26::OnEnable";
+ }else if (.@rand == 2)
+ {
+ donpcevent "Egg Bomb#job_ranger27::OnEnable";
+ }else
+ {
+ donpcevent "Egg Bomb#job_ranger28::OnEnable";
+ }
+ end;
+
+OnTimer90000:
+ set .@rand,rand(1,3);
+ if (.@rand == 1)
+ {
+ donpcevent "Egg Bomb#job_ranger14::OnEnable";
+ }else if (.@rand == 2)
+ {
+ donpcevent "Egg Bomb#job_ranger15::OnEnable";
+ }else
+ {
+ donpcevent "Egg Bomb#job_ranger16::OnEnable";
+ }
+ end;
+
+OnTimer95000:
+ set .@rand,rand(1,3);
+ if (.@rand == 1)
+ {
+ donpcevent "Egg Bomb#job_ranger17::OnEnable";
+ }else if (.@rand == 2)
+ {
+ donpcevent "Egg Bomb#job_ranger18::OnEnable";
+ }else
+ {
+ donpcevent "Egg Bomb#job_ranger19::OnEnable";
+ }
+ end;
+
+OnTimer100000:
+ set .@rand,rand(1,3);
+ if (.@rand == 1)
+ {
+ donpcevent "Egg Bomb#job_ranger20::OnEnable";
+ }else if (.@rand == 2)
+ {
+ donpcevent "Egg Bomb#job_ranger21::OnEnable";
+ }else
+ {
+ donpcevent "Egg Bomb#job_ranger22::OnEnable";
+ }
+ end;
+
+OnTimer105000:
+ set .@rand,rand(1,3);
+ if (.@rand == 1)
+ {
+ donpcevent "Egg Bomb#job_ranger23::OnEnable";
+ }else if (.@rand == 2)
+ {
+ donpcevent "Egg Bomb#job_ranger24::OnEnable";
+ }else
+ {
+ donpcevent "Egg Bomb#job_ranger25::OnEnable";
+ }
+ end;
+
+OnTimer110000:
+ set .@rand,rand(1,3);
+ if (.@rand == 1)
+ {
+ donpcevent "Egg Bomb#job_ranger26::OnEnable";
+ }else if (.@rand == 2)
+ {
+ donpcevent "Egg Bomb#job_ranger27::OnEnable";
+ }else
+ {
+ donpcevent "Egg Bomb#job_ranger28::OnEnable";
+ }
+ end;
+
+OnTimer113000:
+ mapannounce "job3_rang02","Test Supervisor, Freeze : The test is ooooooooooooooveeeeerrr!!!!!!!!!!!!!!!!!!!!!!!!!!",bc_map;
+ donpcevent "Egg Bomb#job_ranger14::OnDisable";
+ donpcevent "Egg Bomb#job_ranger15::OnDisable";
+ donpcevent "Egg Bomb#job_ranger16::OnDisable";
+ donpcevent "Egg Bomb#job_ranger17::OnDisable";
+ donpcevent "Egg Bomb#job_ranger18::OnDisable";
+ donpcevent "Egg Bomb#job_ranger19::OnDisable";
+ donpcevent "Egg Bomb#job_ranger20::OnDisable";
+ donpcevent "Egg Bomb#job_ranger21::OnDisable";
+ donpcevent "Egg Bomb#job_ranger22::OnDisable";
+ donpcevent "Egg Bomb#job_ranger23::OnDisable";
+ donpcevent "Egg Bomb#job_ranger24::OnDisable";
+ donpcevent "Egg Bomb#job_ranger25::OnDisable";
+ donpcevent "Egg Bomb#job_ranger26::OnDisable";
+ donpcevent "Egg Bomb#job_ranger27::OnDisable";
+ donpcevent "Egg Bomb#job_ranger28::OnDisable";
+ end;
+
+OnTimer116000:
+ mapannounce "job3_rang02","Test Supervisor, Freeze : Well let's see the result?!",bc_map;
+ end;
+
+OnTimer119000:
+ set .point_result01,$@job_rang_point03;
+ mapannounce "job3_rang02","Test Supervisor, Freeze : Your score is ..."+.point_result01+" out of 20!",bc_map;
+ end;
+
+OnTimer121000:
+ if (.point_result01 > 9)
+ {
+ mapannounce "job3_rang02","Test Supervisor, Freeze : You have been successful so far! You've passed all practical tests! Let's move to the waitingroom!!!!!",bc_map;
+ mapwarp "job3_rang02","job3_rang01",89,38;
+ }else
+ {
+ mapannounce "job3_rang02","Test Supervisor, Freeze : It's too bad but you couldn't pass the 10 points, so you failed!!!!",bc_map;
+ }
+ end;
+
+OnTimer124000:
+ mapannounce "job3_rang02","Test Supervisor, Freeze : It's too bad, but you'll need to retake the test from the beginning! Please go back!",bc_map;
+ mapwarp "job3_rang02","tur_dun01",93,165;
+ end;
+
+OnTimer127000:
+ mapannounce "job3_rang02","Test Supervisor, Freeze : It's too bad, but you'll need to retake the test from the beginning! Please go back!",bc_map;
+ set $@job_rang_point03,0;
+ mapwarp "job3_rang02","tur_dun01",93,165;
+ donpcevent "Test Supervisor#jr_13::OnDisable";
+ end;
+
+OnTimer130000:
+ set $@job_rang_point03,0;
+ donpcevent "Practical Test::OnEnable";
+ donpcevent "Third Test Timer#jr_12::OnDisable";
+ stopnpctimer;
+ end;
+
+OnInit:
+ set $@job_rang_point03,0;
+ disablenpc "Third Test Timer#jr_12";
+ end;
+
+OnEnable:
+ enablenpc "Third Test Timer#jr_12";
+ initnpctimer;
+ end;
+
+OnDisable:
+ set $@job_rang_point03,0;
+ stopnpctimer;
+ disablenpc "Third Test Timer#jr_12";
+ end;
+}
+
+job3_rang02,251,49,3 script Test Supervisor#jr_13 732,{
+
+ if (job_ranger01 == 6)
+ {
+ if (checkquest(8261) == -1)
+ {
+ mes "[Test Supervisor, Freeze]";
+ mes "Congrats for passing the 2nd practical test! I am the 3rd practical test supervisor Freeze!";
+ next;
+ mes "[Test Supervisor, Freeze]";
+ mes "For the 3rd test, I'll test how much you could use a wolf effectively. When you become a Ranger in the future, you'll learn an wolf!";
+ next;
+ mes "[Test Supervisor, Freeze]";
+ mes "^0000ffThe tester is provided with a disposable Wolf summoning Flute! When you remove egg bombs coming out from here and there by controlling the summoned wolf, you get points!^000000";
+ next;
+ mes "[Test Supervisor, Freeze]";
+ mes "Tester cannot move during the test, and the test completes when all bombs are removed quickly and accurately within the given time only by using a wolf!";
+ next;
+ mes "[Test Supervisor, Freeze]";
+ mes "^0000ffThe way to control an wolf is to press the alt key and left-click the surface, then the wolf moves to the point where you've clicked on!^000000";
+ mes "^0000ffWhen you target the bomb and press one more, it starts to attack!^000000";
+ next;
+ mes "[Test Supervisor, Freeze]";
+ mes "The 3rd test time limit is about 3 minutes, when you get 10 over 20 points, you can pass the practical test!";
+ next;
+ mes "[Test Supervisor, Freeze]";
+ mes "Well, then first get this Wolf' flutes and after summoning the wolf, talk to me!";
+ getitem 12380,1;
+ setquest 8261;
+ close;
+ }
+ else if (checkquest(8261) == 1)
+ {
+ if (getmercinfo(1) == 2034)
+ {
+ erasequest 8261;
+ mes "[Test Supervisor, Freeze]";
+ mes "Good! Then I'll start the test right now!";
+ next;
+ mes "[Test Supervisor, Freeze]";
+ mes "Keep in mind! You need to remove the egg bomb before it gets exploded by only using a wolf!";
+ next;
+ mes "[Test Supervisor, Freeze]";
+ mes "Then, Good luck!";
+// sc_start SC_STONE,120000,10; // Commented until the Mercenary M_DESERT_WOLF_B is working correctly.
+ close2;
+ donpcevent "Test Supervisor#jr_13::OnDisable";
+ donpcevent "Third Test Timer#jr_12::OnEnable";
+ end;
+ }else if (countitem(12380) < 1)
+ {
+ mes "[Test Supervisor, Freeze]";
+ mes "Huh?! There's no wolf, no Test Flute, where did you get rid of them?!";
+ next;
+ mes "[Test Supervisor, Freeze]";
+ mes "I'll give you one more time specially, so hold yourself together!";
+ next;
+ mes "[Test Supervisor, Freeze]";
+ mes "Summon the wolf quickly, and talk to me again!";
+ getitem 12380,1;
+ close;
+ }
+ mes "[Test Supervisor, Freeze]";
+ mes "Ha? What are you doing?";
+ next;
+ mes "[Test Supervisor, Freeze]";
+ mes "Play the Test Flute quickly to summon the wolf and talk to me!";
+ close;
+ }
+ }
+ mes "[Test Supervisor, Freeze]";
+ mes "Who are you?";
+ next;
+ mes "[Test Supervisor, Freeze]";
+ mes "This area is for the Ranger Job Change test!";
+ mes "And not for Outsiders such as you, so get out!";
+ close;
+
+OnTimer3000:
+ mapannounce "job3_rang02","Test Supervisor, Freeze : Welcome to the 3rd practical test field! I am the 3rd pratcical Test Supervisor Freeze!",bc_map;
+ end;
+
+OnTimer6000:
+ mapannounce "job3_rang02","Test Supervisor, Freeze : For the smooth testing progress for the other testers, if you don't talk to me again in 2 minutes to start the 3rd test, the test will end!",bc_map;
+ end;
+
+OnTimer9000:
+ mapannounce "job3_rang02","Test Supervisor, Freeze : Don't hesitate and let's begin!",bc_map;
+ end;
+
+OnTimer60000:
+ mapannounce "job3_rang02","Test Supervisor, Freeze : For the smooth testing progress for the other testers, if you don't talk to me again in 1 minute to start the 3rd test, the test will end!",bc_map;
+ end;
+
+OnTimer63000:
+ mapannounce "job3_rang02","Test Supervisor, Freeze : Don't hesitate and let's begin!",bc_map;
+ end;
+
+OnTimer120000:
+ mapannounce "job3_rang02","Test Supervisor, Freeze : Why aren't you starting the test?",bc_map;
+ end;
+
+OnTimer123000:
+ mapannounce "job3_rang02","Test Supervisor, Freeze : You weren't on time for the test, so I am ending the 3rd practical test!",bc_map;
+ end;
+
+OnTimer127000:
+ set $@job_rang_point03,0;
+ mapannounce "job3_rang02","Test Supervisor, Freeze : It's too bad, but try again!",bc_map;
+ mapwarp "job3_rang02","tur_dun01",93,165;
+ end;
+
+OnTimer130000:
+ mapannounce "job3_rang02","Test Supervisor, Freeze : It's too bad, but try again!",bc_map;
+ mapwarp "job3_rang02","tur_dun01",93,165;
+ end;
+
+OnTimer133000:
+ donpcevent "Third Test Timer#jr_12::OnDisable";
+ donpcevent "Practical Test::OnEnable";
+ donpcevent "Test Supervisor#jr_13::OnDisable";
+ stopnpctimer;
+ end;
+
+OnInit:
+ disablenpc "Test Supervisor#jr_13";
+ end;
+
+OnEnable:
+ enablenpc "Test Supervisor#jr_13";
+ initnpctimer;
+ donpcevent "Second Test Timer#jr_08::OnDisable";
+ donpcevent "Staff Rust#job_ranger09::OnDisable";
+ donpcevent "Plant Summon#jr_10::OnDisable";
+ donpcevent "Test Supervisor#jr_11::OnDisable";
+ end;
+
+OnDisable:
+ stopnpctimer;
+ disablenpc "Test Supervisor#jr_13";
+ end;
+}
+
+job3_rang02,246,42,0 script Egg Bomb#job_ranger14 139,{
+
+OnInit:
+ disablenpc "Egg Bomb#job_ranger14";
+ end;
+
+OnEnable:
+ enablenpc "Egg Bomb#job_ranger14";
+ initnpctimer;
+ monster "job3_rang02",246,42,"Egg Bomb",1047,1,"Egg Bomb#job_ranger14::OnMyMobDead";
+ mapannounce "job3_rang02","Egg Bomb 'I am almost done now... Don't stop me.'",bc_map;
+ end;
+
+OnDisable:
+ killmonster "job3_rang02","Egg Bomb#job_ranger14::OnMyMobDead";
+ stopnpctimer;
+ disablenpc "Egg Bomb#job_ranger14";
+ end;
+
+OnMyMobDead:
+ set $@job_rang_point03,$@job_rang_point03+1;
+ mapannounce "job3_rang02","Egg Bomb : Alas, it was only a dream for a short time...",bc_map;
+ donpcevent "Egg Bomb#job_ranger14::OnDisable";
+ end;
+
+OnTimer10000:
+ mapannounce "job3_rang02","Egg Bomb : Ughhhhhhhhhhhhhh!!! So what did I say!!!",bc_map;
+ donpcevent "Egg Bomb#job_ranger14::OnDisable";
+ end;
+}
+
+job3_rang02,249,46,0 script Egg Bomb#job_ranger15 139,{
+
+OnInit:
+ disablenpc "Egg Bomb#job_ranger15";
+ end;
+
+OnEnable:
+ enablenpc "Egg Bomb#job_ranger15";
+ initnpctimer;
+ monster "job3_rang02",249,46,"Egg Bomb",1047,1,"Egg Bomb#job_ranger15::OnMyMobDead";
+ mapannounce "job3_rang02","Egg Bomb : Hey, I am going to explode. What are you going to do?",bc_map;
+ end;
+
+OnDisable:
+ killmonster "job3_rang02","Egg Bomb#job_ranger15::OnMyMobDead";
+ stopnpctimer;
+ disablenpc "Egg Bomb#job_ranger15";
+ end;
+
+OnMyMobDead:
+ set $@job_rang_point03,$@job_rang_point03+1;
+ mapannounce "job3_rang02","Egg Bomb : The world is meaningless and my dream is so far away...",bc_map;
+ donpcevent "Egg Bomb#job_ranger15::OnDisable";
+ end;
+
+OnTimer10000:
+ mapannounce "job3_rang02","Egg Bomb : Ughhhhhhhhhhhhhh!!! So what did I say!!!",bc_map;
+ donpcevent "Egg Bomb#job_ranger15::OnDisable";
+ end;
+}
+
+job3_rang02,256,43,0 script Egg Bomb#job_ranger16 139,{
+
+OnInit:
+ disablenpc "Egg Bomb#job_ranger16";
+ end;
+
+OnEnable:
+ enablenpc "Egg Bomb#job_ranger16";
+ initnpctimer;
+ monster "job3_rang02",256,43,"Egg Bomb",1047,1,"Egg Bomb#job_ranger16::OnMyMobDead";
+ mapannounce "job3_rang02","Egg Bomb : I... no, I can't standy anymore!!",bc_map;
+ end;
+
+OnDisable:
+ killmonster "job3_rang02","Egg Bomb#job_ranger16::OnMyMobDead";
+ stopnpctimer;
+ disablenpc "Egg Bomb#job_ranger16";
+ end;
+
+OnMyMobDead:
+ set $@job_rang_point03,$@job_rang_point03+1;
+ mapannounce "job3_rang02","Egg Bomb : Don't be relieved. Misery always comes from carelesness.",bc_map;
+ donpcevent "Egg Bomb#job_ranger16::OnDisable";
+ end;
+
+OnTimer10000:
+ mapannounce "job3_rang02","Egg Bomb : Ughhhhhhhhhhhhhh!!! So what did I say!!!",bc_map;
+ donpcevent "Egg Bomb#job_ranger16::OnDisable";
+ end;
+}
+
+job3_rang02,243,54,0 script Egg Bomb#job_ranger17 139,{
+
+OnInit:
+ disablenpc "Egg Bomb#job_ranger17";
+ end;
+
+OnEnable:
+ enablenpc "Egg Bomb#job_ranger17";
+ initnpctimer;
+ monster "job3_rang02",243,54,"Egg Bomb",1047,1,"Egg Bomb#job_ranger17::OnMyMobDead";
+ mapannounce "job3_rang02","Egg Bomb 'I am almost done now... Don't stop me.'",bc_map;
+ end;
+
+OnDisable:
+ killmonster "job3_rang02","Egg Bomb#job_ranger17::OnMyMobDead";
+ stopnpctimer;
+ disablenpc "Egg Bomb#job_ranger17";
+ end;
+
+OnMyMobDead:
+ set $@job_rang_point03,$@job_rang_point03+1;
+ mapannounce "job3_rang02","Egg Bomb : Alas, it was only a dream for a short time...",bc_map;
+ donpcevent "Egg Bomb#job_ranger17::OnDisable";
+ end;
+
+OnTimer10000:
+ mapannounce "job3_rang02","Egg Bomb : Ughhhhhhhhhhhhhh!!! So what did I say!!!",bc_map;
+ donpcevent "Egg Bomb#job_ranger17::OnDisable";
+ end;
+}
+
+job3_rang02,246,58,0 script Egg Bomb#job_ranger18 139,{
+
+OnInit:
+ disablenpc "Egg Bomb#job_ranger18";
+ end;
+
+OnEnable:
+ enablenpc "Egg Bomb#job_ranger18";
+ initnpctimer;
+ monster "job3_rang02",246,58,"Egg Bomb",1047,1,"Egg Bomb#job_ranger18::OnMyMobDead";
+ mapannounce "job3_rang02","Egg Bomb : Hey, I am going to explode. What are you going to do?",bc_map;
+ end;
+
+OnDisable:
+ killmonster "job3_rang02","Egg Bomb#job_ranger18::OnMyMobDead";
+ stopnpctimer;
+ disablenpc "Egg Bomb#job_ranger18";
+ end;
+
+OnMyMobDead:
+ set $@job_rang_point03,$@job_rang_point03+1;
+ mapannounce "job3_rang02","Egg Bomb : The world is meaningless and my dream is so far away...",bc_map;
+ donpcevent "Egg Bomb#job_ranger18::OnDisable";
+ end;
+
+OnTimer10000:
+ mapannounce "job3_rang02","Egg Bomb : Ughhhhhhhhhhhhhh!!! So what did I say!!!",bc_map;
+ donpcevent "Egg Bomb#job_ranger18::OnDisable";
+ end;
+}
+
+job3_rang02,255,56,0 script Egg Bomb#job_ranger19 139,{
+
+OnInit:
+ disablenpc "Egg Bomb#job_ranger19";
+ end;
+
+OnEnable:
+ enablenpc "Egg Bomb#job_ranger19";
+ initnpctimer;
+ monster "job3_rang02",255,56,"Egg Bomb",1047,1,"Egg Bomb#job_ranger19::OnMyMobDead";
+ mapannounce "job3_rang02","Egg Bomb : I... no, I can't stand anymore!!",bc_map;
+ end;
+
+OnDisable:
+ killmonster "job3_rang02","Egg Bomb#job_ranger19::OnMyMobDead";
+ stopnpctimer;
+ disablenpc "Egg Bomb#job_ranger19";
+ end;
+
+OnMyMobDead:
+ set $@job_rang_point03,$@job_rang_point03+1;
+ mapannounce "job3_rang02","Egg Bomb : Don't be relieved. Misery always comes from carelesness.",bc_map;
+ donpcevent "Egg Bomb#job_ranger19::OnDisable";
+ end;
+
+OnTimer10000:
+ mapannounce "job3_rang02","Egg Bomb : Ughhhhhhhhhhhhhh!!! So what did I say!!!",bc_map;
+ donpcevent "Egg Bomb#job_ranger19::OnDisable";
+ end;
+}
+
+job3_rang02,260,48,0 script Egg Bomb#job_ranger20 139,{
+
+OnInit:
+ disablenpc "Egg Bomb#job_ranger20";
+ end;
+
+OnEnable:
+ enablenpc "Egg Bomb#job_ranger20";
+ initnpctimer;
+ monster "job3_rang02",260,48,"Egg Bomb",1047,1,"Egg Bomb#job_ranger20::OnMyMobDead";
+ mapannounce "job3_rang02","Egg Bomb 'I am almost done now... Don't stop me.'",bc_map;
+ end;
+
+OnDisable:
+ killmonster "job3_rang02","Egg Bomb#job_ranger20::OnMyMobDead";
+ stopnpctimer;
+ disablenpc "Egg Bomb#job_ranger20";
+ end;
+
+OnMyMobDead:
+ set $@job_rang_point03,$@job_rang_point03+1;
+ mapannounce "job3_rang02","Egg Bomb : Alas, it was only a dream for a short time...",bc_map;
+ donpcevent "Egg Bomb#job_ranger20::OnDisable";
+ end;
+
+OnTimer10000:
+ mapannounce "job3_rang02","Egg Bomb : Ughhhhhhhhhhhhhh!!! So what did I say!!!",bc_map;
+ donpcevent "Egg Bomb#job_ranger20::OnDisable";
+ end;
+}
+
+job3_rang02,244,53,0 script Egg Bomb#job_ranger21 139,{
+
+OnInit:
+ disablenpc "Egg Bomb#job_ranger21";
+ end;
+
+OnEnable:
+ enablenpc "Egg Bomb#job_ranger21";
+ initnpctimer;
+ monster "job3_rang02",244,53,"Egg Bomb",1047,1,"Egg Bomb#job_ranger21::OnMyMobDead";
+ mapannounce "job3_rang02","Egg Bomb : Hey, I am going to explode. What are you going to do?",bc_map;
+ end;
+
+OnDisable:
+ killmonster "job3_rang02","Egg Bomb#job_ranger21::OnMyMobDead";
+ stopnpctimer;
+ disablenpc "Egg Bomb#job_ranger21";
+ end;
+
+OnMyMobDead:
+ set $@job_rang_point03,$@job_rang_point03+1;
+ mapannounce "job3_rang02","Egg Bomb : The world is meaningless and my dream is so far away...",bc_map;
+ donpcevent "Egg Bomb#job_ranger21::OnDisable";
+ end;
+
+OnTimer10000:
+ mapannounce "job3_rang02","Egg Bomb : Ughhhhhhhhhhhhhh!!! So what did I say!!!",bc_map;
+ donpcevent "Egg Bomb#job_ranger21::OnDisable";
+ end;
+}
+
+job3_rang02,254,50,0 script Egg Bomb#job_ranger22 139,{
+
+OnInit:
+ disablenpc "Egg Bomb#job_ranger22";
+ end;
+
+OnEnable:
+ enablenpc "Egg Bomb#job_ranger22";
+ initnpctimer;
+ monster "job3_rang02",254,50,"Egg Bomb",1047,1,"Egg Bomb#job_ranger22::OnMyMobDead";
+ mapannounce "job3_rang02","Egg Bomb : I... no, I can't stand anymore!!",bc_map;
+ end;
+
+OnDisable:
+ killmonster "job3_rang02","Egg Bomb#job_ranger22::OnMyMobDead";
+ stopnpctimer;
+ disablenpc "Egg Bomb#job_ranger22";
+ end;
+
+OnMyMobDead:
+ set $@job_rang_point03,$@job_rang_point03+1;
+ mapannounce "job3_rang02","Egg Bomb : Don't be relieved. Misery always comes from carelesness.",bc_map;
+ donpcevent "Egg Bomb#job_ranger22::OnDisable";
+ end;
+
+OnTimer10000:
+ mapannounce "job3_rang02","Egg Bomb : Ughhhhhhhhhhhhhh!!! So what did I say!!!",bc_map;
+ donpcevent "Egg Bomb#job_ranger22::OnDisable";
+ end;
+}
+
+job3_rang02,241,41,0 script Egg Bomb#job_ranger23 139,{
+
+OnInit:
+ disablenpc "Egg Bomb#job_ranger23";
+ end;
+
+OnEnable:
+ enablenpc "Egg Bomb#job_ranger23";
+ initnpctimer;
+ monster "job3_rang02",241,41,"Egg Bomb",1047,1,"Egg Bomb#job_ranger23::OnMyMobDead";
+ mapannounce "job3_rang02","Egg Bomb 'I am almost done now... Don't stop me.'",bc_map;
+ end;
+
+OnDisable:
+ killmonster "job3_rang02","Egg Bomb#job_ranger23::OnMyMobDead";
+ stopnpctimer;
+ disablenpc "Egg Bomb#job_ranger23";
+ end;
+
+OnMyMobDead:
+ set $@job_rang_point03,$@job_rang_point03+1;
+ mapannounce "job3_rang02","Egg Bomb : Alas, it was only a dream for a short time...",bc_map;
+ donpcevent "Egg Bomb#job_ranger23::OnDisable";
+ end;
+
+OnTimer10000:
+ mapannounce "job3_rang02","Egg Bomb : Ughhhhhhhhhhhhhh!!! So what did I say!!!",bc_map;
+ donpcevent "Egg Bomb#job_ranger23::OnDisable";
+ end;
+}
+
+job3_rang02,259,41,0 script Egg Bomb#job_ranger24 139,{
+
+OnInit:
+ disablenpc "Egg Bomb#job_ranger24";
+ end;
+
+OnEnable:
+ enablenpc "Egg Bomb#job_ranger24";
+ initnpctimer;
+ monster "job3_rang02",259,41,"Egg Bomb",1047,1,"Egg Bomb#job_ranger24::OnMyMobDead";
+ mapannounce "job3_rang02","Egg Bomb : Hey, I am going to explode. What are you going to do?",bc_map;
+ end;
+
+OnDisable:
+ killmonster "job3_rang02","Egg Bomb#job_ranger24::OnMyMobDead";
+ stopnpctimer;
+ disablenpc "Egg Bomb#job_ranger24";
+ end;
+
+OnMyMobDead:
+ set $@job_rang_point03,$@job_rang_point03+1;
+ mapannounce "job3_rang02","Egg Bomb : The world is meaningless and my dream is so far away...",bc_map;
+ donpcevent "Egg Bomb#job_ranger24::OnDisable";
+ end;
+
+OnTimer10000:
+ mapannounce "job3_rang02","Egg Bomb : Ughhhhhhhhhhhhhh!!! So what did I say!!!",bc_map;
+ donpcevent "Egg Bomb#job_ranger24::OnDisable";
+ end;
+}
+
+job3_rang02,256,52,0 script Egg Bomb#job_ranger25 139,{
+
+OnInit:
+ disablenpc "Egg Bomb#job_ranger25";
+ end;
+
+OnEnable:
+ enablenpc "Egg Bomb#job_ranger25";
+ initnpctimer;
+ monster "job3_rang02",256,52,"Egg Bomb",1047,1,"Egg Bomb#job_ranger25::OnMyMobDead";
+ mapannounce "job3_rang02","Egg Bomb : I... no, I can't standy anymore!!",bc_map;
+ end;
+
+OnDisable:
+ killmonster "job3_rang02","Egg Bomb#job_ranger25::OnMyMobDead";
+ stopnpctimer;
+ disablenpc "Egg Bomb#job_ranger25";
+ end;
+
+OnMyMobDead:
+ set $@job_rang_point03,$@job_rang_point03+1;
+ mapannounce "job3_rang02","Egg Bomb : Don't be relieved. Misery always comes from carelesness.",bc_map;
+ donpcevent "Egg Bomb#job_ranger25::OnDisable";
+ end;
+
+OnTimer10000:
+ mapannounce "job3_rang02","Egg Bomb : Ughhhhhhhhhhhhhh!!! So what did I say!!!",bc_map;
+ donpcevent "Egg Bomb#job_ranger25::OnDisable";
+ end;
+}
+
+job3_rang02,259,58,0 script Egg Bomb#job_ranger26 139,{
+
+OnInit:
+ disablenpc "Egg Bomb#job_ranger26";
+ end;
+
+OnEnable:
+ enablenpc "Egg Bomb#job_ranger26";
+ initnpctimer;
+ monster "job3_rang02",259,58,"Egg Bomb",1047,1,"Egg Bomb#job_ranger26::OnMyMobDead";
+ mapannounce "job3_rang02","Egg Bomb 'I am almost done now... Don't stop me.'",bc_map;
+ end;
+
+OnDisable:
+ killmonster "job3_rang02","Egg Bomb#job_ranger26::OnMyMobDead";
+ stopnpctimer;
+ disablenpc "Egg Bomb#job_ranger26";
+ end;
+
+OnMyMobDead:
+ set $@job_rang_point03,$@job_rang_point03+1;
+ mapannounce "job3_rang02","Egg Bomb : Alas, it was only a dream for a short time...",bc_map;
+ donpcevent "Egg Bomb#job_ranger26::OnDisable";
+ end;
+
+OnTimer10000:
+ mapannounce "job3_rang02","Egg Bomb : Ughhhhhhhhhhhhhh!!! So what did I say!!!",bc_map;
+ donpcevent "Egg Bomb#job_ranger26::OnDisable";
+ end;
+}
+
+job3_rang02,254,52,0 script Egg Bomb#job_ranger27 139,{
+
+OnInit:
+ disablenpc "Egg Bomb#job_ranger27";
+ end;
+
+OnEnable:
+ enablenpc "Egg Bomb#job_ranger27";
+ initnpctimer;
+ monster "job3_rang02",254,52,"Egg Bomb",1047,1,"Egg Bomb#job_ranger27::OnMyMobDead";
+ mapannounce "job3_rang02","Egg Bomb : Hey, I am going to explode. What are you going to do?",bc_map;
+ end;
+
+OnDisable:
+ killmonster "job3_rang02","Egg Bomb#job_ranger27::OnMyMobDead";
+ stopnpctimer;
+ disablenpc "Egg Bomb#job_ranger27";
+ end;
+
+OnMyMobDead:
+ set $@job_rang_point03,$@job_rang_point03+1;
+ mapannounce "job3_rang02","Egg Bomb : The world is meaningless and my dream is so far away...",bc_map;
+ donpcevent "Egg Bomb#job_ranger27::OnDisable";
+ end;
+
+OnTimer10000:
+ mapannounce "job3_rang02","Egg Bomb : Ughhhhhhhhhhhhhh!!! So what did I say!!!",bc_map;
+ donpcevent "Egg Bomb#job_ranger27::OnDisable";
+ end;
+}
+
+job3_rang02,247,42,0 script Egg Bomb#job_ranger28 139,{
+
+OnInit:
+ disablenpc "Egg Bomb#job_ranger28";
+ end;
+
+OnEnable:
+ enablenpc "Egg Bomb#job_ranger28";
+ initnpctimer;
+ monster "job3_rang02",247,42,"Egg Bomb",1047,1,"Egg Bomb#job_ranger28::OnMyMobDead";
+ mapannounce "job3_rang02","Egg Bomb : I... no, I can't standy anymore!!",bc_map;
+ end;
+
+OnDisable:
+ killmonster "job3_rang02","Egg Bomb#job_ranger28::OnMyMobDead";
+ stopnpctimer;
+ disablenpc "Egg Bomb#job_ranger28";
+ end;
+
+OnMyMobDead:
+ set $@job_rang_point03,$@job_rang_point03+1;
+ mapannounce "job3_rang02","Egg Bomb : Don't be relieved. Misery always comes from carelesness.",bc_map;
+ donpcevent "Egg Bomb#job_ranger28::OnDisable";
+ end;
+
+OnTimer10000:
+ mapannounce "job3_rang02","Egg Bomb : Ughhhhhhhhhhhhhh!!! So what did I say!!!",bc_map;
+ donpcevent "Egg Bomb#job_ranger28::OnDisable";
+ end;
+}
+
+job3_rang01,90,43,3 script Ranger Master#jr_29 832,{
+
+ if (job_ranger01 < 6)
+ {
+ mes "[Ranger Master, Neveragain]";
+ mes "... ...Huh?";
+ mes "Strange... ...how did you get here?";
+ next;
+ mes "[Ranger Master, Neveragain]";
+ mes "You don't seem to belong here...";
+ next;
+ mes "[Ranger Master, Neveragain]";
+ mes "Leave this place,";
+ mes "You shouldn't have come here.";
+ close2;
+ warp "alberta",117,57;
+ end;
+ }else if (job_ranger01 == 6)
+ {
+ if (BaseLevel < 99 || JobLevel < 50)
+ {
+ mes "[Ranger Master, Neveragain]";
+ mes "No.";
+ mes "I can tell just by looking at you that you seem to be to unexperienced.";
+ next;
+ mes "[Ranger Master, Neveragain]";
+ mes "Have more pride in your job and get more experience, and then when you grow as a Hunter or a Sniper you can make an aura by yourself, please come back again.";
+ close2;
+ warp "alberta",117,57;
+ end;
+ }
+ changequest 8259,8262;
+ mes "[Ranger Master, Neveragain]";
+ mes "Congratulations!";
+ mes "You've completed all the rough practical tests!";
+ next;
+ mes "[Ranger Master, Neveragain]";
+ mes "Well, You've had enough experience so I won't need to drag on.";
+ next;
+ mes "[Ranger Master, Neveragain]";
+ mes "Before you do a job change ^0000ffDismiss your Falcon^000000, and check if you've used all of your ^0000ffSkill Points^000000.";
+ next;
+ switch(select("Wait a minute:I am ready"))
+ {
+ case 1:
+ mes "[Ranger Master, Neveragain]";
+ mes "I am not running away so take your time.";
+ close;
+ case 2:
+ if (checkfalcon() == 0)
+ {
+ if (SkillPoint > 0)
+ {
+ mes "[Ranger Master, Neveragain]";
+ mes "It seems you haven't used all skill points.";
+ next;
+ mes "[Ranger Master, Neveragain]";
+ mes "Please use your skill points, and come back to me.";
+ close;
+ }
+ mes "[Ranger Master, Neveragain]";
+ mes "Good. No falcon and you've used up all your skill points.";
+ break;
+ }else
+ {
+ mes "[Ranger Master, Neveragain]";
+ mes "Didn't you dismiss your falcon??";
+ next;
+ mes "[Ranger Master, Neveragain]";
+ mes "Please dismiss your falcon, and come back to me.";
+ close;
+ }
+ }
+ mes "[Ranger Master, Neveragain]";
+ mes "Okay, before you really change the job into a ranger, I'll ask you on more time.";
+ mes "Do you really want to become a ranger?";
+ next;
+ switch(select("No:Yes!"))
+ {
+ case 1:
+ mes "[Ranger Master, Neveragain]";
+ mes "Umm? That's not the answer that I was waiting for...";
+ next;
+ mes "[Ranger Master, Neveragain]";
+ mes "Even after passing through all the rough practical tests, you don't want to become a ranger... are you sure?";
+ close;
+ case 2:
+ break;
+ }
+ if(Class == Job_Baby_Hunter){
+ mes "[Ranger Master, Neveragain]";
+ mes "Your firm answer seems very trustworthy!";
+ next;
+ nude;
+ if (countitem(1703) > 0)
+ {
+ mes "[Ranger Master, Neveragain]";
+ mes "From now on be active as a splendid Ranger!";
+ mes "I wish you luck in your future!";
+ delitem 1703,1;
+ set job_ranger01,7;
+ completequest 8262;
+ jobchange Job_Baby_Ranger;
+ getitem 5748,1;
+ getitem 2795,1;
+ getitem 6124,1;
+ close;
+ }
+ mes "[Ranger Master, Neveragain]";
+ mes "...However,";
+ mes "You have to return your test items.";
+ mes "What did you do with your testing Bow?";
+ close;
+ }
+ else if (Class == Job_Hunter)
+ {
+ mes "[Ranger Master, Neveragain]";
+ mes "Your firm answer seems very trustworthy!";
+ next;
+ nude;
+ if (countitem(1703) > 0)
+ {
+ mes "[Ranger Master, Neveragain]";
+ mes "From now on be active as a splendid Ranger!";
+ mes "I wish you luck in your future!";
+ delitem 1703,1;
+ set job_ranger01,7;
+ completequest 8262;
+ jobchange Job_Ranger;
+ getitem 5748,1;
+ getitem 2795,1;
+ getitem 6124,1;
+ close;
+ }
+ mes "[Ranger Master, Neveragain]";
+ mes "...However,";
+ mes "You have to return your test items.";
+ mes "What did you do with your testing Bow?";
+ close;
+ }else if (Class == Job_Sniper)
+ {
+ mes "[Ranger Master, Neveragain]";
+ mes "Your firm answer seems very trustworthy!";
+ next;
+ nude;
+ if (countitem(1703) > 0)
+ {
+ mes "[Ranger Master, Neveragain]";
+ mes "From now on be active as a splendid Ranger!";
+ mes "I wish you luck in your future!";
+ delitem 1703,1;
+ set job_ranger01,7;
+ completequest 8262;
+ jobchange Job_Ranger_T;
+ getitem 5748,1;
+ getitem 2795,1;
+ getitem 6124,1;
+ close;
+ }
+ mes "[Ranger Master, Neveragain]";
+ mes "...However,";
+ mes "You have to return your test items.";
+ mes "What did you do with your testing Bow?";
+ close;
+ }else
+ {
+ mes "[Ranger Master, Neveragain]";
+ mes "...Huh? Who are you?";
+ mes "You are not a Hunter or a Sniper?!";
+ next;
+ mes "[Ranger Master, Neveragain]";
+ mes "What are you doing here?";
+ mes "You shouldn't have come here. Get out!";
+ set job_ranger01,0;
+ erasequest 8254;
+ erasequest 8255;
+ erasequest 8256;
+ erasequest 8257;
+ erasequest 8258;
+ erasequest 8259;
+ erasequest 8260;
+ erasequest 8261;
+ erasequest 8262;
+ close2;
+ warp "alberta",117,57;
+ end;
+ }
+ }else if (job_ranger01 > 6)
+ {
+ mes "[Ranger Master, Neveragain]";
+ mes "Hey, you look great.";
+ mes "What are you doing here?";
+ next;
+ switch(select("I just came by:Please let me be out"))
+ {
+ case 1:
+ mes "[Ranger Master, Neveragain]";
+ mes "Well, there's nothing to see and you came.";
+ next;
+ mes "[Ranger Master, Neveragain]";
+ mes "Take a rest as long as you want.";
+ mes "It's the place where you can have a tea easily.";
+ close;
+ case 2:
+ break;
+ }
+ mes "[Ranger Master, Neveragain]";
+ mes "It was good to see you.";
+ mes "Don't lose the dignity as a Ranger wherever you go.";
+ close2;
+ warp "alberta",117,57;
+ end;
+ }
+ mes "[Ranger Master, Neveragain]";
+ mes "Hey, you look great.";
+ mes "What are you doing here?";
+ next;
+ switch(select("I just came by:Please let me be out"))
+ {
+ case 1:
+ mes "[Ranger Master, Neveragain]";
+ mes "Well, there's nothing to see and you came.";
+ next;
+ mes "[Ranger Master, Neveragain]";
+ mes "Take a rest as long as you want.";
+ mes "It's the place where you can have a tea easily.";
+ close;
+ case 2:
+ break;
+ }
+ mes "[Ranger Master, Neveragain]";
+ mes "It was good to see you.";
+ mes "Don't lose the dignity as a Ranger wherever you go.";
+ close2;
+ warp "alberta",117,57;
+ end;
+}
+
+job3_rang01,58,1,0 script Test#job_ranger 88,{
+
+ if(getgmlevel() > 98)
+ {
+ switch(select("Enable Waiting Room:Disable Waiting Room:Enable 1st Test:Disable 1st Test:Enable 2nd Test:Disable 2nd Test:Enable 3rd Test:Disable 3rd Test:Cancel"))
+ {
+ case 1:
+ mes "Enabled Waiting Room";
+ donpcevent "Practical Test::OnEnable";
+ close;
+ case 2:
+ mes "Disabled Waiting Room";
+ donpcevent "Practical Test::OnDisable";
+ close;
+ case 3:
+ mes "1st Test Enabled";
+ donpcevent "Test Supervisor#jr_04::OnEnable";
+ close;
+ case 4:
+ mes "1st Test Disabled";
+ donpcevent "Test Supervisor#jr_04::OnDisable";
+ donpcevent "First Test Timer#jr_05::OnDisable";
+ donpcevent "Correct Monster Summon::OnReset";
+ donpcevent "False Monster Summon::OnReset";
+ close;
+ case 5:
+ mes "2nd Test Enabled";
+ donpcevent "Second Test Timer#jr_08::OnEnable";
+ close;
+ case 6:
+ mes "2nd Test Disabled";
+ donpcevent "Second Test Time#job_ranger08::OnDisable";
+ close;
+ case 7:
+ mes "3rd Test has been Enabled";
+ donpcevent "3rd Test Timer#job_ranger12::OnEnable";
+ close;
+ case 8:
+ mes "3rd Test has been Disabled";
+ donpcevent "Third Test Timer#jr_12::OnDisable";
+ donpcevent "Egg Bomb#job_ranger14::OnDisable";
+ donpcevent "Egg Bomb#job_ranger15::OnDisable";
+ donpcevent "Egg Bomb#job_ranger16::OnDisable";
+ donpcevent "Egg Bomb#job_ranger17::OnDisable";
+ donpcevent "Egg Bomb#job_ranger18::OnDisable";
+ donpcevent "Egg Bomb#job_ranger19::OnDisable";
+ donpcevent "Egg Bomb#job_ranger20::OnDisable";
+ donpcevent "Egg Bomb#job_ranger21::OnDisable";
+ donpcevent "Egg Bomb#job_ranger22::OnDisable";
+ donpcevent "Egg Bomb#job_ranger23::OnDisable";
+ donpcevent "Egg Bomb#job_ranger24::OnDisable";
+ donpcevent "Egg Bomb#job_ranger25::OnDisable";
+ donpcevent "Egg Bomb#job_ranger26::OnDisable";
+ donpcevent "Egg Bomb#job_ranger27::OnDisable";
+ donpcevent "Egg Bomb#job_ranger28::OnDisable";
+ close;
+ case 9:
+ close;
+ }
+ }
+} \ No newline at end of file
diff --git a/npc/re/jobs/3-1/rune_knight.txt b/npc/re/jobs/3-1/rune_knight.txt
new file mode 100644
index 000000000..d8f05acb8
--- /dev/null
+++ b/npc/re/jobs/3-1/rune_knight.txt
@@ -0,0 +1,3984 @@
+//===== rAthena Script =======================================
+//= Rune Knight Job Quest
+//===== By: ==================================================
+//= L0ne_W0lf
+//= Credits: Gepard, Muad_Dib
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= rAthena SVN
+//===== Description: =========================================
+//= Job change Quest from Knight / Lord Knight -> Rune Knight.
+//= Does not entirely support changing to Baby Third Class.
+//===== Additional Comments: =================================
+//= 1.0 First version.
+//= 1.1 Added forgoten Header. [Masao]
+//============================================================
+
+prt_in,162,24,3 script Splendid-Looking Knight 470,{
+
+ if (Class == Job_Rune_Knight || Class == Job_Rune_Knight_T || Class == Job_Baby_Rune) {
+ mes "[Rune Knight Manuel]";
+ mes "Your are now a member of our select brethren. I can still remember when I first met you.";
+ next;
+ mes "[Rune Knight Manuel]";
+ mes "Strive to live the way of the sword with honor...";
+ next;
+ mes "[Rune Knight Manuel]";
+ mes "Cheers to our new future...";
+ close;
+ }
+ if (job_rune_edq == 0) {
+ mes "[Rune Knight Manuel]";
+ mes "There are many paths one can take in the world. Most people can see their path but don't really follow it...";
+ next;
+ mes "[Rune Knight Manuel]";
+ mes "Anyway the drinks here are really good. Would you like to have one?";
+ next;
+ switch (select("Sure, let's have a drink.:I refuse.")) {
+ case 1:
+ if (Class == Job_Knight || Class == Job_Lord_Knight || Class == Job_Baby_Knight) {
+ mes "[Rune Knight Manuel]";
+ mes "You walk the way of sword too don't you? Then we can understand each other. Drinks taste better when it's with a fellow Swordman.";
+ next;
+ mes "[Rune Knight Manuel]";
+ mes "I'll buy this round.";
+ mes "A toast to friendship~";
+ next;
+ if ((BaseLevel > 98) && (JobLevel > 49)) {
+ mes "[Rune Knight Manuel]";
+ mes "In my opinion you seem to be ready to start a new way...";
+ next;
+ mes "[Rune Knight Manuel]";
+ mes "Walking the way of the sword is a perpetual battle. From now on you may have a rough journey ahead of you...";
+ next;
+ mes "[Rune Knight Manuel]";
+ mes "If you want to walk on your new way and surpass your current limits, I'm willing to help you.";
+ next;
+ mes "[Rune Knight Manuel]";
+ mes "The true way of a Swordman who learned harmony to break the limit of a sword is a Rune Knight.";
+ next;
+ mes "[Rune Knight Manuel]";
+ mes "Won't you join our brethren? You look like you're fully qualified to become one of us.";
+ next;
+ mes "[Rune Knight Manuel]";
+ mes "If you are interested, I'll introduce you to the masters who will guide you to the way of the Rune Knight with my recommendation.";
+ next;
+ switch (select("I am not ready yet.:I'm ready to be a Rune Knight.")) {
+ case 1:
+ mes "[Rune Knight Manuel]";
+ mes "Right. Every challenge always needs preparation. Okay, I'll wait for you.";
+ next;
+ mes "[Rune Knight Manuel]";
+ mes "Of course, I would only accept you if you are one hundred percent sure of your conviction to become a Rune Knight.";
+ close;
+ case 2:
+ mes "[Rune Knight Manuel]";
+ mes "You're sure now?";
+ mes "Let me send a dispatch to my comrades that you are willing to join our ranks.";
+ next;
+ set job_rune_edq,1;
+ setquest 3200;
+ mes "[Rune Knight Manuel]";
+ mes "You know the place called Glast Heim? There's a Rune Knight waiting for you there, he will guide you to the entrance of Glast Heim Tower.";
+ next;
+ mes "[Rune Knight Manuel]";
+ mes "My name is Manuel. I am called the Rune Knight of Brilliance. When you tell him that you are a Rune Knight candidate with my recommendation, he will handle the rest.";
+ next;
+ mes "[Rune Knight Manuel]";
+ mes "I will wait for the day that you become our comrade as a true Rune Knight.";
+ close;
+ }
+ }
+ mes "[Rune Knight Manuel]";
+ mes "If you continually walk the way of the sword, you will eventually feel the limits of your powers. Like myself before...";
+ next;
+ mes "[Rune Knight Manuel]";
+ mes "When the time comes there will be a way to help you surpass that limit. Until the day that your strength has grown comes, we can at least still have a drink together.";
+ next;
+ mes "[Rune Knight Manuel]";
+ mes "A toast to the day that your strength can withstand the powers of a Rune Knight!";
+ close;
+ }
+ mes "[Rune Knight Manuel]";
+ mes "I believe that the wind of change is not always a good one.";
+ next;
+ mes "[Rune Knight Manuel]";
+ mes "Just like the taste of this drink. I wish the taste of this drink is kept here forever.";
+ close;
+ case 2:
+ mes "[Rune Knight Manuel]";
+ mes "Are you sure? You don't know the true elegance of these drinks...";
+ close;
+ }
+ }
+ if (job_rune_edq == 1) {
+ mes "[Rune Knight Manuel]";
+ mes "The Rune Knight is waiting for you at Glast Heim. He will guide you to the entrance of Glast Heim Tower.";
+ next;
+ mes "[Rune Knight Manuel]";
+ mes "Tell him that you are a candidate to be a Rune Knight and he will handle the rest.";
+ next;
+ mes "[Rune Knight Manuel]";
+ mes "I will wait for the day you become our comrade as a true Rune Knight.";
+ close;
+ }
+ mes "[Rune Knight Manuel]";
+ mes "Don't you have things to do right now?";
+ next;
+ mes "[Rune Knight Manuel]";
+ mes "No? Well then never mind.";
+ mes "Don't you love the smell of alcohol?";
+ close;
+}
+
+glast_01,44,363,3 script Guide, Jungberg 468,{
+
+ if (Class == Job_Rune_Knight || Class == Job_Rune_Knight_T || Class == Job_Baby_Rune) {
+ mes "[Guide, Jungberg]";
+ mes "Oh you must be, "+strcharinfo(0)+".";
+ mes "Welcome.";
+ next;
+ mes "[Guide, Jungberg]";
+ mes "We are looking forward to you helping the Rune Knights spread honor throughout the world.";
+ next;
+ mes "[Guide, Jungberg]";
+ mes "So, What can I help you with?";
+ next;
+ switch (select("I want to go to the gathering place.:Nothing.")) {
+ case 1:
+ mes "[Guide, Jungberg]";
+ mes "Right. I'll send you right now. I'll see you soon.";
+ close2;
+ warp "job3_rune01",80,65;
+ end;
+ case 2:
+ close;
+ }
+ }
+ if (Class == Job_Knight || Class == Job_Lord_Knight || Class == Job_Baby_Knight) {
+ if (job_rune_edq == 0) {
+ mes "[Guide, Jungberg]";
+ mes "Are you a cursed ghost of this place? Or are you an ignorant adventurer?";
+ next;
+ mes "[Guide, Jungberg]";
+ mes "If you are a breathing human, then listen to me carefullly. I wouldn't risk my life here by hesitating to talk to just anyone.";
+ next;
+ switch (select("Who are you?:What are you doing here?:Cancel.")) {
+ case 1:
+ if (Class == Job_Knight || Class == Job_Lord_Knight || Class == Job_Baby_Knight) {
+ mes "[Guide, Jungberg]";
+ mes "I am the only knight who's keeping the way of the Swordman in this cursed place Glast Heim.";
+ next;
+ mes "[Guide, Jungberg]";
+ mes "If you also follow the way of the Swordman our paths will most certainly cross again when you have reached your full potential.";
+ close;
+ }
+ mes "[Guide, Jungberg]";
+ mes "I am the only knight who's keeping the way of the Swordman in this cursed place Glast Heim.";
+ next;
+ mes "[Guide, Jungberg]";
+ mes "Since you don't walk the way of the Sword, you wouldn't understand our spirit. I can manage by myself. Follow your own path.";
+ close;
+ case 2:
+ if (Class == Job_Knight || Class == Job_Lord_Knight || Class == Job_Baby_Knight) {
+ mes "[Guide, Jungberg]";
+ mes "I am a man walking the way of the Sword. But I'm not exactly the same as the likes of you, Rune-Midgart knight.";
+ next;
+ mes "[Guide, Jungberg]";
+ mes "We are not like the other Knights who are absorbed with pomp and circumstance so you may not know of us yet.";
+ next;
+ mes "[Guide, Jungberg]";
+ mes "We are the Rune Knights. A group that leads the true power as well as the physical strength to the righteous way of the Sword.";
+ next;
+ mes "[Guide, Jungberg]";
+ mes "We have been living in secret here in the deep of Glast Heim for a half century but it's time to let the world know our purpose.";
+ next;
+ mes "[Guide, Jungberg]";
+ mes "Now there are many instructors who are looking for talented Sword wielders in various places of Rune Midgard. They are looking for a people who will join the true way of the Sword.";
+ next;
+ mes "[Guide, Jungberg]";
+ mes "If you wish to join the Rune Knights. Please get a recommendation from one of the guides and come to me again.";
+ close;
+ }
+ mes "[Guide, Jungberg]";
+ mes "We are not like the other Knights who are absorbed with pomp and circumstance so you may not know of us yet.";
+ next;
+ mes "[Guide, Jungberg]";
+ mes "We are the Rune Knights. A group that leads the true power as well as the physical strength to the righteous way of the Sword.";
+ next;
+ mes "[Guide, Jungberg]";
+ mes "We have been living in secret here in the deep of Glast Heim for a half century but it's time to let the world know our purpose.";
+ next;
+ mes "[Guide, Jungberg]";
+ mes "Now there are many instructors who are looking for talented Sword wielders in various places of Rune Midgard. They are looking for a people who will join the true way of the Sword.";
+ next;
+ mes "[Guide, Jungberg]";
+ // custom translation
+ mes "Unfortunately, you are pursuing a different path than our people...I hope you can follow their path and convictions.";
+ close;
+ case 3:
+ close;
+ }
+ }
+ if (job_rune_edq == 1) {
+ mes "[Guide, Jungberg]";
+ mes "Are you a cursed ghost of this place? Or are you an ignorant adventurer?";
+ next;
+ mes "[Guide, Jungberg]";
+ mes "If you are a breathing human, then listen to me carefullly. I wouldn't risk my life here by hesitating to talk to just anyone.";
+ next;
+ switch (select("I came to be a Rune Knight.:Cancel.")) {
+ case 1:
+ mes "[Guide, Jungberg]";
+ mes "Um... Are you the Rune Knight candidate that Manuel talked about?";
+ next;
+ mes "[Guide, Jungberg]";
+ mes "Your name is "+strcharinfo(0)+", right? I can see clearly that you are qualified to become our comrade.";
+ next;
+ mes "[Guide, Jungberg]";
+ mes "Good. I don't have to ask anymore about your qualification to join our brethren....1.S...Now I'll give you your first assignment.";
+ next;
+ mes "[Guide, Jungberg]";
+ mes "Find our Rune Knight gathering place hidden inside of Glast Heim.";
+ next;
+ mes "[Guide, Jungberg]";
+ mes "There's a place that leads to the Rune Knight's secret gathering room inside the Glast Heim Chivalry. Find that place by yourself.";
+ next;
+ mes "[Guide, Jungberg]";
+ mes "If you can find it, there'll be a person waiting to greet you, so let's start.";
+ next;
+ mes "[Guide, Jungberg]";
+ mes "Of course your life might be at risk by the ghosts of Glast Heim...but overcoming the risk shouldn't be hard for a Rune Knight candidate.";
+ set job_rune_edq,2;
+ changequest 3200,3201;
+ close;
+ case 2:
+ close;
+ }
+ }
+ if (job_rune_edq == 2) {
+ mes "[Guide, Jungberg]";
+ mes "The 1st assignment is to find out our Rune Knight gathering place hidden inside of Glast Heim.";
+ next;
+ mes "[Guide, Jungberg]";
+ mes "There's a place that leads to the Rune Knights' secret gathering place inside Glast Heim Chivalry. Find that place by yourself.";
+ next;
+ mes "[Guide, Jungberg]";
+ mes "If you can find it, there'll be a person waiting to greet you, so let's start.";
+ next;
+ mes "[Guide, Jungberg]";
+ mes "Of course your life might be at risk by the ghosts of Glast Heim...but overcoming the risk shouldn't be hard for a Rune Knight candidate.";
+ close;
+ }
+ mes "[Guide, Jungberg]";
+ mes "It seems that you are still taking the test. Do your best and pass all the tests.";
+ next;
+ switch (select("I want to go to the gathering place.:Quit the conversation.")) {
+ case 1:
+ mes "[Guide, Jungberg]";
+ mes "All right. I'll send you right away. I'll check you later.";
+ close2;
+ warp "job3_rune01",80,65;
+ end;
+ case 2:
+ close;
+ }
+ }
+ mes "[Guide, Jungberg]";
+ mes "I am the only knight who's keeping the way of the Swordman in this cursed place Glast Heim.";
+ next;
+ mes "[Guide, Jungberg]";
+ mes "Since you don't walk the way of the Sword, you wouldn't understand our spirit. I can manage by myself. Follow your own path.";
+ close;
+}
+
+gl_knt02,150,55,3 script Rune Knight Staff 83,{
+
+ if (Class == Job_Rune_Knight || Class == Job_Rune_Knight_T || Class == Job_Baby_Rune) {
+ mes "[Rune Knight Staff]";
+ mes "Welcome, " + strcharinfo(0) + ". Are you going to the gathering place?";
+ next;
+ switch (select("Yes, take me there.:I'm on other business.:Cancel.")) {
+ case 1:
+ mes "[Rune Knight Staff]";
+ mes "Okay, come in. I'll guide you.";
+ close2;
+ warp "job3_rune01",80,65;
+ end;
+ case 2:
+ mes "[Rune Knight Staff]";
+ mes "Oh, really? Then, keep on your work. I'll continue with my mission.";
+ close;
+ case 3:
+ close;
+ }
+ }
+ if (Class == Job_Knight || Class == Job_Lord_Knight || Class == Job_Baby_Knight) {
+ if ((job_rune_edq > 0) && (job_rune_edq < 2)) {
+ // custom translation
+ mes "[Rune Knight Staff]";
+ mes "Ah...this area is off limits, you are prohibited to be here. Please do not do anything to hinder our efforts.";
+ next;
+ mes "[Rune Knight Staff]";
+ mes "although...you seem to have the potential to become a companion to those who follow the path of the sword.";
+ next;
+ mes "[Rune Knight Staff]";
+ mes "I'm sure we'll be crossing paths before long. I believe we will meet again.";
+ close;
+ }
+ if (job_rune_edq > 1) {
+ mes "[Rune Knight Staff]";
+ mes "You found this place correctly. Jungberg sent me to send you to the gathering place.";
+ next;
+ mes "[Rune Knight Staff]";
+ mes "When you get into the gathering place, talk to Captain Tigris. He's always waiting for new members to show up.";
+ next;
+ mes "[Rune Knight Staff]";
+ mes "Well, please follow me.";
+ close2;
+ warp "job3_rune01",80,65;
+ end;
+ }
+ close;
+ }
+ mes "[Rune Knight Staff]";
+ mes "Wait! This place is prohibited. I don't mind you going around but, don't ever disturb me again.";
+ close;
+}
+
+job3_rune01,80,60,3 script Rune Knight Captain 470,{
+
+ if (checkweight(1201,1) == 0) {
+ mes "You've got too many things. You cannot proceed anymore. Please try again after losing some weight.";
+ close;
+ }
+ if ((MaxWeight - Weight) < 1000) {
+ mes "You've got too many things. You cannot proceed anymore. Please try again after losing some weight.";
+ close;
+ }
+ if (Class == Job_Rune_Knight || Class == Job_Rune_Knight_T || Class == Job_Baby_Rune) {
+ if (job_rune_edq == 23) {
+ mes "[Captain Tigris]";
+ mes "Oh, I see... Please wait a moment.";
+ next;
+ mes "[Captain Tigris]";
+ mes "I forgot to check if you are qualified to get the celebration gift for changing your job..";
+ next;
+ mes "[Captain Tigris]";
+ mes "Let me check the report from the instructors who took care of your tests.";
+ next;
+ if (job_rune_edq3 == 0) {
+ // custom translation
+ mes "[Captain Tigris]";
+ mes "Ah...perfect. This result is truely rare.";
+ next;
+ mes "[Captain Tigris]";
+ mes "Well, take this. This is a present that I've kept to give to my juniors like you.";
+ getitem 2140,1; //Energy_Rune_Guard
+ set job_rune_edq,24;
+ close;
+ }
+ else if ((job_rune_edq3 > 2) && (job_rune_edq3 < 6)) {
+ // custom translation
+ mes "[Captain Tigris]";
+ mes "Ah, what a high score. Your results were very good.";
+ next;
+ mes "[Captain Tigris]";
+ mes "Well, take this. This is a present that I've kept to give to my juniors like you.";
+ getitem 2794,1; //Magic_Stone_Ring
+ set job_rune_edq,24;
+ close;
+ }
+ mes "[Captain Tigris]";
+ mes "Umm, not bad. It's not a great record but you tried your best.";
+ next;
+ mes "[Captain Tigris]";
+ mes "Well, take this. This is a present that I've kept to give to my juniors like you.";
+ getitem 15002,1; //Rune_Plate
+ set job_rune_edq,24;
+ close;
+ }
+ mes "[Captain Tigris]";
+ mes "Hey, long time no see, "+strcharinfo(0)+". I don't think you've got any important matters to discuss but make yourself comfortable.";
+ close;
+ }
+ if (Class == Job_Knight || Class == Job_Lord_Knight || Class == Job_Baby_Knight) {
+ if (job_rune_edq == 2) {
+ mes "A man wearing glorious armor and passion in his eyes is standing in front of me.";
+ next;
+ mes "He stares at me with an absent look and after a while he begins to talk.";
+ next;
+ mes "[Captain Tigris]";
+ mes "Hey, are you the Rune Knight candidate that Manuel recommended? I am Captain Tigris from the Rune Knights, and your name is??";
+ next;
+ mes "[Captain Tigris]";
+ mes "Oh, I've heard it before but I've forgotten it. Right, were you "+strcharinfo(0)+"? I truly welcome you from the heart for coming here.";
+ next;
+ mes "[Captain Tigris]";
+ mes "Let's see. How many candidates have come to this room? Hey, Lunarea, which candidate is this one here?";
+ next;
+ mes "[Rune Knight, Lunarea]";
+ mes "... 172nd.";
+ next;
+ mes "[Captain Tigris]";
+ mes "She says so my friend. Actually I don't want to see the next one. So please do well.";
+ next;
+ mes "[Captain Tigris]";
+ mes "Let me see... Manual and Jungberg must have finished the basic verification, then let's start the test right away.";
+ next;
+ mes "[Captain Tigris]";
+ mes "Lunarea, proceed with the first test.";
+ next;
+ mes "[Rune Knight, Lunarea]";
+ mes "...";
+ next;
+ mes "This pale-skinned female Rune Knight called Lunarea is nodding her head quietly and watching me.";
+ next;
+ mes "[Captain Tigris]";
+ mes "The test begins now. First, you'll get the 1st test from that beautiful icy lady, so please try your best.";
+ next;
+ mes "[Captain Tigris]";
+ mes "When the test is done, talk to me. Anyway you'll need to care about the tests progressing with other people.";
+ next;
+ set job_rune_edq,3;
+ changequest 3201,3202;
+ mes "[Captain Tigris]";
+ mes "Well then, I'll be waiting here so take the test.";
+ close;
+ }
+ if (job_rune_edq == 3) {
+ mes "[Captain Tigris]";
+ mes "Now the test begins. First, you'll get the 1st test from that beautiful icy lady, so please try your best.";
+ next;
+ mes "[Captain Tigris]";
+ mes "When the test is done, talk to me... anyway you'll need to care about the tests progressing with other people.";
+ next;
+ mes "[Captain Tigris]";
+ mes "Well then, I'll be waiting here so take the test.";
+ close;
+ }
+ if ((job_rune_edq > 3) && (job_rune_edq < 6)) {
+ mes "[Captain Tigris]";
+ mes "Hey you, weren't you testing? Lunarea, what happened? Is the test all done?";
+ next;
+ mes "[Rune Knight, Lunarea]";
+ mes "......";
+ next;
+ mes "She just shakes her head without saying any word, and stares at me. She has piercing eyes.";
+ next;
+ mes "[Captain Tigris]";
+ mes "Okay Lunarea. Hey, listen to me carefully. Lunarea is a poor talker and quiet but you shouldn't ignore her.";
+ next;
+ mes "[Captain Tigris]";
+ mes "Even for me... no, any one of us who upsets her wouldn't be able to deal with that.";
+ next;
+ mes "[Rune Knight, Lunarea]";
+ mes "......";
+ next;
+ mes "[Captain Tigris]";
+ mes "Whoa don't look at me like that. Okay, you see that? Aspiring Rune Knight. Go back to Lunarea and take the test as she says. That'll be good for you.";
+ close;
+ }
+ if (job_rune_edq == 6) {
+ mes "[Captain Tigris]";
+ mes "Umm, it seems that you've passed Lunarea's test? I guess I won't have to test more for the basics.";
+ next;
+ mes "[Captain Tigris]";
+ mes "Undeniably our Rune Knights have some differences but we should not forget our Swordman roots.";
+ next;
+ mes "[Captain Tigris]";
+ mes "From now on, this will be the real test as a Rune Knight that you want to be. You'll need to prepare to take next test.";
+ next;
+ mes "[Captain Tigris]";
+ mes "Renoa, I know that you've been waiting for a long time but it's your turn.";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "It really has been such a long time but Lunarea's test and mine differ like the sky to the earth. I hope you won't be just a muscle-headed fool.";
+ next;
+ mes "[Captain Tigris]";
+ mes "Hahaha. you heard that? It won't be easy this time. I hope you get through it my friend.";
+ next;
+ mes "[Captain Tigris]";
+ mes "Go to that fiery lady in the library room to get the next test done and come back.";
+ set job_rune_edq,7;
+ changequest 3204,3205;
+ close;
+ }
+ if ((job_rune_edq > 6) && (job_rune_edq < 16)) {
+ mes "[Captain Tigris]";
+ mes "Now, this will be the real test as a Rune Knight. You've got to prepare to take the next test.";
+ next;
+ mes "[Captain Tigris]";
+ mes "Renoa, I know that you've been waiting for a long time but it's your turn.";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "It really has been such a long time but Lunarea's test and mine differ like the sky to the earth. I hope you won't be just a muscle-headed fool.";
+ next;
+ mes "[Captain Tigris]";
+ mes "Hahaha. you heard that? It won't be easy this time. I hope you get through it my friend.";
+ next;
+ mes "[Captain Tigris]";
+ mes "Go to that fiery lady in the library room to get the next test done and come back.";
+ close;
+ }
+ if (job_rune_edq == 16) {
+ mes "[Captain Tigris]";
+ mes "Oh, I heard that you've passed Renoa's test which only few people could pass.";
+ next;
+ mes "[Captain Tigris]";
+ mes "I heard that the number of candidates who've given up while taking Renoa's test has been high.";
+ next;
+ mes "[Captain Tigris]";
+ mes "You have to understand. I think it was the test that shows exactly the test instructor's personality. Hmm...";
+ next;
+ mes "[Captain Tigris]";
+ mes "Now, there's only the last test left. When you pass this, you will be on your way to officially becoming a Rune Knight.";
+ next;
+ mes "[Captain Tigris]";
+ mes "Take the final test from the Rune Knight Velpino who is at the arsenal's right side.";
+ next;
+ mes "[Captain Tigris]";
+ mes "I'm not kidding, I am really looking forward to your new start as a Rune Knight.";
+ mes "So please do your best.";
+ set job_rune_edq,17;
+ changequest 3215,3216;
+ close;
+ }
+ if ((job_rune_edq > 16) && (job_rune_edq < 22)) {
+ mes "[Captain Tigris]";
+ mes "Take the final test from the Rune Knight Velpino who is at the arsenal's right side.";
+ next;
+ mes "[Captain Tigris]";
+ mes "I'm not kidding, I am really looking forward to your new start as a Rune Knight. So please do your best.";
+ close;
+ }
+ if (job_rune_edq == 22) {
+ mes "[Captain Tigris]";
+ mes "Congratulations. Now you've passed all the tests and can walk the way of a Rune Knight.";
+ next;
+ mes "[Captain Tigris]";
+ mes "I'm happy from the bottom of my heart. I'm very proud of you.";
+ next;
+ mes "[Captain Tigris]";
+ mes "Now you can be yourself around us and stand proud as one of us.";
+ next;
+ mes "[Captain Tigris]";
+ mes "There's the evaluations from Lunarea, Renoa and Velpino who took care of your tests.";
+ next;
+ mes "[Captain Tigris]";
+ mes "It's not much but there are some gifts for new Rune Knights who got good scores on the tests.";
+ next;
+ mes "[Captain Tigris]";
+ mes "There will be a difference depending on the scores, but they are all helpful for anyone who is a Rune Knight.";
+ next;
+ mes "[Captain Tigris]";
+ mes "Lastly, there are several things to be aware of as a Knight who's experienced a job change to a Lord Knight in Valhalla.";
+ next;
+ mes "[Captain Tigris]";
+ mes "If there's any equipment that you are wearing now, or anything you're holding, please empty it for your job change moment.";
+ next;
+ mes "[Captain Tigris]";
+ mes "Visit the Kafra Employee to use the storage.";
+ next;
+ mes "[Captain Tigris]";
+ mes "You might know already, if you are riding a Peco Peco, you should have left it behind. If you brought it, leave it and come again.";
+ next;
+ mes "[Captain Tigris]";
+ mes "One more thing. If you have any remained skill-points, use it all and learn the skills. You won't be able to change jobs if you have any more skill points.";
+ next;
+ mes "[Captain Tigris]";
+ mes "Well, my job is done now. Would you like to start your new life as a Rune Knight?";
+ next;
+ switch (select("Every preparation is done.:I need more time to think.")) {
+ case 1:
+ if (Weight > 0 || checkcart() || SkillPoint != 0 || checkfalcon() || checkriding()) {
+ mes "[Captain Tigris]";
+ mes "Weren't you listening?";
+ next;
+ mes "[Captain Tigris]";
+ mes "If there's any equipment that you are wearing now, or anything you're holding. Please empty it for your job change moment.";
+ next;
+ mes "[Captain Tigris]";
+ mes "Talk to the Kafra Employee to use the storage.";
+ next;
+ mes "[Captain Tigris]";
+ mes "You might know already, if you are riding a Peco Peco, you should have left it behind. If you brought it, leave it and come again.";
+ next;
+ mes "[Captain Tigris]";
+ mes "One more thing. If you have any remained skill-points, use it all and learn the skills. You won't be able to change jobs if you have any more skill points.";
+ next;
+ mes "[Captain Tigris]";
+ mes "If you understood, then make your preparations and come back.";
+ close;
+ }
+ if (Class == Job_Knight || Class == Job_Lord_Knight || Class == Job_Baby_Knight && ((JobLevel > 49) && (SkillPoint == 0) && (BaseLevel > 98))) {
+ mes "[Captain Tigris]";
+ mes "Our Master, Beljeve... and the Great Sage, Serpeone...";
+ next;
+ mes "[Captain Tigris]";
+ mes "This Knight is going to walk the way of the Rune Knights with us, so please give your blessing.";
+ next;
+ if (Class == Job_Baby_Knight) {
+ getitem 5746,1; //Rune_Circlet
+ getitem 2795,1; //Green_Apple_Ring
+ set job_rune_edq,23;
+ completequest 3219;
+ jobchange Job_Baby_Rune;
+ mes "[Captain Tigris]";
+ mes "Remember this moment forever for you are now a Rune Knight.";
+ next;
+ mes "[Captain Tigris]";
+ mes "There's a royal gift from the Rune-Midgarts Kingdom for all new Rune Knights.";
+ next;
+ mes "[Captain Tigris]";
+ mes "Give me a second to get the royal gift and talk to me again.";
+ close;
+ }
+ else if (Class == Job_Knight) {
+ getitem 5746,1; //Rune_Circlet
+ getitem 2795,1; //Green_Apple_Ring
+ set job_rune_edq,23;
+ completequest 3219;
+ jobchange Job_Rune_Knight;
+ mes "[Captain Tigris]";
+ mes "Remember this moment forever for you are now a Rune Knight.";
+ next;
+ mes "[Captain Tigris]";
+ mes "There's a royal gift from the Rune-Midgarts Kingdom for all new Rune Knights.";
+ next;
+ mes "[Captain Tigris]";
+ mes "Give me a second to get the royal gift and talk to me again.";
+ close;
+ }
+ else if (Class == Job_Lord_Knight) {
+ getitem 5746,1; //Rune_Circlet
+ getitem 2795,1; //Green_Apple_Ring
+ set job_rune_edq,23;
+ completequest 3219;
+ jobchange Job_Rune_Knight_T;
+ mes "[Captain Tigris]";
+ mes "Remember this moment forever for you are now a Rune Knight.";
+ next;
+ mes "[Captain Tigris]";
+ mes "There's a royal gift from the Rune-Midgarts Kingdom for all new Rune Knights.";
+ next;
+ mes "[Captain Tigris]";
+ mes "Give me a second to get the royal gift and talk to me again.";
+ close;
+ }
+ }
+ // custom translation
+ mes "[Captain Tigris]";
+ mes "You seem to be missing something?";
+ close;
+ case 2:
+ close;
+ }
+ }
+ }
+ // custom translation
+ mes "[Captain Tigris]";
+ mes "I don't know how you got here...but you should not have come here.";
+ next;
+ mes "[Captain Tigris]";
+ mes "Go back to where came from.";
+ close2;
+ warp "gl_knt02",150,55;
+ end;
+}
+
+job3_rune01,90,50,3 script Rune Knight Lunarea 469,{
+
+ if (Class == Job_Rune_Knight || Class == Job_Rune_Knight_T || Class == Job_Baby_Rune) {
+ mes "She holds up her chin quietly, nods lightly and notices me.";
+ next;
+ mes "Then after a moment she puts her face down and seems absorbed with other thoughts.";
+ close;
+ }
+ if (Class == Job_Knight || Class == Job_Lord_Knight || Class == Job_Baby_Knight) {
+ if (job_rune_edq < 3) {
+ mes "This pale-skinned absent-looking female Rune Knight doesn't seem to care. Of course she doesn't seem interested with my existence";
+ close;
+ }
+ if (job_rune_edq == 3) {
+ mes "She finally opens her mouth and begins to talk.";
+ next;
+ mes "[Rune Knight, Lunarea]";
+ mes "5 minutes... When you endure and get rid of all, you succeed.";
+ next;
+ mes "[Rune Knight, Lunarea]";
+ mes "In this test, Captain Tigris, Renoa, Velpino and I will visit together.";
+ next;
+ mes "[Rune Knight, Lunarea]";
+ mes "If you want to, you can ask help from one of us. But don't think that we will always help.";
+ next;
+ mes "[Rune Knight, Lunarea]";
+ mes "Since it's a test, getting help from us is completely your choice. It doesn't matter if you take the test with our help or all by yourself.";
+ next;
+ mes "[Rune Knight, Lunarea]";
+ mes "When you are ready to go to the test field talk to me.";
+ next;
+ switch (select("Move to the test field now.:Give me time to get ready.")) {
+ case 1:
+ if ($@job_rune_test1 == 0) {
+ mes "She nods her head and reaches out her hand lightly. Then she draws her sword and makes a signal.";
+ set job_rune_edq, 4;
+ changequest 3202,3203;
+ set $@job_rune_test1,1;
+ close2;
+ warp "job3_rune02",38,40;
+ end;
+ }
+ // custom translation
+ mes "She nods her head and reaches out her hand lightly. Then she draws her sword and makes a signal.";
+ next;
+ mes "But her expression suddenly changed a bit as she looked at to speak.";
+ next;
+ mes "[Rune Knight, Lunarea]";
+ mes "Now...the testing room is currently occupied...";
+ next;
+ mes "[Rune Knight, Lunarea]";
+ mes "You'll have to wait...it is regulation that the test must take place on a 1:1 level.";
+ next;
+ mes "[Rune Knight, Lunarea]";
+ mes "Just wait over 5 minutes and it should be your turn.";
+ close;
+ case 2:
+ close;
+ }
+ }
+ if (job_rune_edq == 4) {
+ mes "[Rune Knight, Lunarea]";
+ mes "Did you fail? But, there's no limitation to the number of times you can try.";
+ next;
+ mes "[Rune Knight, Lunarea]";
+ mes "If you want to take the test again. I can send you to the test field.";
+ next;
+ mes "[Rune Knight, Lunarea]";
+ mes "5 minutes... When you endure and get rid of all, you succeed.";
+ next;
+ mes "[Rune Knight, Lunarea]";
+ mes "If you are ready to move to the test field talk to me.";
+ next;
+ switch (select("Move to the test field now.:Please give me time to prepare.")) {
+ case 1:
+ if (checkquest(3220,PLAYTIME) == -1 || checkquest(3220,PLAYTIME) == 0) {
+ if ($@job_rune_test1 == 0) {
+ mes "She nods her head and reaches out her hand lightly. Then she draws her sword and makes a signal.";
+ set $@job_rune_test1,1;
+ erasequest 3220;
+ setquest 3220;
+ close2;
+ warp "job3_rune02",38,40;
+ end;
+ }
+ // custom translation
+ mes "She nods her head and reaches out her hand lightly. Then she draws her sword and makes a signal.";
+ next;
+ mes "But her expression suddenly changed a bit as she looked at to speak.";
+ next;
+ mes "[Rune Knight, Lunarea]";
+ mes "Now...the testing room is currently occupied...";
+ next;
+ mes "[Rune Knight, Lunarea]";
+ mes "You'll have to wait...it is regulation that the test must take place on a 1:1 level.";
+ next;
+ mes "[Rune Knight, Lunarea]";
+ mes "Just wait over 5 minutes and it should be your turn.";
+ close;
+ }
+ if (checkquest(3220,PLAYTIME) == 1) {
+ mes "[Rune Knight, Lunarea]";
+ mes "Once someone enters into the test field you cannot enter directly. The test is taken one by one.";
+ next;
+ mes "[Rune Knight, Lunarea]";
+ mes "When it's your turn to enter you will be sent there directly.";
+ close;
+ }
+ if (checkquest(3220,PLAYTIME) == 2) {
+ erasequest 3220;
+ if ($@job_rune_test1 == 0) {
+ mes "She nods her head and reaches out her hand lightly. Then she draws her sword and makes a signal.";
+ set $@job_rune_test1,1;
+ erasequest 3220;
+ setquest 3220;
+ close2;
+ warp "job3_rune02",38,40;
+ end;
+ }
+ // custom translation
+ mes "She nods her head and reaches out her hand lightly. Then she draws her sword and makes a signal.";
+ next;
+ mes "But her expression suddenly changed a bit as she looked at to speak.";
+ next;
+ mes "[Rune Knight, Lunarea]";
+ mes "Now...the testing room is currently occupied...";
+ next;
+ mes "[Rune Knight, Lunarea]";
+ mes "You'll have to wait...it is regulation that the test must take place on a 1:1 level.";
+ next;
+ mes "[Rune Knight, Lunarea]";
+ mes "It will be your turn when the time is up.";
+ close;
+ }
+ case 2:
+ close;
+ }
+ }
+ if (job_rune_edq == 5) {
+ mes "[Rune Knight, Lunarea]";
+ mes "Was your test successful?";
+ next;
+ mes "She shows a small smile which is barely visible and looks at me.";
+ next;
+ mes "[Rune Knight, Lunarea]";
+ mes "This portion of the test is over. Go talk to Captain Tigris.";
+ set job_rune_edq,6;
+ changequest 3203,3204;
+ close;
+ }
+ if (job_rune_edq > 5) {
+ mes "[Rune Knight, Lunarea]";
+ mes "This portion of the test is over. Go talk to Captain Tigris.";
+ next;
+ mes "[Rune Knight, Lunarea]";
+ mes "There are other tests you need to complete. I hope you do a good job.";
+ close;
+ }
+ end;
+ }
+ mes "This pale-skinned absent-looking female Rune Knight doesn't seem to care. Of course she doesn't seem interested with my existence";
+ close;
+}
+
+job3_rune01,55,50,3 script Rune Knight, Renoa 469,{
+
+ if (Class == Job_Rune_Knight || Class == Job_Rune_Knight_T || Class == Job_Baby_Rune) {
+ mes "[Rune Knight, Renoa]";
+ mes "Congratulations for becoming one of us. Junior Rune Knight, "+strcharinfo(0)+".";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "Soon you'll see the way we need to go clearly.";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "Until then, I'll be here to discover more candidates just like you.";
+ close;
+ }
+ if (Class == Job_Knight || Class == Job_Lord_Knight || Class == Job_Baby_Knight) {
+ if (job_rune_edq < 7) {
+ mes "[Rune Knight, Renoa]";
+ mes "Are you the one who wants to be a Rune Knight? There have been so many today.";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "It's too bad that there haven't been many candidates that have made it to my part of the test yet so I'm just taking a bit of a rest.";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "If you are taking the Rune Knight test I hope that you try your best. This won't be as easy to pass as Lunarea's test ok?";
+ close;
+ }
+ if (job_rune_edq == 7) {
+ mes "[Rune Knight, Renoa]";
+ mes "Finally! Is it my turn? I'm so happy.";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "There have been so many candidates failing Lunarea's test that I've given up counting.";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "I am Renoa. I am in charge of the teaching and testing of runes and magic for Rune Knight candidates.";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "Thank you for all of your trouble taking the test so far. Okay, anyway.";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "Well first, I'll give you an assignment. Let's start by studying. Go to the library and study these books.";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "Umm, ^0000FFRunes and Rune Knights^000000, ^0000FFThe Principles of Runes^000000, ^0000FFThe Making and use of Runes^000000. Start with these 3...";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "Read the book thoroughly and come back. If you are the type of person who doesn't like reading and studying then it won't be easy for you to live as a Rune Knight.";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "Don't worry, you won't be required to have the same knowledge as the magicians of Geffen or Juno. But you can't be an idiot either.";
+ set job_rune_edq,8;
+ changequest 3205,3206;
+ close;
+ }
+ if (job_rune_edq == 8) {
+ mes "[Rune Knight, Renoa]";
+ mes "Well first, I'll give you an assignment. Let's start by studying. Go to the library and study these books.";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "Umm, ^0000FFRunes and Rune Knights^000000, ^0000FFThe Principles of Runes^000000, ^0000FFThe Making and use of Runes^000000. Start with these 3...";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "Read the book thoroughly and come back. If you are the type of person who doesn't like reading and studying then it won't be easy for you to live as a Rune Knight.";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "Don't worry, you won't be required to have the same knowledge as the magicians of Geffen or Juno. But you can't be an idiot either.";
+ close;
+ }
+ if (job_rune_edq == 11) {
+ mes "[Rune Knight, Renoa]";
+ mes "Have you read all the books from the library? It won't be easy to read but if you are determined to be a Rune Knight, you have to have this kind of basic knowledge.";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "Basically, the power of magic cannot be used without training to draw out the power of nature and the elements.";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "Therefore, jobs such as Wizard and Sage have come out and the magic became their own sacred field.";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "The leader of the Rune Knights, Beljeve, is known to have been in touch with the fairies even before the dimensional door of the Ash Vacuum was made when Satan Morroc resurrected.";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "I heard a story from the magical scholars about the technology that can substantialize the essence of magic. I began a study to substantialize it to a rune by getting their help.";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "Our Rune Knight's were born from the result of that study, which enables practicing both the power of the sword and magic by using runes.";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "You look like you don't understand why I'm repeating the teaching of the story already written in the book.";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "So for the second test, you need to visit the Laphine magical scholars who had given the direct help to the birth of Rune Knights at Ash Vacuum.";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "Find the sage, Serpeone who's been studying and helping the Rune Knights who are out in the Rune Midgard's camp at Ash Vacuum.";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "The sage has already been in touch with us for a long time so you don't need to worry about understanding Serpeone's language.c";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "If you are ready I'll guide you to the warp that moves you directly to Serpeone. Meet her and get instructions from her.";
+ set job_rune_edq,12;
+ changequest 3206,3207;
+ close;
+ }
+ if ((job_rune_edq > 11) && (job_rune_edq < 14)) {
+ mes "[Rune Knight, Renoa]";
+ mes "If you are ready I'll open the way to the sage, Serpeone who's in the Rune Midgard post at Ash Vacuum. Are you prepared?";
+ next;
+ switch (select("Yes, I am prepared.:Not yet.")) {
+ case 1:
+ mes "[Rune Knight, Renoa]";
+ mes "Good. Then I'll send you there now. But, there's one thing I need to tell you.";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "You will be sent to the Ash Vacuum. The people dispatched to the Rune Midgard post are certified adventurers and officials.";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "Beljeve has an agreement with the other alliance countries that the free behavior of our Rune Knights is guaranteed but...";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "If you want to move freely through all of Ash Vacuum, you'll have to go through the normal route which is acquiring qualification with the Rune Midgard alliance. It has nothing to do with us.";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "The agreement only allows us to send candidates to the Rune Midgard camp and nowhere else.";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "Good luck.";
+ close2;
+ warp "mid_camp",235,250;
+ end;
+ case 2:
+ mes "[Rune Knight, Renoa]";
+ mes "If you are ready talk to me again. I'm free anytime.";
+ close;
+ }
+ }
+ if (job_rune_edq == 14) {
+ mes "[Rune Knight, Renoa]";
+ mes "Umm, you're back? How's it like in the Ash Vacuum?";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "Well, a person of your strength must have been there already no?";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "Now its time to take the test concerning runes. I know that you have been through quite a complicated process.";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "I am going to give you a test that allows you to deal with runes directly.";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "In this test you will be making a rune stone yourself which will also be used for your last test.";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "If you remember what you read in the library just before, you'll be able to produce a rune stone here without my explanation.";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "If you succeed in making the rune stone it will automatically become the rune stone you'll use for yourself when you become a Rune Knight, so try your best.";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "The total number of rune stones you need to make is 20.";
+ mes "Remember that well.";
+ set job_rune_edq, 15;
+ changequest 3213,3214;
+ close;
+ }
+ if (job_rune_edq == 15) {
+ mes "[Rune Knight, Renoa]";
+ mes "In this test you will be making a rune stone yourself which is going to be used for your last test.";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "If you remember the books you've read in the library just before, you'll be able to produce a rune stone here without my explanation.";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "If you succeed in making the rune stone automatically it becomes the rune stone you'll use for yourself when you succeed, and it's delivered to Captain Tigris...so try hard.";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "The number of total rune stones you need to make is exactly 20. Remember that well.";
+ next;
+ switch (select("Check number of made runes?:I've made all the 20 rune stones.")) {
+ case 1:
+ mes "[Rune Knight, Renoa]";
+ mes "The number of rune stones made 'til now is "+job_rune_edq2+".";
+ close;
+ case 2:
+ if (job_rune_edq2 == 20) {
+ mes "[Rune Knight, Renoa]";
+ mes "You've brought just the right amount. I'll hand over all the finished rune stones to Captain Tigris.";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "Because there is a test waiting for you that uses these rune stones.";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "Here, you've passed. Go back to Captain Tigris and complete the next test.";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "Ha! You did a good job considering how difficult my test is. If you were nervous, you can relax now.";
+ set job_rune_edq,16;
+ changequest 3214,3215;
+ close;
+ }
+ if (job_rune_edq2 > 20) {
+ mes "[Rune Knight, Renoa]";
+ mes "Wow! What's this? You've made over 20. It's ok for now but remember to follow directions next time.";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "You've brought just the right amount. I'll hand over all the made rune stones to Captain Tigris.";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "Because there a test waiting for you to use these rune stones.";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "Here, you've passed. Go back to Captain Tigris and complete the next test.";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "Ha! You did a good job considering how difficult my test is. If you were nervous, you can relax now.";
+ set job_rune_edq,16;
+ close;
+ }
+ mes "[Rune Knight, Renoa]";
+ mes "Hey! I think I told you to make at least 20.";
+ close;
+ }
+ }
+ mes "[Rune Knight, Renoa]";
+ mes "Become a proud Rune Knight.";
+ close;
+ }
+ // custom translation
+ mes "[Rune Knight, Renoa]";
+ mes "HOw...how did you get in here?! Captain we have a spy!";
+ next;
+ mes "[Captain Tigris]";
+ mes "Ah? What are you talking about, Renoa? Do not talk in such a manner! You make us sound like criminals.";
+ next;
+ mes "[Rune Knight, Renoa]";
+ mes "Well, there is an unidentified individual here.";
+ next;
+ mes "[Captain Tigris]";
+ mes "Ah...hey, friend, come over here and let us talk a moment...";
+ close;
+}
+
+job3_rune01,58,51,1 script Rune Furnace 844,{
+
+ if (job_rune_edq < 15) {
+ mes "[Rune Knight Renoa]";
+ mes "You don't want to touch that thing. Believe me, I'm not kidding.";
+ close;
+ }
+ if (job_rune_edq == 15) {
+ set @job_rune_success,job_rune_edq2;
+ set @job_rune_miss,job_rune_edq3;
+ set @job_rune_crash,5;
+ set @job_rune_book_test_action,0;
+ set @job_rune_test_rand,rand(1,24);
+ mes "I can see a hole under the huge Rune Stone Statue behind Renoa. Clearly this is a mass-produced rune heating furnace that I read in the book.";
+ next;
+ switch (select("Use the Rune Heating Furnace:Stop.")) {
+ case 1:
+ if (@job_rune_test_rand == 1) {
+ progressbar "ffff00",5;
+ mes "The magical power of the rune pitches and tosses while it is getting shaped.";
+ next;
+ mes "This red hot spiral is...";
+ next;
+ input .@inputstr$;
+ if (.@inputstr$ == "Ehwaz") {
+ mes "[Rune Knight Renoa]";
+ mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Eiwaz rune was made normally.";
+ set @job_rune_success,job_rune_edq2;
+ set @job_rune_success_check,@job_rune_success+1;
+ set job_rune_edq2,@job_rune_success_check;
+ close;
+ }
+ set @job_rune_miss,job_rune_edq3;
+ set @job_rune_miss_check,@job_rune_miss+1;
+ set @job_rune_crash_check,@job_rune_crash+@job_rune_miss_check;
+ if (rand(1,@job_rune_crash_check) == 3) {
+ mes "[Rune Knight Renoa]";
+ // occurances of this line are all custom. I couldn't get the damn thing to fail and give me the line.
+ mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Eiwaz rune was made normally.";
+ set @job_rune_success, job_rune_edq2;
+ set @job_rune_success_check, @job_rune_success + 1;
+ set job_rune_edq2, @job_rune_success_check;
+ close;
+ }
+ mes "[Rune Knight Renoa]";
+ mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "Refining the rune stone is a failure... Please try again.";
+ set @job_rune_miss,job_rune_edq3;
+ set @job_rune_miss_check,@job_rune_miss+1;
+ set job_rune_edq3,@job_rune_miss_check;
+ close;
+ }
+ if (@job_rune_test_rand == 2) {
+ progressbar "ffff00",5;
+ mes "The magical power of the rune pitches and tosses while it is getting shaped.";
+ next;
+ mes "The rune flashing with this violet oblique line shape is...";
+ next;
+ input .@inputstr$;
+ if (.@inputstr$ == "Osilla") {
+ mes "[Rune Knight Renoa]";
+ mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Othlia rune was made normally.";
+ set @job_rune_success,job_rune_edq2;
+ set @job_rune_success_check,@job_rune_success+1;
+ set job_rune_edq2,@job_rune_success_check;
+ close;
+ }
+ set @job_rune_miss, job_rune_edq3;
+ set @job_rune_miss_check, @job_rune_miss + 1;
+ set @job_rune_crash_check, @job_rune_crash + @job_rune_miss_check;
+ if (rand(1,@job_rune_crash_check) == 3) {
+ mes "[Rune Knight Renoa]";
+ mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Othlia rune was made normally.";
+ set @job_rune_success, job_rune_edq2;
+ set @job_rune_success_check, @job_rune_success + 1;
+ set job_rune_edq2, @job_rune_success_check;
+ close;
+ }
+ mes "[Rune Knight Renoa]";
+ mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "Refining the rune stone is a failure... Please try again.";
+ set @job_rune_miss, job_rune_edq3;
+ set @job_rune_miss_check, @job_rune_miss + 1;
+ set job_rune_edq3, @job_rune_miss_check;
+ close;
+ }
+ if (@job_rune_test_rand == 3) {
+ progressbar "ffff00",5;
+ mes "The magical power of the rune pitches and tosses while it is getting shaped.";
+ next;
+ mes "This live emerald diamond rune is...";
+ next;
+ input .@inputstr$;
+ if (.@inputstr$ == "Mannaz") {
+ mes "[Rune Knight Renoa]";
+ mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Mannaz rune was made normally.";
+ set @job_rune_success, job_rune_edq2;
+ set @job_rune_success_check, @job_rune_success + 1;
+ set job_rune_edq2, @job_rune_success_check;
+ close;
+ }
+ set @job_rune_miss, job_rune_edq3;
+ set @job_rune_miss_check, @job_rune_miss + 1;
+ set @job_rune_crash_check, @job_rune_crash + @job_rune_miss_check;
+ if (rand(1,@job_rune_crash_check) == 3) {
+ mes "[Rune Knight Renoa]";
+ mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Mannaz rune was made normally.";
+ set @job_rune_success, job_rune_edq2;
+ set @job_rune_success_check, @job_rune_success + 1;
+ set job_rune_edq2, @job_rune_success_check;
+ close;
+ }
+ mes "[Rune Knight Renoa]";
+ mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "Refining the rune stone is a failure... Please try again.";
+ set @job_rune_miss, job_rune_edq3;
+ set @job_rune_miss_check, @job_rune_miss + 1;
+ set job_rune_edq3, @job_rune_miss_check;
+ close;
+ }
+ if (@job_rune_test_rand == 4) {
+ progressbar "ffff00",5;
+ mes "The magical power of the rune pitches and tosses while it is getting shaped.";
+ next;
+ mes "The rune flashing with an emerald round shape is...";
+ next;
+ input .@inputstr$;
+ if (.@inputstr$ == "Ansuz") {
+ mes "[Rune Knight Renoa]";
+ mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Ansuz rune was made normally.";
+ set @job_rune_success, job_rune_edq2;
+ set @job_rune_success_check, @job_rune_success + 1;
+ set job_rune_edq2, @job_rune_success_check;
+ close;
+ }
+ set @job_rune_miss, job_rune_edq3;
+ set @job_rune_miss_check, @job_rune_miss + 1;
+ set @job_rune_crash_check, @job_rune_crash + @job_rune_miss_check;
+ if (rand(1,@job_rune_crash_check) == 3) {
+ mes "[Rune Knight Renoa]";
+ mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Ansuz rune was made normally.";
+ set @job_rune_success, job_rune_edq2;
+ set @job_rune_success_check, @job_rune_success + 1;
+ set job_rune_edq2, @job_rune_success_check;
+ close;
+ }
+ mes "[Rune Knight Renoa]";
+ mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "Refining the rune stone is a failure... Please try again.";
+ set @job_rune_miss, job_rune_edq3;
+ set @job_rune_miss_check, @job_rune_miss + 1;
+ set job_rune_edq3, @job_rune_miss_check;
+ close;
+ }
+ if (@job_rune_test_rand == 5) {
+ progressbar "ffff00",5;
+ mes "The magical power of the rune pitches and tosses while it is getting shaped.";
+ next;
+ mes "The rune flashing with this skyblue star shape is...";
+ next;
+ input .@inputstr$;
+ if (.@inputstr$ == "Hagalaz") {
+ mes "[Rune Knight Renoa]";
+ mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Hagalaz rune was made normally.";
+ set @job_rune_success, job_rune_edq2;
+ set @job_rune_success_check, @job_rune_success + 1;
+ set job_rune_edq2, @job_rune_success_check;
+ close;
+ }
+ set @job_rune_miss, job_rune_edq3;
+ set @job_rune_miss_check, @job_rune_miss + 1;
+ set @job_rune_crash_check, @job_rune_crash + @job_rune_miss_check;
+ if (rand(1,@job_rune_crash_check) == 3) {
+ mes "[Rune Knight Renoa]";
+ mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Hagalaz rune was made normally.";
+ set @job_rune_success, job_rune_edq2;
+ set @job_rune_success_check, @job_rune_success + 1;
+ set job_rune_edq2, @job_rune_success_check;
+ close;
+ }
+ mes "[Rune Knight Renoa]";
+ mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "Refining the rune stone is a failure... Please try again.";
+ set @job_rune_miss, job_rune_edq3;
+ set @job_rune_miss_check, @job_rune_miss + 1;
+ set job_rune_edq3, @job_rune_miss_check;
+ close;
+ }
+ if (@job_rune_test_rand == 6) {
+ progressbar "ffff00",5;
+ mes "The magical power of the rune pitches and tosses while it is getting shaped.";
+ next;
+ mes "This flashing with a red diamond shape rune is...";
+ next;
+ input .@inputstr$;
+ if (.@inputstr$ == "Kano") {
+ mes "[Rune Knight Renoa]";
+ mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Kano rune was made normally.";
+ set @job_rune_success, job_rune_edq2;
+ set @job_rune_success_check, @job_rune_success + 1;
+ set job_rune_edq2, @job_rune_success_check;
+ close;
+ }
+ set @job_rune_miss, job_rune_edq3;
+ set @job_rune_miss_check, @job_rune_miss + 1;
+ set @job_rune_crash_check, @job_rune_crash + @job_rune_miss_check;
+ if (rand(1,@job_rune_crash_check) == 3) {
+ mes "[Rune Knight Renoa]";
+ mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Kano rune was made normally.";
+ set @job_rune_success, job_rune_edq2;
+ set @job_rune_success_check, @job_rune_success + 1;
+ set job_rune_edq2, @job_rune_success_check;
+ close;
+ }
+ mes "[Rune Knight Renoa]";
+ mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "Refining the rune stone is a failure... Please try again.";
+ set @job_rune_miss, job_rune_edq3;
+ set @job_rune_miss_check, @job_rune_miss + 1;
+ set job_rune_edq3, @job_rune_miss_check;
+ close;
+ }
+ if (@job_rune_test_rand == 7) {
+ progressbar "ffff00",5;
+ mes "The magical power of the rune pitches and tosses while it is getting shaped.";
+ next;
+ mes "The rune flashing with this skyblue oblique line shape is...";
+ next;
+ input .@inputstr$;
+ if (.@inputstr$ == "Rhydo") {
+ mes "[Rune Knight Renoa]";
+ mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Raido rune was made normally.";
+ set @job_rune_success, job_rune_edq2;
+ set @job_rune_success_check, @job_rune_success + 1;
+ set job_rune_edq2, @job_rune_success_check;
+ close;
+ }
+ set @job_rune_miss, job_rune_edq3;
+ set @job_rune_miss_check, @job_rune_miss + 1;
+ set @job_rune_crash_check, @job_rune_crash + @job_rune_miss_check;
+ if (rand(1,@job_rune_crash_check) == 3) {
+ mes "[Rune Knight Renoa]";
+ mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Raido rune was made normally.";
+ set @job_rune_success, job_rune_edq2;
+ set @job_rune_success_check, @job_rune_success + 1;
+ set job_rune_edq2, @job_rune_success_check;
+ close;
+ }
+ mes "[Rune Knight Renoa]";
+ mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "Refining the rune stone is a failure... Please try again.";
+ set @job_rune_miss, job_rune_edq3;
+ set @job_rune_miss_check, @job_rune_miss + 1;
+ set job_rune_edq3, @job_rune_miss_check;
+ close;
+ }
+ if (@job_rune_test_rand == 8) {
+ progressbar "ffff00",5;
+ mes "The magical power of the rune pitches and tosses while it is getting shaped.";
+ next;
+ mes "The rune flashing with this yellow round shape is...";
+ next;
+ input .@inputstr$;
+ if (.@inputstr$ == "Turisus") {
+ mes "[Rune Knight Renoa]";
+ mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Thurisaz rune was made normally.";
+ set @job_rune_success, job_rune_edq2;
+ set @job_rune_success_check, @job_rune_success + 1;
+ set job_rune_edq2, @job_rune_success_check;
+ close;
+ }
+ set @job_rune_miss, job_rune_edq3;
+ set @job_rune_miss_check, @job_rune_miss + 1;
+ set @job_rune_crash_check, @job_rune_crash + @job_rune_miss_check;
+ if (rand(1,@job_rune_crash_check) == 3) {
+ mes "[Rune Knight Renoa]";
+ mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Thurisaz rune was made normally.";
+ set @job_rune_success, job_rune_edq2;
+ set @job_rune_success_check, @job_rune_success + 1;
+ set job_rune_edq2, @job_rune_success_check;
+ close;
+ }
+ mes "[Rune Knight Renoa]";
+ mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "Refining the rune stone is a failure... Please try again.";
+ set @job_rune_miss, job_rune_edq3;
+ set @job_rune_miss_check, @job_rune_miss + 1;
+ set job_rune_edq3, @job_rune_miss_check;
+ close;
+ }
+ if (@job_rune_test_rand == 9) {
+ progressbar "ffff00",5;
+ mes "The magical power of the rune pitches and tosses while it is getting shaped.";
+ next;
+ mes "The rune flashing with this emerald spiral line shape is...";
+ next;
+ input .@inputstr$;
+ if (.@inputstr$ == "Dagaz") {
+ mes "[Rune Knight Renoa]";
+ mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Dagaz rune was made normally.";
+ set @job_rune_success, job_rune_edq2;
+ set @job_rune_success_check, @job_rune_success + 1;
+ set job_rune_edq2, @job_rune_success_check;
+ close;
+ }
+ set @job_rune_miss, job_rune_edq3;
+ set @job_rune_miss_check, @job_rune_miss + 1;
+ set @job_rune_crash_check, @job_rune_crash + @job_rune_miss_check;
+ if (rand(1,@job_rune_crash_check) == 3) {
+ mes "[Rune Knight Renoa]";
+ mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Dagaz rune was made normally.";
+ set @job_rune_success, job_rune_edq2;
+ set @job_rune_success_check, @job_rune_success + 1;
+ set job_rune_edq2, @job_rune_success_check;
+ close;
+ }
+ mes "[Rune Knight Renoa]";
+ mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "Refining the rune stone is a failure... Please try again.";
+ set @job_rune_miss, job_rune_edq3;
+ set @job_rune_miss_check, @job_rune_miss + 1;
+ set job_rune_edq3, @job_rune_miss_check;
+ close;
+ }
+ if (@job_rune_test_rand == 10) {
+ progressbar "ffff00",5;
+ mes "The magical power of the rune pitches and tosses while it is getting shaped.";
+ next;
+ mes "The rune flashing with this skyblue fan-shape is...";
+ next;
+ input .@inputstr$;
+ if (.@inputstr$ == "Sowilo") {
+ mes "[Rune Knight Renoa]";
+ mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Sowilo rune was made normally.";
+ set @job_rune_success, job_rune_edq2;
+ set @job_rune_success_check, @job_rune_success + 1;
+ set job_rune_edq2, @job_rune_success_check;
+ close;
+ }
+ set @job_rune_miss, job_rune_edq3;
+ set @job_rune_miss_check, @job_rune_miss + 1;
+ set @job_rune_crash_check, @job_rune_crash + @job_rune_miss_check;
+ if (rand(1,@job_rune_crash_check) == 3) {
+ mes "[Rune Knight Renoa]";
+ mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Sowilo rune was made normally.";
+ set @job_rune_success, job_rune_edq2;
+ set @job_rune_success_check, @job_rune_success + 1;
+ set job_rune_edq2, @job_rune_success_check;
+ close;
+ }
+ mes "[Rune Knight Renoa]";
+ mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "Refining the rune stone is a failure... Please try again.";
+ set @job_rune_miss, job_rune_edq3;
+ set @job_rune_miss_check, @job_rune_miss + 1;
+ set job_rune_edq3, @job_rune_miss_check;
+ close;
+ }
+ if (@job_rune_test_rand == 11) {
+ progressbar "ffff00",5;
+ mes "The magical power of the rune pitches and tosses while it is getting shaped.";
+ next;
+ mes "The rune flashing with this yellow diamond shape is...";
+ next;
+ input .@inputstr$;
+ if (.@inputstr$ == "Laguz") {
+ mes "[Rune Knight Renoa]";
+ mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Laguz rune was made normally.";
+ set @job_rune_success, job_rune_edq2;
+ set @job_rune_success_check, @job_rune_success + 1;
+ set job_rune_edq2, @job_rune_success_check;
+ close;
+ }
+ set @job_rune_miss, job_rune_edq3;
+ set @job_rune_miss_check, @job_rune_miss + 1;
+ set @job_rune_crash_check, @job_rune_crash + @job_rune_miss_check;
+ if (rand(1,@job_rune_crash_check) == 3) {
+ mes "[Rune Knight Renoa]";
+ mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Laguz rune was made normally.";
+ set @job_rune_success, job_rune_edq2;
+ set @job_rune_success_check, @job_rune_success + 1;
+ set job_rune_edq2, @job_rune_success_check;
+ close;
+ }
+ mes "[Rune Knight Renoa]";
+ mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "Refining the rune stone is a failure... Please try again.";
+ set @job_rune_miss, job_rune_edq3;
+ set @job_rune_miss_check, @job_rune_miss + 1;
+ set job_rune_edq3, @job_rune_miss_check;
+ close;
+ }
+ if (@job_rune_test_rand == 12) {
+ progressbar "ffff00",5;
+ mes "The magical power of the rune pitches and tosses while it is getting shaped.";
+ next;
+ mes "The rune flashing with this violet spiral line is...";
+ next;
+ input .@inputstr$;
+ if (.@inputstr$ == "Isia") {
+ mes "[Rune Knight Renoa]";
+ mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Isa rune was made normally.";
+ set @job_rune_success, job_rune_edq2;
+ set @job_rune_success_check, @job_rune_success + 1;
+ set job_rune_edq2, @job_rune_success_check;
+ close;
+ }
+ set @job_rune_miss, job_rune_edq3;
+ set @job_rune_miss_check, @job_rune_miss + 1;
+ set @job_rune_crash_check, @job_rune_crash + @job_rune_miss_check;
+ if (rand(1,@job_rune_crash_check) == 3) {
+ mes "[Rune Knight Renoa]";
+ mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Isa rune was made normally.";
+ set @job_rune_success, job_rune_edq2;
+ set @job_rune_success_check, @job_rune_success + 1;
+ set job_rune_edq2, @job_rune_success_check;
+ close;
+ }
+ mes "[Rune Knight Renoa]";
+ mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "Refining the rune stone is a failure... Please try again.";
+ set @job_rune_miss, job_rune_edq3;
+ set @job_rune_miss_check, @job_rune_miss + 1;
+ set job_rune_edq3, @job_rune_miss_check;
+ close;
+ }
+ if (@job_rune_test_rand == 13) {
+ progressbar "ffff00",5;
+ mes "The magical power of the rune pitches and tosses while it is getting shaped.";
+ next;
+ mes "The rune flashing with this silver spiral shape is...";
+ next;
+ input .@inputstr$;
+ if (.@inputstr$ == "Pertz") {
+ mes "[Rune Knight Renoa]";
+ mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Perth rune was made normally.";
+ set @job_rune_success, job_rune_edq2;
+ set @job_rune_success_check, @job_rune_success + 1;
+ set job_rune_edq2, @job_rune_success_check;
+ close;
+ }
+ set @job_rune_miss, job_rune_edq3;
+ set @job_rune_miss_check, @job_rune_miss + 1;
+ set @job_rune_crash_check, @job_rune_crash + @job_rune_miss_check;
+ if (rand(1,@job_rune_crash_check) == 3) {
+ mes "[Rune Knight Renoa]";
+ mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Perth rune was made normally.";
+ set @job_rune_success, job_rune_edq2;
+ set @job_rune_success_check, @job_rune_success + 1;
+ set job_rune_edq2, @job_rune_success_check;
+ close;
+ }
+ mes "[Rune Knight Renoa]";
+ mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "Refining the rune stone is a failure... Please try again.";
+ set @job_rune_miss, job_rune_edq3;
+ set @job_rune_miss_check, @job_rune_miss + 1;
+ set job_rune_edq3, @job_rune_miss_check;
+ close;
+ }
+ if (@job_rune_test_rand == 14) {
+ progressbar "ffff00",5;
+ mes "The magical power of the rune pitches and tosses while it is getting shaped.";
+ next;
+ mes "The rune flashing with this gold star shape is...";
+ next;
+ input .@inputstr$;
+ if (.@inputstr$ == "Verkana") {
+ mes "[Rune Knight Renoa]";
+ mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Berkana rune was made normally.";
+ set @job_rune_success, job_rune_edq2;
+ set @job_rune_success_check, @job_rune_success + 1;
+ set job_rune_edq2, @job_rune_success_check;
+ close;
+ }
+ set @job_rune_miss, job_rune_edq3;
+ set @job_rune_miss_check, @job_rune_miss + 1;
+ set @job_rune_crash_check, @job_rune_crash + @job_rune_miss_check;
+ if (rand(1,@job_rune_crash_check) == 3) {
+ mes "[Rune Knight Renoa]";
+ mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Berkana rune was made normally.";
+ set @job_rune_success, job_rune_edq2;
+ set @job_rune_success_check, @job_rune_success + 1;
+ set job_rune_edq2, @job_rune_success_check;
+ close;
+ }
+ mes "[Rune Knight Renoa]";
+ mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "Refining the rune stone is a failure... Please try again.";
+ set @job_rune_miss, job_rune_edq3;
+ set @job_rune_miss_check, @job_rune_miss + 1;
+ set job_rune_edq3, @job_rune_miss_check;
+ close;
+ }
+ if (@job_rune_test_rand == 15) {
+ progressbar "ffff00",5;
+ mes "The magical power of the rune pitches and tosses while it is getting shaped.";
+ next;
+ mes "The rune flashing with this yellow cone shape is...";
+ next;
+ input .@inputstr$;
+ if (.@inputstr$ == "Gebo") {
+ mes "[Rune Knight Renoa]";
+ mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Gebo rune was made normally.";
+ set @job_rune_success, job_rune_edq2;
+ set @job_rune_success_check, @job_rune_success + 1;
+ set job_rune_edq2, @job_rune_success_check;
+ close;
+ }
+ set @job_rune_miss, job_rune_edq3;
+ set @job_rune_miss_check, @job_rune_miss + 1;
+ set @job_rune_crash_check, @job_rune_crash + @job_rune_miss_check;
+ if (rand(1,@job_rune_crash_check) == 3) {
+ mes "[Rune Knight Renoa]";
+ mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Gebo rune was made normally.";
+ set @job_rune_success, job_rune_edq2;
+ set @job_rune_success_check, @job_rune_success + 1;
+ set job_rune_edq2, @job_rune_success_check;
+ close;
+ }
+ mes "[Rune Knight Renoa]";
+ mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "Refining the rune stone is a failure... Please try again.";
+ set @job_rune_miss, job_rune_edq3;
+ set @job_rune_miss_check, @job_rune_miss + 1;
+ set job_rune_edq3, @job_rune_miss_check;
+ close;
+ }
+ if (@job_rune_test_rand == 16) {
+ progressbar "ffff00",5;
+ mes "The magical power of the rune pitches and tosses while it is getting shaped.";
+ next;
+ mes "The rune flashing with this emerald oblique line is...";
+ next;
+ input .@inputstr$;
+ if (.@inputstr$ == "Algiz") {
+ mes "[Rune Knight Renoa]";
+ mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Algiz rune was made normally.";
+ set @job_rune_success, job_rune_edq2;
+ set @job_rune_success_check, @job_rune_success + 1;
+ set job_rune_edq2, @job_rune_success_check;
+ close;
+ }
+ set @job_rune_miss, job_rune_edq3;
+ set @job_rune_miss_check, @job_rune_miss + 1;
+ set @job_rune_crash_check, @job_rune_crash + @job_rune_miss_check;
+ if (rand(1,@job_rune_crash_check) == 3) {
+ mes "[Rune Knight Renoa]";
+ mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Algiz rune was made normally.";
+ set @job_rune_success, job_rune_edq2;
+ set @job_rune_success_check, @job_rune_success + 1;
+ set job_rune_edq2, @job_rune_success_check;
+ close;
+ }
+ mes "[Rune Knight Renoa]";
+ mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "Refining the rune stone is a failure... Please try again.";
+ set @job_rune_miss, job_rune_edq3;
+ set @job_rune_miss_check, @job_rune_miss + 1;
+ set job_rune_edq3, @job_rune_miss_check;
+ close;
+ }
+ if (@job_rune_test_rand == 17) {
+ progressbar "ffff00",5;
+ mes "The magical power of the rune pitches and tosses while it is getting shaped.";
+ next;
+ mes "The rune flashing with this gray diamond is...";
+ next;
+ input .@inputstr$;
+ if (.@inputstr$ == "Arwez") {
+ mes "[Rune Knight Renoa]";
+ mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 ewaz rune was made normally.";
+ set @job_rune_success, job_rune_edq2;
+ set @job_rune_success_check, @job_rune_success + 1;
+ set job_rune_edq2, @job_rune_success_check;
+ close;
+ }
+ set @job_rune_miss, job_rune_edq3;
+ set @job_rune_miss_check, @job_rune_miss + 1;
+ set @job_rune_crash_check, @job_rune_crash + @job_rune_miss_check;
+ if (rand(1,@job_rune_crash_check) == 3) {
+ mes "[Rune Knight Renoa]";
+ mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 ewaz rune was made normally.";
+ set @job_rune_success, job_rune_edq2;
+ set @job_rune_success_check, @job_rune_success + 1;
+ set job_rune_edq2, @job_rune_success_check;
+ close;
+ }
+ mes "[Rune Knight Renoa]";
+ mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "Refining the rune stone is a failure... Please try again.";
+ set @job_rune_miss, job_rune_edq3;
+ set @job_rune_miss_check, @job_rune_miss + 1;
+ set job_rune_edq3, @job_rune_miss_check;
+ close;
+ }
+ if (@job_rune_test_rand == 18) {
+ progressbar "ffff00",5;
+ mes "The magical power of the rune pitches and tosses while it is getting shaped.";
+ next;
+ mes "The rune flashing with this gold round is...";
+ next;
+ input .@inputstr$;
+ if (.@inputstr$ == "Teiwaz") {
+ mes "[Rune Knight Renoa]";
+ mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Teiwaz rune was made normally.";
+ set @job_rune_success, job_rune_edq2;
+ set @job_rune_success_check, @job_rune_success + 1;
+ set job_rune_edq2, @job_rune_success_check;
+ close;
+ }
+ set @job_rune_miss, job_rune_edq3;
+ set @job_rune_miss_check, @job_rune_miss + 1;
+ set @job_rune_crash_check, @job_rune_crash + @job_rune_miss_check;
+ if (rand(1,@job_rune_crash_check) == 3) {
+ mes "[Rune Knight Renoa]";
+ mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Teiwaz rune was made normally.";
+ set @job_rune_success, job_rune_edq2;
+ set @job_rune_success_check, @job_rune_success + 1;
+ set job_rune_edq2, @job_rune_success_check;
+ close;
+ }
+ mes "[Rune Knight Renoa]";
+ mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "Refining the rune stone is a failure... Please try again.";
+ set @job_rune_miss, job_rune_edq3;
+ set @job_rune_miss_check, @job_rune_miss + 1;
+ set job_rune_edq3, @job_rune_miss_check;
+ close;
+ }
+ if (@job_rune_test_rand == 19) {
+ progressbar "ffff00",5;
+ mes "The magical power of the rune pitches and tosses while it is getting shaped.";
+ next;
+ mes "The rune flashing with this emerald star shape is...";
+ next;
+ input .@inputstr$;
+ if (.@inputstr$ == "Wunjo") {
+ mes "[Rune Knight Renoa]";
+ mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Wunjo rune was made normally.";
+ set @job_rune_success, job_rune_edq2;
+ set @job_rune_success_check, @job_rune_success + 1;
+ set job_rune_edq2, @job_rune_success_check;
+ close;
+ }
+ set @job_rune_miss, job_rune_edq3;
+ set @job_rune_miss_check, @job_rune_miss + 1;
+ set @job_rune_crash_check, @job_rune_crash + @job_rune_miss_check;
+ if (rand(1,@job_rune_crash_check) == 3) {
+ mes "[Rune Knight Renoa]";
+ mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Wunjo rune was made normally.";
+ set @job_rune_success, job_rune_edq2;
+ set @job_rune_success_check, @job_rune_success + 1;
+ set job_rune_edq2, @job_rune_success_check;
+ close;
+ }
+ mes "[Rune Knight Renoa]";
+ mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "Refining the rune stone is a failure... Please try again.";
+ set @job_rune_miss, job_rune_edq3;
+ set @job_rune_miss_check, @job_rune_miss + 1;
+ set job_rune_edq3, @job_rune_miss_check;
+ close;
+ }
+ if (@job_rune_test_rand == 20) {
+ progressbar "ffff00",5;
+ mes "The magical power of the rune pitches and tosses while it is getting shaped.";
+ next;
+ mes "The rune flashing with this yellow round is...";
+ next;
+ input .@inputstr$;
+ if (.@inputstr$ == "Jera") {
+ mes "[Rune Knight Renoa]";
+ mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Jara rune was made normally.";
+ set @job_rune_success, job_rune_edq2;
+ set @job_rune_success_check, @job_rune_success + 1;
+ set job_rune_edq2, @job_rune_success_check;
+ close;
+ }
+ set @job_rune_miss, job_rune_edq3;
+ set @job_rune_miss_check, @job_rune_miss + 1;
+ set @job_rune_crash_check, @job_rune_crash + @job_rune_miss_check;
+ if (rand(1,@job_rune_crash_check) == 3) {
+ mes "[Rune Knight Renoa]";
+ mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Jara rune was made normally.";
+ set @job_rune_success, job_rune_edq2;
+ set @job_rune_success_check, @job_rune_success + 1;
+ set job_rune_edq2, @job_rune_success_check;
+ close;
+ }
+ mes "[Rune Knight Renoa]";
+ mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "Refining the rune stone is a failure... Please try again.";
+ set @job_rune_miss, job_rune_edq3;
+ set @job_rune_miss_check, @job_rune_miss + 1;
+ set job_rune_edq3, @job_rune_miss_check;
+ close;
+ }
+ if (@job_rune_test_rand == 21) {
+ progressbar "ffff00",5;
+ mes "The magical power of the rune pitches and tosses while it is getting shaped.";
+ next;
+ mes "The rune flashing with this yellow fan-shape is...";
+ next;
+ input .@inputstr$;
+ if (.@inputstr$ == "Nosiege") {
+ mes "[Rune Knight Renoa]";
+ mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Nauthiz rune was made normally.";
+ set @job_rune_success, job_rune_edq2;
+ set @job_rune_success_check, @job_rune_success + 1;
+ set job_rune_edq2, @job_rune_success_check;
+ close;
+ }
+ set @job_rune_miss, job_rune_edq3;
+ set @job_rune_miss_check, @job_rune_miss + 1;
+ set @job_rune_crash_check, @job_rune_crash + @job_rune_miss_check;
+ if (rand(1,@job_rune_crash_check) == 3) {
+ mes "[Rune Knight Renoa]";
+ mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Nauthiz rune was made normally.";
+ set @job_rune_success, job_rune_edq2;
+ set @job_rune_success_check, @job_rune_success + 1;
+ set job_rune_edq2, @job_rune_success_check;
+ close;
+ }
+ mes "[Rune Knight Renoa]";
+ mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "Refining the rune stone is a failure... Please try again.";
+ set @job_rune_miss, job_rune_edq3;
+ set @job_rune_miss_check, @job_rune_miss + 1;
+ set job_rune_edq3, @job_rune_miss_check;
+ close;
+ }
+ if (@job_rune_test_rand == 22) {
+ progressbar "ffff00",5;
+ mes "The magical power of the rune pitches and tosses while it is getting shaped.";
+ next;
+ mes "The rune flashing with this violet diamond shape is...";
+ next;
+ input .@inputstr$;
+ if (.@inputstr$ == "Ingz") {
+ mes "[Rune Knight Renoa]";
+ mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Inguz rune was made normally.";
+ set @job_rune_success, job_rune_edq2;
+ set @job_rune_success_check, @job_rune_success + 1;
+ set job_rune_edq2, @job_rune_success_check;
+ close;
+ }
+ set @job_rune_miss, job_rune_edq3;
+ set @job_rune_miss_check, @job_rune_miss + 1;
+ set @job_rune_crash_check, @job_rune_crash + @job_rune_miss_check;
+ if (rand(1,@job_rune_crash_check) == 3) {
+ mes "[Rune Knight Renoa]";
+ mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Inguz rune was made normally.";
+ set @job_rune_success, job_rune_edq2;
+ set @job_rune_success_check, @job_rune_success + 1;
+ set job_rune_edq2, @job_rune_success_check;
+ close;
+ }
+ mes "[Rune Knight Renoa]";
+ mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "Refining the rune stone is a failure... Please try again.";
+ set @job_rune_miss, job_rune_edq3;
+ set @job_rune_miss_check, @job_rune_miss + 1;
+ set job_rune_edq3, @job_rune_miss_check;
+ close;
+ }
+ if (@job_rune_test_rand == 23) {
+ progressbar "ffff00",5;
+ mes "The magical power of the rune pitches and tosses while it is getting shaped.";
+ next;
+ mes "The rune flashing with this silver round shape is...";
+ next;
+ input .@inputstr$;
+ if (.@inputstr$ == "Fehu") {
+ mes "[Rune Knight Renoa]";
+ mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Fehu rune was made normally.";
+ set @job_rune_success, job_rune_edq2;
+ set @job_rune_success_check, @job_rune_success + 1;
+ set job_rune_edq2, @job_rune_success_check;
+ close;
+ }
+ set @job_rune_miss, job_rune_edq3;
+ set @job_rune_miss_check, @job_rune_miss + 1;
+ set @job_rune_crash_check, @job_rune_crash + @job_rune_miss_check;
+ if (rand(1,@job_rune_crash_check) == 3) {
+ mes "[Rune Knight Renoa]";
+ mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Fehu rune was made normally.";
+ set @job_rune_success, job_rune_edq2;
+ set @job_rune_success_check, @job_rune_success + 1;
+ set job_rune_edq2, @job_rune_success_check;
+ close;
+ }
+ mes "[Rune Knight Renoa]";
+ mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "Refining the rune stone is a failure... Please try again.";
+ set @job_rune_miss, job_rune_edq3;
+ set @job_rune_miss_check, @job_rune_miss + 1;
+ set job_rune_edq3, @job_rune_miss_check;
+ close;
+ }
+ if (@job_rune_test_rand == 24) {
+ progressbar "ffff00",5;
+ mes "The magical power of the rune pitches and tosses while it is getting shaped.";
+ next;
+ mes "The rune flashing with this violet spiral is...";
+ next;
+ input .@inputstr$;
+ if (.@inputstr$ == "Urj") {
+ mes "[Rune Knight Renoa]";
+ mes "Wow! This is great. The image of the rune stone in my head and the modelled rune stone matches perfectly. It's well made.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Uruz rune was made normally.";
+ set @job_rune_success, job_rune_edq2;
+ set @job_rune_success_check, @job_rune_success + 1;
+ set job_rune_edq2, @job_rune_success_check;
+ close;
+ }
+ set @job_rune_miss, job_rune_edq3;
+ set @job_rune_miss_check, @job_rune_miss + 1;
+ set @job_rune_crash_check, @job_rune_crash + @job_rune_miss_check;
+ if (rand(1,@job_rune_crash_check) == 3) {
+ mes "[Rune Knight Renoa]";
+ mes "Ah, you got lucky! Althought the stones don't match perfectly, they are close enough. It's quite rare, though.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "1 Uruz rune was made normally.";
+ set @job_rune_success, job_rune_edq2;
+ set @job_rune_success_check, @job_rune_success + 1;
+ set job_rune_edq2, @job_rune_success_check;
+ close;
+ }
+ mes "[Rune Knight Renoa]";
+ mes "It's a natural result. The image of the rune stone in my head and the modelled rune stone didn't match so the rate of success just gets extremely lower.";
+ next;
+ mes "[Rune Knight Renoa]";
+ mes "Refining the rune stone is a failure... Please try again.";
+ set @job_rune_miss, job_rune_edq3;
+ set @job_rune_miss_check, @job_rune_miss + 1;
+ set job_rune_edq3, @job_rune_miss_check;
+ close;
+ }
+ case 2:
+ close;
+ }
+ }
+ mes "[Rune Knight Renoa]";
+ mes "You don't want to touch that thing. Believe me, I'm not kidding.";
+ close;
+}
+
+job3_rune01,40,54,1 script Runes and Rune Knights 844,{
+
+ if (job_rune_edq < 8) {
+ mes "[Rune Knight Renoa]";
+ mes "Besides touching stuff in this place without permission. Would you be able to understand the contents of the book?";
+ next;
+ mes "[Captain Tigris]";
+ mes "Hey Renoa go easy on that Knight. You there too, you'd better stop touching stuff here without a permission.";
+ close;
+ }
+ if (job_rune_edq > 7) {
+ while (1) {
+ switch (select("The birth of Rune Knights:Runes and Magic Energy:Stop Reading")) {
+ case 1:
+ set @job_rune_book1_1, @job_rune_book1_1 + 1;
+ mes "Rune Knights are the gathering of evolved swordmen who have achieved the harmony of sword and magic.";
+ next;
+ mes "It had been achieved by the legendary swordman Beljeve who's been known as a Sword Master and a founder of dispensable expenditure.";
+ next;
+ mes "Rune Knights use rune stones as a medium for magic power rather than using the magical energy made directly within the body.";
+ next;
+ mes "Magic power could only previously be used by those who can harness magic power within their bodies through a long time of research";
+ next;
+ mes "However, for the direct research on the rune magical power which had broken the human's normal concept is now ongoing.";
+ next;
+ mes "It's known that the Sword Master Beljeve felt the limit of his power, so he studied the way to overcome the physical limitation of mortals.";
+ next;
+ mes "We guess he had been already in touch with the Laphine tribe long before the dimensional rift was discovered to get to the Ash Vacuum.";
+ next;
+ mes "The Laphine tribe are the fairies from the Ash Vacuum and are known to have a close relationship to the birth of the Rune Knights.";
+ next;
+ mes "Now it's possible for those who are normally unsuitted to using magic power to carry a medium that can carry magic that normal mortals could not wield before.";
+ next;
+ mes "The result of studying these techniques are the rune stones tuned in harmony with the physical power of swords.";
+ next;
+ mes "Beljeve's disciples who started to learn the way to harmoze their swords with rune stones became known as Rune Knights.";
+ next;
+ break;
+ case 2:
+ set @job_rune_book1_2, @job_rune_book1_2 + 1;
+ mes "A jewel called as a Rune is a medium that contains the formless existence, the magical power and the essence of it can be used directly.";
+ next;
+ mes "The Laphine Sage, Serpeone and the founder of Rune Knights Beljeve co-researched runes and the result of their research has only recently become to be known to the world.";
+ next;
+ mes "It's a limitless alternative energy source and research on them is still ongoing. ";
+ next;
+ mes "Unlike humans, the living things in the Ash Vacuum preserve magical energy by holding it in their bodies.";
+ next;
+ mes "The discovery of transvering this magical power into runes was refined by Beljeve and Serpeone and shared with the Rune Knights.";
+ next;
+ break;
+ case 3:
+ if ((@job_rune_book1_1 > 0) && (@job_rune_book1_2 > 0) && (job_rune_edq == 8)) {
+ set job_rune_edq,9;
+ } else if ((@job_rune_book1_1 > 0) && (@job_rune_book1_2 > 0) && (job_rune_edq == 9)) {
+ set job_rune_edq,10;
+ } else if ((@job_rune_book1_1 > 0) && (@job_rune_book1_2 > 0) && (job_rune_edq == 10)) {
+ set job_rune_edq,11;
+ }
+ break;
+ }
+ break;
+ }
+ close;
+ }
+ end;
+}
+
+job3_rune01,43,44,1 script The Principles of Runes 844,{
+
+ if (job_rune_edq < 8) {
+ mes "[Rune Knight Renoa]";
+ mes "Besides touching stuff in this place without permission. Would you be able to understand the contents of the book?";
+ next;
+ mes "[Captain Tigris]";
+ mes "Hey Renoa go easy on that Knight. You there too, you'd better stop touching stuff here without a permission.";
+ close;
+ }
+ if (job_rune_edq > 7) {
+ while (1) {
+ switch (select("The principle use of Runes:The types of Runes:Stop Reading")) {
+ case 1:
+ set @job_rune_book2_1, @job_rune_book2_1 + 1;
+ mes "A rune is a kind of symbol that's been used on the Rune Midgard continent since ancient times. Up until now it has only been used by occult circles.";
+ next;
+ mes "A rune is a kind of symbol that's been used on the Rune Midgard continent since ancient times. Up until now it has only been used by occult circles.";
+ next;
+ mes "Runes are used as a symbol system, however, by the story handed down orally, it's known to be used for fortune-telling or used to draw out the human subconsciousness.";
+ next;
+ mes "Runes have their own system and types and can draw out various powers according to how they are arranged. But their power level can't currently be measured by known means.";
+ next;
+ mes "It is fortunate that the Rune Knights discovered their use for positive means. Runes have not been used for dark magic but it is certainly possible for their power to be misused if in the wrong hands.";
+ next;
+ break;
+ case 2:
+ set @job_rune_book2_2, @job_rune_book2_2 + 1;
+ mes "The runes are created from a a total of 25 small stones and they are very fragile to physical shock. So they require special care when being handled.";
+ next;
+ mes "The 25 stones have different meanings and among these, 14 when counter-positioned can have entirely different power and meaning from the original so it's essential to study the exceptional aspects.";
+ next;
+ mes "The other 11 runes have consistent power, not influenced by any position so if you don't master all 11 ordinary runes and the 14 inverse runes, you cannot draw out all the complete power.";
+ next;
+ mes "Among the 11 ordinary runes, the blank rune is an exception.";
+ next;
+ mes "The names of the 25 rune stones are the following:";
+ next;
+ mes "Ehwaz, Osilia, Mannaz, Ansuz, Hagalas, Kano, Rhydo, Turisus, Dagaz, Sowilo, Laguz, Isia, Pertz, Verkana, Gebo, Algiz, Arwez, Teiwaz, Wunjo, Jera, Nosiege, Ingz, Fehu, Urj.";
+ next;
+ break;
+ case 3:
+ if ((@job_rune_book2_1 > 0) && (@job_rune_book2_2 > 0) && (job_rune_edq == 8)) {
+ set job_rune_edq,9;
+ }else if ((@job_rune_book2_1 > 0) && (@job_rune_book2_2 > 0) && (job_rune_edq == 9)) {
+ set job_rune_edq,10;
+ }else if ((@job_rune_book2_1 > 0) && (@job_rune_book2_2 > 0) && (job_rune_edq == 10)) {
+ set job_rune_edq,11;
+ }
+ break;
+ }
+ break;
+ }
+ close;
+ }
+ end;
+}
+
+job3_rune01,50,36,1 script Runes, Make & Use 844,{
+
+ if (job_rune_edq < 8) {
+ mes "[Rune Knight Renoa]";
+ mes "Besides touching stuff in this place without permission. Would you be able to understand the contents of the book?";
+ next;
+ mes "[Captain Tigris]";
+ mes "Hey Renoa go easy on that Knight. You there too, you'd better stop touching stuff here without a permission.";
+ close;
+ }
+ if (job_rune_edq > 7) {
+ while (1) {
+ switch (select("The Making of Rune Stones:Rune Stone Ability Details:Stop Reading")) {
+ case 1:
+ set @job_rune_book3_1, @job_rune_book3_1 + 1;
+ mes "The making of Rune stones is achieved through a skill called rune mastery which is learned when one becomes a Rune Knight.";
+ next;
+ mes "Rune Mastery is like a code that's been put into the body as a mark of a Rune Knight.";
+ next;
+ mes "Ordinary people can also learn this skill and it needs its own machine called a Rune Furnace.";
+ next;
+ mes "When you making a Rune stone with a Rune Furnace, the type of rune is determined by the magical energy put into it, and it cannot be changed.";
+ next;
+ mes "When making a rune stone by using Rune Mastery, it can be made into the rune property that you want but it's classified as a Rune Knights' own ability. ";
+ next;
+ mes "When you operate the Rune Furnace , the magical energy of the body gets concentrated through it and it enables the change into a Rune Stone.";
+ next;
+ break;
+ case 2:
+ set @job_rune_book3_2, @job_rune_book3_2 + 1;
+ switch (select("Chapter One:Chapter Two:Chapter Three:Chapter Four:Stop Reading")) {
+ case 1:
+ mes "Ehwaz - This rune means the enhancement of luck and positive power. It shapes the source in the form of a red spiral in a Rune Furnace.";
+ next;
+ mes "Osilia - This rune is an equivalent exchangement which means that you lose one and you gain one, and it also means the power that needs a cost. This is shaped into the form of a violet oblique line in a Rune Furnace.";
+ next;
+ mes "Mannaz - This rune means hope and a new start and also the positive power that can reverse a desperate situation. This is shaped into the form of an emerald diamond in a Rune Furnace.";
+ next;
+ mes "Ansuz - This rune means preparation or arrangement and the power that can overcome the uneasiness of the coming future. This is shaped into the form of an emerald round in a Rune Furnace. ";
+ next;
+ mes "Hagalas - This rune means the freedom and the power that resists restraint. This is shaped into the form of a skyblue colored star-shape in a Rune Furnace.";
+ next;
+ mes "Kano - This rune means flame and passion, and the power that ends everything. The source of it is shaped into the form of a red diamond in a Rune Furnace.";
+ next;
+ break;
+ case 2:
+ mes "Rhydo - This rune means the combination and recombination and the power of completion. This is shaped into the skyblue oblique line in a Rune Furnace.";
+ next;
+ mes "Turisus - This rune means the border and the power of limitation. This is shaped into a yellow round in a Rune Furnace.";
+ next;
+ mes "Dagaz - This rune means the talent and the power of enduring adversity. This is shaped into an emerald spiral in a Rune Furnace.";
+ next;
+ mes "Sowilo - This rune means victory and success and the power of arrangement and cessation. This is shaped into the form of a skyblue fan-shape in a Rune Furnace.";
+ next;
+ mes "Laguz -This rune means uncertainty and the power that protects the inside. This is shaped into a form of a yellow diamond in a Rune Furnace.";
+ next;
+ mes "Isia - This rune means the power that stops everything. This is shaped into a violet spiral in a Rune Furnace.";
+ next;
+ break;
+ case 3:
+ mes "Pertz - This rune means revelation and the power of chance. This is shaped into the form of silver spiral in a Rune Furnace.";
+ next;
+ mes "Verkana - This rune means richness, birth and the power of defense and protection. This is shaped into the form of a gold-color star in a Rune Furnace.";
+ next;
+ mes "Gebo - This rune means cooperation and the power of harmony. This is shaped into the form of a yellow cone in a Rune Furnace.";
+ next;
+ mes "Algiz - This rune means chance and the power of challenge. This is shaped into the form of an emerald oblique line in a Rune Furnace.";
+ next;
+ mes "Arwez - This rune means change, convulsion and the power of movement. This is shaped into the form of a gray diamond in a Rune Furnace.";
+ next;
+ mes "Teiwaz - This rune means perfect victory and the power of absolute solution. This is shaped into the form of a gold round in a Rune Furnace.";
+ next;
+ break;
+ case 4:
+ mes "Wunjo - This rune means intelligence and the power of wisdom. This is shaped into the form of an emerald star in a Rune Furnace.";
+ next;
+ mes "Jera - This rune means comfort and the power of rest. This is shaped into the form of a yellow round in a Rune Furnace.";
+ next;
+ mes "Nosiege - This rune means weakness and the power of attenuating. This is shaped into the form of a yellow fan-shape in a Rune Furnace.";
+ next;
+ mes "Ingz - This rune means disruption and the power of separation. This is shaped into the form of a violet diamond in a Rune Furnace.";
+ next;
+ mes "Fehu - This rune means attainment and the power of materialization. This is shaped into the form of a silver round in a Rune Furnace.";
+ next;
+ mes "Urj - This rune means destiny and the power of restriction. This is shaped into the form of a violet spiral line in a Rune Furnace.";
+ next;
+ break;
+ case 5:
+ close2;
+ break;
+ }
+ break;
+ case 3:
+ if ((@job_rune_book3_1 > 0) && (@job_rune_book3_2 > 0) && (job_rune_edq == 8)) {
+ set job_rune_edq,9;
+ }else if ((@job_rune_book3_1 > 0) && (@job_rune_book3_2 > 0) && (job_rune_edq == 9)) {
+ set job_rune_edq,10;
+ }else if ((@job_rune_book3_1 > 0) && (@job_rune_book3_2 > 0) && (job_rune_edq == 10)) {
+ set job_rune_edq,11;
+ }
+ break;
+ }
+ break;
+ }
+ close;
+ }
+ end;
+}
+
+mid_camp,238,250,3 script Rune Knight Sage Guard 468,{
+
+ if (Class == Job_Rune_Knight || Class == Job_Rune_Knight_T || Class == Job_Baby_Rune) {
+ mes "[Rune Knight Sage Guard]";
+ mes "The sage Serpeone is the one who has been with us since the beginning of the Rune Knights.";
+ next;
+ mes "[Rune Knight Sage Guard]";
+ mes "I am very proud as a Rune Knight to serve beside her.";
+ close;
+ }
+ if (Class == Job_Knight || Class == Job_Lord_Knight || Class == Job_Baby_Knight) {
+ if (job_rune_edq < 11) {
+ mes "[Rune Knight Sage Guard]";
+ mes "You might be walking the way of the sword but you are not a Rune Knight yet. Don't wander around here too much if you know what I mean.";
+ close;
+ }
+ if (job_rune_edq > 10) {
+ mes "[Rune Knight Sage Guard]";
+ mes "Splendide is the land of the Laphine. We are offering a convenience by an agreement between the Rune Knights and the expeditionary team.";
+ next;
+ mes "[Rune Knight Sage Guard]";
+ mes "Our agents are opening the way to Splendide only for the trainees who are taking the Rune Knight job change test.";
+ next;
+ mes "[Rune Knight Sage Guard]";
+ mes "But when you become a Rune Knight, you'll need to make sure that you join the expeditionary team in order to fully explore the Ash Vacuum.";
+ close;
+ }
+ }
+ mes "[Rune Knight Sage Guard]";
+ mes "Hanging around this man won't be good for you. Keep going the way you were heading.";
+ close;
+}
+
+mid_camp,13,138,3 script Dispatched Rune Knight 83,{
+
+ if (Class == Job_Rune_Knight || Class == Job_Rune_Knight_T || Class == Job_Baby_Rune) {
+ mes "[Dispatched Rune Knight]";
+ mes "Thanks for your work. We will continue our mission for the Rune Knight testers.";
+ close;
+ }
+ if (Class == Job_Knight || Class == Job_Lord_Knight || Class == Job_Baby_Knight) {
+ if (job_rune_edq < 11) {
+ mes "[Dispatched Rune Knight]";
+ mes "Shh... Our mission is not something to be revealed to the public. Please just move along.";
+ close;
+ }
+ if (job_rune_edq > 10) {
+ mes "[Dispatched Rune Knight]";
+ mes "I've been waiting for you Rune Knight candidate. I'm helping the candidates as a favor to Ms. Serpeone.";
+ next;
+ mes "[Dispatched Rune Knight]";
+ mes "Do you want to go out to the Splendide field?";
+ next;
+ switch (select("Move to Splendide field:Cancel.")) {
+ case 1:
+ warp "spl_fild01",355,325;
+ end;
+ case 2:
+ close;
+ }
+ }
+ }
+ mes "[Dispatched Rune Knight]";
+ mes "Shh... Our mission is not something to be revealed to the public. Please just move along.";
+ close;
+}
+
+spl_fild02,13,241,0 script #roadblock1 139,10,10,{
+
+OnTouch:
+ if ((job_rune_edq > 0) && (job_rune_edq < 23)) {
+ mes "-Whispers of the sage Serpeone are delivered to my mind.-";
+ next;
+ mes "[Sage Serpeone]";
+ mes "Until you become an honorable Rune Knight I cannot help you control your powers in Rune Midgard.";
+ next;
+ mes "[Sage Serpeone]";
+ mes "Please understand this and be devoted to this test.";
+ close2;
+ warp "spl_fild02",25,245;
+ end;
+ }
+ end;
+}
+
+spl_fild01,361,327,3 script Dispatched Rune Knight#2 83,{
+
+ if (Class == Job_Rune_Knight || Class == Job_Rune_Knight_T || Class == Job_Baby_Rune) {
+ mes "[Dispatched Rune Knight]";
+ mes "Thanks for your work. We will continue our mission for the Rune Knight testers.";
+ close;
+ }
+ if (Class == Job_Knight || Class == Job_Lord_Knight || Class == Job_Baby_Knight) {
+ if (job_rune_edq < 11) {
+ mes "[Dispatched Rune Knight]";
+ mes "Shh... Our mission is not something to be revealed to the public. Please just move along.";
+ close2;
+ }
+ if (job_rune_edq > 10) {
+ mes "[Dispatched Rune Knight]";
+ mes "I've been waiting for you Rune Knight candidate. I'm helping the candidates as a favor to Ms. Serpeone.";
+ next;
+ mes "[Dispatched Rune Knight]";
+ mes "Do you want to go back to the expeditionary team's post?";
+ next;
+ switch (select("Yes please.:Not yet.")) {
+ case 1:
+ warp "mid_camp",50,153;
+ end;
+ case 2:
+ close;
+ }
+ }
+ end;
+ }
+ mes "[Dispatched Rune Knight]";
+ mes "Shh... Our mission is not something to be revealed to the public. Please just move along.";
+ close;
+}
+
+mid_camp,235,250,3 script Sage Serpeone 435,{
+
+ if (Class == Job_Rune_Knight || Class == Job_Rune_Knight_T || Class == Job_Baby_Rune) {
+ mes "[Sage Serpeone]";
+ mes "Finally you are an honorable Rune Knight. I'm happy to help you.";
+ next;
+ mes "[Sage Serpeone]";
+ mes "The power of Runes are not perfect and more research still needs to be done to make it perfectly safe. It is up to me and other Rune Knights like you to make sure to continue that research.";
+ next;
+ mes "[Sage Serpeone]";
+ mes "Please be devoted to the Runes and hopefully your life will be illuminated by it.";
+ close;
+ }
+ if (Class == Job_Knight || Class == Job_Lord_Knight || Class == Job_Baby_Knight) {
+ if (job_rune_edq < 12) {
+ mes "[Sage Serpeone]";
+ mes "It must be surprising that I, a Laphine, am here in your people's base.";
+ next;
+ mes "[Sage Serpeone]";
+ mes "Some of us have been in contact with humans in special situations since even before the dimensional rift opened up.";
+ next;
+ mes "[Sage Serpeone]";
+ mes "I have been having correspondences with humans for a number of years now. It was for mutual interests. Anyway, that's how I learned your language.";
+ next;
+ mes "[Sage Serpeone]";
+ mes "Maybe there needs to be a machine that can translate the Laphine language to make it easier for humans to understand us.";
+ next;
+ mes "[Sage Serpeone]";
+ mes "More than that... I cannot tell you more. I cannot speak carelessly since I'm speaking for my people here and I am on a special pass to be allowed in your camp.";
+ close;
+ }
+ if (job_rune_edq == 12) {
+ mes "[Sage Serpeone]";
+ mes "Welcome, you are the one taking the job training test of the Rune Knights. I am Serpeone.";
+ next;
+ mes "[Sage Serpeone]";
+ mes "All Rune Knights that you've met so far are the disciples who were taught by me and Beljeve. Now you are on your way to joining them.";
+ next;
+ mes "[Sage Serpeone]";
+ mes "I think you've already heard a basic explanation and instructions from Renoa. Now it seems that it's my turn to help you out.";
+ next;
+ mes "[Sage Serpeone]";
+ mes "The magical power that the Rune Knights use are not technically the same as the magical power made in the human world.";
+ next;
+ mes "[Sage Serpeone]";
+ mes "Right this place... our sphere where you call as Ash Vacuum...it's the magical power made with";
+ next;
+ mes "[Sage Serpeone]";
+ mes "The living things in this place have been preserving the magical energy in our bodies unlike the living things in the human world.";
+ next;
+ mes "[Sage Serpeone]";
+ mes "The power of the rune stones is the way of shaping the magical power in our bodies into runes which take place of our bodies as a medium.";
+ next;
+ mes "[Sage Serpeone]";
+ mes "So to use the rune stone you need a direct understanding of the other sphere's living things.";
+ next;
+ mes "[Sage Serpeone]";
+ mes "But, it must be too much for you to extract the magical energy from the living things in this land yet.";
+ next;
+ mes "[Sage Serpeone]";
+ mes "Now I'll cast a magic spell on your body so you can gather magic energy from other living things.";
+ next;
+ mes "[Sage Serpeone]";
+ mes "Temporarily you'll able to extract magic energy from evil creatures in the human world. Of course you won't be able to use the energy directly...";
+ next;
+ mes "[Sage Serpeone]";
+ mes "If you store up the energy by getting rid of evil creatures in the human world, I'll convert it to the energy that you can use.";
+ next;
+ mes "[Sage Serpeone]";
+ mes "The vicious souls that they keep even after being dead is the great source of magical powers.";
+ next;
+ mes "[Sage Serpeone]";
+ mes "Please get rid of ^0000FF10 Dullahan^000000, ^0000FF10 Disguise^000000, ^0000FF10 Quve^000000, ^0000FF10 Heirozoist^000000 and gather their energy.";
+ next;
+ mes "[Sage Serpeone]";
+ mes "I am telling you beforehand but I don't test or judge your qualification. A Rune Knight will be the judge of that.";
+ next;
+ mes "[Sage Serpeone]";
+ mes "If you have any problems or any questions, please talk to me.";
+ set job_rune_edq,13;
+ changequest 3207,3208;
+ setquest 3209;
+ setquest 3210;
+ setquest 3211;
+ setquest 3212;
+ close;
+ }
+ if (job_rune_edq == 13) {
+ mes "[Sage Serpeone]";
+ mes "Are you gathering enough magical energy? Or do you have any questions?";
+ next;
+ switch (select("I've gathered enough energy.:To the gathering place.:Stop the conversation.")) {
+ case 1:
+ mes "[Sage Serpeone]";
+ mes "Is it so? Then let's check this out.";
+ next;
+ if ((checkquest(3209,HUNTING) == 2) && (checkquest(3210,HUNTING) == 2) && (checkquest(3211,HUNTING) == 2) && (checkquest(3212,HUNTING) == 2)) {
+ mes "[Sage Serpeone]";
+ mes "Umm, this is great. Enough amount of living body magical energy has accumulated in your body.";
+ next;
+ mes "[Sage Serpeone]";
+ mes "Rune Knight Renoa will tell you the way of using rune stones.";
+ next;
+ mes "[Sage Serpeone]";
+ mes "Now I think my part is all over. I hope you will become an honorable Rune Knight.";
+ next;
+ mes "[Sage Serpeone]";
+ mes "If you have any business here, I'll send you to the Rune Knight gathering place. If you are ready, please tell me.";
+ set job_rune_edq,14;
+ changequest 3208,3213;
+ completequest 3209;
+ completequest 3210;
+ completequest 3211;
+ completequest 3212;
+ close2;
+ }
+ mes "[Sage Serpeone]";
+ mes "You haven't collected enough magical energy yet.";
+ next;
+ mes "[Sage Serpeone]";
+ mes "Please brace yourself and gather enough energy by dispatching those monsters.";
+ close;
+ case 2:
+ mes "[Sage Serpeone]";
+ mes "You want to go back to the gathering place? If you want I'll send you back there immediately. But to continue the test you'll need to come and see me again.";
+ next;
+ mes "[Sage Serpeone]";
+ mes "Do you want to go back the Rune Knight gathering place?";
+ next;
+ switch (select("I want to go back.:I want to cancel.")) {
+ case 1:
+ warp "job3_rune01",80,65;
+ end;
+ case 2:
+ close;
+ }
+ case 3:
+ close;
+ }
+ }
+ if (job_rune_edq == 14) {
+ mes "[Sage Serpeone]";
+ mes "Are you ready to go back to the Rune Knight gathering place?";
+ next;
+ switch (select("I want to go back now.:I am not ready yet.")) {
+ case 1:
+ warp "job3_rune01",80,65;
+ end;
+ case 2:
+ close;
+ }
+ }
+ if (job_rune_edq > 14) {
+ mes "[Sage Serpeone]";
+ mes "Are the preparations going well?";
+ next;
+ mes "[Sage Serpeone]";
+ mes "Aren't you in the wrong state right now?";
+ next;
+ mes "[Sage Serpeone]";
+ mes "Then I'll send you to the Rune Knight gathering place where you should be.";
+ next;
+ switch (select("I'll go back now.:I'll stay.")) {
+ case 1:
+ warp "job3_rune01",80,65;
+ end;
+ case 2:
+ close;
+ }
+ }
+ end;
+ }
+ mes "[Sage Serpeone]";
+ mes "It must be surprising that I, a Laphine, am here in your people's base.";
+ next;
+ mes "[Sage Serpeone]";
+ mes "Some of us have been in contact with humans in special situations since even before the dimensional rift opened up.";
+ next;
+ mes "[Sage Serpeone]";
+ mes "I have been having correspondences with humans for a number of years now. It was for mutual interests. Anyway, that's how I learned your language.";
+ next;
+ mes "[Sage Serpeone]";
+ mes "Maybe there needs to be a machine that can translate the Laphine language to make it easier for humans to understand us.";
+ next;
+ mes "[Sage Serpeone]";
+ mes "More than that... I cannot tell you more. I cannot speak carelessly since I'm speaking for my people here and I am on a special pass to be allowed in your camp.";
+ close;
+}
+
+job3_rune01,114,50,3 script Rune Knight Velpino 468,{
+
+ set .@strRetPart1,getequipisequiped(EQI_HEAD_TOP);
+ set .@strRetPart2,getequipisequiped(EQI_ARMOR);
+ set .@strRetPart5,getequipisequiped(EQI_GARMENT);
+ set .@strRetPart6,getequipisequiped(EQI_SHOES);
+ set .@strRetPart7,getequipisequiped(EQI_ACC_L);
+ set .@strRetPart8,getequipisequiped(EQI_ACC_R);
+ set .@strRetPart10,getequipisequiped(EQI_HEAD_MID);
+ set .@strRetPart11,getequipisequiped(EQI_HEAD_LOW);
+ if (Class == Job_Rune_Knight || Class == Job_Rune_Knight_T || Class == Job_Baby_Rune) {
+ mes "[Rune Knight Velpino]";
+ mes "You still smell like a fledging. Bring honor to the Rune Knights and raise your power...";
+ close;
+ }
+ if (Class == Job_Knight || Class == Job_Lord_Knight || Class == Job_Baby_Knight) {
+ if (job_rune_edq < 17) {
+ mes "A very cold feeling Rune Knight dressed in black from head to toe is scowling at me.";
+ next;
+ mes "Why are all of the Rune Knights blabberers or uncommunicative and combative...?";
+ next;
+ mes "[Captain Tigris]";
+ mes "Hey... What about me? I'm not like that!";
+ close;
+ }
+ if (job_rune_edq == 17) {
+ mes "[Rune Knight Velpino]";
+ mes "I didn't think that a candidate would make it to me today...";
+ next;
+ mes "[Rune Knight Velpino]";
+ mes "Congratulations! You are at the long-waited final test... I think you've mastered the basics now.";
+ next;
+ mes "[Rune Knight Velpino]";
+ mes "The final test is relatively simple. Everything ends when you get rid of all the magical monsters in this Glast Heim...";
+ next;
+ mes "[Rune Knight Velpino]";
+ mes "The only condition is that you have to get rid of these monsters by using the rune stones you made at the former test.";
+ next;
+ mes "[Rune Knight Velpino]";
+ mes "For this test, only a one-hand weapon, a shield or a two-handed weapon can be equipped.";
+ next;
+ mes "[Rune Knight Velpino]";
+ mes "The only set of weapons you can use should be within the weight limit of 400. Rune stones to be provided are 30 attack-only rune stones and 30 defense-only rune stones.";
+ next;
+ mes "[Rune Knight Velpino]";
+ mes "To use these runes, I will cast a special buff spell over you.";
+ next;
+ mes "[Rune Knight Velpino]";
+ mes "The magical monsters are the 3 kinds of magic monsters from Glast Heim that you might already know... It won't be an easy fight but if you just undergo this final suffering, you'll walk the path of a Rune Knight.";
+ next;
+ mes "[Rune Knight Velpino]";
+ mes "To help the preparation we've made a contract with the Kafra center in Aldebaran by employing a kafra especially for this gathering place. So it would be good to visit her.";
+ next;
+ mes "[Rune Knight Velpino]";
+ mes "If you are ready just talk to me again.";
+ set job_rune_edq,18;
+ changequest 3216,3217;
+ close;
+ }
+ if ((job_rune_edq > 17) && (job_rune_edq < 21)) {
+ set .@rune_crush,countitem(12388);
+ set .@rune_storm,countitem(12389);
+ set .@rune_millenium,countitem(12390);
+ set .@rune_check,.@rune_crush + .@rune_storm + .@rune_millenium;
+ if (.@rune_check == 0) {
+ mes "[Rune Knight Velpino]";
+ mes "If all of your preparations are done, I'll send you to the final test field.";
+ set job_rune_edq,18;
+ next;
+ switch (select("Enter the final test field.:I'm not ready yet.")) {
+ case 1:
+ if ((.@strRetPart1 == 0) && (.@strRetPart2 == 0) && (.@strRetPart5 == 0) && (.@strRetPart6 == 0) && (.@strRetPart7 == 0) && (.@strRetPart8 == 0) && (.@strRetPart10 == 0) && (.@strRetPart11 == 0)) {
+ if (checkquest(3220,PLAYTIME) == -1 || checkquest(3220,PLAYTIME) == 0) {
+ if ($@job_rune_test1 == 0) {
+ if (Weight < 4001) {
+ set $@job_rune_test1,1;
+ //ConsumeSpecialItem Rune_Kn_Test_Int
+ getitem 12389,30; //Runstone_Storm
+ getitem 12390,30; //Runstone_Millennium
+ erasequest 3220;
+ setquest 3220;
+ warp "job3_rune02",38,40;
+ end;
+ }
+ mes "[Rune Knight Velpino]";
+ mes "For this test, only a one-hand weapon, a shield or a two-handed weapon can be equipped. Keep your other equipments with the Kafra Employee in the center.";
+ close;
+ }
+ // custom translation
+ mes "[Rune Knight Velpino]";
+ mes "Looks like there is already an applicant in the test room.";
+ next;
+ mes "[Rune Knight Velpino]";
+ mes "Be patient and wait your turn,";
+ close;
+ }
+ if (checkquest(3220,PLAYTIME) == 1) {
+ mes "[Rune Knight Velpino]";
+ mes "Haven't you failed at the test... If you fail once, you cannot enter again for 10 minutes.";
+ next;
+ mes "[Rune Knight Velpino]";
+ mes "It's a consideration for the other testers who are waiting for the test, just like you, so come back after the designated time.";
+ close;
+ }
+ if (checkquest(3220,PLAYTIME) == 2) {
+ if ($@job_rune_test1 == 0) {
+ if (Weight < 4001) {
+ set $@job_rune_test1,1;
+ //ConsumeSpecialItem Rune_Kn_Test_Int
+ getitem 12389,30; //Runstone_Storm
+ getitem 12390,30; //Runstone_Millennium
+ erasequest 3220;
+ setquest 3220;
+ warp "job3_rune02",38,40;
+ end;
+ }
+ mes "[Rune Knight Velpino]";
+ mes "The only set of weapons you can use should be within the weight limit of 400. Rune stones to be provided are 30 attack-only rune stones and 30 defense-only rune stones.";
+ next;
+ mes "[Rune Knight Velpino]";
+ mes "The remained stuff you are holding should be kept by the Kafra employee in the middle.";
+ close;
+ }
+ // custom translation
+ mes "[Rune Knight Velpino]";
+ mes "Looks like there is already an applicant in the test room.";
+ next;
+ mes "[Rune Knight Velpino]";
+ mes "Be patient and wait your turn,";
+ close;
+ }
+ }
+ mes "[Rune Knight Velpino]";
+ mes "For this test, only a one-hand weapon, a shield or a two-handed weapon can be equipped. Keep your other equipments with the Kafra Employee in the center.";
+ close;
+ case 2:
+ close;
+ }
+ }
+ set .@rune_crush,countitem(12388);
+ set .@rune_storm,countitem(12389);
+ set .@rune_millenium,countitem(12390);
+ if (.@rune_crush > 0) {
+ mes "[Rune Knight Velpino]";
+ mes "Wait, I'll collect all the rune stones provided before. There's a certain limit on using the rune stones that's made for the test.";
+ delitem 12388,.@rune_crush; //Runstone_Crush
+ next;
+ mes "[Rune Knight Velpino]";
+ mes "I'll get new rune stones so if your preparation is all done, please talk to me again.";
+ close;
+ }
+ if (.@rune_storm > 0) {
+ mes "[Rune Knight Velpino]";
+ mes "Wait, I'll collect all the rune stones provided before. There's a certain limit on using the rune stones that's made for the test.";
+ delitem 12389,.@rune_storm; //Runstone_Storm
+ next;
+ mes "[Rune Knight Velpino]";
+ mes "I'll get new rune stones so if your preparation is all done, please talk to me again.";
+ close;
+ }
+ if (.@rune_millenium > 0) {
+ mes "[Rune Knight Velpino]";
+ mes "Wait, I'll collect all the rune stones provided before. There's a certain limit on using the rune stones that's made for the test.";
+ delitem 12390,.@rune_millenium; //Runstone_Millennium
+ next;
+ mes "[Rune Knight Velpino]";
+ mes "I'll get new rune stones so if your preparation is all done, please talk to me again.";
+ close;
+ }
+ }
+ if (job_rune_edq == 21) {
+ mes "[Rune Knight Velpino]";
+ mes "You've been very successful up to the last test.";
+ next;
+ set .@rune_crush,countitem(12388);
+ set .@rune_storm,countitem(12389);
+ set .@rune_millenium,countitem(12390);
+ set .@rune_check,.@rune_crush + .@rune_storm + .@rune_millenium;
+ if (.@rune_check == 0) {
+ mes "[Rune Knight Velpino]";
+ mes "Now all the tests you need to take are over. Go back to Captain Tigris and inform him of this test result, and then feel the deep emotion of being born again as a Rune Knight.";
+ next;
+ mes "[Rune Knight Velpino]";
+ mes "Congratulations!";
+ mes "Well I'd better go now for the remaining candidates.";
+ set job_rune_edq,22;
+ changequest 3218,3219;
+ close;
+ }
+ set .@rune_crush, countitem(12388);
+ set .@rune_storm, countitem(12389);
+ set .@rune_millenium, countitem(12390);
+ if (.@rune_crush > 0) {
+ mes "[Rune Knight Velpino]";
+ mes "Wait, I'll collect all the rune stones provided before. There's a certain limit on using the rune stones that's made for the test.";
+ delitem 12388,.@rune_crush; //Runstone_Crush
+ next;
+ mes "[Rune Knight Velpino]";
+ mes "I'll need to re-use these unused rune stones. Talk to me again once I have taken all the test rune stones.";
+ close;
+ }
+ if (.@rune_storm > 0) {
+ mes "[Rune Knight Velpino]";
+ mes "Wait, I'll collect all the rune stones provided before. There's a certain limit on using the rune stones that's made for the test.";
+ delitem 12389,.@rune_storm; //Runstone_Storm
+ next;
+ mes "[Rune Knight Velpino]";
+ mes "I'll need to re-use these unused rune stones. Talk to me again once I have taken all the test rune stones.";
+ close;
+ }
+ if (.@rune_millenium > 0) {
+ mes "[Rune Knight Velpino]";
+ mes "Wait, I'll collect all the rune stones provided before. There's a certain limit on using the rune stones that's made for the test.";
+ delitem 12390,.@rune_millenium; //Runstone_Millennium
+ next;
+ mes "[Rune Knight Velpino]";
+ mes "I'll need to re-use these unused rune stones. Talk to me again once I have taken all the test rune stones.";
+ close;
+ }
+ }
+ mes "A very cold feeling Rune Knight dressed in black from head to toe is scowling at me.";
+ close;
+ }
+ mes "A very cold feeling Rune Knight dressed in black from head to toe is scowling at me.";
+ close;
+}
+
+job3_rune02,38,40,0 script #RK Test Hidden Portal 1 139,10,10,{
+ end;
+
+OnInit:
+ hideoffnpc "#RK Test Hidden Portal 1";
+ end;
+
+OnEnable:
+ hideoffnpc "#RK Test Hidden Portal 1";
+ end;
+
+OnDisable:
+ hideonnpc "#RK Test Hidden Portal 1";
+ end;
+
+OnTouch:
+ if (job_rune_edq == 4) {
+ donpcevent "job_rune_edq#1st_tb::OnEnable";
+ donpcevent "#RK Test Hidden Portal 1::OnDisable";
+ end;
+ }
+ if ((job_rune_edq > 17) && (job_rune_edq < 21)) {
+ donpcevent "job_rune_edq#3rd_tb::OnEnable";
+ donpcevent "#RK Test Hidden Portal 1::OnDisable";
+ end;
+ }
+ donpcevent "#RK Test Hidden Portal 1::OnDisable";
+ donpcevent "job_rune_edq#1st_tb::OnDisable";
+ donpcevent "job_rune_edq#1st_tc::OnDisable";
+ donpcevent "job_rune_edq#1st_tcmc::OnDisable";
+ donpcevent "job_rune_edq#1st_tcmc2::OnDisable";
+ donpcevent "job_rune_edq#1st_tcnc::OnDisable";
+ donpcevent "job_rune_edq#3rd_tb::OnDisable";
+ donpcevent "job_rune_edq#3rd_tc::OnDisable";
+ set $@job_rune_test1,0;
+ set $@job_rune_test2,0;
+ donpcevent "#RK Test Hidden Portal 1::OnEnable";
+ mapwarp "job3_rune02","job3_rune01",80,65;
+ end;
+}
+
+job3_rune02,1,1,0 script job_rune_edq#1st_tb 139,{
+ end;
+
+OnInit:
+ hideonnpc "job_rune_edq#1st_tb";
+ end;
+
+OnEnable:
+ initnpctimer;
+ end;
+
+OnDisable:
+ stopnpctimer;
+ hideonnpc "job_rune_edq#1st_tb";
+ end;
+
+OnTimer5000:
+ mapannounce "job3_rune02","I'll start the first test of the Rune Knight Job Change.",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0
+ end;
+
+OnTimer8000:
+ mapannounce "job3_rune02","The content of the test is to get rid of all the monsters for 5 minutes and survive.",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0
+ end;
+
+OnTimer11000:
+ mapannounce "job3_rune02","If you fail to survive or cannot get rid of all the monsters within the time limit, I'll consider it a failure.",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0
+ end;
+
+OnTimer14000:
+ mapannounce "job3_rune02","Now let's start the test.",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0
+ donpcevent "job_rune_edq#1st_tc::OnEnable";
+ donpcevent "job_rune_edq#1st_tb::OnDisable";
+ end;
+}
+
+job3_rune02,1,2,0 script job_rune_edq#1st_tc 139,{
+ end;
+
+OnInit:
+ hideonnpc "job_rune_edq#1st_tc";
+ end;
+
+OnEnable:
+ initnpctimer;
+ donpcevent "job_rune_edq#1st_tcmc::OnEnable";
+ donpcevent "job_rune_edq#1st_tcnc::OnEnable";
+ end;
+
+OnDisable:
+ stopnpctimer;
+ hideonnpc "job_rune_edq#1st_tc";
+ end;
+
+OnTimer300000:
+ killmonster "job3_rune02","job_rune_edq#1st_tc::OnMyMobDead";
+ mapannounce "job3_rune02","You reached the limit time so I'll consider the test as a failure.",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0
+ end;
+
+OnTimer305000:
+ donpcevent "#RK Test Hidden Portal 1::OnDisable";
+ donpcevent "job_rune_edq#1st_tb::OnDisable";
+ donpcevent "job_rune_edq#1st_tc::OnDisable";
+ donpcevent "job_rune_edq#1st_tcmc::OnDisable";
+ donpcevent "job_rune_edq#1st_tcmc2::OnDisable";
+ donpcevent "job_rune_edq#1st_tcnc::OnDisable";
+ donpcevent "job_rune_edq#3rd_tb::OnDisable";
+ donpcevent "job_rune_edq#3rd_tc::OnDisable";
+ donpcevent "#RK Test Hidden Portal 1::OnEnable";
+ mapwarp "job3_rune02","job3_rune01",80,65;
+ set $@job_rune_test1,0;
+ set $@job_rune_test2,0;
+ stopnpctimer;
+ end;
+}
+
+job3_rune02,3,10,0 script job_rune_edq#1st_tcmc 139,{
+ end;
+
+OnInit:
+ hideonnpc "job_rune_edq#1st_tcmc";
+ end;
+
+OnEnable:
+ hideoffnpc "job_rune_edq#1st_tcmc";
+ initnpctimer;
+ end;
+
+OnDisable:
+ killmonster "job3_rune02","job_rune_edq#1st_tcmc::OnMyMobDead";
+ stopnpctimer;
+ hideonnpc "job_rune_edq#1st_tcmc";
+ end;
+
+OnReset:
+ killmonster "job3_rune02","job_rune_edq#1st_tcmc::OnMyMobDead";
+ end;
+
+OnTimer5000:
+ monster "job3_rune02",0,0,"Raydric",1467,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+ monster "job3_rune02",0,0,"Raydric Archer",1453,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+ monster "job3_rune02",0,0,"Raydric Archer",1453,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+ end;
+
+OnTimer50000:
+ set .@job_rune_p,rand(1,6);
+ if (.@job_rune_p == 1) {
+ monster "job3_rune02",0,0,"Raydric",1467,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+ monster "job3_rune02",0,0,"Raydric Archer",1453,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+ monster "job3_rune02",0,0,"Raydric Archer",1453,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+ end;
+ }
+ else if (.@job_rune_p == 2 || .@job_rune_p == 4) {
+ monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+ monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+ monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+ monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+ end;
+ }
+ else if (.@job_rune_p == 3 || .@job_rune_p == 5) {
+ monster "job3_rune02",0,0,"Phendark",1484,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+ monster "job3_rune02",0,0,"Rybio",1483,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+ end;
+ }
+ else if (.@job_rune_p == 6) {
+ monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+ monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+ monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+ monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+ end;
+ }
+ end;
+
+OnTimer100000:
+ set .@job_rune_p,rand(1,6);
+ if (.@job_rune_p == 1) {
+ monster "job3_rune02",0,0,"Raydric",1467,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+ monster "job3_rune02",0,0,"Raydric Archer",1453,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+ monster "job3_rune02",0,0,"Raydric Archer",1453,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+ end;
+ }
+ else if (.@job_rune_p == 2 || .@job_rune_p == 4) {
+ monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+ monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+ monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+ monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+ end;
+ }
+ else if (.@job_rune_p == 3 || .@job_rune_p == 5) {
+ monster "job3_rune02",0,0,"Phendark",1484,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+ monster "job3_rune02",0,0,"Rybio",1483,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+ end;
+ }
+ else if (.@job_rune_p == 6) {
+ monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+ monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+ monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+ monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+ end;
+ }
+ end;
+
+OnTimer150000:
+ set .@job_rune_p,rand(1,6);
+ if (.@job_rune_p == 1) {
+ monster "job3_rune02",0,0,"Raydric",1467,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+ monster "job3_rune02",0,0,"Raydric Archer",1453,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+ monster "job3_rune02",0,0,"Raydric Archer",1453,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+ end;
+ }
+ else if (.@job_rune_p == 2 || .@job_rune_p == 4) {
+ monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+ monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+ monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+ monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+ end;
+ }
+ else if (.@job_rune_p == 3 || .@job_rune_p == 5) {
+ monster "job3_rune02",0,0,"Phendark",1484,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+ monster "job3_rune02",0,0,"Rybio",1483,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+ end;
+ }
+ else if (.@job_rune_p == 6) {
+ monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+ monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+ monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+ monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+ end;
+ }
+ end;
+
+OnTimer200000:
+ set .@job_rune_p,rand(1,6);
+ if (.@job_rune_p == 1) {
+ monster "job3_rune02",0,0,"Raydric",1467,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+ monster "job3_rune02",0,0,"Raydric Archer",1453,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+ monster "job3_rune02",0,0,"Raydric Archer",1453,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+ end;
+ }
+ else if (.@job_rune_p == 2 || .@job_rune_p == 4) {
+ monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+ monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+ monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+ monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+ end;
+ }
+ else if (.@job_rune_p == 3 || .@job_rune_p == 5) {
+ monster "job3_rune02",0,0,"Phendark",1484,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+ monster "job3_rune02",0,0,"Rybio",1483,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+ end;
+ }
+ else if (.@job_rune_p == 6) {
+ monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+ monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+ monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+ monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_tcmc::OnMyMobDead";
+ end;
+ }
+ end;
+
+OnTimer250000:
+ killmonster "job3_rune02","job_rune_edq#1st_tcmc::OnMyMobDead";
+ donpcevent "job_rune_edq#1st_tcmc2::OnEnable";
+ donpcevent "job_rune_edq#1st_tcmc::OnDisable";
+ end;
+
+OnMyMobDead:
+ end;
+}
+
+job3_rune02,3,11,0 script job_rune_edq#1st_tcmc2 139,{
+ end;
+
+OnInit:
+ hideonnpc "job_rune_edq#1st_tcmc2";
+ end;
+
+OnEnable:
+ hideoffnpc "job_rune_edq#1st_tcmc2";
+ initnpctimer;
+ set .@job_rune_p,rand(1,6);
+ if (.@job_rune_p == 1) {
+ monster "job3_rune02",0,0,"Raydric",1467,1,"job_rune_edq#1st_tcmc2::OnMyMobDead";
+ monster "job3_rune02",0,0,"Raydric Archer",1453,1,"job_rune_edq#1st_tcmc2::OnMyMobDead";
+ monster "job3_rune02",0,0,"Raydric Archer",1453,1,"job_rune_edq#1st_tcmc2::OnMyMobDead";
+ end;
+ }
+ else if (.@job_rune_p == 2 || .@job_rune_p == 4) {
+ monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_tcmc2::OnMyMobDead";
+ monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_tcmc2::OnMyMobDead";
+ monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_tcmc2::OnMyMobDead";
+ monster "job3_rune02",0,0,"Rideword",1478,1,"job_rune_edq#1st_tcmc2::OnMyMobDead";
+ end;
+ }
+ else if (.@job_rune_p == 3 || .@job_rune_p == 5) {
+ monster "job3_rune02",0,0,"Phendark",1484,1,"job_rune_edq#1st_tcmc2::OnMyMobDead";
+ monster "job3_rune02",0,0,"Rybio",1483,1,"job_rune_edq#1st_tcmc2::OnMyMobDead";
+ end;
+ }
+ else if (.@job_rune_p == 6) {
+ monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_tcmc2::OnMyMobDead";
+ monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_tcmc2::OnMyMobDead";
+ monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_tcmc2::OnMyMobDead";
+ monster "job3_rune02",0,0,"Wraith",1475,1,"job_rune_edq#1st_tcmc2::OnMyMobDead";
+ end;
+ }
+ end;
+
+OnDisable:
+ killmonster "job3_rune02","job_rune_edq#1st_tcmc2::OnMyMobDead";
+ stopnpctimer;
+ hideonnpc "job_rune_edq#1st_tcmc2";
+ end;
+
+OnMyMobDead:
+ if (mobcount ("job3_rune02","job_rune_edq#1st_tcmc2::OnMyMobDead") < 1) {
+ set job_rune_edq,5;
+ erasequest 3220;
+ killmonster "job3_rune02","job_rune_edq#1st_tcmc2::OnMyMobDead";
+ mapannounce "job3_rune02","Congratulations. You've passed the first test.",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0
+ mapwarp "job3_rune02","job3_rune01",80,65;
+ donpcevent "job_rune_edq#1st_tb::OnDisable";
+ donpcevent "job_rune_edq#1st_tc::OnDisable";
+ donpcevent "job_rune_edq#1st_tcnc::OnDisable";
+ donpcevent "job_rune_edq#1st_tcmc::OnDisable";
+ donpcevent "job_rune_edq#1st_tcmc2::OnDisable";
+ donpcevent "#RK Test Hidden Portal 1::OnEnable";
+ set $@job_rune_test1,0;
+ set $@job_rune_test2,0;
+ end;
+ }
+ end;
+}
+
+job3_rune02,1,10,0 script job_rune_edq#1st_tcnc 139,{
+ end;
+
+OnInit:
+ hideonnpc "job_rune_edq#1st_tcnc";
+ end;
+
+OnEnable:
+ hideoffnpc "job_rune_edq#1st_tcnc";
+ initnpctimer;
+ end;
+
+OnDisable:
+ hideonnpc "job_rune_edq#1st_tcnc";
+ set $@job_rune_test2,0;
+ donpcevent "Captain Tigris#jrt1::OnDisable";
+ donpcevent "Rune Knight Lunarea#jrt1::OnDisable";
+ donpcevent "Rune Knight Renoa#jrt1::OnDisable";
+ donpcevent "Rune Knight Velpino#jrt1::OnDisable";
+ stopnpctimer;
+ end;
+
+OnUse:
+ mapannounce "job3_rune02","Captain Tigris : Gentleman, Let's watch the test for a while.",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0
+ stopnpctimer;
+ set $@job_rune_test2,0;
+ donpcevent "Captain Tigris#jrt1::OnDisable";
+ donpcevent "Rune Knight Lunarea#jrt1::OnDisable";
+ donpcevent "Rune Knight Renoa#jrt1::OnDisable";
+ donpcevent "Rune Knight Velpino#jrt1::OnDisable";
+ donpcevent "job_rune_edq#1st_tcnc::OnEnable";
+ end;
+
+OnTimer30000:
+ mapannounce "job3_rune02","Captain Tigris : Rune Knight Candidates... If you want to borrow our power talk to one of us.",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0
+ donpcevent "Captain Tigris#jrt1::OnEnable";
+ donpcevent "Rune Knight Lunarea#jrt1::OnEnable";
+ donpcevent "Rune Knight Renoa#jrt1::OnEnable";
+ donpcevent "Rune Knight Velpino#jrt1::OnEnable";
+ end;
+
+OnTimer60000:
+ mapannounce "job3_rune02","Captain Tigris : It seems you don't need our help... Let's watch the test for a while.",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0
+ stopnpctimer;
+ donpcevent "Captain Tigris#jrt1::OnDisable";
+ donpcevent "Rune Knight Lunarea#jrt1::OnDisable";
+ donpcevent "Rune Knight Renoa#jrt1::OnDisable";
+ donpcevent "Rune Knight Velpino#jrt1::OnDisable";
+ donpcevent "job_rune_edq#1st_tcnc::OnEnable";
+ end;
+}
+
+job3_rune02,34,46,5 script Captain Tigris#jrt1 470,{
+
+ set .@tigris,rand(1,6);
+ set .@rune_test2,$@job_rune_test2;
+ if ((job_rune_edq == 4) && (.@rune_test2 == 0)) {
+ if (.@tigris == 1) {
+ set $@job_rune_test2,1;
+ // custom translation
+ mapannounce "job3_rune02","Captain Tigris : May Beljeve bless you!",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0
+ sc_start SC_BLESSING,24000,10;
+ initnpctimer;
+ end;
+ }
+ else if ((.@tigris == 2) || (.@tigris == 4)) {
+ set $@job_rune_test2,1;
+ mapannounce "job3_rune02","Captain Tigris : The Spark of life... may flame again.",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0
+ percentheal 100,100;
+ skilleffect "AL_HEAL",1500;
+ initnpctimer;
+ end;
+ }
+ else if (.@tigris == 3) {
+ set $@job_rune_test2,1;
+ // custom translation
+ mapannounce "job3_rune02","Captain Tigris : Evil spirits! Return to your graves!",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0
+ specialeffect2 EF_METEORSTORM;
+ donpcevent "job_rune_edq#1st_tcmc::OnReset";
+ initnpctimer;
+ end;
+ }
+ else if (.@tigris == 5) {
+ set $@job_rune_test2,1;
+ // custom translation
+ mapannounce "job3_rune02","Captain Tigris : For a Rune Knight, this kind of ordeal is nothing!",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0
+ sc_start SC_STUN,10000,0;
+ initnpctimer;
+ end;
+ }
+ else if (.@tigris == 6) {
+ set $@job_rune_test2,1;
+ // custom translation
+ mapannounce "job3_rune02","Captain Tigris : For a Rune Knight, this kind of ordeal is nothing!",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0
+ sc_start SC_BLEEDING,10000,0;
+ initnpctimer;
+ end;
+ }
+ }
+ donpcevent "job_rune_edq#1st_tcnc::OnUse";
+ end;
+
+OnInit:
+ hideonnpc "Captain Tigris#jrt1";
+ end;
+
+OnEnable:
+ hideoffnpc "Captain Tigris#jrt1";
+ end;
+
+OnDisable:
+ hideonnpc "Captain Tigris#jrt1";
+ end;
+
+OnTimer5000:
+ donpcevent "job_rune_edq#1st_tcnc::OnUse";
+ set $@job_rune_test2,0;
+ stopnpctimer;
+ end;
+}
+
+job3_rune02,43,46,3 script Rune Knight Lunarea#jrt1 469,2,2,{
+ set .@tigris,rand(1,6);
+ set .@rune_test2,$@job_rune_test2;
+ if ((job_rune_edq == 4) && (.@rune_test2 == 0)) {
+ if (.@tigris == 1) {
+ set $@job_rune_test2, 1;
+ // custom translation
+ mapannounce "job3_rune02","Rune Knight Lunarea : Quickly...find and strike at the enemy's vital points!",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0
+ sc_start SC_INCREASEAGI,24000,10;
+ initnpctimer;
+ end;
+ }
+ else if (.@tigris == 2 || .@tigris == 4) {
+ set $@job_rune_test2,1;
+ mapannounce "job3_rune02","Rune Knight Lunarea : It's not over... you need more power...",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0
+ percentheal 100,100;
+ skilleffect "AL_HEAL",1500;
+ initnpctimer;
+ end;
+ }
+ else if (.@tigris == 3) {
+ set $@job_rune_test2,1;
+ // custom translation
+ mapannounce "job3_rune02","Rune Knight Lunarea : Everything shall return from whence it came!",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0
+ //UseSkillToPC 35 0 0 0
+ skilleffect "AL_CURE",0;
+ initnpctimer;
+ end;
+ }
+ else if (.@tigris == 5) {
+ set $@job_rune_test2,1;
+ mapannounce "job3_rune02","Rune Knight Lunarea : There can't be growth without a trial.",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0
+ sc_start SC_POISON,30000,0;
+ initnpctimer;
+ end;
+ }
+ else if (.@tigris == 6) {
+ set $@job_rune_test2,1;
+ mapannounce "job3_rune02","Rune Knight Lunarea : There can't be growth without a trial.",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0
+ sc_start SC_CURSE,30000,0;
+ initnpctimer;
+ end;
+ }
+ }
+ donpcevent "job_rune_edq#1st_tcnc::OnUse";
+ end;
+
+OnInit:
+ hideonnpc "Rune Knight Lunarea#jrt1";
+ end;
+
+OnEnable:
+ hideoffnpc "Rune Knight Lunarea#jrt1";
+ end;
+
+OnDisable:
+ hideonnpc "Rune Knight Lunarea#jrt1";
+ end;
+
+OnTimer5000:
+ donpcevent "job_rune_edq#1st_tcnc::OnUse";
+ set $@job_rune_test2,0;
+ stopnpctimer;
+ end;
+}
+
+job3_rune02,43,34,1 script Rune Knight Renoa#jrt1 469,2,2,{
+ set .@tigris, rand(1,6);
+ set .@rune_test2, $@job_rune_test2;
+ if ((job_rune_edq == 4) && (.@rune_test2 == 0)) {
+ if (.@tigris == 1) {
+ set $@job_rune_test2,1;
+ // custom translation
+ mapannounce "job3_rune02","Rune Knight Renoa : The rune of Blast! May it give you strength!",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0
+ sc_start SC_INCREASEAGI,24000,10;
+ initnpctimer;
+ end;
+ }
+ else if (.@tigris == 2 || .@tigris == 4) {
+ set $@job_rune_test2,1;
+ mapannounce "job3_rune02","Rune Knight Renoa : The rune of birth! May give you the power of life!",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0
+ percentheal 100,100;
+ skilleffect "AL_HEAL",1500;
+ initnpctimer;
+ end;
+ }
+ else if (.@tigris == 3) {
+ set $@job_rune_test2,1;
+ // custom translation
+ mapannounce "job3_rune02","Rune Knight Renoa : I am faster than others! Stronger than others!",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0
+ specialeffect2 EF_PIERCESELF;
+ donpcevent "job_rune_edq#1st_tcmc::OnReset";
+ initnpctimer;
+ end;
+ }
+ else if (.@tigris == 5) {
+ set $@job_rune_test2,1;
+ mapannounce "job3_rune02","Rune Knight Renoa : For a Rune Knight, this kind of ordeal is nothing!",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0
+ sc_start SC_POISON,30000,0;
+ initnpctimer;
+ end;
+ }
+ else if (.@tigris == 6) {
+ set $@job_rune_test2,1;
+ mapannounce "job3_rune02","Rune Knight Renoa : For a Rune Knight, this kind of ordeal is nothing!",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0
+ sc_start SC_CURSE,30000,0;
+ initnpctimer;
+ end;
+ }
+ }
+ donpcevent "job_rune_edq#1st_tcnc::OnUse";
+ end;
+
+OnInit:
+ hideonnpc "Rune Knight Renoa#jrt1";
+ end;
+
+OnEnable:
+ hideoffnpc "Rune Knight Renoa#jrt1";
+ end;
+
+OnDisable:
+ hideonnpc "Rune Knight Renoa#jrt1";
+ end;
+
+OnTimer5000:
+ set $@job_rune_test2,0;
+ donpcevent "job_rune_edq#1st_tcnc::OnUse";
+ stopnpctimer;
+ end;
+}
+
+job3_rune02,34,34,7 script Rune Knight Velpino#jrt1 468,{
+
+ set .@tigris,rand(1,6);
+ set .@rune_test2,$@job_rune_test2;
+ if ((job_rune_edq == 4) && (.@rune_test2 == 0)) {
+ if (.@tigris == 1) {
+ set $@job_rune_test2,1;
+ mapannounce "job3_rune02","Rune Knight Velpino : You are not one who gets to fall down in this kind of place.",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0
+ percentheal 100,100;
+ skilleffect "AL_HEAL",1500;
+ initnpctimer;
+ end;
+ }
+ else if (.@tigris == 2 || .@tigris == 4) {
+ set $@job_rune_test2, 1;
+ // custom translation
+ mapannounce "job3_rune02","Rune Knight Velpino : Charge! Knock them all down!",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0
+ sc_start SC_INCREASEAGI,24000,10;
+ initnpctimer;
+ end;
+ }
+ else if (.@tigris == 3) {
+ set $@job_rune_test2,1;
+ // custom translation
+ mapannounce "job3_rune02","Rune Knight Velpino : You are not alone. We are by your side.",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0
+ sc_start SC_BLESSING,24000,10;
+ initnpctimer;
+ end;
+ }
+ else if (.@tigris == 5) {
+ set $@job_rune_test2,1;
+ // custom translation
+ mapannounce "job3_rune02","Rune Knight Velpino : Fight and win! Do not hesitate in the face of this test!",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0
+ sc_start SC_FREEZE,10000,0;
+ initnpctimer;
+ end;
+ }
+ else if (.@tigris == 6) {
+ set $@job_rune_test2,1;
+ mapannounce "job3_rune02","Rune Knight Velpino : It's not a big trial for a true Rune Knight!",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0
+ sc_start SC_SLEEP,10000,0;
+ initnpctimer;
+ end;
+ }
+ }
+ donpcevent "job_rune_edq#1st_tcnc::OnUse";
+ end;
+
+OnInit:
+ hideonnpc "Rune Knight Velpino#jrt1";
+ end;
+
+OnEnable:
+ hideoffnpc "Rune Knight Velpino#jrt1";
+ end;
+
+OnDisable:
+ hideonnpc "Rune Knight Velpino#jrt1";
+ end;
+
+OnTimer5000:
+ set $@job_rune_test2,0;
+ donpcevent "job_rune_edq#1st_tcnc::OnUse";
+ stopnpctimer;
+ end;
+}
+
+job3_rune02,2,1,0 script job_rune_edq#3rd_tb 139,{
+ end;
+
+OnInit:
+ hideonnpc "job_rune_edq#3rd_tb";
+ end;
+
+OnEnable:
+ initnpctimer;
+ end;
+
+OnDisable:
+ stopnpctimer;
+ hideonnpc "job_rune_edq#3rd_tb";
+ end;
+
+OnTimer5000:
+ mapannounce "job3_rune02","I'll start the last test of the Rune Knight Job change.",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0
+ end;
+
+OnTimer8000:
+ mapannounce "job3_rune02","Get rid of monsters appearing here within 8 minutes by using the provided rune stones.",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0
+ end;
+
+OnTimer11000:
+ mapannounce "job3_rune02","If you die or can't get rid of all the monsters within the time limit, I'll consider the try as a failure.",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0
+ end;
+
+OnTimer14000:
+ mapannounce "job3_rune02","Now I'll start the test.",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0
+ donpcevent "job_rune_edq#3rd_tc::OnEnable";
+ donpcevent "job_rune_edq#3rd_tb::OnDisable";
+ end;
+}
+
+job3_rune02,2,2,0 script job_rune_edq#3rd_tc 139,{
+ end;
+
+OnInit:
+ hideonnpc "job_rune_edq#3rd_tc";
+ end;
+
+OnEnable:
+ initnpctimer;
+ donpcevent "job_rune_edq#3rd_tc1::OnEnable";
+ end;
+
+OnDisable:
+ stopnpctimer;
+ donpcevent "job_rune_edq#3rd_tc1::OnDisable";
+ donpcevent "job_rune_edq#3rd_tc2::OnDisable";
+ donpcevent "job_rune_edq#3rd_tc3::OnDisable";
+ hideonnpc "job_rune_edq#3rd_tc";
+ end;
+
+OnTimer480000:
+ mapannounce "job3_rune02","You reached the limit time so I'll consider the test as a failure.",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0
+ end;
+
+OnTimer482000:
+ mapwarp "job3_rune02","job3_rune01",80,65;
+ donpcevent "job_rune_edq#1st_tb::OnDisable";
+ donpcevent "job_rune_edq#1st_tc::OnDisable";
+ donpcevent "job_rune_edq#1st_tcnc::OnDisable";
+ donpcevent "job_rune_edq#1st_tcmc2::OnDisable";
+ donpcevent "job_rune_edq#1st_tcmc::OnDisable";
+ donpcevent "job_rune_edq#3rd_tb::OnDisable";
+ donpcevent "job_rune_edq#3rd_tc::OnDisable";
+ donpcevent "#RK Test Hidden Portal 1::OnEnable";
+ set $@job_rune_test1,0;
+ set $@job_rune_test2,0;
+ stopnpctimer;
+ end;
+}
+
+job3_rune02,2,3,0 script job_rune_edq#3rd_tc1 139,{
+ end;
+
+OnInit:
+ hideonnpc "job_rune_edq#3rd_tc1";
+ end;
+
+OnEnable:
+ hideoffnpc "job_rune_edq#3rd_tc1";
+ monster "job3_rune02",40,40,"Executioner",2039,1,"job_rune_edq#3rd_tc1::OnMyMobDead";
+ end;
+
+OnDisable:
+ killmonster "job3_rune02","job_rune_edq#3rd_tc1::OnMyMobDead";
+ hideonnpc "job_rune_edq#3rd_tc1";
+ end;
+
+OnMyMobDead:
+ if (mobcount ("job3_rune02","job_rune_edq#3rd_tc1::OnMyMobDead") < 1) {
+ set job_rune_edq,19;
+ killmonster "job3_rune02","job_rune_edq#3rd_tc1::OnMyMobDead";
+ donpcevent "job_rune_edq#3rd_tc2::OnEnable";
+ donpcevent "job_rune_edq#3rd_tc1::OnDisable";
+ end;
+ }
+ end;
+}
+
+job3_rune02,2,4,0 script job_rune_edq#3rd_tc2 139,{
+ end;
+
+OnInit:
+ hideonnpc "job_rune_edq#3rd_tc2";
+ end;
+
+OnEnable:
+ hideoffnpc "job_rune_edq#3rd_tc2";
+ monster "job3_rune02",40,40,"Ogretooth",2040,1,"job_rune_edq#3rd_tc2::OnMyMobDead";
+ end;
+
+OnDisable:
+ killmonster "job3_rune02","job_rune_edq#3rd_tc2::OnMyMobDead";
+ hideonnpc "job_rune_edq#3rd_tc2";
+ end;
+
+OnMyMobDead:
+ if (mobcount ("job3_rune02","job_rune_edq#3rd_tc2::OnMyMobDead") < 1) {
+ set job_rune_edq,20;
+ killmonster "job3_rune02","job_rune_edq#3rd_tc2::OnMyMobDead";
+ donpcevent "job_rune_edq#3rd_tc3::OnEnable";
+ donpcevent "job_rune_edq#3rd_tc2::OnDisable";
+ end;
+ }
+ end;
+}
+
+job3_rune02,2,5,0 script job_rune_edq#3rd_tc3 139,{
+ end;
+
+OnInit:
+ hideonnpc "job_rune_edq#3rd_tc3";
+ end;
+
+OnEnable:
+ hideoffnpc "job_rune_edq#3rd_tc3";
+ monster "job3_rune02",40,40,"Mysteltainn",2041,1,"job_rune_edq#3rd_tc3::OnMyMobDead";
+ end;
+
+OnDisable:
+ killmonster "job3_rune02","job_rune_edq#3rd_tc3::OnMyMobDead";
+ hideonnpc "job_rune_edq#3rd_tc3";
+ end;
+
+OnMyMobDead:
+ if (mobcount ("job3_rune02","job_rune_edq#3rd_tc3::OnMyMobDead") < 1) {
+ set job_rune_edq,21;
+ changequest 3217,3218;
+ erasequest 3220;
+ killmonster "job3_rune02","job_rune_edq#3rd_tc3::OnMyMobDead";
+ mapannounce "job3_rune02","Congratulations. You've passed the second test.",bc_map,"0xFFFF00"; //FW_NORMAL 12 0 0
+ mapwarp "job3_rune02","job3_rune01",80,65;
+ donpcevent "job_rune_edq#1st_tb::OnDisable";
+ donpcevent "job_rune_edq#1st_tc::OnDisable";
+ donpcevent "job_rune_edq#1st_tcnc::OnDisable";
+ donpcevent "job_rune_edq#1st_tcmc2::OnDisable";
+ donpcevent "job_rune_edq#1st_tcmc::OnDisable";
+ donpcevent "job_rune_edq#3rd_tb::OnDisable";
+ donpcevent "job_rune_edq#3rd_tc::OnDisable";
+ donpcevent "#RK Test Hidden Portal 1::OnEnable";
+ set $@job_rune_test1,0;
+ set $@job_rune_test2,0;
+ end;
+ }
+ end;
+}
+
+job3_rune01,92,62,3 script Kafra Employee 114,{
+ cutin "kafra_04",2;
+ mes "[Kafra Employee]";
+ mes "Hello. Kafra Service are always with you.";
+ mes "What can I help you with?";
+ next;
+ switch(select("Use Storage:Rent a Pushcart:Use Teleport Service:Check Other Information:Cancel")) {
+ case 1:
+ if(basicskillcheck() && getskilllv("NV_BASIC") < 6){
+ mes "[Kafra Employee]";
+ mes "I'm sorry, but you";
+ mes "need the Novice's";
+ mes "Basic Skill Level 6 to";
+ mes "use the Storage Service.";
+ }
+ else if ((countitem(7059) != 0) || (Zeny >= 50)) {
+ if (countitem(7059) != 0)
+ delitem 7059,1; //Cargo_Free_Ticket
+ else {
+ set RESRVPTS,RESRVPTS+5;
+ set zeny,zeny-80;
+ }
+ mes "[Kafra Employee]";
+ mes "Here, let me open";
+ mes "your Storage for you.";
+ mes "Thank you for using";
+ mes "the Kafra Service.";
+ close2;
+ cutin "kafra_04",255;
+ openstorage;
+ end;
+ }
+ else {
+ mes "[Kafra Employee]";
+ mes "I'm sorry, but you don't";
+ mes "have enough zeny to use";
+ mes "the Storage Service. Our";
+ mes "Storage access fee is 80 zeny.";
+ }
+ break;
+ case 2:
+ if (BaseClass != Job_Merchant) {
+ mes "[Kafra Employee]";
+ mes "I'm sorry, but the";
+ mes "Pushcart rental service";
+ mes "is only available to Merchants,";
+ mes "Blacksmiths, Master Smiths,";
+ mes "Alchemists, Biochemists,";
+ mes "Mechanics and Geneticists.";
+ }
+ else if (checkcart()) {
+ mes "[Kafra Employee]";
+ mes "You already have";
+ mes "a Pushcart equipped.";
+ mes "Unfortunately, we can't";
+ mes "rent more than one to";
+ mes "each customer at a time.";
+ }
+ else {
+ if (!getskilllv("MC_CART")) {
+ mes "[Kafra Employee]";
+ mes "You do not have the skill level required to rent a Pushcart.";
+ }
+ if (countitem(7061) != 0)
+ delitem 7061,1; //Cart_Free_Ticket
+ else {
+ mes "[Kafra Employee]";
+ mes "The Pushcart rental";
+ mes "fee is 700 zeny. Would";
+ mes "you like to rent a Pushcart?";
+ next;
+ switch(select("Rent a Pushcart.:Cancel")) {
+ case 1:
+ if (Zeny >= 700) {
+ set RESRVPTS,RESRVPTS+85;
+ set zeny,zeny-700;
+ }
+ else {
+ mes "[Kafra Employee]";
+ mes "I'm sorry, but you";
+ mes "don't have enough";
+ mes "zeny to pay the Pushcart";
+ mes "rental fee of 700 zeny.";
+ }
+ break;
+ case 2:
+ break;
+ }
+ }
+ setcart;
+ }
+ break;
+ case 3:
+ mes "[Kafra Employee]";
+ mes "Please tell me the destination.";
+ next;
+ switch(select("Izlude -> 600 z:Geffen -> 1200 z:Payon -> 1200 z:Morroc -> 1200 z:Alberta -> 1800 z:Cancel.")) {
+ case 1:
+ if ((countitem(7060) != 0) || (Zeny >= 600)) {
+ if (countitem(7060) != 0)
+ delitem 7060,1; //Warp_Free_Ticket
+ else {
+ set zeny,zeny-600;
+ set RESRVPTS,RESRVPTS+60;
+ }
+ cutin "kafra_04",255;
+ warp "izlude",91,105;
+ end;
+ }
+ else {
+ mes "[Kafra Employee]";
+ mes "I'm sorry, but you don't have";
+ mes "enough zeny for the Teleport";
+ mes "Service. The fee to teleport";
+ mes "to Izlude is 600 zeny.";
+ }
+ break;
+ case 2:
+ if ((countitem(7060) != 0) || (Zeny >= 1200)) {
+ if (countitem(7060) != 0)
+ delitem 7060,1; //Warp_Free_Ticket
+ else {
+ set zeny,zeny-1200;
+ set RESRVPTS,RESRVPTS+120;
+ }
+ cutin "kafra_04",255;
+ warp "geffen",120,39;
+ end;
+ }
+ else {
+ mes "[Kafra Employee]";
+ mes "I'm sorry, but you don't have";
+ mes "enough zeny for the Teleport";
+ mes "Service. The fee to teleport";
+ mes "to Geffen is 1,200 zeny.";
+ }
+ break;
+ case 3:
+ if ((countitem(7060) != 0) || (Zeny >= 1200)) {
+ if (countitem(7060) != 0) {
+ delitem 7060,1; //Warp_Free_Ticket
+ }
+ else {
+ set zeny,zeny-1200;
+ set RESRVPTS,RESRVPTS+120;
+ }
+ cutin "kafra_04",255;
+ warp "payon",161,58;
+ end;
+ }
+ else {
+ mes "[Kafra Employee]";
+ mes "I'm sorry, but you don't have";
+ mes "enough zeny for the Teleport";
+ mes "Service. The fee to teleport";
+ mes "to Payon is 1,200 zeny.";
+ }
+ break;
+ case 4:
+ if ((countitem(7060) != 0) || (Zeny >= 1200)) {
+ if (countitem(7060) != 0)
+ delitem 7060,1; //Warp_Free_Ticket
+ else {
+ set zeny,zeny-1200;
+ set kf_100_pit,kf_100_pit+1;
+ set kf_10_pit,kf_10_pit+2;
+ }
+ cutin "kafra_04",255;
+ warp "morocc",156,46;
+ end;
+ }
+ else {
+ mes "[Kafra Employee]";
+ mes "I'm sorry, but you don't have";
+ mes "enough zeny for the Teleport";
+ mes "Service. The fee to teleport";
+ mes "to Morroc is 1,200 zeny.";
+ }
+ break;
+ case 5:
+ if ((countitem(7060) != 0) || (Zeny >= 1800)) {
+ if (countitem(7060) != 0)
+ delitem 7060,1; //Warp_Free_Ticket
+ else {
+ set zeny,zeny-1800;
+ set RESRVPTS,RESRVPTS+180;
+ }
+ cutin "kafra_04",255;
+ warp "alberta",117,56;
+ end;
+ }
+ else {
+ mes "[Kafra Employee]";
+ mes "I'm sorry, but you don't have";
+ mes "enough zeny for the Teleport";
+ mes "Service. The fee to teleport";
+ mes "to Alberta is 1,800 zeny.";
+ }
+ break;
+ case 6:
+ break;
+ }
+ break;
+ case 4:
+ switch(select("Check Special Reserve Points.:Cancel")) {
+ case 1:
+ mes "[Kafra Employee]";
+ mes "Let's see...";
+ mes "" + strcharinfo(0) + "...";
+ mes "Ah, you have a total of";
+ mes "" + RESRVPTS + " Special Reserve Points.";
+ next;
+ mes "[Kafra Employee]";
+ mes "You can exchange your";
+ mes "Special Reserve Points for";
+ mes "rewards at the Kafra Main Office in Al De Baran. Please use our";
+ mes "convenient services to see the benefits of our rewards program.";
+ break;
+ case 2:
+ break;
+ }
+ break;
+ case 5:
+ mes "[Kafra Employee]";
+ mes "We, here at Kafra Corporation,";
+ mes "are always endeavoring to provide you with the best services. We hope that we meet your adventuring needs and standards of excellence.";
+ break;
+ }
+ close2;
+ cutin "kafra_04",255;
+ end;
+}
+
+/*
+sec_in02,34,167,3 script ·ûÎÄÆïʿתְÈ볡¹ÜÀíÔ± 470,{
+ mes "ÇëÊäÈëÃÜÂë¡£";
+ next;
+ input .@inputstr$;
+ if (.@inputstr$ == "1854") {
+ mes "·ûÎÄÆïʿתְ¹ÜÀíÄ£¿é¿ªÊ¼";
+ next;
+ switch (select("¼ì²éÈ«¾Ö±äÁ¿:ÐÞ¸ÄÈ«¾Ö±äÁ¿")) {
+ case 1:
+ set .@rune_global, $@job_rune_test1;
+ mes "µ±Ç°·ûÎÄÆïʿתְ±äÁ¿ÊÇ "+.@rune_global+" ¡£";
+ mes "µ±Ç°·ûÎÄÆïÊ¿¿¼³¡ÖеÄÈËÊýΪ "+getmapusers("job3_rune02")+ "ÈË¡£";
+ close;
+ case 2:
+ set .@rune_global, $@job_rune_test1;
+ set $@job_rune_test1, 0;
+ mes "½«·ûÎÄÆïʿתְȫ¾Ö±äÁ¿ÐÞ¸ÄΪ0¡£¿¼³¡¿ÉÒÔʹÓá£";
+ close;
+ }
+ }
+ close;
+}
+*/ \ No newline at end of file
diff --git a/npc/re/jobs/3-1/warlock.txt b/npc/re/jobs/3-1/warlock.txt
new file mode 100644
index 000000000..8c517c991
--- /dev/null
+++ b/npc/re/jobs/3-1/warlock.txt
@@ -0,0 +1,2109 @@
+//===== rAthena Script =======================================
+// Warlock Job change Quest
+//===== By: ==================================================
+//= Masao
+//= Credits: Muad_Dib, Gepard & L0ne_W0lf
+//===== Current Version: =====================================
+//= 1.2a
+//===== Compatible With: =====================================
+//= Any rAthena SVN
+//===== Description: =========================================
+//= [AEGIS Conversion]
+//= Job change Quest from Wizard / High Wizard -> Warlock.
+//===== Additional Comments: =================================
+//= 1.0 First Version.
+//= 1.1 Fixed some conversion mistakes, replaced numbers with
+//= constants, added item names in comments.
+//= 1.2 Fixed the problem where NPC are not enabled and chamber will never open
+//= for the second try or use.
+//= 1.2a Fixed a typo. [Euphy]
+//============================================================
+
+morocc,103,144,0 script distorted place morroc 139,1,1,{
+
+OnTouch:
+ if (job_wl > 1){
+ if (Class == Job_Warlock || Class == Job_Warlock_T || Class == Job_Baby_Warlock){
+ mes " - There is a strange distortion here - ";
+ close;
+ }
+ mes " - There is a strange distortion here - ";
+ next;
+ switch(select("Extend your hand.:Ignore it.")){
+ case 1:
+ mes " - I extend my arm as a fierce sound resonates in my ear and a cool wave surrounds me - ";
+ close2;
+ warp "spl_in02",79,102;
+ end;
+ case 2:
+ mes " - You ignore it. - ";
+ close;
+ }
+ }
+ if ((BaseLevel > 94) && (Class == Job_Wizard || Class == Job_High_Wizard || Class == Job_Baby_Wizard)){
+ mes " - There is a strange distortion here - ";
+ next;
+ switch(select( "Search the area.:Ignore it.")){
+ case 1:
+ mes " - There appears to be nothing here. But I can definitely feel something around here... - ";
+ next;
+ switch(select("Extend arm.:Leave it alone.")){
+ case 1:
+ mes " - I extend my arm as a fierce sound resonates in my ear and a cool wave surrounds me - ";
+ close2;
+ warp "spl_in02",79,102;
+ end;
+ case 2:
+ mes " - You decide to leave it alone. - ";
+ close;
+ }
+ case 2:
+ mes " - You ignore it. - ";
+ close;
+ }
+ }
+ end;
+}
+
+splendide,141,284,0 script Distorted place molco 139,1,1,{
+
+OnTouch:
+ if (job_wl > 1){
+ mes " - There is a strange - ";
+ mes "- distortion here -";
+ next;
+ switch(select("Extend your hand.:Ignore it.")){
+ case 1:
+ mes " - I extend my arm as a fierce sound resonates in my ear and a cool wave surrounds me - ";
+ close2;
+ warp "spl_in02",79,102;
+ end;
+ case 2:
+ mes " - You ignore the distortion. - ";
+ close;
+ }
+ }
+ if (BaseLevel > 94){
+ mes " - I can feel a strange distortion around me - ";
+ next;
+ switch(select( "Search the area.:Ignore it.")){
+ case 1:
+ mes " - There appears to be nothing here. But I can definitely feel something around here... - ";
+ next;
+ switch(select("Extend arm.:Leave it alone.")){
+ case 1:
+ mes " - I extend my arm as a fierce sound resonates in my ear and a cool wave surrounds me - ";
+ close2;
+ warp "spl_in02",79,102;
+ end;
+ case 2:
+ mes " - You decide to leave it alone. - ";
+ close;
+ }
+ case 2:
+ mes " - You ignore it. - ";
+ close;
+ }
+ }
+ end;
+}
+
+spl_in02,77,107,5 script Assistant#Warlock 446,{
+
+ if (job_wl < 1){
+ if (Class == Job_Wizard || Class == Job_High_Wizard || Class == Job_Baby_Wizard){
+ mes "[Assistant]";
+ mes "Huh!!! Human!?!";
+ mes "How did you enter here?";
+ mes "This is only connected with a special gate!";
+ next;
+ mes "[Assistant]";
+ mes "I don't know how...";
+ mes "But we should leave before my master spots you...!";
+ next;
+ mes "[???]";
+ mes "What's that noise out there?";
+ mes "I warned them to be quiet while I'm meditating.";
+ next;
+ mes "[Assistant]";
+ mes "Huh!?!";
+ mes "Master...";
+ mes "It's nothing...";
+ next;
+ mes "[Master]";
+ mes "Oh~ there's a human being in front of me.";
+ next;
+ mes "[Assistant]";
+ mes "Oh this thing?";
+ mes "I was just leading it out.";
+ next;
+ mes "[Master]";
+ mes "Yoop!!!";
+ next;
+ mes "[Yoop]";
+ mes "Yeap...!!";
+ next;
+ mes "[Master]";
+ mes "There's the warp portal beyond you... Is it an illusion?";
+ next;
+ mes "[Yoop]";
+ mes "Sorry!!!";
+ mes "It's my mistake...";
+ next;
+ mes "[Master]";
+ mes "Fool...";
+ mes "I'll deal with you after you send the human away.";
+ next;
+ mes "[Master]";
+ mes "MushSartas Ir Cyamar";
+ mes "UdenLo";
+ next;
+ mes " - The fairy with the green hair chants a spell. - ";
+ mes " - I feel like something special surrounds me. - ";
+ specialeffect2 EF_DISPELL;
+ next;
+ mes "[Master]";
+ mes "Oh, that's interesting.";
+ mes "How dare you resist me human?";
+ next;
+ if ((BaseLevel > 98) && (JobLevel > 49)){
+ mes "[Master]";
+ mes "Oh, that's interesting.";
+ mes "How dare you resist me human?";
+ next;
+ menu "I'm not sure. Who are you?",-;
+ mes "[Master]";
+ mes "I am the leader of the ^000077Warlock^000000s.";
+ mes "'^000077Sila Egnoloria^000000'";
+ mes "If you are a Wizard, it would be good of you to memorize my name.";
+ next;
+ menu "What is a ^000077Warlock^000000?",-;
+ mes "[Master Egnoloria]";
+ mes "Oh...are you interested?";
+ next;
+ mes "[Master Egnoloria]";
+ mes "A ^000077Warlock^000000 is someone who uses the magic of the giants of Jotunheim.";
+ mes "It can't be defined in any other words.";
+ next;
+ mes "[Master Egnoloria]";
+ mes "Only the strong magic can explain it.";
+ mes "kkk";
+ next;
+ menu "Could I become Warlock?",-;
+ mes "[Master Egnoloria]";
+ mes "You?";
+ mes "You wanna become a Warlock?";
+ mes "Hahaha";
+ next;
+ mes "[Master Egnoloria]";
+ mes "You're so interesting.";
+ mes "It would be difficult for a human to become a Warlock.";
+ mes "The strong power would gnaw at your weak body.";
+ next;
+ mes "[Master Egnoloria]";
+ mes "If you dare to face death, you can try to become one.";
+ next;
+ switch(select("What do I need to do?:Cancel.")){
+ case 1:
+ mes "[Master Egnoloria]";
+ mes "Are you serious?";
+ mes "You hunger for power don't you human.";
+ next;
+ mes "[Master Egnoloria]";
+ mes "The strong desire to be more powerful makes your soul more beautiful.";
+ next;
+ mes "[Master Egnoloria]";
+ mes "But, I need to check that you're qualified.";
+ next;
+ mes "[Master Egnoloria]";
+ mes "Yoop!";
+ next;
+ mes "[Yoop]";
+ mes "Yeap!!";
+ next;
+ mes "[Master Egnoloria]";
+ mes "Give this to the human.";
+ next;
+ mes "[Master Egnoloria]";
+ mes "Talk to the guy with the weird hair.";
+ mes "He'll let you know what you should do.";
+ set job_wl,2;
+ setquest 11106;
+ close;
+ case 2:
+ mes "[Master Egnoloria]";
+ mes "Good.";
+ mes "You are a human being so that's for you.";
+ mes "kkk";
+ set job_wl,1;
+ close2;
+ warp "splendide",200,100;
+ end;
+ }
+ }
+ mes "[Master]";
+ mes "You're still quite far too low of a level to even consider this.";
+ close2;
+ warp "splendide",200,100;
+ end;
+ }
+ mes "[Assistant]";
+ mes "Huh!!! Human!?!";
+ mes "How did you enter here?";
+ mes "This is only connected with a special gate!";
+ next;
+ mes "[Assistant]";
+ mes "I don't know how...";
+ mes "But we should leave before my master spots you...!";
+ next;
+ mes "[???]";
+ mes "What's that noise out there?";
+ mes "I warned them to be quiet while I'm meditating.";
+ next;
+ mes "[Assistant]";
+ mes "Huh!?!";
+ mes "Master...";
+ mes "It's nothing...";
+ next;
+ mes "[Master]";
+ mes "Oh~ there's a human being in front of me.";
+ next;
+ mes "[Assistant]";
+ mes "Oh this thing?";
+ mes "I was just leading it out.";
+ next;
+ mes "[Master]";
+ mes "Yoop!!!";
+ next;
+ mes "[Yoop]";
+ mes "Yeap...!!";
+ next;
+ mes "[Master]";
+ mes "There's the warp portal beyond you... Is it an illusion?";
+ next;
+ mes "[Yoop]";
+ mes "Sorry!!!";
+ mes "It's my mistake...";
+ next;
+ mes "[Master]";
+ mes "Fool...";
+ mes "I'll deal with you after you send the human away.";
+ next;
+ mes "[Master]";
+ mes "MushSartas Ir Cyamar";
+ mes "UdenLo";
+ close2;
+ warp "splendide",200,100;
+ end;
+ }
+ if (job_wl == 1){
+ mes "[Yoop]";
+ mes "You're... we've met before.";
+ mes "Can you imagine how severely I was scolded by my master?!";
+ mes "If you have any business with me, just go away!";
+ next;
+ switch(select("Leave.:Stay.")){
+ case 1:
+ mes "[Yoop]";
+ mes "Leave me alone...!";
+ close2;
+ warp "splendide",200,100;
+ end;
+ case 2:
+ mes "[Yoop]";
+ mes "What?!";
+ mes "Just do whatever you want...";
+ mes "My master will deal with you then.";
+ close;
+ }
+ }
+ if (job_wl == 2){
+ mes "[Yoop]";
+ mes "Dear, master! My pony-tail is funny looking?!";
+ mes "Oh, but I spent a lot time on it!";
+ next;
+ mes "[Master Egnoloria]";
+ mes "It's noisy.";
+ mes "I need to meditate";
+ mes "so do as I said.";
+ next;
+ mes "[Yoop]";
+ mes "Huh..";
+ mes "Oh, yeah!";
+ next;
+ mes "[Yoop]";
+ mes "Hey, human!";
+ mes "Would you like to";
+ mes "become a Warlock?";
+ next;
+ if (SkillPoint != 0) {
+ mes "[Yoop]";
+ mes "First, use all of your remaining job skills points before continuing.";
+ set job_wl,3;
+ close;
+ }
+ mes "[Yoop]";
+ mes "This is the Master's";
+ mes "decision so let me know.";
+ next;
+ mes "[Yoop]";
+ mes "We need to test if your body can withstand being a Warlock.";
+ mes "So you need to gather materials to prove yourself.";
+ next;
+ mes "[Yoop]";
+ mes "Please gather ^000077Glittering Crystal^000000s and ^000077Giant Bradium Fragment^000000s.";
+ next;
+ mes "[Yoop]";
+ mes "You must be wearing these Magical Stone Rings to get these items while hunting.";
+ mes "You need to hunt Naga and Bradium Golems while wearing these rings.";
+ next;
+ mes "[Yoop]";
+ mes "Show us how strong you are. And don't forget to wear this.";
+ set job_wl,4;
+ getitem 2796,1; //Magical_Stone
+ getitem 2797,1; //Magical_Stone_
+ changequest 11106,11107;
+ next;
+ mes "[Yoop]";
+ mes "Bring these stones with you or else you won't be able to return!";
+ mes "Be careful!";
+ next;
+ mes "[Yoop]";
+ mes "The person next to my Master will let you out if you talk to him.";
+ next;
+ mes "[Yoop]";
+ mes "My lab is located on the north western part of Splendide. Bring these to me when you've gathered them.";
+ close;
+ }
+ if (job_wl == 3){
+ if (SkillPoint != 0) {
+ mes "[Yoop]";
+ mes "First, use all of your remaining job skills points before continuing.";
+ close;
+ }
+ mes "[Yoop]";
+ mes "We need to test if your body can withstand being a Warlock.";
+ mes "So you need to gather materials to prove yourself.";
+ next;
+ mes "[Yoop]";
+ mes "Please gather ^000077Glittering Crystal^000000s and ^000077Giant Bradium Fragment^000000s.";
+ next;
+ mes "[Yoop]";
+ mes "You must be wearing these Magical Stone Rings to get these items while hunting.";
+ mes "You need to hunt Naga and Bradium Golems while wearing these rings.";
+ next;
+ mes "[Yoop]";
+ mes "Show us how strong you are. And don't forget to wear this.";
+ set job_wl,4;
+ getitem 2796,1; //Magical_Stone
+ getitem 2797,1; //Magical_Stone_
+ changequest 11106,11107;
+ next;
+ mes "[Yoop]";
+ mes "Bring these stones with you or else you won't be able to return!";
+ mes "Be careful!";
+ next;
+ mes "[Yoop]";
+ mes "The person next to my Master will let you out if you talk to him.";
+ next;
+ mes "[Yoop]";
+ mes "My lab is located on the north western part of Splendide. Bring these to me when you've gathered them.";
+ close;
+ }
+ if (job_wl == 4){
+ if (countitem(6152) < 1 || countitem(6151) < 1){
+ mes "[Yoop]";
+ mes "Please gather ^000077Glittering Crystal^000000s and ^000077Giant Bradium Fragment^000000s.";
+ next;
+ mes "[Yoop]";
+ mes "You must be wearing these Magical Stone Rings to get these items while hunting.";
+ mes "You need to hunt Naga and Bradium Golems while wearing these rings.";
+ next;
+ mes "[Yoop]";
+ mes "Bring these stones with you or else you won't be able to return!";
+ mes "Be careful!";
+ next;
+ mes "[Yoop]";
+ mes "The person next to my Master will let you out if you talk to him.";
+ next;
+ mes "[Yoop]";
+ mes "My lab is located on the north western part of Splendide. Bring these to me when you've gathered them.";
+ close;
+ }
+ mes "[Yoop]";
+ mes "I can't conduct the task here. I need to go to my lab.";
+ mes "My lab is located on the north western part of Splendide.";
+ close;
+ }
+ if (job_wl == 5){
+ mes "[Yoop]";
+ mes "This stone is well made.";
+ mes "Please go to my Master.";
+ close;
+ }
+ mes "[Yoop]";
+ mes "A Magic Chamber is created from magic materials.";
+ next;
+ mes "[Yoop]";
+ mes "This combined stone is formed differently according to the raw materials and the way of treating it.";
+ next;
+ mes "[Yoop]";
+ mes "But most of stones are quite similar!";
+ mes "We can't differentiate them easily.";
+ next;
+ mes "[Yoop]";
+ mes "Even I don't know how it all works.";
+ close;
+}
+
+spl_in02,60,231,5 script Yoop#Warlock 446,{
+
+ if (job_wl < 4){
+ mes "[Yoop]";
+ mes "Who are you.";
+ mes "Get out of here!";
+ close;
+ }
+ if (job_wl == 4){
+ mes "[Yoop]";
+ mes "You're back??";
+ next;
+ switch(select("I brought the materials.:I've lost the Magical Stones.:Nothing.")){
+ case 1:
+ if (countitem(6152) < 1 || countitem(6151) < 1){
+ mes "[Yoop]";
+ mes "Please gather ^000077Glittering Crystal^000000s and ^000077Giant Bradium Fragment^000000s.";
+ next;
+ mes "[Yoop]";
+ mes "You must be wearing these Magical Stone Rings to get these items while hunting.";
+ mes "You need to hunt Naga and Bradium Golems while wearing these rings.";
+ next;
+ mes "[Yoop]";
+ mes "Bring these stones with you or else you won't be able to return!";
+ mes "Be careful!";
+ close;
+ }
+ else if ((countitem(6152) > 0) && (countitem(6151) > 0)){
+ if (countitem(2796) < 1 || countitem(2797) < 1){
+ if (isequipped(2796) || isequipped(2797)){
+ mes "[Yoop]";
+ //Custom translation
+ mes "Please unequip the stones and talk to me again.";
+ close;
+ }
+ mes "[Yoop]";
+ mes "It seems that you don't have it?";
+ mes "You lost it?";
+ next;
+ mes "[Yoop]";
+ mes "Please find that stone and come back to me.";
+ close;
+ }
+ if (isequipped(2796) || isequipped(2797)){
+ mes "[Yoop]";
+ //Custom translation
+ mes "Please unequip the stones and talk to me again.";
+ close;
+ }
+ mes "[Yoop]";
+ mes "While I am concentrating on working on this stone. Can you go back to my master?";
+ mes "I will follow up once it's done.";
+ delitem 2796,countitem(2796); //Magical_Stone
+ delitem 2797,countitem(2797); //Magical_Stone_
+ delitem 6152,countitem(6152); //Glittering_Crystal
+ delitem 6151,countitem(6151); //Peice_Of_Great_Bradium
+ set job_wl,5;
+ changequest 11107,11108;
+ close;
+ }
+ case 2:
+ mes "[Yoop]";
+ mes "What?!";
+ mes "I asked you to double check it and make sure you wore it!";
+ next;
+ mes "[Yoop]";
+ mes "Please check whether you missplaced it or if you already have it equipped.";
+ next;
+ switch(select("I found it.:nah.")){
+ case 1:
+ mes "[Yoop]";
+ mes "Don't tease me!";
+ mes "It's not hard to tell if you have it or not!";
+ close;
+ case 2:
+ if ((countitem(2797) < 1) && (countitem(2796) < 1)){
+ if (!isequipped(2796) || !isequipped(2797)){
+ if (countitem(732) >= 2){
+ switch(select("Give 2x 3 Carat Diamonds.:Just quit it.")){
+ case 1:
+ mes "[Yoop]";
+ mes " I will overlook your fault.";
+ mes "Please be careful with it.";
+ delitem 732,2; //Crystal_Jewel__
+ getitem 2796,1; //Magical_Stone
+ getitem 2797,1; //Magical_Stone_
+ close;
+ case 2:
+ mes "[Yoop]";
+ mes "Just show me your good faith!";
+ close;
+ }
+ }
+ mes "[Yoop]";
+ mes "How can you can say that?";
+ mes "^000077Just apologize.^000000!";
+ mes "I guess I could give you more stones if you give me say 2x 3 carat diamond...";
+ close;
+ }
+ mes "[Yoop]";
+ mes "How can you can say that?";
+ mes "^000077Just apologize.^000000!";
+ mes "I guess I could give you more stones if you give me say 2x 3 carat diamond...";
+ close;
+ }
+ mes "[Yoop]";
+ mes "How can you can say that?";
+ mes "^000077Just apologize.^000000!";
+ mes "I guess I could give you more stones if you give me say 2x 3 carat diamond...";
+ close;
+ }
+ case 3:
+ mes "[Yoop]";
+ mes "What...?";
+ mes "Don't bother me, I am quite busy.";
+ close;
+ }
+ }
+ mes "[Yoop]";
+ mes "I am focusing on meditating.";
+ mes "So I can create magic.";
+ next;
+ mes "[Yoop]";
+ mes "And... you seem to have more talent on this than regular mages.";
+ mes "Maybe if I become an alchemist, I might be better than I am now don't you think?";
+ next;
+ mes "[Yoop]";
+ mes "I'm studying to better myself.";
+ next;
+ mes "[Yoop]";
+ mes "If am inside of 'the room of time and magic', I will catch up with your power!";
+ mes "Hahahaha...";
+ close;
+}
+
+spl_in02,84,103,3 script Assistant#Warlock2 445,{
+
+ if (job_wl < 1){
+ if (Class == Job_Wizard || Class == Job_High_Wizard || Class == Job_Baby_Wizard){
+ mes "[Assistant]";
+ mes "Huh!!! Human!?!";
+ mes "How did you enter here?";
+ mes "This is only connected with a special gate!";
+ next;
+ mes "[Assistant]";
+ mes "I don't know how...";
+ mes "But we should leave before my master spots you...!";
+ next;
+ mes "[???]";
+ mes "What's that noise out there?";
+ mes "I warned them to be quiet while I'm meditating.";
+ next;
+ mes "[Assistant]";
+ mes "Huh!?!";
+ mes "Master...";
+ mes "It's nothing...";
+ next;
+ mes "[Master]";
+ mes "Oh~ there's a human being in front of me.";
+ next;
+ mes "[Assistant]";
+ mes "Oh this thing?";
+ mes "I was just leading it out.";
+ next;
+ mes "[Master]";
+ mes "Yoop!!!";
+ next;
+ mes "[Yoop]";
+ mes "Yeap...!!";
+ next;
+ mes "[Master]";
+ mes "There's the warp portal beyond you... Is it an illusion?";
+ next;
+ mes "[Yoop]";
+ mes "Sorry!!!";
+ mes "It's my mistake...";
+ next;
+ mes "[Master]";
+ mes "Fool...";
+ mes "I'll deal with you after you send the human away.";
+ next;
+ mes "[Master]";
+ mes "MushSartas Ir Cyamar";
+ mes "UdenLo";
+ next;
+ mes " - The fairy with the green hair chants a spell. - ";
+ mes " - I feel like something special surrounds me. - ";
+ specialeffect2 EF_DISPELL;
+ next;
+ mes "[Master]";
+ mes "Oh, that's interesting.";
+ mes "How dare you resist me human?";
+ next;
+ if (BaseLevel > 98){
+ mes "[Master]";
+ mes "Oh, that's interesting.";
+ mes "How dare you resist me human?";
+ next;
+ menu "I'm not sure. Who are you?",-;
+ mes "[Master]";
+ mes "I am the leader of the ^000077Warlock^000000s.";
+ mes "'^000077Sila Egnoloria^000000'";
+ mes "If you are a Wizard, it would be good of you to memorize my name.";
+ next;
+ menu "What is a ^000077Warlock^000000?",-;
+ mes "[Master Egnoloria]";
+ mes "Oh...are you interested?";
+ next;
+ mes "[Master Egnoloria]";
+ mes "A ^000077Warlock^000000 is someone who uses the magic of the giants of Jotunheim.";
+ mes "It can't be defined in any other words.";
+ next;
+ mes "[Master Egnoloria]";
+ mes "Only the strong magic can explain it.";
+ next;
+ menu "Could I become Warlock?",-;
+ mes "[Master Egnoloria]";
+ mes "You?";
+ mes "You wanna become a Warlock?";
+ mes "Hahaha";
+ next;
+ mes "[Master Egnoloria]";
+ mes "You're so interesting.";
+ mes "It would be difficult for a human to become a Warlock.";
+ mes "The strong power would gnaw at your weak body.";
+ next;
+ mes "[Master Egnoloria]";
+ mes "If you dare to face death, you can try to become one.";
+ next;
+ switch(select("What do I need to do?:Cancel.")){
+ case 1:
+ mes "[Master Egnoloria]";
+ mes "Are you serious?";
+ mes "You hunger for power don't you human.";
+ next;
+ mes "[Master Egnoloria]";
+ mes "The strong desire to be more powerful makes your soul more beautiful.";
+ next;
+ mes "[Master Egnoloria]";
+ mes "But, I need to check that you're qualified.";
+ next;
+ mes "[Master Egnoloria]";
+ mes "Yoop!";
+ next;
+ mes "[Yoop]";
+ mes "Yeap!!";
+ next;
+ mes "[Master Egnoloria]";
+ mes "Give this to the human.";
+ next;
+ mes "[Master Egnoloria]";
+ mes "Talk to the guy with the weird hair.";
+ mes "He'll let you know what you should do.";
+ set job_wl,2;
+ setquest 11106;
+ close;
+ case 2:
+ mes "[Master Egnoloria]";
+ mes "Good.";
+ mes "You are a human being so that's for you.";
+ mes "kkk";
+ set job_wl,1;
+ close2;
+ warp "splendide",200,100;
+ end;
+ }
+ }
+ mes "[Master]";
+ mes "You're still quite far too low of a level to even consider this.";
+ close2;
+ warp "splendide",200,100;
+ end;
+ }
+ mes "[Assistant]";
+ mes "Huh!!! Human!?!";
+ mes "How did you enter here?";
+ mes "This is only connected with a special gate!";
+ next;
+ mes "[Assistant]";
+ mes "I don't know how...";
+ mes "But we should leave before my master spots you...!";
+ next;
+ mes "[???]";
+ mes "What's that noise out there?";
+ mes "I warned them to be quiet while I'm meditating.";
+ next;
+ mes "[Assistant]";
+ mes "Huh!?!";
+ mes "Master...";
+ mes "It's nothing...";
+ next;
+ mes "[Master]";
+ mes "Oh~ there's a human being in front of me.";
+ next;
+ mes "[Assistant]";
+ mes "Oh this thing?";
+ mes "I was just leading it out.";
+ next;
+ mes "[Master]";
+ mes "Yoop!!!";
+ next;
+ mes "[Yoop]";
+ mes "Yeap...!!";
+ next;
+ mes "[Master]";
+ mes "There's the warp portal beyond you... Is it an illusion?";
+ next;
+ mes "[Yoop]";
+ mes "Sorry!!!";
+ mes "It's my mistake...";
+ next;
+ mes "[Master]";
+ mes "Fool...";
+ mes "I'll deal with you after you send the human away.";
+ next;
+ mes "[Master]";
+ mes "MushSartas Ir Cyamar";
+ mes "UdenLo";
+ close2;
+ warp "splendide",200,100;
+ end;
+ }
+ if (job_wl == 1){
+ mes "[Assistant]";
+ mes "Human! What do you want?";
+ close;
+ }
+ if ((job_wl > 1) && (job_wl < 6)){
+ mes "[Assistant]";
+ mes "It's not me you are looking for currently.";
+ close;
+ }
+ if (job_wl == 6){
+ if(checkweight(1201,1) == 0){
+ mes "You've got too many items.";
+ mes "You'd best remove some and come back.";
+ close;
+ }
+ mes "[Yoop]";
+ mes "The test isn't that hard.";
+ mes "We can create the magic stone in the magic room.";
+ next;
+ mes "[Yoop]";
+ mes "Be careful of the monsters in the test room.";
+ mes "These are rainbow Rubies sealed with a Warlock's magic.";
+ mes "Use these during the test.";
+ next;
+ mes "[Yoop]";
+ mes "I will guide you into the magic room.";
+ set job_wl,7;
+ changequest 11109,11110;
+ getitem 12384,5; //Rainbow_Ruby_Water
+ getitem 12385,5; //Rainbow_Ruby_Fire
+ getitem 12386,5; //Rainbow_Ruby_Wind
+ getitem 12387,5; //Rainbow_Ruby_Earth
+ close2;
+ warp "job3_war01",23,20;
+ end;
+ }
+ if (job_wl == 7){
+ if(checkweight(1201,1) == 0){
+ mes "You've got too many items.";
+ mes "You'd best remove some and come back.";
+ close;
+ }
+ mes "[Assistant]";
+ mes "Would you like to try it again?";
+ mes "Let me give you more rubies.";
+ next;
+ if (countitem(12384))
+ delitem 12384,countitem(12384); //Rainbow_Ruby_Water
+ if (countitem(12385))
+ delitem 12385,countitem(12385); //Rainbow_Ruby_Fire
+ if (countitem(12386))
+ delitem 12386,countitem(12386); //Rainbow_Ruby_Wind
+ if (countitem(12387))
+ delitem 12387,countitem(12387); //Rainbow_Ruby_Earth
+ getitem 12384,5; //Rainbow_Ruby_Water
+ getitem 12385,5; //Rainbow_Ruby_Fire
+ getitem 12386,5; //Rainbow_Ruby_Wind
+ getitem 12387,5; //Rainbow_Ruby_Earth
+ close2;
+ warp "job3_war01",23,20;
+ end;
+ }
+ if (job_wl == 8){
+ mes "[Assistant]";
+ mes "You have successfully crystallized the Hollow Stone.";
+ mes "I'm sorry that I've doubted you.";
+ if (countitem(12384))
+ delitem 12384,countitem(12384); //Rainbow_Ruby_Water
+ if (countitem(12385))
+ delitem 12385,countitem(12385); //Rainbow_Ruby_Fire
+ if (countitem(12386))
+ delitem 12386,countitem(12386); //Rainbow_Ruby_Wind
+ if (countitem(12387))
+ delitem 12387,countitem(12387); //Rainbow_Ruby_Earth
+ next;
+ mes "[Assistant]";
+ mes "All of the tests are done. Now talk to Master Engoloria.";
+ mes "I'm so happy that you have succeeded.";
+ set job_wl,9;
+ changequest 11111,11112;
+ close;
+ }
+ if (job_wl == 9){
+ mes "[Assistant]";
+ mes "All of the tests are done. Now talk to Master Engoloria.";
+ mes "I'm so happy that you have succeeded.";
+ close;
+ }
+ mes "[Assistant]";
+ mes "I can feel that you have strong magic.";
+ mes "I envy you.";
+ next;
+ mes "[Assistant]";
+ mes "It deserves something special.";
+ mes "Don't abuse it.";
+ close;
+}
+
+spl_in02,78,110,5 script Assistant#Warlock3 443,{
+
+ if (job_wl < 1){
+ if (Class == Job_Wizard || Class == Job_High_Wizard || Class == Job_Baby_Wizard){
+ mes "[Assistant]";
+ mes "Huh!!! Human!?!";
+ mes "How did you enter here?";
+ mes "This is only connected with a special gate!";
+ next;
+ mes "[Assistant]";
+ mes "I don't know how...";
+ mes "But we should leave before my master spots you...!";
+ next;
+ mes "[???]";
+ mes "What's that noise out there?";
+ mes "I warned them to be quiet while I'm meditating.";
+ next;
+ mes "[Assistant]";
+ mes "Huh!?!";
+ mes "Master...";
+ mes "It's nothing...";
+ next;
+ mes "[???]";
+ mes "Oh~ there's a human being in front of me.";
+ next;
+ mes "[Assistant]";
+ mes "Oh this thing?";
+ mes "I was just leading it out.";
+ next;
+ mes "[Master]";
+ mes "Yoop!!!";
+ next;
+ mes "[Yoop]";
+ mes "Yeap...!!";
+ next;
+ mes "[Master]";
+ mes "There's the warp portal beyond you... Is it an illusion?";
+ next;
+ mes "[Yoop]";
+ mes "Sorry!!!";
+ mes "It's my mistake...";
+ next;
+ mes "[Master]";
+ mes "Fool...";
+ mes "I'll deal with you after you send the human away.";
+ next;
+ mes "[Master]";
+ mes "MushSartas Ir Cyamar";
+ mes "UdenLo";
+ next;
+ mes " - The fairy with the green hair chants a spell. - ";
+ mes " - I feel like something special surrounds me. - ";
+ specialeffect2 EF_DISPELL;
+ next;
+ mes "[Master]";
+ mes "Oh, that's interesting.";
+ mes "How dare you resist me human?";
+ next;
+ if (BaseLevel > 98){
+ mes "[Master]";
+ mes "Oh, that's interesting.";
+ mes "How dare you resist me human?";
+ next;
+ menu "I'm not sure. Who are you?",-;
+ mes "[Master]";
+ mes "I am the leader of the ^000077Warlock^000000s.";
+ mes "'^000077Sila Egnoloria^000000'";
+ mes "If you are a Wizard, it would be good of you to memorize my name.";
+ next;
+ menu "What is a ^000077Warlock^000000?",-;
+ mes "[Master Egnoloria]";
+ mes "Oh...are you interested?";
+ next;
+ mes "[Master Egnoloria]";
+ mes "A ^000077Warlock^000000 is someone who uses the magic of the giants of Jotunheim.";
+ mes "It can't be defined in any other words.";
+ next;
+ mes "[Master Egnoloria]";
+ mes "Only the strong magic can explain it.";
+ mes "kkk";
+ next;
+ menu "Could I become Warlock?",-;
+ mes "[Master Egnoloria]";
+ mes "You?";
+ mes "You wanna become a Warlock?";
+ mes "Hahaha";
+ next;
+ mes "[Master Egnoloria]";
+ mes "You're so interesting.";
+ mes "It would be difficult for a human to become a Warlock.";
+ mes "The strong power would gnaw at your weak body.";
+ next;
+ mes "[Master Egnoloria]";
+ mes "If you dare to face death, you can try to become one.";
+ next;
+ switch(select("What do I need to do?:Cancel.")){
+ case 1:
+ mes "[Master Egnoloria]";
+ mes "Are you serious?";
+ mes "You hunger for power don't you human.";
+ next;
+ mes "[Master Egnoloria]";
+ mes "The strong desire to be more powerful makes your soul more beautiful.";
+ next;
+ mes "[Master Egnoloria]";
+ mes "But, I need to check that you're qualified.";
+ next;
+ mes "[Master Egnoloria]";
+ mes "Yoop!";
+ next;
+ mes "[Yoop]";
+ mes "Yeap!!";
+ next;
+ mes "[Master Egnoloria]";
+ mes "Give this to the human.";
+ next;
+ mes "[Master Egnoloria]";
+ mes "Talk to the guy with the weird hair.";
+ mes "He'll let you know what you should do.";
+ set job_wl,2;
+ setquest 11106;
+ close;
+ case 2:
+ mes "[Master Egnoloria]";
+ mes "Good.";
+ mes "You are a human being so that's for you.";
+ mes "kkk";
+ set job_wl,1;
+ close2;
+ warp "splendide",200,100;
+ end;
+ }
+ }
+ mes "[Master]";
+ mes "You're still quite far too low of a level to even consider this.";
+ close2;
+ warp "splendide",200,100;
+ end;
+ }
+ mes "[Assistant]";
+ mes "Huh!!! Human!?!";
+ mes "How did you enter here?";
+ mes "This is only connected with a special gate!";
+ next;
+ mes "[Assistant]";
+ mes "I don't know how...";
+ mes "But we should leave before my master spots you...!";
+ next;
+ mes "[???]";
+ mes "What's that noise out there?";
+ mes "I warned them to be quiet while I'm meditating.";
+ next;
+ mes "[Assistant]";
+ mes "Huh!?!";
+ mes "Master...";
+ mes "It's nothing...";
+ next;
+ mes "[???]";
+ mes "Oh~ there's a human being in front of me.";
+ next;
+ mes "[Assistant]";
+ mes "Oh this thing?";
+ mes "I was just leading it out.";
+ next;
+ mes "[Master]";
+ mes "Yoop!!!";
+ next;
+ mes "[Yoop]";
+ mes "Yeap...!!";
+ next;
+ mes "[Master]";
+ mes "There's the warp portal beyond you... Is it an illusion?";
+ next;
+ mes "[Yoop]";
+ mes "Sorry!!!";
+ mes "It's my mistake...";
+ next;
+ mes "[Master]";
+ mes "Fool...";
+ mes "I'll deal with you after you send the human away.";
+ next;
+ mes "[Master]";
+ mes "MushSartas Ir Cyamar";
+ mes "UdenLo";
+ close2;
+ warp "splendide",200,100;
+ end;
+ }
+ if (job_wl == 1){
+ mes "[Assistant]";
+ mes "......";
+ mes "If you don't have anything to say to me, would you just leave?";
+ next;
+ switch(select("Leave:Stay")){
+ case 1:
+ mes "[Assistant]";
+ mes "Then be careful!";
+ close2;
+ warp "splendide",200,100;
+ end;
+ case 2:
+ mes "[Assistant]";
+ mes "......";
+ close;
+ }
+ }
+ if (job_wl == 2){
+ mes "[Assistant]";
+ mes "......";
+ mes "I don't have a pony-tail...";
+ next;
+ switch(select("Leave:Cancel.")){
+ case 1:
+ mes "[Assistant]";
+ mes "Then be careful.";
+ close2;
+ warp "splendide",200,100;
+ end;
+ case 2:
+ mes "[Assistant]";
+ mes "......";
+ close;
+ }
+ }
+ mes "[Assistant]";
+ mes "Please be quiet while my master is meditating.";
+ next;
+ switch(select("Leave:Cancel.")){
+ case 1:
+ mes "[Assistant]";
+ mes "Then be careful.";
+ close2;
+ warp "splendide",200,100;
+ end;
+ case 2:
+ mes "[Assistant]";
+ mes "......";
+ close;
+ }
+}
+
+spl_in02,80,108,5 script Guild Master#Warlock 465,{
+
+ if (job_wl < 1){
+ if (Class == Job_Wizard || Class == Job_High_Wizard || Class == Job_Baby_Wizard){
+ mes "[Assistant]";
+ mes "Huh!!! Human!?!";
+ mes "How did you enter here?";
+ mes "This is only connected with a special gate!";
+ next;
+ mes "[Assistant]";
+ mes "I don't know how...";
+ mes "But we should leave before my master spots you...!";
+ next;
+ mes "[???]";
+ mes "What's that noise out there?";
+ mes "I warned them to be quiet while I'm meditating.";
+ next;
+ mes "[Assistant]";
+ mes "Huh!?!";
+ mes "Master...";
+ mes "It's nothing...";
+ next;
+ mes "[Master]";
+ mes "Oh~ there's a human being in front of me.";
+ next;
+ mes "[Assistant]";
+ mes "Oh this thing?";
+ mes "I was just leading it out.";
+ next;
+ mes "[Master]";
+ mes "Yoop!!!";
+ next;
+ mes "[Yoop]";
+ mes "Yeap...!!";
+ next;
+ mes "[Master]";
+ mes "There's the warp portal beyond you... Is it an illusion?";
+ next;
+ mes "[Yoop]";
+ mes "Sorry!!!";
+ mes "It's my mistake...";
+ next;
+ mes "[Master]";
+ mes "Fool...";
+ mes "I'll deal with you after you send the human away.";
+ next;
+ mes "[Master]";
+ mes "MushSartas Ir Cyamar";
+ mes "UdenLo";
+ next;
+ mes " - The fairy with the green hair chants a spell. - ";
+ mes " - I feel like something special surrounds me. - ";
+ specialeffect2 EF_DISPELL;
+ next;
+ mes "[Master]";
+ mes "Oh, that's interesting.";
+ mes "How dare you resist me human?";
+ next;
+ if (BaseLevel > 98){
+ mes "[Master]";
+ mes "Oh, that's interesting.";
+ mes "How dare you resist me human?";
+ next;
+ menu "I'm not sure. Who are you?",-;
+ mes "[Master]";
+ mes "I am the leader of the ^000077Warlock^000000s.";
+ mes "'^000077Sila Egnoloria^000000'";
+ mes "If you are a Wizard, it would be good of you to memorize my name.";
+ next;
+ menu "What is a ^000077Warlock^000000?",-;
+ mes "[Master Egnoloria]";
+ mes "Oh...are you interested?";
+ next;
+ mes "[Master Egnoloria]";
+ mes "A ^000077Warlock^000000 is someone who uses the magic of the giants of Jotunheim.";
+ mes "It can't be defined in any other words.";
+ next;
+ mes "[Master Egnoloria]";
+ mes "Only the strong magic can explain it.";
+ mes "kkk";
+ next;
+ menu "Could I become Warlock?",-;
+ mes "[Master Egnoloria]";
+ mes "You?";
+ mes "You wanna become a Warlock?";
+ mes "Hahaha";
+ next;
+ mes "[Master Egnoloria]";
+ mes "You're so interesting.";
+ mes "It would be difficult for a human to become a Warlock.";
+ mes "The strong power would gnaw at your weak body.";
+ next;
+ mes "[Master Egnoloria]";
+ mes "If you dare to face death, you can try to become one.";
+ next;
+ switch(select("What do I need to do?:Cancel.")){
+ case 1:
+ mes "[Master Egnoloria]";
+ mes "Are you serious?";
+ mes "You hunger for power don't you human.";
+ next;
+ mes "[Master Egnoloria]";
+ mes "The strong desire to be more powerful makes your soul more beautiful.";
+ next;
+ mes "[Master Egnoloria]";
+ mes "But, I need to check that you're qualified.";
+ next;
+ mes "[Master Egnoloria]";
+ mes "Yoop!";
+ next;
+ mes "[Yoop]";
+ mes "Yeap!!";
+ next;
+ mes "[Master Egnoloria]";
+ mes "Give this to the human.";
+ next;
+ mes "[Master Egnoloria]";
+ mes "Talk to the guy with the weird hair.";
+ mes "He'll let you know what you should do.";
+ set job_wl,2;
+ setquest 11106;
+ close;
+ case 2:
+ mes "[Master Egnoloria]";
+ mes "Good.";
+ mes "You are a human being so that's for you.";
+ mes "kkk";
+ set job_wl,1;
+ close2;
+ warp "splendide",200,100;
+ end;
+ }
+ }
+ mes "[Master]";
+ mes "You're still quite far too low of a level to even consider this.";
+ close2;
+ warp "splendide",200,100;
+ end;
+ }
+ mes "[Assistant]";
+ mes "Huh!!! Human!?!";
+ mes "How did you enter here?";
+ mes "This is only connected with a special gate!";
+ next;
+ mes "[Assistant]";
+ mes "I don't know how...";
+ mes "But we should leave before my master spots you...!";
+ next;
+ mes "[???]";
+ mes "What's that noise out there?";
+ mes "I warned them to be quiet while I'm meditating.";
+ next;
+ mes "[Assistant]";
+ mes "Huh!?!";
+ mes "Master...";
+ mes "It's nothing...";
+ next;
+ mes "[Master]";
+ mes "Oh~ there's a human being in front of me.";
+ next;
+ mes "[Assistant]";
+ mes "Oh this thing?";
+ mes "I was just leading it out.";
+ next;
+ mes "[Master]";
+ mes "Yoop!!!";
+ next;
+ mes "[Yoop]";
+ mes "Yeap...!!";
+ next;
+ mes "[Master]";
+ mes "There's the warp portal beyond you... Is it an illusion?";
+ next;
+ mes "[Yoop]";
+ mes "Sorry!!!";
+ mes "It's my mistake...";
+ next;
+ mes "[Master]";
+ mes "Fool...";
+ mes "I'll deal with you after you send the human away.";
+ next;
+ mes "[Master]";
+ mes "MushSartas Ir Cyamar";
+ mes "UdenLo";
+ close2;
+ warp "splendide",200,100;
+ end;
+ }
+ if (job_wl == 1){
+ mes "[Master Egnoloria]";
+ mes "Do you have something to ask me?";
+ next;
+ switch(select("How can I be a Warlock?:Cancel.")){
+ case 1:
+ mes "[Master Egnoloria]";
+ mes "Are you serious?";
+ mes "You hunger for power don't you human.";
+ next;
+ mes "[Master Egnoloria]";
+ mes "The strong desire to be more powerful makes your soul more beautiful.";
+ next;
+ mes "[Master Egnoloria]";
+ mes "But, I need to check that you're qualified.";
+ next;
+ mes "[Master Egnoloria]";
+ mes "Yoop!";
+ next;
+ mes "[Yoop]";
+ mes "Yeap!!";
+ next;
+ mes "[Master Egnoloria]";
+ mes "Give this to the human.";
+ next;
+ mes "[Master Egnoloria]";
+ mes "Talk to the guy with the weird hair.";
+ mes "He'll let you know what you should do.";
+ set job_wl,2;
+ setquest 11106;
+ close;
+ case 2:
+ mes "[Master Egnoloria]";
+ mes "Good.";
+ mes "You are a human being so that's for you.";
+ mes "kkk";
+ close2;
+ warp "splendide",200,100;
+ end;
+ }
+ }
+ if (job_wl == 2){
+ mes "[Master Egnoloria]";
+ mes "I'm meditating, I said talk to Yoop ok.";
+ mes "Yoop has a funny pony-tail.";
+ mes "And don't disturb me.";
+ close;
+ }
+ if (job_wl == 3 || job_wl == 4){
+ mes "[Master Egnoloria]";
+ mes "......";
+ next;
+ mes "[Assistant]";
+ mes "Master is meditating.";
+ mes "Be quiet.";
+ close;
+ }
+ if (job_wl == 5){
+ mes "[Master Egnoloria]";
+ mes "I've heard from Yoop that a very useful stone can be created.";
+ mes "Kkk.";
+ next;
+ mes "[Master Egnoloria]";
+ mes "It can be used to make magical jewelry that can cast powerful magic.";
+ next;
+ mes "[Master Egnoloria]";
+ mes "Yoop.";
+ next;
+ mes "[Yoop]";
+ mes "Yeap, Master!";
+ next;
+ mes "[Master Egnoloria]";
+ mes "Please take him to the magical room.";
+ next;
+ mes "[Yoop]";
+ mes "Yup, Master.";
+ mes "Please follow me.";
+ emotion e_ic,"Assistant#Warlock2";
+ set job_wl,6;
+ changequest 11108,11109;
+ close;
+ }
+ if ((job_wl > 5) && (job_wl < 9)){
+ mes "[Master Egnoloria]";
+ mes "......";
+ next;
+ mes "[Yoop]";
+ mes "My master is meditating now, please follow me.";
+ close;
+ }
+ if (job_wl == 9){
+ if (BaseLevel == 99){
+ if(checkweight(1201,1) == 0){
+ mes "You've got too many items.";
+ mes "Please come back after reducing the number of items you have.";
+ close;
+ }
+ if (SkillPoint != 0) {
+ mes "[Master Egnoloria]";
+ //Custom Translation
+ mes "Unless you like being your current job, you should use all your skill points.";
+ close;
+ }
+ if (Class == Job_Baby_Wizard){
+ mes "[Master Egnoloria]";
+ mes "Beautiful light...";
+ mes "Don't make me disappointed at you...";
+ next;
+ mes "[Master Egnoloria]";
+ mes "You have become a member of the Warlocks.";
+ mes "Be proud.";
+ next;
+ mes "[Master Egnoloria]";
+ mes "This crystallized magical stone will keep you safe.";
+ set job_wl,10;
+ jobchange Job_Baby_Warlock;
+ completequest 11112;
+ getitem 5753,1; //Magic_Stone_Hat
+ getitem 2795,1; //Green_Apple_Ring
+ close;
+ }
+ if (Class == Job_Wizard){
+ mes "[Master Egnoloria]";
+ mes "Beautiful light...";
+ mes "Don't make me disappointed at you...";
+ next;
+ mes "[Master Egnoloria]";
+ mes "You have become a member of the Warlocks.";
+ mes "Be proud.";
+ next;
+ mes "[Master Egnoloria]";
+ mes "This crystallized magical stone will keep you safe.";
+ set job_wl,10;
+ jobchange Job_Warlock;
+ completequest 11112;
+ getitem 5753,1; //Magic_Stone_Hat
+ getitem 2795,1; //Green_Apple_Ring
+ close;
+ }
+ if(Class == Job_High_Wizard){
+ if ((JobLevel > 49) && (JobLevel < 60)){
+ mes "[Master Egnoloria]";
+ mes "Beautiful light...";
+ mes "Don't make me disappointed at you...";
+ next;
+ mes "[Master Egnoloria]";
+ mes "You have become a member of the Warlocks.";
+ mes "Be proud.";
+ next;
+ mes "[Master Egnoloria]";
+ mes "This crystallized magical stone will keep you safe.";
+ set job_wl,11;
+ jobchange Job_Warlock_T;
+ completequest 11112;
+ getitem 5753,1; //Magic_Stone_Hat
+ getitem 2795,1; //Green_Apple_Ring
+ close;
+ }else if ((JobLevel > 59) && (JobLevel < 70)){
+ mes "[Master Egnoloria]";
+ mes "Beautiful light...";
+ mes "Don't make me disappointed at you...";
+ next;
+ mes "[Master Egnoloria]";
+ mes "You have become a member of the Warlocks.";
+ mes "Be proud.";
+ next;
+ mes "[Master Egnoloria]";
+ mes "This crystallized magical stone will keep you safe.";
+ set job_wl,12;
+ jobchange Job_Warlock_T;
+ completequest 11112;
+ getitem 5753,1; //Magic_Stone_Hat
+ getitem 2795,1; //Green_Apple_Ring
+ close;
+ }else if (JobLevel == 70){
+ mes "[Master Egnoloria]";
+ mes "Beautiful light...";
+ mes "Don't make me disappointed at you...";
+ next;
+ mes "[Master Egnoloria]";
+ mes "You have become a member of the Warlocks.";
+ mes "Be proud.";
+ next;
+ mes "[Master Egnoloria]";
+ mes "This crystallized magical stone will keep you safe.";
+ set job_wl,13;
+ jobchange Job_Warlock_T;
+ completequest 11112;
+ getitem 5753,1; //Magic_Stone_Hat
+ getitem 2795,1; //Green_Apple_Ring
+ close;
+ }
+ }
+ mes "[Master Egnoloria]";
+ //Custom Translation
+ mes "Ah......?";
+ close;
+ }
+ mes "[Master Egnoloria]";
+ //Custom Translation
+ mes "Ah......?";
+ mes "How come you've made it this far...";
+ close;
+ }
+ if (job_wl > 9){
+ mes "[Master Egnoloria]";
+ mes "How are you adjusting to the power of a Warlocks?";
+ mes "If you get careless, you will be overthrown by your own power.";
+ close;
+ }
+}
+
+job3_war01,22,22,7 script Yoop#WRR 439,{
+
+ mes "[Yoop]";
+ mes "If you ask Ebein to be sent to the magical room, he would send you there.";
+ mes "wait in the queue to enter the Chamber of Magic.";
+ close;
+}
+
+job3_war01,29,25,0 script Ebein#WRR 437,{
+
+ mes "[Ebein]";
+ mes "Would you like to take a test?";
+ mes "If you stand by in the waiting room, you'll be able to go into the Chamber of Magic.";
+ next;
+ mes "[Ebein]";
+ mes "If there're others inside the room, you just need to wait for a while.";
+ next;
+ switch(select("Go to the waiting room.:Go outside.")){
+ case 1:
+ mes "[Ebein]";
+ mes "Then please enter the room yourself.";
+ mes "Make sure you have enough potions to survive the test as the monsters are very powerful in the Chamber.";
+ close;
+ case 2:
+ mes "[Ebein]";
+ mes "......";
+ mes "Then I will send you outside.";
+ mes "Bye...";
+ close2;
+ warp "spl_in02",79,102;
+ end;
+ }
+end;
+
+}
+
+job3_war01,29,25,5 script The chamber of magic 437,{
+ end;
+
+OnInit:
+ disablenpc "The chamber of magic";
+ waitingroom "The chamber of magic",20,"The chamber of magic::OnStartArena",1;
+ enablewaitingroomevent;
+ end;
+
+OnStartArena:
+ warpwaitingpc "job3_war02",29,25;
+ donpcevent "The chamber of magic#W::OnEnable";
+ initnpctimer;
+ disablewaitingroomevent;
+ end;
+
+OnTimer10000:
+ if(getmapusers("job3_war02")==0)
+ {
+ donpcevent "The chamber of magic#W::OnResetNPC";
+ donpcevent "The chamber of magic#W2::OnResetNPC";
+ donpcevent "The chamber of magic#W3::OnResetNPC";
+ donpcevent "Hollow Stone#W::OnResetNPC";
+ stopnpctimer;
+ enablewaitingroomevent;
+ end;
+ }
+ initnpctimer;
+end;
+
+OnEnable:
+ enablewaitingroomevent;
+ end;
+
+OnDisable:
+ disablewaitingroomevent;
+ end;
+}
+
+job3_war02,1,1,0 script The chamber of magic#W 66,{
+ end;
+
+OnInit:
+ disablenpc "The chamber of magic#W";
+ end;
+
+OnEnable:
+ enablenpc "The chamber of magic#W";
+ monster "job3_war02",23,32,"Magic Monster",2047,1,"The chamber of magic#W::OnMyMobDead";
+ monster "job3_war02",23,21,"Magic Monster",2048,1,"The chamber of magic#W::OnMyMobDead";
+ monster "job3_war02",34,32,"Magic Monster",2049,1,"The chamber of magic#W::OnMyMobDead";
+ monster "job3_war02",34,21,"Magic Monster",2050,1,"The chamber of magic#W::OnMyMobDead";
+ monster "job3_war02",23,32,"Magic Monster",2047,1,"The chamber of magic#W::OnMyMobDead";
+ monster "job3_war02",23,21,"Magic Monster",2048,1,"The chamber of magic#W::OnMyMobDead";
+ monster "job3_war02",34,32,"Magic Monster",2049,1,"The chamber of magic#W::OnMyMobDead";
+ monster "job3_war02",34,21,"Magic Monster",2050,1,"The chamber of magic#W::OnMyMobDead";
+ set .MyMobCount,8;
+ initnpctimer;
+ end;
+
+OnReset:
+ killmonster "job3_war02","The chamber of magic#W::OnMyMobDead";
+ end;
+
+OnDisable:
+ disablenpc "The chamber of magic#W";
+ end;
+
+OnMyMobDead:
+ set .MyMobCount,.MyMobCount-1;
+ if(.MyMobCount < 1){
+ stopnpctimer;
+ mapannounce "job3_war02","The Monster Invasion has been stopped.",bc_map;
+ donpcevent "The chamber of magic#W2::OnEnable";
+ }
+ end;
+
+OnTimer3000:
+ mapannounce "job3_war02","A Magical Power fragment has been created in the Magic Chamber Room.",bc_map;
+ end;
+
+OnTimer4000:
+ mapannounce "job3_war02","Defend this room from monsters for 5 minutes.",bc_map;
+ end;
+
+OnTimer5000:
+ mapannounce "job3_war02","Destroy all the monsters, and the Chamber will stabilize.",bc_map;
+ end;
+
+OnTimer63000:
+ mapannounce "job3_war02","There's 4 min left to stabilize the chamber....",bc_map;
+ end;
+
+OnTimer123000:
+ mapannounce "job3_war02","There's 3 min left to stabilize the chamber....",bc_map;
+ end;
+
+OnTimer183000:
+ mapannounce "job3_war02","There's 2 min left to stabilize the chamber....",bc_map;
+ end;
+
+OnTimer243000:
+ mapannounce "job3_war02","There's 1 min left to stabilize the chamber....",bc_map;
+ end;
+
+OnTimer273000:
+ mapannounce "job3_war02","There's 30 seconds left to stabilize the chamber....",bc_map;
+ end;
+
+OnTimer283000:
+ mapannounce "job3_war02","There's 20 seconds left to stabilize the chamber....",bc_map;
+ end;
+
+OnTimer293000:
+ mapannounce "job3_war02","There's 10 seconds left to stabilize the chamber....",bc_map;
+ end;
+
+OnTimer303000:
+ mapannounce "job3_war02", "The magic stabilization has failed. The fragment has lost it's power.",bc_map; // custom translation.
+ donpcevent "The chamber of magic#W::OnReset";
+ donpcevent "The chamber of magic#W2::OnReset";
+ donpcevent "The chamber of magic#W3::OnReset";
+ end;
+
+OnTimer304000:
+ mapwarp "job3_war02","spl_in02",79,102;
+ end;
+
+OnTimer305000:
+ donpcevent "The chamber of magic#W::OnDisable";
+ donpcevent "The chamber of magic#W2::OnDisable";
+ donpcevent "The chamber of magic#W3::OnDisable";
+ donpcevent "The chamber of magic::OnEnable";
+ stopnpctimer;
+ end;
+
+OnResetNPC:
+ donpcevent "The chamber of magic#W::OnReset";
+ donpcevent "The chamber of magic#W2::OnReset";
+ donpcevent "The chamber of magic#W3::OnReset";
+ donpcevent "The chamber of magic#W::OnDisable";
+ donpcevent "The chamber of magic#W2::OnDisable";
+ donpcevent "The chamber of magic#W3::OnDisable";
+ stopnpctimer "The chamber of magic#W";
+end;
+}
+
+job3_war02,1,2,0 script The chamber of magic#W2 66,{
+ end;
+
+OnInit:
+ disablenpc "The chamber of magic#W2";
+ end;
+
+OnEnable:
+ enablenpc "The chamber of magic#W2";
+ monster "job3_war02",23,32,"Magic Monster",2047,1,"The chamber of magic#W2::OnMyMobDead";
+ monster "job3_war02",23,21,"Magic Monster",2048,1,"The chamber of magic#W2::OnMyMobDead";
+ monster "job3_war02",34,32,"Magic Monster",2049,1,"The chamber of magic#W2::OnMyMobDead";
+ monster "job3_war02",34,21,"Magic Monster",2050,1,"The chamber of magic#W2::OnMyMobDead";
+ monster "job3_war02",23,32,"Magic Monster",2047,1,"The chamber of magic#W2::OnMyMobDead";
+ monster "job3_war02",23,21,"Magic Monster",2048,1,"The chamber of magic#W2::OnMyMobDead";
+ monster "job3_war02",34,32,"Magic Monster",2049,1,"The chamber of magic#W2::OnMyMobDead";
+ monster "job3_war02",34,21,"Magic Monster",2050,1,"The chamber of magic#W2::OnMyMobDead";
+ set .MyMobCount,8;
+ initnpctimer;
+ end;
+
+OnReset:
+ killmonster "job3_war02","The chamber of magic#W2::OnMyMobDead";
+ end;
+
+OnDisable:
+ disablenpc "The chamber of magic#W2";
+ end;
+
+OnMyMobDead:
+ set .MyMobCount,.MyMobCount-1;
+ if(.MyMobCount < 1){
+ stopnpctimer;
+ mapannounce "job3_war02","The Monster Invasion has been stopped.",bc_map;
+ donpcevent "The chamber of magic#W3::OnEnable";
+ }
+ end;
+
+OnTimer4000:
+ mapannounce "job3_war02","Defend this room from monsters for 5 minutes.",bc_map;
+ end;
+
+OnTimer5000:
+ mapannounce "job3_war02","Destroy all the monsters, and the Chamber will stabilize.",bc_map;
+ end;
+
+OnTimer63000:
+ mapannounce "job3_war02","There's 4 min left to stabilize the chamber....",bc_map;
+ end;
+
+OnTimer123000:
+ mapannounce "job3_war02","There's 3 min left to stabilize the chamber....",bc_map;
+ end;
+
+OnTimer183000:
+ mapannounce "job3_war02","There's 2 min left to stabilize the chamber....",bc_map;
+ end;
+
+OnTimer243000:
+ mapannounce "job3_war02","There's 1 min left to stabilize the chamber....",bc_map;
+ end;
+
+OnTimer273000:
+ mapannounce "job3_war02","There's 30 seconds left to stabilize the chamber....",bc_map;
+ end;
+
+OnTimer283000:
+ mapannounce "job3_war02","There's 20 seconds left to stabilize the chamber....",bc_map;
+ end;
+
+OnTimer293000:
+ mapannounce "job3_war02","There's 10 seconds left to stabilize the chamber....",bc_map;
+ end;
+
+OnTimer303000:
+ mapannounce "job3_war02","The magic stabilization has failed. The fragment has lost it's power.",bc_map; // custom translation.
+ donpcevent "The chamber of magic#W::OnReset";
+ donpcevent "The chamber of magic#W2::OnReset";
+ donpcevent "The chamber of magic#W3::OnReset";
+ end;
+
+OnTimer304000:
+ mapwarp "job3_war02", "spl_in02",79,102;
+ end;
+
+OnTimer305000:
+ donpcevent "The chamber of magic#W::OnDisable";
+ donpcevent "The chamber of magic#W2::OnDisable";
+ donpcevent "The chamber of magic#W3::OnDisable";
+ donpcevent "The chamber of magic::OnEnable";
+ stopnpctimer;
+ end;
+
+
+OnResetNPC:
+ donpcevent "The chamber of magic#W::OnReset";
+ donpcevent "The chamber of magic#W2::OnReset";
+ donpcevent "The chamber of magic#W3::OnReset";
+ donpcevent "The chamber of magic#W::OnDisable";
+ donpcevent "The chamber of magic#W2::OnDisable";
+ donpcevent "The chamber of magic#W3::OnDisable";
+ stopnpctimer "The chamber of magic#W2";
+end;
+
+}
+
+job3_war02,1,3,0 script The chamber of magic#W3 66,{
+ end;
+
+OnInit:
+ disablenpc "The chamber of magic#W3";
+ end;
+
+OnEnable:
+ enablenpc "The chamber of magic#W3";
+ monster "job3_war02",23,32,"Magic Monster",1002,1,"The chamber of magic#W3::OnMyMobDead";
+ monster "job3_war02",23,21,"Magic Monster",1002,1,"The chamber of magic#W3::OnMyMobDead";
+ monster "job3_war02",34,32,"Magic Monster",1002,1,"The chamber of magic#W3::OnMyMobDead";
+ monster "job3_war02",34,21,"Magic Monster",1002,1,"The chamber of magic#W3::OnMyMobDead";
+ monster "job3_war02",23,32,"Magic Monster",1002,1,"The chamber of magic#W3::OnMyMobDead";
+ monster "job3_war02",23,21,"Magic Monster",1002,1,"The chamber of magic#W3::OnMyMobDead";
+ monster "job3_war02",34,32,"Magic Monster",1002,1,"The chamber of magic#W3::OnMyMobDead";
+ monster "job3_war02",34,21,"Magic Monster",1002,1,"The chamber of magic#W3::OnMyMobDead";
+ set .MyMobCount,8;
+ initnpctimer;
+ end;
+
+OnReset:
+ killmonster "job3_war02","The chamber of magic#W3::OnMyMobDead";
+ end;
+
+OnDisable:
+ disablenpc "The chamber of magic#W3";
+ end;
+
+OnMyMobDead:
+ set .MyMobCount,.MyMobCount-1;
+ if(.MyMobCount < 1){
+ stopnpctimer;
+ mapannounce "job3_war02","The Monster Invasion has been stopped.",bc_map;
+ donpcevent "Hollow Stone#W::OnEnable";
+ }
+ end;
+
+OnTimer4000:
+ mapannounce "job3_war02", "Defend this room from monsters for 1 min.",bc_map;
+ end;
+
+OnTimer5000:
+ mapannounce "job3_war02", "Destroy all the monsters, and the Chamber will stabilize.",bc_map;
+ end;
+
+OnTimer33000:
+ mapannounce "job3_war02", "There's 30 seconds left to stabilize the chamber....",bc_map;
+ end;
+
+OnTimer43000:
+ mapannounce "job3_war02", "There's 20 seconds left to stabilize the chamber....",bc_map;
+ end;
+
+OnTimer53000:
+ mapannounce "job3_war02", "There's 10 seconds left to stabilize the chamber....",bc_map;
+ end;
+
+OnTimer58000:
+ mapannounce "job3_war02", "There's 5 seconds left to stabilize the chamber....",bc_map;
+ end;
+
+OnTimer63000:
+ mapannounce "job3_war02", "The magic stabilization has failed. The fragment has lost it's power.",bc_map; // custom translation.
+ donpcevent "The chamber of magic#W::OnReset";
+ donpcevent "The chamber of magic#W2::OnReset";
+ donpcevent "The chamber of magic#W3::OnReset";
+ end;
+
+OnTimer64000:
+ mapwarp "job3_war02","spl_in02",79,102;
+ end;
+
+OnTimer65000:
+ donpcevent "The chamber of magic#W::OnDisable";
+ donpcevent "The chamber of magic#W2::OnDisable";
+ donpcevent "The chamber of magic#W3::OnDisable";
+ donpcevent "The chamber of magic::OnEnable";
+ stopnpctimer;
+ end;
+
+
+OnResetNPC:
+ donpcevent "The chamber of magic#W::OnReset";
+ donpcevent "The chamber of magic#W2::OnReset";
+ donpcevent "The chamber of magic#W3::OnReset";
+ donpcevent "The chamber of magic#W::OnDisable";
+ donpcevent "The chamber of magic#W2::OnDisable";
+ donpcevent "The chamber of magic#W3::OnDisable";
+ stopnpctimer "The chamber of magic#W3";
+end;
+}
+
+job3_war02,1,4,0 script Hollow Stone#W 66,{
+ end;
+
+OnInit:
+ disablenpc "Hollow Stone#W";
+ end;
+
+OnEnable:
+ enablenpc "Hollow Stone#W";
+ donpcevent "The chamber of magic#W::OnReset";
+ donpcevent "The chamber of magic#W::OnDisable";
+ donpcevent "The chamber of magic#W2::OnReset";
+ donpcevent "The chamber of magic#W2::OnDisable";
+ donpcevent "The chamber of magic#W3::OnReset";
+ donpcevent "The chamber of magic#W3::OnDisable";
+ monster "job3_war02",29,27,"Hollow Stone",2035,1,"Hollow Stone#W::OnMyMobDead";
+ initnpctimer;
+ end;
+
+OnReset:
+ killmonster "job3_war02","Hollow Stone#W::OnMyMobDead";
+ end;
+
+OnDisable:
+ disablenpc "Hollow Stone#W";
+ end;
+
+OnMyMobDead:
+ mapannounce "job3_war02","The Hollow Stone is Crystallized with enough magic power.",bc_map; // custom translation
+ set job_wl,8;
+ changequest 11110,11111;
+ donpcevent "Hollow Stone#W::OnReset";
+ donpcevent "Hollow Stone#W::OnDisable";
+ stopnpctimer;
+ donpcevent "Ebein#E::OnEnable";
+ donpcevent "Ebein#E2::OnEnable";
+ end;
+
+OnTimer1000:
+ mapannounce "job3_war02","The Hollow Stone needs to be crystallized with magic.",bc_map;
+ end;
+
+OnTimer2000:
+ mapannounce "job3_war02","The Hollow Stone will absorb any magic thrown at it.",bc_map;
+ end;
+
+OnTimer3000:
+ mapannounce "job3_war02","You have 10 minutes to crystallize the Hollow Stone your magic.",bc_map;
+ end;
+
+OnTimer303000:
+ mapannounce "job3_war02","There's 5 min left to crystallize the stone....",bc_map;
+ end;
+
+OnTimer363000:
+ mapannounce "job3_war02","There's 4 min left to crystallize the stone....",bc_map;
+ end;
+
+OnTimer423000:
+ mapannounce "job3_war02","There's 3 min left to crystallize the stone....",bc_map;
+ end;
+
+OnTimer483000:
+ mapannounce "job3_war02","There's 2 min left to crystallize the stone....",bc_map;
+ end;
+
+OnTimer543000:
+ mapannounce "job3_war02","There's 1 min left to crystallize the stone....",bc_map;
+ end;
+
+OnTimer573000:
+ mapannounce "job3_war02","There's 30 seconds left to crystallize the stone....",bc_map;
+ end;
+
+OnTimer583000:
+
+ mapannounce "job3_war02","There's 20 seconds left to crystallize the stone....",bc_map;
+ end;
+
+OnTimer593000:
+ mapannounce "job3_war02","There's 10 seconds left to crystallize the stone....",bc_map;
+ end;
+
+
+OnTimer603000:
+ mapannounce "job3_war02","The Hollow Stone Crystalization has failed.",bc_map;
+ donpcevent "Hollow Stone#W::OnReset";
+ end;
+
+OnTimer605000:
+ mapwarp "job3_war02","spl_in02",79,102;
+ end;
+
+OnTimer607000:
+ donpcevent "Hollow Stone#W::OnDisable";
+ stopnpctimer;
+ donpcevent "The chamber of magic::OnEnable";
+ end;
+
+OnResetNPC:
+ donpcevent "Hollow Stone#W::OnReset";
+ donpcevent "Hollow Stone#W::OnDisable";
+ stopnpctimer "Hollow Stone#W";
+end;
+}
+
+job3_war01,1,1,0 script Ebein#E 66,{
+ end;
+
+OnInit:
+ disablenpc "Ebein#E";
+ end;
+
+OnEnable:
+ initnpctimer;
+ enablenpc "Ebein#E";
+ end;
+
+OnDisable:
+ disablenpc "Ebein#E";
+ end;
+
+OnTimer2000:
+ mapannounce "job3_war02","Congratulations! You've successfully made a magic crystal.",bc_map; //Custom translation
+ end;
+
+OnTimer3000:
+ mapannounce "job3_war02","The Magic Chamber is starting to fill with magic power.",bc_map;
+ end;
+
+OnTimer6000:
+ donpcevent "Ebein#E::OnDisable";
+ stopnpctimer;
+ donpcevent "The chamber of magic::OnEnable";
+ end;
+
+}
+
+job3_war02,1,1,0 script Ebein#E2 66,{
+ end;
+
+OnInit:
+ disablenpc "Ebein#E2";
+ end;
+
+OnEnable:
+ initnpctimer;
+ enablenpc "Ebein#E2";
+ end;
+
+OnDisable:
+ disablenpc "Ebein#E2";
+ end;
+
+OnTimer3000:
+ mapannounce "job3_war02","Congratulations! You've successfully made a magic crystal.",bc_map; //Custom translation
+ end;
+
+OnTimer5000:
+ mapannounce "job3_war02","The Magic Chamber is starting to fill with magic power.",bc_map;
+ mapwarp "job3_war02","spl_in02",79,102;
+ end;
+
+OnTimer6000:
+ donpcevent "Ebein#E2::OnDisable";
+ stopnpctimer;
+ end;
+}
+
+/*
+job3_war01,1,2,0 script ??? 66,{
+ switch(select("?????:?????:??????:??????:??????:??????:??")) {
+ case 1:
+ mes "??????";
+ donpcevent "??? ?::OnEnable";
+ close;
+ case 2:
+ mes "??????";
+ donpcevent "??? ?::OnDisable";
+ close;
+ case 3:
+ mes "??? ? ???";
+ donpcevent "??? ?#?????::OnEnable";
+ close;
+ case 4:
+ mes "??? ? ???";
+ donpcevent "??? ?#?????::OnReset";
+ donpcevent "??? ?#?????::OnDisable";
+ donpcevent "??? ?#?????2::OnReset";
+ donpcevent "??? ?#?????2::OnDisable";
+ donpcevent "??? ?#?????3::OnReset";
+ donpcevent "??? ?#?????3::OnDisable";
+ close;
+ case 5:
+ mes "??? ? ???";
+ donpcevent "??? ?#?????::OnEnable";
+ close;
+ case 6:
+ mes "??? ? ???";
+ donpcevent "??? ?#?????::OnReset";
+ donpcevent "??? ?#?????::OnDisable";
+ close;
+ case 7:
+ close;
+ }
+}
+*/ \ No newline at end of file